xref: /php-src/ext/date/lib/parse_date.c (revision 28dabaab)
1 /* Generated by re2c 1.0.3 on Thu Nov 23 16:02:28 2023 */
2 #line 1 "ext/date/lib/parse_date.re"
3 /*
4  * The MIT License (MIT)
5  *
6  * Copyright (c) 2015-2023 Derick Rethans
7  * Copyright (c) 2018 MongoDB, Inc.
8  *
9  * Permission is hereby granted, free of charge, to any person obtaining a copy
10  * of this software and associated documentation files (the "Software"), to deal
11  * in the Software without restriction, including without limitation the rights
12  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13  * copies of the Software, and to permit persons to whom the Software is
14  * furnished to do so, subject to the following conditions:
15  *
16  * The above copyright notice and this permission notice shall be included in
17  * all copies or substantial portions of the Software.
18  *
19  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25  * THE SOFTWARE.
26  */
27 
28 #include "timelib.h"
29 #include "timelib_private.h"
30 
31 #include <ctype.h>
32 #include <errno.h>
33 #include <math.h>
34 #include <assert.h>
35 #include <limits.h>
36 
37 #if defined(_MSC_VER)
38 # define strtoll(s, f, b) _atoi64(s)
39 #elif !defined(HAVE_STRTOLL)
40 # if defined(HAVE_ATOLL)
41 #  define strtoll(s, f, b) atoll(s)
42 # else
43 #  define strtoll(s, f, b) strtol(s, f, b)
44 # endif
45 #endif
46 
47 #define EOI      257
48 #define TIME     258
49 #define DATE     259
50 
51 #define TIMELIB_XMLRPC_SOAP    260
52 #define TIMELIB_TIME12         261
53 #define TIMELIB_TIME24         262
54 #define TIMELIB_GNU_NOCOLON    263
55 #define TIMELIB_GNU_NOCOLON_TZ 264
56 #define TIMELIB_ISO_NOCOLON    265
57 
58 #define TIMELIB_AMERICAN       266
59 #define TIMELIB_ISO_DATE       267
60 #define TIMELIB_DATE_FULL      268
61 #define TIMELIB_DATE_TEXT      269
62 #define TIMELIB_DATE_NOCOLON   270
63 #define TIMELIB_PG_YEARDAY     271
64 #define TIMELIB_PG_TEXT        272
65 #define TIMELIB_PG_REVERSE     273
66 #define TIMELIB_CLF            274
67 #define TIMELIB_DATE_NO_DAY    275
68 #define TIMELIB_SHORTDATE_WITH_TIME 276
69 #define TIMELIB_DATE_FULL_POINTED 277
70 #define TIMELIB_TIME24_WITH_ZONE 278
71 #define TIMELIB_ISO_WEEK       279
72 #define TIMELIB_LF_DAY_OF_MONTH 280
73 #define TIMELIB_WEEK_DAY_OF_MONTH 281
74 
75 #define TIMELIB_TIMEZONE       300
76 #define TIMELIB_AGO            301
77 
78 #define TIMELIB_RELATIVE       310
79 
80 #define TIMELIB_ERROR          999
81 
82 /* Some compilers like AIX, defines uchar in sys/types.h */
83 #undef uchar
84 typedef unsigned char uchar;
85 
86 #define   BSIZE	   8192
87 
88 #define   YYCTYPE      uchar
89 #define   YYCURSOR     cursor
90 #define   YYLIMIT      s->lim
91 #define   YYMARKER     s->ptr
92 #define   YYFILL(n)    return EOI;
93 
94 #define   RET(i)       {s->cur = cursor; return i;}
95 
96 #define timelib_string_free timelib_free
97 
98 #define TIMELIB_HAVE_TIME() { if (s->time->have_time) { add_error(s, TIMELIB_ERR_DOUBLE_TIME, "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->us = 0; } }
99 #define TIMELIB_UNHAVE_TIME() { s->time->have_time = 0; s->time->h = 0; s->time->i = 0; s->time->s = 0; s->time->us = 0; }
100 #define TIMELIB_HAVE_DATE() { if (s->time->have_date) { add_error(s, TIMELIB_ERR_DOUBLE_DATE, "Double date specification"); timelib_string_free(str); return TIMELIB_ERROR; } else { s->time->have_date = 1; } }
101 #define TIMELIB_UNHAVE_DATE() { s->time->have_date = 0; s->time->d = 0; s->time->m = 0; s->time->y = 0; }
102 #define TIMELIB_HAVE_RELATIVE() { s->time->have_relative = 1; }
103 #define TIMELIB_HAVE_WEEKDAY_RELATIVE() { s->time->have_relative = 1; s->time->relative.have_weekday_relative = 1; }
104 #define TIMELIB_HAVE_SPECIAL_RELATIVE() { s->time->have_relative = 1; s->time->relative.have_special_relative = 1; }
105 #define TIMELIB_HAVE_TZ() { s->cur = cursor; if (s->time->have_zone) { s->time->have_zone > 1 ? add_error(s, TIMELIB_ERR_DOUBLE_TZ, "Double timezone specification") : add_warning(s, TIMELIB_WARN_DOUBLE_TZ, "Double timezone specification"); timelib_string_free(str); s->time->have_zone++; return TIMELIB_ERROR; } else { s->time->have_zone++; } }
106 
107 #define TIMELIB_INIT  s->cur = cursor; str = timelib_string(s); ptr = str
108 #define TIMELIB_DEINIT timelib_string_free(str)
109 #define TIMELIB_ADJUST_RELATIVE_WEEKDAY() if (in->time.have_weekday_relative && (in.rel.d > 0)) { in.rel.d -= 7; }
110 
111 #define TIMELIB_PROCESS_YEAR(x, l) { \
112 	if (((x) == TIMELIB_UNSET) || ((l) >= 4)) { \
113 	/*	(x) = 0; */          \
114 	} else if ((x) < 100) {  \
115 		if ((x) < 70) {      \
116 			(x) += 2000;     \
117 		} else {             \
118 			(x) += 1900;     \
119 		}                    \
120 	}                        \
121 }
122 
123 #ifdef DEBUG_PARSER
124 #define DEBUG_OUTPUT(s) printf("%s\n", s);
125 #define YYDEBUG(s,c) { if (s != -1) { printf("state: %d ", s); printf("[%c]\n", c); } }
126 #else
127 #define DEBUG_OUTPUT(s)
128 #define YYDEBUG(s,c)
129 #endif
130 
131 typedef struct _timelib_elems {
132 	unsigned int   c; /* Number of elements */
133 	char         **v; /* Values */
134 } timelib_elems;
135 
136 typedef struct _Scanner {
137 	int           fd;
138 	uchar        *lim, *str, *ptr, *cur, *tok, *pos;
139 	unsigned int  line, len;
140 	timelib_error_container *errors;
141 
142 	timelib_time        *time;
143 	const timelib_tzdb  *tzdb;
144 } Scanner;
145 
146 typedef struct _timelib_lookup_table {
147 	const char *name;
148 	int         type;
149 	int         value;
150 } timelib_lookup_table;
151 
152 typedef struct _timelib_relunit {
153 	const char *name;
154 	int         unit;
155 	int         multiplier;
156 } timelib_relunit;
157 
158 /* The timezone table. */
159 static const timelib_tz_lookup_table timelib_timezone_lookup[] = {
160 #include "timezonemap.h"
161 	{ NULL, 0, 0, NULL },
162 };
163 
164 static const timelib_tz_lookup_table timelib_timezone_fallbackmap[] = {
165 #include "fallbackmap.h"
166 	{ NULL, 0, 0, NULL },
167 };
168 
169 static const timelib_tz_lookup_table timelib_timezone_utc[] = {
170 	{ "utc", 0, 0, "UTC" },
171 };
172 
173 #if defined(_POSIX_TZNAME_MAX)
174 # define MAX_ABBR_LEN _POSIX_TZNAME_MAX
175 #elif defined(TZNAME_MAX)
176 # define MAX_ABBR_LEN TZNAME_MAX
177 #else
178 # define MAX_ABBR_LEN 6
179 #endif
180 
181 static timelib_relunit const timelib_relunit_lookup[] = {
182 	{ "ms",           TIMELIB_MICROSEC, 1000 },
183 	{ "msec",         TIMELIB_MICROSEC, 1000 },
184 	{ "msecs",        TIMELIB_MICROSEC, 1000 },
185 	{ "millisecond",  TIMELIB_MICROSEC, 1000 },
186 	{ "milliseconds", TIMELIB_MICROSEC, 1000 },
187 	{ "µs",           TIMELIB_MICROSEC,    1 },
188 	{ "usec",         TIMELIB_MICROSEC,    1 },
189 	{ "usecs",        TIMELIB_MICROSEC,    1 },
190 	{ "µsec",         TIMELIB_MICROSEC,    1 },
191 	{ "µsecs",        TIMELIB_MICROSEC,    1 },
192 	{ "microsecond",  TIMELIB_MICROSEC,    1 },
193 	{ "microseconds", TIMELIB_MICROSEC,    1 },
194 	{ "sec",         TIMELIB_SECOND,  1 },
195 	{ "secs",        TIMELIB_SECOND,  1 },
196 	{ "second",      TIMELIB_SECOND,  1 },
197 	{ "seconds",     TIMELIB_SECOND,  1 },
198 	{ "min",         TIMELIB_MINUTE,  1 },
199 	{ "mins",        TIMELIB_MINUTE,  1 },
200 	{ "minute",      TIMELIB_MINUTE,  1 },
201 	{ "minutes",     TIMELIB_MINUTE,  1 },
202 	{ "hour",        TIMELIB_HOUR,    1 },
203 	{ "hours",       TIMELIB_HOUR,    1 },
204 	{ "day",         TIMELIB_DAY,     1 },
205 	{ "days",        TIMELIB_DAY,     1 },
206 	{ "week",        TIMELIB_DAY,     7 },
207 	{ "weeks",       TIMELIB_DAY,     7 },
208 	{ "fortnight",   TIMELIB_DAY,    14 },
209 	{ "fortnights",  TIMELIB_DAY,    14 },
210 	{ "forthnight",  TIMELIB_DAY,    14 },
211 	{ "forthnights", TIMELIB_DAY,    14 },
212 	{ "month",       TIMELIB_MONTH,   1 },
213 	{ "months",      TIMELIB_MONTH,   1 },
214 	{ "year",        TIMELIB_YEAR,    1 },
215 	{ "years",       TIMELIB_YEAR,    1 },
216 
217 	{ "mondays",     TIMELIB_WEEKDAY, 1 },
218 	{ "monday",      TIMELIB_WEEKDAY, 1 },
219 	{ "mon",         TIMELIB_WEEKDAY, 1 },
220 	{ "tuesdays",    TIMELIB_WEEKDAY, 2 },
221 	{ "tuesday",     TIMELIB_WEEKDAY, 2 },
222 	{ "tue",         TIMELIB_WEEKDAY, 2 },
223 	{ "wednesdays",  TIMELIB_WEEKDAY, 3 },
224 	{ "wednesday",   TIMELIB_WEEKDAY, 3 },
225 	{ "wed",         TIMELIB_WEEKDAY, 3 },
226 	{ "thursdays",   TIMELIB_WEEKDAY, 4 },
227 	{ "thursday",    TIMELIB_WEEKDAY, 4 },
228 	{ "thu",         TIMELIB_WEEKDAY, 4 },
229 	{ "fridays",     TIMELIB_WEEKDAY, 5 },
230 	{ "friday",      TIMELIB_WEEKDAY, 5 },
231 	{ "fri",         TIMELIB_WEEKDAY, 5 },
232 	{ "saturdays",   TIMELIB_WEEKDAY, 6 },
233 	{ "saturday",    TIMELIB_WEEKDAY, 6 },
234 	{ "sat",         TIMELIB_WEEKDAY, 6 },
235 	{ "sundays",     TIMELIB_WEEKDAY, 0 },
236 	{ "sunday",      TIMELIB_WEEKDAY, 0 },
237 	{ "sun",         TIMELIB_WEEKDAY, 0 },
238 
239 	{ "weekday",     TIMELIB_SPECIAL, TIMELIB_SPECIAL_WEEKDAY },
240 	{ "weekdays",    TIMELIB_SPECIAL, TIMELIB_SPECIAL_WEEKDAY },
241 	{ NULL,          0,          0 }
242 };
243 
244 /* The relative text table. */
245 static timelib_lookup_table const timelib_reltext_lookup[] = {
246 	{ "first",    0,  1 },
247 	{ "next",     0,  1 },
248 	{ "second",   0,  2 },
249 	{ "third",    0,  3 },
250 	{ "fourth",   0,  4 },
251 	{ "fifth",    0,  5 },
252 	{ "sixth",    0,  6 },
253 	{ "seventh",  0,  7 },
254 	{ "eight",    0,  8 },
255 	{ "eighth",   0,  8 },
256 	{ "ninth",    0,  9 },
257 	{ "tenth",    0, 10 },
258 	{ "eleventh", 0, 11 },
259 	{ "twelfth",  0, 12 },
260 	{ "last",     0, -1 },
261 	{ "previous", 0, -1 },
262 	{ "this",     1,  0 },
263 	{ NULL,       1,  0 }
264 };
265 
266 /* The month table. */
267 static timelib_lookup_table const timelib_month_lookup[] = {
268 	{ "jan",  0,  1 },
269 	{ "feb",  0,  2 },
270 	{ "mar",  0,  3 },
271 	{ "apr",  0,  4 },
272 	{ "may",  0,  5 },
273 	{ "jun",  0,  6 },
274 	{ "jul",  0,  7 },
275 	{ "aug",  0,  8 },
276 	{ "sep",  0,  9 },
277 	{ "sept", 0,  9 },
278 	{ "oct",  0, 10 },
279 	{ "nov",  0, 11 },
280 	{ "dec",  0, 12 },
281 	{ "i",    0,  1 },
282 	{ "ii",   0,  2 },
283 	{ "iii",  0,  3 },
284 	{ "iv",   0,  4 },
285 	{ "v",    0,  5 },
286 	{ "vi",   0,  6 },
287 	{ "vii",  0,  7 },
288 	{ "viii", 0,  8 },
289 	{ "ix",   0,  9 },
290 	{ "x",    0, 10 },
291 	{ "xi",   0, 11 },
292 	{ "xii",  0, 12 },
293 
294 	{ "january",   0,  1 },
295 	{ "february",  0,  2 },
296 	{ "march",     0,  3 },
297 	{ "april",     0,  4 },
298 	{ "may",       0,  5 },
299 	{ "june",      0,  6 },
300 	{ "july",      0,  7 },
301 	{ "august",    0,  8 },
302 	{ "september", 0,  9 },
303 	{ "october",   0, 10 },
304 	{ "november",  0, 11 },
305 	{ "december",  0, 12 },
306 	{  NULL,       0,  0 }
307 };
308 
309 #if 0
310 static char* timelib_ltrim(char *s)
311 {
312 	char *ptr = s;
313 	while (ptr[0] == ' ' || ptr[0] == '\t') {
314 		ptr++;
315 	}
316 	return ptr;
317 }
318 #endif
319 
320 #if 0
321 uchar *fill(Scanner *s, uchar *cursor){
322 	if(!s->eof){
323 		unsigned int cnt = s->tok - s->bot;
324 		if(cnt){
325 			memcpy(s->bot, s->tok, s->lim - s->tok);
326 			s->tok = s->bot;
327 			s->ptr -= cnt;
328 			cursor -= cnt;
329 			s->pos -= cnt;
330 			s->lim -= cnt;
331 		}
332 		if((s->top - s->lim) < BSIZE){
333 			uchar *buf = (uchar*) timelib_malloc(((s->lim - s->bot) + BSIZE)*sizeof(uchar));
334 			memcpy(buf, s->tok, s->lim - s->tok);
335 			s->tok = buf;
336 			s->ptr = &buf[s->ptr - s->bot];
337 			cursor = &buf[cursor - s->bot];
338 			s->pos = &buf[s->pos - s->bot];
339 			s->lim = &buf[s->lim - s->bot];
340 			s->top = &s->lim[BSIZE];
341 			timelib_free(s->bot);
342 			s->bot = buf;
343 		}
344 		if((cnt = read(s->fd, (char*) s->lim, BSIZE)) != BSIZE){
345 			s->eof = &s->lim[cnt]; *(s->eof)++ = '\n';
346 		}
347 		s->lim += cnt;
348 	}
349 	return cursor;
350 }
351 #endif
352 
alloc_error_message(timelib_error_message ** messages,int * count)353 static timelib_error_message *alloc_error_message(timelib_error_message **messages, int *count)
354 {
355 	/* Realloc in power of two increments */
356 	int is_pow2 = (*count & (*count - 1)) == 0;
357 
358 	if (is_pow2) {
359 		size_t alloc_size = *count ? (*count * 2) : 1;
360 
361 		*messages = timelib_realloc(*messages, alloc_size * sizeof(timelib_error_message));
362 	}
363 	return *messages + (*count)++;
364 }
365 
add_warning(Scanner * s,int error_code,const char * error)366 static void add_warning(Scanner *s, int error_code, const char *error)
367 {
368 	timelib_error_message *message = alloc_error_message(&s->errors->warning_messages, &s->errors->warning_count);
369 
370 	message->error_code = error_code;
371 	message->position = s->tok ? s->tok - s->str : 0;
372 	message->character = s->tok ? *s->tok : 0;
373 	message->message = timelib_strdup(error);
374 }
375 
add_error(Scanner * s,int error_code,const char * error)376 static void add_error(Scanner *s, int error_code, const char *error)
377 {
378 	timelib_error_message *message = alloc_error_message(&s->errors->error_messages, &s->errors->error_count);
379 
380 	message->error_code = error_code;
381 	message->position = s->tok ? s->tok - s->str : 0;
382 	message->character = s->tok ? *s->tok : 0;
383 	message->message = timelib_strdup(error);
384 }
385 
add_pbf_warning(Scanner * s,int error_code,const char * error,const char * sptr,const char * cptr)386 static void add_pbf_warning(Scanner *s, int error_code, const char *error, const char *sptr, const char *cptr)
387 {
388 	timelib_error_message *message = alloc_error_message(&s->errors->warning_messages, &s->errors->warning_count);
389 
390 	message->error_code = error_code;
391 	message->position = cptr - sptr;
392 	message->character = *cptr;
393 	message->message = timelib_strdup(error);
394 }
395 
add_pbf_error(Scanner * s,int error_code,const char * error,const char * sptr,const char * cptr)396 static void add_pbf_error(Scanner *s, int error_code, const char *error, const char *sptr, const char *cptr)
397 {
398 	timelib_error_message *message = alloc_error_message(&s->errors->error_messages, &s->errors->error_count);
399 
400 	message->error_code = error_code;
401 	message->position = cptr - sptr;
402 	message->character = *cptr;
403 	message->message = timelib_strdup(error);
404 }
405 
timelib_meridian(const char ** ptr,timelib_sll h)406 static timelib_sll timelib_meridian(const char **ptr, timelib_sll h)
407 {
408 	timelib_sll retval = 0;
409 
410 	while (!strchr("AaPp", **ptr)) {
411 		++*ptr;
412 	}
413 	if (**ptr == 'a' || **ptr == 'A') {
414 		if (h == 12) {
415 			retval = -12;
416 		}
417 	} else if (h != 12) {
418 		retval = 12;
419 	}
420 	++*ptr;
421 	if (**ptr == '.') {
422 		++*ptr;
423 	}
424 	if (**ptr == 'M' || **ptr == 'm') {
425 		++*ptr;
426 	}
427 	if (**ptr == '.') {
428 		++*ptr;
429 	}
430 	return retval;
431 }
432 
timelib_meridian_with_check(const char ** ptr,timelib_sll h)433 static timelib_sll timelib_meridian_with_check(const char **ptr, timelib_sll h)
434 {
435 	timelib_sll retval = 0;
436 
437 	while (**ptr && !strchr("AaPp", **ptr)) {
438 		++*ptr;
439 	}
440 	if(!**ptr) {
441 		return TIMELIB_UNSET;
442 	}
443 	if (**ptr == 'a' || **ptr == 'A') {
444 		if (h == 12) {
445 			retval = -12;
446 		}
447 	} else if (h != 12) {
448 		retval = 12;
449 	}
450 	++*ptr;
451 	if (**ptr == '.') {
452 		++*ptr;
453 		if (**ptr != 'm' && **ptr != 'M') {
454 			return TIMELIB_UNSET;
455 		}
456 		++*ptr;
457 		if (**ptr != '.' ) {
458 			return TIMELIB_UNSET;
459 		}
460 		++*ptr;
461 	} else if (**ptr == 'm' || **ptr == 'M') {
462 		++*ptr;
463 	} else {
464 		return TIMELIB_UNSET;
465 	}
466 	return retval;
467 }
468 
timelib_string(Scanner * s)469 static char *timelib_string(Scanner *s)
470 {
471 	char *tmp = timelib_calloc(1, s->cur - s->tok + 1);
472 	memcpy(tmp, s->tok, s->cur - s->tok);
473 
474 	return tmp;
475 }
476 
timelib_get_nr_ex(const char ** ptr,int max_length,int * scanned_length)477 static timelib_sll timelib_get_nr_ex(const char **ptr, int max_length, int *scanned_length)
478 {
479 	const char *begin, *end;
480 	char *str;
481 	timelib_sll tmp_nr = TIMELIB_UNSET;
482 	int len = 0;
483 
484 	while ((**ptr < '0') || (**ptr > '9')) {
485 		if (**ptr == '\0') {
486 			return TIMELIB_UNSET;
487 		}
488 		++*ptr;
489 	}
490 
491 	begin = *ptr;
492 	while ((**ptr >= '0') && (**ptr <= '9') && len < max_length) {
493 		++*ptr;
494 		++len;
495 	}
496 	end = *ptr;
497 	if (scanned_length) {
498 		*scanned_length = end - begin;
499 	}
500 	str = timelib_calloc(1, end - begin + 1);
501 	memcpy(str, begin, end - begin);
502 	tmp_nr = strtoll(str, NULL, 10);
503 	timelib_free(str);
504 	return tmp_nr;
505 }
506 
timelib_get_nr(const char ** ptr,int max_length)507 static timelib_sll timelib_get_nr(const char **ptr, int max_length)
508 {
509 	return timelib_get_nr_ex(ptr, max_length, NULL);
510 }
511 
timelib_skip_day_suffix(const char ** ptr)512 static void timelib_skip_day_suffix(const char **ptr)
513 {
514 	if (isspace(**ptr)) {
515 		return;
516 	}
517 	if (!timelib_strncasecmp(*ptr, "nd", 2) || !timelib_strncasecmp(*ptr, "rd", 2) ||!timelib_strncasecmp(*ptr, "st", 2) || !timelib_strncasecmp(*ptr, "th", 2)) {
518 		*ptr += 2;
519 	}
520 }
521 
timelib_get_frac_nr(const char ** ptr)522 static timelib_sll timelib_get_frac_nr(const char **ptr)
523 {
524 	const char *begin, *end;
525 	char *str;
526 	double tmp_nr = TIMELIB_UNSET;
527 
528 	while ((**ptr != '.') && (**ptr != ':') && ((**ptr < '0') || (**ptr > '9'))) {
529 		if (**ptr == '\0') {
530 			return TIMELIB_UNSET;
531 		}
532 		++*ptr;
533 	}
534 	begin = *ptr;
535 	while ((**ptr == '.') || (**ptr == ':') || ((**ptr >= '0') && (**ptr <= '9'))) {
536 		++*ptr;
537 	}
538 	end = *ptr;
539 	str = timelib_calloc(1, end - begin);
540 	memcpy(str, begin + 1, end - begin - 1);
541 	tmp_nr = strtod(str, NULL) * pow(10, 7 - (end - begin));
542 	timelib_free(str);
543 	return tmp_nr;
544 }
545 
timelib_get_signed_nr(Scanner * s,const char ** ptr,int max_length)546 static timelib_ull timelib_get_signed_nr(Scanner *s, const char **ptr, int max_length)
547 {
548 	char *str, *str_ptr;
549 	timelib_sll tmp_nr = 0;
550 	int len = 0;
551 
552 	str = timelib_calloc(1, max_length + 2); // for sign and \0
553 	str_ptr = str;
554 
555 	while (((**ptr < '0') || (**ptr > '9')) && (**ptr != '+') && (**ptr != '-')) {
556 		if (**ptr == '\0') {
557 			add_error(s, TIMELIB_ERR_UNEXPECTED_DATA, "Found unexpected data");
558 			timelib_free(str);
559 			return 0;
560 		}
561 		++*ptr;
562 	}
563 
564 	if ((**ptr == '+') || (**ptr == '-')) {
565 		*str_ptr = **ptr;
566 		++*ptr;
567 		++str_ptr;
568 	}
569 
570 	while (((**ptr < '0') || (**ptr > '9'))) {
571 		if (**ptr == '\0') {
572 			timelib_free(str);
573 			add_error(s, TIMELIB_ERR_UNEXPECTED_DATA, "Found unexpected data");
574 			return 0;
575 		}
576 		++*ptr;
577 	}
578 
579 	while ((**ptr >= '0') && (**ptr <= '9') && len < max_length) {
580 		*str_ptr = **ptr;
581 		++*ptr;
582 		++str_ptr;
583 		++len;
584 	}
585 
586 	errno = 0;
587 	tmp_nr = strtoll(str, NULL, 10);
588 	if (errno == ERANGE) {
589 		timelib_free(str);
590 		add_error(s, TIMELIB_ERR_NUMBER_OUT_OF_RANGE, "Number out of range");
591 		return 0;
592 	}
593 
594 	timelib_free(str);
595 
596 	return tmp_nr;
597 }
598 
timelib_lookup_relative_text(const char ** ptr,int * behavior)599 static timelib_sll timelib_lookup_relative_text(const char **ptr, int *behavior)
600 {
601 	char *word;
602 	const char *begin = *ptr, *end;
603 	timelib_sll  value = 0;
604 	const timelib_lookup_table *tp;
605 
606 	while ((**ptr >= 'A' && **ptr <= 'Z') || (**ptr >= 'a' && **ptr <= 'z')) {
607 		++*ptr;
608 	}
609 	end = *ptr;
610 	word = timelib_calloc(1, end - begin + 1);
611 	memcpy(word, begin, end - begin);
612 
613 	for (tp = timelib_reltext_lookup; tp->name; tp++) {
614 		if (timelib_strcasecmp(word, tp->name) == 0) {
615 			value = tp->value;
616 			*behavior = tp->type;
617 		}
618 	}
619 
620 	timelib_free(word);
621 	return value;
622 }
623 
timelib_get_relative_text(const char ** ptr,int * behavior)624 static timelib_sll timelib_get_relative_text(const char **ptr, int *behavior)
625 {
626 	while (**ptr == ' ' || **ptr == '\t' || **ptr == '-' || **ptr == '/') {
627 		++*ptr;
628 	}
629 	return timelib_lookup_relative_text(ptr, behavior);
630 }
631 
timelib_lookup_month(const char ** ptr)632 static timelib_long timelib_lookup_month(const char **ptr)
633 {
634 	char *word;
635 	const char *begin = *ptr, *end;
636 	timelib_long  value = 0;
637 	const timelib_lookup_table *tp;
638 
639 	while ((**ptr >= 'A' && **ptr <= 'Z') || (**ptr >= 'a' && **ptr <= 'z')) {
640 		++*ptr;
641 	}
642 	end = *ptr;
643 	word = timelib_calloc(1, end - begin + 1);
644 	memcpy(word, begin, end - begin);
645 
646 	for (tp = timelib_month_lookup; tp->name; tp++) {
647 		if (timelib_strcasecmp(word, tp->name) == 0) {
648 			value = tp->value;
649 		}
650 	}
651 
652 	timelib_free(word);
653 	return value;
654 }
655 
timelib_get_month(const char ** ptr)656 static timelib_long timelib_get_month(const char **ptr)
657 {
658 	while (**ptr == ' ' || **ptr == '\t' || **ptr == '-' || **ptr == '.' || **ptr == '/') {
659 		++*ptr;
660 	}
661 	return timelib_lookup_month(ptr);
662 }
663 
timelib_eat_spaces(const char ** ptr)664 static void timelib_eat_spaces(const char **ptr)
665 {
666 	do {
667 		if (**ptr == ' ' || **ptr == '\t') {
668 			++*ptr;
669 			continue;
670 		}
671 		if ((*ptr)[0] == '\xe2' && (*ptr)[1] == '\x80' && (*ptr)[2] == '\xaf') { // NNBSP
672 			*ptr += 3;
673 			continue;
674 		}
675 		if ((*ptr)[0] == '\xc2' && (*ptr)[1] == '\xa0') { // NBSP
676 			*ptr += 2;
677 			continue;
678 		}
679 		break;
680 	} while (true);
681 }
682 
timelib_eat_until_separator(const char ** ptr)683 static void timelib_eat_until_separator(const char **ptr)
684 {
685 	++*ptr;
686 	while (strchr(" \t.,:;/-0123456789", **ptr) == NULL) {
687 		++*ptr;
688 	}
689 }
690 
timelib_lookup_relunit(const char ** ptr)691 static const timelib_relunit* timelib_lookup_relunit(const char **ptr)
692 {
693 	char *word;
694 	const char *begin = *ptr, *end;
695 	const timelib_relunit *tp, *value = NULL;
696 
697 	while (**ptr != '\0' && **ptr != ' ' && **ptr != ',' && **ptr != '\t' && **ptr != ';' && **ptr != ':' &&
698 		**ptr != '/' && **ptr != '.' && **ptr != '-' && **ptr != '(' && **ptr != ')' ) {
699 		++*ptr;
700 	}
701 	end = *ptr;
702 	word = timelib_calloc(1, end - begin + 1);
703 	memcpy(word, begin, end - begin);
704 
705 	for (tp = timelib_relunit_lookup; tp->name; tp++) {
706 		if (timelib_strcasecmp(word, tp->name) == 0) {
707 			value = tp;
708 			break;
709 		}
710 	}
711 
712 	timelib_free(word);
713 	return value;
714 }
715 
add_with_overflow(Scanner * s,timelib_sll * e,timelib_sll amount,int multiplier)716 static void add_with_overflow(Scanner *s, timelib_sll *e, timelib_sll amount, int multiplier)
717 {
718 #if defined(__has_builtin) && __has_builtin(__builtin_saddll_overflow)
719 	if (__builtin_saddll_overflow(*e, amount * multiplier, e)) {
720 		add_error(s, TIMELIB_ERR_NUMBER_OUT_OF_RANGE, "Number out of range");
721 	}
722 #else
723 	*e += (amount * multiplier);
724 #endif
725 }
726 
727 /**
728  * The time_part parameter is a flag. It can be TIMELIB_TIME_PART_KEEP in case
729  * the time portion should not be reset to midnight, or
730  * TIMELIB_TIME_PART_DONT_KEEP in case it does need to be reset. This is used
731  * for not overwriting the time portion for 'X weekday'.
732  */
timelib_set_relative(const char ** ptr,timelib_sll amount,int behavior,Scanner * s,int time_part)733 static void timelib_set_relative(const char **ptr, timelib_sll amount, int behavior, Scanner *s, int time_part)
734 {
735 	const timelib_relunit* relunit;
736 
737 	if (!(relunit = timelib_lookup_relunit(ptr))) {
738 		return;
739 	}
740 
741 	switch (relunit->unit) {
742 		case TIMELIB_MICROSEC: add_with_overflow(s, &s->time->relative.us, amount, relunit->multiplier); break;
743 		case TIMELIB_SECOND:   add_with_overflow(s, &s->time->relative.s, amount, relunit->multiplier); break;
744 		case TIMELIB_MINUTE:   add_with_overflow(s, &s->time->relative.i, amount, relunit->multiplier); break;
745 		case TIMELIB_HOUR:     add_with_overflow(s, &s->time->relative.h, amount, relunit->multiplier); break;
746 		case TIMELIB_DAY:      add_with_overflow(s, &s->time->relative.d, amount, relunit->multiplier); break;
747 		case TIMELIB_MONTH:    add_with_overflow(s, &s->time->relative.m, amount, relunit->multiplier); break;
748 		case TIMELIB_YEAR:     add_with_overflow(s, &s->time->relative.y, amount, relunit->multiplier); break;
749 
750 		case TIMELIB_WEEKDAY:
751 			TIMELIB_HAVE_WEEKDAY_RELATIVE();
752 			if (time_part != TIMELIB_TIME_PART_KEEP) {
753 				TIMELIB_UNHAVE_TIME();
754 			}
755 			s->time->relative.d += (amount > 0 ? amount - 1 : amount) * 7;
756 			s->time->relative.weekday = relunit->multiplier;
757 			s->time->relative.weekday_behavior = behavior;
758 			break;
759 
760 		case TIMELIB_SPECIAL:
761 			TIMELIB_HAVE_SPECIAL_RELATIVE();
762 			if (time_part != TIMELIB_TIME_PART_KEEP) {
763 				TIMELIB_UNHAVE_TIME();
764 			}
765 			s->time->relative.special.type = relunit->multiplier;
766 			s->time->relative.special.amount = amount;
767 	}
768 }
769 
abbr_search(const char * word,timelib_long gmtoffset,int isdst)770 static const timelib_tz_lookup_table* abbr_search(const char *word, timelib_long gmtoffset, int isdst)
771 {
772 	int first_found = 0;
773 	const timelib_tz_lookup_table  *tp, *first_found_elem = NULL;
774 	const timelib_tz_lookup_table  *fmp;
775 
776 	if (timelib_strcasecmp("utc", word) == 0 || timelib_strcasecmp("gmt", word) == 0) {
777 		return timelib_timezone_utc;
778 	}
779 
780 	for (tp = timelib_timezone_lookup; tp->name; tp++) {
781 		if (timelib_strcasecmp(word, tp->name) == 0) {
782 			if (!first_found) {
783 				first_found = 1;
784 				first_found_elem = tp;
785 				if (gmtoffset == -1) {
786 					return tp;
787 				}
788 			}
789 			if (tp->gmtoffset == gmtoffset) {
790 				return tp;
791 			}
792 		}
793 	}
794 	if (first_found) {
795 		return first_found_elem;
796 	}
797 
798 	/* Still didn't find anything, let's find the zone solely based on
799 	 * offset/isdst then */
800 	for (fmp = timelib_timezone_fallbackmap; fmp->name; fmp++) {
801 		if (fmp->gmtoffset == gmtoffset && fmp->type == isdst) {
802 			return fmp;
803 		}
804 	}
805 	return NULL;
806 }
807 
timelib_lookup_abbr(const char ** ptr,int * dst,char ** tz_abbr,int * found)808 static timelib_long timelib_lookup_abbr(const char **ptr, int *dst, char **tz_abbr, int *found)
809 {
810 	char *word;
811 	const char *begin = *ptr, *end;
812 	timelib_long  value = 0;
813 	const timelib_tz_lookup_table *tp;
814 
815 	/* Only include A-Z, a-z, 0-9, /, _, and - in abbreviations/TZ IDs */
816 	while (
817 		(**ptr >= 'A' && **ptr <= 'Z') ||
818 		(**ptr >= 'a' && **ptr <= 'z') ||
819 		(**ptr >= '0' && **ptr <= '9') ||
820 		**ptr == '/' || **ptr == '_' || **ptr == '-' || **ptr == '+'
821 	) {
822 		++*ptr;
823 	}
824 	end = *ptr;
825 	word = timelib_calloc(1, end - begin + 1);
826 	memcpy(word, begin, end - begin);
827 
828 	if (end - begin < MAX_ABBR_LEN && (tp = abbr_search(word, -1, 0))) {
829 		value = tp->gmtoffset;
830 		*dst = tp->type;
831 		value -= tp->type * 3600;
832 		*found = 1;
833 	} else {
834 		*found = 0;
835 	}
836 
837 	*tz_abbr = word;
838 	return value;
839 }
840 
841 #define sHOUR(a) (int)(a * 3600)
842 #define sMIN(a) (int)(a * 60)
843 
timelib_parse_tz_cor(const char ** ptr,int * tz_not_found)844 static timelib_long timelib_parse_tz_cor(const char **ptr, int *tz_not_found)
845 {
846 	const char *begin = *ptr, *end;
847 	timelib_long  tmp;
848 
849 	*tz_not_found = 1;
850 
851 	while (isdigit(**ptr) || **ptr == ':') {
852 		++*ptr;
853 	}
854 	end = *ptr;
855 	switch (end - begin) {
856 		case 1: /* H */
857 		case 2: /* HH */
858 			*tz_not_found = 0;
859 			return sHOUR(strtol(begin, NULL, 10));
860 
861 		case 3: /* H:M */
862 		case 4: /* H:MM, HH:M, HHMM */
863 			if (begin[1] == ':') {
864 				*tz_not_found = 0;
865 				tmp = sHOUR(strtol(begin, NULL, 10)) + sMIN(strtol(begin + 2, NULL, 10));
866 				return tmp;
867 			} else if (begin[2] == ':') {
868 				*tz_not_found = 0;
869 				tmp = sHOUR(strtol(begin, NULL, 10)) + sMIN(strtol(begin + 3, NULL, 10));
870 				return tmp;
871 			} else {
872 				*tz_not_found = 0;
873 				tmp = strtol(begin, NULL, 10);
874 				return sHOUR(tmp / 100) + sMIN(tmp % 100);
875 			}
876 
877 		case 5: /* HH:MM */
878 			if (begin[2] != ':') {
879 				break;
880 			}
881 
882 			*tz_not_found = 0;
883 			tmp = sHOUR(strtol(begin, NULL, 10)) + sMIN(strtol(begin + 3, NULL, 10));
884 			return tmp;
885 
886 		case 6: /* HHMMSS */
887 			*tz_not_found = 0;
888 			tmp = strtol(begin, NULL, 10);
889 			tmp = sHOUR(tmp / 10000) + sMIN((tmp / 100) % 100) + (tmp % 100);
890 			return tmp;
891 
892 		case 8: /* HH:MM:SS */
893 			if (begin[2] != ':' || begin[5] != ':') {
894 				break;
895 			}
896 
897 			*tz_not_found = 0;
898 			tmp = sHOUR(strtol(begin, NULL, 10)) + sMIN(strtol(begin + 3, NULL, 10)) + strtol(begin + 6, NULL, 10);
899 			return tmp;
900 
901 	}
902 	return 0;
903 }
904 
timelib_parse_tz_minutes(const char ** ptr,timelib_time * t)905 static timelib_long timelib_parse_tz_minutes(const char **ptr, timelib_time *t)
906 {
907 	timelib_long retval = TIMELIB_UNSET;
908 	const char *begin = *ptr;
909 
910 	/* First character must be +/- */
911 	if (**ptr != '+' && **ptr != '-') {
912 		return retval;
913 	}
914 
915 	++*ptr;
916 	while (isdigit(**ptr)) {
917 		++*ptr;
918 	}
919 
920 	if (*begin == '+') {
921 		t->is_localtime = 1;
922 		t->zone_type = TIMELIB_ZONETYPE_OFFSET;
923 		t->dst = 0;
924 
925 		retval = sMIN(strtol(begin + 1, NULL, 10));
926 	} else if (*begin == '-') {
927 		t->is_localtime = 1;
928 		t->zone_type = TIMELIB_ZONETYPE_OFFSET;
929 		t->dst = 0;
930 
931 		retval = -1 * sMIN(strtol(begin + 1, NULL, 10));
932 	}
933 	return retval;
934 }
935 
timelib_parse_zone(const char ** ptr,int * dst,timelib_time * t,int * tz_not_found,const timelib_tzdb * tzdb,timelib_tz_get_wrapper tz_wrapper)936 timelib_long timelib_parse_zone(const char **ptr, int *dst, timelib_time *t, int *tz_not_found, const timelib_tzdb *tzdb, timelib_tz_get_wrapper tz_wrapper)
937 {
938 	timelib_tzinfo *res;
939 	timelib_long            retval = 0;
940 
941 	*tz_not_found = 0;
942 
943 	while (**ptr == ' ' || **ptr == '\t' || **ptr == '(') {
944 		++*ptr;
945 	}
946 	if ((*ptr)[0] == 'G' && (*ptr)[1] == 'M' && (*ptr)[2] == 'T' && ((*ptr)[3] == '+' || (*ptr)[3] == '-')) {
947 		*ptr += 3;
948 	}
949 	if (**ptr == '+') {
950 		++*ptr;
951 		t->is_localtime = 1;
952 		t->zone_type = TIMELIB_ZONETYPE_OFFSET;
953 		t->dst = 0;
954 
955 		retval = timelib_parse_tz_cor(ptr, tz_not_found);
956 	} else if (**ptr == '-') {
957 		++*ptr;
958 		t->is_localtime = 1;
959 		t->zone_type = TIMELIB_ZONETYPE_OFFSET;
960 		t->dst = 0;
961 
962 		retval = -1 * timelib_parse_tz_cor(ptr, tz_not_found);
963 	} else {
964 		int found = 0;
965 		timelib_long offset = 0;
966 		char *tz_abbr;
967 
968 		t->is_localtime = 1;
969 
970 		/* First, we lookup by abbreviation only */
971 		offset = timelib_lookup_abbr(ptr, dst, &tz_abbr, &found);
972 		if (found) {
973 			t->zone_type = TIMELIB_ZONETYPE_ABBR;
974 			t->dst = *dst;
975 			timelib_time_tz_abbr_update(t, tz_abbr);
976 		}
977 
978 		/* Otherwise, we look if we have a TimeZone identifier */
979 		if (!found || strcmp("UTC", tz_abbr) == 0) {
980 			int dummy_error_code;
981 
982 			if ((res = tz_wrapper(tz_abbr, tzdb, &dummy_error_code)) != NULL) {
983 				t->tz_info = res;
984 				t->zone_type = TIMELIB_ZONETYPE_ID;
985 				found++;
986 			}
987 		}
988 		timelib_free(tz_abbr);
989 		*tz_not_found = (found == 0);
990 		retval = offset;
991 	}
992 	while (**ptr == ')') {
993 		++*ptr;
994 	}
995 	return retval;
996 }
997 
998 #define timelib_split_free(arg) {       \
999 	int i;                         \
1000 	for (i = 0; i < arg.c; i++) {  \
1001 		timelib_free(arg.v[i]);    \
1002 	}                              \
1003 	if (arg.v) {                   \
1004 		timelib_free(arg.v);       \
1005 	}                              \
1006 }
1007 
scan(Scanner * s,timelib_tz_get_wrapper tz_get_wrapper)1008 static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper)
1009 {
1010 	uchar *cursor = s->cur;
1011 	char *str;
1012 	const char *ptr = NULL;
1013 
1014 std:
1015 	s->tok = cursor;
1016 	s->len = 0;
1017 #line 1147 "ext/date/lib/parse_date.re"
1018 
1019 
1020 
1021 #line 1022 "<stdout>"
1022 {
1023 	YYCTYPE yych;
1024 	unsigned int yyaccept = 0;
1025 	static const unsigned char yybm[] = {
1026 		  0,   0,   0,   0,   0,   0,   0,   0,
1027 		  0,  50,   0,   0,   0,   0,   0,   0,
1028 		  0,   0,   0,   0,   0,   0,   0,   0,
1029 		  0,   0,   0,   0,   0,   0,   0,   0,
1030 		 50,   0,   0,   0,   0,   0,   0,   0,
1031 		  0,   0,   0,   4,  32,  20,  48,   0,
1032 		  8,   8,   8,   8,   8,   8,   8,   8,
1033 		  8,   8,   0,   0,   0,   0,   0,   0,
1034 		  0,  64,  64,  64,  64,  64,  64,  64,
1035 		 64,  64,  64,  64,  64,  64,  64,  64,
1036 		 64,  64,  64,  64,  64,  64,  64,  64,
1037 		 64,  64,  64,   0,   0,   0,   0,   0,
1038 		  0, 192, 192, 192, 224, 192, 192, 192,
1039 		224, 192, 192, 192, 192, 192, 224, 192,
1040 		192, 192, 224, 224, 224, 192, 192, 192,
1041 		192, 192, 192,   0,   0,   0,   0,   0,
1042 		  0,   0,   0,   0,   0,   0,   0,   0,
1043 		  0,   0,   0,   0,   0,   0,   0,   0,
1044 		  0,   0,   0,   0,   0,   0,   0,   0,
1045 		  0,   0,   0,   0,   0,   0,   0,   0,
1046 		  0,   0,   0,   0,   0,   0,   0,   0,
1047 		  0,   0,   0,   0,   0,   0,   0,   0,
1048 		  0,   0,   0,   0,   0,   0,   0,   0,
1049 		  0,   0,   0,   0,   0,   0,   0,   0,
1050 		  0,   0,   0,   0,   0,   0,   0,   0,
1051 		  0,   0,   0,   0,   0,   0,   0,   0,
1052 		  0,   0,   0,   0,   0,   0,   0,   0,
1053 		  0,   0,   0,   0,   0,   0,   0,   0,
1054 		  0,   0,   0,   0,   0,   0,   0,   0,
1055 		  0,   0,   0,   0,   0,   0,   0,   0,
1056 		  0,   0,   0,   0,   0,   0,   0,   0,
1057 		  0,   0,   0,   0,   0,   0,   0,   0,
1058 	};
1059 	YYDEBUG(0, *YYCURSOR);
1060 	if ((YYLIMIT - YYCURSOR) < 36) YYFILL(36);
1061 	yych = *YYCURSOR;
1062 	if (yybm[0+yych] & 2) {
1063 		goto yy6;
1064 	}
1065 	if (yych <= 'R') {
1066 		if (yych <= '?') {
1067 			if (yych <= ',') {
1068 				if (yych <= '\'') {
1069 					if (yych <= 0x00) goto yy2;
1070 					if (yych <= 0x08) goto yy4;
1071 					if (yych >= '\v') goto yy4;
1072 				} else {
1073 					if (yych <= '(') goto yy9;
1074 					if (yych <= '*') goto yy4;
1075 					if (yych <= '+') goto yy10;
1076 					goto yy11;
1077 				}
1078 			} else {
1079 				if (yych <= '0') {
1080 					if (yych <= '-') goto yy10;
1081 					if (yych <= '.') goto yy11;
1082 					if (yych <= '/') goto yy4;
1083 					goto yy13;
1084 				} else {
1085 					if (yych <= '2') {
1086 						if (yych <= '1') goto yy14;
1087 						goto yy15;
1088 					} else {
1089 						if (yych <= '3') goto yy16;
1090 						if (yych <= '9') goto yy17;
1091 						goto yy4;
1092 					}
1093 				}
1094 			}
1095 		} else {
1096 			if (yych <= 'H') {
1097 				if (yych <= 'C') {
1098 					if (yych <= '@') goto yy18;
1099 					if (yych <= 'A') goto yy19;
1100 					if (yych <= 'B') goto yy21;
1101 					goto yy22;
1102 				} else {
1103 					if (yych <= 'E') {
1104 						if (yych <= 'D') goto yy23;
1105 						goto yy24;
1106 					} else {
1107 						if (yych <= 'F') goto yy25;
1108 						if (yych <= 'G') goto yy26;
1109 						goto yy22;
1110 					}
1111 				}
1112 			} else {
1113 				if (yych <= 'L') {
1114 					if (yych <= 'I') goto yy27;
1115 					if (yych <= 'J') goto yy28;
1116 					if (yych <= 'K') goto yy22;
1117 					goto yy29;
1118 				} else {
1119 					if (yych <= 'N') {
1120 						if (yych <= 'M') goto yy30;
1121 						goto yy31;
1122 					} else {
1123 						if (yych <= 'O') goto yy32;
1124 						if (yych <= 'P') goto yy33;
1125 						goto yy22;
1126 					}
1127 				}
1128 			}
1129 		}
1130 	} else {
1131 		if (yych <= 'k') {
1132 			if (yych <= '`') {
1133 				if (yych <= 'V') {
1134 					if (yych <= 'S') goto yy34;
1135 					if (yych <= 'T') goto yy35;
1136 					if (yych <= 'U') goto yy22;
1137 					goto yy36;
1138 				} else {
1139 					if (yych <= 'X') {
1140 						if (yych <= 'W') goto yy37;
1141 						goto yy38;
1142 					} else {
1143 						if (yych <= 'Y') goto yy39;
1144 						if (yych <= 'Z') goto yy22;
1145 						goto yy4;
1146 					}
1147 				}
1148 			} else {
1149 				if (yych <= 'd') {
1150 					if (yych <= 'a') goto yy40;
1151 					if (yych <= 'b') goto yy41;
1152 					if (yych <= 'c') goto yy42;
1153 					goto yy43;
1154 				} else {
1155 					if (yych <= 'f') {
1156 						if (yych <= 'e') goto yy44;
1157 						goto yy45;
1158 					} else {
1159 						if (yych == 'j') goto yy46;
1160 						goto yy42;
1161 					}
1162 				}
1163 			}
1164 		} else {
1165 			if (yych <= 'v') {
1166 				if (yych <= 'o') {
1167 					if (yych <= 'l') goto yy47;
1168 					if (yych <= 'm') goto yy48;
1169 					if (yych <= 'n') goto yy49;
1170 					goto yy50;
1171 				} else {
1172 					if (yych <= 'r') {
1173 						if (yych <= 'p') goto yy51;
1174 						goto yy42;
1175 					} else {
1176 						if (yych <= 's') goto yy52;
1177 						if (yych <= 't') goto yy53;
1178 						goto yy42;
1179 					}
1180 				}
1181 			} else {
1182 				if (yych <= 'z') {
1183 					if (yych <= 'w') goto yy54;
1184 					if (yych == 'y') goto yy55;
1185 					goto yy42;
1186 				} else {
1187 					if (yych <= 0xC2) {
1188 						if (yych <= 0xC1) goto yy4;
1189 						goto yy56;
1190 					} else {
1191 						if (yych == 0xE2) goto yy57;
1192 						goto yy4;
1193 					}
1194 				}
1195 			}
1196 		}
1197 	}
1198 yy2:
1199 	YYDEBUG(2, *YYCURSOR);
1200 	++YYCURSOR;
1201 	YYDEBUG(3, *YYCURSOR);
1202 #line 1980 "ext/date/lib/parse_date.re"
1203 	{
1204 		s->pos = cursor; s->line++;
1205 		goto std;
1206 	}
1207 #line 1208 "<stdout>"
1208 yy4:
1209 	YYDEBUG(4, *YYCURSOR);
1210 	++YYCURSOR;
1211 yy5:
1212 	YYDEBUG(5, *YYCURSOR);
1213 #line 1986 "ext/date/lib/parse_date.re"
1214 	{
1215 		add_error(s, TIMELIB_ERR_UNEXPECTED_CHARACTER, "Unexpected character");
1216 		goto std;
1217 	}
1218 #line 1219 "<stdout>"
1219 yy6:
1220 	YYDEBUG(6, *YYCURSOR);
1221 	yyaccept = 0;
1222 	YYMARKER = ++YYCURSOR;
1223 	if ((YYLIMIT - YYCURSOR) < 25) YYFILL(25);
1224 	yych = *YYCURSOR;
1225 	YYDEBUG(7, *YYCURSOR);
1226 	if (yybm[0+yych] & 2) {
1227 		goto yy6;
1228 	}
1229 	if (yych <= '/') goto yy8;
1230 	if (yych <= '9') goto yy58;
1231 yy8:
1232 	YYDEBUG(8, *YYCURSOR);
1233 #line 1975 "ext/date/lib/parse_date.re"
1234 	{
1235 		goto std;
1236 	}
1237 #line 1238 "<stdout>"
1238 yy9:
1239 	YYDEBUG(9, *YYCURSOR);
1240 	yych = *++YYCURSOR;
1241 	if (yych <= '@') goto yy5;
1242 	if (yych <= 'Z') goto yy42;
1243 	if (yych <= '`') goto yy5;
1244 	if (yych <= 'z') goto yy42;
1245 	goto yy5;
1246 yy10:
1247 	YYDEBUG(10, *YYCURSOR);
1248 	yyaccept = 1;
1249 	yych = *(YYMARKER = ++YYCURSOR);
1250 	if (yybm[0+yych] & 4) {
1251 		goto yy62;
1252 	}
1253 	if (yych <= ' ') {
1254 		if (yych == '\t') goto yy60;
1255 		if (yych <= 0x1F) goto yy5;
1256 		goto yy60;
1257 	} else {
1258 		if (yych <= '1') {
1259 			if (yych <= '/') goto yy5;
1260 			goto yy64;
1261 		} else {
1262 			if (yych <= '2') goto yy65;
1263 			if (yych <= '9') goto yy66;
1264 			goto yy5;
1265 		}
1266 	}
1267 yy11:
1268 	YYDEBUG(11, *YYCURSOR);
1269 	++YYCURSOR;
1270 	YYDEBUG(12, *YYCURSOR);
1271 #line 1970 "ext/date/lib/parse_date.re"
1272 	{
1273 		goto std;
1274 	}
1275 #line 1276 "<stdout>"
1276 yy13:
1277 	YYDEBUG(13, *YYCURSOR);
1278 	yyaccept = 1;
1279 	yych = *(YYMARKER = ++YYCURSOR);
1280 	if (yych <= 'a') {
1281 		if (yych <= '@') {
1282 			if (yych <= '-') {
1283 				if (yych <= 0x1F) {
1284 					if (yych == '\t') goto yy67;
1285 					goto yy5;
1286 				} else {
1287 					if (yych <= ' ') goto yy69;
1288 					if (yych <= ',') goto yy5;
1289 					goto yy70;
1290 				}
1291 			} else {
1292 				if (yych <= '0') {
1293 					if (yych <= '.') goto yy71;
1294 					if (yych <= '/') goto yy72;
1295 					goto yy73;
1296 				} else {
1297 					if (yych <= '9') goto yy74;
1298 					if (yych <= ':') goto yy75;
1299 					goto yy5;
1300 				}
1301 			}
1302 		} else {
1303 			if (yych <= 'G') {
1304 				if (yych <= 'D') {
1305 					if (yych <= 'A') goto yy69;
1306 					if (yych <= 'C') goto yy5;
1307 					goto yy69;
1308 				} else {
1309 					if (yych == 'F') goto yy69;
1310 					goto yy5;
1311 				}
1312 			} else {
1313 				if (yych <= 'O') {
1314 					if (yych <= 'J') goto yy69;
1315 					if (yych <= 'L') goto yy5;
1316 					goto yy69;
1317 				} else {
1318 					if (yych <= 'R') goto yy5;
1319 					if (yych <= 'Y') goto yy69;
1320 					if (yych <= '`') goto yy5;
1321 					goto yy69;
1322 				}
1323 			}
1324 		}
1325 	} else {
1326 		if (yych <= 'q') {
1327 			if (yych <= 'h') {
1328 				if (yych <= 'e') {
1329 					if (yych == 'd') goto yy69;
1330 					goto yy5;
1331 				} else {
1332 					if (yych == 'g') goto yy5;
1333 					goto yy69;
1334 				}
1335 			} else {
1336 				if (yych <= 'l') {
1337 					if (yych == 'j') goto yy69;
1338 					goto yy5;
1339 				} else {
1340 					if (yych == 'n') goto yy93;
1341 					if (yych <= 'o') goto yy69;
1342 					goto yy5;
1343 				}
1344 			}
1345 		} else {
1346 			if (yych <= 'w') {
1347 				if (yych <= 't') {
1348 					if (yych <= 'r') goto yy94;
1349 					if (yych <= 's') goto yy95;
1350 					goto yy96;
1351 				} else {
1352 					if (yych == 'v') goto yy5;
1353 					goto yy69;
1354 				}
1355 			} else {
1356 				if (yych <= 0xC1) {
1357 					if (yych == 'y') goto yy69;
1358 					goto yy5;
1359 				} else {
1360 					if (yych <= 0xC2) goto yy97;
1361 					if (yych == 0xE2) goto yy98;
1362 					goto yy5;
1363 				}
1364 			}
1365 		}
1366 	}
1367 yy14:
1368 	YYDEBUG(14, *YYCURSOR);
1369 	yyaccept = 1;
1370 	yych = *(YYMARKER = ++YYCURSOR);
1371 	if (yych <= 'a') {
1372 		if (yych <= '@') {
1373 			if (yych <= '-') {
1374 				if (yych <= 0x1F) {
1375 					if (yych == '\t') goto yy99;
1376 					goto yy5;
1377 				} else {
1378 					if (yych <= ' ') goto yy101;
1379 					if (yych <= ',') goto yy5;
1380 					goto yy70;
1381 				}
1382 			} else {
1383 				if (yych <= '2') {
1384 					if (yych <= '.') goto yy102;
1385 					if (yych <= '/') goto yy72;
1386 					goto yy74;
1387 				} else {
1388 					if (yych <= '9') goto yy103;
1389 					if (yych <= ':') goto yy104;
1390 					goto yy5;
1391 				}
1392 			}
1393 		} else {
1394 			if (yych <= 'G') {
1395 				if (yych <= 'D') {
1396 					if (yych <= 'A') goto yy101;
1397 					if (yych <= 'C') goto yy5;
1398 					goto yy101;
1399 				} else {
1400 					if (yych == 'F') goto yy101;
1401 					goto yy5;
1402 				}
1403 			} else {
1404 				if (yych <= 'P') {
1405 					if (yych <= 'J') goto yy101;
1406 					if (yych <= 'L') goto yy5;
1407 					goto yy101;
1408 				} else {
1409 					if (yych <= 'R') goto yy5;
1410 					if (yych <= 'Y') goto yy101;
1411 					if (yych <= '`') goto yy5;
1412 					goto yy101;
1413 				}
1414 			}
1415 		}
1416 	} else {
1417 		if (yych <= 'q') {
1418 			if (yych <= 'h') {
1419 				if (yych <= 'e') {
1420 					if (yych == 'd') goto yy101;
1421 					goto yy5;
1422 				} else {
1423 					if (yych == 'g') goto yy5;
1424 					goto yy101;
1425 				}
1426 			} else {
1427 				if (yych <= 'l') {
1428 					if (yych == 'j') goto yy101;
1429 					goto yy5;
1430 				} else {
1431 					if (yych == 'n') goto yy93;
1432 					if (yych <= 'p') goto yy101;
1433 					goto yy5;
1434 				}
1435 			}
1436 		} else {
1437 			if (yych <= 'w') {
1438 				if (yych <= 't') {
1439 					if (yych <= 'r') goto yy94;
1440 					if (yych <= 's') goto yy95;
1441 					goto yy96;
1442 				} else {
1443 					if (yych == 'v') goto yy5;
1444 					goto yy101;
1445 				}
1446 			} else {
1447 				if (yych <= 0xC1) {
1448 					if (yych == 'y') goto yy101;
1449 					goto yy5;
1450 				} else {
1451 					if (yych <= 0xC2) goto yy107;
1452 					if (yych == 0xE2) goto yy108;
1453 					goto yy5;
1454 				}
1455 			}
1456 		}
1457 	}
1458 yy15:
1459 	YYDEBUG(15, *YYCURSOR);
1460 	yyaccept = 1;
1461 	yych = *(YYMARKER = ++YYCURSOR);
1462 	if (yych <= 'a') {
1463 		if (yych <= '@') {
1464 			if (yych <= '-') {
1465 				if (yych <= 0x1F) {
1466 					if (yych == '\t') goto yy99;
1467 					goto yy5;
1468 				} else {
1469 					if (yych <= ' ') goto yy101;
1470 					if (yych <= ',') goto yy5;
1471 					goto yy70;
1472 				}
1473 			} else {
1474 				if (yych <= '4') {
1475 					if (yych <= '.') goto yy102;
1476 					if (yych <= '/') goto yy72;
1477 					goto yy103;
1478 				} else {
1479 					if (yych <= '9') goto yy109;
1480 					if (yych <= ':') goto yy104;
1481 					goto yy5;
1482 				}
1483 			}
1484 		} else {
1485 			if (yych <= 'G') {
1486 				if (yych <= 'D') {
1487 					if (yych <= 'A') goto yy101;
1488 					if (yych <= 'C') goto yy5;
1489 					goto yy101;
1490 				} else {
1491 					if (yych == 'F') goto yy101;
1492 					goto yy5;
1493 				}
1494 			} else {
1495 				if (yych <= 'P') {
1496 					if (yych <= 'J') goto yy101;
1497 					if (yych <= 'L') goto yy5;
1498 					goto yy101;
1499 				} else {
1500 					if (yych <= 'R') goto yy5;
1501 					if (yych <= 'Y') goto yy101;
1502 					if (yych <= '`') goto yy5;
1503 					goto yy101;
1504 				}
1505 			}
1506 		}
1507 	} else {
1508 		if (yych <= 'q') {
1509 			if (yych <= 'h') {
1510 				if (yych <= 'e') {
1511 					if (yych == 'd') goto yy101;
1512 					goto yy5;
1513 				} else {
1514 					if (yych == 'g') goto yy5;
1515 					goto yy101;
1516 				}
1517 			} else {
1518 				if (yych <= 'l') {
1519 					if (yych == 'j') goto yy101;
1520 					goto yy5;
1521 				} else {
1522 					if (yych == 'n') goto yy93;
1523 					if (yych <= 'p') goto yy101;
1524 					goto yy5;
1525 				}
1526 			}
1527 		} else {
1528 			if (yych <= 'w') {
1529 				if (yych <= 't') {
1530 					if (yych <= 'r') goto yy94;
1531 					if (yych <= 's') goto yy95;
1532 					goto yy96;
1533 				} else {
1534 					if (yych == 'v') goto yy5;
1535 					goto yy101;
1536 				}
1537 			} else {
1538 				if (yych <= 0xC1) {
1539 					if (yych == 'y') goto yy101;
1540 					goto yy5;
1541 				} else {
1542 					if (yych <= 0xC2) goto yy107;
1543 					if (yych == 0xE2) goto yy108;
1544 					goto yy5;
1545 				}
1546 			}
1547 		}
1548 	}
1549 yy16:
1550 	YYDEBUG(16, *YYCURSOR);
1551 	yyaccept = 1;
1552 	yych = *(YYMARKER = ++YYCURSOR);
1553 	if (yych <= 'a') {
1554 		if (yych <= '@') {
1555 			if (yych <= '-') {
1556 				if (yych <= 0x1F) {
1557 					if (yych == '\t') goto yy99;
1558 					goto yy5;
1559 				} else {
1560 					if (yych <= ' ') goto yy101;
1561 					if (yych <= ',') goto yy5;
1562 					goto yy70;
1563 				}
1564 			} else {
1565 				if (yych <= '1') {
1566 					if (yych <= '.') goto yy102;
1567 					if (yych <= '/') goto yy72;
1568 					goto yy109;
1569 				} else {
1570 					if (yych <= '9') goto yy110;
1571 					if (yych <= ':') goto yy104;
1572 					goto yy5;
1573 				}
1574 			}
1575 		} else {
1576 			if (yych <= 'G') {
1577 				if (yych <= 'D') {
1578 					if (yych <= 'A') goto yy101;
1579 					if (yych <= 'C') goto yy5;
1580 					goto yy101;
1581 				} else {
1582 					if (yych == 'F') goto yy101;
1583 					goto yy5;
1584 				}
1585 			} else {
1586 				if (yych <= 'P') {
1587 					if (yych <= 'J') goto yy101;
1588 					if (yych <= 'L') goto yy5;
1589 					goto yy101;
1590 				} else {
1591 					if (yych <= 'R') goto yy5;
1592 					if (yych <= 'Y') goto yy101;
1593 					if (yych <= '`') goto yy5;
1594 					goto yy101;
1595 				}
1596 			}
1597 		}
1598 	} else {
1599 		if (yych <= 'q') {
1600 			if (yych <= 'h') {
1601 				if (yych <= 'e') {
1602 					if (yych == 'd') goto yy101;
1603 					goto yy5;
1604 				} else {
1605 					if (yych == 'g') goto yy5;
1606 					goto yy101;
1607 				}
1608 			} else {
1609 				if (yych <= 'l') {
1610 					if (yych == 'j') goto yy101;
1611 					goto yy5;
1612 				} else {
1613 					if (yych == 'n') goto yy93;
1614 					if (yych <= 'p') goto yy101;
1615 					goto yy5;
1616 				}
1617 			}
1618 		} else {
1619 			if (yych <= 'w') {
1620 				if (yych <= 't') {
1621 					if (yych <= 'r') goto yy94;
1622 					if (yych <= 's') goto yy95;
1623 					goto yy96;
1624 				} else {
1625 					if (yych == 'v') goto yy5;
1626 					goto yy101;
1627 				}
1628 			} else {
1629 				if (yych <= 0xC1) {
1630 					if (yych == 'y') goto yy101;
1631 					goto yy5;
1632 				} else {
1633 					if (yych <= 0xC2) goto yy107;
1634 					if (yych == 0xE2) goto yy108;
1635 					goto yy5;
1636 				}
1637 			}
1638 		}
1639 	}
1640 yy17:
1641 	YYDEBUG(17, *YYCURSOR);
1642 	yyaccept = 1;
1643 	yych = *(YYMARKER = ++YYCURSOR);
1644 	if (yych <= 'c') {
1645 		if (yych <= 'A') {
1646 			if (yych <= '-') {
1647 				if (yych <= 0x1F) {
1648 					if (yych == '\t') goto yy99;
1649 					goto yy5;
1650 				} else {
1651 					if (yych <= ' ') goto yy101;
1652 					if (yych <= ',') goto yy5;
1653 					goto yy70;
1654 				}
1655 			} else {
1656 				if (yych <= '9') {
1657 					if (yych <= '.') goto yy102;
1658 					if (yych <= '/') goto yy72;
1659 					goto yy110;
1660 				} else {
1661 					if (yych <= ':') goto yy104;
1662 					if (yych <= '@') goto yy5;
1663 					goto yy101;
1664 				}
1665 			}
1666 		} else {
1667 			if (yych <= 'J') {
1668 				if (yych <= 'E') {
1669 					if (yych == 'D') goto yy101;
1670 					goto yy5;
1671 				} else {
1672 					if (yych == 'G') goto yy5;
1673 					goto yy101;
1674 				}
1675 			} else {
1676 				if (yych <= 'R') {
1677 					if (yych <= 'L') goto yy5;
1678 					if (yych <= 'P') goto yy101;
1679 					goto yy5;
1680 				} else {
1681 					if (yych <= 'Y') goto yy101;
1682 					if (yych == 'a') goto yy101;
1683 					goto yy5;
1684 				}
1685 			}
1686 		}
1687 	} else {
1688 		if (yych <= 'q') {
1689 			if (yych <= 'i') {
1690 				if (yych <= 'f') {
1691 					if (yych == 'e') goto yy5;
1692 					goto yy101;
1693 				} else {
1694 					if (yych == 'h') goto yy101;
1695 					goto yy5;
1696 				}
1697 			} else {
1698 				if (yych <= 'm') {
1699 					if (yych <= 'j') goto yy101;
1700 					if (yych <= 'l') goto yy5;
1701 					goto yy101;
1702 				} else {
1703 					if (yych <= 'n') goto yy93;
1704 					if (yych <= 'p') goto yy101;
1705 					goto yy5;
1706 				}
1707 			}
1708 		} else {
1709 			if (yych <= 'w') {
1710 				if (yych <= 't') {
1711 					if (yych <= 'r') goto yy94;
1712 					if (yych <= 's') goto yy95;
1713 					goto yy96;
1714 				} else {
1715 					if (yych == 'v') goto yy5;
1716 					goto yy101;
1717 				}
1718 			} else {
1719 				if (yych <= 0xC1) {
1720 					if (yych == 'y') goto yy101;
1721 					goto yy5;
1722 				} else {
1723 					if (yych <= 0xC2) goto yy107;
1724 					if (yych == 0xE2) goto yy108;
1725 					goto yy5;
1726 				}
1727 			}
1728 		}
1729 	}
1730 yy18:
1731 	YYDEBUG(18, *YYCURSOR);
1732 	yyaccept = 1;
1733 	yych = *(YYMARKER = ++YYCURSOR);
1734 	if (yybm[0+yych] & 8) {
1735 		goto yy112;
1736 	}
1737 	if (yych == '-') goto yy111;
1738 	goto yy5;
1739 yy19:
1740 	YYDEBUG(19, *YYCURSOR);
1741 	yych = *++YYCURSOR;
1742 	if (yych <= 'U') {
1743 		if (yych <= 'F') {
1744 			if (yych == ')') goto yy115;
1745 			if (yych >= 'A') goto yy116;
1746 		} else {
1747 			if (yych <= 'O') {
1748 				if (yych <= 'G') goto yy117;
1749 				goto yy116;
1750 			} else {
1751 				if (yych <= 'P') goto yy118;
1752 				if (yych <= 'T') goto yy116;
1753 				goto yy119;
1754 			}
1755 		}
1756 	} else {
1757 		if (yych <= 'o') {
1758 			if (yych <= '`') {
1759 				if (yych <= 'Z') goto yy116;
1760 			} else {
1761 				if (yych == 'g') goto yy121;
1762 				goto yy120;
1763 			}
1764 		} else {
1765 			if (yych <= 't') {
1766 				if (yych <= 'p') goto yy122;
1767 				goto yy120;
1768 			} else {
1769 				if (yych <= 'u') goto yy123;
1770 				if (yych <= 'z') goto yy120;
1771 			}
1772 		}
1773 	}
1774 yy20:
1775 	YYDEBUG(20, *YYCURSOR);
1776 #line 1885 "ext/date/lib/parse_date.re"
1777 	{
1778 		int tz_not_found;
1779 		DEBUG_OUTPUT("tzcorrection | tz");
1780 		TIMELIB_INIT;
1781 		TIMELIB_HAVE_TZ();
1782 		timelib_eat_spaces(&ptr);
1783 		s->time->z = timelib_parse_zone(&ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
1784 		if (tz_not_found) {
1785 			add_error(s, TIMELIB_ERR_TZID_NOT_FOUND, "The timezone could not be found in the database");
1786 		}
1787 		TIMELIB_DEINIT;
1788 		return TIMELIB_TIMEZONE;
1789 	}
1790 #line 1791 "<stdout>"
1791 yy21:
1792 	YYDEBUG(21, *YYCURSOR);
1793 	yych = *++YYCURSOR;
1794 	if (yych <= 'A') {
1795 		if (yych == ')') goto yy115;
1796 		if (yych <= '@') goto yy20;
1797 		goto yy124;
1798 	} else {
1799 		if (yych <= '`') {
1800 			if (yych <= 'Z') goto yy116;
1801 			goto yy20;
1802 		} else {
1803 			if (yych <= 'a') goto yy125;
1804 			if (yych <= 'z') goto yy120;
1805 			goto yy20;
1806 		}
1807 	}
1808 yy22:
1809 	YYDEBUG(22, *YYCURSOR);
1810 	yych = *++YYCURSOR;
1811 	if (yych <= '@') {
1812 		if (yych == ')') goto yy115;
1813 		goto yy20;
1814 	} else {
1815 		if (yych <= 'Z') goto yy116;
1816 		if (yych <= '`') goto yy20;
1817 		if (yych <= 'z') goto yy120;
1818 		goto yy20;
1819 	}
1820 yy23:
1821 	YYDEBUG(23, *YYCURSOR);
1822 	yych = *++YYCURSOR;
1823 	if (yych <= 'E') {
1824 		if (yych <= ')') {
1825 			if (yych <= '(') goto yy20;
1826 			goto yy115;
1827 		} else {
1828 			if (yych <= '@') goto yy20;
1829 			if (yych <= 'D') goto yy116;
1830 			goto yy126;
1831 		}
1832 	} else {
1833 		if (yych <= 'd') {
1834 			if (yych <= 'Z') goto yy116;
1835 			if (yych <= '`') goto yy20;
1836 			goto yy120;
1837 		} else {
1838 			if (yych <= 'e') goto yy127;
1839 			if (yych <= 'z') goto yy120;
1840 			goto yy20;
1841 		}
1842 	}
1843 yy24:
1844 	YYDEBUG(24, *YYCURSOR);
1845 	yych = *++YYCURSOR;
1846 	if (yych <= 'L') {
1847 		if (yych <= '@') {
1848 			if (yych == ')') goto yy115;
1849 			goto yy20;
1850 		} else {
1851 			if (yych == 'I') goto yy128;
1852 			if (yych <= 'K') goto yy116;
1853 			goto yy129;
1854 		}
1855 	} else {
1856 		if (yych <= 'i') {
1857 			if (yych <= 'Z') goto yy116;
1858 			if (yych <= '`') goto yy20;
1859 			if (yych <= 'h') goto yy120;
1860 			goto yy130;
1861 		} else {
1862 			if (yych == 'l') goto yy131;
1863 			if (yych <= 'z') goto yy120;
1864 			goto yy20;
1865 		}
1866 	}
1867 yy25:
1868 	YYDEBUG(25, *YYCURSOR);
1869 	yych = *++YYCURSOR;
1870 	if (yych <= 'R') {
1871 		if (yych <= 'E') {
1872 			if (yych <= ')') {
1873 				if (yych <= '(') goto yy20;
1874 				goto yy115;
1875 			} else {
1876 				if (yych <= '@') goto yy20;
1877 				if (yych <= 'D') goto yy116;
1878 				goto yy132;
1879 			}
1880 		} else {
1881 			if (yych <= 'N') {
1882 				if (yych == 'I') goto yy133;
1883 				goto yy116;
1884 			} else {
1885 				if (yych <= 'O') goto yy134;
1886 				if (yych <= 'Q') goto yy116;
1887 				goto yy135;
1888 			}
1889 		}
1890 	} else {
1891 		if (yych <= 'i') {
1892 			if (yych <= 'd') {
1893 				if (yych <= 'Z') goto yy116;
1894 				if (yych <= '`') goto yy20;
1895 				goto yy120;
1896 			} else {
1897 				if (yych <= 'e') goto yy136;
1898 				if (yych <= 'h') goto yy120;
1899 				goto yy137;
1900 			}
1901 		} else {
1902 			if (yych <= 'q') {
1903 				if (yych == 'o') goto yy138;
1904 				goto yy120;
1905 			} else {
1906 				if (yych <= 'r') goto yy139;
1907 				if (yych <= 'z') goto yy120;
1908 				goto yy20;
1909 			}
1910 		}
1911 	}
1912 yy26:
1913 	YYDEBUG(26, *YYCURSOR);
1914 	yych = *++YYCURSOR;
1915 	if (yych <= 'L') {
1916 		if (yych == ')') goto yy115;
1917 		if (yych <= '@') goto yy20;
1918 		goto yy116;
1919 	} else {
1920 		if (yych <= 'Z') {
1921 			if (yych <= 'M') goto yy140;
1922 			goto yy116;
1923 		} else {
1924 			if (yych <= '`') goto yy20;
1925 			if (yych <= 'z') goto yy120;
1926 			goto yy20;
1927 		}
1928 	}
1929 yy27:
1930 	YYDEBUG(27, *YYCURSOR);
1931 	yyaccept = 2;
1932 	yych = *(YYMARKER = ++YYCURSOR);
1933 	if (yych <= '9') {
1934 		if (yych <= '(') {
1935 			if (yych <= '\t') {
1936 				if (yych <= 0x08) goto yy20;
1937 				goto yy142;
1938 			} else {
1939 				if (yych == ' ') goto yy142;
1940 				goto yy20;
1941 			}
1942 		} else {
1943 			if (yych <= ',') {
1944 				if (yych <= ')') goto yy115;
1945 				goto yy20;
1946 			} else {
1947 				if (yych == '/') goto yy20;
1948 				goto yy142;
1949 			}
1950 		}
1951 	} else {
1952 		if (yych <= 'V') {
1953 			if (yych <= 'H') {
1954 				if (yych <= '@') goto yy20;
1955 				goto yy116;
1956 			} else {
1957 				if (yych <= 'I') goto yy146;
1958 				if (yych <= 'U') goto yy116;
1959 				goto yy147;
1960 			}
1961 		} else {
1962 			if (yych <= 'Z') {
1963 				if (yych == 'X') goto yy147;
1964 				goto yy116;
1965 			} else {
1966 				if (yych <= '`') goto yy20;
1967 				if (yych <= 'z') goto yy120;
1968 				goto yy20;
1969 			}
1970 		}
1971 	}
1972 yy28:
1973 	YYDEBUG(28, *YYCURSOR);
1974 	yych = *++YYCURSOR;
1975 	if (yych <= 'U') {
1976 		if (yych <= '@') {
1977 			if (yych == ')') goto yy115;
1978 			goto yy20;
1979 		} else {
1980 			if (yych <= 'A') goto yy148;
1981 			if (yych <= 'T') goto yy116;
1982 			goto yy149;
1983 		}
1984 	} else {
1985 		if (yych <= 'a') {
1986 			if (yych <= 'Z') goto yy116;
1987 			if (yych <= '`') goto yy20;
1988 			goto yy150;
1989 		} else {
1990 			if (yych == 'u') goto yy151;
1991 			if (yych <= 'z') goto yy120;
1992 			goto yy20;
1993 		}
1994 	}
1995 yy29:
1996 	YYDEBUG(29, *YYCURSOR);
1997 	yych = *++YYCURSOR;
1998 	if (yych <= 'A') {
1999 		if (yych == ')') goto yy115;
2000 		if (yych <= '@') goto yy20;
2001 		goto yy152;
2002 	} else {
2003 		if (yych <= '`') {
2004 			if (yych <= 'Z') goto yy116;
2005 			goto yy20;
2006 		} else {
2007 			if (yych <= 'a') goto yy153;
2008 			if (yych <= 'z') goto yy120;
2009 			goto yy20;
2010 		}
2011 	}
2012 yy30:
2013 	YYDEBUG(30, *YYCURSOR);
2014 	yych = *++YYCURSOR;
2015 	if (yych <= 'O') {
2016 		if (yych <= 'A') {
2017 			if (yych == ')') goto yy115;
2018 			if (yych <= '@') goto yy20;
2019 			goto yy154;
2020 		} else {
2021 			if (yych == 'I') goto yy155;
2022 			if (yych <= 'N') goto yy116;
2023 			goto yy156;
2024 		}
2025 	} else {
2026 		if (yych <= 'h') {
2027 			if (yych <= 'Z') goto yy116;
2028 			if (yych <= '`') goto yy20;
2029 			if (yych <= 'a') goto yy157;
2030 			goto yy120;
2031 		} else {
2032 			if (yych <= 'n') {
2033 				if (yych <= 'i') goto yy158;
2034 				goto yy120;
2035 			} else {
2036 				if (yych <= 'o') goto yy159;
2037 				if (yych <= 'z') goto yy120;
2038 				goto yy20;
2039 			}
2040 		}
2041 	}
2042 yy31:
2043 	YYDEBUG(31, *YYCURSOR);
2044 	yych = *++YYCURSOR;
2045 	if (yych <= 'O') {
2046 		if (yych <= 'D') {
2047 			if (yych == ')') goto yy115;
2048 			if (yych <= '@') goto yy20;
2049 			goto yy116;
2050 		} else {
2051 			if (yych <= 'H') {
2052 				if (yych <= 'E') goto yy160;
2053 				goto yy116;
2054 			} else {
2055 				if (yych <= 'I') goto yy161;
2056 				if (yych <= 'N') goto yy116;
2057 				goto yy162;
2058 			}
2059 		}
2060 	} else {
2061 		if (yych <= 'h') {
2062 			if (yych <= '`') {
2063 				if (yych <= 'Z') goto yy116;
2064 				goto yy20;
2065 			} else {
2066 				if (yych == 'e') goto yy163;
2067 				goto yy120;
2068 			}
2069 		} else {
2070 			if (yych <= 'n') {
2071 				if (yych <= 'i') goto yy164;
2072 				goto yy120;
2073 			} else {
2074 				if (yych <= 'o') goto yy165;
2075 				if (yych <= 'z') goto yy120;
2076 				goto yy20;
2077 			}
2078 		}
2079 	}
2080 yy32:
2081 	YYDEBUG(32, *YYCURSOR);
2082 	yych = *++YYCURSOR;
2083 	if (yych <= 'C') {
2084 		if (yych <= ')') {
2085 			if (yych <= '(') goto yy20;
2086 			goto yy115;
2087 		} else {
2088 			if (yych <= '@') goto yy20;
2089 			if (yych <= 'B') goto yy116;
2090 			goto yy166;
2091 		}
2092 	} else {
2093 		if (yych <= 'b') {
2094 			if (yych <= 'Z') goto yy116;
2095 			if (yych <= '`') goto yy20;
2096 			goto yy120;
2097 		} else {
2098 			if (yych <= 'c') goto yy167;
2099 			if (yych <= 'z') goto yy120;
2100 			goto yy20;
2101 		}
2102 	}
2103 yy33:
2104 	YYDEBUG(33, *YYCURSOR);
2105 	yych = *++YYCURSOR;
2106 	if (yych <= 'R') {
2107 		if (yych <= ')') {
2108 			if (yych <= '(') goto yy20;
2109 			goto yy115;
2110 		} else {
2111 			if (yych <= '@') goto yy20;
2112 			if (yych <= 'Q') goto yy116;
2113 			goto yy168;
2114 		}
2115 	} else {
2116 		if (yych <= 'q') {
2117 			if (yych <= 'Z') goto yy116;
2118 			if (yych <= '`') goto yy20;
2119 			goto yy120;
2120 		} else {
2121 			if (yych <= 'r') goto yy169;
2122 			if (yych <= 'z') goto yy120;
2123 			goto yy20;
2124 		}
2125 	}
2126 yy34:
2127 	YYDEBUG(34, *YYCURSOR);
2128 	yych = *++YYCURSOR;
2129 	if (yych <= 'U') {
2130 		if (yych <= 'D') {
2131 			if (yych <= ')') {
2132 				if (yych <= '(') goto yy20;
2133 				goto yy115;
2134 			} else {
2135 				if (yych <= '@') goto yy20;
2136 				if (yych <= 'A') goto yy170;
2137 				goto yy116;
2138 			}
2139 		} else {
2140 			if (yych <= 'H') {
2141 				if (yych <= 'E') goto yy171;
2142 				goto yy116;
2143 			} else {
2144 				if (yych <= 'I') goto yy172;
2145 				if (yych <= 'T') goto yy116;
2146 				goto yy156;
2147 			}
2148 		}
2149 	} else {
2150 		if (yych <= 'e') {
2151 			if (yych <= '`') {
2152 				if (yych <= 'Z') goto yy116;
2153 				goto yy20;
2154 			} else {
2155 				if (yych <= 'a') goto yy173;
2156 				if (yych <= 'd') goto yy120;
2157 				goto yy174;
2158 			}
2159 		} else {
2160 			if (yych <= 't') {
2161 				if (yych == 'i') goto yy175;
2162 				goto yy120;
2163 			} else {
2164 				if (yych <= 'u') goto yy159;
2165 				if (yych <= 'z') goto yy120;
2166 				goto yy20;
2167 			}
2168 		}
2169 	}
2170 yy35:
2171 	YYDEBUG(35, *YYCURSOR);
2172 	yych = *++YYCURSOR;
2173 	switch (yych) {
2174 	case ')':	goto yy115;
2175 	case '0':
2176 	case '1':	goto yy176;
2177 	case '2':	goto yy178;
2178 	case '3':
2179 	case '4':
2180 	case '5':
2181 	case '6':
2182 	case '7':
2183 	case '8':
2184 	case '9':	goto yy179;
2185 	case 'A':
2186 	case 'B':
2187 	case 'C':
2188 	case 'D':
2189 	case 'F':
2190 	case 'G':
2191 	case 'I':
2192 	case 'J':
2193 	case 'K':
2194 	case 'L':
2195 	case 'M':
2196 	case 'N':
2197 	case 'P':
2198 	case 'Q':
2199 	case 'R':
2200 	case 'S':
2201 	case 'T':
2202 	case 'V':
2203 	case 'X':
2204 	case 'Y':
2205 	case 'Z':	goto yy116;
2206 	case 'E':	goto yy161;
2207 	case 'H':	goto yy180;
2208 	case 'O':	goto yy181;
2209 	case 'U':	goto yy182;
2210 	case 'W':	goto yy183;
2211 	case 'a':
2212 	case 'b':
2213 	case 'c':
2214 	case 'd':
2215 	case 'f':
2216 	case 'g':
2217 	case 'i':
2218 	case 'j':
2219 	case 'k':
2220 	case 'l':
2221 	case 'm':
2222 	case 'n':
2223 	case 'p':
2224 	case 'q':
2225 	case 'r':
2226 	case 's':
2227 	case 't':
2228 	case 'v':
2229 	case 'x':
2230 	case 'y':
2231 	case 'z':	goto yy120;
2232 	case 'e':	goto yy164;
2233 	case 'h':	goto yy184;
2234 	case 'o':	goto yy185;
2235 	case 'u':	goto yy186;
2236 	case 'w':	goto yy187;
2237 	default:	goto yy20;
2238 	}
2239 yy36:
2240 	YYDEBUG(36, *YYCURSOR);
2241 	yyaccept = 2;
2242 	yych = *(YYMARKER = ++YYCURSOR);
2243 	if (yych <= '.') {
2244 		if (yych <= ' ') {
2245 			if (yych == '\t') goto yy142;
2246 			if (yych <= 0x1F) goto yy20;
2247 			goto yy142;
2248 		} else {
2249 			if (yych == ')') goto yy115;
2250 			if (yych <= ',') goto yy20;
2251 			goto yy142;
2252 		}
2253 	} else {
2254 		if (yych <= 'H') {
2255 			if (yych <= '/') goto yy20;
2256 			if (yych <= '9') goto yy142;
2257 			if (yych <= '@') goto yy20;
2258 			goto yy116;
2259 		} else {
2260 			if (yych <= 'Z') {
2261 				if (yych <= 'I') goto yy188;
2262 				goto yy116;
2263 			} else {
2264 				if (yych <= '`') goto yy20;
2265 				if (yych <= 'z') goto yy120;
2266 				goto yy20;
2267 			}
2268 		}
2269 	}
2270 yy37:
2271 	YYDEBUG(37, *YYCURSOR);
2272 	yych = *++YYCURSOR;
2273 	if (yych <= 'E') {
2274 		if (yych <= ')') {
2275 			if (yych <= '(') goto yy20;
2276 			goto yy115;
2277 		} else {
2278 			if (yych <= '@') goto yy20;
2279 			if (yych <= 'D') goto yy116;
2280 			goto yy189;
2281 		}
2282 	} else {
2283 		if (yych <= 'd') {
2284 			if (yych <= 'Z') goto yy116;
2285 			if (yych <= '`') goto yy20;
2286 			goto yy120;
2287 		} else {
2288 			if (yych <= 'e') goto yy190;
2289 			if (yych <= 'z') goto yy120;
2290 			goto yy20;
2291 		}
2292 	}
2293 yy38:
2294 	YYDEBUG(38, *YYCURSOR);
2295 	yyaccept = 2;
2296 	yych = *(YYMARKER = ++YYCURSOR);
2297 	if (yych <= '.') {
2298 		if (yych <= ' ') {
2299 			if (yych == '\t') goto yy142;
2300 			if (yych <= 0x1F) goto yy20;
2301 			goto yy142;
2302 		} else {
2303 			if (yych == ')') goto yy115;
2304 			if (yych <= ',') goto yy20;
2305 			goto yy142;
2306 		}
2307 	} else {
2308 		if (yych <= 'H') {
2309 			if (yych <= '/') goto yy20;
2310 			if (yych <= '9') goto yy142;
2311 			if (yych <= '@') goto yy20;
2312 			goto yy116;
2313 		} else {
2314 			if (yych <= 'Z') {
2315 				if (yych <= 'I') goto yy146;
2316 				goto yy116;
2317 			} else {
2318 				if (yych <= '`') goto yy20;
2319 				if (yych <= 'z') goto yy120;
2320 				goto yy20;
2321 			}
2322 		}
2323 	}
2324 yy39:
2325 	YYDEBUG(39, *YYCURSOR);
2326 	yych = *++YYCURSOR;
2327 	if (yych <= 'E') {
2328 		if (yych <= ')') {
2329 			if (yych <= '(') goto yy20;
2330 			goto yy115;
2331 		} else {
2332 			if (yych <= '@') goto yy20;
2333 			if (yych <= 'D') goto yy116;
2334 			goto yy191;
2335 		}
2336 	} else {
2337 		if (yych <= 'd') {
2338 			if (yych <= 'Z') goto yy116;
2339 			if (yych <= '`') goto yy20;
2340 			goto yy120;
2341 		} else {
2342 			if (yych <= 'e') goto yy192;
2343 			if (yych <= 'z') goto yy120;
2344 			goto yy20;
2345 		}
2346 	}
2347 yy40:
2348 	YYDEBUG(40, *YYCURSOR);
2349 	yych = *++YYCURSOR;
2350 	if (yych <= 'U') {
2351 		if (yych <= 'F') {
2352 			if (yych == ')') goto yy115;
2353 			if (yych <= '@') goto yy20;
2354 			goto yy116;
2355 		} else {
2356 			if (yych <= 'O') {
2357 				if (yych <= 'G') goto yy117;
2358 				goto yy116;
2359 			} else {
2360 				if (yych <= 'P') goto yy118;
2361 				if (yych <= 'T') goto yy116;
2362 				goto yy119;
2363 			}
2364 		}
2365 	} else {
2366 		if (yych <= 'o') {
2367 			if (yych <= '`') {
2368 				if (yych <= 'Z') goto yy116;
2369 				goto yy20;
2370 			} else {
2371 				if (yych == 'g') goto yy117;
2372 				goto yy116;
2373 			}
2374 		} else {
2375 			if (yych <= 't') {
2376 				if (yych <= 'p') goto yy118;
2377 				goto yy116;
2378 			} else {
2379 				if (yych <= 'u') goto yy119;
2380 				if (yych <= 'z') goto yy116;
2381 				goto yy20;
2382 			}
2383 		}
2384 	}
2385 yy41:
2386 	YYDEBUG(41, *YYCURSOR);
2387 	yych = *++YYCURSOR;
2388 	if (yych <= 'A') {
2389 		if (yych == ')') goto yy115;
2390 		if (yych <= '@') goto yy20;
2391 		goto yy124;
2392 	} else {
2393 		if (yych <= '`') {
2394 			if (yych <= 'Z') goto yy116;
2395 			goto yy20;
2396 		} else {
2397 			if (yych <= 'a') goto yy124;
2398 			if (yych <= 'z') goto yy116;
2399 			goto yy20;
2400 		}
2401 	}
2402 yy42:
2403 	YYDEBUG(42, *YYCURSOR);
2404 	yych = *++YYCURSOR;
2405 	if (yych <= '@') {
2406 		if (yych == ')') goto yy115;
2407 		goto yy20;
2408 	} else {
2409 		if (yych <= 'Z') goto yy116;
2410 		if (yych <= '`') goto yy20;
2411 		if (yych <= 'z') goto yy116;
2412 		goto yy20;
2413 	}
2414 yy43:
2415 	YYDEBUG(43, *YYCURSOR);
2416 	yych = *++YYCURSOR;
2417 	if (yych <= 'E') {
2418 		if (yych <= ')') {
2419 			if (yych <= '(') goto yy20;
2420 			goto yy115;
2421 		} else {
2422 			if (yych <= '@') goto yy20;
2423 			if (yych <= 'D') goto yy116;
2424 			goto yy126;
2425 		}
2426 	} else {
2427 		if (yych <= 'd') {
2428 			if (yych <= 'Z') goto yy116;
2429 			if (yych <= '`') goto yy20;
2430 			goto yy116;
2431 		} else {
2432 			if (yych <= 'e') goto yy126;
2433 			if (yych <= 'z') goto yy116;
2434 			goto yy20;
2435 		}
2436 	}
2437 yy44:
2438 	YYDEBUG(44, *YYCURSOR);
2439 	yych = *++YYCURSOR;
2440 	if (yych <= 'L') {
2441 		if (yych <= '@') {
2442 			if (yych == ')') goto yy115;
2443 			goto yy20;
2444 		} else {
2445 			if (yych == 'I') goto yy128;
2446 			if (yych <= 'K') goto yy116;
2447 			goto yy129;
2448 		}
2449 	} else {
2450 		if (yych <= 'i') {
2451 			if (yych <= 'Z') goto yy116;
2452 			if (yych <= '`') goto yy20;
2453 			if (yych <= 'h') goto yy116;
2454 			goto yy128;
2455 		} else {
2456 			if (yych == 'l') goto yy129;
2457 			if (yych <= 'z') goto yy116;
2458 			goto yy20;
2459 		}
2460 	}
2461 yy45:
2462 	YYDEBUG(45, *YYCURSOR);
2463 	yych = *++YYCURSOR;
2464 	if (yych <= 'R') {
2465 		if (yych <= 'E') {
2466 			if (yych <= ')') {
2467 				if (yych <= '(') goto yy20;
2468 				goto yy115;
2469 			} else {
2470 				if (yych <= '@') goto yy20;
2471 				if (yych <= 'D') goto yy116;
2472 				goto yy132;
2473 			}
2474 		} else {
2475 			if (yych <= 'N') {
2476 				if (yych == 'I') goto yy133;
2477 				goto yy116;
2478 			} else {
2479 				if (yych <= 'O') goto yy134;
2480 				if (yych <= 'Q') goto yy116;
2481 				goto yy135;
2482 			}
2483 		}
2484 	} else {
2485 		if (yych <= 'i') {
2486 			if (yych <= 'd') {
2487 				if (yych <= 'Z') goto yy116;
2488 				if (yych <= '`') goto yy20;
2489 				goto yy116;
2490 			} else {
2491 				if (yych <= 'e') goto yy132;
2492 				if (yych <= 'h') goto yy116;
2493 				goto yy133;
2494 			}
2495 		} else {
2496 			if (yych <= 'q') {
2497 				if (yych == 'o') goto yy134;
2498 				goto yy116;
2499 			} else {
2500 				if (yych <= 'r') goto yy135;
2501 				if (yych <= 'z') goto yy116;
2502 				goto yy20;
2503 			}
2504 		}
2505 	}
2506 yy46:
2507 	YYDEBUG(46, *YYCURSOR);
2508 	yych = *++YYCURSOR;
2509 	if (yych <= 'U') {
2510 		if (yych <= '@') {
2511 			if (yych == ')') goto yy115;
2512 			goto yy20;
2513 		} else {
2514 			if (yych <= 'A') goto yy148;
2515 			if (yych <= 'T') goto yy116;
2516 			goto yy149;
2517 		}
2518 	} else {
2519 		if (yych <= 'a') {
2520 			if (yych <= 'Z') goto yy116;
2521 			if (yych <= '`') goto yy20;
2522 			goto yy148;
2523 		} else {
2524 			if (yych == 'u') goto yy149;
2525 			if (yych <= 'z') goto yy116;
2526 			goto yy20;
2527 		}
2528 	}
2529 yy47:
2530 	YYDEBUG(47, *YYCURSOR);
2531 	yych = *++YYCURSOR;
2532 	if (yych <= 'A') {
2533 		if (yych == ')') goto yy115;
2534 		if (yych <= '@') goto yy20;
2535 		goto yy152;
2536 	} else {
2537 		if (yych <= '`') {
2538 			if (yych <= 'Z') goto yy116;
2539 			goto yy20;
2540 		} else {
2541 			if (yych <= 'a') goto yy152;
2542 			if (yych <= 'z') goto yy116;
2543 			goto yy20;
2544 		}
2545 	}
2546 yy48:
2547 	YYDEBUG(48, *YYCURSOR);
2548 	yych = *++YYCURSOR;
2549 	if (yych <= 'O') {
2550 		if (yych <= 'A') {
2551 			if (yych == ')') goto yy115;
2552 			if (yych <= '@') goto yy20;
2553 			goto yy154;
2554 		} else {
2555 			if (yych == 'I') goto yy155;
2556 			if (yych <= 'N') goto yy116;
2557 			goto yy156;
2558 		}
2559 	} else {
2560 		if (yych <= 'h') {
2561 			if (yych <= 'Z') goto yy116;
2562 			if (yych <= '`') goto yy20;
2563 			if (yych <= 'a') goto yy154;
2564 			goto yy116;
2565 		} else {
2566 			if (yych <= 'n') {
2567 				if (yych <= 'i') goto yy155;
2568 				goto yy116;
2569 			} else {
2570 				if (yych <= 'o') goto yy156;
2571 				if (yych <= 'z') goto yy116;
2572 				goto yy20;
2573 			}
2574 		}
2575 	}
2576 yy49:
2577 	YYDEBUG(49, *YYCURSOR);
2578 	yych = *++YYCURSOR;
2579 	if (yych <= 'O') {
2580 		if (yych <= 'D') {
2581 			if (yych == ')') goto yy115;
2582 			if (yych <= '@') goto yy20;
2583 			goto yy116;
2584 		} else {
2585 			if (yych <= 'H') {
2586 				if (yych <= 'E') goto yy160;
2587 				goto yy116;
2588 			} else {
2589 				if (yych <= 'I') goto yy161;
2590 				if (yych <= 'N') goto yy116;
2591 				goto yy162;
2592 			}
2593 		}
2594 	} else {
2595 		if (yych <= 'h') {
2596 			if (yych <= '`') {
2597 				if (yych <= 'Z') goto yy116;
2598 				goto yy20;
2599 			} else {
2600 				if (yych == 'e') goto yy160;
2601 				goto yy116;
2602 			}
2603 		} else {
2604 			if (yych <= 'n') {
2605 				if (yych <= 'i') goto yy161;
2606 				goto yy116;
2607 			} else {
2608 				if (yych <= 'o') goto yy162;
2609 				if (yych <= 'z') goto yy116;
2610 				goto yy20;
2611 			}
2612 		}
2613 	}
2614 yy50:
2615 	YYDEBUG(50, *YYCURSOR);
2616 	yych = *++YYCURSOR;
2617 	if (yych <= 'C') {
2618 		if (yych <= ')') {
2619 			if (yych <= '(') goto yy20;
2620 			goto yy115;
2621 		} else {
2622 			if (yych <= '@') goto yy20;
2623 			if (yych <= 'B') goto yy116;
2624 			goto yy166;
2625 		}
2626 	} else {
2627 		if (yych <= 'b') {
2628 			if (yych <= 'Z') goto yy116;
2629 			if (yych <= '`') goto yy20;
2630 			goto yy116;
2631 		} else {
2632 			if (yych <= 'c') goto yy166;
2633 			if (yych <= 'z') goto yy116;
2634 			goto yy20;
2635 		}
2636 	}
2637 yy51:
2638 	YYDEBUG(51, *YYCURSOR);
2639 	yych = *++YYCURSOR;
2640 	if (yych <= 'R') {
2641 		if (yych <= ')') {
2642 			if (yych <= '(') goto yy20;
2643 			goto yy115;
2644 		} else {
2645 			if (yych <= '@') goto yy20;
2646 			if (yych <= 'Q') goto yy116;
2647 			goto yy168;
2648 		}
2649 	} else {
2650 		if (yych <= 'q') {
2651 			if (yych <= 'Z') goto yy116;
2652 			if (yych <= '`') goto yy20;
2653 			goto yy116;
2654 		} else {
2655 			if (yych <= 'r') goto yy168;
2656 			if (yych <= 'z') goto yy116;
2657 			goto yy20;
2658 		}
2659 	}
2660 yy52:
2661 	YYDEBUG(52, *YYCURSOR);
2662 	yych = *++YYCURSOR;
2663 	if (yych <= 'U') {
2664 		if (yych <= 'D') {
2665 			if (yych <= ')') {
2666 				if (yych <= '(') goto yy20;
2667 				goto yy115;
2668 			} else {
2669 				if (yych <= '@') goto yy20;
2670 				if (yych <= 'A') goto yy170;
2671 				goto yy116;
2672 			}
2673 		} else {
2674 			if (yych <= 'H') {
2675 				if (yych <= 'E') goto yy171;
2676 				goto yy116;
2677 			} else {
2678 				if (yych <= 'I') goto yy172;
2679 				if (yych <= 'T') goto yy116;
2680 				goto yy156;
2681 			}
2682 		}
2683 	} else {
2684 		if (yych <= 'e') {
2685 			if (yych <= '`') {
2686 				if (yych <= 'Z') goto yy116;
2687 				goto yy20;
2688 			} else {
2689 				if (yych <= 'a') goto yy170;
2690 				if (yych <= 'd') goto yy116;
2691 				goto yy171;
2692 			}
2693 		} else {
2694 			if (yych <= 't') {
2695 				if (yych == 'i') goto yy172;
2696 				goto yy116;
2697 			} else {
2698 				if (yych <= 'u') goto yy156;
2699 				if (yych <= 'z') goto yy116;
2700 				goto yy20;
2701 			}
2702 		}
2703 	}
2704 yy53:
2705 	YYDEBUG(53, *YYCURSOR);
2706 	yych = *++YYCURSOR;
2707 	switch (yych) {
2708 	case ')':	goto yy115;
2709 	case '0':
2710 	case '1':	goto yy176;
2711 	case '2':	goto yy178;
2712 	case '3':
2713 	case '4':
2714 	case '5':
2715 	case '6':
2716 	case '7':
2717 	case '8':
2718 	case '9':	goto yy179;
2719 	case 'A':
2720 	case 'B':
2721 	case 'C':
2722 	case 'D':
2723 	case 'F':
2724 	case 'G':
2725 	case 'I':
2726 	case 'J':
2727 	case 'K':
2728 	case 'L':
2729 	case 'M':
2730 	case 'N':
2731 	case 'P':
2732 	case 'Q':
2733 	case 'R':
2734 	case 'S':
2735 	case 'T':
2736 	case 'V':
2737 	case 'X':
2738 	case 'Y':
2739 	case 'Z':
2740 	case 'a':
2741 	case 'b':
2742 	case 'c':
2743 	case 'd':
2744 	case 'f':
2745 	case 'g':
2746 	case 'i':
2747 	case 'j':
2748 	case 'k':
2749 	case 'l':
2750 	case 'm':
2751 	case 'n':
2752 	case 'p':
2753 	case 'q':
2754 	case 'r':
2755 	case 's':
2756 	case 't':
2757 	case 'v':
2758 	case 'x':
2759 	case 'y':
2760 	case 'z':	goto yy116;
2761 	case 'E':
2762 	case 'e':	goto yy161;
2763 	case 'H':
2764 	case 'h':	goto yy180;
2765 	case 'O':
2766 	case 'o':	goto yy181;
2767 	case 'U':
2768 	case 'u':	goto yy182;
2769 	case 'W':
2770 	case 'w':	goto yy183;
2771 	default:	goto yy20;
2772 	}
2773 yy54:
2774 	YYDEBUG(54, *YYCURSOR);
2775 	yych = *++YYCURSOR;
2776 	if (yych <= 'E') {
2777 		if (yych <= ')') {
2778 			if (yych <= '(') goto yy20;
2779 			goto yy115;
2780 		} else {
2781 			if (yych <= '@') goto yy20;
2782 			if (yych <= 'D') goto yy116;
2783 			goto yy189;
2784 		}
2785 	} else {
2786 		if (yych <= 'd') {
2787 			if (yych <= 'Z') goto yy116;
2788 			if (yych <= '`') goto yy20;
2789 			goto yy116;
2790 		} else {
2791 			if (yych <= 'e') goto yy189;
2792 			if (yych <= 'z') goto yy116;
2793 			goto yy20;
2794 		}
2795 	}
2796 yy55:
2797 	YYDEBUG(55, *YYCURSOR);
2798 	yych = *++YYCURSOR;
2799 	if (yych <= 'E') {
2800 		if (yych <= ')') {
2801 			if (yych <= '(') goto yy20;
2802 			goto yy115;
2803 		} else {
2804 			if (yych <= '@') goto yy20;
2805 			if (yych <= 'D') goto yy116;
2806 			goto yy191;
2807 		}
2808 	} else {
2809 		if (yych <= 'd') {
2810 			if (yych <= 'Z') goto yy116;
2811 			if (yych <= '`') goto yy20;
2812 			goto yy116;
2813 		} else {
2814 			if (yych <= 'e') goto yy191;
2815 			if (yych <= 'z') goto yy116;
2816 			goto yy20;
2817 		}
2818 	}
2819 yy56:
2820 	YYDEBUG(56, *YYCURSOR);
2821 	yych = *++YYCURSOR;
2822 	if (yych == 0xA0) goto yy193;
2823 	goto yy5;
2824 yy57:
2825 	YYDEBUG(57, *YYCURSOR);
2826 	yyaccept = 1;
2827 	yych = *(YYMARKER = ++YYCURSOR);
2828 	if (yych == 0x80) goto yy194;
2829 	goto yy5;
2830 yy58:
2831 	YYDEBUG(58, *YYCURSOR);
2832 	yych = *++YYCURSOR;
2833 	if (yych <= 0xC1) {
2834 		if (yych <= '/') goto yy196;
2835 		if (yych <= '9') goto yy197;
2836 		goto yy196;
2837 	} else {
2838 		if (yych <= 0xC2) goto yy97;
2839 		if (yych == 0xE2) goto yy98;
2840 		goto yy196;
2841 	}
2842 yy59:
2843 	YYDEBUG(59, *YYCURSOR);
2844 	YYCURSOR = YYMARKER;
2845 	if (yyaccept <= 16) {
2846 		if (yyaccept <= 8) {
2847 			if (yyaccept <= 4) {
2848 				if (yyaccept <= 2) {
2849 					if (yyaccept <= 1) {
2850 						if (yyaccept == 0) {
2851 							goto yy8;
2852 						} else {
2853 							goto yy5;
2854 						}
2855 					} else {
2856 						goto yy20;
2857 					}
2858 				} else {
2859 					if (yyaccept == 3) {
2860 						goto yy81;
2861 					} else {
2862 						goto yy177;
2863 					}
2864 				}
2865 			} else {
2866 				if (yyaccept <= 6) {
2867 					if (yyaccept == 5) {
2868 						goto yy224;
2869 					} else {
2870 						goto yy260;
2871 					}
2872 				} else {
2873 					if (yyaccept == 7) {
2874 						goto yy295;
2875 					} else {
2876 						goto yy293;
2877 					}
2878 				}
2879 			}
2880 		} else {
2881 			if (yyaccept <= 12) {
2882 				if (yyaccept <= 10) {
2883 					if (yyaccept == 9) {
2884 						goto yy315;
2885 					} else {
2886 						goto yy325;
2887 					}
2888 				} else {
2889 					if (yyaccept == 11) {
2890 						goto yy351;
2891 					} else {
2892 						goto yy420;
2893 					}
2894 				}
2895 			} else {
2896 				if (yyaccept <= 14) {
2897 					if (yyaccept == 13) {
2898 						goto yy422;
2899 					} else {
2900 						goto yy526;
2901 					}
2902 				} else {
2903 					if (yyaccept == 15) {
2904 						goto yy567;
2905 					} else {
2906 						goto yy722;
2907 					}
2908 				}
2909 			}
2910 		}
2911 	} else {
2912 		if (yyaccept <= 25) {
2913 			if (yyaccept <= 21) {
2914 				if (yyaccept <= 19) {
2915 					if (yyaccept <= 18) {
2916 						if (yyaccept == 17) {
2917 							goto yy739;
2918 						} else {
2919 							goto yy752;
2920 						}
2921 					} else {
2922 						goto yy777;
2923 					}
2924 				} else {
2925 					if (yyaccept == 20) {
2926 						goto yy849;
2927 					} else {
2928 						goto yy926;
2929 					}
2930 				}
2931 			} else {
2932 				if (yyaccept <= 23) {
2933 					if (yyaccept == 22) {
2934 						goto yy600;
2935 					} else {
2936 						goto yy942;
2937 					}
2938 				} else {
2939 					if (yyaccept == 24) {
2940 						goto yy982;
2941 					} else {
2942 						goto yy1025;
2943 					}
2944 				}
2945 			}
2946 		} else {
2947 			if (yyaccept <= 29) {
2948 				if (yyaccept <= 27) {
2949 					if (yyaccept == 26) {
2950 						goto yy1043;
2951 					} else {
2952 						goto yy1048;
2953 					}
2954 				} else {
2955 					if (yyaccept == 28) {
2956 						goto yy1107;
2957 					} else {
2958 						goto yy1145;
2959 					}
2960 				}
2961 			} else {
2962 				if (yyaccept <= 31) {
2963 					if (yyaccept == 30) {
2964 						goto yy1172;
2965 					} else {
2966 						goto yy1175;
2967 					}
2968 				} else {
2969 					if (yyaccept == 32) {
2970 						goto yy1329;
2971 					} else {
2972 						goto yy1375;
2973 					}
2974 				}
2975 			}
2976 		}
2977 	}
2978 yy60:
2979 	YYDEBUG(60, *YYCURSOR);
2980 	++YYCURSOR;
2981 	if ((YYLIMIT - YYCURSOR) < 25) YYFILL(25);
2982 	yych = *YYCURSOR;
2983 	YYDEBUG(61, *YYCURSOR);
2984 	if (yych <= 0x1F) {
2985 		if (yych == '\t') goto yy60;
2986 		goto yy59;
2987 	} else {
2988 		if (yych <= ' ') goto yy60;
2989 		if (yych <= '/') goto yy59;
2990 		if (yych <= '9') goto yy58;
2991 		goto yy59;
2992 	}
2993 yy62:
2994 	YYDEBUG(62, *YYCURSOR);
2995 	++YYCURSOR;
2996 	if ((YYLIMIT - YYCURSOR) < 25) YYFILL(25);
2997 	yych = *YYCURSOR;
2998 	YYDEBUG(63, *YYCURSOR);
2999 	if (yybm[0+yych] & 4) {
3000 		goto yy62;
3001 	}
3002 	if (yych <= 0x1F) {
3003 		if (yych == '\t') goto yy60;
3004 		goto yy59;
3005 	} else {
3006 		if (yych <= ' ') goto yy60;
3007 		if (yych <= '/') goto yy59;
3008 		if (yych <= '9') goto yy58;
3009 		goto yy59;
3010 	}
3011 yy64:
3012 	YYDEBUG(64, *YYCURSOR);
3013 	yyaccept = 2;
3014 	yych = *(YYMARKER = ++YYCURSOR);
3015 	if (yych <= 'X') {
3016 		if (yych <= 'E') {
3017 			if (yych <= '/') {
3018 				if (yych <= '\t') {
3019 					if (yych <= 0x08) goto yy20;
3020 					goto yy196;
3021 				} else {
3022 					if (yych == ' ') goto yy196;
3023 					goto yy20;
3024 				}
3025 			} else {
3026 				if (yych <= ':') {
3027 					if (yych <= '9') goto yy202;
3028 					goto yy203;
3029 				} else {
3030 					if (yych == 'D') goto yy196;
3031 					goto yy20;
3032 				}
3033 			}
3034 		} else {
3035 			if (yych <= 'M') {
3036 				if (yych <= 'G') {
3037 					if (yych <= 'F') goto yy196;
3038 					goto yy20;
3039 				} else {
3040 					if (yych <= 'H') goto yy196;
3041 					if (yych <= 'L') goto yy20;
3042 					goto yy196;
3043 				}
3044 			} else {
3045 				if (yych <= 'U') {
3046 					if (yych <= 'R') goto yy20;
3047 					goto yy196;
3048 				} else {
3049 					if (yych == 'W') goto yy196;
3050 					goto yy20;
3051 				}
3052 			}
3053 		}
3054 	} else {
3055 		if (yych <= 'r') {
3056 			if (yych <= 'f') {
3057 				if (yych <= 'c') {
3058 					if (yych <= 'Y') goto yy196;
3059 					goto yy20;
3060 				} else {
3061 					if (yych == 'e') goto yy20;
3062 					goto yy196;
3063 				}
3064 			} else {
3065 				if (yych <= 'h') {
3066 					if (yych <= 'g') goto yy20;
3067 					goto yy196;
3068 				} else {
3069 					if (yych == 'm') goto yy196;
3070 					goto yy20;
3071 				}
3072 			}
3073 		} else {
3074 			if (yych <= 'y') {
3075 				if (yych <= 'v') {
3076 					if (yych <= 'u') goto yy196;
3077 					goto yy20;
3078 				} else {
3079 					if (yych == 'x') goto yy20;
3080 					goto yy196;
3081 				}
3082 			} else {
3083 				if (yych <= 0xC2) {
3084 					if (yych <= 0xC1) goto yy20;
3085 					goto yy97;
3086 				} else {
3087 					if (yych == 0xE2) goto yy98;
3088 					goto yy20;
3089 				}
3090 			}
3091 		}
3092 	}
3093 yy65:
3094 	YYDEBUG(65, *YYCURSOR);
3095 	yyaccept = 2;
3096 	yych = *(YYMARKER = ++YYCURSOR);
3097 	if (yych <= 'W') {
3098 		if (yych <= 'C') {
3099 			if (yych <= '/') {
3100 				if (yych <= '\t') {
3101 					if (yych <= 0x08) goto yy20;
3102 					goto yy196;
3103 				} else {
3104 					if (yych == ' ') goto yy196;
3105 					goto yy20;
3106 				}
3107 			} else {
3108 				if (yych <= '5') {
3109 					if (yych <= '4') goto yy202;
3110 					goto yy204;
3111 				} else {
3112 					if (yych <= '9') goto yy205;
3113 					if (yych <= ':') goto yy203;
3114 					goto yy20;
3115 				}
3116 			}
3117 		} else {
3118 			if (yych <= 'H') {
3119 				if (yych <= 'E') {
3120 					if (yych <= 'D') goto yy196;
3121 					goto yy20;
3122 				} else {
3123 					if (yych == 'G') goto yy20;
3124 					goto yy196;
3125 				}
3126 			} else {
3127 				if (yych <= 'R') {
3128 					if (yych == 'M') goto yy196;
3129 					goto yy20;
3130 				} else {
3131 					if (yych == 'V') goto yy20;
3132 					goto yy196;
3133 				}
3134 			}
3135 		}
3136 	} else {
3137 		if (yych <= 'm') {
3138 			if (yych <= 'e') {
3139 				if (yych <= 'Y') {
3140 					if (yych <= 'X') goto yy20;
3141 					goto yy196;
3142 				} else {
3143 					if (yych == 'd') goto yy196;
3144 					goto yy20;
3145 				}
3146 			} else {
3147 				if (yych <= 'g') {
3148 					if (yych <= 'f') goto yy196;
3149 					goto yy20;
3150 				} else {
3151 					if (yych <= 'h') goto yy196;
3152 					if (yych <= 'l') goto yy20;
3153 					goto yy196;
3154 				}
3155 			}
3156 		} else {
3157 			if (yych <= 'x') {
3158 				if (yych <= 'u') {
3159 					if (yych <= 'r') goto yy20;
3160 					goto yy196;
3161 				} else {
3162 					if (yych == 'w') goto yy196;
3163 					goto yy20;
3164 				}
3165 			} else {
3166 				if (yych <= 0xC2) {
3167 					if (yych <= 'y') goto yy196;
3168 					if (yych <= 0xC1) goto yy20;
3169 					goto yy97;
3170 				} else {
3171 					if (yych == 0xE2) goto yy98;
3172 					goto yy20;
3173 				}
3174 			}
3175 		}
3176 	}
3177 yy66:
3178 	YYDEBUG(66, *YYCURSOR);
3179 	yyaccept = 2;
3180 	yych = *(YYMARKER = ++YYCURSOR);
3181 	if (yych <= 'W') {
3182 		if (yych <= 'D') {
3183 			if (yych <= '/') {
3184 				if (yych <= '\t') {
3185 					if (yych <= 0x08) goto yy20;
3186 					goto yy196;
3187 				} else {
3188 					if (yych == ' ') goto yy196;
3189 					goto yy20;
3190 				}
3191 			} else {
3192 				if (yych <= '9') {
3193 					if (yych <= '5') goto yy204;
3194 					goto yy205;
3195 				} else {
3196 					if (yych <= ':') goto yy203;
3197 					if (yych <= 'C') goto yy20;
3198 					goto yy196;
3199 				}
3200 			}
3201 		} else {
3202 			if (yych <= 'L') {
3203 				if (yych <= 'F') {
3204 					if (yych <= 'E') goto yy20;
3205 					goto yy196;
3206 				} else {
3207 					if (yych == 'H') goto yy196;
3208 					goto yy20;
3209 				}
3210 			} else {
3211 				if (yych <= 'R') {
3212 					if (yych <= 'M') goto yy196;
3213 					goto yy20;
3214 				} else {
3215 					if (yych == 'V') goto yy20;
3216 					goto yy196;
3217 				}
3218 			}
3219 		}
3220 	} else {
3221 		if (yych <= 'm') {
3222 			if (yych <= 'e') {
3223 				if (yych <= 'Y') {
3224 					if (yych <= 'X') goto yy20;
3225 					goto yy196;
3226 				} else {
3227 					if (yych == 'd') goto yy196;
3228 					goto yy20;
3229 				}
3230 			} else {
3231 				if (yych <= 'g') {
3232 					if (yych <= 'f') goto yy196;
3233 					goto yy20;
3234 				} else {
3235 					if (yych <= 'h') goto yy196;
3236 					if (yych <= 'l') goto yy20;
3237 					goto yy196;
3238 				}
3239 			}
3240 		} else {
3241 			if (yych <= 'x') {
3242 				if (yych <= 'u') {
3243 					if (yych <= 'r') goto yy20;
3244 					goto yy196;
3245 				} else {
3246 					if (yych == 'w') goto yy196;
3247 					goto yy20;
3248 				}
3249 			} else {
3250 				if (yych <= 0xC2) {
3251 					if (yych <= 'y') goto yy196;
3252 					if (yych <= 0xC1) goto yy20;
3253 					goto yy97;
3254 				} else {
3255 					if (yych == 0xE2) goto yy98;
3256 					goto yy20;
3257 				}
3258 			}
3259 		}
3260 	}
3261 yy67:
3262 	YYDEBUG(67, *YYCURSOR);
3263 	yych = *++YYCURSOR;
3264 	if (yych <= '/') goto yy69;
3265 	if (yych <= '0') goto yy208;
3266 	if (yych <= '1') goto yy209;
3267 	if (yych <= '9') goto yy210;
3268 	goto yy69;
3269 yy68:
3270 	YYDEBUG(68, *YYCURSOR);
3271 	++YYCURSOR;
3272 	if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13);
3273 	yych = *YYCURSOR;
3274 yy69:
3275 	YYDEBUG(69, *YYCURSOR);
3276 	if (yych <= 'W') {
3277 		if (yych <= 'G') {
3278 			if (yych <= '.') {
3279 				if (yych <= 0x1F) {
3280 					if (yych == '\t') goto yy68;
3281 					goto yy59;
3282 				} else {
3283 					if (yych <= ' ') goto yy68;
3284 					if (yych <= ',') goto yy59;
3285 					goto yy206;
3286 				}
3287 			} else {
3288 				if (yych <= 'C') {
3289 					if (yych == 'A') goto yy76;
3290 					goto yy59;
3291 				} else {
3292 					if (yych <= 'D') goto yy77;
3293 					if (yych == 'F') goto yy78;
3294 					goto yy59;
3295 				}
3296 			}
3297 		} else {
3298 			if (yych <= 'N') {
3299 				if (yych <= 'J') {
3300 					if (yych <= 'H') goto yy79;
3301 					if (yych <= 'I') goto yy80;
3302 					goto yy82;
3303 				} else {
3304 					if (yych <= 'L') goto yy59;
3305 					if (yych <= 'M') goto yy83;
3306 					goto yy84;
3307 				}
3308 			} else {
3309 				if (yych <= 'S') {
3310 					if (yych <= 'O') goto yy85;
3311 					if (yych <= 'R') goto yy59;
3312 					goto yy86;
3313 				} else {
3314 					if (yych <= 'T') goto yy87;
3315 					if (yych <= 'U') goto yy88;
3316 					if (yych <= 'V') goto yy89;
3317 					goto yy90;
3318 				}
3319 			}
3320 		}
3321 	} else {
3322 		if (yych <= 'l') {
3323 			if (yych <= 'd') {
3324 				if (yych <= '`') {
3325 					if (yych <= 'X') goto yy91;
3326 					if (yych <= 'Y') goto yy92;
3327 					goto yy59;
3328 				} else {
3329 					if (yych <= 'a') goto yy76;
3330 					if (yych <= 'c') goto yy59;
3331 					goto yy77;
3332 				}
3333 			} else {
3334 				if (yych <= 'g') {
3335 					if (yych == 'f') goto yy78;
3336 					goto yy59;
3337 				} else {
3338 					if (yych <= 'h') goto yy79;
3339 					if (yych == 'j') goto yy82;
3340 					goto yy59;
3341 				}
3342 			}
3343 		} else {
3344 			if (yych <= 'u') {
3345 				if (yych <= 'o') {
3346 					if (yych <= 'm') goto yy83;
3347 					if (yych <= 'n') goto yy84;
3348 					goto yy85;
3349 				} else {
3350 					if (yych <= 'r') goto yy59;
3351 					if (yych <= 's') goto yy86;
3352 					if (yych <= 't') goto yy87;
3353 					goto yy88;
3354 				}
3355 			} else {
3356 				if (yych <= 'x') {
3357 					if (yych == 'w') goto yy90;
3358 					goto yy59;
3359 				} else {
3360 					if (yych <= 'y') goto yy92;
3361 					if (yych == 0xC2) goto yy211;
3362 					goto yy59;
3363 				}
3364 			}
3365 		}
3366 	}
3367 yy70:
3368 	YYDEBUG(70, *YYCURSOR);
3369 	yych = *++YYCURSOR;
3370 	if (yych <= '/') goto yy207;
3371 	if (yych <= '0') goto yy212;
3372 	if (yych <= '1') goto yy213;
3373 	if (yych <= '9') goto yy214;
3374 	goto yy207;
3375 yy71:
3376 	YYDEBUG(71, *YYCURSOR);
3377 	yych = *++YYCURSOR;
3378 	if (yych <= '1') {
3379 		if (yych <= '/') goto yy207;
3380 		if (yych <= '0') goto yy219;
3381 		goto yy220;
3382 	} else {
3383 		if (yych <= '5') goto yy221;
3384 		if (yych <= '9') goto yy222;
3385 		goto yy207;
3386 	}
3387 yy72:
3388 	YYDEBUG(72, *YYCURSOR);
3389 	yych = *++YYCURSOR;
3390 	switch (yych) {
3391 	case '0':
3392 	case '1':
3393 	case '2':	goto yy223;
3394 	case '3':	goto yy225;
3395 	case '4':
3396 	case '5':
3397 	case '6':
3398 	case '7':
3399 	case '8':
3400 	case '9':	goto yy226;
3401 	case 'A':
3402 	case 'a':	goto yy227;
3403 	case 'D':
3404 	case 'd':	goto yy228;
3405 	case 'F':
3406 	case 'f':	goto yy229;
3407 	case 'J':
3408 	case 'j':	goto yy230;
3409 	case 'M':
3410 	case 'm':	goto yy231;
3411 	case 'N':
3412 	case 'n':	goto yy232;
3413 	case 'O':
3414 	case 'o':	goto yy233;
3415 	case 'S':
3416 	case 's':	goto yy234;
3417 	default:	goto yy59;
3418 	}
3419 yy73:
3420 	YYDEBUG(73, *YYCURSOR);
3421 	yych = *++YYCURSOR;
3422 	if (yych <= 'm') {
3423 		if (yych <= '.') {
3424 			if (yych <= '\t') {
3425 				if (yych <= 0x08) goto yy69;
3426 				goto yy67;
3427 			} else {
3428 				if (yych <= ',') goto yy69;
3429 				if (yych <= '-') goto yy235;
3430 				goto yy71;
3431 			}
3432 		} else {
3433 			if (yych <= '5') {
3434 				if (yych <= '/') goto yy72;
3435 				goto yy236;
3436 			} else {
3437 				if (yych <= '9') goto yy237;
3438 				if (yych <= ':') goto yy75;
3439 				goto yy69;
3440 			}
3441 		}
3442 	} else {
3443 		if (yych <= 't') {
3444 			if (yych <= 'q') {
3445 				if (yych <= 'n') goto yy93;
3446 				goto yy69;
3447 			} else {
3448 				if (yych <= 'r') goto yy94;
3449 				if (yych <= 's') goto yy95;
3450 				goto yy96;
3451 			}
3452 		} else {
3453 			if (yych <= 0xC2) {
3454 				if (yych <= 0xC1) goto yy69;
3455 				goto yy97;
3456 			} else {
3457 				if (yych == 0xE2) goto yy98;
3458 				goto yy69;
3459 			}
3460 		}
3461 	}
3462 yy74:
3463 	YYDEBUG(74, *YYCURSOR);
3464 	yych = *++YYCURSOR;
3465 	if (yych <= 'm') {
3466 		if (yych <= '.') {
3467 			if (yych <= '\t') {
3468 				if (yych <= 0x08) goto yy101;
3469 				goto yy99;
3470 			} else {
3471 				if (yych <= ',') goto yy101;
3472 				if (yych <= '-') goto yy235;
3473 				goto yy102;
3474 			}
3475 		} else {
3476 			if (yych <= '5') {
3477 				if (yych <= '/') goto yy72;
3478 				goto yy236;
3479 			} else {
3480 				if (yych <= '9') goto yy237;
3481 				if (yych <= ':') goto yy104;
3482 				goto yy101;
3483 			}
3484 		}
3485 	} else {
3486 		if (yych <= 't') {
3487 			if (yych <= 'q') {
3488 				if (yych <= 'n') goto yy93;
3489 				goto yy101;
3490 			} else {
3491 				if (yych <= 'r') goto yy94;
3492 				if (yych <= 's') goto yy95;
3493 				goto yy96;
3494 			}
3495 		} else {
3496 			if (yych <= 0xC2) {
3497 				if (yych <= 0xC1) goto yy101;
3498 				goto yy107;
3499 			} else {
3500 				if (yych == 0xE2) goto yy108;
3501 				goto yy101;
3502 			}
3503 		}
3504 	}
3505 yy75:
3506 	YYDEBUG(75, *YYCURSOR);
3507 	yych = *++YYCURSOR;
3508 	if (yych <= '/') goto yy59;
3509 	if (yych <= '5') goto yy238;
3510 	if (yych <= '9') goto yy239;
3511 	goto yy59;
3512 yy76:
3513 	YYDEBUG(76, *YYCURSOR);
3514 	yych = *++YYCURSOR;
3515 	if (yych <= 'U') {
3516 		if (yych == 'P') goto yy240;
3517 		if (yych <= 'T') goto yy59;
3518 		goto yy241;
3519 	} else {
3520 		if (yych <= 'p') {
3521 			if (yych <= 'o') goto yy59;
3522 			goto yy240;
3523 		} else {
3524 			if (yych == 'u') goto yy241;
3525 			goto yy59;
3526 		}
3527 	}
3528 yy77:
3529 	YYDEBUG(77, *YYCURSOR);
3530 	yych = *++YYCURSOR;
3531 	if (yych <= 'E') {
3532 		if (yych == 'A') goto yy242;
3533 		if (yych <= 'D') goto yy59;
3534 		goto yy243;
3535 	} else {
3536 		if (yych <= 'a') {
3537 			if (yych <= '`') goto yy59;
3538 			goto yy242;
3539 		} else {
3540 			if (yych == 'e') goto yy243;
3541 			goto yy59;
3542 		}
3543 	}
3544 yy78:
3545 	YYDEBUG(78, *YYCURSOR);
3546 	yych = *++YYCURSOR;
3547 	if (yych <= 'R') {
3548 		if (yych <= 'N') {
3549 			if (yych == 'E') goto yy244;
3550 			goto yy59;
3551 		} else {
3552 			if (yych <= 'O') goto yy245;
3553 			if (yych <= 'Q') goto yy59;
3554 			goto yy246;
3555 		}
3556 	} else {
3557 		if (yych <= 'n') {
3558 			if (yych == 'e') goto yy244;
3559 			goto yy59;
3560 		} else {
3561 			if (yych <= 'o') goto yy245;
3562 			if (yych == 'r') goto yy246;
3563 			goto yy59;
3564 		}
3565 	}
3566 yy79:
3567 	YYDEBUG(79, *YYCURSOR);
3568 	yych = *++YYCURSOR;
3569 	if (yych == 'O') goto yy247;
3570 	if (yych == 'o') goto yy247;
3571 	goto yy59;
3572 yy80:
3573 	YYDEBUG(80, *YYCURSOR);
3574 	yyaccept = 3;
3575 	yych = *(YYMARKER = ++YYCURSOR);
3576 	if (yych <= '/') {
3577 		if (yych <= 0x1F) {
3578 			if (yych == '\t') goto yy248;
3579 		} else {
3580 			if (yych <= ' ') goto yy248;
3581 			if (yych <= ',') goto yy81;
3582 			if (yych <= '.') goto yy248;
3583 		}
3584 	} else {
3585 		if (yych <= 'U') {
3586 			if (yych <= '9') goto yy250;
3587 			if (yych == 'I') goto yy252;
3588 		} else {
3589 			if (yych == 'W') goto yy81;
3590 			if (yych <= 'X') goto yy253;
3591 		}
3592 	}
3593 yy81:
3594 	YYDEBUG(81, *YYCURSOR);
3595 #line 1632 "ext/date/lib/parse_date.re"
3596 	{
3597 		DEBUG_OUTPUT("datenoyearrev");
3598 		TIMELIB_INIT;
3599 		TIMELIB_HAVE_DATE();
3600 		s->time->d = timelib_get_nr(&ptr, 2);
3601 		timelib_skip_day_suffix(&ptr);
3602 		s->time->m = timelib_get_month(&ptr);
3603 		TIMELIB_DEINIT;
3604 		return TIMELIB_DATE_TEXT;
3605 	}
3606 #line 3607 "<stdout>"
3607 yy82:
3608 	YYDEBUG(82, *YYCURSOR);
3609 	yych = *++YYCURSOR;
3610 	if (yych <= 'U') {
3611 		if (yych == 'A') goto yy254;
3612 		if (yych <= 'T') goto yy59;
3613 		goto yy255;
3614 	} else {
3615 		if (yych <= 'a') {
3616 			if (yych <= '`') goto yy59;
3617 			goto yy254;
3618 		} else {
3619 			if (yych == 'u') goto yy255;
3620 			goto yy59;
3621 		}
3622 	}
3623 yy83:
3624 	YYDEBUG(83, *YYCURSOR);
3625 	yych = *++YYCURSOR;
3626 	if (yych <= 'S') {
3627 		if (yych <= 'I') {
3628 			if (yych == 'A') goto yy256;
3629 			if (yych <= 'H') goto yy59;
3630 			goto yy257;
3631 		} else {
3632 			if (yych == 'O') goto yy258;
3633 			if (yych <= 'R') goto yy59;
3634 			goto yy259;
3635 		}
3636 	} else {
3637 		if (yych <= 'i') {
3638 			if (yych == 'a') goto yy256;
3639 			if (yych <= 'h') goto yy59;
3640 			goto yy257;
3641 		} else {
3642 			if (yych <= 'o') {
3643 				if (yych <= 'n') goto yy59;
3644 				goto yy258;
3645 			} else {
3646 				if (yych == 's') goto yy259;
3647 				goto yy59;
3648 			}
3649 		}
3650 	}
3651 yy84:
3652 	YYDEBUG(84, *YYCURSOR);
3653 	yych = *++YYCURSOR;
3654 	if (yych == 'O') goto yy261;
3655 	if (yych == 'o') goto yy261;
3656 	goto yy59;
3657 yy85:
3658 	YYDEBUG(85, *YYCURSOR);
3659 	yych = *++YYCURSOR;
3660 	if (yych == 'C') goto yy262;
3661 	if (yych == 'c') goto yy262;
3662 	goto yy59;
3663 yy86:
3664 	YYDEBUG(86, *YYCURSOR);
3665 	yych = *++YYCURSOR;
3666 	if (yych <= 'U') {
3667 		if (yych <= 'D') {
3668 			if (yych == 'A') goto yy263;
3669 			goto yy59;
3670 		} else {
3671 			if (yych <= 'E') goto yy264;
3672 			if (yych <= 'T') goto yy59;
3673 			goto yy265;
3674 		}
3675 	} else {
3676 		if (yych <= 'd') {
3677 			if (yych == 'a') goto yy263;
3678 			goto yy59;
3679 		} else {
3680 			if (yych <= 'e') goto yy264;
3681 			if (yych == 'u') goto yy265;
3682 			goto yy59;
3683 		}
3684 	}
3685 yy87:
3686 	YYDEBUG(87, *YYCURSOR);
3687 	yych = *++YYCURSOR;
3688 	if (yych <= 'U') {
3689 		if (yych == 'H') goto yy266;
3690 		if (yych <= 'T') goto yy59;
3691 		goto yy267;
3692 	} else {
3693 		if (yych <= 'h') {
3694 			if (yych <= 'g') goto yy59;
3695 			goto yy266;
3696 		} else {
3697 			if (yych == 'u') goto yy267;
3698 			goto yy59;
3699 		}
3700 	}
3701 yy88:
3702 	YYDEBUG(88, *YYCURSOR);
3703 	yych = *++YYCURSOR;
3704 	if (yych == 'S') goto yy268;
3705 	if (yych == 's') goto yy268;
3706 	goto yy59;
3707 yy89:
3708 	YYDEBUG(89, *YYCURSOR);
3709 	yyaccept = 3;
3710 	yych = *(YYMARKER = ++YYCURSOR);
3711 	if (yych <= ',') {
3712 		if (yych <= '\t') {
3713 			if (yych <= 0x08) goto yy81;
3714 			goto yy248;
3715 		} else {
3716 			if (yych == ' ') goto yy248;
3717 			goto yy81;
3718 		}
3719 	} else {
3720 		if (yych <= '9') {
3721 			if (yych <= '.') goto yy248;
3722 			if (yych <= '/') goto yy81;
3723 			goto yy250;
3724 		} else {
3725 			if (yych == 'I') goto yy91;
3726 			goto yy81;
3727 		}
3728 	}
3729 yy90:
3730 	YYDEBUG(90, *YYCURSOR);
3731 	yych = *++YYCURSOR;
3732 	if (yych == 'E') goto yy269;
3733 	if (yych == 'e') goto yy269;
3734 	goto yy59;
3735 yy91:
3736 	YYDEBUG(91, *YYCURSOR);
3737 	yyaccept = 3;
3738 	yych = *(YYMARKER = ++YYCURSOR);
3739 	if (yych <= ',') {
3740 		if (yych <= '\t') {
3741 			if (yych <= 0x08) goto yy81;
3742 			goto yy248;
3743 		} else {
3744 			if (yych == ' ') goto yy248;
3745 			goto yy81;
3746 		}
3747 	} else {
3748 		if (yych <= '9') {
3749 			if (yych <= '.') goto yy248;
3750 			if (yych <= '/') goto yy81;
3751 			goto yy250;
3752 		} else {
3753 			if (yych == 'I') goto yy252;
3754 			goto yy81;
3755 		}
3756 	}
3757 yy92:
3758 	YYDEBUG(92, *YYCURSOR);
3759 	yych = *++YYCURSOR;
3760 	if (yych == 'E') goto yy270;
3761 	if (yych == 'e') goto yy270;
3762 	goto yy59;
3763 yy93:
3764 	YYDEBUG(93, *YYCURSOR);
3765 	yych = *++YYCURSOR;
3766 	if (yych <= 'c') {
3767 		if (yych == 'O') goto yy261;
3768 		goto yy59;
3769 	} else {
3770 		if (yych <= 'd') goto yy271;
3771 		if (yych == 'o') goto yy261;
3772 		goto yy59;
3773 	}
3774 yy94:
3775 	YYDEBUG(94, *YYCURSOR);
3776 	yych = *++YYCURSOR;
3777 	if (yych == 'd') goto yy271;
3778 	goto yy59;
3779 yy95:
3780 	YYDEBUG(95, *YYCURSOR);
3781 	yych = *++YYCURSOR;
3782 	if (yych <= '`') {
3783 		if (yych <= 'D') {
3784 			if (yych == 'A') goto yy263;
3785 			goto yy59;
3786 		} else {
3787 			if (yych <= 'E') goto yy264;
3788 			if (yych == 'U') goto yy265;
3789 			goto yy59;
3790 		}
3791 	} else {
3792 		if (yych <= 'e') {
3793 			if (yych <= 'a') goto yy263;
3794 			if (yych <= 'd') goto yy59;
3795 			goto yy264;
3796 		} else {
3797 			if (yych <= 's') goto yy59;
3798 			if (yych <= 't') goto yy271;
3799 			if (yych <= 'u') goto yy265;
3800 			goto yy59;
3801 		}
3802 	}
3803 yy96:
3804 	YYDEBUG(96, *YYCURSOR);
3805 	yych = *++YYCURSOR;
3806 	if (yych <= 'U') {
3807 		if (yych == 'H') goto yy266;
3808 		if (yych <= 'T') goto yy59;
3809 		goto yy267;
3810 	} else {
3811 		if (yych <= 'h') {
3812 			if (yych <= 'g') goto yy59;
3813 			goto yy272;
3814 		} else {
3815 			if (yych == 'u') goto yy267;
3816 			goto yy59;
3817 		}
3818 	}
3819 yy97:
3820 	YYDEBUG(97, *YYCURSOR);
3821 	++YYCURSOR;
3822 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
3823 	yych = *YYCURSOR;
3824 	if (yych == 0xA0) goto yy273;
3825 	if (yych == 0xB5) goto yy274;
3826 	goto yy59;
3827 yy98:
3828 	YYDEBUG(98, *YYCURSOR);
3829 	++YYCURSOR;
3830 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
3831 	yych = *YYCURSOR;
3832 	if (yych == 0x80) goto yy275;
3833 	goto yy59;
3834 yy99:
3835 	YYDEBUG(99, *YYCURSOR);
3836 	yych = *++YYCURSOR;
3837 	if (yych <= '/') goto yy101;
3838 	if (yych <= '0') goto yy208;
3839 	if (yych <= '1') goto yy209;
3840 	if (yych <= '9') goto yy210;
3841 	goto yy101;
3842 yy100:
3843 	YYDEBUG(100, *YYCURSOR);
3844 	++YYCURSOR;
3845 	if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13);
3846 	yych = *YYCURSOR;
3847 yy101:
3848 	YYDEBUG(101, *YYCURSOR);
3849 	if (yych <= 'W') {
3850 		if (yych <= 'G') {
3851 			if (yych <= '.') {
3852 				if (yych <= 0x1F) {
3853 					if (yych == '\t') goto yy100;
3854 					goto yy59;
3855 				} else {
3856 					if (yych <= ' ') goto yy100;
3857 					if (yych <= ',') goto yy59;
3858 					goto yy206;
3859 				}
3860 			} else {
3861 				if (yych <= 'C') {
3862 					if (yych == 'A') goto yy105;
3863 					goto yy59;
3864 				} else {
3865 					if (yych <= 'D') goto yy77;
3866 					if (yych == 'F') goto yy78;
3867 					goto yy59;
3868 				}
3869 			}
3870 		} else {
3871 			if (yych <= 'O') {
3872 				if (yych <= 'J') {
3873 					if (yych <= 'H') goto yy79;
3874 					if (yych <= 'I') goto yy80;
3875 					goto yy82;
3876 				} else {
3877 					if (yych <= 'L') goto yy59;
3878 					if (yych <= 'M') goto yy83;
3879 					if (yych <= 'N') goto yy84;
3880 					goto yy85;
3881 				}
3882 			} else {
3883 				if (yych <= 'S') {
3884 					if (yych <= 'P') goto yy106;
3885 					if (yych <= 'R') goto yy59;
3886 					goto yy86;
3887 				} else {
3888 					if (yych <= 'T') goto yy87;
3889 					if (yych <= 'U') goto yy88;
3890 					if (yych <= 'V') goto yy89;
3891 					goto yy90;
3892 				}
3893 			}
3894 		}
3895 	} else {
3896 		if (yych <= 'm') {
3897 			if (yych <= 'e') {
3898 				if (yych <= '`') {
3899 					if (yych <= 'X') goto yy91;
3900 					if (yych <= 'Y') goto yy92;
3901 					goto yy59;
3902 				} else {
3903 					if (yych <= 'a') goto yy105;
3904 					if (yych == 'd') goto yy77;
3905 					goto yy59;
3906 				}
3907 			} else {
3908 				if (yych <= 'h') {
3909 					if (yych <= 'f') goto yy78;
3910 					if (yych <= 'g') goto yy59;
3911 					goto yy79;
3912 				} else {
3913 					if (yych == 'j') goto yy82;
3914 					if (yych <= 'l') goto yy59;
3915 					goto yy83;
3916 				}
3917 			}
3918 		} else {
3919 			if (yych <= 'u') {
3920 				if (yych <= 'p') {
3921 					if (yych <= 'n') goto yy84;
3922 					if (yych <= 'o') goto yy85;
3923 					goto yy106;
3924 				} else {
3925 					if (yych <= 'r') goto yy59;
3926 					if (yych <= 's') goto yy86;
3927 					if (yych <= 't') goto yy87;
3928 					goto yy88;
3929 				}
3930 			} else {
3931 				if (yych <= 'x') {
3932 					if (yych == 'w') goto yy90;
3933 					goto yy59;
3934 				} else {
3935 					if (yych <= 'y') goto yy92;
3936 					if (yych == 0xC2) goto yy211;
3937 					goto yy59;
3938 				}
3939 			}
3940 		}
3941 	}
3942 yy102:
3943 	YYDEBUG(102, *YYCURSOR);
3944 	yych = *++YYCURSOR;
3945 	if (yych <= '1') {
3946 		if (yych <= '/') goto yy207;
3947 		if (yych <= '0') goto yy276;
3948 		goto yy277;
3949 	} else {
3950 		if (yych <= '5') goto yy278;
3951 		if (yych <= '9') goto yy279;
3952 		goto yy207;
3953 	}
3954 yy103:
3955 	YYDEBUG(103, *YYCURSOR);
3956 	yych = *++YYCURSOR;
3957 	if (yych <= 'm') {
3958 		if (yych <= '.') {
3959 			if (yych <= '\t') {
3960 				if (yych <= 0x08) goto yy69;
3961 				goto yy67;
3962 			} else {
3963 				if (yych <= ',') goto yy69;
3964 				if (yych <= '-') goto yy235;
3965 				goto yy71;
3966 			}
3967 		} else {
3968 			if (yych <= '5') {
3969 				if (yych <= '/') goto yy280;
3970 				goto yy236;
3971 			} else {
3972 				if (yych <= '9') goto yy237;
3973 				if (yych <= ':') goto yy75;
3974 				goto yy69;
3975 			}
3976 		}
3977 	} else {
3978 		if (yych <= 't') {
3979 			if (yych <= 'q') {
3980 				if (yych <= 'n') goto yy93;
3981 				goto yy69;
3982 			} else {
3983 				if (yych <= 'r') goto yy94;
3984 				if (yych <= 's') goto yy95;
3985 				goto yy96;
3986 			}
3987 		} else {
3988 			if (yych <= 0xC2) {
3989 				if (yych <= 0xC1) goto yy69;
3990 				goto yy97;
3991 			} else {
3992 				if (yych == 0xE2) goto yy98;
3993 				goto yy69;
3994 			}
3995 		}
3996 	}
3997 yy104:
3998 	YYDEBUG(104, *YYCURSOR);
3999 	yych = *++YYCURSOR;
4000 	if (yych <= '/') goto yy59;
4001 	if (yych <= '5') goto yy281;
4002 	if (yych <= '9') goto yy282;
4003 	goto yy59;
4004 yy105:
4005 	YYDEBUG(105, *YYCURSOR);
4006 	yych = *++YYCURSOR;
4007 	if (yych <= 'T') {
4008 		if (yych <= 'L') {
4009 			if (yych == '.') goto yy283;
4010 			goto yy59;
4011 		} else {
4012 			if (yych <= 'M') goto yy284;
4013 			if (yych == 'P') goto yy240;
4014 			goto yy59;
4015 		}
4016 	} else {
4017 		if (yych <= 'o') {
4018 			if (yych <= 'U') goto yy241;
4019 			if (yych == 'm') goto yy284;
4020 			goto yy59;
4021 		} else {
4022 			if (yych <= 'p') goto yy240;
4023 			if (yych == 'u') goto yy241;
4024 			goto yy59;
4025 		}
4026 	}
4027 yy106:
4028 	YYDEBUG(106, *YYCURSOR);
4029 	yych = *++YYCURSOR;
4030 	if (yych <= 'L') {
4031 		if (yych == '.') goto yy283;
4032 		goto yy59;
4033 	} else {
4034 		if (yych <= 'M') goto yy284;
4035 		if (yych == 'm') goto yy284;
4036 		goto yy59;
4037 	}
4038 yy107:
4039 	YYDEBUG(107, *YYCURSOR);
4040 	++YYCURSOR;
4041 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
4042 	yych = *YYCURSOR;
4043 	if (yych == 0xA0) goto yy285;
4044 	if (yych == 0xB5) goto yy274;
4045 	goto yy59;
4046 yy108:
4047 	YYDEBUG(108, *YYCURSOR);
4048 	++YYCURSOR;
4049 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
4050 	yych = *YYCURSOR;
4051 	if (yych == 0x80) goto yy286;
4052 	goto yy59;
4053 yy109:
4054 	YYDEBUG(109, *YYCURSOR);
4055 	yych = *++YYCURSOR;
4056 	if (yych <= 'n') {
4057 		if (yych <= '-') {
4058 			if (yych == '\t') goto yy67;
4059 			if (yych <= ',') goto yy69;
4060 			goto yy235;
4061 		} else {
4062 			if (yych <= '/') {
4063 				if (yych <= '.') goto yy287;
4064 				goto yy280;
4065 			} else {
4066 				if (yych <= '9') goto yy237;
4067 				if (yych <= 'm') goto yy69;
4068 				goto yy93;
4069 			}
4070 		}
4071 	} else {
4072 		if (yych <= 't') {
4073 			if (yych <= 'q') goto yy69;
4074 			if (yych <= 'r') goto yy94;
4075 			if (yych <= 's') goto yy95;
4076 			goto yy96;
4077 		} else {
4078 			if (yych <= 0xC2) {
4079 				if (yych <= 0xC1) goto yy69;
4080 				goto yy97;
4081 			} else {
4082 				if (yych == 0xE2) goto yy98;
4083 				goto yy69;
4084 			}
4085 		}
4086 	}
4087 yy110:
4088 	YYDEBUG(110, *YYCURSOR);
4089 	yych = *++YYCURSOR;
4090 	if (yych <= '9') {
4091 		if (yych == '-') goto yy288;
4092 		if (yych <= '/') goto yy196;
4093 		goto yy237;
4094 	} else {
4095 		if (yych <= 0xC2) {
4096 			if (yych <= 0xC1) goto yy196;
4097 			goto yy97;
4098 		} else {
4099 			if (yych == 0xE2) goto yy98;
4100 			goto yy196;
4101 		}
4102 	}
4103 yy111:
4104 	YYDEBUG(111, *YYCURSOR);
4105 	yych = *++YYCURSOR;
4106 	if (yybm[0+yych] & 8) {
4107 		goto yy112;
4108 	}
4109 	goto yy59;
4110 yy112:
4111 	YYDEBUG(112, *YYCURSOR);
4112 	++YYCURSOR;
4113 	if ((YYLIMIT - YYCURSOR) < 7) YYFILL(7);
4114 	yych = *YYCURSOR;
4115 	YYDEBUG(113, *YYCURSOR);
4116 	if (yybm[0+yych] & 8) {
4117 		goto yy112;
4118 	}
4119 	if (yych == '.') goto yy289;
4120 	YYDEBUG(114, *YYCURSOR);
4121 #line 1207 "ext/date/lib/parse_date.re"
4122 	{
4123 		timelib_ull i;
4124 
4125 		TIMELIB_INIT;
4126 		TIMELIB_HAVE_RELATIVE();
4127 		TIMELIB_UNHAVE_DATE();
4128 		TIMELIB_UNHAVE_TIME();
4129 		TIMELIB_HAVE_TZ();
4130 
4131 		i = timelib_get_signed_nr(s, &ptr, 24);
4132 		s->time->y = 1970;
4133 		s->time->m = 1;
4134 		s->time->d = 1;
4135 		s->time->h = s->time->i = s->time->s = 0;
4136 		s->time->us = 0;
4137 		s->time->relative.s += i;
4138 		s->time->is_localtime = 1;
4139 		s->time->zone_type = TIMELIB_ZONETYPE_OFFSET;
4140 		s->time->z = 0;
4141 		s->time->dst = 0;
4142 
4143 		TIMELIB_DEINIT;
4144 		return TIMELIB_RELATIVE;
4145 	}
4146 #line 4147 "<stdout>"
4147 yy115:
4148 	YYDEBUG(115, *YYCURSOR);
4149 	++YYCURSOR;
4150 	goto yy20;
4151 yy116:
4152 	YYDEBUG(116, *YYCURSOR);
4153 	yych = *++YYCURSOR;
4154 	if (yych <= '@') {
4155 		if (yych == ')') goto yy115;
4156 		goto yy20;
4157 	} else {
4158 		if (yych <= 'Z') goto yy291;
4159 		if (yych <= '`') goto yy20;
4160 		if (yych <= 'z') goto yy291;
4161 		goto yy20;
4162 	}
4163 yy117:
4164 	YYDEBUG(117, *YYCURSOR);
4165 	yych = *++YYCURSOR;
4166 	if (yych <= 'O') {
4167 		if (yych <= ')') {
4168 			if (yych <= '(') goto yy20;
4169 			goto yy115;
4170 		} else {
4171 			if (yych <= '@') goto yy20;
4172 			if (yych <= 'N') goto yy291;
4173 			goto yy292;
4174 		}
4175 	} else {
4176 		if (yych <= 'n') {
4177 			if (yych <= 'Z') goto yy291;
4178 			if (yych <= '`') goto yy20;
4179 			goto yy291;
4180 		} else {
4181 			if (yych <= 'o') goto yy292;
4182 			if (yych <= 'z') goto yy291;
4183 			goto yy20;
4184 		}
4185 	}
4186 yy118:
4187 	YYDEBUG(118, *YYCURSOR);
4188 	yych = *++YYCURSOR;
4189 	if (yych <= 'R') {
4190 		if (yych <= ')') {
4191 			if (yych <= '(') goto yy20;
4192 			goto yy115;
4193 		} else {
4194 			if (yych <= '@') goto yy20;
4195 			if (yych <= 'Q') goto yy291;
4196 			goto yy294;
4197 		}
4198 	} else {
4199 		if (yych <= 'q') {
4200 			if (yych <= 'Z') goto yy291;
4201 			if (yych <= '`') goto yy20;
4202 			goto yy291;
4203 		} else {
4204 			if (yych <= 'r') goto yy294;
4205 			if (yych <= 'z') goto yy291;
4206 			goto yy20;
4207 		}
4208 	}
4209 yy119:
4210 	YYDEBUG(119, *YYCURSOR);
4211 	yych = *++YYCURSOR;
4212 	if (yych <= 'G') {
4213 		if (yych <= ')') {
4214 			if (yych <= '(') goto yy20;
4215 			goto yy115;
4216 		} else {
4217 			if (yych <= '@') goto yy20;
4218 			if (yych <= 'F') goto yy291;
4219 			goto yy296;
4220 		}
4221 	} else {
4222 		if (yych <= 'f') {
4223 			if (yych <= 'Z') goto yy291;
4224 			if (yych <= '`') goto yy20;
4225 			goto yy291;
4226 		} else {
4227 			if (yych <= 'g') goto yy296;
4228 			if (yych <= 'z') goto yy291;
4229 			goto yy20;
4230 		}
4231 	}
4232 yy120:
4233 	YYDEBUG(120, *YYCURSOR);
4234 	yyaccept = 2;
4235 	yych = *(YYMARKER = ++YYCURSOR);
4236 	if (yych <= '/') {
4237 		if (yych <= ',') {
4238 			if (yych == ')') goto yy115;
4239 			goto yy20;
4240 		} else {
4241 			if (yych == '.') goto yy20;
4242 			goto yy297;
4243 		}
4244 	} else {
4245 		if (yych <= '^') {
4246 			if (yych <= '@') goto yy20;
4247 			if (yych <= 'Z') goto yy291;
4248 			goto yy20;
4249 		} else {
4250 			if (yych <= '_') goto yy297;
4251 			if (yych <= '`') goto yy20;
4252 			if (yych <= 'z') goto yy298;
4253 			goto yy20;
4254 		}
4255 	}
4256 yy121:
4257 	YYDEBUG(121, *YYCURSOR);
4258 	yyaccept = 2;
4259 	yych = *(YYMARKER = ++YYCURSOR);
4260 	if (yych <= 'N') {
4261 		if (yych <= '-') {
4262 			if (yych == ')') goto yy115;
4263 			if (yych <= ',') goto yy20;
4264 			goto yy297;
4265 		} else {
4266 			if (yych == '/') goto yy297;
4267 			if (yych <= '@') goto yy20;
4268 			goto yy291;
4269 		}
4270 	} else {
4271 		if (yych <= '_') {
4272 			if (yych <= 'O') goto yy292;
4273 			if (yych <= 'Z') goto yy291;
4274 			if (yych <= '^') goto yy20;
4275 			goto yy297;
4276 		} else {
4277 			if (yych <= 'n') {
4278 				if (yych <= '`') goto yy20;
4279 				goto yy298;
4280 			} else {
4281 				if (yych <= 'o') goto yy299;
4282 				if (yych <= 'z') goto yy298;
4283 				goto yy20;
4284 			}
4285 		}
4286 	}
4287 yy122:
4288 	YYDEBUG(122, *YYCURSOR);
4289 	yyaccept = 2;
4290 	yych = *(YYMARKER = ++YYCURSOR);
4291 	if (yych <= 'Q') {
4292 		if (yych <= '-') {
4293 			if (yych == ')') goto yy115;
4294 			if (yych <= ',') goto yy20;
4295 			goto yy297;
4296 		} else {
4297 			if (yych == '/') goto yy297;
4298 			if (yych <= '@') goto yy20;
4299 			goto yy291;
4300 		}
4301 	} else {
4302 		if (yych <= '_') {
4303 			if (yych <= 'R') goto yy294;
4304 			if (yych <= 'Z') goto yy291;
4305 			if (yych <= '^') goto yy20;
4306 			goto yy297;
4307 		} else {
4308 			if (yych <= 'q') {
4309 				if (yych <= '`') goto yy20;
4310 				goto yy298;
4311 			} else {
4312 				if (yych <= 'r') goto yy300;
4313 				if (yych <= 'z') goto yy298;
4314 				goto yy20;
4315 			}
4316 		}
4317 	}
4318 yy123:
4319 	YYDEBUG(123, *YYCURSOR);
4320 	yyaccept = 2;
4321 	yych = *(YYMARKER = ++YYCURSOR);
4322 	if (yych <= 'F') {
4323 		if (yych <= '-') {
4324 			if (yych == ')') goto yy115;
4325 			if (yych <= ',') goto yy20;
4326 			goto yy297;
4327 		} else {
4328 			if (yych == '/') goto yy297;
4329 			if (yych <= '@') goto yy20;
4330 			goto yy291;
4331 		}
4332 	} else {
4333 		if (yych <= '_') {
4334 			if (yych <= 'G') goto yy296;
4335 			if (yych <= 'Z') goto yy291;
4336 			if (yych <= '^') goto yy20;
4337 			goto yy297;
4338 		} else {
4339 			if (yych <= 'f') {
4340 				if (yych <= '`') goto yy20;
4341 				goto yy298;
4342 			} else {
4343 				if (yych <= 'g') goto yy301;
4344 				if (yych <= 'z') goto yy298;
4345 				goto yy20;
4346 			}
4347 		}
4348 	}
4349 yy124:
4350 	YYDEBUG(124, *YYCURSOR);
4351 	yych = *++YYCURSOR;
4352 	if (yych <= 'C') {
4353 		if (yych <= ')') {
4354 			if (yych <= '(') goto yy20;
4355 			goto yy115;
4356 		} else {
4357 			if (yych <= '@') goto yy20;
4358 			if (yych <= 'B') goto yy291;
4359 			goto yy302;
4360 		}
4361 	} else {
4362 		if (yych <= 'b') {
4363 			if (yych <= 'Z') goto yy291;
4364 			if (yych <= '`') goto yy20;
4365 			goto yy291;
4366 		} else {
4367 			if (yych <= 'c') goto yy302;
4368 			if (yych <= 'z') goto yy291;
4369 			goto yy20;
4370 		}
4371 	}
4372 yy125:
4373 	YYDEBUG(125, *YYCURSOR);
4374 	yyaccept = 2;
4375 	yych = *(YYMARKER = ++YYCURSOR);
4376 	if (yych <= 'B') {
4377 		if (yych <= '-') {
4378 			if (yych == ')') goto yy115;
4379 			if (yych <= ',') goto yy20;
4380 			goto yy297;
4381 		} else {
4382 			if (yych == '/') goto yy297;
4383 			if (yych <= '@') goto yy20;
4384 			goto yy291;
4385 		}
4386 	} else {
4387 		if (yych <= '_') {
4388 			if (yych <= 'C') goto yy302;
4389 			if (yych <= 'Z') goto yy291;
4390 			if (yych <= '^') goto yy20;
4391 			goto yy297;
4392 		} else {
4393 			if (yych <= 'b') {
4394 				if (yych <= '`') goto yy20;
4395 				goto yy298;
4396 			} else {
4397 				if (yych <= 'c') goto yy303;
4398 				if (yych <= 'z') goto yy298;
4399 				goto yy20;
4400 			}
4401 		}
4402 	}
4403 yy126:
4404 	YYDEBUG(126, *YYCURSOR);
4405 	yych = *++YYCURSOR;
4406 	if (yych <= 'C') {
4407 		if (yych <= ')') {
4408 			if (yych <= '(') goto yy20;
4409 			goto yy115;
4410 		} else {
4411 			if (yych <= '@') goto yy20;
4412 			if (yych <= 'B') goto yy291;
4413 			goto yy304;
4414 		}
4415 	} else {
4416 		if (yych <= 'b') {
4417 			if (yych <= 'Z') goto yy291;
4418 			if (yych <= '`') goto yy20;
4419 			goto yy291;
4420 		} else {
4421 			if (yych <= 'c') goto yy304;
4422 			if (yych <= 'z') goto yy291;
4423 			goto yy20;
4424 		}
4425 	}
4426 yy127:
4427 	YYDEBUG(127, *YYCURSOR);
4428 	yyaccept = 2;
4429 	yych = *(YYMARKER = ++YYCURSOR);
4430 	if (yych <= 'B') {
4431 		if (yych <= '-') {
4432 			if (yych == ')') goto yy115;
4433 			if (yych <= ',') goto yy20;
4434 			goto yy297;
4435 		} else {
4436 			if (yych == '/') goto yy297;
4437 			if (yych <= '@') goto yy20;
4438 			goto yy291;
4439 		}
4440 	} else {
4441 		if (yych <= '_') {
4442 			if (yych <= 'C') goto yy304;
4443 			if (yych <= 'Z') goto yy291;
4444 			if (yych <= '^') goto yy20;
4445 			goto yy297;
4446 		} else {
4447 			if (yych <= 'b') {
4448 				if (yych <= '`') goto yy20;
4449 				goto yy298;
4450 			} else {
4451 				if (yych <= 'c') goto yy305;
4452 				if (yych <= 'z') goto yy298;
4453 				goto yy20;
4454 			}
4455 		}
4456 	}
4457 yy128:
4458 	YYDEBUG(128, *YYCURSOR);
4459 	yych = *++YYCURSOR;
4460 	if (yych <= 'G') {
4461 		if (yych <= ')') {
4462 			if (yych <= '(') goto yy20;
4463 			goto yy115;
4464 		} else {
4465 			if (yych <= '@') goto yy20;
4466 			if (yych <= 'F') goto yy291;
4467 			goto yy306;
4468 		}
4469 	} else {
4470 		if (yych <= 'f') {
4471 			if (yych <= 'Z') goto yy291;
4472 			if (yych <= '`') goto yy20;
4473 			goto yy291;
4474 		} else {
4475 			if (yych <= 'g') goto yy306;
4476 			if (yych <= 'z') goto yy291;
4477 			goto yy20;
4478 		}
4479 	}
4480 yy129:
4481 	YYDEBUG(129, *YYCURSOR);
4482 	yych = *++YYCURSOR;
4483 	if (yych <= 'E') {
4484 		if (yych <= ')') {
4485 			if (yych <= '(') goto yy20;
4486 			goto yy115;
4487 		} else {
4488 			if (yych <= '@') goto yy20;
4489 			if (yych <= 'D') goto yy291;
4490 			goto yy307;
4491 		}
4492 	} else {
4493 		if (yych <= 'd') {
4494 			if (yych <= 'Z') goto yy291;
4495 			if (yych <= '`') goto yy20;
4496 			goto yy291;
4497 		} else {
4498 			if (yych <= 'e') goto yy307;
4499 			if (yych <= 'z') goto yy291;
4500 			goto yy20;
4501 		}
4502 	}
4503 yy130:
4504 	YYDEBUG(130, *YYCURSOR);
4505 	yyaccept = 2;
4506 	yych = *(YYMARKER = ++YYCURSOR);
4507 	if (yych <= 'F') {
4508 		if (yych <= '-') {
4509 			if (yych == ')') goto yy115;
4510 			if (yych <= ',') goto yy20;
4511 			goto yy297;
4512 		} else {
4513 			if (yych == '/') goto yy297;
4514 			if (yych <= '@') goto yy20;
4515 			goto yy291;
4516 		}
4517 	} else {
4518 		if (yych <= '_') {
4519 			if (yych <= 'G') goto yy306;
4520 			if (yych <= 'Z') goto yy291;
4521 			if (yych <= '^') goto yy20;
4522 			goto yy297;
4523 		} else {
4524 			if (yych <= 'f') {
4525 				if (yych <= '`') goto yy20;
4526 				goto yy298;
4527 			} else {
4528 				if (yych <= 'g') goto yy308;
4529 				if (yych <= 'z') goto yy298;
4530 				goto yy20;
4531 			}
4532 		}
4533 	}
4534 yy131:
4535 	YYDEBUG(131, *YYCURSOR);
4536 	yyaccept = 2;
4537 	yych = *(YYMARKER = ++YYCURSOR);
4538 	if (yych <= 'D') {
4539 		if (yych <= '-') {
4540 			if (yych == ')') goto yy115;
4541 			if (yych <= ',') goto yy20;
4542 			goto yy297;
4543 		} else {
4544 			if (yych == '/') goto yy297;
4545 			if (yych <= '@') goto yy20;
4546 			goto yy291;
4547 		}
4548 	} else {
4549 		if (yych <= '_') {
4550 			if (yych <= 'E') goto yy307;
4551 			if (yych <= 'Z') goto yy291;
4552 			if (yych <= '^') goto yy20;
4553 			goto yy297;
4554 		} else {
4555 			if (yych <= 'd') {
4556 				if (yych <= '`') goto yy20;
4557 				goto yy298;
4558 			} else {
4559 				if (yych <= 'e') goto yy309;
4560 				if (yych <= 'z') goto yy298;
4561 				goto yy20;
4562 			}
4563 		}
4564 	}
4565 yy132:
4566 	YYDEBUG(132, *YYCURSOR);
4567 	yych = *++YYCURSOR;
4568 	if (yych <= 'B') {
4569 		if (yych <= ')') {
4570 			if (yych <= '(') goto yy20;
4571 			goto yy115;
4572 		} else {
4573 			if (yych <= '@') goto yy20;
4574 			if (yych <= 'A') goto yy291;
4575 			goto yy310;
4576 		}
4577 	} else {
4578 		if (yych <= 'a') {
4579 			if (yych <= 'Z') goto yy291;
4580 			if (yych <= '`') goto yy20;
4581 			goto yy291;
4582 		} else {
4583 			if (yych <= 'b') goto yy310;
4584 			if (yych <= 'z') goto yy291;
4585 			goto yy20;
4586 		}
4587 	}
4588 yy133:
4589 	YYDEBUG(133, *YYCURSOR);
4590 	yych = *++YYCURSOR;
4591 	if (yych <= 'R') {
4592 		if (yych <= '@') {
4593 			if (yych == ')') goto yy115;
4594 			goto yy20;
4595 		} else {
4596 			if (yych == 'F') goto yy311;
4597 			if (yych <= 'Q') goto yy291;
4598 			goto yy312;
4599 		}
4600 	} else {
4601 		if (yych <= 'f') {
4602 			if (yych <= 'Z') goto yy291;
4603 			if (yych <= '`') goto yy20;
4604 			if (yych <= 'e') goto yy291;
4605 			goto yy311;
4606 		} else {
4607 			if (yych == 'r') goto yy312;
4608 			if (yych <= 'z') goto yy291;
4609 			goto yy20;
4610 		}
4611 	}
4612 yy134:
4613 	YYDEBUG(134, *YYCURSOR);
4614 	yych = *++YYCURSOR;
4615 	if (yych <= 'U') {
4616 		if (yych <= ')') {
4617 			if (yych <= '(') goto yy20;
4618 			goto yy115;
4619 		} else {
4620 			if (yych <= '@') goto yy20;
4621 			if (yych <= 'T') goto yy291;
4622 			goto yy313;
4623 		}
4624 	} else {
4625 		if (yych <= 't') {
4626 			if (yych <= 'Z') goto yy291;
4627 			if (yych <= '`') goto yy20;
4628 			goto yy291;
4629 		} else {
4630 			if (yych <= 'u') goto yy313;
4631 			if (yych <= 'z') goto yy291;
4632 			goto yy20;
4633 		}
4634 	}
4635 yy135:
4636 	YYDEBUG(135, *YYCURSOR);
4637 	yych = *++YYCURSOR;
4638 	if (yych <= 'O') {
4639 		if (yych <= '@') {
4640 			if (yych == ')') goto yy115;
4641 			goto yy20;
4642 		} else {
4643 			if (yych == 'I') goto yy314;
4644 			if (yych <= 'N') goto yy291;
4645 			goto yy316;
4646 		}
4647 	} else {
4648 		if (yych <= 'i') {
4649 			if (yych <= 'Z') goto yy291;
4650 			if (yych <= '`') goto yy20;
4651 			if (yych <= 'h') goto yy291;
4652 			goto yy314;
4653 		} else {
4654 			if (yych == 'o') goto yy316;
4655 			if (yych <= 'z') goto yy291;
4656 			goto yy20;
4657 		}
4658 	}
4659 yy136:
4660 	YYDEBUG(136, *YYCURSOR);
4661 	yyaccept = 2;
4662 	yych = *(YYMARKER = ++YYCURSOR);
4663 	if (yych <= 'A') {
4664 		if (yych <= '-') {
4665 			if (yych == ')') goto yy115;
4666 			if (yych <= ',') goto yy20;
4667 			goto yy297;
4668 		} else {
4669 			if (yych == '/') goto yy297;
4670 			if (yych <= '@') goto yy20;
4671 			goto yy291;
4672 		}
4673 	} else {
4674 		if (yych <= '_') {
4675 			if (yych <= 'B') goto yy310;
4676 			if (yych <= 'Z') goto yy291;
4677 			if (yych <= '^') goto yy20;
4678 			goto yy297;
4679 		} else {
4680 			if (yych <= 'a') {
4681 				if (yych <= '`') goto yy20;
4682 				goto yy298;
4683 			} else {
4684 				if (yych <= 'b') goto yy317;
4685 				if (yych <= 'z') goto yy298;
4686 				goto yy20;
4687 			}
4688 		}
4689 	}
4690 yy137:
4691 	YYDEBUG(137, *YYCURSOR);
4692 	yyaccept = 2;
4693 	yych = *(YYMARKER = ++YYCURSOR);
4694 	if (yych <= 'Q') {
4695 		if (yych <= '.') {
4696 			if (yych <= ')') {
4697 				if (yych <= '(') goto yy20;
4698 				goto yy115;
4699 			} else {
4700 				if (yych == '-') goto yy297;
4701 				goto yy20;
4702 			}
4703 		} else {
4704 			if (yych <= '@') {
4705 				if (yych <= '/') goto yy297;
4706 				goto yy20;
4707 			} else {
4708 				if (yych == 'F') goto yy311;
4709 				goto yy291;
4710 			}
4711 		}
4712 	} else {
4713 		if (yych <= '`') {
4714 			if (yych <= 'Z') {
4715 				if (yych <= 'R') goto yy312;
4716 				goto yy291;
4717 			} else {
4718 				if (yych == '_') goto yy297;
4719 				goto yy20;
4720 			}
4721 		} else {
4722 			if (yych <= 'q') {
4723 				if (yych == 'f') goto yy318;
4724 				goto yy298;
4725 			} else {
4726 				if (yych <= 'r') goto yy319;
4727 				if (yych <= 'z') goto yy298;
4728 				goto yy20;
4729 			}
4730 		}
4731 	}
4732 yy138:
4733 	YYDEBUG(138, *YYCURSOR);
4734 	yyaccept = 2;
4735 	yych = *(YYMARKER = ++YYCURSOR);
4736 	if (yych <= 'T') {
4737 		if (yych <= '-') {
4738 			if (yych == ')') goto yy115;
4739 			if (yych <= ',') goto yy20;
4740 			goto yy297;
4741 		} else {
4742 			if (yych == '/') goto yy297;
4743 			if (yych <= '@') goto yy20;
4744 			goto yy291;
4745 		}
4746 	} else {
4747 		if (yych <= '_') {
4748 			if (yych <= 'U') goto yy313;
4749 			if (yych <= 'Z') goto yy291;
4750 			if (yych <= '^') goto yy20;
4751 			goto yy297;
4752 		} else {
4753 			if (yych <= 't') {
4754 				if (yych <= '`') goto yy20;
4755 				goto yy298;
4756 			} else {
4757 				if (yych <= 'u') goto yy320;
4758 				if (yych <= 'z') goto yy298;
4759 				goto yy20;
4760 			}
4761 		}
4762 	}
4763 yy139:
4764 	YYDEBUG(139, *YYCURSOR);
4765 	yyaccept = 2;
4766 	yych = *(YYMARKER = ++YYCURSOR);
4767 	if (yych <= 'N') {
4768 		if (yych <= '.') {
4769 			if (yych <= ')') {
4770 				if (yych <= '(') goto yy20;
4771 				goto yy115;
4772 			} else {
4773 				if (yych == '-') goto yy297;
4774 				goto yy20;
4775 			}
4776 		} else {
4777 			if (yych <= '@') {
4778 				if (yych <= '/') goto yy297;
4779 				goto yy20;
4780 			} else {
4781 				if (yych == 'I') goto yy314;
4782 				goto yy291;
4783 			}
4784 		}
4785 	} else {
4786 		if (yych <= '`') {
4787 			if (yych <= 'Z') {
4788 				if (yych <= 'O') goto yy316;
4789 				goto yy291;
4790 			} else {
4791 				if (yych == '_') goto yy297;
4792 				goto yy20;
4793 			}
4794 		} else {
4795 			if (yych <= 'n') {
4796 				if (yych == 'i') goto yy321;
4797 				goto yy298;
4798 			} else {
4799 				if (yych <= 'o') goto yy322;
4800 				if (yych <= 'z') goto yy298;
4801 				goto yy20;
4802 			}
4803 		}
4804 	}
4805 yy140:
4806 	YYDEBUG(140, *YYCURSOR);
4807 	yych = *++YYCURSOR;
4808 	if (yych <= 'S') {
4809 		if (yych == ')') goto yy115;
4810 		if (yych <= '@') goto yy20;
4811 		goto yy291;
4812 	} else {
4813 		if (yych <= 'Z') {
4814 			if (yych <= 'T') goto yy323;
4815 			goto yy291;
4816 		} else {
4817 			if (yych <= '`') goto yy20;
4818 			if (yych <= 'z') goto yy291;
4819 			goto yy20;
4820 		}
4821 	}
4822 yy141:
4823 	YYDEBUG(141, *YYCURSOR);
4824 	++YYCURSOR;
4825 	if ((YYLIMIT - YYCURSOR) < 26) YYFILL(26);
4826 	yych = *YYCURSOR;
4827 yy142:
4828 	YYDEBUG(142, *YYCURSOR);
4829 	if (yybm[0+yych] & 16) {
4830 		goto yy141;
4831 	}
4832 	if (yych <= '/') goto yy59;
4833 	if (yych <= '2') goto yy143;
4834 	if (yych <= '3') goto yy144;
4835 	if (yych <= '9') goto yy145;
4836 	goto yy59;
4837 yy143:
4838 	YYDEBUG(143, *YYCURSOR);
4839 	yych = *++YYCURSOR;
4840 	if (yych <= '9') {
4841 		if (yych <= ' ') {
4842 			if (yych <= 0x08) {
4843 				if (yych <= 0x00) goto yy324;
4844 				goto yy59;
4845 			} else {
4846 				if (yych <= '\t') goto yy326;
4847 				if (yych <= 0x1F) goto yy59;
4848 				goto yy326;
4849 			}
4850 		} else {
4851 			if (yych <= '-') {
4852 				if (yych == ',') goto yy326;
4853 				goto yy59;
4854 			} else {
4855 				if (yych <= '.') goto yy326;
4856 				if (yych <= '/') goto yy59;
4857 				goto yy328;
4858 			}
4859 		}
4860 	} else {
4861 		if (yych <= 'm') {
4862 			if (yych <= 'd') {
4863 				if (yych <= 'c') goto yy59;
4864 				goto yy326;
4865 			} else {
4866 				if (yych == 'h') goto yy326;
4867 				goto yy59;
4868 			}
4869 		} else {
4870 			if (yych <= 'r') {
4871 				if (yych <= 'n') goto yy329;
4872 				if (yych <= 'q') goto yy59;
4873 				goto yy329;
4874 			} else {
4875 				if (yych <= 's') goto yy330;
4876 				if (yych <= 't') goto yy331;
4877 				goto yy59;
4878 			}
4879 		}
4880 	}
4881 yy144:
4882 	YYDEBUG(144, *YYCURSOR);
4883 	yych = *++YYCURSOR;
4884 	if (yych <= '1') {
4885 		if (yych <= ' ') {
4886 			if (yych <= 0x08) {
4887 				if (yych <= 0x00) goto yy324;
4888 				goto yy59;
4889 			} else {
4890 				if (yych <= '\t') goto yy326;
4891 				if (yych <= 0x1F) goto yy59;
4892 				goto yy326;
4893 			}
4894 		} else {
4895 			if (yych <= '-') {
4896 				if (yych == ',') goto yy326;
4897 				goto yy59;
4898 			} else {
4899 				if (yych <= '.') goto yy326;
4900 				if (yych <= '/') goto yy59;
4901 				goto yy328;
4902 			}
4903 		}
4904 	} else {
4905 		if (yych <= 'm') {
4906 			if (yych <= 'd') {
4907 				if (yych <= '9') goto yy332;
4908 				if (yych <= 'c') goto yy59;
4909 				goto yy326;
4910 			} else {
4911 				if (yych == 'h') goto yy326;
4912 				goto yy59;
4913 			}
4914 		} else {
4915 			if (yych <= 'r') {
4916 				if (yych <= 'n') goto yy329;
4917 				if (yych <= 'q') goto yy59;
4918 				goto yy329;
4919 			} else {
4920 				if (yych <= 's') goto yy330;
4921 				if (yych <= 't') goto yy331;
4922 				goto yy59;
4923 			}
4924 		}
4925 	}
4926 yy145:
4927 	YYDEBUG(145, *YYCURSOR);
4928 	yych = *++YYCURSOR;
4929 	if (yych <= '9') {
4930 		if (yych <= ' ') {
4931 			if (yych <= 0x08) {
4932 				if (yych <= 0x00) goto yy324;
4933 				goto yy59;
4934 			} else {
4935 				if (yych <= '\t') goto yy326;
4936 				if (yych <= 0x1F) goto yy59;
4937 				goto yy326;
4938 			}
4939 		} else {
4940 			if (yych <= '-') {
4941 				if (yych == ',') goto yy326;
4942 				goto yy59;
4943 			} else {
4944 				if (yych <= '.') goto yy326;
4945 				if (yych <= '/') goto yy59;
4946 				goto yy332;
4947 			}
4948 		}
4949 	} else {
4950 		if (yych <= 'm') {
4951 			if (yych <= 'd') {
4952 				if (yych <= 'c') goto yy59;
4953 				goto yy326;
4954 			} else {
4955 				if (yych == 'h') goto yy326;
4956 				goto yy59;
4957 			}
4958 		} else {
4959 			if (yych <= 'r') {
4960 				if (yych <= 'n') goto yy329;
4961 				if (yych <= 'q') goto yy59;
4962 				goto yy329;
4963 			} else {
4964 				if (yych <= 's') goto yy330;
4965 				if (yych <= 't') goto yy331;
4966 				goto yy59;
4967 			}
4968 		}
4969 	}
4970 yy146:
4971 	YYDEBUG(146, *YYCURSOR);
4972 	yyaccept = 2;
4973 	yych = *(YYMARKER = ++YYCURSOR);
4974 	if (yych <= '.') {
4975 		if (yych <= ' ') {
4976 			if (yych == '\t') goto yy142;
4977 			if (yych <= 0x1F) goto yy20;
4978 			goto yy142;
4979 		} else {
4980 			if (yych == ')') goto yy115;
4981 			if (yych <= ',') goto yy20;
4982 			goto yy142;
4983 		}
4984 	} else {
4985 		if (yych <= 'H') {
4986 			if (yych <= '/') goto yy20;
4987 			if (yych <= '9') goto yy142;
4988 			if (yych <= '@') goto yy20;
4989 			goto yy291;
4990 		} else {
4991 			if (yych <= 'Z') {
4992 				if (yych <= 'I') goto yy333;
4993 				goto yy291;
4994 			} else {
4995 				if (yych <= '`') goto yy20;
4996 				if (yych <= 'z') goto yy291;
4997 				goto yy20;
4998 			}
4999 		}
5000 	}
5001 yy147:
5002 	YYDEBUG(147, *YYCURSOR);
5003 	yyaccept = 2;
5004 	yych = *(YYMARKER = ++YYCURSOR);
5005 	if (yych <= ',') {
5006 		if (yych <= 0x1F) {
5007 			if (yych == '\t') goto yy142;
5008 			goto yy20;
5009 		} else {
5010 			if (yych <= ' ') goto yy142;
5011 			if (yych == ')') goto yy115;
5012 			goto yy20;
5013 		}
5014 	} else {
5015 		if (yych <= '@') {
5016 			if (yych == '/') goto yy20;
5017 			if (yych <= '9') goto yy142;
5018 			goto yy20;
5019 		} else {
5020 			if (yych <= 'Z') goto yy291;
5021 			if (yych <= '`') goto yy20;
5022 			if (yych <= 'z') goto yy291;
5023 			goto yy20;
5024 		}
5025 	}
5026 yy148:
5027 	YYDEBUG(148, *YYCURSOR);
5028 	yych = *++YYCURSOR;
5029 	if (yych <= 'N') {
5030 		if (yych <= ')') {
5031 			if (yych <= '(') goto yy20;
5032 			goto yy115;
5033 		} else {
5034 			if (yych <= '@') goto yy20;
5035 			if (yych <= 'M') goto yy291;
5036 			goto yy334;
5037 		}
5038 	} else {
5039 		if (yych <= 'm') {
5040 			if (yych <= 'Z') goto yy291;
5041 			if (yych <= '`') goto yy20;
5042 			goto yy291;
5043 		} else {
5044 			if (yych <= 'n') goto yy334;
5045 			if (yych <= 'z') goto yy291;
5046 			goto yy20;
5047 		}
5048 	}
5049 yy149:
5050 	YYDEBUG(149, *YYCURSOR);
5051 	yych = *++YYCURSOR;
5052 	if (yych <= 'N') {
5053 		if (yych <= '@') {
5054 			if (yych == ')') goto yy115;
5055 			goto yy20;
5056 		} else {
5057 			if (yych == 'L') goto yy335;
5058 			if (yych <= 'M') goto yy291;
5059 			goto yy336;
5060 		}
5061 	} else {
5062 		if (yych <= 'l') {
5063 			if (yych <= 'Z') goto yy291;
5064 			if (yych <= '`') goto yy20;
5065 			if (yych <= 'k') goto yy291;
5066 			goto yy335;
5067 		} else {
5068 			if (yych == 'n') goto yy336;
5069 			if (yych <= 'z') goto yy291;
5070 			goto yy20;
5071 		}
5072 	}
5073 yy150:
5074 	YYDEBUG(150, *YYCURSOR);
5075 	yyaccept = 2;
5076 	yych = *(YYMARKER = ++YYCURSOR);
5077 	if (yych <= 'M') {
5078 		if (yych <= '-') {
5079 			if (yych == ')') goto yy115;
5080 			if (yych <= ',') goto yy20;
5081 			goto yy297;
5082 		} else {
5083 			if (yych == '/') goto yy297;
5084 			if (yych <= '@') goto yy20;
5085 			goto yy291;
5086 		}
5087 	} else {
5088 		if (yych <= '_') {
5089 			if (yych <= 'N') goto yy334;
5090 			if (yych <= 'Z') goto yy291;
5091 			if (yych <= '^') goto yy20;
5092 			goto yy297;
5093 		} else {
5094 			if (yych <= 'm') {
5095 				if (yych <= '`') goto yy20;
5096 				goto yy298;
5097 			} else {
5098 				if (yych <= 'n') goto yy337;
5099 				if (yych <= 'z') goto yy298;
5100 				goto yy20;
5101 			}
5102 		}
5103 	}
5104 yy151:
5105 	YYDEBUG(151, *YYCURSOR);
5106 	yyaccept = 2;
5107 	yych = *(YYMARKER = ++YYCURSOR);
5108 	if (yych <= 'M') {
5109 		if (yych <= '.') {
5110 			if (yych <= ')') {
5111 				if (yych <= '(') goto yy20;
5112 				goto yy115;
5113 			} else {
5114 				if (yych == '-') goto yy297;
5115 				goto yy20;
5116 			}
5117 		} else {
5118 			if (yych <= '@') {
5119 				if (yych <= '/') goto yy297;
5120 				goto yy20;
5121 			} else {
5122 				if (yych == 'L') goto yy335;
5123 				goto yy291;
5124 			}
5125 		}
5126 	} else {
5127 		if (yych <= '`') {
5128 			if (yych <= 'Z') {
5129 				if (yych <= 'N') goto yy336;
5130 				goto yy291;
5131 			} else {
5132 				if (yych == '_') goto yy297;
5133 				goto yy20;
5134 			}
5135 		} else {
5136 			if (yych <= 'm') {
5137 				if (yych == 'l') goto yy338;
5138 				goto yy298;
5139 			} else {
5140 				if (yych <= 'n') goto yy339;
5141 				if (yych <= 'z') goto yy298;
5142 				goto yy20;
5143 			}
5144 		}
5145 	}
5146 yy152:
5147 	YYDEBUG(152, *YYCURSOR);
5148 	yych = *++YYCURSOR;
5149 	if (yych <= 'S') {
5150 		if (yych <= ')') {
5151 			if (yych <= '(') goto yy20;
5152 			goto yy115;
5153 		} else {
5154 			if (yych <= '@') goto yy20;
5155 			if (yych <= 'R') goto yy291;
5156 			goto yy340;
5157 		}
5158 	} else {
5159 		if (yych <= 'r') {
5160 			if (yych <= 'Z') goto yy291;
5161 			if (yych <= '`') goto yy20;
5162 			goto yy291;
5163 		} else {
5164 			if (yych <= 's') goto yy340;
5165 			if (yych <= 'z') goto yy291;
5166 			goto yy20;
5167 		}
5168 	}
5169 yy153:
5170 	YYDEBUG(153, *YYCURSOR);
5171 	yyaccept = 2;
5172 	yych = *(YYMARKER = ++YYCURSOR);
5173 	if (yych <= 'R') {
5174 		if (yych <= '-') {
5175 			if (yych == ')') goto yy115;
5176 			if (yych <= ',') goto yy20;
5177 			goto yy297;
5178 		} else {
5179 			if (yych == '/') goto yy297;
5180 			if (yych <= '@') goto yy20;
5181 			goto yy291;
5182 		}
5183 	} else {
5184 		if (yych <= '_') {
5185 			if (yych <= 'S') goto yy340;
5186 			if (yych <= 'Z') goto yy291;
5187 			if (yych <= '^') goto yy20;
5188 			goto yy297;
5189 		} else {
5190 			if (yych <= 'r') {
5191 				if (yych <= '`') goto yy20;
5192 				goto yy298;
5193 			} else {
5194 				if (yych <= 's') goto yy341;
5195 				if (yych <= 'z') goto yy298;
5196 				goto yy20;
5197 			}
5198 		}
5199 	}
5200 yy154:
5201 	YYDEBUG(154, *YYCURSOR);
5202 	yych = *++YYCURSOR;
5203 	if (yych <= 'Y') {
5204 		if (yych <= '@') {
5205 			if (yych == ')') goto yy115;
5206 			goto yy20;
5207 		} else {
5208 			if (yych == 'R') goto yy342;
5209 			if (yych <= 'X') goto yy291;
5210 			goto yy343;
5211 		}
5212 	} else {
5213 		if (yych <= 'r') {
5214 			if (yych <= 'Z') goto yy291;
5215 			if (yych <= '`') goto yy20;
5216 			if (yych <= 'q') goto yy291;
5217 			goto yy342;
5218 		} else {
5219 			if (yych == 'y') goto yy343;
5220 			if (yych <= 'z') goto yy291;
5221 			goto yy20;
5222 		}
5223 	}
5224 yy155:
5225 	YYDEBUG(155, *YYCURSOR);
5226 	yych = *++YYCURSOR;
5227 	if (yych <= 'D') {
5228 		if (yych <= ')') {
5229 			if (yych <= '(') goto yy20;
5230 			goto yy115;
5231 		} else {
5232 			if (yych <= '@') goto yy20;
5233 			if (yych <= 'C') goto yy291;
5234 			goto yy344;
5235 		}
5236 	} else {
5237 		if (yych <= 'c') {
5238 			if (yych <= 'Z') goto yy291;
5239 			if (yych <= '`') goto yy20;
5240 			goto yy291;
5241 		} else {
5242 			if (yych <= 'd') goto yy344;
5243 			if (yych <= 'z') goto yy291;
5244 			goto yy20;
5245 		}
5246 	}
5247 yy156:
5248 	YYDEBUG(156, *YYCURSOR);
5249 	yych = *++YYCURSOR;
5250 	if (yych <= 'N') {
5251 		if (yych <= ')') {
5252 			if (yych <= '(') goto yy20;
5253 			goto yy115;
5254 		} else {
5255 			if (yych <= '@') goto yy20;
5256 			if (yych <= 'M') goto yy291;
5257 			goto yy314;
5258 		}
5259 	} else {
5260 		if (yych <= 'm') {
5261 			if (yych <= 'Z') goto yy291;
5262 			if (yych <= '`') goto yy20;
5263 			goto yy291;
5264 		} else {
5265 			if (yych <= 'n') goto yy314;
5266 			if (yych <= 'z') goto yy291;
5267 			goto yy20;
5268 		}
5269 	}
5270 yy157:
5271 	YYDEBUG(157, *YYCURSOR);
5272 	yyaccept = 2;
5273 	yych = *(YYMARKER = ++YYCURSOR);
5274 	if (yych <= 'X') {
5275 		if (yych <= '.') {
5276 			if (yych <= ')') {
5277 				if (yych <= '(') goto yy20;
5278 				goto yy115;
5279 			} else {
5280 				if (yych == '-') goto yy297;
5281 				goto yy20;
5282 			}
5283 		} else {
5284 			if (yych <= '@') {
5285 				if (yych <= '/') goto yy297;
5286 				goto yy20;
5287 			} else {
5288 				if (yych == 'R') goto yy342;
5289 				goto yy291;
5290 			}
5291 		}
5292 	} else {
5293 		if (yych <= '`') {
5294 			if (yych <= 'Z') {
5295 				if (yych <= 'Y') goto yy343;
5296 				goto yy291;
5297 			} else {
5298 				if (yych == '_') goto yy297;
5299 				goto yy20;
5300 			}
5301 		} else {
5302 			if (yych <= 'x') {
5303 				if (yych == 'r') goto yy345;
5304 				goto yy298;
5305 			} else {
5306 				if (yych <= 'y') goto yy346;
5307 				if (yych <= 'z') goto yy298;
5308 				goto yy20;
5309 			}
5310 		}
5311 	}
5312 yy158:
5313 	YYDEBUG(158, *YYCURSOR);
5314 	yyaccept = 2;
5315 	yych = *(YYMARKER = ++YYCURSOR);
5316 	if (yych <= 'C') {
5317 		if (yych <= '-') {
5318 			if (yych == ')') goto yy115;
5319 			if (yych <= ',') goto yy20;
5320 			goto yy297;
5321 		} else {
5322 			if (yych == '/') goto yy297;
5323 			if (yych <= '@') goto yy20;
5324 			goto yy291;
5325 		}
5326 	} else {
5327 		if (yych <= '_') {
5328 			if (yych <= 'D') goto yy344;
5329 			if (yych <= 'Z') goto yy291;
5330 			if (yych <= '^') goto yy20;
5331 			goto yy297;
5332 		} else {
5333 			if (yych <= 'c') {
5334 				if (yych <= '`') goto yy20;
5335 				goto yy298;
5336 			} else {
5337 				if (yych <= 'd') goto yy347;
5338 				if (yych <= 'z') goto yy298;
5339 				goto yy20;
5340 			}
5341 		}
5342 	}
5343 yy159:
5344 	YYDEBUG(159, *YYCURSOR);
5345 	yyaccept = 2;
5346 	yych = *(YYMARKER = ++YYCURSOR);
5347 	if (yych <= 'M') {
5348 		if (yych <= '-') {
5349 			if (yych == ')') goto yy115;
5350 			if (yych <= ',') goto yy20;
5351 			goto yy297;
5352 		} else {
5353 			if (yych == '/') goto yy297;
5354 			if (yych <= '@') goto yy20;
5355 			goto yy291;
5356 		}
5357 	} else {
5358 		if (yych <= '_') {
5359 			if (yych <= 'N') goto yy314;
5360 			if (yych <= 'Z') goto yy291;
5361 			if (yych <= '^') goto yy20;
5362 			goto yy297;
5363 		} else {
5364 			if (yych <= 'm') {
5365 				if (yych <= '`') goto yy20;
5366 				goto yy298;
5367 			} else {
5368 				if (yych <= 'n') goto yy321;
5369 				if (yych <= 'z') goto yy298;
5370 				goto yy20;
5371 			}
5372 		}
5373 	}
5374 yy160:
5375 	YYDEBUG(160, *YYCURSOR);
5376 	yych = *++YYCURSOR;
5377 	if (yych <= 'X') {
5378 		if (yych <= ')') {
5379 			if (yych <= '(') goto yy20;
5380 			goto yy115;
5381 		} else {
5382 			if (yych <= '@') goto yy20;
5383 			if (yych <= 'W') goto yy291;
5384 			goto yy348;
5385 		}
5386 	} else {
5387 		if (yych <= 'w') {
5388 			if (yych <= 'Z') goto yy291;
5389 			if (yych <= '`') goto yy20;
5390 			goto yy291;
5391 		} else {
5392 			if (yych <= 'x') goto yy348;
5393 			if (yych <= 'z') goto yy291;
5394 			goto yy20;
5395 		}
5396 	}
5397 yy161:
5398 	YYDEBUG(161, *YYCURSOR);
5399 	yych = *++YYCURSOR;
5400 	if (yych <= 'N') {
5401 		if (yych <= ')') {
5402 			if (yych <= '(') goto yy20;
5403 			goto yy115;
5404 		} else {
5405 			if (yych <= '@') goto yy20;
5406 			if (yych <= 'M') goto yy291;
5407 			goto yy311;
5408 		}
5409 	} else {
5410 		if (yych <= 'm') {
5411 			if (yych <= 'Z') goto yy291;
5412 			if (yych <= '`') goto yy20;
5413 			goto yy291;
5414 		} else {
5415 			if (yych <= 'n') goto yy311;
5416 			if (yych <= 'z') goto yy291;
5417 			goto yy20;
5418 		}
5419 	}
5420 yy162:
5421 	YYDEBUG(162, *YYCURSOR);
5422 	yych = *++YYCURSOR;
5423 	if (yych <= 'W') {
5424 		if (yych <= 'N') {
5425 			if (yych == ')') goto yy115;
5426 			if (yych <= '@') goto yy20;
5427 			goto yy291;
5428 		} else {
5429 			if (yych <= 'O') goto yy349;
5430 			if (yych <= 'U') goto yy291;
5431 			if (yych <= 'V') goto yy304;
5432 			goto yy350;
5433 		}
5434 	} else {
5435 		if (yych <= 'o') {
5436 			if (yych <= 'Z') goto yy291;
5437 			if (yych <= '`') goto yy20;
5438 			if (yych <= 'n') goto yy291;
5439 			goto yy349;
5440 		} else {
5441 			if (yych <= 'v') {
5442 				if (yych <= 'u') goto yy291;
5443 				goto yy304;
5444 			} else {
5445 				if (yych <= 'w') goto yy350;
5446 				if (yych <= 'z') goto yy291;
5447 				goto yy20;
5448 			}
5449 		}
5450 	}
5451 yy163:
5452 	YYDEBUG(163, *YYCURSOR);
5453 	yyaccept = 2;
5454 	yych = *(YYMARKER = ++YYCURSOR);
5455 	if (yych <= 'W') {
5456 		if (yych <= '-') {
5457 			if (yych == ')') goto yy115;
5458 			if (yych <= ',') goto yy20;
5459 			goto yy297;
5460 		} else {
5461 			if (yych == '/') goto yy297;
5462 			if (yych <= '@') goto yy20;
5463 			goto yy291;
5464 		}
5465 	} else {
5466 		if (yych <= '_') {
5467 			if (yych <= 'X') goto yy348;
5468 			if (yych <= 'Z') goto yy291;
5469 			if (yych <= '^') goto yy20;
5470 			goto yy297;
5471 		} else {
5472 			if (yych <= 'w') {
5473 				if (yych <= '`') goto yy20;
5474 				goto yy298;
5475 			} else {
5476 				if (yych <= 'x') goto yy352;
5477 				if (yych <= 'z') goto yy298;
5478 				goto yy20;
5479 			}
5480 		}
5481 	}
5482 yy164:
5483 	YYDEBUG(164, *YYCURSOR);
5484 	yyaccept = 2;
5485 	yych = *(YYMARKER = ++YYCURSOR);
5486 	if (yych <= 'M') {
5487 		if (yych <= '-') {
5488 			if (yych == ')') goto yy115;
5489 			if (yych <= ',') goto yy20;
5490 			goto yy297;
5491 		} else {
5492 			if (yych == '/') goto yy297;
5493 			if (yych <= '@') goto yy20;
5494 			goto yy291;
5495 		}
5496 	} else {
5497 		if (yych <= '_') {
5498 			if (yych <= 'N') goto yy311;
5499 			if (yych <= 'Z') goto yy291;
5500 			if (yych <= '^') goto yy20;
5501 			goto yy297;
5502 		} else {
5503 			if (yych <= 'm') {
5504 				if (yych <= '`') goto yy20;
5505 				goto yy298;
5506 			} else {
5507 				if (yych <= 'n') goto yy318;
5508 				if (yych <= 'z') goto yy298;
5509 				goto yy20;
5510 			}
5511 		}
5512 	}
5513 yy165:
5514 	YYDEBUG(165, *YYCURSOR);
5515 	yyaccept = 2;
5516 	yych = *(YYMARKER = ++YYCURSOR);
5517 	if (yych <= 'V') {
5518 		if (yych <= '.') {
5519 			if (yych <= ')') {
5520 				if (yych <= '(') goto yy20;
5521 				goto yy115;
5522 			} else {
5523 				if (yych == '-') goto yy297;
5524 				goto yy20;
5525 			}
5526 		} else {
5527 			if (yych <= 'N') {
5528 				if (yych <= '/') goto yy297;
5529 				if (yych <= '@') goto yy20;
5530 				goto yy291;
5531 			} else {
5532 				if (yych <= 'O') goto yy349;
5533 				if (yych <= 'U') goto yy291;
5534 				goto yy304;
5535 			}
5536 		}
5537 	} else {
5538 		if (yych <= 'n') {
5539 			if (yych <= '^') {
5540 				if (yych <= 'W') goto yy350;
5541 				if (yych <= 'Z') goto yy291;
5542 				goto yy20;
5543 			} else {
5544 				if (yych <= '_') goto yy297;
5545 				if (yych <= '`') goto yy20;
5546 				goto yy298;
5547 			}
5548 		} else {
5549 			if (yych <= 'v') {
5550 				if (yych <= 'o') goto yy353;
5551 				if (yych <= 'u') goto yy298;
5552 				goto yy305;
5553 			} else {
5554 				if (yych <= 'w') goto yy354;
5555 				if (yych <= 'z') goto yy298;
5556 				goto yy20;
5557 			}
5558 		}
5559 	}
5560 yy166:
5561 	YYDEBUG(166, *YYCURSOR);
5562 	yych = *++YYCURSOR;
5563 	if (yych <= 'T') {
5564 		if (yych <= ')') {
5565 			if (yych <= '(') goto yy20;
5566 			goto yy115;
5567 		} else {
5568 			if (yych <= '@') goto yy20;
5569 			if (yych <= 'S') goto yy291;
5570 			goto yy355;
5571 		}
5572 	} else {
5573 		if (yych <= 's') {
5574 			if (yych <= 'Z') goto yy291;
5575 			if (yych <= '`') goto yy20;
5576 			goto yy291;
5577 		} else {
5578 			if (yych <= 't') goto yy355;
5579 			if (yych <= 'z') goto yy291;
5580 			goto yy20;
5581 		}
5582 	}
5583 yy167:
5584 	YYDEBUG(167, *YYCURSOR);
5585 	yyaccept = 2;
5586 	yych = *(YYMARKER = ++YYCURSOR);
5587 	if (yych <= 'S') {
5588 		if (yych <= '-') {
5589 			if (yych == ')') goto yy115;
5590 			if (yych <= ',') goto yy20;
5591 			goto yy297;
5592 		} else {
5593 			if (yych == '/') goto yy297;
5594 			if (yych <= '@') goto yy20;
5595 			goto yy291;
5596 		}
5597 	} else {
5598 		if (yych <= '_') {
5599 			if (yych <= 'T') goto yy355;
5600 			if (yych <= 'Z') goto yy291;
5601 			if (yych <= '^') goto yy20;
5602 			goto yy297;
5603 		} else {
5604 			if (yych <= 's') {
5605 				if (yych <= '`') goto yy20;
5606 				goto yy298;
5607 			} else {
5608 				if (yych <= 't') goto yy356;
5609 				if (yych <= 'z') goto yy298;
5610 				goto yy20;
5611 			}
5612 		}
5613 	}
5614 yy168:
5615 	YYDEBUG(168, *YYCURSOR);
5616 	yych = *++YYCURSOR;
5617 	if (yych <= 'E') {
5618 		if (yych <= ')') {
5619 			if (yych <= '(') goto yy20;
5620 			goto yy115;
5621 		} else {
5622 			if (yych <= '@') goto yy20;
5623 			if (yych <= 'D') goto yy291;
5624 			goto yy357;
5625 		}
5626 	} else {
5627 		if (yych <= 'd') {
5628 			if (yych <= 'Z') goto yy291;
5629 			if (yych <= '`') goto yy20;
5630 			goto yy291;
5631 		} else {
5632 			if (yych <= 'e') goto yy357;
5633 			if (yych <= 'z') goto yy291;
5634 			goto yy20;
5635 		}
5636 	}
5637 yy169:
5638 	YYDEBUG(169, *YYCURSOR);
5639 	yyaccept = 2;
5640 	yych = *(YYMARKER = ++YYCURSOR);
5641 	if (yych <= 'D') {
5642 		if (yych <= '-') {
5643 			if (yych == ')') goto yy115;
5644 			if (yych <= ',') goto yy20;
5645 			goto yy297;
5646 		} else {
5647 			if (yych == '/') goto yy297;
5648 			if (yych <= '@') goto yy20;
5649 			goto yy291;
5650 		}
5651 	} else {
5652 		if (yych <= '_') {
5653 			if (yych <= 'E') goto yy357;
5654 			if (yych <= 'Z') goto yy291;
5655 			if (yych <= '^') goto yy20;
5656 			goto yy297;
5657 		} else {
5658 			if (yych <= 'd') {
5659 				if (yych <= '`') goto yy20;
5660 				goto yy298;
5661 			} else {
5662 				if (yych <= 'e') goto yy358;
5663 				if (yych <= 'z') goto yy298;
5664 				goto yy20;
5665 			}
5666 		}
5667 	}
5668 yy170:
5669 	YYDEBUG(170, *YYCURSOR);
5670 	yych = *++YYCURSOR;
5671 	if (yych <= 'T') {
5672 		if (yych <= ')') {
5673 			if (yych <= '(') goto yy20;
5674 			goto yy115;
5675 		} else {
5676 			if (yych <= '@') goto yy20;
5677 			if (yych <= 'S') goto yy291;
5678 			goto yy359;
5679 		}
5680 	} else {
5681 		if (yych <= 's') {
5682 			if (yych <= 'Z') goto yy291;
5683 			if (yych <= '`') goto yy20;
5684 			goto yy291;
5685 		} else {
5686 			if (yych <= 't') goto yy359;
5687 			if (yych <= 'z') goto yy291;
5688 			goto yy20;
5689 		}
5690 	}
5691 yy171:
5692 	YYDEBUG(171, *YYCURSOR);
5693 	yych = *++YYCURSOR;
5694 	if (yych <= 'V') {
5695 		if (yych <= 'B') {
5696 			if (yych == ')') goto yy115;
5697 			if (yych <= '@') goto yy20;
5698 			goto yy291;
5699 		} else {
5700 			if (yych <= 'O') {
5701 				if (yych <= 'C') goto yy360;
5702 				goto yy291;
5703 			} else {
5704 				if (yych <= 'P') goto yy361;
5705 				if (yych <= 'U') goto yy291;
5706 				goto yy362;
5707 			}
5708 		}
5709 	} else {
5710 		if (yych <= 'o') {
5711 			if (yych <= '`') {
5712 				if (yych <= 'Z') goto yy291;
5713 				goto yy20;
5714 			} else {
5715 				if (yych == 'c') goto yy360;
5716 				goto yy291;
5717 			}
5718 		} else {
5719 			if (yych <= 'u') {
5720 				if (yych <= 'p') goto yy361;
5721 				goto yy291;
5722 			} else {
5723 				if (yych <= 'v') goto yy362;
5724 				if (yych <= 'z') goto yy291;
5725 				goto yy20;
5726 			}
5727 		}
5728 	}
5729 yy172:
5730 	YYDEBUG(172, *YYCURSOR);
5731 	yych = *++YYCURSOR;
5732 	if (yych <= 'X') {
5733 		if (yych <= ')') {
5734 			if (yych <= '(') goto yy20;
5735 			goto yy115;
5736 		} else {
5737 			if (yych <= '@') goto yy20;
5738 			if (yych <= 'W') goto yy291;
5739 			goto yy311;
5740 		}
5741 	} else {
5742 		if (yych <= 'w') {
5743 			if (yych <= 'Z') goto yy291;
5744 			if (yych <= '`') goto yy20;
5745 			goto yy291;
5746 		} else {
5747 			if (yych <= 'x') goto yy311;
5748 			if (yych <= 'z') goto yy291;
5749 			goto yy20;
5750 		}
5751 	}
5752 yy173:
5753 	YYDEBUG(173, *YYCURSOR);
5754 	yyaccept = 2;
5755 	yych = *(YYMARKER = ++YYCURSOR);
5756 	if (yych <= 'S') {
5757 		if (yych <= '-') {
5758 			if (yych == ')') goto yy115;
5759 			if (yych <= ',') goto yy20;
5760 			goto yy297;
5761 		} else {
5762 			if (yych == '/') goto yy297;
5763 			if (yych <= '@') goto yy20;
5764 			goto yy291;
5765 		}
5766 	} else {
5767 		if (yych <= '_') {
5768 			if (yych <= 'T') goto yy359;
5769 			if (yych <= 'Z') goto yy291;
5770 			if (yych <= '^') goto yy20;
5771 			goto yy297;
5772 		} else {
5773 			if (yych <= 's') {
5774 				if (yych <= '`') goto yy20;
5775 				goto yy298;
5776 			} else {
5777 				if (yych <= 't') goto yy363;
5778 				if (yych <= 'z') goto yy298;
5779 				goto yy20;
5780 			}
5781 		}
5782 	}
5783 yy174:
5784 	YYDEBUG(174, *YYCURSOR);
5785 	yyaccept = 2;
5786 	yych = *(YYMARKER = ++YYCURSOR);
5787 	if (yych <= 'U') {
5788 		if (yych <= '/') {
5789 			if (yych <= ',') {
5790 				if (yych == ')') goto yy115;
5791 				goto yy20;
5792 			} else {
5793 				if (yych == '.') goto yy20;
5794 				goto yy297;
5795 			}
5796 		} else {
5797 			if (yych <= 'C') {
5798 				if (yych <= '@') goto yy20;
5799 				if (yych <= 'B') goto yy291;
5800 				goto yy360;
5801 			} else {
5802 				if (yych == 'P') goto yy361;
5803 				goto yy291;
5804 			}
5805 		}
5806 	} else {
5807 		if (yych <= 'b') {
5808 			if (yych <= '^') {
5809 				if (yych <= 'V') goto yy362;
5810 				if (yych <= 'Z') goto yy291;
5811 				goto yy20;
5812 			} else {
5813 				if (yych <= '_') goto yy297;
5814 				if (yych <= '`') goto yy20;
5815 				goto yy298;
5816 			}
5817 		} else {
5818 			if (yych <= 'p') {
5819 				if (yych <= 'c') goto yy364;
5820 				if (yych <= 'o') goto yy298;
5821 				goto yy365;
5822 			} else {
5823 				if (yych == 'v') goto yy366;
5824 				if (yych <= 'z') goto yy298;
5825 				goto yy20;
5826 			}
5827 		}
5828 	}
5829 yy175:
5830 	YYDEBUG(175, *YYCURSOR);
5831 	yyaccept = 2;
5832 	yych = *(YYMARKER = ++YYCURSOR);
5833 	if (yych <= 'W') {
5834 		if (yych <= '-') {
5835 			if (yych == ')') goto yy115;
5836 			if (yych <= ',') goto yy20;
5837 			goto yy297;
5838 		} else {
5839 			if (yych == '/') goto yy297;
5840 			if (yych <= '@') goto yy20;
5841 			goto yy291;
5842 		}
5843 	} else {
5844 		if (yych <= '_') {
5845 			if (yych <= 'X') goto yy311;
5846 			if (yych <= 'Z') goto yy291;
5847 			if (yych <= '^') goto yy20;
5848 			goto yy297;
5849 		} else {
5850 			if (yych <= 'w') {
5851 				if (yych <= '`') goto yy20;
5852 				goto yy298;
5853 			} else {
5854 				if (yych <= 'x') goto yy318;
5855 				if (yych <= 'z') goto yy298;
5856 				goto yy20;
5857 			}
5858 		}
5859 	}
5860 yy176:
5861 	YYDEBUG(176, *YYCURSOR);
5862 	yyaccept = 4;
5863 	yych = *(YYMARKER = ++YYCURSOR);
5864 	if (yych <= '/') {
5865 		if (yych == '.') goto yy75;
5866 	} else {
5867 		if (yych <= '9') goto yy367;
5868 		if (yych <= ':') goto yy75;
5869 	}
5870 yy177:
5871 	YYDEBUG(177, *YYCURSOR);
5872 #line 1373 "ext/date/lib/parse_date.re"
5873 	{
5874 		int tz_not_found;
5875 		DEBUG_OUTPUT("timetiny24 | timeshort24 | timelong24 | iso8601long");
5876 		TIMELIB_INIT;
5877 		TIMELIB_HAVE_TIME();
5878 		s->time->h = timelib_get_nr(&ptr, 2);
5879 		if (*ptr == ':' || *ptr == '.') {
5880 			s->time->i = timelib_get_nr(&ptr, 2);
5881 			if (*ptr == ':' || *ptr == '.') {
5882 				s->time->s = timelib_get_nr(&ptr, 2);
5883 
5884 				if (*ptr == '.') {
5885 					s->time->us = timelib_get_frac_nr(&ptr);
5886 				}
5887 			}
5888 		}
5889 
5890 		if (*ptr != '\0') {
5891 			s->time->z = timelib_parse_zone(&ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
5892 			if (tz_not_found) {
5893 				add_error(s, TIMELIB_ERR_TZID_NOT_FOUND, "The timezone could not be found in the database");
5894 			}
5895 		}
5896 		TIMELIB_DEINIT;
5897 		return TIMELIB_TIME24_WITH_ZONE;
5898 	}
5899 #line 5900 "<stdout>"
5900 yy178:
5901 	YYDEBUG(178, *YYCURSOR);
5902 	yyaccept = 4;
5903 	yych = *(YYMARKER = ++YYCURSOR);
5904 	if (yych <= '/') {
5905 		if (yych == '.') goto yy75;
5906 		goto yy177;
5907 	} else {
5908 		if (yych <= '4') goto yy367;
5909 		if (yych == ':') goto yy75;
5910 		goto yy177;
5911 	}
5912 yy179:
5913 	YYDEBUG(179, *YYCURSOR);
5914 	yyaccept = 4;
5915 	yych = *(YYMARKER = ++YYCURSOR);
5916 	if (yych == '.') goto yy75;
5917 	if (yych == ':') goto yy75;
5918 	goto yy177;
5919 yy180:
5920 	YYDEBUG(180, *YYCURSOR);
5921 	yych = *++YYCURSOR;
5922 	if (yych <= 'U') {
5923 		if (yych <= '@') {
5924 			if (yych == ')') goto yy115;
5925 			goto yy20;
5926 		} else {
5927 			if (yych == 'I') goto yy368;
5928 			if (yych <= 'T') goto yy291;
5929 			goto yy369;
5930 		}
5931 	} else {
5932 		if (yych <= 'i') {
5933 			if (yych <= 'Z') goto yy291;
5934 			if (yych <= '`') goto yy20;
5935 			if (yych <= 'h') goto yy291;
5936 			goto yy368;
5937 		} else {
5938 			if (yych == 'u') goto yy369;
5939 			if (yych <= 'z') goto yy291;
5940 			goto yy20;
5941 		}
5942 	}
5943 yy181:
5944 	YYDEBUG(181, *YYCURSOR);
5945 	yych = *++YYCURSOR;
5946 	if (yych <= 'M') {
5947 		if (yych <= '@') {
5948 			if (yych == ')') goto yy115;
5949 			goto yy20;
5950 		} else {
5951 			if (yych == 'D') goto yy370;
5952 			if (yych <= 'L') goto yy291;
5953 			goto yy371;
5954 		}
5955 	} else {
5956 		if (yych <= 'd') {
5957 			if (yych <= 'Z') goto yy291;
5958 			if (yych <= '`') goto yy20;
5959 			if (yych <= 'c') goto yy291;
5960 			goto yy370;
5961 		} else {
5962 			if (yych == 'm') goto yy371;
5963 			if (yych <= 'z') goto yy291;
5964 			goto yy20;
5965 		}
5966 	}
5967 yy182:
5968 	YYDEBUG(182, *YYCURSOR);
5969 	yych = *++YYCURSOR;
5970 	if (yych <= 'E') {
5971 		if (yych <= ')') {
5972 			if (yych <= '(') goto yy20;
5973 			goto yy115;
5974 		} else {
5975 			if (yych <= '@') goto yy20;
5976 			if (yych <= 'D') goto yy291;
5977 			goto yy372;
5978 		}
5979 	} else {
5980 		if (yych <= 'd') {
5981 			if (yych <= 'Z') goto yy291;
5982 			if (yych <= '`') goto yy20;
5983 			goto yy291;
5984 		} else {
5985 			if (yych <= 'e') goto yy372;
5986 			if (yych <= 'z') goto yy291;
5987 			goto yy20;
5988 		}
5989 	}
5990 yy183:
5991 	YYDEBUG(183, *YYCURSOR);
5992 	yych = *++YYCURSOR;
5993 	if (yych <= 'E') {
5994 		if (yych <= ')') {
5995 			if (yych <= '(') goto yy20;
5996 			goto yy115;
5997 		} else {
5998 			if (yych <= '@') goto yy20;
5999 			if (yych <= 'D') goto yy291;
6000 			goto yy373;
6001 		}
6002 	} else {
6003 		if (yych <= 'd') {
6004 			if (yych <= 'Z') goto yy291;
6005 			if (yych <= '`') goto yy20;
6006 			goto yy291;
6007 		} else {
6008 			if (yych <= 'e') goto yy373;
6009 			if (yych <= 'z') goto yy291;
6010 			goto yy20;
6011 		}
6012 	}
6013 yy184:
6014 	YYDEBUG(184, *YYCURSOR);
6015 	yyaccept = 2;
6016 	yych = *(YYMARKER = ++YYCURSOR);
6017 	if (yych <= 'T') {
6018 		if (yych <= '.') {
6019 			if (yych <= ')') {
6020 				if (yych <= '(') goto yy20;
6021 				goto yy115;
6022 			} else {
6023 				if (yych == '-') goto yy297;
6024 				goto yy20;
6025 			}
6026 		} else {
6027 			if (yych <= '@') {
6028 				if (yych <= '/') goto yy297;
6029 				goto yy20;
6030 			} else {
6031 				if (yych == 'I') goto yy368;
6032 				goto yy291;
6033 			}
6034 		}
6035 	} else {
6036 		if (yych <= '`') {
6037 			if (yych <= 'Z') {
6038 				if (yych <= 'U') goto yy369;
6039 				goto yy291;
6040 			} else {
6041 				if (yych == '_') goto yy297;
6042 				goto yy20;
6043 			}
6044 		} else {
6045 			if (yych <= 't') {
6046 				if (yych == 'i') goto yy374;
6047 				goto yy298;
6048 			} else {
6049 				if (yych <= 'u') goto yy375;
6050 				if (yych <= 'z') goto yy298;
6051 				goto yy20;
6052 			}
6053 		}
6054 	}
6055 yy185:
6056 	YYDEBUG(185, *YYCURSOR);
6057 	yyaccept = 2;
6058 	yych = *(YYMARKER = ++YYCURSOR);
6059 	if (yych <= 'L') {
6060 		if (yych <= '.') {
6061 			if (yych <= ')') {
6062 				if (yych <= '(') goto yy20;
6063 				goto yy115;
6064 			} else {
6065 				if (yych == '-') goto yy297;
6066 				goto yy20;
6067 			}
6068 		} else {
6069 			if (yych <= '@') {
6070 				if (yych <= '/') goto yy297;
6071 				goto yy20;
6072 			} else {
6073 				if (yych == 'D') goto yy370;
6074 				goto yy291;
6075 			}
6076 		}
6077 	} else {
6078 		if (yych <= '`') {
6079 			if (yych <= 'Z') {
6080 				if (yych <= 'M') goto yy371;
6081 				goto yy291;
6082 			} else {
6083 				if (yych == '_') goto yy297;
6084 				goto yy20;
6085 			}
6086 		} else {
6087 			if (yych <= 'l') {
6088 				if (yych == 'd') goto yy376;
6089 				goto yy298;
6090 			} else {
6091 				if (yych <= 'm') goto yy377;
6092 				if (yych <= 'z') goto yy298;
6093 				goto yy20;
6094 			}
6095 		}
6096 	}
6097 yy186:
6098 	YYDEBUG(186, *YYCURSOR);
6099 	yyaccept = 2;
6100 	yych = *(YYMARKER = ++YYCURSOR);
6101 	if (yych <= 'D') {
6102 		if (yych <= '-') {
6103 			if (yych == ')') goto yy115;
6104 			if (yych <= ',') goto yy20;
6105 			goto yy297;
6106 		} else {
6107 			if (yych == '/') goto yy297;
6108 			if (yych <= '@') goto yy20;
6109 			goto yy291;
6110 		}
6111 	} else {
6112 		if (yych <= '_') {
6113 			if (yych <= 'E') goto yy372;
6114 			if (yych <= 'Z') goto yy291;
6115 			if (yych <= '^') goto yy20;
6116 			goto yy297;
6117 		} else {
6118 			if (yych <= 'd') {
6119 				if (yych <= '`') goto yy20;
6120 				goto yy298;
6121 			} else {
6122 				if (yych <= 'e') goto yy378;
6123 				if (yych <= 'z') goto yy298;
6124 				goto yy20;
6125 			}
6126 		}
6127 	}
6128 yy187:
6129 	YYDEBUG(187, *YYCURSOR);
6130 	yyaccept = 2;
6131 	yych = *(YYMARKER = ++YYCURSOR);
6132 	if (yych <= 'D') {
6133 		if (yych <= '-') {
6134 			if (yych == ')') goto yy115;
6135 			if (yych <= ',') goto yy20;
6136 			goto yy297;
6137 		} else {
6138 			if (yych == '/') goto yy297;
6139 			if (yych <= '@') goto yy20;
6140 			goto yy291;
6141 		}
6142 	} else {
6143 		if (yych <= '_') {
6144 			if (yych <= 'E') goto yy373;
6145 			if (yych <= 'Z') goto yy291;
6146 			if (yych <= '^') goto yy20;
6147 			goto yy297;
6148 		} else {
6149 			if (yych <= 'd') {
6150 				if (yych <= '`') goto yy20;
6151 				goto yy298;
6152 			} else {
6153 				if (yych <= 'e') goto yy379;
6154 				if (yych <= 'z') goto yy298;
6155 				goto yy20;
6156 			}
6157 		}
6158 	}
6159 yy188:
6160 	YYDEBUG(188, *YYCURSOR);
6161 	yyaccept = 2;
6162 	yych = *(YYMARKER = ++YYCURSOR);
6163 	if (yych <= '.') {
6164 		if (yych <= ' ') {
6165 			if (yych == '\t') goto yy142;
6166 			if (yych <= 0x1F) goto yy20;
6167 			goto yy142;
6168 		} else {
6169 			if (yych == ')') goto yy115;
6170 			if (yych <= ',') goto yy20;
6171 			goto yy142;
6172 		}
6173 	} else {
6174 		if (yych <= 'H') {
6175 			if (yych <= '/') goto yy20;
6176 			if (yych <= '9') goto yy142;
6177 			if (yych <= '@') goto yy20;
6178 			goto yy291;
6179 		} else {
6180 			if (yych <= 'Z') {
6181 				if (yych <= 'I') goto yy380;
6182 				goto yy291;
6183 			} else {
6184 				if (yych <= '`') goto yy20;
6185 				if (yych <= 'z') goto yy291;
6186 				goto yy20;
6187 			}
6188 		}
6189 	}
6190 yy189:
6191 	YYDEBUG(189, *YYCURSOR);
6192 	yych = *++YYCURSOR;
6193 	if (yych <= 'E') {
6194 		if (yych <= '@') {
6195 			if (yych == ')') goto yy115;
6196 			goto yy20;
6197 		} else {
6198 			if (yych <= 'C') goto yy291;
6199 			if (yych <= 'D') goto yy381;
6200 			goto yy382;
6201 		}
6202 	} else {
6203 		if (yych <= 'c') {
6204 			if (yych <= 'Z') goto yy291;
6205 			if (yych <= '`') goto yy20;
6206 			goto yy291;
6207 		} else {
6208 			if (yych <= 'd') goto yy381;
6209 			if (yych <= 'e') goto yy382;
6210 			if (yych <= 'z') goto yy291;
6211 			goto yy20;
6212 		}
6213 	}
6214 yy190:
6215 	YYDEBUG(190, *YYCURSOR);
6216 	yyaccept = 2;
6217 	yych = *(YYMARKER = ++YYCURSOR);
6218 	if (yych <= 'D') {
6219 		if (yych <= '-') {
6220 			if (yych == ')') goto yy115;
6221 			if (yych <= ',') goto yy20;
6222 			goto yy297;
6223 		} else {
6224 			if (yych <= '/') {
6225 				if (yych <= '.') goto yy20;
6226 				goto yy297;
6227 			} else {
6228 				if (yych <= '@') goto yy20;
6229 				if (yych <= 'C') goto yy291;
6230 				goto yy381;
6231 			}
6232 		}
6233 	} else {
6234 		if (yych <= '`') {
6235 			if (yych <= 'Z') {
6236 				if (yych <= 'E') goto yy382;
6237 				goto yy291;
6238 			} else {
6239 				if (yych == '_') goto yy297;
6240 				goto yy20;
6241 			}
6242 		} else {
6243 			if (yych <= 'd') {
6244 				if (yych <= 'c') goto yy298;
6245 				goto yy383;
6246 			} else {
6247 				if (yych <= 'e') goto yy384;
6248 				if (yych <= 'z') goto yy298;
6249 				goto yy20;
6250 			}
6251 		}
6252 	}
6253 yy191:
6254 	YYDEBUG(191, *YYCURSOR);
6255 	yych = *++YYCURSOR;
6256 	if (yych <= 'S') {
6257 		if (yych <= ')') {
6258 			if (yych <= '(') goto yy20;
6259 			goto yy115;
6260 		} else {
6261 			if (yych <= '@') goto yy20;
6262 			if (yych <= 'R') goto yy291;
6263 			goto yy385;
6264 		}
6265 	} else {
6266 		if (yych <= 'r') {
6267 			if (yych <= 'Z') goto yy291;
6268 			if (yych <= '`') goto yy20;
6269 			goto yy291;
6270 		} else {
6271 			if (yych <= 's') goto yy385;
6272 			if (yych <= 'z') goto yy291;
6273 			goto yy20;
6274 		}
6275 	}
6276 yy192:
6277 	YYDEBUG(192, *YYCURSOR);
6278 	yyaccept = 2;
6279 	yych = *(YYMARKER = ++YYCURSOR);
6280 	if (yych <= 'R') {
6281 		if (yych <= '-') {
6282 			if (yych == ')') goto yy115;
6283 			if (yych <= ',') goto yy20;
6284 			goto yy297;
6285 		} else {
6286 			if (yych == '/') goto yy297;
6287 			if (yych <= '@') goto yy20;
6288 			goto yy291;
6289 		}
6290 	} else {
6291 		if (yych <= '_') {
6292 			if (yych <= 'S') goto yy385;
6293 			if (yych <= 'Z') goto yy291;
6294 			if (yych <= '^') goto yy20;
6295 			goto yy297;
6296 		} else {
6297 			if (yych <= 'r') {
6298 				if (yych <= '`') goto yy20;
6299 				goto yy298;
6300 			} else {
6301 				if (yych <= 's') goto yy386;
6302 				if (yych <= 'z') goto yy298;
6303 				goto yy20;
6304 			}
6305 		}
6306 	}
6307 yy193:
6308 	YYDEBUG(193, *YYCURSOR);
6309 	yyaccept = 0;
6310 	YYMARKER = ++YYCURSOR;
6311 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
6312 	yych = *YYCURSOR;
6313 	if (yych == 0xC2) goto yy387;
6314 	goto yy8;
6315 yy194:
6316 	YYDEBUG(194, *YYCURSOR);
6317 	++YYCURSOR;
6318 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
6319 	yych = *YYCURSOR;
6320 	if (yych == 0xAF) goto yy388;
6321 	goto yy59;
6322 yy195:
6323 	YYDEBUG(195, *YYCURSOR);
6324 	++YYCURSOR;
6325 	if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
6326 	yych = *YYCURSOR;
6327 yy196:
6328 	YYDEBUG(196, *YYCURSOR);
6329 	if (yych <= 'X') {
6330 		if (yych <= 'G') {
6331 			if (yych <= ' ') {
6332 				if (yych == '\t') goto yy195;
6333 				if (yych <= 0x1F) goto yy59;
6334 				goto yy195;
6335 			} else {
6336 				if (yych <= 'D') {
6337 					if (yych <= 'C') goto yy59;
6338 					goto yy198;
6339 				} else {
6340 					if (yych == 'F') goto yy199;
6341 					goto yy59;
6342 				}
6343 			}
6344 		} else {
6345 			if (yych <= 'S') {
6346 				if (yych <= 'L') {
6347 					if (yych <= 'H') goto yy79;
6348 					goto yy59;
6349 				} else {
6350 					if (yych <= 'M') goto yy200;
6351 					if (yych <= 'R') goto yy59;
6352 					goto yy201;
6353 				}
6354 			} else {
6355 				if (yych <= 'U') {
6356 					if (yych <= 'T') goto yy87;
6357 					goto yy88;
6358 				} else {
6359 					if (yych == 'W') goto yy90;
6360 					goto yy59;
6361 				}
6362 			}
6363 		}
6364 	} else {
6365 		if (yych <= 'r') {
6366 			if (yych <= 'f') {
6367 				if (yych <= 'c') {
6368 					if (yych <= 'Y') goto yy92;
6369 					goto yy59;
6370 				} else {
6371 					if (yych <= 'd') goto yy198;
6372 					if (yych <= 'e') goto yy59;
6373 					goto yy199;
6374 				}
6375 			} else {
6376 				if (yych <= 'h') {
6377 					if (yych <= 'g') goto yy59;
6378 					goto yy79;
6379 				} else {
6380 					if (yych == 'm') goto yy200;
6381 					goto yy59;
6382 				}
6383 			}
6384 		} else {
6385 			if (yych <= 'w') {
6386 				if (yych <= 't') {
6387 					if (yych <= 's') goto yy201;
6388 					goto yy87;
6389 				} else {
6390 					if (yych <= 'u') goto yy88;
6391 					if (yych <= 'v') goto yy59;
6392 					goto yy90;
6393 				}
6394 			} else {
6395 				if (yych <= 'y') {
6396 					if (yych <= 'x') goto yy59;
6397 					goto yy92;
6398 				} else {
6399 					if (yych == 0xC2) goto yy211;
6400 					goto yy59;
6401 				}
6402 			}
6403 		}
6404 	}
6405 yy197:
6406 	YYDEBUG(197, *YYCURSOR);
6407 	yych = *++YYCURSOR;
6408 	if (yych <= 0xC1) {
6409 		if (yych <= '/') goto yy196;
6410 		if (yych <= '9') goto yy389;
6411 		goto yy196;
6412 	} else {
6413 		if (yych <= 0xC2) goto yy97;
6414 		if (yych == 0xE2) goto yy98;
6415 		goto yy196;
6416 	}
6417 yy198:
6418 	YYDEBUG(198, *YYCURSOR);
6419 	yych = *++YYCURSOR;
6420 	if (yych == 'A') goto yy242;
6421 	if (yych == 'a') goto yy242;
6422 	goto yy59;
6423 yy199:
6424 	YYDEBUG(199, *YYCURSOR);
6425 	yych = *++YYCURSOR;
6426 	if (yych <= 'R') {
6427 		if (yych == 'O') goto yy245;
6428 		if (yych <= 'Q') goto yy59;
6429 		goto yy246;
6430 	} else {
6431 		if (yych <= 'o') {
6432 			if (yych <= 'n') goto yy59;
6433 			goto yy245;
6434 		} else {
6435 			if (yych == 'r') goto yy246;
6436 			goto yy59;
6437 		}
6438 	}
6439 yy200:
6440 	YYDEBUG(200, *YYCURSOR);
6441 	yych = *++YYCURSOR;
6442 	if (yych <= 'S') {
6443 		if (yych <= 'N') {
6444 			if (yych == 'I') goto yy257;
6445 			goto yy59;
6446 		} else {
6447 			if (yych <= 'O') goto yy258;
6448 			if (yych <= 'R') goto yy59;
6449 			goto yy259;
6450 		}
6451 	} else {
6452 		if (yych <= 'n') {
6453 			if (yych == 'i') goto yy257;
6454 			goto yy59;
6455 		} else {
6456 			if (yych <= 'o') goto yy258;
6457 			if (yych == 's') goto yy259;
6458 			goto yy59;
6459 		}
6460 	}
6461 yy201:
6462 	YYDEBUG(201, *YYCURSOR);
6463 	yych = *++YYCURSOR;
6464 	if (yych <= 'U') {
6465 		if (yych <= 'D') {
6466 			if (yych == 'A') goto yy263;
6467 			goto yy59;
6468 		} else {
6469 			if (yych <= 'E') goto yy390;
6470 			if (yych <= 'T') goto yy59;
6471 			goto yy265;
6472 		}
6473 	} else {
6474 		if (yych <= 'd') {
6475 			if (yych == 'a') goto yy263;
6476 			goto yy59;
6477 		} else {
6478 			if (yych <= 'e') goto yy390;
6479 			if (yych == 'u') goto yy265;
6480 			goto yy59;
6481 		}
6482 	}
6483 yy202:
6484 	YYDEBUG(202, *YYCURSOR);
6485 	yyaccept = 2;
6486 	yych = *(YYMARKER = ++YYCURSOR);
6487 	if (yych <= 'W') {
6488 		if (yych <= 'D') {
6489 			if (yych <= '/') {
6490 				if (yych <= '\t') {
6491 					if (yych <= 0x08) goto yy20;
6492 					goto yy196;
6493 				} else {
6494 					if (yych == ' ') goto yy196;
6495 					goto yy20;
6496 				}
6497 			} else {
6498 				if (yych <= '9') {
6499 					if (yych <= '5') goto yy391;
6500 					goto yy392;
6501 				} else {
6502 					if (yych <= ':') goto yy393;
6503 					if (yych <= 'C') goto yy20;
6504 					goto yy196;
6505 				}
6506 			}
6507 		} else {
6508 			if (yych <= 'L') {
6509 				if (yych <= 'F') {
6510 					if (yych <= 'E') goto yy20;
6511 					goto yy196;
6512 				} else {
6513 					if (yych == 'H') goto yy196;
6514 					goto yy20;
6515 				}
6516 			} else {
6517 				if (yych <= 'R') {
6518 					if (yych <= 'M') goto yy196;
6519 					goto yy20;
6520 				} else {
6521 					if (yych == 'V') goto yy20;
6522 					goto yy196;
6523 				}
6524 			}
6525 		}
6526 	} else {
6527 		if (yych <= 'm') {
6528 			if (yych <= 'e') {
6529 				if (yych <= 'Y') {
6530 					if (yych <= 'X') goto yy20;
6531 					goto yy196;
6532 				} else {
6533 					if (yych == 'd') goto yy196;
6534 					goto yy20;
6535 				}
6536 			} else {
6537 				if (yych <= 'g') {
6538 					if (yych <= 'f') goto yy196;
6539 					goto yy20;
6540 				} else {
6541 					if (yych <= 'h') goto yy196;
6542 					if (yych <= 'l') goto yy20;
6543 					goto yy196;
6544 				}
6545 			}
6546 		} else {
6547 			if (yych <= 'x') {
6548 				if (yych <= 'u') {
6549 					if (yych <= 'r') goto yy20;
6550 					goto yy196;
6551 				} else {
6552 					if (yych == 'w') goto yy196;
6553 					goto yy20;
6554 				}
6555 			} else {
6556 				if (yych <= 0xC2) {
6557 					if (yych <= 'y') goto yy196;
6558 					if (yych <= 0xC1) goto yy20;
6559 					goto yy97;
6560 				} else {
6561 					if (yych == 0xE2) goto yy98;
6562 					goto yy20;
6563 				}
6564 			}
6565 		}
6566 	}
6567 yy203:
6568 	YYDEBUG(203, *YYCURSOR);
6569 	yych = *++YYCURSOR;
6570 	if (yych <= '/') goto yy59;
6571 	if (yych <= '5') goto yy394;
6572 	if (yych <= '9') goto yy115;
6573 	goto yy59;
6574 yy204:
6575 	YYDEBUG(204, *YYCURSOR);
6576 	yyaccept = 2;
6577 	yych = *(YYMARKER = ++YYCURSOR);
6578 	if (yych <= 'X') {
6579 		if (yych <= 'E') {
6580 			if (yych <= ' ') {
6581 				if (yych == '\t') goto yy196;
6582 				if (yych <= 0x1F) goto yy20;
6583 				goto yy196;
6584 			} else {
6585 				if (yych <= '9') {
6586 					if (yych <= '/') goto yy20;
6587 					goto yy392;
6588 				} else {
6589 					if (yych == 'D') goto yy196;
6590 					goto yy20;
6591 				}
6592 			}
6593 		} else {
6594 			if (yych <= 'M') {
6595 				if (yych <= 'G') {
6596 					if (yych <= 'F') goto yy196;
6597 					goto yy20;
6598 				} else {
6599 					if (yych <= 'H') goto yy196;
6600 					if (yych <= 'L') goto yy20;
6601 					goto yy196;
6602 				}
6603 			} else {
6604 				if (yych <= 'U') {
6605 					if (yych <= 'R') goto yy20;
6606 					goto yy196;
6607 				} else {
6608 					if (yych == 'W') goto yy196;
6609 					goto yy20;
6610 				}
6611 			}
6612 		}
6613 	} else {
6614 		if (yych <= 'r') {
6615 			if (yych <= 'f') {
6616 				if (yych <= 'c') {
6617 					if (yych <= 'Y') goto yy196;
6618 					goto yy20;
6619 				} else {
6620 					if (yych == 'e') goto yy20;
6621 					goto yy196;
6622 				}
6623 			} else {
6624 				if (yych <= 'h') {
6625 					if (yych <= 'g') goto yy20;
6626 					goto yy196;
6627 				} else {
6628 					if (yych == 'm') goto yy196;
6629 					goto yy20;
6630 				}
6631 			}
6632 		} else {
6633 			if (yych <= 'y') {
6634 				if (yych <= 'v') {
6635 					if (yych <= 'u') goto yy196;
6636 					goto yy20;
6637 				} else {
6638 					if (yych == 'x') goto yy20;
6639 					goto yy196;
6640 				}
6641 			} else {
6642 				if (yych <= 0xC2) {
6643 					if (yych <= 0xC1) goto yy20;
6644 					goto yy97;
6645 				} else {
6646 					if (yych == 0xE2) goto yy98;
6647 					goto yy20;
6648 				}
6649 			}
6650 		}
6651 	}
6652 yy205:
6653 	YYDEBUG(205, *YYCURSOR);
6654 	yyaccept = 2;
6655 	yych = *(YYMARKER = ++YYCURSOR);
6656 	if (yych <= 'X') {
6657 		if (yych <= 'E') {
6658 			if (yych <= ' ') {
6659 				if (yych == '\t') goto yy196;
6660 				if (yych <= 0x1F) goto yy20;
6661 				goto yy196;
6662 			} else {
6663 				if (yych <= '9') {
6664 					if (yych <= '/') goto yy20;
6665 					goto yy395;
6666 				} else {
6667 					if (yych == 'D') goto yy196;
6668 					goto yy20;
6669 				}
6670 			}
6671 		} else {
6672 			if (yych <= 'M') {
6673 				if (yych <= 'G') {
6674 					if (yych <= 'F') goto yy196;
6675 					goto yy20;
6676 				} else {
6677 					if (yych <= 'H') goto yy196;
6678 					if (yych <= 'L') goto yy20;
6679 					goto yy196;
6680 				}
6681 			} else {
6682 				if (yych <= 'U') {
6683 					if (yych <= 'R') goto yy20;
6684 					goto yy196;
6685 				} else {
6686 					if (yych == 'W') goto yy196;
6687 					goto yy20;
6688 				}
6689 			}
6690 		}
6691 	} else {
6692 		if (yych <= 'r') {
6693 			if (yych <= 'f') {
6694 				if (yych <= 'c') {
6695 					if (yych <= 'Y') goto yy196;
6696 					goto yy20;
6697 				} else {
6698 					if (yych == 'e') goto yy20;
6699 					goto yy196;
6700 				}
6701 			} else {
6702 				if (yych <= 'h') {
6703 					if (yych <= 'g') goto yy20;
6704 					goto yy196;
6705 				} else {
6706 					if (yych == 'm') goto yy196;
6707 					goto yy20;
6708 				}
6709 			}
6710 		} else {
6711 			if (yych <= 'y') {
6712 				if (yych <= 'v') {
6713 					if (yych <= 'u') goto yy196;
6714 					goto yy20;
6715 				} else {
6716 					if (yych == 'x') goto yy20;
6717 					goto yy196;
6718 				}
6719 			} else {
6720 				if (yych <= 0xC2) {
6721 					if (yych <= 0xC1) goto yy20;
6722 					goto yy97;
6723 				} else {
6724 					if (yych == 0xE2) goto yy98;
6725 					goto yy20;
6726 				}
6727 			}
6728 		}
6729 	}
6730 yy206:
6731 	YYDEBUG(206, *YYCURSOR);
6732 	++YYCURSOR;
6733 	if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13);
6734 	yych = *YYCURSOR;
6735 yy207:
6736 	YYDEBUG(207, *YYCURSOR);
6737 	switch (yych) {
6738 	case '\t':
6739 	case ' ':
6740 	case '-':
6741 	case '.':	goto yy206;
6742 	case 'A':
6743 	case 'a':	goto yy76;
6744 	case 'D':
6745 	case 'd':	goto yy215;
6746 	case 'F':
6747 	case 'f':	goto yy216;
6748 	case 'I':	goto yy80;
6749 	case 'J':
6750 	case 'j':	goto yy82;
6751 	case 'M':
6752 	case 'm':	goto yy217;
6753 	case 'N':
6754 	case 'n':	goto yy84;
6755 	case 'O':
6756 	case 'o':	goto yy85;
6757 	case 'S':
6758 	case 's':	goto yy218;
6759 	case 'V':	goto yy89;
6760 	case 'X':	goto yy91;
6761 	default:	goto yy59;
6762 	}
6763 yy208:
6764 	YYDEBUG(208, *YYCURSOR);
6765 	yych = *++YYCURSOR;
6766 	if (yych <= '.') {
6767 		if (yych <= ',') goto yy59;
6768 		if (yych <= '-') goto yy396;
6769 		goto yy397;
6770 	} else {
6771 		if (yych <= '/') goto yy59;
6772 		if (yych <= '9') goto yy210;
6773 		goto yy59;
6774 	}
6775 yy209:
6776 	YYDEBUG(209, *YYCURSOR);
6777 	yych = *++YYCURSOR;
6778 	if (yych <= '.') {
6779 		if (yych <= ',') goto yy59;
6780 		if (yych <= '-') goto yy396;
6781 		goto yy397;
6782 	} else {
6783 		if (yych <= '/') goto yy59;
6784 		if (yych >= '3') goto yy59;
6785 	}
6786 yy210:
6787 	YYDEBUG(210, *YYCURSOR);
6788 	yych = *++YYCURSOR;
6789 	if (yych <= ',') goto yy59;
6790 	if (yych <= '-') goto yy396;
6791 	if (yych <= '.') goto yy397;
6792 	goto yy59;
6793 yy211:
6794 	YYDEBUG(211, *YYCURSOR);
6795 	yych = *++YYCURSOR;
6796 	if (yych == 0xB5) goto yy274;
6797 	goto yy59;
6798 yy212:
6799 	YYDEBUG(212, *YYCURSOR);
6800 	yych = *++YYCURSOR;
6801 	if (yych <= '.') {
6802 		if (yych <= ',') goto yy59;
6803 		if (yych <= '-') goto yy398;
6804 		goto yy396;
6805 	} else {
6806 		if (yych <= '/') goto yy59;
6807 		if (yych <= '9') goto yy214;
6808 		goto yy59;
6809 	}
6810 yy213:
6811 	YYDEBUG(213, *YYCURSOR);
6812 	yych = *++YYCURSOR;
6813 	if (yych <= '.') {
6814 		if (yych <= ',') goto yy59;
6815 		if (yych <= '-') goto yy398;
6816 		goto yy396;
6817 	} else {
6818 		if (yych <= '/') goto yy59;
6819 		if (yych >= '3') goto yy59;
6820 	}
6821 yy214:
6822 	YYDEBUG(214, *YYCURSOR);
6823 	yych = *++YYCURSOR;
6824 	if (yych <= ',') goto yy59;
6825 	if (yych <= '-') goto yy398;
6826 	if (yych <= '.') goto yy396;
6827 	goto yy59;
6828 yy215:
6829 	YYDEBUG(215, *YYCURSOR);
6830 	yych = *++YYCURSOR;
6831 	if (yych == 'E') goto yy243;
6832 	if (yych == 'e') goto yy243;
6833 	goto yy59;
6834 yy216:
6835 	YYDEBUG(216, *YYCURSOR);
6836 	yych = *++YYCURSOR;
6837 	if (yych == 'E') goto yy244;
6838 	if (yych == 'e') goto yy244;
6839 	goto yy59;
6840 yy217:
6841 	YYDEBUG(217, *YYCURSOR);
6842 	yych = *++YYCURSOR;
6843 	if (yych == 'A') goto yy256;
6844 	if (yych == 'a') goto yy256;
6845 	goto yy59;
6846 yy218:
6847 	YYDEBUG(218, *YYCURSOR);
6848 	yych = *++YYCURSOR;
6849 	if (yych == 'E') goto yy399;
6850 	if (yych == 'e') goto yy399;
6851 	goto yy59;
6852 yy219:
6853 	YYDEBUG(219, *YYCURSOR);
6854 	yyaccept = 4;
6855 	yych = *(YYMARKER = ++YYCURSOR);
6856 	if (yych <= '.') {
6857 		if (yych <= ',') goto yy177;
6858 		if (yych <= '-') goto yy396;
6859 		goto yy400;
6860 	} else {
6861 		if (yych <= '/') goto yy177;
6862 		if (yych <= '9') goto yy222;
6863 		if (yych <= ':') goto yy401;
6864 		goto yy177;
6865 	}
6866 yy220:
6867 	YYDEBUG(220, *YYCURSOR);
6868 	yyaccept = 4;
6869 	yych = *(YYMARKER = ++YYCURSOR);
6870 	if (yych <= '/') {
6871 		if (yych <= ',') goto yy177;
6872 		if (yych <= '-') goto yy396;
6873 		if (yych <= '.') goto yy400;
6874 		goto yy177;
6875 	} else {
6876 		if (yych <= '2') goto yy222;
6877 		if (yych <= '9') goto yy239;
6878 		if (yych <= ':') goto yy401;
6879 		goto yy177;
6880 	}
6881 yy221:
6882 	YYDEBUG(221, *YYCURSOR);
6883 	yyaccept = 4;
6884 	yych = *(YYMARKER = ++YYCURSOR);
6885 	if (yych <= '.') {
6886 		if (yych <= ',') goto yy177;
6887 		if (yych <= '-') goto yy396;
6888 		goto yy400;
6889 	} else {
6890 		if (yych <= '/') goto yy177;
6891 		if (yych <= '9') goto yy239;
6892 		if (yych <= ':') goto yy401;
6893 		goto yy177;
6894 	}
6895 yy222:
6896 	YYDEBUG(222, *YYCURSOR);
6897 	yyaccept = 4;
6898 	yych = *(YYMARKER = ++YYCURSOR);
6899 	if (yych <= '.') {
6900 		if (yych <= ',') goto yy177;
6901 		if (yych <= '-') goto yy396;
6902 		goto yy400;
6903 	} else {
6904 		if (yych == ':') goto yy401;
6905 		goto yy177;
6906 	}
6907 yy223:
6908 	YYDEBUG(223, *YYCURSOR);
6909 	yyaccept = 5;
6910 	yych = *(YYMARKER = ++YYCURSOR);
6911 	if (yych <= 'n') {
6912 		if (yych <= '/') {
6913 			if (yych >= '/') goto yy402;
6914 		} else {
6915 			if (yych <= '9') goto yy226;
6916 			if (yych >= 'n') goto yy403;
6917 		}
6918 	} else {
6919 		if (yych <= 'r') {
6920 			if (yych >= 'r') goto yy403;
6921 		} else {
6922 			if (yych <= 's') goto yy404;
6923 			if (yych <= 't') goto yy405;
6924 		}
6925 	}
6926 yy224:
6927 	YYDEBUG(224, *YYCURSOR);
6928 #line 1467 "ext/date/lib/parse_date.re"
6929 	{
6930 		int length = 0;
6931 		DEBUG_OUTPUT("americanshort | american");
6932 		TIMELIB_INIT;
6933 		TIMELIB_HAVE_DATE();
6934 		s->time->m = timelib_get_nr(&ptr, 2);
6935 		s->time->d = timelib_get_nr(&ptr, 2);
6936 		if (*ptr == '/') {
6937 			s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
6938 			TIMELIB_PROCESS_YEAR(s->time->y, length);
6939 		}
6940 		TIMELIB_DEINIT;
6941 		return TIMELIB_AMERICAN;
6942 	}
6943 #line 6944 "<stdout>"
6944 yy225:
6945 	YYDEBUG(225, *YYCURSOR);
6946 	yyaccept = 5;
6947 	yych = *(YYMARKER = ++YYCURSOR);
6948 	if (yych <= 'n') {
6949 		if (yych <= '/') {
6950 			if (yych <= '.') goto yy224;
6951 			goto yy402;
6952 		} else {
6953 			if (yych <= '1') goto yy226;
6954 			if (yych <= 'm') goto yy224;
6955 			goto yy403;
6956 		}
6957 	} else {
6958 		if (yych <= 'r') {
6959 			if (yych <= 'q') goto yy224;
6960 			goto yy403;
6961 		} else {
6962 			if (yych <= 's') goto yy404;
6963 			if (yych <= 't') goto yy405;
6964 			goto yy224;
6965 		}
6966 	}
6967 yy226:
6968 	YYDEBUG(226, *YYCURSOR);
6969 	yyaccept = 5;
6970 	yych = *(YYMARKER = ++YYCURSOR);
6971 	if (yych <= 'n') {
6972 		if (yych == '/') goto yy402;
6973 		if (yych <= 'm') goto yy224;
6974 		goto yy403;
6975 	} else {
6976 		if (yych <= 'r') {
6977 			if (yych <= 'q') goto yy224;
6978 			goto yy403;
6979 		} else {
6980 			if (yych <= 's') goto yy404;
6981 			if (yych <= 't') goto yy405;
6982 			goto yy224;
6983 		}
6984 	}
6985 yy227:
6986 	YYDEBUG(227, *YYCURSOR);
6987 	yych = *++YYCURSOR;
6988 	if (yych <= 'U') {
6989 		if (yych == 'P') goto yy406;
6990 		if (yych <= 'T') goto yy59;
6991 		goto yy407;
6992 	} else {
6993 		if (yych <= 'p') {
6994 			if (yych <= 'o') goto yy59;
6995 			goto yy406;
6996 		} else {
6997 			if (yych == 'u') goto yy407;
6998 			goto yy59;
6999 		}
7000 	}
7001 yy228:
7002 	YYDEBUG(228, *YYCURSOR);
7003 	yych = *++YYCURSOR;
7004 	if (yych == 'E') goto yy408;
7005 	if (yych == 'e') goto yy408;
7006 	goto yy59;
7007 yy229:
7008 	YYDEBUG(229, *YYCURSOR);
7009 	yych = *++YYCURSOR;
7010 	if (yych == 'E') goto yy409;
7011 	if (yych == 'e') goto yy409;
7012 	goto yy59;
7013 yy230:
7014 	YYDEBUG(230, *YYCURSOR);
7015 	yych = *++YYCURSOR;
7016 	if (yych <= 'U') {
7017 		if (yych == 'A') goto yy410;
7018 		if (yych <= 'T') goto yy59;
7019 		goto yy411;
7020 	} else {
7021 		if (yych <= 'a') {
7022 			if (yych <= '`') goto yy59;
7023 			goto yy410;
7024 		} else {
7025 			if (yych == 'u') goto yy411;
7026 			goto yy59;
7027 		}
7028 	}
7029 yy231:
7030 	YYDEBUG(231, *YYCURSOR);
7031 	yych = *++YYCURSOR;
7032 	if (yych == 'A') goto yy412;
7033 	if (yych == 'a') goto yy412;
7034 	goto yy59;
7035 yy232:
7036 	YYDEBUG(232, *YYCURSOR);
7037 	yych = *++YYCURSOR;
7038 	if (yych == 'O') goto yy413;
7039 	if (yych == 'o') goto yy413;
7040 	goto yy59;
7041 yy233:
7042 	YYDEBUG(233, *YYCURSOR);
7043 	yych = *++YYCURSOR;
7044 	if (yych == 'C') goto yy414;
7045 	if (yych == 'c') goto yy414;
7046 	goto yy59;
7047 yy234:
7048 	YYDEBUG(234, *YYCURSOR);
7049 	yych = *++YYCURSOR;
7050 	if (yych == 'E') goto yy415;
7051 	if (yych == 'e') goto yy415;
7052 	goto yy59;
7053 yy235:
7054 	YYDEBUG(235, *YYCURSOR);
7055 	yych = *++YYCURSOR;
7056 	if (yych <= '/') goto yy207;
7057 	if (yych <= '0') goto yy416;
7058 	if (yych <= '1') goto yy417;
7059 	if (yych <= '9') goto yy214;
7060 	goto yy207;
7061 yy236:
7062 	YYDEBUG(236, *YYCURSOR);
7063 	yych = *++YYCURSOR;
7064 	if (yych <= '9') {
7065 		if (yych == '-') goto yy418;
7066 		if (yych <= '/') goto yy196;
7067 		goto yy419;
7068 	} else {
7069 		if (yych <= 0xC2) {
7070 			if (yych <= 0xC1) goto yy196;
7071 			goto yy97;
7072 		} else {
7073 			if (yych == 0xE2) goto yy98;
7074 			goto yy196;
7075 		}
7076 	}
7077 yy237:
7078 	YYDEBUG(237, *YYCURSOR);
7079 	yych = *++YYCURSOR;
7080 	if (yych <= '9') {
7081 		if (yych == '-') goto yy418;
7082 		if (yych <= '/') goto yy196;
7083 		goto yy421;
7084 	} else {
7085 		if (yych <= 0xC2) {
7086 			if (yych <= 0xC1) goto yy196;
7087 			goto yy97;
7088 		} else {
7089 			if (yych == 0xE2) goto yy98;
7090 			goto yy196;
7091 		}
7092 	}
7093 yy238:
7094 	YYDEBUG(238, *YYCURSOR);
7095 	yyaccept = 4;
7096 	yych = *(YYMARKER = ++YYCURSOR);
7097 	if (yych <= '/') {
7098 		if (yych == '.') goto yy401;
7099 		goto yy177;
7100 	} else {
7101 		if (yych <= '9') goto yy239;
7102 		if (yych <= ':') goto yy401;
7103 		goto yy177;
7104 	}
7105 yy239:
7106 	YYDEBUG(239, *YYCURSOR);
7107 	yyaccept = 4;
7108 	yych = *(YYMARKER = ++YYCURSOR);
7109 	if (yych == '.') goto yy401;
7110 	if (yych == ':') goto yy401;
7111 	goto yy177;
7112 yy240:
7113 	YYDEBUG(240, *YYCURSOR);
7114 	yych = *++YYCURSOR;
7115 	if (yych == 'R') goto yy423;
7116 	if (yych == 'r') goto yy423;
7117 	goto yy59;
7118 yy241:
7119 	YYDEBUG(241, *YYCURSOR);
7120 	yych = *++YYCURSOR;
7121 	if (yych == 'G') goto yy424;
7122 	if (yych == 'g') goto yy424;
7123 	goto yy59;
7124 yy242:
7125 	YYDEBUG(242, *YYCURSOR);
7126 	yych = *++YYCURSOR;
7127 	if (yych == 'Y') goto yy425;
7128 	if (yych == 'y') goto yy425;
7129 	goto yy59;
7130 yy243:
7131 	YYDEBUG(243, *YYCURSOR);
7132 	yych = *++YYCURSOR;
7133 	if (yych == 'C') goto yy426;
7134 	if (yych == 'c') goto yy426;
7135 	goto yy59;
7136 yy244:
7137 	YYDEBUG(244, *YYCURSOR);
7138 	yych = *++YYCURSOR;
7139 	if (yych == 'B') goto yy427;
7140 	if (yych == 'b') goto yy427;
7141 	goto yy59;
7142 yy245:
7143 	YYDEBUG(245, *YYCURSOR);
7144 	yych = *++YYCURSOR;
7145 	if (yych == 'R') goto yy428;
7146 	if (yych == 'r') goto yy428;
7147 	goto yy59;
7148 yy246:
7149 	YYDEBUG(246, *YYCURSOR);
7150 	yych = *++YYCURSOR;
7151 	if (yych == 'I') goto yy429;
7152 	if (yych == 'i') goto yy429;
7153 	goto yy59;
7154 yy247:
7155 	YYDEBUG(247, *YYCURSOR);
7156 	yych = *++YYCURSOR;
7157 	if (yych == 'U') goto yy430;
7158 	if (yych == 'u') goto yy430;
7159 	goto yy59;
7160 yy248:
7161 	YYDEBUG(248, *YYCURSOR);
7162 	++YYCURSOR;
7163 	if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
7164 	yych = *YYCURSOR;
7165 	YYDEBUG(249, *YYCURSOR);
7166 	if (yych <= ' ') {
7167 		if (yych == '\t') goto yy248;
7168 		if (yych <= 0x1F) goto yy59;
7169 		goto yy248;
7170 	} else {
7171 		if (yych <= '.') {
7172 			if (yych <= ',') goto yy59;
7173 			goto yy248;
7174 		} else {
7175 			if (yych <= '/') goto yy59;
7176 			if (yych >= ':') goto yy59;
7177 		}
7178 	}
7179 yy250:
7180 	YYDEBUG(250, *YYCURSOR);
7181 	yych = *++YYCURSOR;
7182 	if (yych <= '/') goto yy251;
7183 	if (yych <= '9') goto yy431;
7184 yy251:
7185 	YYDEBUG(251, *YYCURSOR);
7186 #line 1549 "ext/date/lib/parse_date.re"
7187 	{
7188 		int length = 0;
7189 		DEBUG_OUTPUT("datefull");
7190 		TIMELIB_INIT;
7191 		TIMELIB_HAVE_DATE();
7192 		s->time->d = timelib_get_nr(&ptr, 2);
7193 		timelib_skip_day_suffix(&ptr);
7194 		s->time->m = timelib_get_month(&ptr);
7195 		s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
7196 		TIMELIB_PROCESS_YEAR(s->time->y, length);
7197 		TIMELIB_DEINIT;
7198 		return TIMELIB_DATE_FULL;
7199 	}
7200 #line 7201 "<stdout>"
7201 yy252:
7202 	YYDEBUG(252, *YYCURSOR);
7203 	yyaccept = 3;
7204 	yych = *(YYMARKER = ++YYCURSOR);
7205 	if (yych <= ',') {
7206 		if (yych <= '\t') {
7207 			if (yych <= 0x08) goto yy81;
7208 			goto yy248;
7209 		} else {
7210 			if (yych == ' ') goto yy248;
7211 			goto yy81;
7212 		}
7213 	} else {
7214 		if (yych <= '9') {
7215 			if (yych <= '.') goto yy248;
7216 			if (yych <= '/') goto yy81;
7217 			goto yy250;
7218 		} else {
7219 			if (yych != 'I') goto yy81;
7220 		}
7221 	}
7222 yy253:
7223 	YYDEBUG(253, *YYCURSOR);
7224 	yyaccept = 3;
7225 	yych = *(YYMARKER = ++YYCURSOR);
7226 	if (yych <= ' ') {
7227 		if (yych == '\t') goto yy248;
7228 		if (yych <= 0x1F) goto yy81;
7229 		goto yy248;
7230 	} else {
7231 		if (yych <= '.') {
7232 			if (yych <= ',') goto yy81;
7233 			goto yy248;
7234 		} else {
7235 			if (yych <= '/') goto yy81;
7236 			if (yych <= '9') goto yy250;
7237 			goto yy81;
7238 		}
7239 	}
7240 yy254:
7241 	YYDEBUG(254, *YYCURSOR);
7242 	yych = *++YYCURSOR;
7243 	if (yych == 'N') goto yy432;
7244 	if (yych == 'n') goto yy432;
7245 	goto yy59;
7246 yy255:
7247 	YYDEBUG(255, *YYCURSOR);
7248 	yych = *++YYCURSOR;
7249 	if (yych <= 'N') {
7250 		if (yych == 'L') goto yy433;
7251 		if (yych <= 'M') goto yy59;
7252 		goto yy434;
7253 	} else {
7254 		if (yych <= 'l') {
7255 			if (yych <= 'k') goto yy59;
7256 			goto yy433;
7257 		} else {
7258 			if (yych == 'n') goto yy434;
7259 			goto yy59;
7260 		}
7261 	}
7262 yy256:
7263 	YYDEBUG(256, *YYCURSOR);
7264 	yych = *++YYCURSOR;
7265 	if (yych <= 'Y') {
7266 		if (yych == 'R') goto yy435;
7267 		if (yych <= 'X') goto yy59;
7268 		goto yy253;
7269 	} else {
7270 		if (yych <= 'r') {
7271 			if (yych <= 'q') goto yy59;
7272 			goto yy435;
7273 		} else {
7274 			if (yych == 'y') goto yy253;
7275 			goto yy59;
7276 		}
7277 	}
7278 yy257:
7279 	YYDEBUG(257, *YYCURSOR);
7280 	yych = *++YYCURSOR;
7281 	if (yych <= 'N') {
7282 		if (yych <= 'K') {
7283 			if (yych == 'C') goto yy436;
7284 			goto yy59;
7285 		} else {
7286 			if (yych <= 'L') goto yy437;
7287 			if (yych <= 'M') goto yy59;
7288 			goto yy438;
7289 		}
7290 	} else {
7291 		if (yych <= 'k') {
7292 			if (yych == 'c') goto yy436;
7293 			goto yy59;
7294 		} else {
7295 			if (yych <= 'l') goto yy437;
7296 			if (yych == 'n') goto yy438;
7297 			goto yy59;
7298 		}
7299 	}
7300 yy258:
7301 	YYDEBUG(258, *YYCURSOR);
7302 	yych = *++YYCURSOR;
7303 	if (yych == 'N') goto yy439;
7304 	if (yych == 'n') goto yy439;
7305 	goto yy59;
7306 yy259:
7307 	YYDEBUG(259, *YYCURSOR);
7308 	yyaccept = 6;
7309 	yych = *(YYMARKER = ++YYCURSOR);
7310 	if (yych == 'E') goto yy440;
7311 	if (yych == 'e') goto yy440;
7312 yy260:
7313 	YYDEBUG(260, *YYCURSOR);
7314 #line 1954 "ext/date/lib/parse_date.re"
7315 	{
7316 		timelib_ull i;
7317 		DEBUG_OUTPUT("relative");
7318 		TIMELIB_INIT;
7319 		TIMELIB_HAVE_RELATIVE();
7320 
7321 		while(*ptr) {
7322 			i = timelib_get_signed_nr(s, &ptr, 24);
7323 			timelib_eat_spaces(&ptr);
7324 			timelib_set_relative(&ptr, i, 1, s, TIMELIB_TIME_PART_KEEP);
7325 		}
7326 		TIMELIB_DEINIT;
7327 		return TIMELIB_RELATIVE;
7328 	}
7329 #line 7330 "<stdout>"
7330 yy261:
7331 	YYDEBUG(261, *YYCURSOR);
7332 	yych = *++YYCURSOR;
7333 	if (yych == 'V') goto yy426;
7334 	if (yych == 'v') goto yy426;
7335 	goto yy59;
7336 yy262:
7337 	YYDEBUG(262, *YYCURSOR);
7338 	yych = *++YYCURSOR;
7339 	if (yych == 'T') goto yy441;
7340 	if (yych == 't') goto yy441;
7341 	goto yy59;
7342 yy263:
7343 	YYDEBUG(263, *YYCURSOR);
7344 	yych = *++YYCURSOR;
7345 	if (yych == 'T') goto yy442;
7346 	if (yych == 't') goto yy442;
7347 	goto yy59;
7348 yy264:
7349 	YYDEBUG(264, *YYCURSOR);
7350 	yych = *++YYCURSOR;
7351 	if (yych <= 'P') {
7352 		if (yych == 'C') goto yy443;
7353 		if (yych <= 'O') goto yy59;
7354 		goto yy444;
7355 	} else {
7356 		if (yych <= 'c') {
7357 			if (yych <= 'b') goto yy59;
7358 			goto yy443;
7359 		} else {
7360 			if (yych == 'p') goto yy444;
7361 			goto yy59;
7362 		}
7363 	}
7364 yy265:
7365 	YYDEBUG(265, *YYCURSOR);
7366 	yych = *++YYCURSOR;
7367 	if (yych == 'N') goto yy429;
7368 	if (yych == 'n') goto yy429;
7369 	goto yy59;
7370 yy266:
7371 	YYDEBUG(266, *YYCURSOR);
7372 	yych = *++YYCURSOR;
7373 	if (yych == 'U') goto yy445;
7374 	if (yych == 'u') goto yy445;
7375 	goto yy59;
7376 yy267:
7377 	YYDEBUG(267, *YYCURSOR);
7378 	yych = *++YYCURSOR;
7379 	if (yych == 'E') goto yy446;
7380 	if (yych == 'e') goto yy446;
7381 	goto yy59;
7382 yy268:
7383 	YYDEBUG(268, *YYCURSOR);
7384 	yych = *++YYCURSOR;
7385 	if (yych == 'E') goto yy440;
7386 	if (yych == 'e') goto yy440;
7387 	goto yy59;
7388 yy269:
7389 	YYDEBUG(269, *YYCURSOR);
7390 	yych = *++YYCURSOR;
7391 	if (yych <= 'E') {
7392 		if (yych <= 'C') goto yy59;
7393 		if (yych <= 'D') goto yy447;
7394 		goto yy448;
7395 	} else {
7396 		if (yych <= 'c') goto yy59;
7397 		if (yych <= 'd') goto yy447;
7398 		if (yych <= 'e') goto yy448;
7399 		goto yy59;
7400 	}
7401 yy270:
7402 	YYDEBUG(270, *YYCURSOR);
7403 	yych = *++YYCURSOR;
7404 	if (yych == 'A') goto yy430;
7405 	if (yych == 'a') goto yy430;
7406 	goto yy59;
7407 yy271:
7408 	YYDEBUG(271, *YYCURSOR);
7409 	yych = *++YYCURSOR;
7410 	if (yych <= ',') {
7411 		if (yych == '\t') goto yy287;
7412 		goto yy207;
7413 	} else {
7414 		if (yych <= '-') goto yy449;
7415 		if (yych <= '.') goto yy287;
7416 		if (yych <= '/') goto yy280;
7417 		goto yy207;
7418 	}
7419 yy272:
7420 	YYDEBUG(272, *YYCURSOR);
7421 	yych = *++YYCURSOR;
7422 	if (yych <= '.') {
7423 		if (yych <= '\t') {
7424 			if (yych <= 0x08) goto yy207;
7425 			goto yy287;
7426 		} else {
7427 			if (yych <= ',') goto yy207;
7428 			if (yych <= '-') goto yy449;
7429 			goto yy287;
7430 		}
7431 	} else {
7432 		if (yych <= 'U') {
7433 			if (yych <= '/') goto yy280;
7434 			if (yych <= 'T') goto yy207;
7435 			goto yy445;
7436 		} else {
7437 			if (yych == 'u') goto yy445;
7438 			goto yy207;
7439 		}
7440 	}
7441 yy273:
7442 	YYDEBUG(273, *YYCURSOR);
7443 	++YYCURSOR;
7444 	if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
7445 	yych = *YYCURSOR;
7446 	if (yych <= 'c') {
7447 		if (yych <= 'M') {
7448 			if (yych <= 'F') {
7449 				if (yych == 'D') goto yy198;
7450 				if (yych <= 'E') goto yy59;
7451 				goto yy199;
7452 			} else {
7453 				if (yych == 'H') goto yy79;
7454 				if (yych <= 'L') goto yy59;
7455 				goto yy200;
7456 			}
7457 		} else {
7458 			if (yych <= 'U') {
7459 				if (yych <= 'R') goto yy59;
7460 				if (yych <= 'S') goto yy201;
7461 				if (yych <= 'T') goto yy87;
7462 				goto yy88;
7463 			} else {
7464 				if (yych <= 'W') {
7465 					if (yych <= 'V') goto yy59;
7466 					goto yy90;
7467 				} else {
7468 					if (yych == 'Y') goto yy92;
7469 					goto yy59;
7470 				}
7471 			}
7472 		}
7473 	} else {
7474 		if (yych <= 's') {
7475 			if (yych <= 'g') {
7476 				if (yych <= 'd') goto yy198;
7477 				if (yych == 'f') goto yy199;
7478 				goto yy59;
7479 			} else {
7480 				if (yych <= 'l') {
7481 					if (yych <= 'h') goto yy79;
7482 					goto yy59;
7483 				} else {
7484 					if (yych <= 'm') goto yy200;
7485 					if (yych <= 'r') goto yy59;
7486 					goto yy201;
7487 				}
7488 			}
7489 		} else {
7490 			if (yych <= 'w') {
7491 				if (yych <= 't') goto yy87;
7492 				if (yych <= 'u') goto yy88;
7493 				if (yych <= 'v') goto yy59;
7494 				goto yy90;
7495 			} else {
7496 				if (yych <= 'y') {
7497 					if (yych <= 'x') goto yy59;
7498 					goto yy92;
7499 				} else {
7500 					if (yych == 0xC2) goto yy97;
7501 					goto yy59;
7502 				}
7503 			}
7504 		}
7505 	}
7506 yy274:
7507 	YYDEBUG(274, *YYCURSOR);
7508 	yych = *++YYCURSOR;
7509 	if (yych == 'S') goto yy259;
7510 	if (yych == 's') goto yy259;
7511 	goto yy59;
7512 yy275:
7513 	YYDEBUG(275, *YYCURSOR);
7514 	++YYCURSOR;
7515 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
7516 	yych = *YYCURSOR;
7517 	if (yych == 0xAF) goto yy450;
7518 	goto yy59;
7519 yy276:
7520 	YYDEBUG(276, *YYCURSOR);
7521 	yyaccept = 4;
7522 	yych = *(YYMARKER = ++YYCURSOR);
7523 	if (yych <= '.') {
7524 		if (yych <= ',') goto yy177;
7525 		if (yych <= '-') goto yy396;
7526 		goto yy451;
7527 	} else {
7528 		if (yych <= '/') goto yy177;
7529 		if (yych <= '9') goto yy452;
7530 		if (yych <= ':') goto yy453;
7531 		goto yy177;
7532 	}
7533 yy277:
7534 	YYDEBUG(277, *YYCURSOR);
7535 	yyaccept = 4;
7536 	yych = *(YYMARKER = ++YYCURSOR);
7537 	if (yych <= '/') {
7538 		if (yych <= ',') goto yy177;
7539 		if (yych <= '-') goto yy396;
7540 		if (yych <= '.') goto yy451;
7541 		goto yy177;
7542 	} else {
7543 		if (yych <= '2') goto yy452;
7544 		if (yych <= '9') goto yy454;
7545 		if (yych <= ':') goto yy453;
7546 		goto yy177;
7547 	}
7548 yy278:
7549 	YYDEBUG(278, *YYCURSOR);
7550 	yyaccept = 4;
7551 	yych = *(YYMARKER = ++YYCURSOR);
7552 	if (yych <= '.') {
7553 		if (yych <= ',') goto yy177;
7554 		if (yych <= '-') goto yy396;
7555 		goto yy451;
7556 	} else {
7557 		if (yych <= '/') goto yy177;
7558 		if (yych <= '9') goto yy454;
7559 		if (yych <= ':') goto yy453;
7560 		goto yy177;
7561 	}
7562 yy279:
7563 	YYDEBUG(279, *YYCURSOR);
7564 	yyaccept = 4;
7565 	yych = *(YYMARKER = ++YYCURSOR);
7566 	if (yych <= '.') {
7567 		if (yych <= ',') goto yy177;
7568 		if (yych <= '-') goto yy396;
7569 		goto yy451;
7570 	} else {
7571 		if (yych == ':') goto yy453;
7572 		goto yy177;
7573 	}
7574 yy280:
7575 	YYDEBUG(280, *YYCURSOR);
7576 	yych = *++YYCURSOR;
7577 	switch (yych) {
7578 	case 'A':
7579 	case 'a':	goto yy227;
7580 	case 'D':
7581 	case 'd':	goto yy228;
7582 	case 'F':
7583 	case 'f':	goto yy229;
7584 	case 'J':
7585 	case 'j':	goto yy230;
7586 	case 'M':
7587 	case 'm':	goto yy231;
7588 	case 'N':
7589 	case 'n':	goto yy232;
7590 	case 'O':
7591 	case 'o':	goto yy233;
7592 	case 'S':
7593 	case 's':	goto yy234;
7594 	default:	goto yy59;
7595 	}
7596 yy281:
7597 	YYDEBUG(281, *YYCURSOR);
7598 	yyaccept = 4;
7599 	yych = *(YYMARKER = ++YYCURSOR);
7600 	if (yych <= '/') {
7601 		if (yych == '.') goto yy453;
7602 		goto yy177;
7603 	} else {
7604 		if (yych <= '9') goto yy455;
7605 		if (yych <= ':') goto yy453;
7606 		goto yy177;
7607 	}
7608 yy282:
7609 	YYDEBUG(282, *YYCURSOR);
7610 	yyaccept = 4;
7611 	yych = *(YYMARKER = ++YYCURSOR);
7612 	if (yych == '.') goto yy453;
7613 	if (yych == ':') goto yy453;
7614 	goto yy177;
7615 yy283:
7616 	YYDEBUG(283, *YYCURSOR);
7617 	yych = *++YYCURSOR;
7618 	if (yych == 'M') goto yy284;
7619 	if (yych != 'm') goto yy59;
7620 yy284:
7621 	YYDEBUG(284, *YYCURSOR);
7622 	yych = *++YYCURSOR;
7623 	if (yych <= 0x1F) {
7624 		if (yych <= 0x00) goto yy456;
7625 		if (yych == '\t') goto yy456;
7626 		goto yy59;
7627 	} else {
7628 		if (yych <= ' ') goto yy456;
7629 		if (yych == '.') goto yy458;
7630 		goto yy59;
7631 	}
7632 yy285:
7633 	YYDEBUG(285, *YYCURSOR);
7634 	++YYCURSOR;
7635 	if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
7636 	yych = *YYCURSOR;
7637 	if (yych <= '`') {
7638 		if (yych <= 'M') {
7639 			if (yych <= 'E') {
7640 				if (yych <= 'A') {
7641 					if (yych <= '@') goto yy59;
7642 					goto yy106;
7643 				} else {
7644 					if (yych == 'D') goto yy198;
7645 					goto yy59;
7646 				}
7647 			} else {
7648 				if (yych <= 'G') {
7649 					if (yych <= 'F') goto yy199;
7650 					goto yy59;
7651 				} else {
7652 					if (yych <= 'H') goto yy79;
7653 					if (yych <= 'L') goto yy59;
7654 					goto yy200;
7655 				}
7656 			}
7657 		} else {
7658 			if (yych <= 'T') {
7659 				if (yych <= 'P') {
7660 					if (yych <= 'O') goto yy59;
7661 					goto yy106;
7662 				} else {
7663 					if (yych <= 'R') goto yy59;
7664 					if (yych <= 'S') goto yy201;
7665 					goto yy87;
7666 				}
7667 			} else {
7668 				if (yych <= 'W') {
7669 					if (yych <= 'U') goto yy88;
7670 					if (yych <= 'V') goto yy59;
7671 					goto yy90;
7672 				} else {
7673 					if (yych == 'Y') goto yy92;
7674 					goto yy59;
7675 				}
7676 			}
7677 		}
7678 	} else {
7679 		if (yych <= 'p') {
7680 			if (yych <= 'f') {
7681 				if (yych <= 'c') {
7682 					if (yych <= 'a') goto yy106;
7683 					goto yy59;
7684 				} else {
7685 					if (yych <= 'd') goto yy198;
7686 					if (yych <= 'e') goto yy59;
7687 					goto yy199;
7688 				}
7689 			} else {
7690 				if (yych <= 'l') {
7691 					if (yych == 'h') goto yy79;
7692 					goto yy59;
7693 				} else {
7694 					if (yych <= 'm') goto yy200;
7695 					if (yych <= 'o') goto yy59;
7696 					goto yy106;
7697 				}
7698 			}
7699 		} else {
7700 			if (yych <= 'v') {
7701 				if (yych <= 's') {
7702 					if (yych <= 'r') goto yy59;
7703 					goto yy201;
7704 				} else {
7705 					if (yych <= 't') goto yy87;
7706 					if (yych <= 'u') goto yy88;
7707 					goto yy59;
7708 				}
7709 			} else {
7710 				if (yych <= 'y') {
7711 					if (yych <= 'w') goto yy90;
7712 					if (yych <= 'x') goto yy59;
7713 					goto yy92;
7714 				} else {
7715 					if (yych == 0xC2) goto yy107;
7716 					goto yy59;
7717 				}
7718 			}
7719 		}
7720 	}
7721 yy286:
7722 	YYDEBUG(286, *YYCURSOR);
7723 	++YYCURSOR;
7724 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
7725 	yych = *YYCURSOR;
7726 	if (yych == 0xAF) goto yy459;
7727 	goto yy59;
7728 yy287:
7729 	YYDEBUG(287, *YYCURSOR);
7730 	yych = *++YYCURSOR;
7731 	if (yych <= '/') goto yy207;
7732 	if (yych <= '0') goto yy208;
7733 	if (yych <= '1') goto yy209;
7734 	if (yych <= '9') goto yy210;
7735 	goto yy207;
7736 yy288:
7737 	YYDEBUG(288, *YYCURSOR);
7738 	yych = *++YYCURSOR;
7739 	switch (yych) {
7740 	case '0':	goto yy460;
7741 	case '1':	goto yy461;
7742 	case '2':
7743 	case '3':
7744 	case '4':
7745 	case '5':
7746 	case '6':
7747 	case '7':
7748 	case '8':
7749 	case '9':	goto yy462;
7750 	case 'A':
7751 	case 'a':	goto yy463;
7752 	case 'D':
7753 	case 'd':	goto yy464;
7754 	case 'F':
7755 	case 'f':	goto yy465;
7756 	case 'J':
7757 	case 'j':	goto yy466;
7758 	case 'M':
7759 	case 'm':	goto yy467;
7760 	case 'N':
7761 	case 'n':	goto yy468;
7762 	case 'O':
7763 	case 'o':	goto yy469;
7764 	case 'S':
7765 	case 's':	goto yy470;
7766 	default:	goto yy59;
7767 	}
7768 yy289:
7769 	YYDEBUG(289, *YYCURSOR);
7770 	yych = *++YYCURSOR;
7771 	if (yych <= '/') goto yy290;
7772 	if (yych <= '9') goto yy471;
7773 yy290:
7774 	YYDEBUG(290, *YYCURSOR);
7775 #line 1233 "ext/date/lib/parse_date.re"
7776 	{
7777 		timelib_sll i;
7778 		timelib_ull us;
7779 		const char *ptr_before;
7780 		bool is_negative;
7781 
7782 		TIMELIB_INIT;
7783 		TIMELIB_HAVE_RELATIVE();
7784 		TIMELIB_UNHAVE_DATE();
7785 		TIMELIB_UNHAVE_TIME();
7786 		TIMELIB_HAVE_TZ();
7787 
7788 		is_negative = *(ptr + 1) == '-';
7789 
7790 		i = timelib_get_signed_nr(s, &ptr, 24);
7791 
7792 		ptr_before = ptr;
7793 		us = timelib_get_signed_nr(s, &ptr, 6);
7794 		us = us * pow(10, 7 - (ptr - ptr_before));
7795 		if (is_negative) {
7796 			us *= -1;
7797 		}
7798 
7799 		s->time->y = 1970;
7800 		s->time->m = 1;
7801 		s->time->d = 1;
7802 		s->time->h = s->time->i = s->time->s = 0;
7803 		s->time->us = 0;
7804 		s->time->relative.s += i;
7805 		s->time->relative.us = us;
7806 		s->time->is_localtime = 1;
7807 		s->time->zone_type = TIMELIB_ZONETYPE_OFFSET;
7808 		s->time->z = 0;
7809 		s->time->dst = 0;
7810 
7811 		TIMELIB_DEINIT;
7812 		return TIMELIB_RELATIVE;
7813 	}
7814 #line 7815 "<stdout>"
7815 yy291:
7816 	YYDEBUG(291, *YYCURSOR);
7817 	yych = *++YYCURSOR;
7818 	if (yych <= '@') {
7819 		if (yych == ')') goto yy115;
7820 		goto yy20;
7821 	} else {
7822 		if (yych <= 'Z') goto yy472;
7823 		if (yych <= '`') goto yy20;
7824 		if (yych <= 'z') goto yy472;
7825 		goto yy20;
7826 	}
7827 yy292:
7828 	YYDEBUG(292, *YYCURSOR);
7829 	yych = *++YYCURSOR;
7830 	if (yych <= '@') {
7831 		if (yych == ')') goto yy115;
7832 	} else {
7833 		if (yych <= 'Z') goto yy472;
7834 		if (yych <= '`') goto yy293;
7835 		if (yych <= 'z') goto yy472;
7836 	}
7837 yy293:
7838 	YYDEBUG(293, *YYCURSOR);
7839 #line 1795 "ext/date/lib/parse_date.re"
7840 	{
7841 		DEBUG_OUTPUT("ago");
7842 		TIMELIB_INIT;
7843 		s->time->relative.y = 0 - s->time->relative.y;
7844 		s->time->relative.m = 0 - s->time->relative.m;
7845 		s->time->relative.d = 0 - s->time->relative.d;
7846 		s->time->relative.h = 0 - s->time->relative.h;
7847 		s->time->relative.i = 0 - s->time->relative.i;
7848 		s->time->relative.s = 0 - s->time->relative.s;
7849 		s->time->relative.weekday = 0 - s->time->relative.weekday;
7850 		if (s->time->relative.weekday == 0) {
7851 			s->time->relative.weekday = -7;
7852 		}
7853 		if (s->time->relative.have_special_relative && s->time->relative.special.type == TIMELIB_SPECIAL_WEEKDAY) {
7854 			s->time->relative.special.amount = 0 - s->time->relative.special.amount;
7855 		}
7856 		TIMELIB_DEINIT;
7857 		return TIMELIB_AGO;
7858 	}
7859 #line 7860 "<stdout>"
7860 yy294:
7861 	YYDEBUG(294, *YYCURSOR);
7862 	yyaccept = 7;
7863 	yych = *(YYMARKER = ++YYCURSOR);
7864 	if (yych <= '/') {
7865 		if (yych <= '(') {
7866 			if (yych <= '\t') {
7867 				if (yych >= '\t') goto yy142;
7868 			} else {
7869 				if (yych == ' ') goto yy142;
7870 			}
7871 		} else {
7872 			if (yych <= ',') {
7873 				if (yych <= ')') goto yy115;
7874 			} else {
7875 				if (yych <= '-') goto yy473;
7876 				if (yych <= '.') goto yy142;
7877 			}
7878 		}
7879 	} else {
7880 		if (yych <= 'Z') {
7881 			if (yych <= '@') {
7882 				if (yych <= '9') goto yy142;
7883 			} else {
7884 				if (yych == 'I') goto yy474;
7885 				goto yy472;
7886 			}
7887 		} else {
7888 			if (yych <= 'h') {
7889 				if (yych >= 'a') goto yy472;
7890 			} else {
7891 				if (yych <= 'i') goto yy474;
7892 				if (yych <= 'z') goto yy472;
7893 			}
7894 		}
7895 	}
7896 yy295:
7897 	YYDEBUG(295, *YYCURSOR);
7898 #line 1875 "ext/date/lib/parse_date.re"
7899 	{
7900 		DEBUG_OUTPUT("monthtext");
7901 		TIMELIB_INIT;
7902 		TIMELIB_HAVE_DATE();
7903 		s->time->m = timelib_lookup_month(&ptr);
7904 		TIMELIB_DEINIT;
7905 		return TIMELIB_DATE_TEXT;
7906 	}
7907 #line 7908 "<stdout>"
7908 yy296:
7909 	YYDEBUG(296, *YYCURSOR);
7910 	yyaccept = 7;
7911 	yych = *(YYMARKER = ++YYCURSOR);
7912 	if (yych <= '/') {
7913 		if (yych <= '(') {
7914 			if (yych <= '\t') {
7915 				if (yych <= 0x08) goto yy295;
7916 				goto yy142;
7917 			} else {
7918 				if (yych == ' ') goto yy142;
7919 				goto yy295;
7920 			}
7921 		} else {
7922 			if (yych <= ',') {
7923 				if (yych <= ')') goto yy115;
7924 				goto yy295;
7925 			} else {
7926 				if (yych <= '-') goto yy473;
7927 				if (yych <= '.') goto yy142;
7928 				goto yy295;
7929 			}
7930 		}
7931 	} else {
7932 		if (yych <= 'Z') {
7933 			if (yych <= '@') {
7934 				if (yych <= '9') goto yy142;
7935 				goto yy295;
7936 			} else {
7937 				if (yych == 'U') goto yy475;
7938 				goto yy472;
7939 			}
7940 		} else {
7941 			if (yych <= 't') {
7942 				if (yych <= '`') goto yy295;
7943 				goto yy472;
7944 			} else {
7945 				if (yych <= 'u') goto yy475;
7946 				if (yych <= 'z') goto yy472;
7947 				goto yy295;
7948 			}
7949 		}
7950 	}
7951 yy297:
7952 	YYDEBUG(297, *YYCURSOR);
7953 	++YYCURSOR;
7954 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
7955 	yych = *YYCURSOR;
7956 	if (yybm[0+yych] & 64) {
7957 		goto yy476;
7958 	}
7959 	goto yy59;
7960 yy298:
7961 	YYDEBUG(298, *YYCURSOR);
7962 	yyaccept = 2;
7963 	yych = *(YYMARKER = ++YYCURSOR);
7964 	if (yych <= '/') {
7965 		if (yych <= ',') {
7966 			if (yych == ')') goto yy115;
7967 			goto yy20;
7968 		} else {
7969 			if (yych == '.') goto yy20;
7970 			goto yy297;
7971 		}
7972 	} else {
7973 		if (yych <= '^') {
7974 			if (yych <= '@') goto yy20;
7975 			if (yych <= 'Z') goto yy472;
7976 			goto yy20;
7977 		} else {
7978 			if (yych <= '_') goto yy297;
7979 			if (yych <= '`') goto yy20;
7980 			if (yych <= 'z') goto yy478;
7981 			goto yy20;
7982 		}
7983 	}
7984 yy299:
7985 	YYDEBUG(299, *YYCURSOR);
7986 	yyaccept = 8;
7987 	yych = *(YYMARKER = ++YYCURSOR);
7988 	if (yych <= '/') {
7989 		if (yych <= ',') {
7990 			if (yych == ')') goto yy115;
7991 			goto yy293;
7992 		} else {
7993 			if (yych == '.') goto yy293;
7994 			goto yy297;
7995 		}
7996 	} else {
7997 		if (yych <= '^') {
7998 			if (yych <= '@') goto yy293;
7999 			if (yych <= 'Z') goto yy472;
8000 			goto yy293;
8001 		} else {
8002 			if (yych <= '_') goto yy297;
8003 			if (yych <= '`') goto yy293;
8004 			if (yych <= 'z') goto yy478;
8005 			goto yy293;
8006 		}
8007 	}
8008 yy300:
8009 	YYDEBUG(300, *YYCURSOR);
8010 	yyaccept = 7;
8011 	yych = *(YYMARKER = ++YYCURSOR);
8012 	if (yych <= '9') {
8013 		if (yych <= '(') {
8014 			if (yych <= '\t') {
8015 				if (yych <= 0x08) goto yy295;
8016 				goto yy142;
8017 			} else {
8018 				if (yych == ' ') goto yy142;
8019 				goto yy295;
8020 			}
8021 		} else {
8022 			if (yych <= '-') {
8023 				if (yych <= ')') goto yy115;
8024 				if (yych <= ',') goto yy295;
8025 				goto yy479;
8026 			} else {
8027 				if (yych == '/') goto yy297;
8028 				goto yy142;
8029 			}
8030 		}
8031 	} else {
8032 		if (yych <= '^') {
8033 			if (yych <= 'H') {
8034 				if (yych <= '@') goto yy295;
8035 				goto yy472;
8036 			} else {
8037 				if (yych <= 'I') goto yy474;
8038 				if (yych <= 'Z') goto yy472;
8039 				goto yy295;
8040 			}
8041 		} else {
8042 			if (yych <= 'h') {
8043 				if (yych <= '_') goto yy297;
8044 				if (yych <= '`') goto yy295;
8045 				goto yy478;
8046 			} else {
8047 				if (yych <= 'i') goto yy480;
8048 				if (yych <= 'z') goto yy478;
8049 				goto yy295;
8050 			}
8051 		}
8052 	}
8053 yy301:
8054 	YYDEBUG(301, *YYCURSOR);
8055 	yyaccept = 7;
8056 	yych = *(YYMARKER = ++YYCURSOR);
8057 	if (yych <= '9') {
8058 		if (yych <= '(') {
8059 			if (yych <= '\t') {
8060 				if (yych <= 0x08) goto yy295;
8061 				goto yy142;
8062 			} else {
8063 				if (yych == ' ') goto yy142;
8064 				goto yy295;
8065 			}
8066 		} else {
8067 			if (yych <= '-') {
8068 				if (yych <= ')') goto yy115;
8069 				if (yych <= ',') goto yy295;
8070 				goto yy479;
8071 			} else {
8072 				if (yych == '/') goto yy297;
8073 				goto yy142;
8074 			}
8075 		}
8076 	} else {
8077 		if (yych <= '^') {
8078 			if (yych <= 'T') {
8079 				if (yych <= '@') goto yy295;
8080 				goto yy472;
8081 			} else {
8082 				if (yych <= 'U') goto yy475;
8083 				if (yych <= 'Z') goto yy472;
8084 				goto yy295;
8085 			}
8086 		} else {
8087 			if (yych <= 't') {
8088 				if (yych <= '_') goto yy297;
8089 				if (yych <= '`') goto yy295;
8090 				goto yy478;
8091 			} else {
8092 				if (yych <= 'u') goto yy481;
8093 				if (yych <= 'z') goto yy478;
8094 				goto yy295;
8095 			}
8096 		}
8097 	}
8098 yy302:
8099 	YYDEBUG(302, *YYCURSOR);
8100 	yych = *++YYCURSOR;
8101 	if (yych <= 'K') {
8102 		if (yych <= ')') {
8103 			if (yych <= '(') goto yy20;
8104 			goto yy115;
8105 		} else {
8106 			if (yych <= '@') goto yy20;
8107 			if (yych <= 'J') goto yy472;
8108 			goto yy482;
8109 		}
8110 	} else {
8111 		if (yych <= 'j') {
8112 			if (yych <= 'Z') goto yy472;
8113 			if (yych <= '`') goto yy20;
8114 			goto yy472;
8115 		} else {
8116 			if (yych <= 'k') goto yy482;
8117 			if (yych <= 'z') goto yy472;
8118 			goto yy20;
8119 		}
8120 	}
8121 yy303:
8122 	YYDEBUG(303, *YYCURSOR);
8123 	yyaccept = 2;
8124 	yych = *(YYMARKER = ++YYCURSOR);
8125 	if (yych <= 'J') {
8126 		if (yych <= '-') {
8127 			if (yych == ')') goto yy115;
8128 			if (yych <= ',') goto yy20;
8129 			goto yy297;
8130 		} else {
8131 			if (yych == '/') goto yy297;
8132 			if (yych <= '@') goto yy20;
8133 			goto yy472;
8134 		}
8135 	} else {
8136 		if (yych <= '_') {
8137 			if (yych <= 'K') goto yy482;
8138 			if (yych <= 'Z') goto yy472;
8139 			if (yych <= '^') goto yy20;
8140 			goto yy297;
8141 		} else {
8142 			if (yych <= 'j') {
8143 				if (yych <= '`') goto yy20;
8144 				goto yy478;
8145 			} else {
8146 				if (yych <= 'k') goto yy483;
8147 				if (yych <= 'z') goto yy478;
8148 				goto yy20;
8149 			}
8150 		}
8151 	}
8152 yy304:
8153 	YYDEBUG(304, *YYCURSOR);
8154 	yyaccept = 7;
8155 	yych = *(YYMARKER = ++YYCURSOR);
8156 	if (yych <= '/') {
8157 		if (yych <= '(') {
8158 			if (yych <= '\t') {
8159 				if (yych <= 0x08) goto yy295;
8160 				goto yy142;
8161 			} else {
8162 				if (yych == ' ') goto yy142;
8163 				goto yy295;
8164 			}
8165 		} else {
8166 			if (yych <= ',') {
8167 				if (yych <= ')') goto yy115;
8168 				goto yy295;
8169 			} else {
8170 				if (yych <= '-') goto yy473;
8171 				if (yych <= '.') goto yy142;
8172 				goto yy295;
8173 			}
8174 		}
8175 	} else {
8176 		if (yych <= 'Z') {
8177 			if (yych <= '@') {
8178 				if (yych <= '9') goto yy142;
8179 				goto yy295;
8180 			} else {
8181 				if (yych == 'E') goto yy484;
8182 				goto yy472;
8183 			}
8184 		} else {
8185 			if (yych <= 'd') {
8186 				if (yych <= '`') goto yy295;
8187 				goto yy472;
8188 			} else {
8189 				if (yych <= 'e') goto yy484;
8190 				if (yych <= 'z') goto yy472;
8191 				goto yy295;
8192 			}
8193 		}
8194 	}
8195 yy305:
8196 	YYDEBUG(305, *YYCURSOR);
8197 	yyaccept = 7;
8198 	yych = *(YYMARKER = ++YYCURSOR);
8199 	if (yych <= '9') {
8200 		if (yych <= '(') {
8201 			if (yych <= '\t') {
8202 				if (yych <= 0x08) goto yy295;
8203 				goto yy142;
8204 			} else {
8205 				if (yych == ' ') goto yy142;
8206 				goto yy295;
8207 			}
8208 		} else {
8209 			if (yych <= '-') {
8210 				if (yych <= ')') goto yy115;
8211 				if (yych <= ',') goto yy295;
8212 				goto yy479;
8213 			} else {
8214 				if (yych == '/') goto yy297;
8215 				goto yy142;
8216 			}
8217 		}
8218 	} else {
8219 		if (yych <= '^') {
8220 			if (yych <= 'D') {
8221 				if (yych <= '@') goto yy295;
8222 				goto yy472;
8223 			} else {
8224 				if (yych <= 'E') goto yy484;
8225 				if (yych <= 'Z') goto yy472;
8226 				goto yy295;
8227 			}
8228 		} else {
8229 			if (yych <= 'd') {
8230 				if (yych <= '_') goto yy297;
8231 				if (yych <= '`') goto yy295;
8232 				goto yy478;
8233 			} else {
8234 				if (yych <= 'e') goto yy485;
8235 				if (yych <= 'z') goto yy478;
8236 				goto yy295;
8237 			}
8238 		}
8239 	}
8240 yy306:
8241 	YYDEBUG(306, *YYCURSOR);
8242 	yych = *++YYCURSOR;
8243 	if (yych <= 'H') {
8244 		if (yych <= ')') {
8245 			if (yych <= '(') goto yy20;
8246 			goto yy115;
8247 		} else {
8248 			if (yych <= '@') goto yy20;
8249 			if (yych <= 'G') goto yy472;
8250 			goto yy486;
8251 		}
8252 	} else {
8253 		if (yych <= 'g') {
8254 			if (yych <= 'Z') goto yy472;
8255 			if (yych <= '`') goto yy20;
8256 			goto yy472;
8257 		} else {
8258 			if (yych <= 'h') goto yy486;
8259 			if (yych <= 'z') goto yy472;
8260 			goto yy20;
8261 		}
8262 	}
8263 yy307:
8264 	YYDEBUG(307, *YYCURSOR);
8265 	yych = *++YYCURSOR;
8266 	if (yych <= 'V') {
8267 		if (yych <= ')') {
8268 			if (yych <= '(') goto yy20;
8269 			goto yy115;
8270 		} else {
8271 			if (yych <= '@') goto yy20;
8272 			if (yych <= 'U') goto yy472;
8273 			goto yy487;
8274 		}
8275 	} else {
8276 		if (yych <= 'u') {
8277 			if (yych <= 'Z') goto yy472;
8278 			if (yych <= '`') goto yy20;
8279 			goto yy472;
8280 		} else {
8281 			if (yych <= 'v') goto yy487;
8282 			if (yych <= 'z') goto yy472;
8283 			goto yy20;
8284 		}
8285 	}
8286 yy308:
8287 	YYDEBUG(308, *YYCURSOR);
8288 	yyaccept = 2;
8289 	yych = *(YYMARKER = ++YYCURSOR);
8290 	if (yych <= 'G') {
8291 		if (yych <= '-') {
8292 			if (yych == ')') goto yy115;
8293 			if (yych <= ',') goto yy20;
8294 			goto yy297;
8295 		} else {
8296 			if (yych == '/') goto yy297;
8297 			if (yych <= '@') goto yy20;
8298 			goto yy472;
8299 		}
8300 	} else {
8301 		if (yych <= '_') {
8302 			if (yych <= 'H') goto yy486;
8303 			if (yych <= 'Z') goto yy472;
8304 			if (yych <= '^') goto yy20;
8305 			goto yy297;
8306 		} else {
8307 			if (yych <= 'g') {
8308 				if (yych <= '`') goto yy20;
8309 				goto yy478;
8310 			} else {
8311 				if (yych <= 'h') goto yy488;
8312 				if (yych <= 'z') goto yy478;
8313 				goto yy20;
8314 			}
8315 		}
8316 	}
8317 yy309:
8318 	YYDEBUG(309, *YYCURSOR);
8319 	yyaccept = 2;
8320 	yych = *(YYMARKER = ++YYCURSOR);
8321 	if (yych <= 'U') {
8322 		if (yych <= '-') {
8323 			if (yych == ')') goto yy115;
8324 			if (yych <= ',') goto yy20;
8325 			goto yy297;
8326 		} else {
8327 			if (yych == '/') goto yy297;
8328 			if (yych <= '@') goto yy20;
8329 			goto yy472;
8330 		}
8331 	} else {
8332 		if (yych <= '_') {
8333 			if (yych <= 'V') goto yy487;
8334 			if (yych <= 'Z') goto yy472;
8335 			if (yych <= '^') goto yy20;
8336 			goto yy297;
8337 		} else {
8338 			if (yych <= 'u') {
8339 				if (yych <= '`') goto yy20;
8340 				goto yy478;
8341 			} else {
8342 				if (yych <= 'v') goto yy489;
8343 				if (yych <= 'z') goto yy478;
8344 				goto yy20;
8345 			}
8346 		}
8347 	}
8348 yy310:
8349 	YYDEBUG(310, *YYCURSOR);
8350 	yyaccept = 7;
8351 	yych = *(YYMARKER = ++YYCURSOR);
8352 	if (yych <= '/') {
8353 		if (yych <= '(') {
8354 			if (yych <= '\t') {
8355 				if (yych <= 0x08) goto yy295;
8356 				goto yy142;
8357 			} else {
8358 				if (yych == ' ') goto yy142;
8359 				goto yy295;
8360 			}
8361 		} else {
8362 			if (yych <= ',') {
8363 				if (yych <= ')') goto yy115;
8364 				goto yy295;
8365 			} else {
8366 				if (yych <= '-') goto yy473;
8367 				if (yych <= '.') goto yy142;
8368 				goto yy295;
8369 			}
8370 		}
8371 	} else {
8372 		if (yych <= 'Z') {
8373 			if (yych <= '@') {
8374 				if (yych <= '9') goto yy142;
8375 				goto yy295;
8376 			} else {
8377 				if (yych == 'R') goto yy490;
8378 				goto yy472;
8379 			}
8380 		} else {
8381 			if (yych <= 'q') {
8382 				if (yych <= '`') goto yy295;
8383 				goto yy472;
8384 			} else {
8385 				if (yych <= 'r') goto yy490;
8386 				if (yych <= 'z') goto yy472;
8387 				goto yy295;
8388 			}
8389 		}
8390 	}
8391 yy311:
8392 	YYDEBUG(311, *YYCURSOR);
8393 	yych = *++YYCURSOR;
8394 	if (yych <= 'T') {
8395 		if (yych <= ')') {
8396 			if (yych <= '(') goto yy20;
8397 			goto yy115;
8398 		} else {
8399 			if (yych <= '@') goto yy20;
8400 			if (yych <= 'S') goto yy472;
8401 			goto yy491;
8402 		}
8403 	} else {
8404 		if (yych <= 's') {
8405 			if (yych <= 'Z') goto yy472;
8406 			if (yych <= '`') goto yy20;
8407 			goto yy472;
8408 		} else {
8409 			if (yych <= 't') goto yy491;
8410 			if (yych <= 'z') goto yy472;
8411 			goto yy20;
8412 		}
8413 	}
8414 yy312:
8415 	YYDEBUG(312, *YYCURSOR);
8416 	yych = *++YYCURSOR;
8417 	if (yych <= 'S') {
8418 		if (yych <= ')') {
8419 			if (yych <= '(') goto yy20;
8420 			goto yy115;
8421 		} else {
8422 			if (yych <= '@') goto yy20;
8423 			if (yych <= 'R') goto yy472;
8424 			goto yy492;
8425 		}
8426 	} else {
8427 		if (yych <= 'r') {
8428 			if (yych <= 'Z') goto yy472;
8429 			if (yych <= '`') goto yy20;
8430 			goto yy472;
8431 		} else {
8432 			if (yych <= 's') goto yy492;
8433 			if (yych <= 'z') goto yy472;
8434 			goto yy20;
8435 		}
8436 	}
8437 yy313:
8438 	YYDEBUG(313, *YYCURSOR);
8439 	yych = *++YYCURSOR;
8440 	if (yych <= 'R') {
8441 		if (yych <= ')') {
8442 			if (yych <= '(') goto yy20;
8443 			goto yy115;
8444 		} else {
8445 			if (yych <= '@') goto yy20;
8446 			if (yych <= 'Q') goto yy472;
8447 			goto yy493;
8448 		}
8449 	} else {
8450 		if (yych <= 'q') {
8451 			if (yych <= 'Z') goto yy472;
8452 			if (yych <= '`') goto yy20;
8453 			goto yy472;
8454 		} else {
8455 			if (yych <= 'r') goto yy493;
8456 			if (yych <= 'z') goto yy472;
8457 			goto yy20;
8458 		}
8459 	}
8460 yy314:
8461 	YYDEBUG(314, *YYCURSOR);
8462 	yych = *++YYCURSOR;
8463 	if (yych <= 'D') {
8464 		if (yych <= ')') {
8465 			if (yych >= ')') goto yy115;
8466 		} else {
8467 			if (yych <= '@') goto yy315;
8468 			if (yych <= 'C') goto yy472;
8469 			goto yy494;
8470 		}
8471 	} else {
8472 		if (yych <= 'c') {
8473 			if (yych <= 'Z') goto yy472;
8474 			if (yych >= 'a') goto yy472;
8475 		} else {
8476 			if (yych <= 'd') goto yy494;
8477 			if (yych <= 'z') goto yy472;
8478 		}
8479 	}
8480 yy315:
8481 	YYDEBUG(315, *YYCURSOR);
8482 #line 1816 "ext/date/lib/parse_date.re"
8483 	{
8484 		const timelib_relunit* relunit;
8485 		DEBUG_OUTPUT("daytext");
8486 		TIMELIB_INIT;
8487 		TIMELIB_HAVE_RELATIVE();
8488 		TIMELIB_HAVE_WEEKDAY_RELATIVE();
8489 		TIMELIB_UNHAVE_TIME();
8490 		relunit = timelib_lookup_relunit(&ptr);
8491 		s->time->relative.weekday = relunit->multiplier;
8492 		if (s->time->relative.weekday_behavior != 2) {
8493 			s->time->relative.weekday_behavior = 1;
8494 		}
8495 
8496 		TIMELIB_DEINIT;
8497 		return TIMELIB_WEEKDAY;
8498 	}
8499 #line 8500 "<stdout>"
8500 yy316:
8501 	YYDEBUG(316, *YYCURSOR);
8502 	yych = *++YYCURSOR;
8503 	if (yych <= 'N') {
8504 		if (yych <= ')') {
8505 			if (yych <= '(') goto yy20;
8506 			goto yy115;
8507 		} else {
8508 			if (yych <= '@') goto yy20;
8509 			if (yych <= 'M') goto yy472;
8510 			goto yy495;
8511 		}
8512 	} else {
8513 		if (yych <= 'm') {
8514 			if (yych <= 'Z') goto yy472;
8515 			if (yych <= '`') goto yy20;
8516 			goto yy472;
8517 		} else {
8518 			if (yych <= 'n') goto yy495;
8519 			if (yych <= 'z') goto yy472;
8520 			goto yy20;
8521 		}
8522 	}
8523 yy317:
8524 	YYDEBUG(317, *YYCURSOR);
8525 	yyaccept = 7;
8526 	yych = *(YYMARKER = ++YYCURSOR);
8527 	if (yych <= '9') {
8528 		if (yych <= '(') {
8529 			if (yych <= '\t') {
8530 				if (yych <= 0x08) goto yy295;
8531 				goto yy142;
8532 			} else {
8533 				if (yych == ' ') goto yy142;
8534 				goto yy295;
8535 			}
8536 		} else {
8537 			if (yych <= '-') {
8538 				if (yych <= ')') goto yy115;
8539 				if (yych <= ',') goto yy295;
8540 				goto yy479;
8541 			} else {
8542 				if (yych == '/') goto yy297;
8543 				goto yy142;
8544 			}
8545 		}
8546 	} else {
8547 		if (yych <= '^') {
8548 			if (yych <= 'Q') {
8549 				if (yych <= '@') goto yy295;
8550 				goto yy472;
8551 			} else {
8552 				if (yych <= 'R') goto yy490;
8553 				if (yych <= 'Z') goto yy472;
8554 				goto yy295;
8555 			}
8556 		} else {
8557 			if (yych <= 'q') {
8558 				if (yych <= '_') goto yy297;
8559 				if (yych <= '`') goto yy295;
8560 				goto yy478;
8561 			} else {
8562 				if (yych <= 'r') goto yy496;
8563 				if (yych <= 'z') goto yy478;
8564 				goto yy295;
8565 			}
8566 		}
8567 	}
8568 yy318:
8569 	YYDEBUG(318, *YYCURSOR);
8570 	yyaccept = 2;
8571 	yych = *(YYMARKER = ++YYCURSOR);
8572 	if (yych <= 'S') {
8573 		if (yych <= '-') {
8574 			if (yych == ')') goto yy115;
8575 			if (yych <= ',') goto yy20;
8576 			goto yy297;
8577 		} else {
8578 			if (yych == '/') goto yy297;
8579 			if (yych <= '@') goto yy20;
8580 			goto yy472;
8581 		}
8582 	} else {
8583 		if (yych <= '_') {
8584 			if (yych <= 'T') goto yy491;
8585 			if (yych <= 'Z') goto yy472;
8586 			if (yych <= '^') goto yy20;
8587 			goto yy297;
8588 		} else {
8589 			if (yych <= 's') {
8590 				if (yych <= '`') goto yy20;
8591 				goto yy478;
8592 			} else {
8593 				if (yych <= 't') goto yy497;
8594 				if (yych <= 'z') goto yy478;
8595 				goto yy20;
8596 			}
8597 		}
8598 	}
8599 yy319:
8600 	YYDEBUG(319, *YYCURSOR);
8601 	yyaccept = 2;
8602 	yych = *(YYMARKER = ++YYCURSOR);
8603 	if (yych <= 'R') {
8604 		if (yych <= '-') {
8605 			if (yych == ')') goto yy115;
8606 			if (yych <= ',') goto yy20;
8607 			goto yy297;
8608 		} else {
8609 			if (yych == '/') goto yy297;
8610 			if (yych <= '@') goto yy20;
8611 			goto yy472;
8612 		}
8613 	} else {
8614 		if (yych <= '_') {
8615 			if (yych <= 'S') goto yy492;
8616 			if (yych <= 'Z') goto yy472;
8617 			if (yych <= '^') goto yy20;
8618 			goto yy297;
8619 		} else {
8620 			if (yych <= 'r') {
8621 				if (yych <= '`') goto yy20;
8622 				goto yy478;
8623 			} else {
8624 				if (yych <= 's') goto yy498;
8625 				if (yych <= 'z') goto yy478;
8626 				goto yy20;
8627 			}
8628 		}
8629 	}
8630 yy320:
8631 	YYDEBUG(320, *YYCURSOR);
8632 	yyaccept = 2;
8633 	yych = *(YYMARKER = ++YYCURSOR);
8634 	if (yych <= 'Q') {
8635 		if (yych <= '-') {
8636 			if (yych == ')') goto yy115;
8637 			if (yych <= ',') goto yy20;
8638 			goto yy297;
8639 		} else {
8640 			if (yych == '/') goto yy297;
8641 			if (yych <= '@') goto yy20;
8642 			goto yy472;
8643 		}
8644 	} else {
8645 		if (yych <= '_') {
8646 			if (yych <= 'R') goto yy493;
8647 			if (yych <= 'Z') goto yy472;
8648 			if (yych <= '^') goto yy20;
8649 			goto yy297;
8650 		} else {
8651 			if (yych <= 'q') {
8652 				if (yych <= '`') goto yy20;
8653 				goto yy478;
8654 			} else {
8655 				if (yych <= 'r') goto yy499;
8656 				if (yych <= 'z') goto yy478;
8657 				goto yy20;
8658 			}
8659 		}
8660 	}
8661 yy321:
8662 	YYDEBUG(321, *YYCURSOR);
8663 	yyaccept = 9;
8664 	yych = *(YYMARKER = ++YYCURSOR);
8665 	if (yych <= 'C') {
8666 		if (yych <= '-') {
8667 			if (yych == ')') goto yy115;
8668 			if (yych <= ',') goto yy315;
8669 			goto yy297;
8670 		} else {
8671 			if (yych == '/') goto yy297;
8672 			if (yych <= '@') goto yy315;
8673 			goto yy472;
8674 		}
8675 	} else {
8676 		if (yych <= '_') {
8677 			if (yych <= 'D') goto yy494;
8678 			if (yych <= 'Z') goto yy472;
8679 			if (yych <= '^') goto yy315;
8680 			goto yy297;
8681 		} else {
8682 			if (yych <= 'c') {
8683 				if (yych <= '`') goto yy315;
8684 				goto yy478;
8685 			} else {
8686 				if (yych <= 'd') goto yy500;
8687 				if (yych <= 'z') goto yy478;
8688 				goto yy315;
8689 			}
8690 		}
8691 	}
8692 yy322:
8693 	YYDEBUG(322, *YYCURSOR);
8694 	yyaccept = 2;
8695 	yych = *(YYMARKER = ++YYCURSOR);
8696 	if (yych <= 'M') {
8697 		if (yych <= '-') {
8698 			if (yych == ')') goto yy115;
8699 			if (yych <= ',') goto yy20;
8700 			goto yy297;
8701 		} else {
8702 			if (yych == '/') goto yy297;
8703 			if (yych <= '@') goto yy20;
8704 			goto yy472;
8705 		}
8706 	} else {
8707 		if (yych <= '_') {
8708 			if (yych <= 'N') goto yy495;
8709 			if (yych <= 'Z') goto yy472;
8710 			if (yych <= '^') goto yy20;
8711 			goto yy297;
8712 		} else {
8713 			if (yych <= 'm') {
8714 				if (yych <= '`') goto yy20;
8715 				goto yy478;
8716 			} else {
8717 				if (yych <= 'n') goto yy501;
8718 				if (yych <= 'z') goto yy478;
8719 				goto yy20;
8720 			}
8721 		}
8722 	}
8723 yy323:
8724 	YYDEBUG(323, *YYCURSOR);
8725 	yyaccept = 2;
8726 	yych = *(YYMARKER = ++YYCURSOR);
8727 	if (yych <= ',') {
8728 		if (yych <= ')') {
8729 			if (yych <= '(') goto yy20;
8730 			goto yy115;
8731 		} else {
8732 			if (yych == '+') goto yy502;
8733 			goto yy20;
8734 		}
8735 	} else {
8736 		if (yych <= 'Z') {
8737 			if (yych <= '-') goto yy502;
8738 			if (yych <= '@') goto yy20;
8739 			goto yy472;
8740 		} else {
8741 			if (yych <= '`') goto yy20;
8742 			if (yych <= 'z') goto yy472;
8743 			goto yy20;
8744 		}
8745 	}
8746 yy324:
8747 	YYDEBUG(324, *YYCURSOR);
8748 	yyaccept = 10;
8749 	yych = *(YYMARKER = ++YYCURSOR);
8750 	if (yych <= '9') {
8751 		if (yych <= '0') {
8752 			if (yych >= '0') goto yy503;
8753 		} else {
8754 			if (yych <= '1') goto yy504;
8755 			if (yych <= '2') goto yy505;
8756 			goto yy506;
8757 		}
8758 	} else {
8759 		if (yych <= 'T') {
8760 			if (yych >= 'T') goto yy507;
8761 		} else {
8762 			if (yych == 't') goto yy507;
8763 		}
8764 	}
8765 yy325:
8766 	YYDEBUG(325, *YYCURSOR);
8767 #line 1618 "ext/date/lib/parse_date.re"
8768 	{
8769 		int length = 0;
8770 		DEBUG_OUTPUT("datetextual | datenoyear");
8771 		TIMELIB_INIT;
8772 		TIMELIB_HAVE_DATE();
8773 		s->time->m = timelib_get_month(&ptr);
8774 		s->time->d = timelib_get_nr(&ptr, 2);
8775 		s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
8776 		TIMELIB_PROCESS_YEAR(s->time->y, length);
8777 		TIMELIB_DEINIT;
8778 		return TIMELIB_DATE_TEXT;
8779 	}
8780 #line 8781 "<stdout>"
8781 yy326:
8782 	YYDEBUG(326, *YYCURSOR);
8783 	yyaccept = 10;
8784 	YYMARKER = ++YYCURSOR;
8785 	if ((YYLIMIT - YYCURSOR) < 21) YYFILL(21);
8786 	yych = *YYCURSOR;
8787 yy327:
8788 	YYDEBUG(327, *YYCURSOR);
8789 	if (yybm[0+yych] & 32) {
8790 		goto yy326;
8791 	}
8792 	if (yych <= '2') {
8793 		if (yych <= '/') goto yy325;
8794 		if (yych <= '0') goto yy508;
8795 		if (yych <= '1') goto yy509;
8796 		goto yy510;
8797 	} else {
8798 		if (yych <= '9') goto yy511;
8799 		if (yych == 'T') goto yy507;
8800 		goto yy325;
8801 	}
8802 yy328:
8803 	YYDEBUG(328, *YYCURSOR);
8804 	yych = *++YYCURSOR;
8805 	if (yych <= '9') {
8806 		if (yych <= ' ') {
8807 			if (yych <= 0x08) {
8808 				if (yych <= 0x00) goto yy324;
8809 				goto yy59;
8810 			} else {
8811 				if (yych <= '\t') goto yy326;
8812 				if (yych <= 0x1F) goto yy59;
8813 				goto yy326;
8814 			}
8815 		} else {
8816 			if (yych <= '-') {
8817 				if (yych == ',') goto yy326;
8818 				goto yy59;
8819 			} else {
8820 				if (yych <= '.') goto yy326;
8821 				if (yych <= '/') goto yy59;
8822 				goto yy512;
8823 			}
8824 		}
8825 	} else {
8826 		if (yych <= 'm') {
8827 			if (yych <= 'd') {
8828 				if (yych <= 'c') goto yy59;
8829 				goto yy326;
8830 			} else {
8831 				if (yych == 'h') goto yy326;
8832 				goto yy59;
8833 			}
8834 		} else {
8835 			if (yych <= 'r') {
8836 				if (yych <= 'n') goto yy329;
8837 				if (yych <= 'q') goto yy59;
8838 			} else {
8839 				if (yych <= 's') goto yy330;
8840 				if (yych <= 't') goto yy331;
8841 				goto yy59;
8842 			}
8843 		}
8844 	}
8845 yy329:
8846 	YYDEBUG(329, *YYCURSOR);
8847 	yyaccept = 10;
8848 	yych = *(YYMARKER = ++YYCURSOR);
8849 	if (yych == 'd') goto yy513;
8850 	goto yy327;
8851 yy330:
8852 	YYDEBUG(330, *YYCURSOR);
8853 	yyaccept = 10;
8854 	yych = *(YYMARKER = ++YYCURSOR);
8855 	if (yych == 't') goto yy513;
8856 	goto yy327;
8857 yy331:
8858 	YYDEBUG(331, *YYCURSOR);
8859 	yyaccept = 10;
8860 	yych = *(YYMARKER = ++YYCURSOR);
8861 	if (yych == 'h') goto yy513;
8862 	goto yy327;
8863 yy332:
8864 	YYDEBUG(332, *YYCURSOR);
8865 	yych = *++YYCURSOR;
8866 	if (yych <= '/') goto yy59;
8867 	if (yych <= '9') goto yy512;
8868 	goto yy59;
8869 yy333:
8870 	YYDEBUG(333, *YYCURSOR);
8871 	yyaccept = 2;
8872 	yych = *(YYMARKER = ++YYCURSOR);
8873 	if (yych <= ',') {
8874 		if (yych <= 0x1F) {
8875 			if (yych == '\t') goto yy142;
8876 			goto yy20;
8877 		} else {
8878 			if (yych <= ' ') goto yy142;
8879 			if (yych == ')') goto yy115;
8880 			goto yy20;
8881 		}
8882 	} else {
8883 		if (yych <= '@') {
8884 			if (yych == '/') goto yy20;
8885 			if (yych <= '9') goto yy142;
8886 			goto yy20;
8887 		} else {
8888 			if (yych <= 'Z') goto yy472;
8889 			if (yych <= '`') goto yy20;
8890 			if (yych <= 'z') goto yy472;
8891 			goto yy20;
8892 		}
8893 	}
8894 yy334:
8895 	YYDEBUG(334, *YYCURSOR);
8896 	yyaccept = 7;
8897 	yych = *(YYMARKER = ++YYCURSOR);
8898 	if (yych <= '/') {
8899 		if (yych <= '(') {
8900 			if (yych <= '\t') {
8901 				if (yych <= 0x08) goto yy295;
8902 				goto yy142;
8903 			} else {
8904 				if (yych == ' ') goto yy142;
8905 				goto yy295;
8906 			}
8907 		} else {
8908 			if (yych <= ',') {
8909 				if (yych <= ')') goto yy115;
8910 				goto yy295;
8911 			} else {
8912 				if (yych <= '-') goto yy473;
8913 				if (yych <= '.') goto yy142;
8914 				goto yy295;
8915 			}
8916 		}
8917 	} else {
8918 		if (yych <= 'Z') {
8919 			if (yych <= '@') {
8920 				if (yych <= '9') goto yy142;
8921 				goto yy295;
8922 			} else {
8923 				if (yych == 'U') goto yy514;
8924 				goto yy472;
8925 			}
8926 		} else {
8927 			if (yych <= 't') {
8928 				if (yych <= '`') goto yy295;
8929 				goto yy472;
8930 			} else {
8931 				if (yych <= 'u') goto yy514;
8932 				if (yych <= 'z') goto yy472;
8933 				goto yy295;
8934 			}
8935 		}
8936 	}
8937 yy335:
8938 	YYDEBUG(335, *YYCURSOR);
8939 	yyaccept = 7;
8940 	yych = *(YYMARKER = ++YYCURSOR);
8941 	if (yych <= '/') {
8942 		if (yych <= '(') {
8943 			if (yych <= '\t') {
8944 				if (yych <= 0x08) goto yy295;
8945 				goto yy142;
8946 			} else {
8947 				if (yych == ' ') goto yy142;
8948 				goto yy295;
8949 			}
8950 		} else {
8951 			if (yych <= ',') {
8952 				if (yych <= ')') goto yy115;
8953 				goto yy295;
8954 			} else {
8955 				if (yych <= '-') goto yy473;
8956 				if (yych <= '.') goto yy142;
8957 				goto yy295;
8958 			}
8959 		}
8960 	} else {
8961 		if (yych <= 'Z') {
8962 			if (yych <= '@') {
8963 				if (yych <= '9') goto yy142;
8964 				goto yy295;
8965 			} else {
8966 				if (yych == 'Y') goto yy515;
8967 				goto yy472;
8968 			}
8969 		} else {
8970 			if (yych <= 'x') {
8971 				if (yych <= '`') goto yy295;
8972 				goto yy472;
8973 			} else {
8974 				if (yych <= 'y') goto yy515;
8975 				if (yych <= 'z') goto yy472;
8976 				goto yy295;
8977 			}
8978 		}
8979 	}
8980 yy336:
8981 	YYDEBUG(336, *YYCURSOR);
8982 	yyaccept = 7;
8983 	yych = *(YYMARKER = ++YYCURSOR);
8984 	if (yych <= '/') {
8985 		if (yych <= '(') {
8986 			if (yych <= '\t') {
8987 				if (yych <= 0x08) goto yy295;
8988 				goto yy142;
8989 			} else {
8990 				if (yych == ' ') goto yy142;
8991 				goto yy295;
8992 			}
8993 		} else {
8994 			if (yych <= ',') {
8995 				if (yych <= ')') goto yy115;
8996 				goto yy295;
8997 			} else {
8998 				if (yych <= '-') goto yy473;
8999 				if (yych <= '.') goto yy142;
9000 				goto yy295;
9001 			}
9002 		}
9003 	} else {
9004 		if (yych <= 'Z') {
9005 			if (yych <= '@') {
9006 				if (yych <= '9') goto yy142;
9007 				goto yy295;
9008 			} else {
9009 				if (yych == 'E') goto yy515;
9010 				goto yy472;
9011 			}
9012 		} else {
9013 			if (yych <= 'd') {
9014 				if (yych <= '`') goto yy295;
9015 				goto yy472;
9016 			} else {
9017 				if (yych <= 'e') goto yy515;
9018 				if (yych <= 'z') goto yy472;
9019 				goto yy295;
9020 			}
9021 		}
9022 	}
9023 yy337:
9024 	YYDEBUG(337, *YYCURSOR);
9025 	yyaccept = 7;
9026 	yych = *(YYMARKER = ++YYCURSOR);
9027 	if (yych <= '9') {
9028 		if (yych <= '(') {
9029 			if (yych <= '\t') {
9030 				if (yych <= 0x08) goto yy295;
9031 				goto yy142;
9032 			} else {
9033 				if (yych == ' ') goto yy142;
9034 				goto yy295;
9035 			}
9036 		} else {
9037 			if (yych <= '-') {
9038 				if (yych <= ')') goto yy115;
9039 				if (yych <= ',') goto yy295;
9040 				goto yy479;
9041 			} else {
9042 				if (yych == '/') goto yy297;
9043 				goto yy142;
9044 			}
9045 		}
9046 	} else {
9047 		if (yych <= '^') {
9048 			if (yych <= 'T') {
9049 				if (yych <= '@') goto yy295;
9050 				goto yy472;
9051 			} else {
9052 				if (yych <= 'U') goto yy514;
9053 				if (yych <= 'Z') goto yy472;
9054 				goto yy295;
9055 			}
9056 		} else {
9057 			if (yych <= 't') {
9058 				if (yych <= '_') goto yy297;
9059 				if (yych <= '`') goto yy295;
9060 				goto yy478;
9061 			} else {
9062 				if (yych <= 'u') goto yy516;
9063 				if (yych <= 'z') goto yy478;
9064 				goto yy295;
9065 			}
9066 		}
9067 	}
9068 yy338:
9069 	YYDEBUG(338, *YYCURSOR);
9070 	yyaccept = 7;
9071 	yych = *(YYMARKER = ++YYCURSOR);
9072 	if (yych <= '9') {
9073 		if (yych <= '(') {
9074 			if (yych <= '\t') {
9075 				if (yych <= 0x08) goto yy295;
9076 				goto yy142;
9077 			} else {
9078 				if (yych == ' ') goto yy142;
9079 				goto yy295;
9080 			}
9081 		} else {
9082 			if (yych <= '-') {
9083 				if (yych <= ')') goto yy115;
9084 				if (yych <= ',') goto yy295;
9085 				goto yy479;
9086 			} else {
9087 				if (yych == '/') goto yy297;
9088 				goto yy142;
9089 			}
9090 		}
9091 	} else {
9092 		if (yych <= '^') {
9093 			if (yych <= 'X') {
9094 				if (yych <= '@') goto yy295;
9095 				goto yy472;
9096 			} else {
9097 				if (yych <= 'Y') goto yy515;
9098 				if (yych <= 'Z') goto yy472;
9099 				goto yy295;
9100 			}
9101 		} else {
9102 			if (yych <= 'x') {
9103 				if (yych <= '_') goto yy297;
9104 				if (yych <= '`') goto yy295;
9105 				goto yy478;
9106 			} else {
9107 				if (yych <= 'y') goto yy517;
9108 				if (yych <= 'z') goto yy478;
9109 				goto yy295;
9110 			}
9111 		}
9112 	}
9113 yy339:
9114 	YYDEBUG(339, *YYCURSOR);
9115 	yyaccept = 7;
9116 	yych = *(YYMARKER = ++YYCURSOR);
9117 	if (yych <= '9') {
9118 		if (yych <= '(') {
9119 			if (yych <= '\t') {
9120 				if (yych <= 0x08) goto yy295;
9121 				goto yy142;
9122 			} else {
9123 				if (yych == ' ') goto yy142;
9124 				goto yy295;
9125 			}
9126 		} else {
9127 			if (yych <= '-') {
9128 				if (yych <= ')') goto yy115;
9129 				if (yych <= ',') goto yy295;
9130 				goto yy479;
9131 			} else {
9132 				if (yych == '/') goto yy297;
9133 				goto yy142;
9134 			}
9135 		}
9136 	} else {
9137 		if (yych <= '^') {
9138 			if (yych <= 'D') {
9139 				if (yych <= '@') goto yy295;
9140 				goto yy472;
9141 			} else {
9142 				if (yych <= 'E') goto yy515;
9143 				if (yych <= 'Z') goto yy472;
9144 				goto yy295;
9145 			}
9146 		} else {
9147 			if (yych <= 'd') {
9148 				if (yych <= '_') goto yy297;
9149 				if (yych <= '`') goto yy295;
9150 				goto yy478;
9151 			} else {
9152 				if (yych <= 'e') goto yy517;
9153 				if (yych <= 'z') goto yy478;
9154 				goto yy295;
9155 			}
9156 		}
9157 	}
9158 yy340:
9159 	YYDEBUG(340, *YYCURSOR);
9160 	yych = *++YYCURSOR;
9161 	if (yych <= 'T') {
9162 		if (yych <= ')') {
9163 			if (yych <= '(') goto yy20;
9164 			goto yy115;
9165 		} else {
9166 			if (yych <= '@') goto yy20;
9167 			if (yych <= 'S') goto yy472;
9168 			goto yy518;
9169 		}
9170 	} else {
9171 		if (yych <= 's') {
9172 			if (yych <= 'Z') goto yy472;
9173 			if (yych <= '`') goto yy20;
9174 			goto yy472;
9175 		} else {
9176 			if (yych <= 't') goto yy518;
9177 			if (yych <= 'z') goto yy472;
9178 			goto yy20;
9179 		}
9180 	}
9181 yy341:
9182 	YYDEBUG(341, *YYCURSOR);
9183 	yyaccept = 2;
9184 	yych = *(YYMARKER = ++YYCURSOR);
9185 	if (yych <= 'S') {
9186 		if (yych <= '-') {
9187 			if (yych == ')') goto yy115;
9188 			if (yych <= ',') goto yy20;
9189 			goto yy297;
9190 		} else {
9191 			if (yych == '/') goto yy297;
9192 			if (yych <= '@') goto yy20;
9193 			goto yy472;
9194 		}
9195 	} else {
9196 		if (yych <= '_') {
9197 			if (yych <= 'T') goto yy518;
9198 			if (yych <= 'Z') goto yy472;
9199 			if (yych <= '^') goto yy20;
9200 			goto yy297;
9201 		} else {
9202 			if (yych <= 's') {
9203 				if (yych <= '`') goto yy20;
9204 				goto yy478;
9205 			} else {
9206 				if (yych <= 't') goto yy519;
9207 				if (yych <= 'z') goto yy478;
9208 				goto yy20;
9209 			}
9210 		}
9211 	}
9212 yy342:
9213 	YYDEBUG(342, *YYCURSOR);
9214 	yyaccept = 7;
9215 	yych = *(YYMARKER = ++YYCURSOR);
9216 	if (yych <= '/') {
9217 		if (yych <= '(') {
9218 			if (yych <= '\t') {
9219 				if (yych <= 0x08) goto yy295;
9220 				goto yy142;
9221 			} else {
9222 				if (yych == ' ') goto yy142;
9223 				goto yy295;
9224 			}
9225 		} else {
9226 			if (yych <= ',') {
9227 				if (yych <= ')') goto yy115;
9228 				goto yy295;
9229 			} else {
9230 				if (yych <= '-') goto yy473;
9231 				if (yych <= '.') goto yy142;
9232 				goto yy295;
9233 			}
9234 		}
9235 	} else {
9236 		if (yych <= 'Z') {
9237 			if (yych <= '@') {
9238 				if (yych <= '9') goto yy142;
9239 				goto yy295;
9240 			} else {
9241 				if (yych == 'C') goto yy520;
9242 				goto yy472;
9243 			}
9244 		} else {
9245 			if (yych <= 'b') {
9246 				if (yych <= '`') goto yy295;
9247 				goto yy472;
9248 			} else {
9249 				if (yych <= 'c') goto yy520;
9250 				if (yych <= 'z') goto yy472;
9251 				goto yy295;
9252 			}
9253 		}
9254 	}
9255 yy343:
9256 	YYDEBUG(343, *YYCURSOR);
9257 	yyaccept = 7;
9258 	yych = *(YYMARKER = ++YYCURSOR);
9259 	if (yych <= '-') {
9260 		if (yych <= ' ') {
9261 			if (yych == '\t') goto yy142;
9262 			if (yych <= 0x1F) goto yy295;
9263 			goto yy142;
9264 		} else {
9265 			if (yych == ')') goto yy115;
9266 			if (yych <= ',') goto yy295;
9267 			goto yy473;
9268 		}
9269 	} else {
9270 		if (yych <= '@') {
9271 			if (yych == '/') goto yy295;
9272 			if (yych <= '9') goto yy142;
9273 			goto yy295;
9274 		} else {
9275 			if (yych <= 'Z') goto yy472;
9276 			if (yych <= '`') goto yy295;
9277 			if (yych <= 'z') goto yy472;
9278 			goto yy295;
9279 		}
9280 	}
9281 yy344:
9282 	YYDEBUG(344, *YYCURSOR);
9283 	yych = *++YYCURSOR;
9284 	if (yych <= 'N') {
9285 		if (yych <= ')') {
9286 			if (yych <= '(') goto yy20;
9287 			goto yy115;
9288 		} else {
9289 			if (yych <= '@') goto yy20;
9290 			if (yych <= 'M') goto yy472;
9291 			goto yy521;
9292 		}
9293 	} else {
9294 		if (yych <= 'm') {
9295 			if (yych <= 'Z') goto yy472;
9296 			if (yych <= '`') goto yy20;
9297 			goto yy472;
9298 		} else {
9299 			if (yych <= 'n') goto yy521;
9300 			if (yych <= 'z') goto yy472;
9301 			goto yy20;
9302 		}
9303 	}
9304 yy345:
9305 	YYDEBUG(345, *YYCURSOR);
9306 	yyaccept = 7;
9307 	yych = *(YYMARKER = ++YYCURSOR);
9308 	if (yych <= '9') {
9309 		if (yych <= '(') {
9310 			if (yych <= '\t') {
9311 				if (yych <= 0x08) goto yy295;
9312 				goto yy142;
9313 			} else {
9314 				if (yych == ' ') goto yy142;
9315 				goto yy295;
9316 			}
9317 		} else {
9318 			if (yych <= '-') {
9319 				if (yych <= ')') goto yy115;
9320 				if (yych <= ',') goto yy295;
9321 				goto yy479;
9322 			} else {
9323 				if (yych == '/') goto yy297;
9324 				goto yy142;
9325 			}
9326 		}
9327 	} else {
9328 		if (yych <= '^') {
9329 			if (yych <= 'B') {
9330 				if (yych <= '@') goto yy295;
9331 				goto yy472;
9332 			} else {
9333 				if (yych <= 'C') goto yy520;
9334 				if (yych <= 'Z') goto yy472;
9335 				goto yy295;
9336 			}
9337 		} else {
9338 			if (yych <= 'b') {
9339 				if (yych <= '_') goto yy297;
9340 				if (yych <= '`') goto yy295;
9341 				goto yy478;
9342 			} else {
9343 				if (yych <= 'c') goto yy522;
9344 				if (yych <= 'z') goto yy478;
9345 				goto yy295;
9346 			}
9347 		}
9348 	}
9349 yy346:
9350 	YYDEBUG(346, *YYCURSOR);
9351 	yyaccept = 7;
9352 	yych = *(YYMARKER = ++YYCURSOR);
9353 	if (yych <= '.') {
9354 		if (yych <= ' ') {
9355 			if (yych == '\t') goto yy142;
9356 			if (yych <= 0x1F) goto yy295;
9357 			goto yy142;
9358 		} else {
9359 			if (yych <= ')') {
9360 				if (yych <= '(') goto yy295;
9361 				goto yy115;
9362 			} else {
9363 				if (yych <= ',') goto yy295;
9364 				if (yych <= '-') goto yy479;
9365 				goto yy142;
9366 			}
9367 		}
9368 	} else {
9369 		if (yych <= 'Z') {
9370 			if (yych <= '/') goto yy297;
9371 			if (yych <= '9') goto yy142;
9372 			if (yych <= '@') goto yy295;
9373 			goto yy472;
9374 		} else {
9375 			if (yych <= '_') {
9376 				if (yych <= '^') goto yy295;
9377 				goto yy297;
9378 			} else {
9379 				if (yych <= '`') goto yy295;
9380 				if (yych <= 'z') goto yy478;
9381 				goto yy295;
9382 			}
9383 		}
9384 	}
9385 yy347:
9386 	YYDEBUG(347, *YYCURSOR);
9387 	yyaccept = 2;
9388 	yych = *(YYMARKER = ++YYCURSOR);
9389 	if (yych <= 'M') {
9390 		if (yych <= '-') {
9391 			if (yych == ')') goto yy115;
9392 			if (yych <= ',') goto yy20;
9393 			goto yy297;
9394 		} else {
9395 			if (yych == '/') goto yy297;
9396 			if (yych <= '@') goto yy20;
9397 			goto yy472;
9398 		}
9399 	} else {
9400 		if (yych <= '_') {
9401 			if (yych <= 'N') goto yy521;
9402 			if (yych <= 'Z') goto yy472;
9403 			if (yych <= '^') goto yy20;
9404 			goto yy297;
9405 		} else {
9406 			if (yych <= 'm') {
9407 				if (yych <= '`') goto yy20;
9408 				goto yy478;
9409 			} else {
9410 				if (yych <= 'n') goto yy523;
9411 				if (yych <= 'z') goto yy478;
9412 				goto yy20;
9413 			}
9414 		}
9415 	}
9416 yy348:
9417 	YYDEBUG(348, *YYCURSOR);
9418 	yych = *++YYCURSOR;
9419 	if (yych <= 'T') {
9420 		if (yych <= ')') {
9421 			if (yych <= '(') goto yy20;
9422 			goto yy115;
9423 		} else {
9424 			if (yych <= '@') goto yy20;
9425 			if (yych <= 'S') goto yy472;
9426 			goto yy524;
9427 		}
9428 	} else {
9429 		if (yych <= 's') {
9430 			if (yych <= 'Z') goto yy472;
9431 			if (yych <= '`') goto yy20;
9432 			goto yy472;
9433 		} else {
9434 			if (yych <= 't') goto yy524;
9435 			if (yych <= 'z') goto yy472;
9436 			goto yy20;
9437 		}
9438 	}
9439 yy349:
9440 	YYDEBUG(349, *YYCURSOR);
9441 	yych = *++YYCURSOR;
9442 	if (yych <= 'N') {
9443 		if (yych <= ')') {
9444 			if (yych <= '(') goto yy20;
9445 			goto yy115;
9446 		} else {
9447 			if (yych <= '@') goto yy20;
9448 			if (yych <= 'M') goto yy472;
9449 			goto yy525;
9450 		}
9451 	} else {
9452 		if (yych <= 'm') {
9453 			if (yych <= 'Z') goto yy472;
9454 			if (yych <= '`') goto yy20;
9455 			goto yy472;
9456 		} else {
9457 			if (yych <= 'n') goto yy525;
9458 			if (yych <= 'z') goto yy472;
9459 			goto yy20;
9460 		}
9461 	}
9462 yy350:
9463 	YYDEBUG(350, *YYCURSOR);
9464 	yych = *++YYCURSOR;
9465 	if (yych <= '@') {
9466 		if (yych == ')') goto yy115;
9467 	} else {
9468 		if (yych <= 'Z') goto yy472;
9469 		if (yych <= '`') goto yy351;
9470 		if (yych <= 'z') goto yy472;
9471 	}
9472 yy351:
9473 	YYDEBUG(351, *YYCURSOR);
9474 #line 1164 "ext/date/lib/parse_date.re"
9475 	{
9476 		DEBUG_OUTPUT("now");
9477 		TIMELIB_INIT;
9478 
9479 		TIMELIB_DEINIT;
9480 		return TIMELIB_RELATIVE;
9481 	}
9482 #line 9483 "<stdout>"
9483 yy352:
9484 	YYDEBUG(352, *YYCURSOR);
9485 	yyaccept = 2;
9486 	yych = *(YYMARKER = ++YYCURSOR);
9487 	if (yych <= 'S') {
9488 		if (yych <= '-') {
9489 			if (yych == ')') goto yy115;
9490 			if (yych <= ',') goto yy20;
9491 			goto yy297;
9492 		} else {
9493 			if (yych == '/') goto yy297;
9494 			if (yych <= '@') goto yy20;
9495 			goto yy472;
9496 		}
9497 	} else {
9498 		if (yych <= '_') {
9499 			if (yych <= 'T') goto yy524;
9500 			if (yych <= 'Z') goto yy472;
9501 			if (yych <= '^') goto yy20;
9502 			goto yy297;
9503 		} else {
9504 			if (yych <= 's') {
9505 				if (yych <= '`') goto yy20;
9506 				goto yy478;
9507 			} else {
9508 				if (yych <= 't') goto yy527;
9509 				if (yych <= 'z') goto yy478;
9510 				goto yy20;
9511 			}
9512 		}
9513 	}
9514 yy353:
9515 	YYDEBUG(353, *YYCURSOR);
9516 	yyaccept = 2;
9517 	yych = *(YYMARKER = ++YYCURSOR);
9518 	if (yych <= 'M') {
9519 		if (yych <= '-') {
9520 			if (yych == ')') goto yy115;
9521 			if (yych <= ',') goto yy20;
9522 			goto yy297;
9523 		} else {
9524 			if (yych == '/') goto yy297;
9525 			if (yych <= '@') goto yy20;
9526 			goto yy472;
9527 		}
9528 	} else {
9529 		if (yych <= '_') {
9530 			if (yych <= 'N') goto yy525;
9531 			if (yych <= 'Z') goto yy472;
9532 			if (yych <= '^') goto yy20;
9533 			goto yy297;
9534 		} else {
9535 			if (yych <= 'm') {
9536 				if (yych <= '`') goto yy20;
9537 				goto yy478;
9538 			} else {
9539 				if (yych <= 'n') goto yy528;
9540 				if (yych <= 'z') goto yy478;
9541 				goto yy20;
9542 			}
9543 		}
9544 	}
9545 yy354:
9546 	YYDEBUG(354, *YYCURSOR);
9547 	yyaccept = 11;
9548 	yych = *(YYMARKER = ++YYCURSOR);
9549 	if (yych <= '/') {
9550 		if (yych <= ',') {
9551 			if (yych == ')') goto yy115;
9552 			goto yy351;
9553 		} else {
9554 			if (yych == '.') goto yy351;
9555 			goto yy297;
9556 		}
9557 	} else {
9558 		if (yych <= '^') {
9559 			if (yych <= '@') goto yy351;
9560 			if (yych <= 'Z') goto yy472;
9561 			goto yy351;
9562 		} else {
9563 			if (yych <= '_') goto yy297;
9564 			if (yych <= '`') goto yy351;
9565 			if (yych <= 'z') goto yy478;
9566 			goto yy351;
9567 		}
9568 	}
9569 yy355:
9570 	YYDEBUG(355, *YYCURSOR);
9571 	yyaccept = 7;
9572 	yych = *(YYMARKER = ++YYCURSOR);
9573 	if (yych <= '/') {
9574 		if (yych <= '(') {
9575 			if (yych <= '\t') {
9576 				if (yych <= 0x08) goto yy295;
9577 				goto yy142;
9578 			} else {
9579 				if (yych == ' ') goto yy142;
9580 				goto yy295;
9581 			}
9582 		} else {
9583 			if (yych <= ',') {
9584 				if (yych <= ')') goto yy115;
9585 				goto yy295;
9586 			} else {
9587 				if (yych <= '-') goto yy473;
9588 				if (yych <= '.') goto yy142;
9589 				goto yy295;
9590 			}
9591 		}
9592 	} else {
9593 		if (yych <= 'Z') {
9594 			if (yych <= '@') {
9595 				if (yych <= '9') goto yy142;
9596 				goto yy295;
9597 			} else {
9598 				if (yych == 'O') goto yy529;
9599 				goto yy472;
9600 			}
9601 		} else {
9602 			if (yych <= 'n') {
9603 				if (yych <= '`') goto yy295;
9604 				goto yy472;
9605 			} else {
9606 				if (yych <= 'o') goto yy529;
9607 				if (yych <= 'z') goto yy472;
9608 				goto yy295;
9609 			}
9610 		}
9611 	}
9612 yy356:
9613 	YYDEBUG(356, *YYCURSOR);
9614 	yyaccept = 7;
9615 	yych = *(YYMARKER = ++YYCURSOR);
9616 	if (yych <= '9') {
9617 		if (yych <= '(') {
9618 			if (yych <= '\t') {
9619 				if (yych <= 0x08) goto yy295;
9620 				goto yy142;
9621 			} else {
9622 				if (yych == ' ') goto yy142;
9623 				goto yy295;
9624 			}
9625 		} else {
9626 			if (yych <= '-') {
9627 				if (yych <= ')') goto yy115;
9628 				if (yych <= ',') goto yy295;
9629 				goto yy479;
9630 			} else {
9631 				if (yych == '/') goto yy297;
9632 				goto yy142;
9633 			}
9634 		}
9635 	} else {
9636 		if (yych <= '^') {
9637 			if (yych <= 'N') {
9638 				if (yych <= '@') goto yy295;
9639 				goto yy472;
9640 			} else {
9641 				if (yych <= 'O') goto yy529;
9642 				if (yych <= 'Z') goto yy472;
9643 				goto yy295;
9644 			}
9645 		} else {
9646 			if (yych <= 'n') {
9647 				if (yych <= '_') goto yy297;
9648 				if (yych <= '`') goto yy295;
9649 				goto yy478;
9650 			} else {
9651 				if (yych <= 'o') goto yy530;
9652 				if (yych <= 'z') goto yy478;
9653 				goto yy295;
9654 			}
9655 		}
9656 	}
9657 yy357:
9658 	YYDEBUG(357, *YYCURSOR);
9659 	yych = *++YYCURSOR;
9660 	if (yych <= 'V') {
9661 		if (yych <= ')') {
9662 			if (yych <= '(') goto yy20;
9663 			goto yy115;
9664 		} else {
9665 			if (yych <= '@') goto yy20;
9666 			if (yych <= 'U') goto yy472;
9667 			goto yy531;
9668 		}
9669 	} else {
9670 		if (yych <= 'u') {
9671 			if (yych <= 'Z') goto yy472;
9672 			if (yych <= '`') goto yy20;
9673 			goto yy472;
9674 		} else {
9675 			if (yych <= 'v') goto yy531;
9676 			if (yych <= 'z') goto yy472;
9677 			goto yy20;
9678 		}
9679 	}
9680 yy358:
9681 	YYDEBUG(358, *YYCURSOR);
9682 	yyaccept = 2;
9683 	yych = *(YYMARKER = ++YYCURSOR);
9684 	if (yych <= 'U') {
9685 		if (yych <= '-') {
9686 			if (yych == ')') goto yy115;
9687 			if (yych <= ',') goto yy20;
9688 			goto yy297;
9689 		} else {
9690 			if (yych == '/') goto yy297;
9691 			if (yych <= '@') goto yy20;
9692 			goto yy472;
9693 		}
9694 	} else {
9695 		if (yych <= '_') {
9696 			if (yych <= 'V') goto yy531;
9697 			if (yych <= 'Z') goto yy472;
9698 			if (yych <= '^') goto yy20;
9699 			goto yy297;
9700 		} else {
9701 			if (yych <= 'u') {
9702 				if (yych <= '`') goto yy20;
9703 				goto yy478;
9704 			} else {
9705 				if (yych <= 'v') goto yy532;
9706 				if (yych <= 'z') goto yy478;
9707 				goto yy20;
9708 			}
9709 		}
9710 	}
9711 yy359:
9712 	YYDEBUG(359, *YYCURSOR);
9713 	yych = *++YYCURSOR;
9714 	if (yych <= 'U') {
9715 		if (yych <= ')') {
9716 			if (yych <= '(') goto yy315;
9717 			goto yy115;
9718 		} else {
9719 			if (yych <= '@') goto yy315;
9720 			if (yych <= 'T') goto yy472;
9721 			goto yy533;
9722 		}
9723 	} else {
9724 		if (yych <= 't') {
9725 			if (yych <= 'Z') goto yy472;
9726 			if (yych <= '`') goto yy315;
9727 			goto yy472;
9728 		} else {
9729 			if (yych <= 'u') goto yy533;
9730 			if (yych <= 'z') goto yy472;
9731 			goto yy315;
9732 		}
9733 	}
9734 yy360:
9735 	YYDEBUG(360, *YYCURSOR);
9736 	yych = *++YYCURSOR;
9737 	if (yych <= 'O') {
9738 		if (yych <= ')') {
9739 			if (yych <= '(') goto yy20;
9740 			goto yy115;
9741 		} else {
9742 			if (yych <= '@') goto yy20;
9743 			if (yych <= 'N') goto yy472;
9744 			goto yy534;
9745 		}
9746 	} else {
9747 		if (yych <= 'n') {
9748 			if (yych <= 'Z') goto yy472;
9749 			if (yych <= '`') goto yy20;
9750 			goto yy472;
9751 		} else {
9752 			if (yych <= 'o') goto yy534;
9753 			if (yych <= 'z') goto yy472;
9754 			goto yy20;
9755 		}
9756 	}
9757 yy361:
9758 	YYDEBUG(361, *YYCURSOR);
9759 	yyaccept = 7;
9760 	yych = *(YYMARKER = ++YYCURSOR);
9761 	if (yych <= '/') {
9762 		if (yych <= '(') {
9763 			if (yych <= '\t') {
9764 				if (yych <= 0x08) goto yy295;
9765 				goto yy142;
9766 			} else {
9767 				if (yych == ' ') goto yy142;
9768 				goto yy295;
9769 			}
9770 		} else {
9771 			if (yych <= ',') {
9772 				if (yych <= ')') goto yy115;
9773 				goto yy295;
9774 			} else {
9775 				if (yych <= '-') goto yy473;
9776 				if (yych <= '.') goto yy142;
9777 				goto yy295;
9778 			}
9779 		}
9780 	} else {
9781 		if (yych <= 'Z') {
9782 			if (yych <= '@') {
9783 				if (yych <= '9') goto yy142;
9784 				goto yy295;
9785 			} else {
9786 				if (yych == 'T') goto yy535;
9787 				goto yy472;
9788 			}
9789 		} else {
9790 			if (yych <= 's') {
9791 				if (yych <= '`') goto yy295;
9792 				goto yy472;
9793 			} else {
9794 				if (yych <= 't') goto yy535;
9795 				if (yych <= 'z') goto yy472;
9796 				goto yy295;
9797 			}
9798 		}
9799 	}
9800 yy362:
9801 	YYDEBUG(362, *YYCURSOR);
9802 	yych = *++YYCURSOR;
9803 	if (yych <= 'E') {
9804 		if (yych <= ')') {
9805 			if (yych <= '(') goto yy20;
9806 			goto yy115;
9807 		} else {
9808 			if (yych <= '@') goto yy20;
9809 			if (yych <= 'D') goto yy472;
9810 			goto yy536;
9811 		}
9812 	} else {
9813 		if (yych <= 'd') {
9814 			if (yych <= 'Z') goto yy472;
9815 			if (yych <= '`') goto yy20;
9816 			goto yy472;
9817 		} else {
9818 			if (yych <= 'e') goto yy536;
9819 			if (yych <= 'z') goto yy472;
9820 			goto yy20;
9821 		}
9822 	}
9823 yy363:
9824 	YYDEBUG(363, *YYCURSOR);
9825 	yyaccept = 9;
9826 	yych = *(YYMARKER = ++YYCURSOR);
9827 	if (yych <= 'T') {
9828 		if (yych <= '-') {
9829 			if (yych == ')') goto yy115;
9830 			if (yych <= ',') goto yy315;
9831 			goto yy297;
9832 		} else {
9833 			if (yych == '/') goto yy297;
9834 			if (yych <= '@') goto yy315;
9835 			goto yy472;
9836 		}
9837 	} else {
9838 		if (yych <= '_') {
9839 			if (yych <= 'U') goto yy533;
9840 			if (yych <= 'Z') goto yy472;
9841 			if (yych <= '^') goto yy315;
9842 			goto yy297;
9843 		} else {
9844 			if (yych <= 't') {
9845 				if (yych <= '`') goto yy315;
9846 				goto yy478;
9847 			} else {
9848 				if (yych <= 'u') goto yy537;
9849 				if (yych <= 'z') goto yy478;
9850 				goto yy315;
9851 			}
9852 		}
9853 	}
9854 yy364:
9855 	YYDEBUG(364, *YYCURSOR);
9856 	yyaccept = 2;
9857 	yych = *(YYMARKER = ++YYCURSOR);
9858 	if (yych <= 'N') {
9859 		if (yych <= '-') {
9860 			if (yych == ')') goto yy115;
9861 			if (yych <= ',') goto yy20;
9862 			goto yy297;
9863 		} else {
9864 			if (yych == '/') goto yy297;
9865 			if (yych <= '@') goto yy20;
9866 			goto yy472;
9867 		}
9868 	} else {
9869 		if (yych <= '_') {
9870 			if (yych <= 'O') goto yy534;
9871 			if (yych <= 'Z') goto yy472;
9872 			if (yych <= '^') goto yy20;
9873 			goto yy297;
9874 		} else {
9875 			if (yych <= 'n') {
9876 				if (yych <= '`') goto yy20;
9877 				goto yy478;
9878 			} else {
9879 				if (yych <= 'o') goto yy538;
9880 				if (yych <= 'z') goto yy478;
9881 				goto yy20;
9882 			}
9883 		}
9884 	}
9885 yy365:
9886 	YYDEBUG(365, *YYCURSOR);
9887 	yyaccept = 7;
9888 	yych = *(YYMARKER = ++YYCURSOR);
9889 	if (yych <= '9') {
9890 		if (yych <= '(') {
9891 			if (yych <= '\t') {
9892 				if (yych <= 0x08) goto yy295;
9893 				goto yy142;
9894 			} else {
9895 				if (yych == ' ') goto yy142;
9896 				goto yy295;
9897 			}
9898 		} else {
9899 			if (yych <= '-') {
9900 				if (yych <= ')') goto yy115;
9901 				if (yych <= ',') goto yy295;
9902 				goto yy479;
9903 			} else {
9904 				if (yych == '/') goto yy297;
9905 				goto yy142;
9906 			}
9907 		}
9908 	} else {
9909 		if (yych <= '^') {
9910 			if (yych <= 'S') {
9911 				if (yych <= '@') goto yy295;
9912 				goto yy472;
9913 			} else {
9914 				if (yych <= 'T') goto yy535;
9915 				if (yych <= 'Z') goto yy472;
9916 				goto yy295;
9917 			}
9918 		} else {
9919 			if (yych <= 's') {
9920 				if (yych <= '_') goto yy297;
9921 				if (yych <= '`') goto yy295;
9922 				goto yy478;
9923 			} else {
9924 				if (yych <= 't') goto yy539;
9925 				if (yych <= 'z') goto yy478;
9926 				goto yy295;
9927 			}
9928 		}
9929 	}
9930 yy366:
9931 	YYDEBUG(366, *YYCURSOR);
9932 	yyaccept = 2;
9933 	yych = *(YYMARKER = ++YYCURSOR);
9934 	if (yych <= 'D') {
9935 		if (yych <= '-') {
9936 			if (yych == ')') goto yy115;
9937 			if (yych <= ',') goto yy20;
9938 			goto yy297;
9939 		} else {
9940 			if (yych == '/') goto yy297;
9941 			if (yych <= '@') goto yy20;
9942 			goto yy472;
9943 		}
9944 	} else {
9945 		if (yych <= '_') {
9946 			if (yych <= 'E') goto yy536;
9947 			if (yych <= 'Z') goto yy472;
9948 			if (yych <= '^') goto yy20;
9949 			goto yy297;
9950 		} else {
9951 			if (yych <= 'd') {
9952 				if (yych <= '`') goto yy20;
9953 				goto yy478;
9954 			} else {
9955 				if (yych <= 'e') goto yy540;
9956 				if (yych <= 'z') goto yy478;
9957 				goto yy20;
9958 			}
9959 		}
9960 	}
9961 yy367:
9962 	YYDEBUG(367, *YYCURSOR);
9963 	yyaccept = 4;
9964 	yych = *(YYMARKER = ++YYCURSOR);
9965 	if (yych <= '/') {
9966 		if (yych == '.') goto yy75;
9967 		goto yy177;
9968 	} else {
9969 		if (yych <= '5') goto yy541;
9970 		if (yych == ':') goto yy75;
9971 		goto yy177;
9972 	}
9973 yy368:
9974 	YYDEBUG(368, *YYCURSOR);
9975 	yych = *++YYCURSOR;
9976 	if (yych <= 'S') {
9977 		if (yych <= '@') {
9978 			if (yych == ')') goto yy115;
9979 			goto yy20;
9980 		} else {
9981 			if (yych <= 'Q') goto yy472;
9982 			if (yych <= 'R') goto yy542;
9983 			goto yy524;
9984 		}
9985 	} else {
9986 		if (yych <= 'q') {
9987 			if (yych <= 'Z') goto yy472;
9988 			if (yych <= '`') goto yy20;
9989 			goto yy472;
9990 		} else {
9991 			if (yych <= 'r') goto yy542;
9992 			if (yych <= 's') goto yy524;
9993 			if (yych <= 'z') goto yy472;
9994 			goto yy20;
9995 		}
9996 	}
9997 yy369:
9998 	YYDEBUG(369, *YYCURSOR);
9999 	yych = *++YYCURSOR;
10000 	if (yych <= 'R') {
10001 		if (yych <= ')') {
10002 			if (yych <= '(') goto yy315;
10003 			goto yy115;
10004 		} else {
10005 			if (yych <= '@') goto yy315;
10006 			if (yych <= 'Q') goto yy472;
10007 			goto yy543;
10008 		}
10009 	} else {
10010 		if (yych <= 'q') {
10011 			if (yych <= 'Z') goto yy472;
10012 			if (yych <= '`') goto yy315;
10013 			goto yy472;
10014 		} else {
10015 			if (yych <= 'r') goto yy543;
10016 			if (yych <= 'z') goto yy472;
10017 			goto yy315;
10018 		}
10019 	}
10020 yy370:
10021 	YYDEBUG(370, *YYCURSOR);
10022 	yych = *++YYCURSOR;
10023 	if (yych <= 'A') {
10024 		if (yych == ')') goto yy115;
10025 		if (yych <= '@') goto yy20;
10026 		goto yy544;
10027 	} else {
10028 		if (yych <= '`') {
10029 			if (yych <= 'Z') goto yy472;
10030 			goto yy20;
10031 		} else {
10032 			if (yych <= 'a') goto yy544;
10033 			if (yych <= 'z') goto yy472;
10034 			goto yy20;
10035 		}
10036 	}
10037 yy371:
10038 	YYDEBUG(371, *YYCURSOR);
10039 	yych = *++YYCURSOR;
10040 	if (yych <= 'O') {
10041 		if (yych <= ')') {
10042 			if (yych <= '(') goto yy20;
10043 			goto yy115;
10044 		} else {
10045 			if (yych <= '@') goto yy20;
10046 			if (yych <= 'N') goto yy472;
10047 			goto yy545;
10048 		}
10049 	} else {
10050 		if (yych <= 'n') {
10051 			if (yych <= 'Z') goto yy472;
10052 			if (yych <= '`') goto yy20;
10053 			goto yy472;
10054 		} else {
10055 			if (yych <= 'o') goto yy545;
10056 			if (yych <= 'z') goto yy472;
10057 			goto yy20;
10058 		}
10059 	}
10060 yy372:
10061 	YYDEBUG(372, *YYCURSOR);
10062 	yych = *++YYCURSOR;
10063 	if (yych <= 'S') {
10064 		if (yych <= ')') {
10065 			if (yych <= '(') goto yy315;
10066 			goto yy115;
10067 		} else {
10068 			if (yych <= '@') goto yy315;
10069 			if (yych <= 'R') goto yy472;
10070 			goto yy546;
10071 		}
10072 	} else {
10073 		if (yych <= 'r') {
10074 			if (yych <= 'Z') goto yy472;
10075 			if (yych <= '`') goto yy315;
10076 			goto yy472;
10077 		} else {
10078 			if (yych <= 's') goto yy546;
10079 			if (yych <= 'z') goto yy472;
10080 			goto yy315;
10081 		}
10082 	}
10083 yy373:
10084 	YYDEBUG(373, *YYCURSOR);
10085 	yych = *++YYCURSOR;
10086 	if (yych <= 'L') {
10087 		if (yych <= ')') {
10088 			if (yych <= '(') goto yy20;
10089 			goto yy115;
10090 		} else {
10091 			if (yych <= '@') goto yy20;
10092 			if (yych <= 'K') goto yy472;
10093 			goto yy547;
10094 		}
10095 	} else {
10096 		if (yych <= 'k') {
10097 			if (yych <= 'Z') goto yy472;
10098 			if (yych <= '`') goto yy20;
10099 			goto yy472;
10100 		} else {
10101 			if (yych <= 'l') goto yy547;
10102 			if (yych <= 'z') goto yy472;
10103 			goto yy20;
10104 		}
10105 	}
10106 yy374:
10107 	YYDEBUG(374, *YYCURSOR);
10108 	yyaccept = 2;
10109 	yych = *(YYMARKER = ++YYCURSOR);
10110 	if (yych <= 'R') {
10111 		if (yych <= '-') {
10112 			if (yych == ')') goto yy115;
10113 			if (yych <= ',') goto yy20;
10114 			goto yy297;
10115 		} else {
10116 			if (yych <= '/') {
10117 				if (yych <= '.') goto yy20;
10118 				goto yy297;
10119 			} else {
10120 				if (yych <= '@') goto yy20;
10121 				if (yych <= 'Q') goto yy472;
10122 				goto yy542;
10123 			}
10124 		}
10125 	} else {
10126 		if (yych <= '`') {
10127 			if (yych <= 'Z') {
10128 				if (yych <= 'S') goto yy524;
10129 				goto yy472;
10130 			} else {
10131 				if (yych == '_') goto yy297;
10132 				goto yy20;
10133 			}
10134 		} else {
10135 			if (yych <= 'r') {
10136 				if (yych <= 'q') goto yy478;
10137 				goto yy548;
10138 			} else {
10139 				if (yych <= 's') goto yy527;
10140 				if (yych <= 'z') goto yy478;
10141 				goto yy20;
10142 			}
10143 		}
10144 	}
10145 yy375:
10146 	YYDEBUG(375, *YYCURSOR);
10147 	yyaccept = 9;
10148 	yych = *(YYMARKER = ++YYCURSOR);
10149 	if (yych <= 'Q') {
10150 		if (yych <= '-') {
10151 			if (yych == ')') goto yy115;
10152 			if (yych <= ',') goto yy315;
10153 			goto yy297;
10154 		} else {
10155 			if (yych == '/') goto yy297;
10156 			if (yych <= '@') goto yy315;
10157 			goto yy472;
10158 		}
10159 	} else {
10160 		if (yych <= '_') {
10161 			if (yych <= 'R') goto yy543;
10162 			if (yych <= 'Z') goto yy472;
10163 			if (yych <= '^') goto yy315;
10164 			goto yy297;
10165 		} else {
10166 			if (yych <= 'q') {
10167 				if (yych <= '`') goto yy315;
10168 				goto yy478;
10169 			} else {
10170 				if (yych <= 'r') goto yy549;
10171 				if (yych <= 'z') goto yy478;
10172 				goto yy315;
10173 			}
10174 		}
10175 	}
10176 yy376:
10177 	YYDEBUG(376, *YYCURSOR);
10178 	yyaccept = 2;
10179 	yych = *(YYMARKER = ++YYCURSOR);
10180 	if (yych <= '@') {
10181 		if (yych <= ',') {
10182 			if (yych == ')') goto yy115;
10183 			goto yy20;
10184 		} else {
10185 			if (yych == '.') goto yy20;
10186 			if (yych <= '/') goto yy297;
10187 			goto yy20;
10188 		}
10189 	} else {
10190 		if (yych <= '_') {
10191 			if (yych <= 'A') goto yy544;
10192 			if (yych <= 'Z') goto yy472;
10193 			if (yych <= '^') goto yy20;
10194 			goto yy297;
10195 		} else {
10196 			if (yych <= '`') goto yy20;
10197 			if (yych <= 'a') goto yy550;
10198 			if (yych <= 'z') goto yy478;
10199 			goto yy20;
10200 		}
10201 	}
10202 yy377:
10203 	YYDEBUG(377, *YYCURSOR);
10204 	yyaccept = 2;
10205 	yych = *(YYMARKER = ++YYCURSOR);
10206 	if (yych <= 'N') {
10207 		if (yych <= '-') {
10208 			if (yych == ')') goto yy115;
10209 			if (yych <= ',') goto yy20;
10210 			goto yy297;
10211 		} else {
10212 			if (yych == '/') goto yy297;
10213 			if (yych <= '@') goto yy20;
10214 			goto yy472;
10215 		}
10216 	} else {
10217 		if (yych <= '_') {
10218 			if (yych <= 'O') goto yy545;
10219 			if (yych <= 'Z') goto yy472;
10220 			if (yych <= '^') goto yy20;
10221 			goto yy297;
10222 		} else {
10223 			if (yych <= 'n') {
10224 				if (yych <= '`') goto yy20;
10225 				goto yy478;
10226 			} else {
10227 				if (yych <= 'o') goto yy551;
10228 				if (yych <= 'z') goto yy478;
10229 				goto yy20;
10230 			}
10231 		}
10232 	}
10233 yy378:
10234 	YYDEBUG(378, *YYCURSOR);
10235 	yyaccept = 9;
10236 	yych = *(YYMARKER = ++YYCURSOR);
10237 	if (yych <= 'R') {
10238 		if (yych <= '-') {
10239 			if (yych == ')') goto yy115;
10240 			if (yych <= ',') goto yy315;
10241 			goto yy297;
10242 		} else {
10243 			if (yych == '/') goto yy297;
10244 			if (yych <= '@') goto yy315;
10245 			goto yy472;
10246 		}
10247 	} else {
10248 		if (yych <= '_') {
10249 			if (yych <= 'S') goto yy546;
10250 			if (yych <= 'Z') goto yy472;
10251 			if (yych <= '^') goto yy315;
10252 			goto yy297;
10253 		} else {
10254 			if (yych <= 'r') {
10255 				if (yych <= '`') goto yy315;
10256 				goto yy478;
10257 			} else {
10258 				if (yych <= 's') goto yy552;
10259 				if (yych <= 'z') goto yy478;
10260 				goto yy315;
10261 			}
10262 		}
10263 	}
10264 yy379:
10265 	YYDEBUG(379, *YYCURSOR);
10266 	yyaccept = 2;
10267 	yych = *(YYMARKER = ++YYCURSOR);
10268 	if (yych <= 'K') {
10269 		if (yych <= '-') {
10270 			if (yych == ')') goto yy115;
10271 			if (yych <= ',') goto yy20;
10272 			goto yy297;
10273 		} else {
10274 			if (yych == '/') goto yy297;
10275 			if (yych <= '@') goto yy20;
10276 			goto yy472;
10277 		}
10278 	} else {
10279 		if (yych <= '_') {
10280 			if (yych <= 'L') goto yy547;
10281 			if (yych <= 'Z') goto yy472;
10282 			if (yych <= '^') goto yy20;
10283 			goto yy297;
10284 		} else {
10285 			if (yych <= 'k') {
10286 				if (yych <= '`') goto yy20;
10287 				goto yy478;
10288 			} else {
10289 				if (yych <= 'l') goto yy553;
10290 				if (yych <= 'z') goto yy478;
10291 				goto yy20;
10292 			}
10293 		}
10294 	}
10295 yy380:
10296 	YYDEBUG(380, *YYCURSOR);
10297 	yyaccept = 2;
10298 	yych = *(YYMARKER = ++YYCURSOR);
10299 	if (yych <= '.') {
10300 		if (yych <= ' ') {
10301 			if (yych == '\t') goto yy142;
10302 			if (yych <= 0x1F) goto yy20;
10303 			goto yy142;
10304 		} else {
10305 			if (yych == ')') goto yy115;
10306 			if (yych <= ',') goto yy20;
10307 			goto yy142;
10308 		}
10309 	} else {
10310 		if (yych <= 'H') {
10311 			if (yych <= '/') goto yy20;
10312 			if (yych <= '9') goto yy142;
10313 			if (yych <= '@') goto yy20;
10314 			goto yy472;
10315 		} else {
10316 			if (yych <= 'Z') {
10317 				if (yych <= 'I') goto yy554;
10318 				goto yy472;
10319 			} else {
10320 				if (yych <= '`') goto yy20;
10321 				if (yych <= 'z') goto yy472;
10322 				goto yy20;
10323 			}
10324 		}
10325 	}
10326 yy381:
10327 	YYDEBUG(381, *YYCURSOR);
10328 	yych = *++YYCURSOR;
10329 	if (yych <= 'N') {
10330 		if (yych <= ')') {
10331 			if (yych <= '(') goto yy315;
10332 			goto yy115;
10333 		} else {
10334 			if (yych <= '@') goto yy315;
10335 			if (yych <= 'M') goto yy472;
10336 			goto yy555;
10337 		}
10338 	} else {
10339 		if (yych <= 'm') {
10340 			if (yych <= 'Z') goto yy472;
10341 			if (yych <= '`') goto yy315;
10342 			goto yy472;
10343 		} else {
10344 			if (yych <= 'n') goto yy555;
10345 			if (yych <= 'z') goto yy472;
10346 			goto yy315;
10347 		}
10348 	}
10349 yy382:
10350 	YYDEBUG(382, *YYCURSOR);
10351 	yych = *++YYCURSOR;
10352 	if (yych <= 'K') {
10353 		if (yych <= ')') {
10354 			if (yych <= '(') goto yy20;
10355 			goto yy115;
10356 		} else {
10357 			if (yych <= '@') goto yy20;
10358 			if (yych <= 'J') goto yy472;
10359 			goto yy546;
10360 		}
10361 	} else {
10362 		if (yych <= 'j') {
10363 			if (yych <= 'Z') goto yy472;
10364 			if (yych <= '`') goto yy20;
10365 			goto yy472;
10366 		} else {
10367 			if (yych <= 'k') goto yy546;
10368 			if (yych <= 'z') goto yy472;
10369 			goto yy20;
10370 		}
10371 	}
10372 yy383:
10373 	YYDEBUG(383, *YYCURSOR);
10374 	yyaccept = 9;
10375 	yych = *(YYMARKER = ++YYCURSOR);
10376 	if (yych <= 'M') {
10377 		if (yych <= '-') {
10378 			if (yych == ')') goto yy115;
10379 			if (yych <= ',') goto yy315;
10380 			goto yy297;
10381 		} else {
10382 			if (yych == '/') goto yy297;
10383 			if (yych <= '@') goto yy315;
10384 			goto yy472;
10385 		}
10386 	} else {
10387 		if (yych <= '_') {
10388 			if (yych <= 'N') goto yy555;
10389 			if (yych <= 'Z') goto yy472;
10390 			if (yych <= '^') goto yy315;
10391 			goto yy297;
10392 		} else {
10393 			if (yych <= 'm') {
10394 				if (yych <= '`') goto yy315;
10395 				goto yy478;
10396 			} else {
10397 				if (yych <= 'n') goto yy556;
10398 				if (yych <= 'z') goto yy478;
10399 				goto yy315;
10400 			}
10401 		}
10402 	}
10403 yy384:
10404 	YYDEBUG(384, *YYCURSOR);
10405 	yyaccept = 2;
10406 	yych = *(YYMARKER = ++YYCURSOR);
10407 	if (yych <= 'J') {
10408 		if (yych <= '-') {
10409 			if (yych == ')') goto yy115;
10410 			if (yych <= ',') goto yy20;
10411 			goto yy297;
10412 		} else {
10413 			if (yych == '/') goto yy297;
10414 			if (yych <= '@') goto yy20;
10415 			goto yy472;
10416 		}
10417 	} else {
10418 		if (yych <= '_') {
10419 			if (yych <= 'K') goto yy546;
10420 			if (yych <= 'Z') goto yy472;
10421 			if (yych <= '^') goto yy20;
10422 			goto yy297;
10423 		} else {
10424 			if (yych <= 'j') {
10425 				if (yych <= '`') goto yy20;
10426 				goto yy478;
10427 			} else {
10428 				if (yych <= 'k') goto yy552;
10429 				if (yych <= 'z') goto yy478;
10430 				goto yy20;
10431 			}
10432 		}
10433 	}
10434 yy385:
10435 	YYDEBUG(385, *YYCURSOR);
10436 	yych = *++YYCURSOR;
10437 	if (yych <= 'T') {
10438 		if (yych <= ')') {
10439 			if (yych <= '(') goto yy20;
10440 			goto yy115;
10441 		} else {
10442 			if (yych <= '@') goto yy20;
10443 			if (yych <= 'S') goto yy472;
10444 			goto yy557;
10445 		}
10446 	} else {
10447 		if (yych <= 's') {
10448 			if (yych <= 'Z') goto yy472;
10449 			if (yych <= '`') goto yy20;
10450 			goto yy472;
10451 		} else {
10452 			if (yych <= 't') goto yy557;
10453 			if (yych <= 'z') goto yy472;
10454 			goto yy20;
10455 		}
10456 	}
10457 yy386:
10458 	YYDEBUG(386, *YYCURSOR);
10459 	yyaccept = 2;
10460 	yych = *(YYMARKER = ++YYCURSOR);
10461 	if (yych <= 'S') {
10462 		if (yych <= '-') {
10463 			if (yych == ')') goto yy115;
10464 			if (yych <= ',') goto yy20;
10465 			goto yy297;
10466 		} else {
10467 			if (yych == '/') goto yy297;
10468 			if (yych <= '@') goto yy20;
10469 			goto yy472;
10470 		}
10471 	} else {
10472 		if (yych <= '_') {
10473 			if (yych <= 'T') goto yy557;
10474 			if (yych <= 'Z') goto yy472;
10475 			if (yych <= '^') goto yy20;
10476 			goto yy297;
10477 		} else {
10478 			if (yych <= 's') {
10479 				if (yych <= '`') goto yy20;
10480 				goto yy478;
10481 			} else {
10482 				if (yych <= 't') goto yy558;
10483 				if (yych <= 'z') goto yy478;
10484 				goto yy20;
10485 			}
10486 		}
10487 	}
10488 yy387:
10489 	YYDEBUG(387, *YYCURSOR);
10490 	++YYCURSOR;
10491 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
10492 	yych = *YYCURSOR;
10493 	if (yych == 0xA0) goto yy193;
10494 	goto yy59;
10495 yy388:
10496 	YYDEBUG(388, *YYCURSOR);
10497 	yyaccept = 0;
10498 	YYMARKER = ++YYCURSOR;
10499 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
10500 	yych = *YYCURSOR;
10501 	if (yych == 0xE2) goto yy559;
10502 	goto yy8;
10503 yy389:
10504 	YYDEBUG(389, *YYCURSOR);
10505 	yych = *++YYCURSOR;
10506 	if (yych <= 0xC1) {
10507 		if (yych <= '/') goto yy196;
10508 		if (yych <= '9') goto yy560;
10509 		goto yy196;
10510 	} else {
10511 		if (yych <= 0xC2) goto yy97;
10512 		if (yych == 0xE2) goto yy98;
10513 		goto yy196;
10514 	}
10515 yy390:
10516 	YYDEBUG(390, *YYCURSOR);
10517 	yych = *++YYCURSOR;
10518 	if (yych == 'C') goto yy443;
10519 	if (yych == 'c') goto yy443;
10520 	goto yy59;
10521 yy391:
10522 	YYDEBUG(391, *YYCURSOR);
10523 	yyaccept = 2;
10524 	yych = *(YYMARKER = ++YYCURSOR);
10525 	if (yych <= 'X') {
10526 		if (yych <= 'E') {
10527 			if (yych <= ' ') {
10528 				if (yych == '\t') goto yy196;
10529 				if (yych <= 0x1F) goto yy20;
10530 				goto yy196;
10531 			} else {
10532 				if (yych <= '9') {
10533 					if (yych <= '/') goto yy20;
10534 					goto yy561;
10535 				} else {
10536 					if (yych == 'D') goto yy196;
10537 					goto yy20;
10538 				}
10539 			}
10540 		} else {
10541 			if (yych <= 'M') {
10542 				if (yych <= 'G') {
10543 					if (yych <= 'F') goto yy196;
10544 					goto yy20;
10545 				} else {
10546 					if (yych <= 'H') goto yy196;
10547 					if (yych <= 'L') goto yy20;
10548 					goto yy196;
10549 				}
10550 			} else {
10551 				if (yych <= 'U') {
10552 					if (yych <= 'R') goto yy20;
10553 					goto yy196;
10554 				} else {
10555 					if (yych == 'W') goto yy196;
10556 					goto yy20;
10557 				}
10558 			}
10559 		}
10560 	} else {
10561 		if (yych <= 'r') {
10562 			if (yych <= 'f') {
10563 				if (yych <= 'c') {
10564 					if (yych <= 'Y') goto yy196;
10565 					goto yy20;
10566 				} else {
10567 					if (yych == 'e') goto yy20;
10568 					goto yy196;
10569 				}
10570 			} else {
10571 				if (yych <= 'h') {
10572 					if (yych <= 'g') goto yy20;
10573 					goto yy196;
10574 				} else {
10575 					if (yych == 'm') goto yy196;
10576 					goto yy20;
10577 				}
10578 			}
10579 		} else {
10580 			if (yych <= 'y') {
10581 				if (yych <= 'v') {
10582 					if (yych <= 'u') goto yy196;
10583 					goto yy20;
10584 				} else {
10585 					if (yych == 'x') goto yy20;
10586 					goto yy196;
10587 				}
10588 			} else {
10589 				if (yych <= 0xC2) {
10590 					if (yych <= 0xC1) goto yy20;
10591 					goto yy97;
10592 				} else {
10593 					if (yych == 0xE2) goto yy98;
10594 					goto yy20;
10595 				}
10596 			}
10597 		}
10598 	}
10599 yy392:
10600 	YYDEBUG(392, *YYCURSOR);
10601 	yyaccept = 2;
10602 	yych = *(YYMARKER = ++YYCURSOR);
10603 	if (yych <= 'X') {
10604 		if (yych <= 'E') {
10605 			if (yych <= ' ') {
10606 				if (yych == '\t') goto yy196;
10607 				if (yych <= 0x1F) goto yy20;
10608 				goto yy196;
10609 			} else {
10610 				if (yych <= '9') {
10611 					if (yych <= '/') goto yy20;
10612 					goto yy562;
10613 				} else {
10614 					if (yych == 'D') goto yy196;
10615 					goto yy20;
10616 				}
10617 			}
10618 		} else {
10619 			if (yych <= 'M') {
10620 				if (yych <= 'G') {
10621 					if (yych <= 'F') goto yy196;
10622 					goto yy20;
10623 				} else {
10624 					if (yych <= 'H') goto yy196;
10625 					if (yych <= 'L') goto yy20;
10626 					goto yy196;
10627 				}
10628 			} else {
10629 				if (yych <= 'U') {
10630 					if (yych <= 'R') goto yy20;
10631 					goto yy196;
10632 				} else {
10633 					if (yych == 'W') goto yy196;
10634 					goto yy20;
10635 				}
10636 			}
10637 		}
10638 	} else {
10639 		if (yych <= 'r') {
10640 			if (yych <= 'f') {
10641 				if (yych <= 'c') {
10642 					if (yych <= 'Y') goto yy196;
10643 					goto yy20;
10644 				} else {
10645 					if (yych == 'e') goto yy20;
10646 					goto yy196;
10647 				}
10648 			} else {
10649 				if (yych <= 'h') {
10650 					if (yych <= 'g') goto yy20;
10651 					goto yy196;
10652 				} else {
10653 					if (yych == 'm') goto yy196;
10654 					goto yy20;
10655 				}
10656 			}
10657 		} else {
10658 			if (yych <= 'y') {
10659 				if (yych <= 'v') {
10660 					if (yych <= 'u') goto yy196;
10661 					goto yy20;
10662 				} else {
10663 					if (yych == 'x') goto yy20;
10664 					goto yy196;
10665 				}
10666 			} else {
10667 				if (yych <= 0xC2) {
10668 					if (yych <= 0xC1) goto yy20;
10669 					goto yy97;
10670 				} else {
10671 					if (yych == 0xE2) goto yy98;
10672 					goto yy20;
10673 				}
10674 			}
10675 		}
10676 	}
10677 yy393:
10678 	YYDEBUG(393, *YYCURSOR);
10679 	yych = *++YYCURSOR;
10680 	if (yych <= '/') goto yy59;
10681 	if (yych <= '5') goto yy563;
10682 	if (yych <= '9') goto yy115;
10683 	goto yy59;
10684 yy394:
10685 	YYDEBUG(394, *YYCURSOR);
10686 	yych = *++YYCURSOR;
10687 	if (yych <= '/') goto yy20;
10688 	if (yych <= '9') goto yy115;
10689 	goto yy20;
10690 yy395:
10691 	YYDEBUG(395, *YYCURSOR);
10692 	yych = *++YYCURSOR;
10693 	if (yych <= 0xC1) {
10694 		if (yych <= '/') goto yy196;
10695 		if (yych <= '9') goto yy562;
10696 		goto yy196;
10697 	} else {
10698 		if (yych <= 0xC2) goto yy97;
10699 		if (yych == 0xE2) goto yy98;
10700 		goto yy196;
10701 	}
10702 yy396:
10703 	YYDEBUG(396, *YYCURSOR);
10704 	yych = *++YYCURSOR;
10705 	if (yych <= '/') goto yy59;
10706 	if (yych <= '9') goto yy564;
10707 	goto yy59;
10708 yy397:
10709 	YYDEBUG(397, *YYCURSOR);
10710 	yych = *++YYCURSOR;
10711 	if (yych <= '/') goto yy59;
10712 	if (yych <= '9') goto yy565;
10713 	goto yy59;
10714 yy398:
10715 	YYDEBUG(398, *YYCURSOR);
10716 	yych = *++YYCURSOR;
10717 	if (yych <= '/') goto yy59;
10718 	if (yych <= '2') goto yy566;
10719 	if (yych <= '3') goto yy568;
10720 	if (yych <= '9') goto yy569;
10721 	goto yy59;
10722 yy399:
10723 	YYDEBUG(399, *YYCURSOR);
10724 	yych = *++YYCURSOR;
10725 	if (yych == 'P') goto yy444;
10726 	if (yych == 'p') goto yy444;
10727 	goto yy59;
10728 yy400:
10729 	YYDEBUG(400, *YYCURSOR);
10730 	yych = *++YYCURSOR;
10731 	if (yych <= '/') goto yy59;
10732 	if (yych <= '5') goto yy570;
10733 	if (yych <= '6') goto yy571;
10734 	if (yych <= '9') goto yy572;
10735 	goto yy59;
10736 yy401:
10737 	YYDEBUG(401, *YYCURSOR);
10738 	yych = *++YYCURSOR;
10739 	if (yych <= '/') goto yy59;
10740 	if (yych <= '5') goto yy573;
10741 	if (yych <= '6') goto yy574;
10742 	if (yych <= '9') goto yy575;
10743 	goto yy59;
10744 yy402:
10745 	YYDEBUG(402, *YYCURSOR);
10746 	yych = *++YYCURSOR;
10747 	if (yych <= '/') goto yy59;
10748 	if (yych <= '9') goto yy576;
10749 	goto yy59;
10750 yy403:
10751 	YYDEBUG(403, *YYCURSOR);
10752 	yych = *++YYCURSOR;
10753 	if (yych == 'd') goto yy577;
10754 	goto yy59;
10755 yy404:
10756 	YYDEBUG(404, *YYCURSOR);
10757 	yych = *++YYCURSOR;
10758 	if (yych == 't') goto yy577;
10759 	goto yy59;
10760 yy405:
10761 	YYDEBUG(405, *YYCURSOR);
10762 	yych = *++YYCURSOR;
10763 	if (yych == 'h') goto yy577;
10764 	goto yy59;
10765 yy406:
10766 	YYDEBUG(406, *YYCURSOR);
10767 	yych = *++YYCURSOR;
10768 	if (yych == 'R') goto yy578;
10769 	if (yych == 'r') goto yy578;
10770 	goto yy59;
10771 yy407:
10772 	YYDEBUG(407, *YYCURSOR);
10773 	yych = *++YYCURSOR;
10774 	if (yych == 'G') goto yy578;
10775 	if (yych == 'g') goto yy578;
10776 	goto yy59;
10777 yy408:
10778 	YYDEBUG(408, *YYCURSOR);
10779 	yych = *++YYCURSOR;
10780 	if (yych == 'C') goto yy578;
10781 	if (yych == 'c') goto yy578;
10782 	goto yy59;
10783 yy409:
10784 	YYDEBUG(409, *YYCURSOR);
10785 	yych = *++YYCURSOR;
10786 	if (yych == 'B') goto yy578;
10787 	if (yych == 'b') goto yy578;
10788 	goto yy59;
10789 yy410:
10790 	YYDEBUG(410, *YYCURSOR);
10791 	yych = *++YYCURSOR;
10792 	if (yych == 'N') goto yy578;
10793 	if (yych == 'n') goto yy578;
10794 	goto yy59;
10795 yy411:
10796 	YYDEBUG(411, *YYCURSOR);
10797 	yych = *++YYCURSOR;
10798 	if (yych <= 'N') {
10799 		if (yych == 'L') goto yy578;
10800 		if (yych <= 'M') goto yy59;
10801 		goto yy578;
10802 	} else {
10803 		if (yych <= 'l') {
10804 			if (yych <= 'k') goto yy59;
10805 			goto yy578;
10806 		} else {
10807 			if (yych == 'n') goto yy578;
10808 			goto yy59;
10809 		}
10810 	}
10811 yy412:
10812 	YYDEBUG(412, *YYCURSOR);
10813 	yych = *++YYCURSOR;
10814 	if (yych <= 'Y') {
10815 		if (yych == 'R') goto yy578;
10816 		if (yych <= 'X') goto yy59;
10817 		goto yy578;
10818 	} else {
10819 		if (yych <= 'r') {
10820 			if (yych <= 'q') goto yy59;
10821 			goto yy578;
10822 		} else {
10823 			if (yych == 'y') goto yy578;
10824 			goto yy59;
10825 		}
10826 	}
10827 yy413:
10828 	YYDEBUG(413, *YYCURSOR);
10829 	yych = *++YYCURSOR;
10830 	if (yych == 'V') goto yy578;
10831 	if (yych == 'v') goto yy578;
10832 	goto yy59;
10833 yy414:
10834 	YYDEBUG(414, *YYCURSOR);
10835 	yych = *++YYCURSOR;
10836 	if (yych == 'T') goto yy578;
10837 	if (yych == 't') goto yy578;
10838 	goto yy59;
10839 yy415:
10840 	YYDEBUG(415, *YYCURSOR);
10841 	yych = *++YYCURSOR;
10842 	if (yych == 'P') goto yy579;
10843 	if (yych == 'p') goto yy579;
10844 	goto yy59;
10845 yy416:
10846 	YYDEBUG(416, *YYCURSOR);
10847 	yych = *++YYCURSOR;
10848 	if (yych <= '.') {
10849 		if (yych <= ',') goto yy59;
10850 		if (yych <= '-') goto yy398;
10851 		goto yy396;
10852 	} else {
10853 		if (yych <= '/') goto yy59;
10854 		if (yych <= '9') goto yy580;
10855 		goto yy59;
10856 	}
10857 yy417:
10858 	YYDEBUG(417, *YYCURSOR);
10859 	yych = *++YYCURSOR;
10860 	if (yych <= '.') {
10861 		if (yych <= ',') goto yy59;
10862 		if (yych <= '-') goto yy398;
10863 		goto yy396;
10864 	} else {
10865 		if (yych <= '/') goto yy59;
10866 		if (yych <= '2') goto yy580;
10867 		goto yy59;
10868 	}
10869 yy418:
10870 	YYDEBUG(418, *YYCURSOR);
10871 	yych = *++YYCURSOR;
10872 	switch (yych) {
10873 	case '0':	goto yy581;
10874 	case '1':	goto yy582;
10875 	case '2':
10876 	case '3':
10877 	case '4':
10878 	case '5':
10879 	case '6':
10880 	case '7':
10881 	case '8':
10882 	case '9':	goto yy462;
10883 	case 'A':
10884 	case 'a':	goto yy463;
10885 	case 'D':
10886 	case 'd':	goto yy464;
10887 	case 'F':
10888 	case 'f':	goto yy465;
10889 	case 'J':
10890 	case 'j':	goto yy466;
10891 	case 'M':
10892 	case 'm':	goto yy467;
10893 	case 'N':
10894 	case 'n':	goto yy468;
10895 	case 'O':
10896 	case 'o':	goto yy469;
10897 	case 'S':
10898 	case 's':	goto yy470;
10899 	default:	goto yy59;
10900 	}
10901 yy419:
10902 	YYDEBUG(419, *YYCURSOR);
10903 	yyaccept = 12;
10904 	yych = *(YYMARKER = ++YYCURSOR);
10905 	if (yych <= 'O') {
10906 		if (yych <= '5') {
10907 			if (yych <= '-') {
10908 				if (yych <= 0x1F) {
10909 					if (yych == '\t') goto yy584;
10910 				} else {
10911 					if (yych <= ' ') goto yy584;
10912 					if (yych >= '-') goto yy585;
10913 				}
10914 			} else {
10915 				if (yych <= '0') {
10916 					if (yych <= '.') goto yy586;
10917 					if (yych <= '/') goto yy587;
10918 					goto yy588;
10919 				} else {
10920 					if (yych <= '1') goto yy589;
10921 					if (yych <= '2') goto yy590;
10922 					if (yych <= '3') goto yy591;
10923 					goto yy592;
10924 				}
10925 			}
10926 		} else {
10927 			if (yych <= 'C') {
10928 				if (yych <= ':') {
10929 					if (yych <= '6') goto yy593;
10930 					if (yych <= '9') goto yy594;
10931 					goto yy595;
10932 				} else {
10933 					if (yych == 'A') goto yy584;
10934 				}
10935 			} else {
10936 				if (yych <= 'F') {
10937 					if (yych != 'E') goto yy584;
10938 				} else {
10939 					if (yych <= 'G') goto yy420;
10940 					if (yych <= 'J') goto yy584;
10941 					if (yych >= 'M') goto yy584;
10942 				}
10943 			}
10944 		}
10945 	} else {
10946 		if (yych <= 'i') {
10947 			if (yych <= 'a') {
10948 				if (yych <= 'W') {
10949 					if (yych <= 'R') goto yy420;
10950 					if (yych <= 'V') goto yy584;
10951 					goto yy607;
10952 				} else {
10953 					if (yych <= 'Y') goto yy584;
10954 					if (yych >= 'a') goto yy584;
10955 				}
10956 			} else {
10957 				if (yych <= 'e') {
10958 					if (yych == 'd') goto yy584;
10959 				} else {
10960 					if (yych == 'g') goto yy420;
10961 					if (yych <= 'h') goto yy584;
10962 				}
10963 			}
10964 		} else {
10965 			if (yych <= 'w') {
10966 				if (yych <= 'o') {
10967 					if (yych <= 'j') goto yy584;
10968 					if (yych >= 'm') goto yy584;
10969 				} else {
10970 					if (yych <= 'r') goto yy420;
10971 					if (yych != 'v') goto yy584;
10972 				}
10973 			} else {
10974 				if (yych <= 0xC1) {
10975 					if (yych == 'y') goto yy584;
10976 				} else {
10977 					if (yych <= 0xC2) goto yy97;
10978 					if (yych == 0xE2) goto yy98;
10979 				}
10980 			}
10981 		}
10982 	}
10983 yy420:
10984 	YYDEBUG(420, *YYCURSOR);
10985 #line 1401 "ext/date/lib/parse_date.re"
10986 	{
10987 		DEBUG_OUTPUT("gnunocolon");
10988 		TIMELIB_INIT;
10989 		switch (s->time->have_time) {
10990 			case 0:
10991 				s->time->h = timelib_get_nr(&ptr, 2);
10992 				s->time->i = timelib_get_nr(&ptr, 2);
10993 				s->time->s = 0;
10994 				break;
10995 			case 1:
10996 				s->time->y = timelib_get_nr(&ptr, 4);
10997 				break;
10998 			default:
10999 				TIMELIB_DEINIT;
11000 				add_error(s, TIMELIB_ERR_DOUBLE_TIME, "Double time specification");
11001 				return TIMELIB_ERROR;
11002 		}
11003 		s->time->have_time++;
11004 		TIMELIB_DEINIT;
11005 		return TIMELIB_GNU_NOCOLON;
11006 	}
11007 #line 11008 "<stdout>"
11008 yy421:
11009 	YYDEBUG(421, *YYCURSOR);
11010 	yyaccept = 13;
11011 	yych = *(YYMARKER = ++YYCURSOR);
11012 	if (yych <= 'R') {
11013 		if (yych <= '3') {
11014 			if (yych <= '-') {
11015 				if (yych <= 0x1F) {
11016 					if (yych == '\t') goto yy584;
11017 				} else {
11018 					if (yych <= ' ') goto yy584;
11019 					if (yych >= '-') goto yy585;
11020 				}
11021 			} else {
11022 				if (yych <= '0') {
11023 					if (yych <= '.') goto yy586;
11024 					if (yych <= '/') goto yy587;
11025 					goto yy609;
11026 				} else {
11027 					if (yych <= '1') goto yy610;
11028 					if (yych <= '2') goto yy611;
11029 					goto yy612;
11030 				}
11031 			}
11032 		} else {
11033 			if (yych <= 'D') {
11034 				if (yych <= '@') {
11035 					if (yych <= '9') goto yy594;
11036 					if (yych <= ':') goto yy595;
11037 				} else {
11038 					if (yych <= 'A') goto yy584;
11039 					if (yych >= 'D') goto yy584;
11040 				}
11041 			} else {
11042 				if (yych <= 'G') {
11043 					if (yych == 'F') goto yy584;
11044 				} else {
11045 					if (yych <= 'J') goto yy584;
11046 					if (yych <= 'L') goto yy422;
11047 					if (yych <= 'O') goto yy584;
11048 				}
11049 			}
11050 		}
11051 	} else {
11052 		if (yych <= 'j') {
11053 			if (yych <= 'c') {
11054 				if (yych <= 'Y') {
11055 					if (yych == 'W') goto yy607;
11056 					goto yy584;
11057 				} else {
11058 					if (yych == 'a') goto yy584;
11059 				}
11060 			} else {
11061 				if (yych <= 'f') {
11062 					if (yych != 'e') goto yy584;
11063 				} else {
11064 					if (yych == 'h') goto yy584;
11065 					if (yych >= 'j') goto yy584;
11066 				}
11067 			}
11068 		} else {
11069 			if (yych <= 'w') {
11070 				if (yych <= 'r') {
11071 					if (yych <= 'l') goto yy422;
11072 					if (yych <= 'o') goto yy584;
11073 				} else {
11074 					if (yych != 'v') goto yy584;
11075 				}
11076 			} else {
11077 				if (yych <= 0xC1) {
11078 					if (yych == 'y') goto yy584;
11079 				} else {
11080 					if (yych <= 0xC2) goto yy97;
11081 					if (yych == 0xE2) goto yy98;
11082 				}
11083 			}
11084 		}
11085 	}
11086 yy422:
11087 	YYDEBUG(422, *YYCURSOR);
11088 #line 1786 "ext/date/lib/parse_date.re"
11089 	{
11090 		DEBUG_OUTPUT("year4");
11091 		TIMELIB_INIT;
11092 		s->time->y = timelib_get_nr(&ptr, 4);
11093 		TIMELIB_DEINIT;
11094 		return TIMELIB_CLF;
11095 	}
11096 #line 11097 "<stdout>"
11097 yy423:
11098 	YYDEBUG(423, *YYCURSOR);
11099 	yyaccept = 3;
11100 	yych = *(YYMARKER = ++YYCURSOR);
11101 	if (yych <= '.') {
11102 		if (yych <= 0x1F) {
11103 			if (yych == '\t') goto yy248;
11104 			goto yy81;
11105 		} else {
11106 			if (yych <= ' ') goto yy248;
11107 			if (yych <= ',') goto yy81;
11108 			goto yy248;
11109 		}
11110 	} else {
11111 		if (yych <= 'H') {
11112 			if (yych <= '/') goto yy81;
11113 			if (yych <= '9') goto yy250;
11114 			goto yy81;
11115 		} else {
11116 			if (yych <= 'I') goto yy613;
11117 			if (yych == 'i') goto yy613;
11118 			goto yy81;
11119 		}
11120 	}
11121 yy424:
11122 	YYDEBUG(424, *YYCURSOR);
11123 	yyaccept = 3;
11124 	yych = *(YYMARKER = ++YYCURSOR);
11125 	if (yych <= '.') {
11126 		if (yych <= 0x1F) {
11127 			if (yych == '\t') goto yy248;
11128 			goto yy81;
11129 		} else {
11130 			if (yych <= ' ') goto yy248;
11131 			if (yych <= ',') goto yy81;
11132 			goto yy248;
11133 		}
11134 	} else {
11135 		if (yych <= 'T') {
11136 			if (yych <= '/') goto yy81;
11137 			if (yych <= '9') goto yy250;
11138 			goto yy81;
11139 		} else {
11140 			if (yych <= 'U') goto yy614;
11141 			if (yych == 'u') goto yy614;
11142 			goto yy81;
11143 		}
11144 	}
11145 yy425:
11146 	YYDEBUG(425, *YYCURSOR);
11147 	yych = *++YYCURSOR;
11148 	if (yych == 'S') goto yy615;
11149 	if (yych == 's') goto yy615;
11150 	goto yy260;
11151 yy426:
11152 	YYDEBUG(426, *YYCURSOR);
11153 	yyaccept = 3;
11154 	yych = *(YYMARKER = ++YYCURSOR);
11155 	if (yych <= '.') {
11156 		if (yych <= 0x1F) {
11157 			if (yych == '\t') goto yy248;
11158 			goto yy81;
11159 		} else {
11160 			if (yych <= ' ') goto yy248;
11161 			if (yych <= ',') goto yy81;
11162 			goto yy248;
11163 		}
11164 	} else {
11165 		if (yych <= 'D') {
11166 			if (yych <= '/') goto yy81;
11167 			if (yych <= '9') goto yy250;
11168 			goto yy81;
11169 		} else {
11170 			if (yych <= 'E') goto yy616;
11171 			if (yych == 'e') goto yy616;
11172 			goto yy81;
11173 		}
11174 	}
11175 yy427:
11176 	YYDEBUG(427, *YYCURSOR);
11177 	yyaccept = 3;
11178 	yych = *(YYMARKER = ++YYCURSOR);
11179 	if (yych <= '.') {
11180 		if (yych <= 0x1F) {
11181 			if (yych == '\t') goto yy248;
11182 			goto yy81;
11183 		} else {
11184 			if (yych <= ' ') goto yy248;
11185 			if (yych <= ',') goto yy81;
11186 			goto yy248;
11187 		}
11188 	} else {
11189 		if (yych <= 'Q') {
11190 			if (yych <= '/') goto yy81;
11191 			if (yych <= '9') goto yy250;
11192 			goto yy81;
11193 		} else {
11194 			if (yych <= 'R') goto yy617;
11195 			if (yych == 'r') goto yy617;
11196 			goto yy81;
11197 		}
11198 	}
11199 yy428:
11200 	YYDEBUG(428, *YYCURSOR);
11201 	yych = *++YYCURSOR;
11202 	if (yych == 'T') goto yy618;
11203 	if (yych == 't') goto yy618;
11204 	goto yy59;
11205 yy429:
11206 	YYDEBUG(429, *YYCURSOR);
11207 	yyaccept = 6;
11208 	yych = *(YYMARKER = ++YYCURSOR);
11209 	if (yych == 'D') goto yy198;
11210 	if (yych == 'd') goto yy198;
11211 	goto yy260;
11212 yy430:
11213 	YYDEBUG(430, *YYCURSOR);
11214 	yych = *++YYCURSOR;
11215 	if (yych == 'R') goto yy425;
11216 	if (yych == 'r') goto yy425;
11217 	goto yy59;
11218 yy431:
11219 	YYDEBUG(431, *YYCURSOR);
11220 	yych = *++YYCURSOR;
11221 	if (yych <= '/') goto yy251;
11222 	if (yych <= '9') goto yy619;
11223 	goto yy251;
11224 yy432:
11225 	YYDEBUG(432, *YYCURSOR);
11226 	yyaccept = 3;
11227 	yych = *(YYMARKER = ++YYCURSOR);
11228 	if (yych <= '.') {
11229 		if (yych <= 0x1F) {
11230 			if (yych == '\t') goto yy248;
11231 			goto yy81;
11232 		} else {
11233 			if (yych <= ' ') goto yy248;
11234 			if (yych <= ',') goto yy81;
11235 			goto yy248;
11236 		}
11237 	} else {
11238 		if (yych <= 'T') {
11239 			if (yych <= '/') goto yy81;
11240 			if (yych <= '9') goto yy250;
11241 			goto yy81;
11242 		} else {
11243 			if (yych <= 'U') goto yy620;
11244 			if (yych == 'u') goto yy620;
11245 			goto yy81;
11246 		}
11247 	}
11248 yy433:
11249 	YYDEBUG(433, *YYCURSOR);
11250 	yyaccept = 3;
11251 	yych = *(YYMARKER = ++YYCURSOR);
11252 	if (yych <= '.') {
11253 		if (yych <= 0x1F) {
11254 			if (yych == '\t') goto yy248;
11255 			goto yy81;
11256 		} else {
11257 			if (yych <= ' ') goto yy248;
11258 			if (yych <= ',') goto yy81;
11259 			goto yy248;
11260 		}
11261 	} else {
11262 		if (yych <= 'X') {
11263 			if (yych <= '/') goto yy81;
11264 			if (yych <= '9') goto yy250;
11265 			goto yy81;
11266 		} else {
11267 			if (yych <= 'Y') goto yy253;
11268 			if (yych == 'y') goto yy253;
11269 			goto yy81;
11270 		}
11271 	}
11272 yy434:
11273 	YYDEBUG(434, *YYCURSOR);
11274 	yyaccept = 3;
11275 	yych = *(YYMARKER = ++YYCURSOR);
11276 	if (yych <= '.') {
11277 		if (yych <= 0x1F) {
11278 			if (yych == '\t') goto yy248;
11279 			goto yy81;
11280 		} else {
11281 			if (yych <= ' ') goto yy248;
11282 			if (yych <= ',') goto yy81;
11283 			goto yy248;
11284 		}
11285 	} else {
11286 		if (yych <= 'D') {
11287 			if (yych <= '/') goto yy81;
11288 			if (yych <= '9') goto yy250;
11289 			goto yy81;
11290 		} else {
11291 			if (yych <= 'E') goto yy253;
11292 			if (yych == 'e') goto yy253;
11293 			goto yy81;
11294 		}
11295 	}
11296 yy435:
11297 	YYDEBUG(435, *YYCURSOR);
11298 	yyaccept = 3;
11299 	yych = *(YYMARKER = ++YYCURSOR);
11300 	if (yych <= '.') {
11301 		if (yych <= 0x1F) {
11302 			if (yych == '\t') goto yy248;
11303 			goto yy81;
11304 		} else {
11305 			if (yych <= ' ') goto yy248;
11306 			if (yych <= ',') goto yy81;
11307 			goto yy248;
11308 		}
11309 	} else {
11310 		if (yych <= 'B') {
11311 			if (yych <= '/') goto yy81;
11312 			if (yych <= '9') goto yy250;
11313 			goto yy81;
11314 		} else {
11315 			if (yych <= 'C') goto yy621;
11316 			if (yych == 'c') goto yy621;
11317 			goto yy81;
11318 		}
11319 	}
11320 yy436:
11321 	YYDEBUG(436, *YYCURSOR);
11322 	yych = *++YYCURSOR;
11323 	if (yych == 'R') goto yy622;
11324 	if (yych == 'r') goto yy622;
11325 	goto yy59;
11326 yy437:
11327 	YYDEBUG(437, *YYCURSOR);
11328 	yych = *++YYCURSOR;
11329 	if (yych == 'L') goto yy623;
11330 	if (yych == 'l') goto yy623;
11331 	goto yy59;
11332 yy438:
11333 	YYDEBUG(438, *YYCURSOR);
11334 	yyaccept = 6;
11335 	yych = *(YYMARKER = ++YYCURSOR);
11336 	if (yych <= 'U') {
11337 		if (yych == 'S') goto yy615;
11338 		if (yych <= 'T') goto yy260;
11339 		goto yy624;
11340 	} else {
11341 		if (yych <= 's') {
11342 			if (yych <= 'r') goto yy260;
11343 			goto yy615;
11344 		} else {
11345 			if (yych == 'u') goto yy624;
11346 			goto yy260;
11347 		}
11348 	}
11349 yy439:
11350 	YYDEBUG(439, *YYCURSOR);
11351 	yyaccept = 6;
11352 	yych = *(YYMARKER = ++YYCURSOR);
11353 	if (yych <= 'T') {
11354 		if (yych == 'D') goto yy198;
11355 		if (yych <= 'S') goto yy260;
11356 		goto yy625;
11357 	} else {
11358 		if (yych <= 'd') {
11359 			if (yych <= 'c') goto yy260;
11360 			goto yy198;
11361 		} else {
11362 			if (yych == 't') goto yy625;
11363 			goto yy260;
11364 		}
11365 	}
11366 yy440:
11367 	YYDEBUG(440, *YYCURSOR);
11368 	yych = *++YYCURSOR;
11369 	if (yych == 'C') goto yy425;
11370 	if (yych == 'c') goto yy425;
11371 	goto yy59;
11372 yy441:
11373 	YYDEBUG(441, *YYCURSOR);
11374 	yyaccept = 3;
11375 	yych = *(YYMARKER = ++YYCURSOR);
11376 	if (yych <= '.') {
11377 		if (yych <= 0x1F) {
11378 			if (yych == '\t') goto yy248;
11379 			goto yy81;
11380 		} else {
11381 			if (yych <= ' ') goto yy248;
11382 			if (yych <= ',') goto yy81;
11383 			goto yy248;
11384 		}
11385 	} else {
11386 		if (yych <= 'N') {
11387 			if (yych <= '/') goto yy81;
11388 			if (yych <= '9') goto yy250;
11389 			goto yy81;
11390 		} else {
11391 			if (yych <= 'O') goto yy626;
11392 			if (yych == 'o') goto yy626;
11393 			goto yy81;
11394 		}
11395 	}
11396 yy442:
11397 	YYDEBUG(442, *YYCURSOR);
11398 	yyaccept = 6;
11399 	yych = *(YYMARKER = ++YYCURSOR);
11400 	if (yych == 'U') goto yy627;
11401 	if (yych == 'u') goto yy627;
11402 	goto yy260;
11403 yy443:
11404 	YYDEBUG(443, *YYCURSOR);
11405 	yyaccept = 6;
11406 	yych = *(YYMARKER = ++YYCURSOR);
11407 	if (yych <= 'S') {
11408 		if (yych == 'O') goto yy628;
11409 		if (yych <= 'R') goto yy260;
11410 		goto yy615;
11411 	} else {
11412 		if (yych <= 'o') {
11413 			if (yych <= 'n') goto yy260;
11414 			goto yy628;
11415 		} else {
11416 			if (yych == 's') goto yy615;
11417 			goto yy260;
11418 		}
11419 	}
11420 yy444:
11421 	YYDEBUG(444, *YYCURSOR);
11422 	yyaccept = 3;
11423 	yych = *(YYMARKER = ++YYCURSOR);
11424 	if (yych <= '.') {
11425 		if (yych <= 0x1F) {
11426 			if (yych == '\t') goto yy248;
11427 			goto yy81;
11428 		} else {
11429 			if (yych <= ' ') goto yy248;
11430 			if (yych <= ',') goto yy81;
11431 			goto yy248;
11432 		}
11433 	} else {
11434 		if (yych <= 'S') {
11435 			if (yych <= '/') goto yy81;
11436 			if (yych <= '9') goto yy250;
11437 			goto yy81;
11438 		} else {
11439 			if (yych <= 'T') goto yy426;
11440 			if (yych == 't') goto yy426;
11441 			goto yy81;
11442 		}
11443 	}
11444 yy445:
11445 	YYDEBUG(445, *YYCURSOR);
11446 	yyaccept = 6;
11447 	yych = *(YYMARKER = ++YYCURSOR);
11448 	if (yych == 'R') goto yy629;
11449 	if (yych == 'r') goto yy629;
11450 	goto yy260;
11451 yy446:
11452 	YYDEBUG(446, *YYCURSOR);
11453 	yyaccept = 6;
11454 	yych = *(YYMARKER = ++YYCURSOR);
11455 	if (yych == 'S') goto yy630;
11456 	if (yych == 's') goto yy630;
11457 	goto yy260;
11458 yy447:
11459 	YYDEBUG(447, *YYCURSOR);
11460 	yyaccept = 6;
11461 	yych = *(YYMARKER = ++YYCURSOR);
11462 	if (yych == 'N') goto yy631;
11463 	if (yych == 'n') goto yy631;
11464 	goto yy260;
11465 yy448:
11466 	YYDEBUG(448, *YYCURSOR);
11467 	yych = *++YYCURSOR;
11468 	if (yych == 'K') goto yy632;
11469 	if (yych == 'k') goto yy632;
11470 	goto yy59;
11471 yy449:
11472 	YYDEBUG(449, *YYCURSOR);
11473 	yych = *++YYCURSOR;
11474 	if (yych <= '/') goto yy207;
11475 	if (yych <= '0') goto yy633;
11476 	if (yych <= '1') goto yy634;
11477 	if (yych <= '9') goto yy635;
11478 	goto yy207;
11479 yy450:
11480 	YYDEBUG(450, *YYCURSOR);
11481 	++YYCURSOR;
11482 	if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
11483 	yych = *YYCURSOR;
11484 	if (yych <= 'd') {
11485 		if (yych <= 'R') {
11486 			if (yych <= 'F') {
11487 				if (yych == 'D') goto yy198;
11488 				if (yych <= 'E') goto yy59;
11489 				goto yy199;
11490 			} else {
11491 				if (yych <= 'H') {
11492 					if (yych <= 'G') goto yy59;
11493 					goto yy79;
11494 				} else {
11495 					if (yych == 'M') goto yy200;
11496 					goto yy59;
11497 				}
11498 			}
11499 		} else {
11500 			if (yych <= 'V') {
11501 				if (yych <= 'S') goto yy201;
11502 				if (yych <= 'T') goto yy87;
11503 				if (yych <= 'U') goto yy88;
11504 				goto yy59;
11505 			} else {
11506 				if (yych <= 'X') {
11507 					if (yych <= 'W') goto yy90;
11508 					goto yy59;
11509 				} else {
11510 					if (yych <= 'Y') goto yy92;
11511 					if (yych <= 'c') goto yy59;
11512 					goto yy198;
11513 				}
11514 			}
11515 		}
11516 	} else {
11517 		if (yych <= 't') {
11518 			if (yych <= 'h') {
11519 				if (yych == 'f') goto yy199;
11520 				if (yych <= 'g') goto yy59;
11521 				goto yy79;
11522 			} else {
11523 				if (yych <= 'm') {
11524 					if (yych <= 'l') goto yy59;
11525 					goto yy200;
11526 				} else {
11527 					if (yych <= 'r') goto yy59;
11528 					if (yych <= 's') goto yy201;
11529 					goto yy87;
11530 				}
11531 			}
11532 		} else {
11533 			if (yych <= 'y') {
11534 				if (yych <= 'v') {
11535 					if (yych <= 'u') goto yy88;
11536 					goto yy59;
11537 				} else {
11538 					if (yych <= 'w') goto yy90;
11539 					if (yych <= 'x') goto yy59;
11540 					goto yy92;
11541 				}
11542 			} else {
11543 				if (yych <= 0xC2) {
11544 					if (yych <= 0xC1) goto yy59;
11545 					goto yy211;
11546 				} else {
11547 					if (yych == 0xE2) goto yy98;
11548 					goto yy59;
11549 				}
11550 			}
11551 		}
11552 	}
11553 yy451:
11554 	YYDEBUG(451, *YYCURSOR);
11555 	yych = *++YYCURSOR;
11556 	if (yych <= '/') goto yy59;
11557 	if (yych <= '5') goto yy636;
11558 	if (yych <= '6') goto yy637;
11559 	if (yych <= '9') goto yy572;
11560 	goto yy59;
11561 yy452:
11562 	YYDEBUG(452, *YYCURSOR);
11563 	yyaccept = 4;
11564 	yych = *(YYMARKER = ++YYCURSOR);
11565 	if (yych <= 'A') {
11566 		if (yych <= ',') {
11567 			if (yych <= '\t') {
11568 				if (yych <= 0x08) goto yy177;
11569 				goto yy638;
11570 			} else {
11571 				if (yych == ' ') goto yy638;
11572 				goto yy177;
11573 			}
11574 		} else {
11575 			if (yych <= '9') {
11576 				if (yych <= '-') goto yy396;
11577 				if (yych <= '.') goto yy451;
11578 				goto yy177;
11579 			} else {
11580 				if (yych <= ':') goto yy453;
11581 				if (yych <= '@') goto yy177;
11582 				goto yy106;
11583 			}
11584 		}
11585 	} else {
11586 		if (yych <= 'o') {
11587 			if (yych <= 'P') {
11588 				if (yych <= 'O') goto yy177;
11589 				goto yy106;
11590 			} else {
11591 				if (yych == 'a') goto yy106;
11592 				goto yy177;
11593 			}
11594 		} else {
11595 			if (yych <= 0xC2) {
11596 				if (yych <= 'p') goto yy106;
11597 				if (yych <= 0xC1) goto yy177;
11598 				goto yy640;
11599 			} else {
11600 				if (yych == 0xE2) goto yy641;
11601 				goto yy177;
11602 			}
11603 		}
11604 	}
11605 yy453:
11606 	YYDEBUG(453, *YYCURSOR);
11607 	yych = *++YYCURSOR;
11608 	if (yych <= '/') goto yy59;
11609 	if (yych <= '5') goto yy642;
11610 	if (yych <= '6') goto yy643;
11611 	if (yych <= '9') goto yy575;
11612 	goto yy59;
11613 yy454:
11614 	YYDEBUG(454, *YYCURSOR);
11615 	yyaccept = 4;
11616 	yych = *(YYMARKER = ++YYCURSOR);
11617 	if (yych <= 'A') {
11618 		if (yych <= '-') {
11619 			if (yych <= '\t') {
11620 				if (yych <= 0x08) goto yy177;
11621 				goto yy638;
11622 			} else {
11623 				if (yych == ' ') goto yy638;
11624 				goto yy177;
11625 			}
11626 		} else {
11627 			if (yych <= '9') {
11628 				if (yych <= '.') goto yy453;
11629 				goto yy177;
11630 			} else {
11631 				if (yych <= ':') goto yy453;
11632 				if (yych <= '@') goto yy177;
11633 				goto yy106;
11634 			}
11635 		}
11636 	} else {
11637 		if (yych <= 'o') {
11638 			if (yych <= 'P') {
11639 				if (yych <= 'O') goto yy177;
11640 				goto yy106;
11641 			} else {
11642 				if (yych == 'a') goto yy106;
11643 				goto yy177;
11644 			}
11645 		} else {
11646 			if (yych <= 0xC2) {
11647 				if (yych <= 'p') goto yy106;
11648 				if (yych <= 0xC1) goto yy177;
11649 				goto yy640;
11650 			} else {
11651 				if (yych == 0xE2) goto yy641;
11652 				goto yy177;
11653 			}
11654 		}
11655 	}
11656 yy455:
11657 	YYDEBUG(455, *YYCURSOR);
11658 	yyaccept = 4;
11659 	yych = *(YYMARKER = ++YYCURSOR);
11660 	if (yych <= 'A') {
11661 		if (yych <= '-') {
11662 			if (yych <= '\t') {
11663 				if (yych <= 0x08) goto yy177;
11664 				goto yy638;
11665 			} else {
11666 				if (yych == ' ') goto yy638;
11667 				goto yy177;
11668 			}
11669 		} else {
11670 			if (yych <= '9') {
11671 				if (yych <= '.') goto yy453;
11672 				goto yy177;
11673 			} else {
11674 				if (yych <= ':') goto yy644;
11675 				if (yych <= '@') goto yy177;
11676 				goto yy106;
11677 			}
11678 		}
11679 	} else {
11680 		if (yych <= 'o') {
11681 			if (yych <= 'P') {
11682 				if (yych <= 'O') goto yy177;
11683 				goto yy106;
11684 			} else {
11685 				if (yych == 'a') goto yy106;
11686 				goto yy177;
11687 			}
11688 		} else {
11689 			if (yych <= 0xC2) {
11690 				if (yych <= 'p') goto yy106;
11691 				if (yych <= 0xC1) goto yy177;
11692 				goto yy640;
11693 			} else {
11694 				if (yych == 0xE2) goto yy641;
11695 				goto yy177;
11696 			}
11697 		}
11698 	}
11699 yy456:
11700 	YYDEBUG(456, *YYCURSOR);
11701 	++YYCURSOR;
11702 	YYDEBUG(457, *YYCURSOR);
11703 #line 1335 "ext/date/lib/parse_date.re"
11704 	{
11705 		DEBUG_OUTPUT("timetiny12 | timeshort12 | timelong12");
11706 		TIMELIB_INIT;
11707 		TIMELIB_HAVE_TIME();
11708 		s->time->h = timelib_get_nr(&ptr, 2);
11709 		if (*ptr == ':' || *ptr == '.') {
11710 			s->time->i = timelib_get_nr(&ptr, 2);
11711 			if (*ptr == ':' || *ptr == '.') {
11712 				s->time->s = timelib_get_nr(&ptr, 2);
11713 			}
11714 		}
11715 		timelib_eat_spaces(&ptr);
11716 		s->time->h += timelib_meridian(&ptr, s->time->h);
11717 		TIMELIB_DEINIT;
11718 		return TIMELIB_TIME12;
11719 	}
11720 #line 11721 "<stdout>"
11721 yy458:
11722 	YYDEBUG(458, *YYCURSOR);
11723 	yych = *++YYCURSOR;
11724 	if (yych <= '\t') {
11725 		if (yych <= 0x00) goto yy456;
11726 		if (yych <= 0x08) goto yy59;
11727 		goto yy456;
11728 	} else {
11729 		if (yych == ' ') goto yy456;
11730 		goto yy59;
11731 	}
11732 yy459:
11733 	YYDEBUG(459, *YYCURSOR);
11734 	++YYCURSOR;
11735 	if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
11736 	yych = *YYCURSOR;
11737 	if (yych <= 'a') {
11738 		if (yych <= 'O') {
11739 			if (yych <= 'E') {
11740 				if (yych <= 'A') {
11741 					if (yych <= '@') goto yy59;
11742 					goto yy106;
11743 				} else {
11744 					if (yych == 'D') goto yy198;
11745 					goto yy59;
11746 				}
11747 			} else {
11748 				if (yych <= 'H') {
11749 					if (yych <= 'F') goto yy199;
11750 					if (yych <= 'G') goto yy59;
11751 					goto yy79;
11752 				} else {
11753 					if (yych == 'M') goto yy200;
11754 					goto yy59;
11755 				}
11756 			}
11757 		} else {
11758 			if (yych <= 'U') {
11759 				if (yych <= 'R') {
11760 					if (yych <= 'P') goto yy106;
11761 					goto yy59;
11762 				} else {
11763 					if (yych <= 'S') goto yy201;
11764 					if (yych <= 'T') goto yy87;
11765 					goto yy88;
11766 				}
11767 			} else {
11768 				if (yych <= 'X') {
11769 					if (yych == 'W') goto yy90;
11770 					goto yy59;
11771 				} else {
11772 					if (yych <= 'Y') goto yy92;
11773 					if (yych <= '`') goto yy59;
11774 					goto yy106;
11775 				}
11776 			}
11777 		}
11778 	} else {
11779 		if (yych <= 'r') {
11780 			if (yych <= 'g') {
11781 				if (yych <= 'd') {
11782 					if (yych <= 'c') goto yy59;
11783 					goto yy198;
11784 				} else {
11785 					if (yych == 'f') goto yy199;
11786 					goto yy59;
11787 				}
11788 			} else {
11789 				if (yych <= 'm') {
11790 					if (yych <= 'h') goto yy79;
11791 					if (yych <= 'l') goto yy59;
11792 					goto yy200;
11793 				} else {
11794 					if (yych == 'p') goto yy106;
11795 					goto yy59;
11796 				}
11797 			}
11798 		} else {
11799 			if (yych <= 'x') {
11800 				if (yych <= 'u') {
11801 					if (yych <= 's') goto yy201;
11802 					if (yych <= 't') goto yy87;
11803 					goto yy88;
11804 				} else {
11805 					if (yych == 'w') goto yy90;
11806 					goto yy59;
11807 				}
11808 			} else {
11809 				if (yych <= 0xC2) {
11810 					if (yych <= 'y') goto yy92;
11811 					if (yych <= 0xC1) goto yy59;
11812 					goto yy211;
11813 				} else {
11814 					if (yych == 0xE2) goto yy108;
11815 					goto yy59;
11816 				}
11817 			}
11818 		}
11819 	}
11820 yy460:
11821 	YYDEBUG(460, *YYCURSOR);
11822 	yych = *++YYCURSOR;
11823 	if (yych == '-') goto yy645;
11824 	if (yych <= '/') goto yy59;
11825 	if (yych <= '9') goto yy646;
11826 	goto yy59;
11827 yy461:
11828 	YYDEBUG(461, *YYCURSOR);
11829 	yych = *++YYCURSOR;
11830 	if (yych == '-') goto yy645;
11831 	if (yych <= '/') goto yy59;
11832 	if (yych <= '2') goto yy646;
11833 	goto yy59;
11834 yy462:
11835 	YYDEBUG(462, *YYCURSOR);
11836 	yych = *++YYCURSOR;
11837 	if (yych == '-') goto yy645;
11838 	goto yy59;
11839 yy463:
11840 	YYDEBUG(463, *YYCURSOR);
11841 	yych = *++YYCURSOR;
11842 	if (yych <= 'U') {
11843 		if (yych == 'P') goto yy647;
11844 		if (yych <= 'T') goto yy59;
11845 		goto yy648;
11846 	} else {
11847 		if (yych <= 'p') {
11848 			if (yych <= 'o') goto yy59;
11849 			goto yy647;
11850 		} else {
11851 			if (yych == 'u') goto yy648;
11852 			goto yy59;
11853 		}
11854 	}
11855 yy464:
11856 	YYDEBUG(464, *YYCURSOR);
11857 	yych = *++YYCURSOR;
11858 	if (yych == 'E') goto yy649;
11859 	if (yych == 'e') goto yy649;
11860 	goto yy59;
11861 yy465:
11862 	YYDEBUG(465, *YYCURSOR);
11863 	yych = *++YYCURSOR;
11864 	if (yych == 'E') goto yy650;
11865 	if (yych == 'e') goto yy650;
11866 	goto yy59;
11867 yy466:
11868 	YYDEBUG(466, *YYCURSOR);
11869 	yych = *++YYCURSOR;
11870 	if (yych <= 'U') {
11871 		if (yych == 'A') goto yy651;
11872 		if (yych <= 'T') goto yy59;
11873 		goto yy652;
11874 	} else {
11875 		if (yych <= 'a') {
11876 			if (yych <= '`') goto yy59;
11877 			goto yy651;
11878 		} else {
11879 			if (yych == 'u') goto yy652;
11880 			goto yy59;
11881 		}
11882 	}
11883 yy467:
11884 	YYDEBUG(467, *YYCURSOR);
11885 	yych = *++YYCURSOR;
11886 	if (yych == 'A') goto yy653;
11887 	if (yych == 'a') goto yy653;
11888 	goto yy59;
11889 yy468:
11890 	YYDEBUG(468, *YYCURSOR);
11891 	yych = *++YYCURSOR;
11892 	if (yych == 'O') goto yy654;
11893 	if (yych == 'o') goto yy654;
11894 	goto yy59;
11895 yy469:
11896 	YYDEBUG(469, *YYCURSOR);
11897 	yych = *++YYCURSOR;
11898 	if (yych == 'C') goto yy655;
11899 	if (yych == 'c') goto yy655;
11900 	goto yy59;
11901 yy470:
11902 	YYDEBUG(470, *YYCURSOR);
11903 	yych = *++YYCURSOR;
11904 	if (yych == 'E') goto yy656;
11905 	if (yych == 'e') goto yy656;
11906 	goto yy59;
11907 yy471:
11908 	YYDEBUG(471, *YYCURSOR);
11909 	yych = *++YYCURSOR;
11910 	if (yych <= '/') goto yy290;
11911 	if (yych <= '9') goto yy657;
11912 	goto yy290;
11913 yy472:
11914 	YYDEBUG(472, *YYCURSOR);
11915 	yych = *++YYCURSOR;
11916 	if (yych <= '@') {
11917 		if (yych == ')') goto yy115;
11918 		goto yy20;
11919 	} else {
11920 		if (yych <= 'Z') goto yy658;
11921 		if (yych <= '`') goto yy20;
11922 		if (yych <= 'z') goto yy658;
11923 		goto yy20;
11924 	}
11925 yy473:
11926 	YYDEBUG(473, *YYCURSOR);
11927 	yych = *++YYCURSOR;
11928 	if (yych <= '/') goto yy142;
11929 	if (yych <= '2') goto yy659;
11930 	if (yych <= '3') goto yy660;
11931 	goto yy142;
11932 yy474:
11933 	YYDEBUG(474, *YYCURSOR);
11934 	yych = *++YYCURSOR;
11935 	if (yych <= 'L') {
11936 		if (yych <= ')') {
11937 			if (yych <= '(') goto yy20;
11938 			goto yy115;
11939 		} else {
11940 			if (yych <= '@') goto yy20;
11941 			if (yych <= 'K') goto yy658;
11942 			goto yy661;
11943 		}
11944 	} else {
11945 		if (yych <= 'k') {
11946 			if (yych <= 'Z') goto yy658;
11947 			if (yych <= '`') goto yy20;
11948 			goto yy658;
11949 		} else {
11950 			if (yych <= 'l') goto yy661;
11951 			if (yych <= 'z') goto yy658;
11952 			goto yy20;
11953 		}
11954 	}
11955 yy475:
11956 	YYDEBUG(475, *YYCURSOR);
11957 	yych = *++YYCURSOR;
11958 	if (yych <= 'S') {
11959 		if (yych <= ')') {
11960 			if (yych <= '(') goto yy20;
11961 			goto yy115;
11962 		} else {
11963 			if (yych <= '@') goto yy20;
11964 			if (yych <= 'R') goto yy658;
11965 			goto yy662;
11966 		}
11967 	} else {
11968 		if (yych <= 'r') {
11969 			if (yych <= 'Z') goto yy658;
11970 			if (yych <= '`') goto yy20;
11971 			goto yy658;
11972 		} else {
11973 			if (yych <= 's') goto yy662;
11974 			if (yych <= 'z') goto yy658;
11975 			goto yy20;
11976 		}
11977 	}
11978 yy476:
11979 	YYDEBUG(476, *YYCURSOR);
11980 	yyaccept = 2;
11981 	YYMARKER = ++YYCURSOR;
11982 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
11983 	yych = *YYCURSOR;
11984 	YYDEBUG(477, *YYCURSOR);
11985 	if (yybm[0+yych] & 64) {
11986 		goto yy476;
11987 	}
11988 	if (yych <= '.') {
11989 		if (yych == '-') goto yy297;
11990 		goto yy20;
11991 	} else {
11992 		if (yych <= '/') goto yy297;
11993 		if (yych == '_') goto yy297;
11994 		goto yy20;
11995 	}
11996 yy478:
11997 	YYDEBUG(478, *YYCURSOR);
11998 	yyaccept = 2;
11999 	yych = *(YYMARKER = ++YYCURSOR);
12000 	if (yych <= '/') {
12001 		if (yych <= ',') {
12002 			if (yych == ')') goto yy115;
12003 			goto yy20;
12004 		} else {
12005 			if (yych == '.') goto yy20;
12006 			goto yy297;
12007 		}
12008 	} else {
12009 		if (yych <= '^') {
12010 			if (yych <= '@') goto yy20;
12011 			if (yych <= 'Z') goto yy658;
12012 			goto yy20;
12013 		} else {
12014 			if (yych <= '_') goto yy297;
12015 			if (yych <= '`') goto yy20;
12016 			if (yych <= 'z') goto yy663;
12017 			goto yy20;
12018 		}
12019 	}
12020 yy479:
12021 	YYDEBUG(479, *YYCURSOR);
12022 	yych = *++YYCURSOR;
12023 	if (yybm[0+yych] & 64) {
12024 		goto yy476;
12025 	}
12026 	if (yych <= '/') goto yy142;
12027 	if (yych <= '2') goto yy659;
12028 	if (yych <= '3') goto yy660;
12029 	goto yy142;
12030 yy480:
12031 	YYDEBUG(480, *YYCURSOR);
12032 	yyaccept = 2;
12033 	yych = *(YYMARKER = ++YYCURSOR);
12034 	if (yych <= 'K') {
12035 		if (yych <= '-') {
12036 			if (yych == ')') goto yy115;
12037 			if (yych <= ',') goto yy20;
12038 			goto yy297;
12039 		} else {
12040 			if (yych == '/') goto yy297;
12041 			if (yych <= '@') goto yy20;
12042 			goto yy658;
12043 		}
12044 	} else {
12045 		if (yych <= '_') {
12046 			if (yych <= 'L') goto yy661;
12047 			if (yych <= 'Z') goto yy658;
12048 			if (yych <= '^') goto yy20;
12049 			goto yy297;
12050 		} else {
12051 			if (yych <= 'k') {
12052 				if (yych <= '`') goto yy20;
12053 				goto yy663;
12054 			} else {
12055 				if (yych <= 'l') goto yy664;
12056 				if (yych <= 'z') goto yy663;
12057 				goto yy20;
12058 			}
12059 		}
12060 	}
12061 yy481:
12062 	YYDEBUG(481, *YYCURSOR);
12063 	yyaccept = 2;
12064 	yych = *(YYMARKER = ++YYCURSOR);
12065 	if (yych <= 'R') {
12066 		if (yych <= '-') {
12067 			if (yych == ')') goto yy115;
12068 			if (yych <= ',') goto yy20;
12069 			goto yy297;
12070 		} else {
12071 			if (yych == '/') goto yy297;
12072 			if (yych <= '@') goto yy20;
12073 			goto yy658;
12074 		}
12075 	} else {
12076 		if (yych <= '_') {
12077 			if (yych <= 'S') goto yy662;
12078 			if (yych <= 'Z') goto yy658;
12079 			if (yych <= '^') goto yy20;
12080 			goto yy297;
12081 		} else {
12082 			if (yych <= 'r') {
12083 				if (yych <= '`') goto yy20;
12084 				goto yy663;
12085 			} else {
12086 				if (yych <= 's') goto yy665;
12087 				if (yych <= 'z') goto yy663;
12088 				goto yy20;
12089 			}
12090 		}
12091 	}
12092 yy482:
12093 	YYDEBUG(482, *YYCURSOR);
12094 	yyaccept = 2;
12095 	yych = *(YYMARKER = ++YYCURSOR);
12096 	if (yych <= ')') {
12097 		if (yych == ' ') goto yy666;
12098 		if (yych <= '(') goto yy20;
12099 		goto yy115;
12100 	} else {
12101 		if (yych <= 'Z') {
12102 			if (yych <= '@') goto yy20;
12103 			goto yy658;
12104 		} else {
12105 			if (yych <= '`') goto yy20;
12106 			if (yych <= 'z') goto yy658;
12107 			goto yy20;
12108 		}
12109 	}
12110 yy483:
12111 	YYDEBUG(483, *YYCURSOR);
12112 	yyaccept = 2;
12113 	yych = *(YYMARKER = ++YYCURSOR);
12114 	if (yych <= '.') {
12115 		if (yych <= '(') {
12116 			if (yych == ' ') goto yy666;
12117 			goto yy20;
12118 		} else {
12119 			if (yych <= ')') goto yy115;
12120 			if (yych == '-') goto yy297;
12121 			goto yy20;
12122 		}
12123 	} else {
12124 		if (yych <= '^') {
12125 			if (yych <= '/') goto yy297;
12126 			if (yych <= '@') goto yy20;
12127 			if (yych <= 'Z') goto yy658;
12128 			goto yy20;
12129 		} else {
12130 			if (yych <= '_') goto yy297;
12131 			if (yych <= '`') goto yy20;
12132 			if (yych <= 'z') goto yy663;
12133 			goto yy20;
12134 		}
12135 	}
12136 yy484:
12137 	YYDEBUG(484, *YYCURSOR);
12138 	yych = *++YYCURSOR;
12139 	if (yych <= 'M') {
12140 		if (yych <= ')') {
12141 			if (yych <= '(') goto yy20;
12142 			goto yy115;
12143 		} else {
12144 			if (yych <= '@') goto yy20;
12145 			if (yych <= 'L') goto yy658;
12146 			goto yy667;
12147 		}
12148 	} else {
12149 		if (yych <= 'l') {
12150 			if (yych <= 'Z') goto yy658;
12151 			if (yych <= '`') goto yy20;
12152 			goto yy658;
12153 		} else {
12154 			if (yych <= 'm') goto yy667;
12155 			if (yych <= 'z') goto yy658;
12156 			goto yy20;
12157 		}
12158 	}
12159 yy485:
12160 	YYDEBUG(485, *YYCURSOR);
12161 	yyaccept = 2;
12162 	yych = *(YYMARKER = ++YYCURSOR);
12163 	if (yych <= 'L') {
12164 		if (yych <= '-') {
12165 			if (yych == ')') goto yy115;
12166 			if (yych <= ',') goto yy20;
12167 			goto yy297;
12168 		} else {
12169 			if (yych == '/') goto yy297;
12170 			if (yych <= '@') goto yy20;
12171 			goto yy658;
12172 		}
12173 	} else {
12174 		if (yych <= '_') {
12175 			if (yych <= 'M') goto yy667;
12176 			if (yych <= 'Z') goto yy658;
12177 			if (yych <= '^') goto yy20;
12178 			goto yy297;
12179 		} else {
12180 			if (yych <= 'l') {
12181 				if (yych <= '`') goto yy20;
12182 				goto yy663;
12183 			} else {
12184 				if (yych <= 'm') goto yy668;
12185 				if (yych <= 'z') goto yy663;
12186 				goto yy20;
12187 			}
12188 		}
12189 	}
12190 yy486:
12191 	YYDEBUG(486, *YYCURSOR);
12192 	yych = *++YYCURSOR;
12193 	if (yych <= 'T') {
12194 		if (yych <= ')') {
12195 			if (yych <= '(') goto yy20;
12196 			goto yy115;
12197 		} else {
12198 			if (yych <= '@') goto yy20;
12199 			if (yych <= 'S') goto yy658;
12200 			goto yy669;
12201 		}
12202 	} else {
12203 		if (yych <= 's') {
12204 			if (yych <= 'Z') goto yy658;
12205 			if (yych <= '`') goto yy20;
12206 			goto yy658;
12207 		} else {
12208 			if (yych <= 't') goto yy669;
12209 			if (yych <= 'z') goto yy658;
12210 			goto yy20;
12211 		}
12212 	}
12213 yy487:
12214 	YYDEBUG(487, *YYCURSOR);
12215 	yych = *++YYCURSOR;
12216 	if (yych <= 'E') {
12217 		if (yych <= ')') {
12218 			if (yych <= '(') goto yy20;
12219 			goto yy115;
12220 		} else {
12221 			if (yych <= '@') goto yy20;
12222 			if (yych <= 'D') goto yy658;
12223 			goto yy670;
12224 		}
12225 	} else {
12226 		if (yych <= 'd') {
12227 			if (yych <= 'Z') goto yy658;
12228 			if (yych <= '`') goto yy20;
12229 			goto yy658;
12230 		} else {
12231 			if (yych <= 'e') goto yy670;
12232 			if (yych <= 'z') goto yy658;
12233 			goto yy20;
12234 		}
12235 	}
12236 yy488:
12237 	YYDEBUG(488, *YYCURSOR);
12238 	yyaccept = 2;
12239 	yych = *(YYMARKER = ++YYCURSOR);
12240 	if (yych <= 'S') {
12241 		if (yych <= '-') {
12242 			if (yych == ')') goto yy115;
12243 			if (yych <= ',') goto yy20;
12244 			goto yy297;
12245 		} else {
12246 			if (yych == '/') goto yy297;
12247 			if (yych <= '@') goto yy20;
12248 			goto yy658;
12249 		}
12250 	} else {
12251 		if (yych <= '_') {
12252 			if (yych <= 'T') goto yy669;
12253 			if (yych <= 'Z') goto yy658;
12254 			if (yych <= '^') goto yy20;
12255 			goto yy297;
12256 		} else {
12257 			if (yych <= 's') {
12258 				if (yych <= '`') goto yy20;
12259 				goto yy663;
12260 			} else {
12261 				if (yych <= 't') goto yy671;
12262 				if (yych <= 'z') goto yy663;
12263 				goto yy20;
12264 			}
12265 		}
12266 	}
12267 yy489:
12268 	YYDEBUG(489, *YYCURSOR);
12269 	yyaccept = 2;
12270 	yych = *(YYMARKER = ++YYCURSOR);
12271 	if (yych <= 'D') {
12272 		if (yych <= '-') {
12273 			if (yych == ')') goto yy115;
12274 			if (yych <= ',') goto yy20;
12275 			goto yy297;
12276 		} else {
12277 			if (yych == '/') goto yy297;
12278 			if (yych <= '@') goto yy20;
12279 			goto yy658;
12280 		}
12281 	} else {
12282 		if (yych <= '_') {
12283 			if (yych <= 'E') goto yy670;
12284 			if (yych <= 'Z') goto yy658;
12285 			if (yych <= '^') goto yy20;
12286 			goto yy297;
12287 		} else {
12288 			if (yych <= 'd') {
12289 				if (yych <= '`') goto yy20;
12290 				goto yy663;
12291 			} else {
12292 				if (yych <= 'e') goto yy672;
12293 				if (yych <= 'z') goto yy663;
12294 				goto yy20;
12295 			}
12296 		}
12297 	}
12298 yy490:
12299 	YYDEBUG(490, *YYCURSOR);
12300 	yych = *++YYCURSOR;
12301 	if (yych <= 'U') {
12302 		if (yych <= ')') {
12303 			if (yych <= '(') goto yy20;
12304 			goto yy115;
12305 		} else {
12306 			if (yych <= '@') goto yy20;
12307 			if (yych <= 'T') goto yy658;
12308 			goto yy673;
12309 		}
12310 	} else {
12311 		if (yych <= 't') {
12312 			if (yych <= 'Z') goto yy658;
12313 			if (yych <= '`') goto yy20;
12314 			goto yy658;
12315 		} else {
12316 			if (yych <= 'u') goto yy673;
12317 			if (yych <= 'z') goto yy658;
12318 			goto yy20;
12319 		}
12320 	}
12321 yy491:
12322 	YYDEBUG(491, *YYCURSOR);
12323 	yych = *++YYCURSOR;
12324 	if (yych <= 'H') {
12325 		if (yych <= ')') {
12326 			if (yych <= '(') goto yy20;
12327 			goto yy115;
12328 		} else {
12329 			if (yych <= '@') goto yy20;
12330 			if (yych <= 'G') goto yy658;
12331 			goto yy674;
12332 		}
12333 	} else {
12334 		if (yych <= 'g') {
12335 			if (yych <= 'Z') goto yy658;
12336 			if (yych <= '`') goto yy20;
12337 			goto yy658;
12338 		} else {
12339 			if (yych <= 'h') goto yy674;
12340 			if (yych <= 'z') goto yy658;
12341 			goto yy20;
12342 		}
12343 	}
12344 yy492:
12345 	YYDEBUG(492, *YYCURSOR);
12346 	yych = *++YYCURSOR;
12347 	if (yych <= 'T') {
12348 		if (yych <= ')') {
12349 			if (yych <= '(') goto yy20;
12350 			goto yy115;
12351 		} else {
12352 			if (yych <= '@') goto yy20;
12353 			if (yych <= 'S') goto yy658;
12354 			goto yy675;
12355 		}
12356 	} else {
12357 		if (yych <= 's') {
12358 			if (yych <= 'Z') goto yy658;
12359 			if (yych <= '`') goto yy20;
12360 			goto yy658;
12361 		} else {
12362 			if (yych <= 't') goto yy675;
12363 			if (yych <= 'z') goto yy658;
12364 			goto yy20;
12365 		}
12366 	}
12367 yy493:
12368 	YYDEBUG(493, *YYCURSOR);
12369 	yych = *++YYCURSOR;
12370 	if (yych <= 'T') {
12371 		if (yych <= ')') {
12372 			if (yych <= '(') goto yy20;
12373 			goto yy115;
12374 		} else {
12375 			if (yych <= '@') goto yy20;
12376 			if (yych <= 'S') goto yy658;
12377 			goto yy676;
12378 		}
12379 	} else {
12380 		if (yych <= 's') {
12381 			if (yych <= 'Z') goto yy658;
12382 			if (yych <= '`') goto yy20;
12383 			goto yy658;
12384 		} else {
12385 			if (yych <= 't') goto yy676;
12386 			if (yych <= 'z') goto yy658;
12387 			goto yy20;
12388 		}
12389 	}
12390 yy494:
12391 	YYDEBUG(494, *YYCURSOR);
12392 	yych = *++YYCURSOR;
12393 	if (yych <= 'A') {
12394 		if (yych == ')') goto yy115;
12395 		if (yych <= '@') goto yy20;
12396 		goto yy677;
12397 	} else {
12398 		if (yych <= '`') {
12399 			if (yych <= 'Z') goto yy658;
12400 			goto yy20;
12401 		} else {
12402 			if (yych <= 'a') goto yy677;
12403 			if (yych <= 'z') goto yy658;
12404 			goto yy20;
12405 		}
12406 	}
12407 yy495:
12408 	YYDEBUG(495, *YYCURSOR);
12409 	yych = *++YYCURSOR;
12410 	if (yych <= 'T') {
12411 		if (yych <= ')') {
12412 			if (yych <= '(') goto yy20;
12413 			goto yy115;
12414 		} else {
12415 			if (yych <= '@') goto yy20;
12416 			if (yych <= 'S') goto yy658;
12417 			goto yy678;
12418 		}
12419 	} else {
12420 		if (yych <= 's') {
12421 			if (yych <= 'Z') goto yy658;
12422 			if (yych <= '`') goto yy20;
12423 			goto yy658;
12424 		} else {
12425 			if (yych <= 't') goto yy678;
12426 			if (yych <= 'z') goto yy658;
12427 			goto yy20;
12428 		}
12429 	}
12430 yy496:
12431 	YYDEBUG(496, *YYCURSOR);
12432 	yyaccept = 2;
12433 	yych = *(YYMARKER = ++YYCURSOR);
12434 	if (yych <= 'T') {
12435 		if (yych <= '-') {
12436 			if (yych == ')') goto yy115;
12437 			if (yych <= ',') goto yy20;
12438 			goto yy297;
12439 		} else {
12440 			if (yych == '/') goto yy297;
12441 			if (yych <= '@') goto yy20;
12442 			goto yy658;
12443 		}
12444 	} else {
12445 		if (yych <= '_') {
12446 			if (yych <= 'U') goto yy673;
12447 			if (yych <= 'Z') goto yy658;
12448 			if (yych <= '^') goto yy20;
12449 			goto yy297;
12450 		} else {
12451 			if (yych <= 't') {
12452 				if (yych <= '`') goto yy20;
12453 				goto yy663;
12454 			} else {
12455 				if (yych <= 'u') goto yy679;
12456 				if (yych <= 'z') goto yy663;
12457 				goto yy20;
12458 			}
12459 		}
12460 	}
12461 yy497:
12462 	YYDEBUG(497, *YYCURSOR);
12463 	yyaccept = 2;
12464 	yych = *(YYMARKER = ++YYCURSOR);
12465 	if (yych <= 'G') {
12466 		if (yych <= '-') {
12467 			if (yych == ')') goto yy115;
12468 			if (yych <= ',') goto yy20;
12469 			goto yy297;
12470 		} else {
12471 			if (yych == '/') goto yy297;
12472 			if (yych <= '@') goto yy20;
12473 			goto yy658;
12474 		}
12475 	} else {
12476 		if (yych <= '_') {
12477 			if (yych <= 'H') goto yy674;
12478 			if (yych <= 'Z') goto yy658;
12479 			if (yych <= '^') goto yy20;
12480 			goto yy297;
12481 		} else {
12482 			if (yych <= 'g') {
12483 				if (yych <= '`') goto yy20;
12484 				goto yy663;
12485 			} else {
12486 				if (yych <= 'h') goto yy680;
12487 				if (yych <= 'z') goto yy663;
12488 				goto yy20;
12489 			}
12490 		}
12491 	}
12492 yy498:
12493 	YYDEBUG(498, *YYCURSOR);
12494 	yyaccept = 2;
12495 	yych = *(YYMARKER = ++YYCURSOR);
12496 	if (yych <= 'S') {
12497 		if (yych <= '-') {
12498 			if (yych == ')') goto yy115;
12499 			if (yych <= ',') goto yy20;
12500 			goto yy297;
12501 		} else {
12502 			if (yych == '/') goto yy297;
12503 			if (yych <= '@') goto yy20;
12504 			goto yy658;
12505 		}
12506 	} else {
12507 		if (yych <= '_') {
12508 			if (yych <= 'T') goto yy675;
12509 			if (yych <= 'Z') goto yy658;
12510 			if (yych <= '^') goto yy20;
12511 			goto yy297;
12512 		} else {
12513 			if (yych <= 's') {
12514 				if (yych <= '`') goto yy20;
12515 				goto yy663;
12516 			} else {
12517 				if (yych <= 't') goto yy681;
12518 				if (yych <= 'z') goto yy663;
12519 				goto yy20;
12520 			}
12521 		}
12522 	}
12523 yy499:
12524 	YYDEBUG(499, *YYCURSOR);
12525 	yyaccept = 2;
12526 	yych = *(YYMARKER = ++YYCURSOR);
12527 	if (yych <= 'S') {
12528 		if (yych <= '-') {
12529 			if (yych == ')') goto yy115;
12530 			if (yych <= ',') goto yy20;
12531 			goto yy297;
12532 		} else {
12533 			if (yych == '/') goto yy297;
12534 			if (yych <= '@') goto yy20;
12535 			goto yy658;
12536 		}
12537 	} else {
12538 		if (yych <= '_') {
12539 			if (yych <= 'T') goto yy676;
12540 			if (yych <= 'Z') goto yy658;
12541 			if (yych <= '^') goto yy20;
12542 			goto yy297;
12543 		} else {
12544 			if (yych <= 's') {
12545 				if (yych <= '`') goto yy20;
12546 				goto yy663;
12547 			} else {
12548 				if (yych <= 't') goto yy682;
12549 				if (yych <= 'z') goto yy663;
12550 				goto yy20;
12551 			}
12552 		}
12553 	}
12554 yy500:
12555 	YYDEBUG(500, *YYCURSOR);
12556 	yyaccept = 2;
12557 	yych = *(YYMARKER = ++YYCURSOR);
12558 	if (yych <= '@') {
12559 		if (yych <= ',') {
12560 			if (yych == ')') goto yy115;
12561 			goto yy20;
12562 		} else {
12563 			if (yych == '.') goto yy20;
12564 			if (yych <= '/') goto yy297;
12565 			goto yy20;
12566 		}
12567 	} else {
12568 		if (yych <= '_') {
12569 			if (yych <= 'A') goto yy677;
12570 			if (yych <= 'Z') goto yy658;
12571 			if (yych <= '^') goto yy20;
12572 			goto yy297;
12573 		} else {
12574 			if (yych <= '`') goto yy20;
12575 			if (yych <= 'a') goto yy683;
12576 			if (yych <= 'z') goto yy663;
12577 			goto yy20;
12578 		}
12579 	}
12580 yy501:
12581 	YYDEBUG(501, *YYCURSOR);
12582 	yyaccept = 2;
12583 	yych = *(YYMARKER = ++YYCURSOR);
12584 	if (yych <= 'S') {
12585 		if (yych <= '-') {
12586 			if (yych == ')') goto yy115;
12587 			if (yych <= ',') goto yy20;
12588 			goto yy297;
12589 		} else {
12590 			if (yych == '/') goto yy297;
12591 			if (yych <= '@') goto yy20;
12592 			goto yy658;
12593 		}
12594 	} else {
12595 		if (yych <= '_') {
12596 			if (yych <= 'T') goto yy678;
12597 			if (yych <= 'Z') goto yy658;
12598 			if (yych <= '^') goto yy20;
12599 			goto yy297;
12600 		} else {
12601 			if (yych <= 's') {
12602 				if (yych <= '`') goto yy20;
12603 				goto yy663;
12604 			} else {
12605 				if (yych <= 't') goto yy684;
12606 				if (yych <= 'z') goto yy663;
12607 				goto yy20;
12608 			}
12609 		}
12610 	}
12611 yy502:
12612 	YYDEBUG(502, *YYCURSOR);
12613 	yych = *++YYCURSOR;
12614 	if (yych <= '/') goto yy59;
12615 	if (yych <= '1') goto yy685;
12616 	if (yych <= '2') goto yy686;
12617 	if (yych <= '9') goto yy687;
12618 	goto yy59;
12619 yy503:
12620 	YYDEBUG(503, *YYCURSOR);
12621 	yych = *++YYCURSOR;
12622 	if (yych <= '/') {
12623 		if (yych == '.') goto yy688;
12624 		goto yy59;
12625 	} else {
12626 		if (yych <= '0') goto yy689;
12627 		if (yych <= '9') goto yy506;
12628 		if (yych <= ':') goto yy688;
12629 		goto yy59;
12630 	}
12631 yy504:
12632 	YYDEBUG(504, *YYCURSOR);
12633 	yych = *++YYCURSOR;
12634 	if (yych <= '/') {
12635 		if (yych == '.') goto yy690;
12636 		goto yy59;
12637 	} else {
12638 		if (yych <= '2') goto yy506;
12639 		if (yych <= '9') goto yy689;
12640 		if (yych <= ':') goto yy690;
12641 		goto yy59;
12642 	}
12643 yy505:
12644 	YYDEBUG(505, *YYCURSOR);
12645 	yych = *++YYCURSOR;
12646 	if (yych <= '/') {
12647 		if (yych == '.') goto yy690;
12648 		goto yy59;
12649 	} else {
12650 		if (yych <= '4') goto yy689;
12651 		if (yych == ':') goto yy690;
12652 		goto yy59;
12653 	}
12654 yy506:
12655 	YYDEBUG(506, *YYCURSOR);
12656 	yych = *++YYCURSOR;
12657 	if (yych == '.') goto yy690;
12658 	if (yych == ':') goto yy690;
12659 	goto yy59;
12660 yy507:
12661 	YYDEBUG(507, *YYCURSOR);
12662 	yych = *++YYCURSOR;
12663 	if (yych <= '/') goto yy59;
12664 	if (yych <= '1') goto yy691;
12665 	if (yych <= '2') goto yy692;
12666 	if (yych <= '9') goto yy689;
12667 	goto yy59;
12668 yy508:
12669 	YYDEBUG(508, *YYCURSOR);
12670 	yyaccept = 10;
12671 	yych = *(YYMARKER = ++YYCURSOR);
12672 	if (yych <= '/') {
12673 		if (yych == '.') goto yy688;
12674 		goto yy325;
12675 	} else {
12676 		if (yych <= '0') goto yy693;
12677 		if (yych <= '9') goto yy694;
12678 		if (yych <= ':') goto yy688;
12679 		goto yy325;
12680 	}
12681 yy509:
12682 	YYDEBUG(509, *YYCURSOR);
12683 	yyaccept = 10;
12684 	yych = *(YYMARKER = ++YYCURSOR);
12685 	if (yych <= '/') {
12686 		if (yych == '.') goto yy690;
12687 		goto yy325;
12688 	} else {
12689 		if (yych <= '2') goto yy694;
12690 		if (yych <= '9') goto yy693;
12691 		if (yych <= ':') goto yy690;
12692 		goto yy325;
12693 	}
12694 yy510:
12695 	YYDEBUG(510, *YYCURSOR);
12696 	yyaccept = 10;
12697 	yych = *(YYMARKER = ++YYCURSOR);
12698 	if (yych <= '/') {
12699 		if (yych == '.') goto yy690;
12700 		goto yy325;
12701 	} else {
12702 		if (yych <= '4') goto yy693;
12703 		if (yych <= '9') goto yy695;
12704 		if (yych <= ':') goto yy690;
12705 		goto yy325;
12706 	}
12707 yy511:
12708 	YYDEBUG(511, *YYCURSOR);
12709 	yyaccept = 10;
12710 	yych = *(YYMARKER = ++YYCURSOR);
12711 	if (yych <= '/') {
12712 		if (yych == '.') goto yy690;
12713 		goto yy325;
12714 	} else {
12715 		if (yych <= '9') goto yy695;
12716 		if (yych <= ':') goto yy690;
12717 		goto yy325;
12718 	}
12719 yy512:
12720 	YYDEBUG(512, *YYCURSOR);
12721 	yych = *++YYCURSOR;
12722 	if (yych <= '/') goto yy59;
12723 	if (yych <= '9') goto yy696;
12724 	goto yy59;
12725 yy513:
12726 	YYDEBUG(513, *YYCURSOR);
12727 	yyaccept = 10;
12728 	yych = *(YYMARKER = ++YYCURSOR);
12729 	if (yych <= 0x00) goto yy324;
12730 	goto yy327;
12731 yy514:
12732 	YYDEBUG(514, *YYCURSOR);
12733 	yych = *++YYCURSOR;
12734 	if (yych <= 'A') {
12735 		if (yych == ')') goto yy115;
12736 		if (yych <= '@') goto yy20;
12737 		goto yy698;
12738 	} else {
12739 		if (yych <= '`') {
12740 			if (yych <= 'Z') goto yy658;
12741 			goto yy20;
12742 		} else {
12743 			if (yych <= 'a') goto yy698;
12744 			if (yych <= 'z') goto yy658;
12745 			goto yy20;
12746 		}
12747 	}
12748 yy515:
12749 	YYDEBUG(515, *YYCURSOR);
12750 	yyaccept = 7;
12751 	yych = *(YYMARKER = ++YYCURSOR);
12752 	if (yych <= ',') {
12753 		if (yych <= 0x1F) {
12754 			if (yych == '\t') goto yy142;
12755 			goto yy295;
12756 		} else {
12757 			if (yych <= ' ') goto yy142;
12758 			if (yych == ')') goto yy115;
12759 			goto yy295;
12760 		}
12761 	} else {
12762 		if (yych <= '@') {
12763 			if (yych == '/') goto yy295;
12764 			if (yych <= '9') goto yy142;
12765 			goto yy295;
12766 		} else {
12767 			if (yych <= 'Z') goto yy658;
12768 			if (yych <= '`') goto yy295;
12769 			if (yych <= 'z') goto yy658;
12770 			goto yy295;
12771 		}
12772 	}
12773 yy516:
12774 	YYDEBUG(516, *YYCURSOR);
12775 	yyaccept = 2;
12776 	yych = *(YYMARKER = ++YYCURSOR);
12777 	if (yych <= '@') {
12778 		if (yych <= ',') {
12779 			if (yych == ')') goto yy115;
12780 			goto yy20;
12781 		} else {
12782 			if (yych == '.') goto yy20;
12783 			if (yych <= '/') goto yy297;
12784 			goto yy20;
12785 		}
12786 	} else {
12787 		if (yych <= '_') {
12788 			if (yych <= 'A') goto yy698;
12789 			if (yych <= 'Z') goto yy658;
12790 			if (yych <= '^') goto yy20;
12791 			goto yy297;
12792 		} else {
12793 			if (yych <= '`') goto yy20;
12794 			if (yych <= 'a') goto yy699;
12795 			if (yych <= 'z') goto yy663;
12796 			goto yy20;
12797 		}
12798 	}
12799 yy517:
12800 	YYDEBUG(517, *YYCURSOR);
12801 	yyaccept = 7;
12802 	yych = *(YYMARKER = ++YYCURSOR);
12803 	if (yych <= '.') {
12804 		if (yych <= ' ') {
12805 			if (yych == '\t') goto yy142;
12806 			if (yych <= 0x1F) goto yy295;
12807 			goto yy142;
12808 		} else {
12809 			if (yych <= ')') {
12810 				if (yych <= '(') goto yy295;
12811 				goto yy115;
12812 			} else {
12813 				if (yych <= ',') goto yy295;
12814 				if (yych <= '-') goto yy700;
12815 				goto yy142;
12816 			}
12817 		}
12818 	} else {
12819 		if (yych <= 'Z') {
12820 			if (yych <= '/') goto yy297;
12821 			if (yych <= '9') goto yy142;
12822 			if (yych <= '@') goto yy295;
12823 			goto yy658;
12824 		} else {
12825 			if (yych <= '_') {
12826 				if (yych <= '^') goto yy295;
12827 				goto yy297;
12828 			} else {
12829 				if (yych <= '`') goto yy295;
12830 				if (yych <= 'z') goto yy663;
12831 				goto yy295;
12832 			}
12833 		}
12834 	}
12835 yy518:
12836 	YYDEBUG(518, *YYCURSOR);
12837 	yyaccept = 2;
12838 	yych = *(YYMARKER = ++YYCURSOR);
12839 	if (yych <= '@') {
12840 		if (yych <= 0x1F) {
12841 			if (yych == '\t') goto yy701;
12842 			goto yy20;
12843 		} else {
12844 			if (yych <= ' ') goto yy703;
12845 			if (yych == ')') goto yy115;
12846 			goto yy20;
12847 		}
12848 	} else {
12849 		if (yych <= 0xC1) {
12850 			if (yych <= 'Z') goto yy658;
12851 			if (yych <= '`') goto yy20;
12852 			if (yych <= 'z') goto yy658;
12853 			goto yy20;
12854 		} else {
12855 			if (yych <= 0xC2) goto yy704;
12856 			if (yych == 0xE2) goto yy705;
12857 			goto yy20;
12858 		}
12859 	}
12860 yy519:
12861 	YYDEBUG(519, *YYCURSOR);
12862 	yyaccept = 2;
12863 	yych = *(YYMARKER = ++YYCURSOR);
12864 	if (yych <= '/') {
12865 		if (yych <= '(') {
12866 			if (yych <= '\t') {
12867 				if (yych <= 0x08) goto yy20;
12868 				goto yy701;
12869 			} else {
12870 				if (yych == ' ') goto yy703;
12871 				goto yy20;
12872 			}
12873 		} else {
12874 			if (yych <= ',') {
12875 				if (yych <= ')') goto yy115;
12876 				goto yy20;
12877 			} else {
12878 				if (yych == '.') goto yy20;
12879 				goto yy297;
12880 			}
12881 		}
12882 	} else {
12883 		if (yych <= '`') {
12884 			if (yych <= 'Z') {
12885 				if (yych <= '@') goto yy20;
12886 				goto yy658;
12887 			} else {
12888 				if (yych == '_') goto yy297;
12889 				goto yy20;
12890 			}
12891 		} else {
12892 			if (yych <= 0xC2) {
12893 				if (yych <= 'z') goto yy663;
12894 				if (yych <= 0xC1) goto yy20;
12895 				goto yy704;
12896 			} else {
12897 				if (yych == 0xE2) goto yy705;
12898 				goto yy20;
12899 			}
12900 		}
12901 	}
12902 yy520:
12903 	YYDEBUG(520, *YYCURSOR);
12904 	yych = *++YYCURSOR;
12905 	if (yych <= 'H') {
12906 		if (yych <= ')') {
12907 			if (yych <= '(') goto yy20;
12908 			goto yy115;
12909 		} else {
12910 			if (yych <= '@') goto yy20;
12911 			if (yych <= 'G') goto yy658;
12912 			goto yy661;
12913 		}
12914 	} else {
12915 		if (yych <= 'g') {
12916 			if (yych <= 'Z') goto yy658;
12917 			if (yych <= '`') goto yy20;
12918 			goto yy658;
12919 		} else {
12920 			if (yych <= 'h') goto yy661;
12921 			if (yych <= 'z') goto yy658;
12922 			goto yy20;
12923 		}
12924 	}
12925 yy521:
12926 	YYDEBUG(521, *YYCURSOR);
12927 	yych = *++YYCURSOR;
12928 	if (yych <= 'I') {
12929 		if (yych <= ')') {
12930 			if (yych <= '(') goto yy20;
12931 			goto yy115;
12932 		} else {
12933 			if (yych <= '@') goto yy20;
12934 			if (yych <= 'H') goto yy658;
12935 			goto yy706;
12936 		}
12937 	} else {
12938 		if (yych <= 'h') {
12939 			if (yych <= 'Z') goto yy658;
12940 			if (yych <= '`') goto yy20;
12941 			goto yy658;
12942 		} else {
12943 			if (yych <= 'i') goto yy706;
12944 			if (yych <= 'z') goto yy658;
12945 			goto yy20;
12946 		}
12947 	}
12948 yy522:
12949 	YYDEBUG(522, *YYCURSOR);
12950 	yyaccept = 2;
12951 	yych = *(YYMARKER = ++YYCURSOR);
12952 	if (yych <= 'G') {
12953 		if (yych <= '-') {
12954 			if (yych == ')') goto yy115;
12955 			if (yych <= ',') goto yy20;
12956 			goto yy297;
12957 		} else {
12958 			if (yych == '/') goto yy297;
12959 			if (yych <= '@') goto yy20;
12960 			goto yy658;
12961 		}
12962 	} else {
12963 		if (yych <= '_') {
12964 			if (yych <= 'H') goto yy661;
12965 			if (yych <= 'Z') goto yy658;
12966 			if (yych <= '^') goto yy20;
12967 			goto yy297;
12968 		} else {
12969 			if (yych <= 'g') {
12970 				if (yych <= '`') goto yy20;
12971 				goto yy663;
12972 			} else {
12973 				if (yych <= 'h') goto yy664;
12974 				if (yych <= 'z') goto yy663;
12975 				goto yy20;
12976 			}
12977 		}
12978 	}
12979 yy523:
12980 	YYDEBUG(523, *YYCURSOR);
12981 	yyaccept = 2;
12982 	yych = *(YYMARKER = ++YYCURSOR);
12983 	if (yych <= 'H') {
12984 		if (yych <= '-') {
12985 			if (yych == ')') goto yy115;
12986 			if (yych <= ',') goto yy20;
12987 			goto yy297;
12988 		} else {
12989 			if (yych == '/') goto yy297;
12990 			if (yych <= '@') goto yy20;
12991 			goto yy658;
12992 		}
12993 	} else {
12994 		if (yych <= '_') {
12995 			if (yych <= 'I') goto yy706;
12996 			if (yych <= 'Z') goto yy658;
12997 			if (yych <= '^') goto yy20;
12998 			goto yy297;
12999 		} else {
13000 			if (yych <= 'h') {
13001 				if (yych <= '`') goto yy20;
13002 				goto yy663;
13003 			} else {
13004 				if (yych <= 'i') goto yy707;
13005 				if (yych <= 'z') goto yy663;
13006 				goto yy20;
13007 			}
13008 		}
13009 	}
13010 yy524:
13011 	YYDEBUG(524, *YYCURSOR);
13012 	yyaccept = 2;
13013 	yych = *(YYMARKER = ++YYCURSOR);
13014 	if (yych <= '@') {
13015 		if (yych <= 0x1F) {
13016 			if (yych == '\t') goto yy701;
13017 			goto yy20;
13018 		} else {
13019 			if (yych <= ' ') goto yy701;
13020 			if (yych == ')') goto yy115;
13021 			goto yy20;
13022 		}
13023 	} else {
13024 		if (yych <= 0xC1) {
13025 			if (yych <= 'Z') goto yy658;
13026 			if (yych <= '`') goto yy20;
13027 			if (yych <= 'z') goto yy658;
13028 			goto yy20;
13029 		} else {
13030 			if (yych <= 0xC2) goto yy704;
13031 			if (yych == 0xE2) goto yy705;
13032 			goto yy20;
13033 		}
13034 	}
13035 yy525:
13036 	YYDEBUG(525, *YYCURSOR);
13037 	yych = *++YYCURSOR;
13038 	if (yych <= '@') {
13039 		if (yych == ')') goto yy115;
13040 	} else {
13041 		if (yych <= 'Z') goto yy658;
13042 		if (yych <= '`') goto yy526;
13043 		if (yych <= 'z') goto yy658;
13044 	}
13045 yy526:
13046 	YYDEBUG(526, *YYCURSOR);
13047 #line 1173 "ext/date/lib/parse_date.re"
13048 	{
13049 		DEBUG_OUTPUT("noon");
13050 		TIMELIB_INIT;
13051 		TIMELIB_UNHAVE_TIME();
13052 		TIMELIB_HAVE_TIME();
13053 		s->time->h = 12;
13054 
13055 		TIMELIB_DEINIT;
13056 		return TIMELIB_RELATIVE;
13057 	}
13058 #line 13059 "<stdout>"
13059 yy527:
13060 	YYDEBUG(527, *YYCURSOR);
13061 	yyaccept = 2;
13062 	yych = *(YYMARKER = ++YYCURSOR);
13063 	if (yych <= '/') {
13064 		if (yych <= '(') {
13065 			if (yych <= '\t') {
13066 				if (yych <= 0x08) goto yy20;
13067 				goto yy701;
13068 			} else {
13069 				if (yych == ' ') goto yy701;
13070 				goto yy20;
13071 			}
13072 		} else {
13073 			if (yych <= ',') {
13074 				if (yych <= ')') goto yy115;
13075 				goto yy20;
13076 			} else {
13077 				if (yych == '.') goto yy20;
13078 				goto yy297;
13079 			}
13080 		}
13081 	} else {
13082 		if (yych <= '`') {
13083 			if (yych <= 'Z') {
13084 				if (yych <= '@') goto yy20;
13085 				goto yy658;
13086 			} else {
13087 				if (yych == '_') goto yy297;
13088 				goto yy20;
13089 			}
13090 		} else {
13091 			if (yych <= 0xC2) {
13092 				if (yych <= 'z') goto yy663;
13093 				if (yych <= 0xC1) goto yy20;
13094 				goto yy704;
13095 			} else {
13096 				if (yych == 0xE2) goto yy705;
13097 				goto yy20;
13098 			}
13099 		}
13100 	}
13101 yy528:
13102 	YYDEBUG(528, *YYCURSOR);
13103 	yyaccept = 14;
13104 	yych = *(YYMARKER = ++YYCURSOR);
13105 	if (yych <= '/') {
13106 		if (yych <= ',') {
13107 			if (yych == ')') goto yy115;
13108 			goto yy526;
13109 		} else {
13110 			if (yych == '.') goto yy526;
13111 			goto yy297;
13112 		}
13113 	} else {
13114 		if (yych <= '^') {
13115 			if (yych <= '@') goto yy526;
13116 			if (yych <= 'Z') goto yy658;
13117 			goto yy526;
13118 		} else {
13119 			if (yych <= '_') goto yy297;
13120 			if (yych <= '`') goto yy526;
13121 			if (yych <= 'z') goto yy663;
13122 			goto yy526;
13123 		}
13124 	}
13125 yy529:
13126 	YYDEBUG(529, *YYCURSOR);
13127 	yych = *++YYCURSOR;
13128 	if (yych <= 'B') {
13129 		if (yych <= ')') {
13130 			if (yych <= '(') goto yy20;
13131 			goto yy115;
13132 		} else {
13133 			if (yych <= '@') goto yy20;
13134 			if (yych <= 'A') goto yy658;
13135 			goto yy708;
13136 		}
13137 	} else {
13138 		if (yych <= 'a') {
13139 			if (yych <= 'Z') goto yy658;
13140 			if (yych <= '`') goto yy20;
13141 			goto yy658;
13142 		} else {
13143 			if (yych <= 'b') goto yy708;
13144 			if (yych <= 'z') goto yy658;
13145 			goto yy20;
13146 		}
13147 	}
13148 yy530:
13149 	YYDEBUG(530, *YYCURSOR);
13150 	yyaccept = 2;
13151 	yych = *(YYMARKER = ++YYCURSOR);
13152 	if (yych <= 'A') {
13153 		if (yych <= '-') {
13154 			if (yych == ')') goto yy115;
13155 			if (yych <= ',') goto yy20;
13156 			goto yy297;
13157 		} else {
13158 			if (yych == '/') goto yy297;
13159 			if (yych <= '@') goto yy20;
13160 			goto yy658;
13161 		}
13162 	} else {
13163 		if (yych <= '_') {
13164 			if (yych <= 'B') goto yy708;
13165 			if (yych <= 'Z') goto yy658;
13166 			if (yych <= '^') goto yy20;
13167 			goto yy297;
13168 		} else {
13169 			if (yych <= 'a') {
13170 				if (yych <= '`') goto yy20;
13171 				goto yy663;
13172 			} else {
13173 				if (yych <= 'b') goto yy709;
13174 				if (yych <= 'z') goto yy663;
13175 				goto yy20;
13176 			}
13177 		}
13178 	}
13179 yy531:
13180 	YYDEBUG(531, *YYCURSOR);
13181 	yych = *++YYCURSOR;
13182 	if (yych <= 'I') {
13183 		if (yych <= ')') {
13184 			if (yych <= '(') goto yy20;
13185 			goto yy115;
13186 		} else {
13187 			if (yych <= '@') goto yy20;
13188 			if (yych <= 'H') goto yy658;
13189 			goto yy710;
13190 		}
13191 	} else {
13192 		if (yych <= 'h') {
13193 			if (yych <= 'Z') goto yy658;
13194 			if (yych <= '`') goto yy20;
13195 			goto yy658;
13196 		} else {
13197 			if (yych <= 'i') goto yy710;
13198 			if (yych <= 'z') goto yy658;
13199 			goto yy20;
13200 		}
13201 	}
13202 yy532:
13203 	YYDEBUG(532, *YYCURSOR);
13204 	yyaccept = 2;
13205 	yych = *(YYMARKER = ++YYCURSOR);
13206 	if (yych <= 'H') {
13207 		if (yych <= '-') {
13208 			if (yych == ')') goto yy115;
13209 			if (yych <= ',') goto yy20;
13210 			goto yy297;
13211 		} else {
13212 			if (yych == '/') goto yy297;
13213 			if (yych <= '@') goto yy20;
13214 			goto yy658;
13215 		}
13216 	} else {
13217 		if (yych <= '_') {
13218 			if (yych <= 'I') goto yy710;
13219 			if (yych <= 'Z') goto yy658;
13220 			if (yych <= '^') goto yy20;
13221 			goto yy297;
13222 		} else {
13223 			if (yych <= 'h') {
13224 				if (yych <= '`') goto yy20;
13225 				goto yy663;
13226 			} else {
13227 				if (yych <= 'i') goto yy711;
13228 				if (yych <= 'z') goto yy663;
13229 				goto yy20;
13230 			}
13231 		}
13232 	}
13233 yy533:
13234 	YYDEBUG(533, *YYCURSOR);
13235 	yych = *++YYCURSOR;
13236 	if (yych <= 'R') {
13237 		if (yych <= ')') {
13238 			if (yych <= '(') goto yy20;
13239 			goto yy115;
13240 		} else {
13241 			if (yych <= '@') goto yy20;
13242 			if (yych <= 'Q') goto yy658;
13243 			goto yy712;
13244 		}
13245 	} else {
13246 		if (yych <= 'q') {
13247 			if (yych <= 'Z') goto yy658;
13248 			if (yych <= '`') goto yy20;
13249 			goto yy658;
13250 		} else {
13251 			if (yych <= 'r') goto yy712;
13252 			if (yych <= 'z') goto yy658;
13253 			goto yy20;
13254 		}
13255 	}
13256 yy534:
13257 	YYDEBUG(534, *YYCURSOR);
13258 	yych = *++YYCURSOR;
13259 	if (yych <= 'N') {
13260 		if (yych <= ')') {
13261 			if (yych <= '(') goto yy20;
13262 			goto yy115;
13263 		} else {
13264 			if (yych <= '@') goto yy20;
13265 			if (yych <= 'M') goto yy658;
13266 			goto yy713;
13267 		}
13268 	} else {
13269 		if (yych <= 'm') {
13270 			if (yych <= 'Z') goto yy658;
13271 			if (yych <= '`') goto yy20;
13272 			goto yy658;
13273 		} else {
13274 			if (yych <= 'n') goto yy713;
13275 			if (yych <= 'z') goto yy658;
13276 			goto yy20;
13277 		}
13278 	}
13279 yy535:
13280 	YYDEBUG(535, *YYCURSOR);
13281 	yyaccept = 7;
13282 	yych = *(YYMARKER = ++YYCURSOR);
13283 	if (yych <= '/') {
13284 		if (yych <= '(') {
13285 			if (yych <= '\t') {
13286 				if (yych <= 0x08) goto yy295;
13287 				goto yy142;
13288 			} else {
13289 				if (yych == ' ') goto yy142;
13290 				goto yy295;
13291 			}
13292 		} else {
13293 			if (yych <= ',') {
13294 				if (yych <= ')') goto yy115;
13295 				goto yy295;
13296 			} else {
13297 				if (yych <= '-') goto yy473;
13298 				if (yych <= '.') goto yy142;
13299 				goto yy295;
13300 			}
13301 		}
13302 	} else {
13303 		if (yych <= 'Z') {
13304 			if (yych <= '@') {
13305 				if (yych <= '9') goto yy142;
13306 				goto yy295;
13307 			} else {
13308 				if (yych == 'E') goto yy714;
13309 				goto yy658;
13310 			}
13311 		} else {
13312 			if (yych <= 'd') {
13313 				if (yych <= '`') goto yy295;
13314 				goto yy658;
13315 			} else {
13316 				if (yych <= 'e') goto yy714;
13317 				if (yych <= 'z') goto yy658;
13318 				goto yy295;
13319 			}
13320 		}
13321 	}
13322 yy536:
13323 	YYDEBUG(536, *YYCURSOR);
13324 	yych = *++YYCURSOR;
13325 	if (yych <= 'N') {
13326 		if (yych <= ')') {
13327 			if (yych <= '(') goto yy20;
13328 			goto yy115;
13329 		} else {
13330 			if (yych <= '@') goto yy20;
13331 			if (yych <= 'M') goto yy658;
13332 			goto yy715;
13333 		}
13334 	} else {
13335 		if (yych <= 'm') {
13336 			if (yych <= 'Z') goto yy658;
13337 			if (yych <= '`') goto yy20;
13338 			goto yy658;
13339 		} else {
13340 			if (yych <= 'n') goto yy715;
13341 			if (yych <= 'z') goto yy658;
13342 			goto yy20;
13343 		}
13344 	}
13345 yy537:
13346 	YYDEBUG(537, *YYCURSOR);
13347 	yyaccept = 2;
13348 	yych = *(YYMARKER = ++YYCURSOR);
13349 	if (yych <= 'Q') {
13350 		if (yych <= '-') {
13351 			if (yych == ')') goto yy115;
13352 			if (yych <= ',') goto yy20;
13353 			goto yy297;
13354 		} else {
13355 			if (yych == '/') goto yy297;
13356 			if (yych <= '@') goto yy20;
13357 			goto yy658;
13358 		}
13359 	} else {
13360 		if (yych <= '_') {
13361 			if (yych <= 'R') goto yy712;
13362 			if (yych <= 'Z') goto yy658;
13363 			if (yych <= '^') goto yy20;
13364 			goto yy297;
13365 		} else {
13366 			if (yych <= 'q') {
13367 				if (yych <= '`') goto yy20;
13368 				goto yy663;
13369 			} else {
13370 				if (yych <= 'r') goto yy716;
13371 				if (yych <= 'z') goto yy663;
13372 				goto yy20;
13373 			}
13374 		}
13375 	}
13376 yy538:
13377 	YYDEBUG(538, *YYCURSOR);
13378 	yyaccept = 2;
13379 	yych = *(YYMARKER = ++YYCURSOR);
13380 	if (yych <= 'M') {
13381 		if (yych <= '-') {
13382 			if (yych == ')') goto yy115;
13383 			if (yych <= ',') goto yy20;
13384 			goto yy297;
13385 		} else {
13386 			if (yych == '/') goto yy297;
13387 			if (yych <= '@') goto yy20;
13388 			goto yy658;
13389 		}
13390 	} else {
13391 		if (yych <= '_') {
13392 			if (yych <= 'N') goto yy713;
13393 			if (yych <= 'Z') goto yy658;
13394 			if (yych <= '^') goto yy20;
13395 			goto yy297;
13396 		} else {
13397 			if (yych <= 'm') {
13398 				if (yych <= '`') goto yy20;
13399 				goto yy663;
13400 			} else {
13401 				if (yych <= 'n') goto yy717;
13402 				if (yych <= 'z') goto yy663;
13403 				goto yy20;
13404 			}
13405 		}
13406 	}
13407 yy539:
13408 	YYDEBUG(539, *YYCURSOR);
13409 	yyaccept = 7;
13410 	yych = *(YYMARKER = ++YYCURSOR);
13411 	if (yych <= '9') {
13412 		if (yych <= '(') {
13413 			if (yych <= '\t') {
13414 				if (yych <= 0x08) goto yy295;
13415 				goto yy142;
13416 			} else {
13417 				if (yych == ' ') goto yy142;
13418 				goto yy295;
13419 			}
13420 		} else {
13421 			if (yych <= '-') {
13422 				if (yych <= ')') goto yy115;
13423 				if (yych <= ',') goto yy295;
13424 				goto yy479;
13425 			} else {
13426 				if (yych == '/') goto yy297;
13427 				goto yy142;
13428 			}
13429 		}
13430 	} else {
13431 		if (yych <= '^') {
13432 			if (yych <= 'D') {
13433 				if (yych <= '@') goto yy295;
13434 				goto yy658;
13435 			} else {
13436 				if (yych <= 'E') goto yy714;
13437 				if (yych <= 'Z') goto yy658;
13438 				goto yy295;
13439 			}
13440 		} else {
13441 			if (yych <= 'd') {
13442 				if (yych <= '_') goto yy297;
13443 				if (yych <= '`') goto yy295;
13444 				goto yy663;
13445 			} else {
13446 				if (yych <= 'e') goto yy718;
13447 				if (yych <= 'z') goto yy663;
13448 				goto yy295;
13449 			}
13450 		}
13451 	}
13452 yy540:
13453 	YYDEBUG(540, *YYCURSOR);
13454 	yyaccept = 2;
13455 	yych = *(YYMARKER = ++YYCURSOR);
13456 	if (yych <= 'M') {
13457 		if (yych <= '-') {
13458 			if (yych == ')') goto yy115;
13459 			if (yych <= ',') goto yy20;
13460 			goto yy297;
13461 		} else {
13462 			if (yych == '/') goto yy297;
13463 			if (yych <= '@') goto yy20;
13464 			goto yy658;
13465 		}
13466 	} else {
13467 		if (yych <= '_') {
13468 			if (yych <= 'N') goto yy715;
13469 			if (yych <= 'Z') goto yy658;
13470 			if (yych <= '^') goto yy20;
13471 			goto yy297;
13472 		} else {
13473 			if (yych <= 'm') {
13474 				if (yych <= '`') goto yy20;
13475 				goto yy663;
13476 			} else {
13477 				if (yych <= 'n') goto yy719;
13478 				if (yych <= 'z') goto yy663;
13479 				goto yy20;
13480 			}
13481 		}
13482 	}
13483 yy541:
13484 	YYDEBUG(541, *YYCURSOR);
13485 	yych = *++YYCURSOR;
13486 	if (yych <= '/') goto yy59;
13487 	if (yych <= '9') goto yy720;
13488 	goto yy59;
13489 yy542:
13490 	YYDEBUG(542, *YYCURSOR);
13491 	yych = *++YYCURSOR;
13492 	if (yych <= 'D') {
13493 		if (yych <= ')') {
13494 			if (yych <= '(') goto yy20;
13495 			goto yy115;
13496 		} else {
13497 			if (yych <= '@') goto yy20;
13498 			if (yych <= 'C') goto yy658;
13499 			goto yy674;
13500 		}
13501 	} else {
13502 		if (yych <= 'c') {
13503 			if (yych <= 'Z') goto yy658;
13504 			if (yych <= '`') goto yy20;
13505 			goto yy658;
13506 		} else {
13507 			if (yych <= 'd') goto yy674;
13508 			if (yych <= 'z') goto yy658;
13509 			goto yy20;
13510 		}
13511 	}
13512 yy543:
13513 	YYDEBUG(543, *YYCURSOR);
13514 	yych = *++YYCURSOR;
13515 	if (yych <= 'S') {
13516 		if (yych <= ')') {
13517 			if (yych <= '(') goto yy20;
13518 			goto yy115;
13519 		} else {
13520 			if (yych <= '@') goto yy20;
13521 			if (yych <= 'R') goto yy658;
13522 			goto yy712;
13523 		}
13524 	} else {
13525 		if (yych <= 'r') {
13526 			if (yych <= 'Z') goto yy658;
13527 			if (yych <= '`') goto yy20;
13528 			goto yy658;
13529 		} else {
13530 			if (yych <= 's') goto yy712;
13531 			if (yych <= 'z') goto yy658;
13532 			goto yy20;
13533 		}
13534 	}
13535 yy544:
13536 	YYDEBUG(544, *YYCURSOR);
13537 	yych = *++YYCURSOR;
13538 	if (yych <= 'Y') {
13539 		if (yych <= ')') {
13540 			if (yych <= '(') goto yy20;
13541 			goto yy115;
13542 		} else {
13543 			if (yych <= '@') goto yy20;
13544 			if (yych <= 'X') goto yy658;
13545 			goto yy721;
13546 		}
13547 	} else {
13548 		if (yych <= 'x') {
13549 			if (yych <= 'Z') goto yy658;
13550 			if (yych <= '`') goto yy20;
13551 			goto yy658;
13552 		} else {
13553 			if (yych <= 'y') goto yy721;
13554 			if (yych <= 'z') goto yy658;
13555 			goto yy20;
13556 		}
13557 	}
13558 yy545:
13559 	YYDEBUG(545, *YYCURSOR);
13560 	yych = *++YYCURSOR;
13561 	if (yych <= 'R') {
13562 		if (yych <= ')') {
13563 			if (yych <= '(') goto yy20;
13564 			goto yy115;
13565 		} else {
13566 			if (yych <= '@') goto yy20;
13567 			if (yych <= 'Q') goto yy658;
13568 			goto yy723;
13569 		}
13570 	} else {
13571 		if (yych <= 'q') {
13572 			if (yych <= 'Z') goto yy658;
13573 			if (yych <= '`') goto yy20;
13574 			goto yy658;
13575 		} else {
13576 			if (yych <= 'r') goto yy723;
13577 			if (yych <= 'z') goto yy658;
13578 			goto yy20;
13579 		}
13580 	}
13581 yy546:
13582 	YYDEBUG(546, *YYCURSOR);
13583 	yych = *++YYCURSOR;
13584 	if (yych <= 'D') {
13585 		if (yych <= ')') {
13586 			if (yych <= '(') goto yy20;
13587 			goto yy115;
13588 		} else {
13589 			if (yych <= '@') goto yy20;
13590 			if (yych <= 'C') goto yy658;
13591 			goto yy724;
13592 		}
13593 	} else {
13594 		if (yych <= 'c') {
13595 			if (yych <= 'Z') goto yy658;
13596 			if (yych <= '`') goto yy20;
13597 			goto yy658;
13598 		} else {
13599 			if (yych <= 'd') goto yy724;
13600 			if (yych <= 'z') goto yy658;
13601 			goto yy20;
13602 		}
13603 	}
13604 yy547:
13605 	YYDEBUG(547, *YYCURSOR);
13606 	yych = *++YYCURSOR;
13607 	if (yych <= 'F') {
13608 		if (yych <= ')') {
13609 			if (yych <= '(') goto yy20;
13610 			goto yy115;
13611 		} else {
13612 			if (yych <= '@') goto yy20;
13613 			if (yych <= 'E') goto yy658;
13614 			goto yy715;
13615 		}
13616 	} else {
13617 		if (yych <= 'e') {
13618 			if (yych <= 'Z') goto yy658;
13619 			if (yych <= '`') goto yy20;
13620 			goto yy658;
13621 		} else {
13622 			if (yych <= 'f') goto yy715;
13623 			if (yych <= 'z') goto yy658;
13624 			goto yy20;
13625 		}
13626 	}
13627 yy548:
13628 	YYDEBUG(548, *YYCURSOR);
13629 	yyaccept = 2;
13630 	yych = *(YYMARKER = ++YYCURSOR);
13631 	if (yych <= 'C') {
13632 		if (yych <= '-') {
13633 			if (yych == ')') goto yy115;
13634 			if (yych <= ',') goto yy20;
13635 			goto yy297;
13636 		} else {
13637 			if (yych == '/') goto yy297;
13638 			if (yych <= '@') goto yy20;
13639 			goto yy658;
13640 		}
13641 	} else {
13642 		if (yych <= '_') {
13643 			if (yych <= 'D') goto yy674;
13644 			if (yych <= 'Z') goto yy658;
13645 			if (yych <= '^') goto yy20;
13646 			goto yy297;
13647 		} else {
13648 			if (yych <= 'c') {
13649 				if (yych <= '`') goto yy20;
13650 				goto yy663;
13651 			} else {
13652 				if (yych <= 'd') goto yy680;
13653 				if (yych <= 'z') goto yy663;
13654 				goto yy20;
13655 			}
13656 		}
13657 	}
13658 yy549:
13659 	YYDEBUG(549, *YYCURSOR);
13660 	yyaccept = 2;
13661 	yych = *(YYMARKER = ++YYCURSOR);
13662 	if (yych <= 'R') {
13663 		if (yych <= '-') {
13664 			if (yych == ')') goto yy115;
13665 			if (yych <= ',') goto yy20;
13666 			goto yy297;
13667 		} else {
13668 			if (yych == '/') goto yy297;
13669 			if (yych <= '@') goto yy20;
13670 			goto yy658;
13671 		}
13672 	} else {
13673 		if (yych <= '_') {
13674 			if (yych <= 'S') goto yy712;
13675 			if (yych <= 'Z') goto yy658;
13676 			if (yych <= '^') goto yy20;
13677 			goto yy297;
13678 		} else {
13679 			if (yych <= 'r') {
13680 				if (yych <= '`') goto yy20;
13681 				goto yy663;
13682 			} else {
13683 				if (yych <= 's') goto yy716;
13684 				if (yych <= 'z') goto yy663;
13685 				goto yy20;
13686 			}
13687 		}
13688 	}
13689 yy550:
13690 	YYDEBUG(550, *YYCURSOR);
13691 	yyaccept = 2;
13692 	yych = *(YYMARKER = ++YYCURSOR);
13693 	if (yych <= 'X') {
13694 		if (yych <= '-') {
13695 			if (yych == ')') goto yy115;
13696 			if (yych <= ',') goto yy20;
13697 			goto yy297;
13698 		} else {
13699 			if (yych == '/') goto yy297;
13700 			if (yych <= '@') goto yy20;
13701 			goto yy658;
13702 		}
13703 	} else {
13704 		if (yych <= '_') {
13705 			if (yych <= 'Y') goto yy721;
13706 			if (yych <= 'Z') goto yy658;
13707 			if (yych <= '^') goto yy20;
13708 			goto yy297;
13709 		} else {
13710 			if (yych <= 'x') {
13711 				if (yych <= '`') goto yy20;
13712 				goto yy663;
13713 			} else {
13714 				if (yych <= 'y') goto yy725;
13715 				if (yych <= 'z') goto yy663;
13716 				goto yy20;
13717 			}
13718 		}
13719 	}
13720 yy551:
13721 	YYDEBUG(551, *YYCURSOR);
13722 	yyaccept = 2;
13723 	yych = *(YYMARKER = ++YYCURSOR);
13724 	if (yych <= 'Q') {
13725 		if (yych <= '-') {
13726 			if (yych == ')') goto yy115;
13727 			if (yych <= ',') goto yy20;
13728 			goto yy297;
13729 		} else {
13730 			if (yych == '/') goto yy297;
13731 			if (yych <= '@') goto yy20;
13732 			goto yy658;
13733 		}
13734 	} else {
13735 		if (yych <= '_') {
13736 			if (yych <= 'R') goto yy723;
13737 			if (yych <= 'Z') goto yy658;
13738 			if (yych <= '^') goto yy20;
13739 			goto yy297;
13740 		} else {
13741 			if (yych <= 'q') {
13742 				if (yych <= '`') goto yy20;
13743 				goto yy663;
13744 			} else {
13745 				if (yych <= 'r') goto yy726;
13746 				if (yych <= 'z') goto yy663;
13747 				goto yy20;
13748 			}
13749 		}
13750 	}
13751 yy552:
13752 	YYDEBUG(552, *YYCURSOR);
13753 	yyaccept = 2;
13754 	yych = *(YYMARKER = ++YYCURSOR);
13755 	if (yych <= 'C') {
13756 		if (yych <= '-') {
13757 			if (yych == ')') goto yy115;
13758 			if (yych <= ',') goto yy20;
13759 			goto yy297;
13760 		} else {
13761 			if (yych == '/') goto yy297;
13762 			if (yych <= '@') goto yy20;
13763 			goto yy658;
13764 		}
13765 	} else {
13766 		if (yych <= '_') {
13767 			if (yych <= 'D') goto yy724;
13768 			if (yych <= 'Z') goto yy658;
13769 			if (yych <= '^') goto yy20;
13770 			goto yy297;
13771 		} else {
13772 			if (yych <= 'c') {
13773 				if (yych <= '`') goto yy20;
13774 				goto yy663;
13775 			} else {
13776 				if (yych <= 'd') goto yy727;
13777 				if (yych <= 'z') goto yy663;
13778 				goto yy20;
13779 			}
13780 		}
13781 	}
13782 yy553:
13783 	YYDEBUG(553, *YYCURSOR);
13784 	yyaccept = 2;
13785 	yych = *(YYMARKER = ++YYCURSOR);
13786 	if (yych <= 'E') {
13787 		if (yych <= '-') {
13788 			if (yych == ')') goto yy115;
13789 			if (yych <= ',') goto yy20;
13790 			goto yy297;
13791 		} else {
13792 			if (yych == '/') goto yy297;
13793 			if (yych <= '@') goto yy20;
13794 			goto yy658;
13795 		}
13796 	} else {
13797 		if (yych <= '_') {
13798 			if (yych <= 'F') goto yy715;
13799 			if (yych <= 'Z') goto yy658;
13800 			if (yych <= '^') goto yy20;
13801 			goto yy297;
13802 		} else {
13803 			if (yych <= 'e') {
13804 				if (yych <= '`') goto yy20;
13805 				goto yy663;
13806 			} else {
13807 				if (yych <= 'f') goto yy719;
13808 				if (yych <= 'z') goto yy663;
13809 				goto yy20;
13810 			}
13811 		}
13812 	}
13813 yy554:
13814 	YYDEBUG(554, *YYCURSOR);
13815 	yyaccept = 2;
13816 	yych = *(YYMARKER = ++YYCURSOR);
13817 	if (yych <= ',') {
13818 		if (yych <= 0x1F) {
13819 			if (yych == '\t') goto yy142;
13820 			goto yy20;
13821 		} else {
13822 			if (yych <= ' ') goto yy142;
13823 			if (yych == ')') goto yy115;
13824 			goto yy20;
13825 		}
13826 	} else {
13827 		if (yych <= '@') {
13828 			if (yych == '/') goto yy20;
13829 			if (yych <= '9') goto yy142;
13830 			goto yy20;
13831 		} else {
13832 			if (yych <= 'Z') goto yy658;
13833 			if (yych <= '`') goto yy20;
13834 			if (yych <= 'z') goto yy658;
13835 			goto yy20;
13836 		}
13837 	}
13838 yy555:
13839 	YYDEBUG(555, *YYCURSOR);
13840 	yych = *++YYCURSOR;
13841 	if (yych <= 'E') {
13842 		if (yych <= ')') {
13843 			if (yych <= '(') goto yy20;
13844 			goto yy115;
13845 		} else {
13846 			if (yych <= '@') goto yy20;
13847 			if (yych <= 'D') goto yy658;
13848 			goto yy728;
13849 		}
13850 	} else {
13851 		if (yych <= 'd') {
13852 			if (yych <= 'Z') goto yy658;
13853 			if (yych <= '`') goto yy20;
13854 			goto yy658;
13855 		} else {
13856 			if (yych <= 'e') goto yy728;
13857 			if (yych <= 'z') goto yy658;
13858 			goto yy20;
13859 		}
13860 	}
13861 yy556:
13862 	YYDEBUG(556, *YYCURSOR);
13863 	yyaccept = 2;
13864 	yych = *(YYMARKER = ++YYCURSOR);
13865 	if (yych <= 'D') {
13866 		if (yych <= '-') {
13867 			if (yych == ')') goto yy115;
13868 			if (yych <= ',') goto yy20;
13869 			goto yy297;
13870 		} else {
13871 			if (yych == '/') goto yy297;
13872 			if (yych <= '@') goto yy20;
13873 			goto yy658;
13874 		}
13875 	} else {
13876 		if (yych <= '_') {
13877 			if (yych <= 'E') goto yy728;
13878 			if (yych <= 'Z') goto yy658;
13879 			if (yych <= '^') goto yy20;
13880 			goto yy297;
13881 		} else {
13882 			if (yych <= 'd') {
13883 				if (yych <= '`') goto yy20;
13884 				goto yy663;
13885 			} else {
13886 				if (yych <= 'e') goto yy729;
13887 				if (yych <= 'z') goto yy663;
13888 				goto yy20;
13889 			}
13890 		}
13891 	}
13892 yy557:
13893 	YYDEBUG(557, *YYCURSOR);
13894 	yych = *++YYCURSOR;
13895 	if (yych <= 'E') {
13896 		if (yych <= ')') {
13897 			if (yych <= '(') goto yy20;
13898 			goto yy115;
13899 		} else {
13900 			if (yych <= '@') goto yy20;
13901 			if (yych <= 'D') goto yy658;
13902 			goto yy730;
13903 		}
13904 	} else {
13905 		if (yych <= 'd') {
13906 			if (yych <= 'Z') goto yy658;
13907 			if (yych <= '`') goto yy20;
13908 			goto yy658;
13909 		} else {
13910 			if (yych <= 'e') goto yy730;
13911 			if (yych <= 'z') goto yy658;
13912 			goto yy20;
13913 		}
13914 	}
13915 yy558:
13916 	YYDEBUG(558, *YYCURSOR);
13917 	yyaccept = 2;
13918 	yych = *(YYMARKER = ++YYCURSOR);
13919 	if (yych <= 'D') {
13920 		if (yych <= '-') {
13921 			if (yych == ')') goto yy115;
13922 			if (yych <= ',') goto yy20;
13923 			goto yy297;
13924 		} else {
13925 			if (yych == '/') goto yy297;
13926 			if (yych <= '@') goto yy20;
13927 			goto yy658;
13928 		}
13929 	} else {
13930 		if (yych <= '_') {
13931 			if (yych <= 'E') goto yy730;
13932 			if (yych <= 'Z') goto yy658;
13933 			if (yych <= '^') goto yy20;
13934 			goto yy297;
13935 		} else {
13936 			if (yych <= 'd') {
13937 				if (yych <= '`') goto yy20;
13938 				goto yy663;
13939 			} else {
13940 				if (yych <= 'e') goto yy731;
13941 				if (yych <= 'z') goto yy663;
13942 				goto yy20;
13943 			}
13944 		}
13945 	}
13946 yy559:
13947 	YYDEBUG(559, *YYCURSOR);
13948 	++YYCURSOR;
13949 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
13950 	yych = *YYCURSOR;
13951 	if (yych == 0x80) goto yy194;
13952 	goto yy59;
13953 yy560:
13954 	YYDEBUG(560, *YYCURSOR);
13955 	yych = *++YYCURSOR;
13956 	if (yych <= 0xC1) {
13957 		if (yych <= '/') goto yy196;
13958 		if (yych <= '9') goto yy594;
13959 		goto yy196;
13960 	} else {
13961 		if (yych <= 0xC2) goto yy97;
13962 		if (yych == 0xE2) goto yy98;
13963 		goto yy196;
13964 	}
13965 yy561:
13966 	YYDEBUG(561, *YYCURSOR);
13967 	yyaccept = 2;
13968 	yych = *(YYMARKER = ++YYCURSOR);
13969 	if (yych <= 'V') {
13970 		if (yych <= '9') {
13971 			if (yych <= ',') {
13972 				if (yych <= '\t') {
13973 					if (yych <= 0x08) goto yy20;
13974 					goto yy196;
13975 				} else {
13976 					if (yych == ' ') goto yy196;
13977 					goto yy20;
13978 				}
13979 			} else {
13980 				if (yych <= '/') {
13981 					if (yych <= '-') goto yy732;
13982 					goto yy20;
13983 				} else {
13984 					if (yych <= '5') goto yy733;
13985 					if (yych <= '6') goto yy734;
13986 					goto yy735;
13987 				}
13988 			}
13989 		} else {
13990 			if (yych <= 'G') {
13991 				if (yych <= 'D') {
13992 					if (yych <= 'C') goto yy20;
13993 					goto yy196;
13994 				} else {
13995 					if (yych == 'F') goto yy196;
13996 					goto yy20;
13997 				}
13998 			} else {
13999 				if (yych <= 'M') {
14000 					if (yych <= 'H') goto yy196;
14001 					if (yych <= 'L') goto yy20;
14002 					goto yy196;
14003 				} else {
14004 					if (yych <= 'R') goto yy20;
14005 					if (yych <= 'U') goto yy196;
14006 					goto yy20;
14007 				}
14008 			}
14009 		}
14010 	} else {
14011 		if (yych <= 'm') {
14012 			if (yych <= 'd') {
14013 				if (yych <= 'X') {
14014 					if (yych <= 'W') goto yy196;
14015 					goto yy20;
14016 				} else {
14017 					if (yych <= 'Y') goto yy196;
14018 					if (yych <= 'c') goto yy20;
14019 					goto yy196;
14020 				}
14021 			} else {
14022 				if (yych <= 'g') {
14023 					if (yych == 'f') goto yy196;
14024 					goto yy20;
14025 				} else {
14026 					if (yych <= 'h') goto yy196;
14027 					if (yych <= 'l') goto yy20;
14028 					goto yy196;
14029 				}
14030 			}
14031 		} else {
14032 			if (yych <= 'x') {
14033 				if (yych <= 'u') {
14034 					if (yych <= 'r') goto yy20;
14035 					goto yy196;
14036 				} else {
14037 					if (yych == 'w') goto yy196;
14038 					goto yy20;
14039 				}
14040 			} else {
14041 				if (yych <= 0xC2) {
14042 					if (yych <= 'y') goto yy196;
14043 					if (yych <= 0xC1) goto yy20;
14044 					goto yy97;
14045 				} else {
14046 					if (yych == 0xE2) goto yy98;
14047 					goto yy20;
14048 				}
14049 			}
14050 		}
14051 	}
14052 yy562:
14053 	YYDEBUG(562, *YYCURSOR);
14054 	yych = *++YYCURSOR;
14055 	if (yych <= '9') {
14056 		if (yych == '-') goto yy732;
14057 		if (yych <= '/') goto yy196;
14058 		goto yy735;
14059 	} else {
14060 		if (yych <= 0xC2) {
14061 			if (yych <= 0xC1) goto yy196;
14062 			goto yy97;
14063 		} else {
14064 			if (yych == 0xE2) goto yy98;
14065 			goto yy196;
14066 		}
14067 	}
14068 yy563:
14069 	YYDEBUG(563, *YYCURSOR);
14070 	yych = *++YYCURSOR;
14071 	if (yych <= '/') goto yy20;
14072 	if (yych <= '9') goto yy736;
14073 	goto yy20;
14074 yy564:
14075 	YYDEBUG(564, *YYCURSOR);
14076 	yych = *++YYCURSOR;
14077 	if (yych <= '/') goto yy59;
14078 	if (yych <= '9') goto yy737;
14079 	goto yy59;
14080 yy565:
14081 	YYDEBUG(565, *YYCURSOR);
14082 	yych = *++YYCURSOR;
14083 	if (yych <= '/') goto yy59;
14084 	if (yych <= '9') goto yy738;
14085 	goto yy59;
14086 yy566:
14087 	YYDEBUG(566, *YYCURSOR);
14088 	yyaccept = 15;
14089 	yych = *(YYMARKER = ++YYCURSOR);
14090 	if (yych <= 'n') {
14091 		if (yych <= '/') goto yy567;
14092 		if (yych <= '9') goto yy740;
14093 		if (yych >= 'n') goto yy741;
14094 	} else {
14095 		if (yych <= 'r') {
14096 			if (yych >= 'r') goto yy741;
14097 		} else {
14098 			if (yych <= 's') goto yy742;
14099 			if (yych <= 't') goto yy743;
14100 		}
14101 	}
14102 yy567:
14103 	YYDEBUG(567, *YYCURSOR);
14104 #line 1535 "ext/date/lib/parse_date.re"
14105 	{
14106 		int length = 0;
14107 		DEBUG_OUTPUT("gnudateshort");
14108 		TIMELIB_INIT;
14109 		TIMELIB_HAVE_DATE();
14110 		s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
14111 		s->time->m = timelib_get_nr(&ptr, 2);
14112 		s->time->d = timelib_get_nr(&ptr, 2);
14113 		TIMELIB_PROCESS_YEAR(s->time->y, length);
14114 		TIMELIB_DEINIT;
14115 		return TIMELIB_ISO_DATE;
14116 	}
14117 #line 14118 "<stdout>"
14118 yy568:
14119 	YYDEBUG(568, *YYCURSOR);
14120 	yyaccept = 15;
14121 	yych = *(YYMARKER = ++YYCURSOR);
14122 	if (yych <= 'n') {
14123 		if (yych <= '1') {
14124 			if (yych <= '/') goto yy567;
14125 			goto yy740;
14126 		} else {
14127 			if (yych <= '9') goto yy737;
14128 			if (yych <= 'm') goto yy567;
14129 			goto yy741;
14130 		}
14131 	} else {
14132 		if (yych <= 'r') {
14133 			if (yych <= 'q') goto yy567;
14134 			goto yy741;
14135 		} else {
14136 			if (yych <= 's') goto yy742;
14137 			if (yych <= 't') goto yy743;
14138 			goto yy567;
14139 		}
14140 	}
14141 yy569:
14142 	YYDEBUG(569, *YYCURSOR);
14143 	yyaccept = 15;
14144 	yych = *(YYMARKER = ++YYCURSOR);
14145 	if (yych <= 'n') {
14146 		if (yych <= '/') goto yy567;
14147 		if (yych <= '9') goto yy737;
14148 		if (yych <= 'm') goto yy567;
14149 		goto yy741;
14150 	} else {
14151 		if (yych <= 'r') {
14152 			if (yych <= 'q') goto yy567;
14153 			goto yy741;
14154 		} else {
14155 			if (yych <= 's') goto yy742;
14156 			if (yych <= 't') goto yy743;
14157 			goto yy567;
14158 		}
14159 	}
14160 yy570:
14161 	YYDEBUG(570, *YYCURSOR);
14162 	yyaccept = 4;
14163 	yych = *(YYMARKER = ++YYCURSOR);
14164 	if (yych == '.') goto yy744;
14165 	if (yych <= '/') goto yy177;
14166 	if (yych <= '9') goto yy745;
14167 	goto yy177;
14168 yy571:
14169 	YYDEBUG(571, *YYCURSOR);
14170 	yyaccept = 4;
14171 	yych = *(YYMARKER = ++YYCURSOR);
14172 	if (yych <= '/') {
14173 		if (yych == '.') goto yy744;
14174 		goto yy177;
14175 	} else {
14176 		if (yych <= '0') goto yy745;
14177 		if (yych <= '9') goto yy738;
14178 		goto yy177;
14179 	}
14180 yy572:
14181 	YYDEBUG(572, *YYCURSOR);
14182 	yyaccept = 4;
14183 	yych = *(YYMARKER = ++YYCURSOR);
14184 	if (yych == '.') goto yy744;
14185 	if (yych <= '/') goto yy177;
14186 	if (yych <= '9') goto yy738;
14187 	goto yy177;
14188 yy573:
14189 	YYDEBUG(573, *YYCURSOR);
14190 	yyaccept = 4;
14191 	yych = *(YYMARKER = ++YYCURSOR);
14192 	if (yych == '.') goto yy744;
14193 	if (yych <= '/') goto yy177;
14194 	if (yych <= '9') goto yy575;
14195 	goto yy177;
14196 yy574:
14197 	YYDEBUG(574, *YYCURSOR);
14198 	yyaccept = 4;
14199 	yych = *(YYMARKER = ++YYCURSOR);
14200 	if (yych == '.') goto yy744;
14201 	if (yych != '0') goto yy177;
14202 yy575:
14203 	YYDEBUG(575, *YYCURSOR);
14204 	yyaccept = 4;
14205 	yych = *(YYMARKER = ++YYCURSOR);
14206 	if (yych == '.') goto yy744;
14207 	goto yy177;
14208 yy576:
14209 	YYDEBUG(576, *YYCURSOR);
14210 	yych = *++YYCURSOR;
14211 	if (yych <= '/') goto yy224;
14212 	if (yych <= '9') goto yy746;
14213 	goto yy224;
14214 yy577:
14215 	YYDEBUG(577, *YYCURSOR);
14216 	yyaccept = 5;
14217 	yych = *(YYMARKER = ++YYCURSOR);
14218 	if (yych == '/') goto yy402;
14219 	goto yy224;
14220 yy578:
14221 	YYDEBUG(578, *YYCURSOR);
14222 	yych = *++YYCURSOR;
14223 	if (yych == '/') goto yy747;
14224 	goto yy59;
14225 yy579:
14226 	YYDEBUG(579, *YYCURSOR);
14227 	yych = *++YYCURSOR;
14228 	if (yych <= 'S') {
14229 		if (yych == '/') goto yy747;
14230 		goto yy59;
14231 	} else {
14232 		if (yych <= 'T') goto yy578;
14233 		if (yych == 't') goto yy578;
14234 		goto yy59;
14235 	}
14236 yy580:
14237 	YYDEBUG(580, *YYCURSOR);
14238 	yych = *++YYCURSOR;
14239 	if (yych <= ',') goto yy59;
14240 	if (yych <= '-') goto yy748;
14241 	if (yych <= '.') goto yy396;
14242 	goto yy59;
14243 yy581:
14244 	YYDEBUG(581, *YYCURSOR);
14245 	yych = *++YYCURSOR;
14246 	if (yych == '-') goto yy645;
14247 	if (yych <= '/') goto yy59;
14248 	if (yych <= '9') goto yy462;
14249 	goto yy59;
14250 yy582:
14251 	YYDEBUG(582, *YYCURSOR);
14252 	yych = *++YYCURSOR;
14253 	if (yych == '-') goto yy645;
14254 	if (yych <= '/') goto yy59;
14255 	if (yych <= '2') goto yy462;
14256 	goto yy59;
14257 yy583:
14258 	YYDEBUG(583, *YYCURSOR);
14259 	++YYCURSOR;
14260 	if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
14261 	yych = *YYCURSOR;
14262 yy584:
14263 	YYDEBUG(584, *YYCURSOR);
14264 	if (yych <= 'W') {
14265 		if (yych <= 'G') {
14266 			if (yych <= '.') {
14267 				if (yych <= 0x1F) {
14268 					if (yych == '\t') goto yy583;
14269 					goto yy59;
14270 				} else {
14271 					if (yych <= ' ') goto yy583;
14272 					if (yych <= ',') goto yy59;
14273 					goto yy749;
14274 				}
14275 			} else {
14276 				if (yych <= 'C') {
14277 					if (yych == 'A') goto yy596;
14278 					goto yy59;
14279 				} else {
14280 					if (yych <= 'D') goto yy597;
14281 					if (yych == 'F') goto yy598;
14282 					goto yy59;
14283 				}
14284 			}
14285 		} else {
14286 			if (yych <= 'N') {
14287 				if (yych <= 'J') {
14288 					if (yych <= 'H') goto yy79;
14289 					if (yych <= 'I') goto yy599;
14290 					goto yy601;
14291 				} else {
14292 					if (yych <= 'L') goto yy59;
14293 					if (yych <= 'M') goto yy602;
14294 					goto yy603;
14295 				}
14296 			} else {
14297 				if (yych <= 'S') {
14298 					if (yych <= 'O') goto yy604;
14299 					if (yych <= 'R') goto yy59;
14300 					goto yy605;
14301 				} else {
14302 					if (yych <= 'T') goto yy87;
14303 					if (yych <= 'U') goto yy88;
14304 					if (yych <= 'V') goto yy606;
14305 					goto yy90;
14306 				}
14307 			}
14308 		}
14309 	} else {
14310 		if (yych <= 'l') {
14311 			if (yych <= 'd') {
14312 				if (yych <= '`') {
14313 					if (yych <= 'X') goto yy608;
14314 					if (yych <= 'Y') goto yy92;
14315 					goto yy59;
14316 				} else {
14317 					if (yych <= 'a') goto yy596;
14318 					if (yych <= 'c') goto yy59;
14319 					goto yy597;
14320 				}
14321 			} else {
14322 				if (yych <= 'g') {
14323 					if (yych == 'f') goto yy598;
14324 					goto yy59;
14325 				} else {
14326 					if (yych <= 'h') goto yy79;
14327 					if (yych == 'j') goto yy601;
14328 					goto yy59;
14329 				}
14330 			}
14331 		} else {
14332 			if (yych <= 'u') {
14333 				if (yych <= 'o') {
14334 					if (yych <= 'm') goto yy602;
14335 					if (yych <= 'n') goto yy603;
14336 					goto yy604;
14337 				} else {
14338 					if (yych <= 'r') goto yy59;
14339 					if (yych <= 's') goto yy605;
14340 					if (yych <= 't') goto yy87;
14341 					goto yy88;
14342 				}
14343 			} else {
14344 				if (yych <= 'x') {
14345 					if (yych == 'w') goto yy90;
14346 					goto yy59;
14347 				} else {
14348 					if (yych <= 'y') goto yy92;
14349 					if (yych == 0xC2) goto yy211;
14350 					goto yy59;
14351 				}
14352 			}
14353 		}
14354 	}
14355 yy585:
14356 	YYDEBUG(585, *YYCURSOR);
14357 	yych = *++YYCURSOR;
14358 	switch (yych) {
14359 	case '0':	goto yy751;
14360 	case '1':	goto yy753;
14361 	case '2':	goto yy754;
14362 	case '3':	goto yy755;
14363 	case '4':
14364 	case '5':
14365 	case '6':
14366 	case '7':
14367 	case '8':
14368 	case '9':	goto yy756;
14369 	case 'A':
14370 	case 'a':	goto yy757;
14371 	case 'D':
14372 	case 'd':	goto yy758;
14373 	case 'F':
14374 	case 'f':	goto yy759;
14375 	case 'J':
14376 	case 'j':	goto yy760;
14377 	case 'M':
14378 	case 'm':	goto yy761;
14379 	case 'N':
14380 	case 'n':	goto yy762;
14381 	case 'O':
14382 	case 'o':	goto yy763;
14383 	case 'S':
14384 	case 's':	goto yy764;
14385 	case 'W':	goto yy765;
14386 	default:	goto yy750;
14387 	}
14388 yy586:
14389 	YYDEBUG(586, *YYCURSOR);
14390 	yych = *++YYCURSOR;
14391 	if (yych <= '/') goto yy750;
14392 	if (yych <= '0') goto yy766;
14393 	if (yych <= '2') goto yy767;
14394 	if (yych <= '3') goto yy768;
14395 	goto yy750;
14396 yy587:
14397 	YYDEBUG(587, *YYCURSOR);
14398 	yych = *++YYCURSOR;
14399 	if (yych <= '/') goto yy59;
14400 	if (yych <= '0') goto yy773;
14401 	if (yych <= '1') goto yy774;
14402 	if (yych <= '9') goto yy775;
14403 	goto yy59;
14404 yy588:
14405 	YYDEBUG(588, *YYCURSOR);
14406 	yych = *++YYCURSOR;
14407 	if (yych <= 0xC1) {
14408 		if (yych <= '/') goto yy196;
14409 		if (yych <= '0') goto yy776;
14410 		if (yych <= '9') goto yy778;
14411 		goto yy196;
14412 	} else {
14413 		if (yych <= 0xC2) goto yy97;
14414 		if (yych == 0xE2) goto yy98;
14415 		goto yy196;
14416 	}
14417 yy589:
14418 	YYDEBUG(589, *YYCURSOR);
14419 	yych = *++YYCURSOR;
14420 	if (yych <= 0xC1) {
14421 		if (yych <= '/') goto yy196;
14422 		if (yych <= '2') goto yy778;
14423 		if (yych <= '9') goto yy779;
14424 		goto yy196;
14425 	} else {
14426 		if (yych <= 0xC2) goto yy97;
14427 		if (yych == 0xE2) goto yy98;
14428 		goto yy196;
14429 	}
14430 yy590:
14431 	YYDEBUG(590, *YYCURSOR);
14432 	yych = *++YYCURSOR;
14433 	if (yych <= 0xC1) {
14434 		if (yych <= '/') goto yy196;
14435 		if (yych <= '9') goto yy779;
14436 		goto yy196;
14437 	} else {
14438 		if (yych <= 0xC2) goto yy97;
14439 		if (yych == 0xE2) goto yy98;
14440 		goto yy196;
14441 	}
14442 yy591:
14443 	YYDEBUG(591, *YYCURSOR);
14444 	yych = *++YYCURSOR;
14445 	if (yych <= '9') {
14446 		if (yych <= '/') goto yy196;
14447 		if (yych <= '5') goto yy779;
14448 		if (yych <= '6') goto yy780;
14449 		goto yy781;
14450 	} else {
14451 		if (yych <= 0xC2) {
14452 			if (yych <= 0xC1) goto yy196;
14453 			goto yy97;
14454 		} else {
14455 			if (yych == 0xE2) goto yy98;
14456 			goto yy196;
14457 		}
14458 	}
14459 yy592:
14460 	YYDEBUG(592, *YYCURSOR);
14461 	yych = *++YYCURSOR;
14462 	if (yych <= 0xC1) {
14463 		if (yych <= '/') goto yy196;
14464 		if (yych <= '9') goto yy781;
14465 		goto yy196;
14466 	} else {
14467 		if (yych <= 0xC2) goto yy97;
14468 		if (yych == 0xE2) goto yy98;
14469 		goto yy196;
14470 	}
14471 yy593:
14472 	YYDEBUG(593, *YYCURSOR);
14473 	yych = *++YYCURSOR;
14474 	if (yych <= 0xC1) {
14475 		if (yych <= '/') goto yy196;
14476 		if (yych <= '0') goto yy781;
14477 		if (yych <= '9') goto yy782;
14478 		goto yy196;
14479 	} else {
14480 		if (yych <= 0xC2) goto yy97;
14481 		if (yych == 0xE2) goto yy98;
14482 		goto yy196;
14483 	}
14484 yy594:
14485 	YYDEBUG(594, *YYCURSOR);
14486 	yych = *++YYCURSOR;
14487 	if (yych <= 0xC1) {
14488 		if (yych <= '/') goto yy196;
14489 		if (yych <= '9') goto yy782;
14490 		goto yy196;
14491 	} else {
14492 		if (yych <= 0xC2) goto yy97;
14493 		if (yych == 0xE2) goto yy98;
14494 		goto yy196;
14495 	}
14496 yy595:
14497 	YYDEBUG(595, *YYCURSOR);
14498 	yych = *++YYCURSOR;
14499 	if (yych <= '/') goto yy59;
14500 	if (yych <= '0') goto yy783;
14501 	if (yych <= '1') goto yy784;
14502 	goto yy59;
14503 yy596:
14504 	YYDEBUG(596, *YYCURSOR);
14505 	yych = *++YYCURSOR;
14506 	if (yych <= 'U') {
14507 		if (yych == 'P') goto yy785;
14508 		if (yych <= 'T') goto yy59;
14509 		goto yy786;
14510 	} else {
14511 		if (yych <= 'p') {
14512 			if (yych <= 'o') goto yy59;
14513 			goto yy785;
14514 		} else {
14515 			if (yych == 'u') goto yy786;
14516 			goto yy59;
14517 		}
14518 	}
14519 yy597:
14520 	YYDEBUG(597, *YYCURSOR);
14521 	yych = *++YYCURSOR;
14522 	if (yych <= 'E') {
14523 		if (yych == 'A') goto yy242;
14524 		if (yych <= 'D') goto yy59;
14525 		goto yy787;
14526 	} else {
14527 		if (yych <= 'a') {
14528 			if (yych <= '`') goto yy59;
14529 			goto yy242;
14530 		} else {
14531 			if (yych == 'e') goto yy787;
14532 			goto yy59;
14533 		}
14534 	}
14535 yy598:
14536 	YYDEBUG(598, *YYCURSOR);
14537 	yych = *++YYCURSOR;
14538 	if (yych <= 'R') {
14539 		if (yych <= 'N') {
14540 			if (yych == 'E') goto yy788;
14541 			goto yy59;
14542 		} else {
14543 			if (yych <= 'O') goto yy245;
14544 			if (yych <= 'Q') goto yy59;
14545 			goto yy246;
14546 		}
14547 	} else {
14548 		if (yych <= 'n') {
14549 			if (yych == 'e') goto yy788;
14550 			goto yy59;
14551 		} else {
14552 			if (yych <= 'o') goto yy245;
14553 			if (yych == 'r') goto yy246;
14554 			goto yy59;
14555 		}
14556 	}
14557 yy599:
14558 	YYDEBUG(599, *YYCURSOR);
14559 	yych = *++YYCURSOR;
14560 	if (yych <= 'U') {
14561 		if (yych == 'I') goto yy789;
14562 	} else {
14563 		if (yych == 'W') goto yy600;
14564 		if (yych <= 'X') goto yy790;
14565 	}
14566 yy600:
14567 	YYDEBUG(600, *YYCURSOR);
14568 #line 1604 "ext/date/lib/parse_date.re"
14569 	{
14570 		int length = 0;
14571 		DEBUG_OUTPUT("datenodayrev");
14572 		TIMELIB_INIT;
14573 		TIMELIB_HAVE_DATE();
14574 		s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
14575 		s->time->m = timelib_get_month(&ptr);
14576 		s->time->d = 1;
14577 		TIMELIB_PROCESS_YEAR(s->time->y, length);
14578 		TIMELIB_DEINIT;
14579 		return TIMELIB_DATE_NO_DAY;
14580 	}
14581 #line 14582 "<stdout>"
14582 yy601:
14583 	YYDEBUG(601, *YYCURSOR);
14584 	yych = *++YYCURSOR;
14585 	if (yych <= 'U') {
14586 		if (yych == 'A') goto yy791;
14587 		if (yych <= 'T') goto yy59;
14588 		goto yy792;
14589 	} else {
14590 		if (yych <= 'a') {
14591 			if (yych <= '`') goto yy59;
14592 			goto yy791;
14593 		} else {
14594 			if (yych == 'u') goto yy792;
14595 			goto yy59;
14596 		}
14597 	}
14598 yy602:
14599 	YYDEBUG(602, *YYCURSOR);
14600 	yych = *++YYCURSOR;
14601 	if (yych <= 'S') {
14602 		if (yych <= 'I') {
14603 			if (yych == 'A') goto yy793;
14604 			if (yych <= 'H') goto yy59;
14605 			goto yy257;
14606 		} else {
14607 			if (yych == 'O') goto yy258;
14608 			if (yych <= 'R') goto yy59;
14609 			goto yy259;
14610 		}
14611 	} else {
14612 		if (yych <= 'i') {
14613 			if (yych == 'a') goto yy793;
14614 			if (yych <= 'h') goto yy59;
14615 			goto yy257;
14616 		} else {
14617 			if (yych <= 'o') {
14618 				if (yych <= 'n') goto yy59;
14619 				goto yy258;
14620 			} else {
14621 				if (yych == 's') goto yy259;
14622 				goto yy59;
14623 			}
14624 		}
14625 	}
14626 yy603:
14627 	YYDEBUG(603, *YYCURSOR);
14628 	yych = *++YYCURSOR;
14629 	if (yych == 'O') goto yy794;
14630 	if (yych == 'o') goto yy794;
14631 	goto yy59;
14632 yy604:
14633 	YYDEBUG(604, *YYCURSOR);
14634 	yych = *++YYCURSOR;
14635 	if (yych == 'C') goto yy795;
14636 	if (yych == 'c') goto yy795;
14637 	goto yy59;
14638 yy605:
14639 	YYDEBUG(605, *YYCURSOR);
14640 	yych = *++YYCURSOR;
14641 	if (yych <= 'U') {
14642 		if (yych <= 'D') {
14643 			if (yych == 'A') goto yy263;
14644 			goto yy59;
14645 		} else {
14646 			if (yych <= 'E') goto yy796;
14647 			if (yych <= 'T') goto yy59;
14648 			goto yy265;
14649 		}
14650 	} else {
14651 		if (yych <= 'd') {
14652 			if (yych == 'a') goto yy263;
14653 			goto yy59;
14654 		} else {
14655 			if (yych <= 'e') goto yy796;
14656 			if (yych == 'u') goto yy265;
14657 			goto yy59;
14658 		}
14659 	}
14660 yy606:
14661 	YYDEBUG(606, *YYCURSOR);
14662 	yych = *++YYCURSOR;
14663 	if (yych == 'I') goto yy608;
14664 	goto yy600;
14665 yy607:
14666 	YYDEBUG(607, *YYCURSOR);
14667 	yych = *++YYCURSOR;
14668 	if (yych <= '5') {
14669 		if (yych <= '/') goto yy59;
14670 		if (yych <= '0') goto yy797;
14671 		if (yych <= '4') goto yy798;
14672 		goto yy799;
14673 	} else {
14674 		if (yych <= 'E') {
14675 			if (yych <= 'D') goto yy59;
14676 			goto yy269;
14677 		} else {
14678 			if (yych == 'e') goto yy269;
14679 			goto yy59;
14680 		}
14681 	}
14682 yy608:
14683 	YYDEBUG(608, *YYCURSOR);
14684 	yych = *++YYCURSOR;
14685 	if (yych == 'I') goto yy789;
14686 	goto yy600;
14687 yy609:
14688 	YYDEBUG(609, *YYCURSOR);
14689 	yych = *++YYCURSOR;
14690 	if (yych <= 0xC1) {
14691 		if (yych <= '/') goto yy196;
14692 		if (yych <= '0') goto yy800;
14693 		if (yych <= '9') goto yy801;
14694 		goto yy196;
14695 	} else {
14696 		if (yych <= 0xC2) goto yy97;
14697 		if (yych == 0xE2) goto yy98;
14698 		goto yy196;
14699 	}
14700 yy610:
14701 	YYDEBUG(610, *YYCURSOR);
14702 	yych = *++YYCURSOR;
14703 	if (yych <= 0xC1) {
14704 		if (yych <= '/') goto yy196;
14705 		if (yych <= '2') goto yy801;
14706 		if (yych <= '9') goto yy802;
14707 		goto yy196;
14708 	} else {
14709 		if (yych <= 0xC2) goto yy97;
14710 		if (yych == 0xE2) goto yy98;
14711 		goto yy196;
14712 	}
14713 yy611:
14714 	YYDEBUG(611, *YYCURSOR);
14715 	yych = *++YYCURSOR;
14716 	if (yych <= 0xC1) {
14717 		if (yych <= '/') goto yy196;
14718 		if (yych <= '9') goto yy802;
14719 		goto yy196;
14720 	} else {
14721 		if (yych <= 0xC2) goto yy97;
14722 		if (yych == 0xE2) goto yy98;
14723 		goto yy196;
14724 	}
14725 yy612:
14726 	YYDEBUG(612, *YYCURSOR);
14727 	yych = *++YYCURSOR;
14728 	if (yych <= '9') {
14729 		if (yych <= '/') goto yy196;
14730 		if (yych <= '5') goto yy802;
14731 		if (yych <= '6') goto yy803;
14732 		goto yy782;
14733 	} else {
14734 		if (yych <= 0xC2) {
14735 			if (yych <= 0xC1) goto yy196;
14736 			goto yy97;
14737 		} else {
14738 			if (yych == 0xE2) goto yy98;
14739 			goto yy196;
14740 		}
14741 	}
14742 yy613:
14743 	YYDEBUG(613, *YYCURSOR);
14744 	yych = *++YYCURSOR;
14745 	if (yych == 'L') goto yy253;
14746 	if (yych == 'l') goto yy253;
14747 	goto yy59;
14748 yy614:
14749 	YYDEBUG(614, *YYCURSOR);
14750 	yych = *++YYCURSOR;
14751 	if (yych == 'S') goto yy804;
14752 	if (yych == 's') goto yy804;
14753 	goto yy59;
14754 yy615:
14755 	YYDEBUG(615, *YYCURSOR);
14756 	++YYCURSOR;
14757 	goto yy260;
14758 yy616:
14759 	YYDEBUG(616, *YYCURSOR);
14760 	yych = *++YYCURSOR;
14761 	if (yych == 'M') goto yy626;
14762 	if (yych == 'm') goto yy626;
14763 	goto yy59;
14764 yy617:
14765 	YYDEBUG(617, *YYCURSOR);
14766 	yych = *++YYCURSOR;
14767 	if (yych == 'U') goto yy620;
14768 	if (yych == 'u') goto yy620;
14769 	goto yy59;
14770 yy618:
14771 	YYDEBUG(618, *YYCURSOR);
14772 	yych = *++YYCURSOR;
14773 	if (yych <= 'N') {
14774 		if (yych == 'H') goto yy805;
14775 		if (yych <= 'M') goto yy59;
14776 		goto yy806;
14777 	} else {
14778 		if (yych <= 'h') {
14779 			if (yych <= 'g') goto yy59;
14780 			goto yy805;
14781 		} else {
14782 			if (yych == 'n') goto yy806;
14783 			goto yy59;
14784 		}
14785 	}
14786 yy619:
14787 	YYDEBUG(619, *YYCURSOR);
14788 	yych = *++YYCURSOR;
14789 	if (yych <= '/') goto yy251;
14790 	if (yych <= '9') goto yy807;
14791 	goto yy251;
14792 yy620:
14793 	YYDEBUG(620, *YYCURSOR);
14794 	yych = *++YYCURSOR;
14795 	if (yych == 'A') goto yy808;
14796 	if (yych == 'a') goto yy808;
14797 	goto yy59;
14798 yy621:
14799 	YYDEBUG(621, *YYCURSOR);
14800 	yych = *++YYCURSOR;
14801 	if (yych == 'H') goto yy253;
14802 	if (yych == 'h') goto yy253;
14803 	goto yy59;
14804 yy622:
14805 	YYDEBUG(622, *YYCURSOR);
14806 	yych = *++YYCURSOR;
14807 	if (yych == 'O') goto yy809;
14808 	if (yych == 'o') goto yy809;
14809 	goto yy59;
14810 yy623:
14811 	YYDEBUG(623, *YYCURSOR);
14812 	yych = *++YYCURSOR;
14813 	if (yych == 'I') goto yy809;
14814 	if (yych == 'i') goto yy809;
14815 	goto yy59;
14816 yy624:
14817 	YYDEBUG(624, *YYCURSOR);
14818 	yych = *++YYCURSOR;
14819 	if (yych == 'T') goto yy810;
14820 	if (yych == 't') goto yy810;
14821 	goto yy59;
14822 yy625:
14823 	YYDEBUG(625, *YYCURSOR);
14824 	yych = *++YYCURSOR;
14825 	if (yych == 'H') goto yy425;
14826 	if (yych == 'h') goto yy425;
14827 	goto yy59;
14828 yy626:
14829 	YYDEBUG(626, *YYCURSOR);
14830 	yych = *++YYCURSOR;
14831 	if (yych == 'B') goto yy811;
14832 	if (yych == 'b') goto yy811;
14833 	goto yy59;
14834 yy627:
14835 	YYDEBUG(627, *YYCURSOR);
14836 	yych = *++YYCURSOR;
14837 	if (yych == 'R') goto yy630;
14838 	if (yych == 'r') goto yy630;
14839 	goto yy59;
14840 yy628:
14841 	YYDEBUG(628, *YYCURSOR);
14842 	yych = *++YYCURSOR;
14843 	if (yych == 'N') goto yy812;
14844 	if (yych == 'n') goto yy812;
14845 	goto yy59;
14846 yy629:
14847 	YYDEBUG(629, *YYCURSOR);
14848 	yych = *++YYCURSOR;
14849 	if (yych == 'S') goto yy630;
14850 	if (yych != 's') goto yy59;
14851 yy630:
14852 	YYDEBUG(630, *YYCURSOR);
14853 	yych = *++YYCURSOR;
14854 	if (yych == 'D') goto yy198;
14855 	if (yych == 'd') goto yy198;
14856 	goto yy59;
14857 yy631:
14858 	YYDEBUG(631, *YYCURSOR);
14859 	yych = *++YYCURSOR;
14860 	if (yych == 'E') goto yy629;
14861 	if (yych == 'e') goto yy629;
14862 	goto yy59;
14863 yy632:
14864 	YYDEBUG(632, *YYCURSOR);
14865 	yyaccept = 6;
14866 	yych = *(YYMARKER = ++YYCURSOR);
14867 	if (yych <= 'S') {
14868 		if (yych == 'D') goto yy198;
14869 		if (yych <= 'R') goto yy260;
14870 		goto yy615;
14871 	} else {
14872 		if (yych <= 'd') {
14873 			if (yych <= 'c') goto yy260;
14874 			goto yy198;
14875 		} else {
14876 			if (yych == 's') goto yy615;
14877 			goto yy260;
14878 		}
14879 	}
14880 yy633:
14881 	YYDEBUG(633, *YYCURSOR);
14882 	yych = *++YYCURSOR;
14883 	if (yych <= ',') goto yy59;
14884 	if (yych <= '.') goto yy396;
14885 	if (yych <= '/') goto yy59;
14886 	if (yych <= '9') goto yy635;
14887 	goto yy59;
14888 yy634:
14889 	YYDEBUG(634, *YYCURSOR);
14890 	yych = *++YYCURSOR;
14891 	if (yych <= ',') goto yy59;
14892 	if (yych <= '.') goto yy396;
14893 	if (yych <= '/') goto yy59;
14894 	if (yych >= '3') goto yy59;
14895 yy635:
14896 	YYDEBUG(635, *YYCURSOR);
14897 	yych = *++YYCURSOR;
14898 	if (yych <= ',') goto yy59;
14899 	if (yych <= '.') goto yy396;
14900 	goto yy59;
14901 yy636:
14902 	YYDEBUG(636, *YYCURSOR);
14903 	yyaccept = 4;
14904 	yych = *(YYMARKER = ++YYCURSOR);
14905 	if (yych == '.') goto yy744;
14906 	if (yych <= '/') goto yy177;
14907 	if (yych <= '9') goto yy813;
14908 	goto yy177;
14909 yy637:
14910 	YYDEBUG(637, *YYCURSOR);
14911 	yyaccept = 4;
14912 	yych = *(YYMARKER = ++YYCURSOR);
14913 	if (yych <= '/') {
14914 		if (yych == '.') goto yy744;
14915 		goto yy177;
14916 	} else {
14917 		if (yych <= '0') goto yy813;
14918 		if (yych <= '9') goto yy738;
14919 		goto yy177;
14920 	}
14921 yy638:
14922 	YYDEBUG(638, *YYCURSOR);
14923 	++YYCURSOR;
14924 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
14925 	yych = *YYCURSOR;
14926 	YYDEBUG(639, *YYCURSOR);
14927 	if (yych <= 'A') {
14928 		if (yych <= 0x1F) {
14929 			if (yych == '\t') goto yy638;
14930 			goto yy59;
14931 		} else {
14932 			if (yych <= ' ') goto yy638;
14933 			if (yych <= '@') goto yy59;
14934 			goto yy106;
14935 		}
14936 	} else {
14937 		if (yych <= '`') {
14938 			if (yych == 'P') goto yy106;
14939 			goto yy59;
14940 		} else {
14941 			if (yych <= 'a') goto yy106;
14942 			if (yych == 'p') goto yy106;
14943 			goto yy59;
14944 		}
14945 	}
14946 yy640:
14947 	YYDEBUG(640, *YYCURSOR);
14948 	++YYCURSOR;
14949 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
14950 	yych = *YYCURSOR;
14951 	if (yych == 0xA0) goto yy814;
14952 	goto yy59;
14953 yy641:
14954 	YYDEBUG(641, *YYCURSOR);
14955 	++YYCURSOR;
14956 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
14957 	yych = *YYCURSOR;
14958 	if (yych == 0x80) goto yy815;
14959 	goto yy59;
14960 yy642:
14961 	YYDEBUG(642, *YYCURSOR);
14962 	yyaccept = 4;
14963 	yych = *(YYMARKER = ++YYCURSOR);
14964 	if (yych == '.') goto yy744;
14965 	if (yych <= '/') goto yy177;
14966 	if (yych <= '9') goto yy816;
14967 	goto yy177;
14968 yy643:
14969 	YYDEBUG(643, *YYCURSOR);
14970 	yyaccept = 4;
14971 	yych = *(YYMARKER = ++YYCURSOR);
14972 	if (yych == '.') goto yy744;
14973 	if (yych == '0') goto yy816;
14974 	goto yy177;
14975 yy644:
14976 	YYDEBUG(644, *YYCURSOR);
14977 	yych = *++YYCURSOR;
14978 	if (yych <= '/') goto yy59;
14979 	if (yych <= '5') goto yy817;
14980 	if (yych <= '6') goto yy818;
14981 	if (yych <= '9') goto yy575;
14982 	goto yy59;
14983 yy645:
14984 	YYDEBUG(645, *YYCURSOR);
14985 	yych = *++YYCURSOR;
14986 	if (yych <= '/') goto yy59;
14987 	if (yych <= '2') goto yy819;
14988 	if (yych <= '3') goto yy820;
14989 	if (yych <= '9') goto yy821;
14990 	goto yy59;
14991 yy646:
14992 	YYDEBUG(646, *YYCURSOR);
14993 	yych = *++YYCURSOR;
14994 	if (yych == '-') goto yy822;
14995 	goto yy59;
14996 yy647:
14997 	YYDEBUG(647, *YYCURSOR);
14998 	yych = *++YYCURSOR;
14999 	if (yych == 'R') goto yy823;
15000 	if (yych == 'r') goto yy823;
15001 	goto yy59;
15002 yy648:
15003 	YYDEBUG(648, *YYCURSOR);
15004 	yych = *++YYCURSOR;
15005 	if (yych == 'G') goto yy823;
15006 	if (yych == 'g') goto yy823;
15007 	goto yy59;
15008 yy649:
15009 	YYDEBUG(649, *YYCURSOR);
15010 	yych = *++YYCURSOR;
15011 	if (yych == 'C') goto yy823;
15012 	if (yych == 'c') goto yy823;
15013 	goto yy59;
15014 yy650:
15015 	YYDEBUG(650, *YYCURSOR);
15016 	yych = *++YYCURSOR;
15017 	if (yych == 'B') goto yy823;
15018 	if (yych == 'b') goto yy823;
15019 	goto yy59;
15020 yy651:
15021 	YYDEBUG(651, *YYCURSOR);
15022 	yych = *++YYCURSOR;
15023 	if (yych == 'N') goto yy823;
15024 	if (yych == 'n') goto yy823;
15025 	goto yy59;
15026 yy652:
15027 	YYDEBUG(652, *YYCURSOR);
15028 	yych = *++YYCURSOR;
15029 	if (yych <= 'N') {
15030 		if (yych == 'L') goto yy823;
15031 		if (yych <= 'M') goto yy59;
15032 		goto yy823;
15033 	} else {
15034 		if (yych <= 'l') {
15035 			if (yych <= 'k') goto yy59;
15036 			goto yy823;
15037 		} else {
15038 			if (yych == 'n') goto yy823;
15039 			goto yy59;
15040 		}
15041 	}
15042 yy653:
15043 	YYDEBUG(653, *YYCURSOR);
15044 	yych = *++YYCURSOR;
15045 	if (yych <= 'Y') {
15046 		if (yych == 'R') goto yy823;
15047 		if (yych <= 'X') goto yy59;
15048 		goto yy823;
15049 	} else {
15050 		if (yych <= 'r') {
15051 			if (yych <= 'q') goto yy59;
15052 			goto yy823;
15053 		} else {
15054 			if (yych == 'y') goto yy823;
15055 			goto yy59;
15056 		}
15057 	}
15058 yy654:
15059 	YYDEBUG(654, *YYCURSOR);
15060 	yych = *++YYCURSOR;
15061 	if (yych == 'V') goto yy823;
15062 	if (yych == 'v') goto yy823;
15063 	goto yy59;
15064 yy655:
15065 	YYDEBUG(655, *YYCURSOR);
15066 	yych = *++YYCURSOR;
15067 	if (yych == 'T') goto yy823;
15068 	if (yych == 't') goto yy823;
15069 	goto yy59;
15070 yy656:
15071 	YYDEBUG(656, *YYCURSOR);
15072 	yych = *++YYCURSOR;
15073 	if (yych == 'P') goto yy824;
15074 	if (yych == 'p') goto yy824;
15075 	goto yy59;
15076 yy657:
15077 	YYDEBUG(657, *YYCURSOR);
15078 	yych = *++YYCURSOR;
15079 	if (yych <= '/') goto yy290;
15080 	if (yych <= '9') goto yy825;
15081 	goto yy290;
15082 yy658:
15083 	YYDEBUG(658, *YYCURSOR);
15084 	yych = *++YYCURSOR;
15085 	if (yych <= '@') {
15086 		if (yych == ')') goto yy115;
15087 		goto yy20;
15088 	} else {
15089 		if (yych <= 'Z') goto yy826;
15090 		if (yych <= '`') goto yy20;
15091 		if (yych <= 'z') goto yy826;
15092 		goto yy20;
15093 	}
15094 yy659:
15095 	YYDEBUG(659, *YYCURSOR);
15096 	yych = *++YYCURSOR;
15097 	if (yych <= '9') {
15098 		if (yych <= ' ') {
15099 			if (yych <= 0x08) {
15100 				if (yych <= 0x00) goto yy324;
15101 				goto yy59;
15102 			} else {
15103 				if (yych <= '\t') goto yy326;
15104 				if (yych <= 0x1F) goto yy59;
15105 				goto yy326;
15106 			}
15107 		} else {
15108 			if (yych <= '-') {
15109 				if (yych == ',') goto yy326;
15110 				goto yy59;
15111 			} else {
15112 				if (yych <= '.') goto yy326;
15113 				if (yych <= '/') goto yy59;
15114 				goto yy827;
15115 			}
15116 		}
15117 	} else {
15118 		if (yych <= 'm') {
15119 			if (yych <= 'd') {
15120 				if (yych <= 'c') goto yy59;
15121 				goto yy326;
15122 			} else {
15123 				if (yych == 'h') goto yy326;
15124 				goto yy59;
15125 			}
15126 		} else {
15127 			if (yych <= 'r') {
15128 				if (yych <= 'n') goto yy329;
15129 				if (yych <= 'q') goto yy59;
15130 				goto yy329;
15131 			} else {
15132 				if (yych <= 's') goto yy330;
15133 				if (yych <= 't') goto yy331;
15134 				goto yy59;
15135 			}
15136 		}
15137 	}
15138 yy660:
15139 	YYDEBUG(660, *YYCURSOR);
15140 	yych = *++YYCURSOR;
15141 	if (yych <= '1') {
15142 		if (yych <= ' ') {
15143 			if (yych <= 0x08) {
15144 				if (yych <= 0x00) goto yy324;
15145 				goto yy59;
15146 			} else {
15147 				if (yych <= '\t') goto yy326;
15148 				if (yych <= 0x1F) goto yy59;
15149 				goto yy326;
15150 			}
15151 		} else {
15152 			if (yych <= '-') {
15153 				if (yych == ',') goto yy326;
15154 				goto yy59;
15155 			} else {
15156 				if (yych <= '.') goto yy326;
15157 				if (yych <= '/') goto yy59;
15158 				goto yy827;
15159 			}
15160 		}
15161 	} else {
15162 		if (yych <= 'm') {
15163 			if (yych <= 'd') {
15164 				if (yych <= '9') goto yy332;
15165 				if (yych <= 'c') goto yy59;
15166 				goto yy326;
15167 			} else {
15168 				if (yych == 'h') goto yy326;
15169 				goto yy59;
15170 			}
15171 		} else {
15172 			if (yych <= 'r') {
15173 				if (yych <= 'n') goto yy329;
15174 				if (yych <= 'q') goto yy59;
15175 				goto yy329;
15176 			} else {
15177 				if (yych <= 's') goto yy330;
15178 				if (yych <= 't') goto yy331;
15179 				goto yy59;
15180 			}
15181 		}
15182 	}
15183 yy661:
15184 	YYDEBUG(661, *YYCURSOR);
15185 	yyaccept = 7;
15186 	yych = *(YYMARKER = ++YYCURSOR);
15187 	if (yych <= ',') {
15188 		if (yych <= 0x1F) {
15189 			if (yych == '\t') goto yy142;
15190 			goto yy295;
15191 		} else {
15192 			if (yych <= ' ') goto yy142;
15193 			if (yych == ')') goto yy115;
15194 			goto yy295;
15195 		}
15196 	} else {
15197 		if (yych <= '@') {
15198 			if (yych == '/') goto yy295;
15199 			if (yych <= '9') goto yy142;
15200 			goto yy295;
15201 		} else {
15202 			if (yych <= 'Z') goto yy826;
15203 			if (yych <= '`') goto yy295;
15204 			if (yych <= 'z') goto yy826;
15205 			goto yy295;
15206 		}
15207 	}
15208 yy662:
15209 	YYDEBUG(662, *YYCURSOR);
15210 	yych = *++YYCURSOR;
15211 	if (yych <= 'T') {
15212 		if (yych <= ')') {
15213 			if (yych <= '(') goto yy20;
15214 			goto yy115;
15215 		} else {
15216 			if (yych <= '@') goto yy20;
15217 			if (yych <= 'S') goto yy826;
15218 			goto yy828;
15219 		}
15220 	} else {
15221 		if (yych <= 's') {
15222 			if (yych <= 'Z') goto yy826;
15223 			if (yych <= '`') goto yy20;
15224 			goto yy826;
15225 		} else {
15226 			if (yych <= 't') goto yy828;
15227 			if (yych <= 'z') goto yy826;
15228 			goto yy20;
15229 		}
15230 	}
15231 yy663:
15232 	YYDEBUG(663, *YYCURSOR);
15233 	yyaccept = 2;
15234 	yych = *(YYMARKER = ++YYCURSOR);
15235 	if (yych <= '/') {
15236 		if (yych <= ',') {
15237 			if (yych == ')') goto yy115;
15238 			goto yy20;
15239 		} else {
15240 			if (yych == '.') goto yy20;
15241 			goto yy297;
15242 		}
15243 	} else {
15244 		if (yych <= '^') {
15245 			if (yych <= '@') goto yy20;
15246 			if (yych <= 'Z') goto yy826;
15247 			goto yy20;
15248 		} else {
15249 			if (yych <= '_') goto yy297;
15250 			if (yych <= '`') goto yy20;
15251 			if (yych <= 'z') goto yy829;
15252 			goto yy20;
15253 		}
15254 	}
15255 yy664:
15256 	YYDEBUG(664, *YYCURSOR);
15257 	yyaccept = 7;
15258 	yych = *(YYMARKER = ++YYCURSOR);
15259 	if (yych <= '.') {
15260 		if (yych <= ' ') {
15261 			if (yych == '\t') goto yy142;
15262 			if (yych <= 0x1F) goto yy295;
15263 			goto yy142;
15264 		} else {
15265 			if (yych <= ')') {
15266 				if (yych <= '(') goto yy295;
15267 				goto yy115;
15268 			} else {
15269 				if (yych <= ',') goto yy295;
15270 				if (yych <= '-') goto yy700;
15271 				goto yy142;
15272 			}
15273 		}
15274 	} else {
15275 		if (yych <= 'Z') {
15276 			if (yych <= '/') goto yy297;
15277 			if (yych <= '9') goto yy142;
15278 			if (yych <= '@') goto yy295;
15279 			goto yy826;
15280 		} else {
15281 			if (yych <= '_') {
15282 				if (yych <= '^') goto yy295;
15283 				goto yy297;
15284 			} else {
15285 				if (yych <= '`') goto yy295;
15286 				if (yych <= 'z') goto yy829;
15287 				goto yy295;
15288 			}
15289 		}
15290 	}
15291 yy665:
15292 	YYDEBUG(665, *YYCURSOR);
15293 	yyaccept = 2;
15294 	yych = *(YYMARKER = ++YYCURSOR);
15295 	if (yych <= 'S') {
15296 		if (yych <= '-') {
15297 			if (yych == ')') goto yy115;
15298 			if (yych <= ',') goto yy20;
15299 			goto yy297;
15300 		} else {
15301 			if (yych == '/') goto yy297;
15302 			if (yych <= '@') goto yy20;
15303 			goto yy826;
15304 		}
15305 	} else {
15306 		if (yych <= '_') {
15307 			if (yych <= 'T') goto yy828;
15308 			if (yych <= 'Z') goto yy826;
15309 			if (yych <= '^') goto yy20;
15310 			goto yy297;
15311 		} else {
15312 			if (yych <= 's') {
15313 				if (yych <= '`') goto yy20;
15314 				goto yy829;
15315 			} else {
15316 				if (yych <= 't') goto yy830;
15317 				if (yych <= 'z') goto yy829;
15318 				goto yy20;
15319 			}
15320 		}
15321 	}
15322 yy666:
15323 	YYDEBUG(666, *YYCURSOR);
15324 	yych = *++YYCURSOR;
15325 	if (yych == 'O') goto yy831;
15326 	if (yych == 'o') goto yy831;
15327 	goto yy59;
15328 yy667:
15329 	YYDEBUG(667, *YYCURSOR);
15330 	yych = *++YYCURSOR;
15331 	if (yych <= 'B') {
15332 		if (yych <= ')') {
15333 			if (yych <= '(') goto yy20;
15334 			goto yy115;
15335 		} else {
15336 			if (yych <= '@') goto yy20;
15337 			if (yych <= 'A') goto yy826;
15338 			goto yy832;
15339 		}
15340 	} else {
15341 		if (yych <= 'a') {
15342 			if (yych <= 'Z') goto yy826;
15343 			if (yych <= '`') goto yy20;
15344 			goto yy826;
15345 		} else {
15346 			if (yych <= 'b') goto yy832;
15347 			if (yych <= 'z') goto yy826;
15348 			goto yy20;
15349 		}
15350 	}
15351 yy668:
15352 	YYDEBUG(668, *YYCURSOR);
15353 	yyaccept = 2;
15354 	yych = *(YYMARKER = ++YYCURSOR);
15355 	if (yych <= 'A') {
15356 		if (yych <= '-') {
15357 			if (yych == ')') goto yy115;
15358 			if (yych <= ',') goto yy20;
15359 			goto yy297;
15360 		} else {
15361 			if (yych == '/') goto yy297;
15362 			if (yych <= '@') goto yy20;
15363 			goto yy826;
15364 		}
15365 	} else {
15366 		if (yych <= '_') {
15367 			if (yych <= 'B') goto yy832;
15368 			if (yych <= 'Z') goto yy826;
15369 			if (yych <= '^') goto yy20;
15370 			goto yy297;
15371 		} else {
15372 			if (yych <= 'a') {
15373 				if (yych <= '`') goto yy20;
15374 				goto yy829;
15375 			} else {
15376 				if (yych <= 'b') goto yy833;
15377 				if (yych <= 'z') goto yy829;
15378 				goto yy20;
15379 			}
15380 		}
15381 	}
15382 yy669:
15383 	YYDEBUG(669, *YYCURSOR);
15384 	yyaccept = 2;
15385 	yych = *(YYMARKER = ++YYCURSOR);
15386 	if (yych <= 'H') {
15387 		if (yych <= ' ') {
15388 			if (yych == '\t') goto yy834;
15389 			if (yych <= 0x1F) goto yy20;
15390 			goto yy834;
15391 		} else {
15392 			if (yych <= ')') {
15393 				if (yych <= '(') goto yy20;
15394 				goto yy115;
15395 			} else {
15396 				if (yych <= '@') goto yy20;
15397 				if (yych <= 'G') goto yy826;
15398 				goto yy836;
15399 			}
15400 		}
15401 	} else {
15402 		if (yych <= 'z') {
15403 			if (yych <= '`') {
15404 				if (yych <= 'Z') goto yy826;
15405 				goto yy20;
15406 			} else {
15407 				if (yych == 'h') goto yy836;
15408 				goto yy826;
15409 			}
15410 		} else {
15411 			if (yych <= 0xC2) {
15412 				if (yych <= 0xC1) goto yy20;
15413 				goto yy837;
15414 			} else {
15415 				if (yych == 0xE2) goto yy838;
15416 				goto yy20;
15417 			}
15418 		}
15419 	}
15420 yy670:
15421 	YYDEBUG(670, *YYCURSOR);
15422 	yych = *++YYCURSOR;
15423 	if (yych <= 'N') {
15424 		if (yych <= ')') {
15425 			if (yych <= '(') goto yy20;
15426 			goto yy115;
15427 		} else {
15428 			if (yych <= '@') goto yy20;
15429 			if (yych <= 'M') goto yy826;
15430 			goto yy839;
15431 		}
15432 	} else {
15433 		if (yych <= 'm') {
15434 			if (yych <= 'Z') goto yy826;
15435 			if (yych <= '`') goto yy20;
15436 			goto yy826;
15437 		} else {
15438 			if (yych <= 'n') goto yy839;
15439 			if (yych <= 'z') goto yy826;
15440 			goto yy20;
15441 		}
15442 	}
15443 yy671:
15444 	YYDEBUG(671, *YYCURSOR);
15445 	yyaccept = 2;
15446 	yych = *(YYMARKER = ++YYCURSOR);
15447 	if (yych <= 'G') {
15448 		if (yych <= ')') {
15449 			if (yych <= 0x1F) {
15450 				if (yych == '\t') goto yy834;
15451 				goto yy20;
15452 			} else {
15453 				if (yych <= ' ') goto yy834;
15454 				if (yych <= '(') goto yy20;
15455 				goto yy115;
15456 			}
15457 		} else {
15458 			if (yych <= '.') {
15459 				if (yych == '-') goto yy297;
15460 				goto yy20;
15461 			} else {
15462 				if (yych <= '/') goto yy297;
15463 				if (yych <= '@') goto yy20;
15464 				goto yy826;
15465 			}
15466 		}
15467 	} else {
15468 		if (yych <= 'g') {
15469 			if (yych <= '^') {
15470 				if (yych <= 'H') goto yy836;
15471 				if (yych <= 'Z') goto yy826;
15472 				goto yy20;
15473 			} else {
15474 				if (yych <= '_') goto yy297;
15475 				if (yych <= '`') goto yy20;
15476 				goto yy829;
15477 			}
15478 		} else {
15479 			if (yych <= 0xC1) {
15480 				if (yych <= 'h') goto yy840;
15481 				if (yych <= 'z') goto yy829;
15482 				goto yy20;
15483 			} else {
15484 				if (yych <= 0xC2) goto yy837;
15485 				if (yych == 0xE2) goto yy838;
15486 				goto yy20;
15487 			}
15488 		}
15489 	}
15490 yy672:
15491 	YYDEBUG(672, *YYCURSOR);
15492 	yyaccept = 2;
15493 	yych = *(YYMARKER = ++YYCURSOR);
15494 	if (yych <= 'M') {
15495 		if (yych <= '-') {
15496 			if (yych == ')') goto yy115;
15497 			if (yych <= ',') goto yy20;
15498 			goto yy297;
15499 		} else {
15500 			if (yych == '/') goto yy297;
15501 			if (yych <= '@') goto yy20;
15502 			goto yy826;
15503 		}
15504 	} else {
15505 		if (yych <= '_') {
15506 			if (yych <= 'N') goto yy839;
15507 			if (yych <= 'Z') goto yy826;
15508 			if (yych <= '^') goto yy20;
15509 			goto yy297;
15510 		} else {
15511 			if (yych <= 'm') {
15512 				if (yych <= '`') goto yy20;
15513 				goto yy829;
15514 			} else {
15515 				if (yych <= 'n') goto yy841;
15516 				if (yych <= 'z') goto yy829;
15517 				goto yy20;
15518 			}
15519 		}
15520 	}
15521 yy673:
15522 	YYDEBUG(673, *YYCURSOR);
15523 	yych = *++YYCURSOR;
15524 	if (yych <= 'A') {
15525 		if (yych == ')') goto yy115;
15526 		if (yych <= '@') goto yy20;
15527 		goto yy842;
15528 	} else {
15529 		if (yych <= '`') {
15530 			if (yych <= 'Z') goto yy826;
15531 			goto yy20;
15532 		} else {
15533 			if (yych <= 'a') goto yy842;
15534 			if (yych <= 'z') goto yy826;
15535 			goto yy20;
15536 		}
15537 	}
15538 yy674:
15539 	YYDEBUG(674, *YYCURSOR);
15540 	yyaccept = 2;
15541 	yych = *(YYMARKER = ++YYCURSOR);
15542 	if (yych <= '@') {
15543 		if (yych <= 0x1F) {
15544 			if (yych == '\t') goto yy834;
15545 			goto yy20;
15546 		} else {
15547 			if (yych <= ' ') goto yy834;
15548 			if (yych == ')') goto yy115;
15549 			goto yy20;
15550 		}
15551 	} else {
15552 		if (yych <= 0xC1) {
15553 			if (yych <= 'Z') goto yy826;
15554 			if (yych <= '`') goto yy20;
15555 			if (yych <= 'z') goto yy826;
15556 			goto yy20;
15557 		} else {
15558 			if (yych <= 0xC2) goto yy837;
15559 			if (yych == 0xE2) goto yy838;
15560 			goto yy20;
15561 		}
15562 	}
15563 yy675:
15564 	YYDEBUG(675, *YYCURSOR);
15565 	yyaccept = 2;
15566 	yych = *(YYMARKER = ++YYCURSOR);
15567 	if (yych <= '@') {
15568 		if (yych <= 0x1F) {
15569 			if (yych == '\t') goto yy834;
15570 			goto yy20;
15571 		} else {
15572 			if (yych <= ' ') goto yy843;
15573 			if (yych == ')') goto yy115;
15574 			goto yy20;
15575 		}
15576 	} else {
15577 		if (yych <= 0xC1) {
15578 			if (yych <= 'Z') goto yy826;
15579 			if (yych <= '`') goto yy20;
15580 			if (yych <= 'z') goto yy826;
15581 			goto yy20;
15582 		} else {
15583 			if (yych <= 0xC2) goto yy837;
15584 			if (yych == 0xE2) goto yy838;
15585 			goto yy20;
15586 		}
15587 	}
15588 yy676:
15589 	YYDEBUG(676, *YYCURSOR);
15590 	yych = *++YYCURSOR;
15591 	if (yych <= 'H') {
15592 		if (yych <= ')') {
15593 			if (yych <= '(') goto yy20;
15594 			goto yy115;
15595 		} else {
15596 			if (yych <= '@') goto yy20;
15597 			if (yych <= 'G') goto yy826;
15598 			goto yy836;
15599 		}
15600 	} else {
15601 		if (yych <= 'g') {
15602 			if (yych <= 'Z') goto yy826;
15603 			if (yych <= '`') goto yy20;
15604 			goto yy826;
15605 		} else {
15606 			if (yych <= 'h') goto yy836;
15607 			if (yych <= 'z') goto yy826;
15608 			goto yy20;
15609 		}
15610 	}
15611 yy677:
15612 	YYDEBUG(677, *YYCURSOR);
15613 	yych = *++YYCURSOR;
15614 	if (yych <= 'Y') {
15615 		if (yych <= ')') {
15616 			if (yych <= '(') goto yy20;
15617 			goto yy115;
15618 		} else {
15619 			if (yych <= '@') goto yy20;
15620 			if (yych <= 'X') goto yy826;
15621 			goto yy844;
15622 		}
15623 	} else {
15624 		if (yych <= 'x') {
15625 			if (yych <= 'Z') goto yy826;
15626 			if (yych <= '`') goto yy20;
15627 			goto yy826;
15628 		} else {
15629 			if (yych <= 'y') goto yy844;
15630 			if (yych <= 'z') goto yy826;
15631 			goto yy20;
15632 		}
15633 	}
15634 yy678:
15635 	YYDEBUG(678, *YYCURSOR);
15636 	yyaccept = 2;
15637 	yych = *(YYMARKER = ++YYCURSOR);
15638 	if (yych <= ')') {
15639 		if (yych == ' ') goto yy666;
15640 		if (yych <= '(') goto yy20;
15641 		goto yy115;
15642 	} else {
15643 		if (yych <= 'Z') {
15644 			if (yych <= '@') goto yy20;
15645 			goto yy826;
15646 		} else {
15647 			if (yych <= '`') goto yy20;
15648 			if (yych <= 'z') goto yy826;
15649 			goto yy20;
15650 		}
15651 	}
15652 yy679:
15653 	YYDEBUG(679, *YYCURSOR);
15654 	yyaccept = 2;
15655 	yych = *(YYMARKER = ++YYCURSOR);
15656 	if (yych <= '@') {
15657 		if (yych <= ',') {
15658 			if (yych == ')') goto yy115;
15659 			goto yy20;
15660 		} else {
15661 			if (yych == '.') goto yy20;
15662 			if (yych <= '/') goto yy297;
15663 			goto yy20;
15664 		}
15665 	} else {
15666 		if (yych <= '_') {
15667 			if (yych <= 'A') goto yy842;
15668 			if (yych <= 'Z') goto yy826;
15669 			if (yych <= '^') goto yy20;
15670 			goto yy297;
15671 		} else {
15672 			if (yych <= '`') goto yy20;
15673 			if (yych <= 'a') goto yy845;
15674 			if (yych <= 'z') goto yy829;
15675 			goto yy20;
15676 		}
15677 	}
15678 yy680:
15679 	YYDEBUG(680, *YYCURSOR);
15680 	yyaccept = 2;
15681 	yych = *(YYMARKER = ++YYCURSOR);
15682 	if (yych <= '/') {
15683 		if (yych <= '(') {
15684 			if (yych <= '\t') {
15685 				if (yych <= 0x08) goto yy20;
15686 				goto yy834;
15687 			} else {
15688 				if (yych == ' ') goto yy834;
15689 				goto yy20;
15690 			}
15691 		} else {
15692 			if (yych <= ',') {
15693 				if (yych <= ')') goto yy115;
15694 				goto yy20;
15695 			} else {
15696 				if (yych == '.') goto yy20;
15697 				goto yy297;
15698 			}
15699 		}
15700 	} else {
15701 		if (yych <= '`') {
15702 			if (yych <= 'Z') {
15703 				if (yych <= '@') goto yy20;
15704 				goto yy826;
15705 			} else {
15706 				if (yych == '_') goto yy297;
15707 				goto yy20;
15708 			}
15709 		} else {
15710 			if (yych <= 0xC2) {
15711 				if (yych <= 'z') goto yy829;
15712 				if (yych <= 0xC1) goto yy20;
15713 				goto yy837;
15714 			} else {
15715 				if (yych == 0xE2) goto yy838;
15716 				goto yy20;
15717 			}
15718 		}
15719 	}
15720 yy681:
15721 	YYDEBUG(681, *YYCURSOR);
15722 	yyaccept = 2;
15723 	yych = *(YYMARKER = ++YYCURSOR);
15724 	if (yych <= '/') {
15725 		if (yych <= '(') {
15726 			if (yych <= '\t') {
15727 				if (yych <= 0x08) goto yy20;
15728 				goto yy834;
15729 			} else {
15730 				if (yych == ' ') goto yy843;
15731 				goto yy20;
15732 			}
15733 		} else {
15734 			if (yych <= ',') {
15735 				if (yych <= ')') goto yy115;
15736 				goto yy20;
15737 			} else {
15738 				if (yych == '.') goto yy20;
15739 				goto yy297;
15740 			}
15741 		}
15742 	} else {
15743 		if (yych <= '`') {
15744 			if (yych <= 'Z') {
15745 				if (yych <= '@') goto yy20;
15746 				goto yy826;
15747 			} else {
15748 				if (yych == '_') goto yy297;
15749 				goto yy20;
15750 			}
15751 		} else {
15752 			if (yych <= 0xC2) {
15753 				if (yych <= 'z') goto yy829;
15754 				if (yych <= 0xC1) goto yy20;
15755 				goto yy837;
15756 			} else {
15757 				if (yych == 0xE2) goto yy838;
15758 				goto yy20;
15759 			}
15760 		}
15761 	}
15762 yy682:
15763 	YYDEBUG(682, *YYCURSOR);
15764 	yyaccept = 2;
15765 	yych = *(YYMARKER = ++YYCURSOR);
15766 	if (yych <= 'G') {
15767 		if (yych <= '-') {
15768 			if (yych == ')') goto yy115;
15769 			if (yych <= ',') goto yy20;
15770 			goto yy297;
15771 		} else {
15772 			if (yych == '/') goto yy297;
15773 			if (yych <= '@') goto yy20;
15774 			goto yy826;
15775 		}
15776 	} else {
15777 		if (yych <= '_') {
15778 			if (yych <= 'H') goto yy836;
15779 			if (yych <= 'Z') goto yy826;
15780 			if (yych <= '^') goto yy20;
15781 			goto yy297;
15782 		} else {
15783 			if (yych <= 'g') {
15784 				if (yych <= '`') goto yy20;
15785 				goto yy829;
15786 			} else {
15787 				if (yych <= 'h') goto yy840;
15788 				if (yych <= 'z') goto yy829;
15789 				goto yy20;
15790 			}
15791 		}
15792 	}
15793 yy683:
15794 	YYDEBUG(683, *YYCURSOR);
15795 	yyaccept = 2;
15796 	yych = *(YYMARKER = ++YYCURSOR);
15797 	if (yych <= 'X') {
15798 		if (yych <= '-') {
15799 			if (yych == ')') goto yy115;
15800 			if (yych <= ',') goto yy20;
15801 			goto yy297;
15802 		} else {
15803 			if (yych == '/') goto yy297;
15804 			if (yych <= '@') goto yy20;
15805 			goto yy826;
15806 		}
15807 	} else {
15808 		if (yych <= '_') {
15809 			if (yych <= 'Y') goto yy844;
15810 			if (yych <= 'Z') goto yy826;
15811 			if (yych <= '^') goto yy20;
15812 			goto yy297;
15813 		} else {
15814 			if (yych <= 'x') {
15815 				if (yych <= '`') goto yy20;
15816 				goto yy829;
15817 			} else {
15818 				if (yych <= 'y') goto yy846;
15819 				if (yych <= 'z') goto yy829;
15820 				goto yy20;
15821 			}
15822 		}
15823 	}
15824 yy684:
15825 	YYDEBUG(684, *YYCURSOR);
15826 	yyaccept = 2;
15827 	yych = *(YYMARKER = ++YYCURSOR);
15828 	if (yych <= '.') {
15829 		if (yych <= '(') {
15830 			if (yych == ' ') goto yy666;
15831 			goto yy20;
15832 		} else {
15833 			if (yych <= ')') goto yy115;
15834 			if (yych == '-') goto yy297;
15835 			goto yy20;
15836 		}
15837 	} else {
15838 		if (yych <= '^') {
15839 			if (yych <= '/') goto yy297;
15840 			if (yych <= '@') goto yy20;
15841 			if (yych <= 'Z') goto yy826;
15842 			goto yy20;
15843 		} else {
15844 			if (yych <= '_') goto yy297;
15845 			if (yych <= '`') goto yy20;
15846 			if (yych <= 'z') goto yy829;
15847 			goto yy20;
15848 		}
15849 	}
15850 yy685:
15851 	YYDEBUG(685, *YYCURSOR);
15852 	yyaccept = 2;
15853 	yych = *(YYMARKER = ++YYCURSOR);
15854 	if (yych <= '/') goto yy20;
15855 	if (yych <= '9') goto yy847;
15856 	if (yych <= ':') goto yy203;
15857 	goto yy20;
15858 yy686:
15859 	YYDEBUG(686, *YYCURSOR);
15860 	yyaccept = 2;
15861 	yych = *(YYMARKER = ++YYCURSOR);
15862 	if (yych <= '5') {
15863 		if (yych <= '/') goto yy20;
15864 		if (yych <= '4') goto yy847;
15865 		goto yy394;
15866 	} else {
15867 		if (yych <= '9') goto yy115;
15868 		if (yych <= ':') goto yy203;
15869 		goto yy20;
15870 	}
15871 yy687:
15872 	YYDEBUG(687, *YYCURSOR);
15873 	yyaccept = 2;
15874 	yych = *(YYMARKER = ++YYCURSOR);
15875 	if (yych <= '/') goto yy20;
15876 	if (yych <= '5') goto yy394;
15877 	if (yych <= '9') goto yy115;
15878 	if (yych <= ':') goto yy203;
15879 	goto yy20;
15880 yy688:
15881 	YYDEBUG(688, *YYCURSOR);
15882 	yych = *++YYCURSOR;
15883 	if (yych <= '/') goto yy59;
15884 	if (yych <= '5') goto yy848;
15885 	if (yych <= '9') goto yy850;
15886 	goto yy59;
15887 yy689:
15888 	YYDEBUG(689, *YYCURSOR);
15889 	yych = *++YYCURSOR;
15890 	if (yych == '.') goto yy688;
15891 	if (yych == ':') goto yy688;
15892 	goto yy59;
15893 yy690:
15894 	YYDEBUG(690, *YYCURSOR);
15895 	yych = *++YYCURSOR;
15896 	if (yych <= '/') goto yy59;
15897 	if (yych <= '5') goto yy851;
15898 	if (yych <= '9') goto yy852;
15899 	goto yy59;
15900 yy691:
15901 	YYDEBUG(691, *YYCURSOR);
15902 	yych = *++YYCURSOR;
15903 	if (yych <= '/') {
15904 		if (yych == '.') goto yy688;
15905 		goto yy59;
15906 	} else {
15907 		if (yych <= '9') goto yy689;
15908 		if (yych <= ':') goto yy688;
15909 		goto yy59;
15910 	}
15911 yy692:
15912 	YYDEBUG(692, *YYCURSOR);
15913 	yych = *++YYCURSOR;
15914 	if (yych <= '/') {
15915 		if (yych == '.') goto yy688;
15916 		goto yy59;
15917 	} else {
15918 		if (yych <= '4') goto yy689;
15919 		if (yych == ':') goto yy688;
15920 		goto yy59;
15921 	}
15922 yy693:
15923 	YYDEBUG(693, *YYCURSOR);
15924 	yyaccept = 10;
15925 	yych = *(YYMARKER = ++YYCURSOR);
15926 	if (yych <= '/') {
15927 		if (yych == '.') goto yy688;
15928 		goto yy325;
15929 	} else {
15930 		if (yych <= '9') goto yy853;
15931 		if (yych <= ':') goto yy688;
15932 		goto yy325;
15933 	}
15934 yy694:
15935 	YYDEBUG(694, *YYCURSOR);
15936 	yyaccept = 10;
15937 	yych = *(YYMARKER = ++YYCURSOR);
15938 	if (yych <= '/') {
15939 		if (yych == '.') goto yy690;
15940 		goto yy325;
15941 	} else {
15942 		if (yych <= '9') goto yy853;
15943 		if (yych <= ':') goto yy690;
15944 		goto yy325;
15945 	}
15946 yy695:
15947 	YYDEBUG(695, *YYCURSOR);
15948 	yych = *++YYCURSOR;
15949 	if (yych <= '/') goto yy325;
15950 	if (yych <= '9') goto yy853;
15951 	goto yy325;
15952 yy696:
15953 	YYDEBUG(696, *YYCURSOR);
15954 	++YYCURSOR;
15955 	YYDEBUG(697, *YYCURSOR);
15956 #line 1590 "ext/date/lib/parse_date.re"
15957 	{
15958 		int length = 0;
15959 		DEBUG_OUTPUT("datenoday");
15960 		TIMELIB_INIT;
15961 		TIMELIB_HAVE_DATE();
15962 		s->time->m = timelib_get_month(&ptr);
15963 		s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
15964 		s->time->d = 1;
15965 		TIMELIB_PROCESS_YEAR(s->time->y, length);
15966 		TIMELIB_DEINIT;
15967 		return TIMELIB_DATE_NO_DAY;
15968 	}
15969 #line 15970 "<stdout>"
15970 yy698:
15971 	YYDEBUG(698, *YYCURSOR);
15972 	yych = *++YYCURSOR;
15973 	if (yych <= 'R') {
15974 		if (yych <= ')') {
15975 			if (yych <= '(') goto yy20;
15976 			goto yy115;
15977 		} else {
15978 			if (yych <= '@') goto yy20;
15979 			if (yych <= 'Q') goto yy826;
15980 			goto yy854;
15981 		}
15982 	} else {
15983 		if (yych <= 'q') {
15984 			if (yych <= 'Z') goto yy826;
15985 			if (yych <= '`') goto yy20;
15986 			goto yy826;
15987 		} else {
15988 			if (yych <= 'r') goto yy854;
15989 			if (yych <= 'z') goto yy826;
15990 			goto yy20;
15991 		}
15992 	}
15993 yy699:
15994 	YYDEBUG(699, *YYCURSOR);
15995 	yyaccept = 2;
15996 	yych = *(YYMARKER = ++YYCURSOR);
15997 	if (yych <= 'Q') {
15998 		if (yych <= '-') {
15999 			if (yych == ')') goto yy115;
16000 			if (yych <= ',') goto yy20;
16001 			goto yy297;
16002 		} else {
16003 			if (yych == '/') goto yy297;
16004 			if (yych <= '@') goto yy20;
16005 			goto yy826;
16006 		}
16007 	} else {
16008 		if (yych <= '_') {
16009 			if (yych <= 'R') goto yy854;
16010 			if (yych <= 'Z') goto yy826;
16011 			if (yych <= '^') goto yy20;
16012 			goto yy297;
16013 		} else {
16014 			if (yych <= 'q') {
16015 				if (yych <= '`') goto yy20;
16016 				goto yy829;
16017 			} else {
16018 				if (yych <= 'r') goto yy855;
16019 				if (yych <= 'z') goto yy829;
16020 				goto yy20;
16021 			}
16022 		}
16023 	}
16024 yy700:
16025 	YYDEBUG(700, *YYCURSOR);
16026 	yych = *++YYCURSOR;
16027 	if (yybm[0+yych] & 64) {
16028 		goto yy476;
16029 	}
16030 	goto yy142;
16031 yy701:
16032 	YYDEBUG(701, *YYCURSOR);
16033 	++YYCURSOR;
16034 	if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
16035 	yych = *YYCURSOR;
16036 yy702:
16037 	YYDEBUG(702, *YYCURSOR);
16038 	if (yych <= 'X') {
16039 		if (yych <= 'G') {
16040 			if (yych <= ' ') {
16041 				if (yych == '\t') goto yy701;
16042 				if (yych <= 0x1F) goto yy59;
16043 				goto yy701;
16044 			} else {
16045 				if (yych <= 'D') {
16046 					if (yych <= 'C') goto yy59;
16047 					goto yy856;
16048 				} else {
16049 					if (yych == 'F') goto yy857;
16050 					goto yy59;
16051 				}
16052 			}
16053 		} else {
16054 			if (yych <= 'S') {
16055 				if (yych <= 'L') {
16056 					if (yych <= 'H') goto yy858;
16057 					goto yy59;
16058 				} else {
16059 					if (yych <= 'M') goto yy859;
16060 					if (yych <= 'R') goto yy59;
16061 					goto yy860;
16062 				}
16063 			} else {
16064 				if (yych <= 'U') {
16065 					if (yych <= 'T') goto yy861;
16066 					goto yy862;
16067 				} else {
16068 					if (yych == 'W') goto yy863;
16069 					goto yy59;
16070 				}
16071 			}
16072 		}
16073 	} else {
16074 		if (yych <= 'r') {
16075 			if (yych <= 'f') {
16076 				if (yych <= 'c') {
16077 					if (yych <= 'Y') goto yy864;
16078 					goto yy59;
16079 				} else {
16080 					if (yych <= 'd') goto yy856;
16081 					if (yych <= 'e') goto yy59;
16082 					goto yy857;
16083 				}
16084 			} else {
16085 				if (yych <= 'h') {
16086 					if (yych <= 'g') goto yy59;
16087 					goto yy858;
16088 				} else {
16089 					if (yych == 'm') goto yy859;
16090 					goto yy59;
16091 				}
16092 			}
16093 		} else {
16094 			if (yych <= 'w') {
16095 				if (yych <= 't') {
16096 					if (yych <= 's') goto yy860;
16097 					goto yy861;
16098 				} else {
16099 					if (yych <= 'u') goto yy862;
16100 					if (yych <= 'v') goto yy59;
16101 					goto yy863;
16102 				}
16103 			} else {
16104 				if (yych <= 'y') {
16105 					if (yych <= 'x') goto yy59;
16106 					goto yy864;
16107 				} else {
16108 					if (yych == 0xC2) goto yy865;
16109 					goto yy59;
16110 				}
16111 			}
16112 		}
16113 	}
16114 yy703:
16115 	YYDEBUG(703, *YYCURSOR);
16116 	yych = *++YYCURSOR;
16117 	if (yych == 'D') goto yy866;
16118 	if (yych == 'd') goto yy866;
16119 	goto yy702;
16120 yy704:
16121 	YYDEBUG(704, *YYCURSOR);
16122 	yych = *++YYCURSOR;
16123 	if (yych == 0xA0) goto yy867;
16124 	goto yy59;
16125 yy705:
16126 	YYDEBUG(705, *YYCURSOR);
16127 	++YYCURSOR;
16128 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
16129 	yych = *YYCURSOR;
16130 	if (yych == 0x80) goto yy868;
16131 	goto yy59;
16132 yy706:
16133 	YYDEBUG(706, *YYCURSOR);
16134 	yych = *++YYCURSOR;
16135 	if (yych <= 'G') {
16136 		if (yych <= ')') {
16137 			if (yych <= '(') goto yy20;
16138 			goto yy115;
16139 		} else {
16140 			if (yych <= '@') goto yy20;
16141 			if (yych <= 'F') goto yy826;
16142 			goto yy869;
16143 		}
16144 	} else {
16145 		if (yych <= 'f') {
16146 			if (yych <= 'Z') goto yy826;
16147 			if (yych <= '`') goto yy20;
16148 			goto yy826;
16149 		} else {
16150 			if (yych <= 'g') goto yy869;
16151 			if (yych <= 'z') goto yy826;
16152 			goto yy20;
16153 		}
16154 	}
16155 yy707:
16156 	YYDEBUG(707, *YYCURSOR);
16157 	yyaccept = 2;
16158 	yych = *(YYMARKER = ++YYCURSOR);
16159 	if (yych <= 'F') {
16160 		if (yych <= '-') {
16161 			if (yych == ')') goto yy115;
16162 			if (yych <= ',') goto yy20;
16163 			goto yy297;
16164 		} else {
16165 			if (yych == '/') goto yy297;
16166 			if (yych <= '@') goto yy20;
16167 			goto yy826;
16168 		}
16169 	} else {
16170 		if (yych <= '_') {
16171 			if (yych <= 'G') goto yy869;
16172 			if (yych <= 'Z') goto yy826;
16173 			if (yych <= '^') goto yy20;
16174 			goto yy297;
16175 		} else {
16176 			if (yych <= 'f') {
16177 				if (yych <= '`') goto yy20;
16178 				goto yy829;
16179 			} else {
16180 				if (yych <= 'g') goto yy870;
16181 				if (yych <= 'z') goto yy829;
16182 				goto yy20;
16183 			}
16184 		}
16185 	}
16186 yy708:
16187 	YYDEBUG(708, *YYCURSOR);
16188 	yych = *++YYCURSOR;
16189 	if (yych <= 'E') {
16190 		if (yych <= ')') {
16191 			if (yych <= '(') goto yy20;
16192 			goto yy115;
16193 		} else {
16194 			if (yych <= '@') goto yy20;
16195 			if (yych <= 'D') goto yy826;
16196 			goto yy871;
16197 		}
16198 	} else {
16199 		if (yych <= 'd') {
16200 			if (yych <= 'Z') goto yy826;
16201 			if (yych <= '`') goto yy20;
16202 			goto yy826;
16203 		} else {
16204 			if (yych <= 'e') goto yy871;
16205 			if (yych <= 'z') goto yy826;
16206 			goto yy20;
16207 		}
16208 	}
16209 yy709:
16210 	YYDEBUG(709, *YYCURSOR);
16211 	yyaccept = 2;
16212 	yych = *(YYMARKER = ++YYCURSOR);
16213 	if (yych <= 'D') {
16214 		if (yych <= '-') {
16215 			if (yych == ')') goto yy115;
16216 			if (yych <= ',') goto yy20;
16217 			goto yy297;
16218 		} else {
16219 			if (yych == '/') goto yy297;
16220 			if (yych <= '@') goto yy20;
16221 			goto yy826;
16222 		}
16223 	} else {
16224 		if (yych <= '_') {
16225 			if (yych <= 'E') goto yy871;
16226 			if (yych <= 'Z') goto yy826;
16227 			if (yych <= '^') goto yy20;
16228 			goto yy297;
16229 		} else {
16230 			if (yych <= 'd') {
16231 				if (yych <= '`') goto yy20;
16232 				goto yy829;
16233 			} else {
16234 				if (yych <= 'e') goto yy872;
16235 				if (yych <= 'z') goto yy829;
16236 				goto yy20;
16237 			}
16238 		}
16239 	}
16240 yy710:
16241 	YYDEBUG(710, *YYCURSOR);
16242 	yych = *++YYCURSOR;
16243 	if (yych <= 'O') {
16244 		if (yych <= ')') {
16245 			if (yych <= '(') goto yy20;
16246 			goto yy115;
16247 		} else {
16248 			if (yych <= '@') goto yy20;
16249 			if (yych <= 'N') goto yy826;
16250 			goto yy873;
16251 		}
16252 	} else {
16253 		if (yych <= 'n') {
16254 			if (yych <= 'Z') goto yy826;
16255 			if (yych <= '`') goto yy20;
16256 			goto yy826;
16257 		} else {
16258 			if (yych <= 'o') goto yy873;
16259 			if (yych <= 'z') goto yy826;
16260 			goto yy20;
16261 		}
16262 	}
16263 yy711:
16264 	YYDEBUG(711, *YYCURSOR);
16265 	yyaccept = 2;
16266 	yych = *(YYMARKER = ++YYCURSOR);
16267 	if (yych <= 'N') {
16268 		if (yych <= '-') {
16269 			if (yych == ')') goto yy115;
16270 			if (yych <= ',') goto yy20;
16271 			goto yy297;
16272 		} else {
16273 			if (yych == '/') goto yy297;
16274 			if (yych <= '@') goto yy20;
16275 			goto yy826;
16276 		}
16277 	} else {
16278 		if (yych <= '_') {
16279 			if (yych <= 'O') goto yy873;
16280 			if (yych <= 'Z') goto yy826;
16281 			if (yych <= '^') goto yy20;
16282 			goto yy297;
16283 		} else {
16284 			if (yych <= 'n') {
16285 				if (yych <= '`') goto yy20;
16286 				goto yy829;
16287 			} else {
16288 				if (yych <= 'o') goto yy874;
16289 				if (yych <= 'z') goto yy829;
16290 				goto yy20;
16291 			}
16292 		}
16293 	}
16294 yy712:
16295 	YYDEBUG(712, *YYCURSOR);
16296 	yych = *++YYCURSOR;
16297 	if (yych <= 'D') {
16298 		if (yych <= ')') {
16299 			if (yych <= '(') goto yy20;
16300 			goto yy115;
16301 		} else {
16302 			if (yych <= '@') goto yy20;
16303 			if (yych <= 'C') goto yy826;
16304 			goto yy875;
16305 		}
16306 	} else {
16307 		if (yych <= 'c') {
16308 			if (yych <= 'Z') goto yy826;
16309 			if (yych <= '`') goto yy20;
16310 			goto yy826;
16311 		} else {
16312 			if (yych <= 'd') goto yy875;
16313 			if (yych <= 'z') goto yy826;
16314 			goto yy20;
16315 		}
16316 	}
16317 yy713:
16318 	YYDEBUG(713, *YYCURSOR);
16319 	yych = *++YYCURSOR;
16320 	if (yych <= 'D') {
16321 		if (yych <= ')') {
16322 			if (yych <= '(') goto yy20;
16323 			goto yy115;
16324 		} else {
16325 			if (yych <= '@') goto yy20;
16326 			if (yych <= 'C') goto yy826;
16327 			goto yy836;
16328 		}
16329 	} else {
16330 		if (yych <= 'c') {
16331 			if (yych <= 'Z') goto yy826;
16332 			if (yych <= '`') goto yy20;
16333 			goto yy826;
16334 		} else {
16335 			if (yych <= 'd') goto yy836;
16336 			if (yych <= 'z') goto yy826;
16337 			goto yy20;
16338 		}
16339 	}
16340 yy714:
16341 	YYDEBUG(714, *YYCURSOR);
16342 	yych = *++YYCURSOR;
16343 	if (yych <= 'M') {
16344 		if (yych <= ')') {
16345 			if (yych <= '(') goto yy20;
16346 			goto yy115;
16347 		} else {
16348 			if (yych <= '@') goto yy20;
16349 			if (yych <= 'L') goto yy826;
16350 			goto yy876;
16351 		}
16352 	} else {
16353 		if (yych <= 'l') {
16354 			if (yych <= 'Z') goto yy826;
16355 			if (yych <= '`') goto yy20;
16356 			goto yy826;
16357 		} else {
16358 			if (yych <= 'm') goto yy876;
16359 			if (yych <= 'z') goto yy826;
16360 			goto yy20;
16361 		}
16362 	}
16363 yy715:
16364 	YYDEBUG(715, *YYCURSOR);
16365 	yych = *++YYCURSOR;
16366 	if (yych <= 'T') {
16367 		if (yych <= ')') {
16368 			if (yych <= '(') goto yy20;
16369 			goto yy115;
16370 		} else {
16371 			if (yych <= '@') goto yy20;
16372 			if (yych <= 'S') goto yy826;
16373 			goto yy877;
16374 		}
16375 	} else {
16376 		if (yych <= 's') {
16377 			if (yych <= 'Z') goto yy826;
16378 			if (yych <= '`') goto yy20;
16379 			goto yy826;
16380 		} else {
16381 			if (yych <= 't') goto yy877;
16382 			if (yych <= 'z') goto yy826;
16383 			goto yy20;
16384 		}
16385 	}
16386 yy716:
16387 	YYDEBUG(716, *YYCURSOR);
16388 	yyaccept = 2;
16389 	yych = *(YYMARKER = ++YYCURSOR);
16390 	if (yych <= 'C') {
16391 		if (yych <= '-') {
16392 			if (yych == ')') goto yy115;
16393 			if (yych <= ',') goto yy20;
16394 			goto yy297;
16395 		} else {
16396 			if (yych == '/') goto yy297;
16397 			if (yych <= '@') goto yy20;
16398 			goto yy826;
16399 		}
16400 	} else {
16401 		if (yych <= '_') {
16402 			if (yych <= 'D') goto yy875;
16403 			if (yych <= 'Z') goto yy826;
16404 			if (yych <= '^') goto yy20;
16405 			goto yy297;
16406 		} else {
16407 			if (yych <= 'c') {
16408 				if (yych <= '`') goto yy20;
16409 				goto yy829;
16410 			} else {
16411 				if (yych <= 'd') goto yy878;
16412 				if (yych <= 'z') goto yy829;
16413 				goto yy20;
16414 			}
16415 		}
16416 	}
16417 yy717:
16418 	YYDEBUG(717, *YYCURSOR);
16419 	yyaccept = 2;
16420 	yych = *(YYMARKER = ++YYCURSOR);
16421 	if (yych <= 'C') {
16422 		if (yych <= '-') {
16423 			if (yych == ')') goto yy115;
16424 			if (yych <= ',') goto yy20;
16425 			goto yy297;
16426 		} else {
16427 			if (yych == '/') goto yy297;
16428 			if (yych <= '@') goto yy20;
16429 			goto yy826;
16430 		}
16431 	} else {
16432 		if (yych <= '_') {
16433 			if (yych <= 'D') goto yy836;
16434 			if (yych <= 'Z') goto yy826;
16435 			if (yych <= '^') goto yy20;
16436 			goto yy297;
16437 		} else {
16438 			if (yych <= 'c') {
16439 				if (yych <= '`') goto yy20;
16440 				goto yy829;
16441 			} else {
16442 				if (yych <= 'd') goto yy840;
16443 				if (yych <= 'z') goto yy829;
16444 				goto yy20;
16445 			}
16446 		}
16447 	}
16448 yy718:
16449 	YYDEBUG(718, *YYCURSOR);
16450 	yyaccept = 2;
16451 	yych = *(YYMARKER = ++YYCURSOR);
16452 	if (yych <= 'L') {
16453 		if (yych <= '-') {
16454 			if (yych == ')') goto yy115;
16455 			if (yych <= ',') goto yy20;
16456 			goto yy297;
16457 		} else {
16458 			if (yych == '/') goto yy297;
16459 			if (yych <= '@') goto yy20;
16460 			goto yy826;
16461 		}
16462 	} else {
16463 		if (yych <= '_') {
16464 			if (yych <= 'M') goto yy876;
16465 			if (yych <= 'Z') goto yy826;
16466 			if (yych <= '^') goto yy20;
16467 			goto yy297;
16468 		} else {
16469 			if (yych <= 'l') {
16470 				if (yych <= '`') goto yy20;
16471 				goto yy829;
16472 			} else {
16473 				if (yych <= 'm') goto yy879;
16474 				if (yych <= 'z') goto yy829;
16475 				goto yy20;
16476 			}
16477 		}
16478 	}
16479 yy719:
16480 	YYDEBUG(719, *YYCURSOR);
16481 	yyaccept = 2;
16482 	yych = *(YYMARKER = ++YYCURSOR);
16483 	if (yych <= 'S') {
16484 		if (yych <= '-') {
16485 			if (yych == ')') goto yy115;
16486 			if (yych <= ',') goto yy20;
16487 			goto yy297;
16488 		} else {
16489 			if (yych == '/') goto yy297;
16490 			if (yych <= '@') goto yy20;
16491 			goto yy826;
16492 		}
16493 	} else {
16494 		if (yych <= '_') {
16495 			if (yych <= 'T') goto yy877;
16496 			if (yych <= 'Z') goto yy826;
16497 			if (yych <= '^') goto yy20;
16498 			goto yy297;
16499 		} else {
16500 			if (yych <= 's') {
16501 				if (yych <= '`') goto yy20;
16502 				goto yy829;
16503 			} else {
16504 				if (yych <= 't') goto yy880;
16505 				if (yych <= 'z') goto yy829;
16506 				goto yy20;
16507 			}
16508 		}
16509 	}
16510 yy720:
16511 	YYDEBUG(720, *YYCURSOR);
16512 	yyaccept = 12;
16513 	yych = *(YYMARKER = ++YYCURSOR);
16514 	if (yych <= '/') goto yy420;
16515 	if (yych <= '5') goto yy881;
16516 	if (yych <= '6') goto yy882;
16517 	goto yy420;
16518 yy721:
16519 	YYDEBUG(721, *YYCURSOR);
16520 	yych = *++YYCURSOR;
16521 	if (yych <= '@') {
16522 		if (yych == ')') goto yy115;
16523 	} else {
16524 		if (yych <= 'Z') goto yy826;
16525 		if (yych <= '`') goto yy722;
16526 		if (yych <= 'z') goto yy826;
16527 	}
16528 yy722:
16529 	YYDEBUG(722, *YYCURSOR);
16530 #line 1185 "ext/date/lib/parse_date.re"
16531 	{
16532 		DEBUG_OUTPUT("midnight | today");
16533 		TIMELIB_INIT;
16534 		TIMELIB_UNHAVE_TIME();
16535 
16536 		TIMELIB_DEINIT;
16537 		return TIMELIB_RELATIVE;
16538 	}
16539 #line 16540 "<stdout>"
16540 yy723:
16541 	YYDEBUG(723, *YYCURSOR);
16542 	yych = *++YYCURSOR;
16543 	if (yych <= 'R') {
16544 		if (yych <= ')') {
16545 			if (yych <= '(') goto yy20;
16546 			goto yy115;
16547 		} else {
16548 			if (yych <= '@') goto yy20;
16549 			if (yych <= 'Q') goto yy826;
16550 			goto yy883;
16551 		}
16552 	} else {
16553 		if (yych <= 'q') {
16554 			if (yych <= 'Z') goto yy826;
16555 			if (yych <= '`') goto yy20;
16556 			goto yy826;
16557 		} else {
16558 			if (yych <= 'r') goto yy883;
16559 			if (yych <= 'z') goto yy826;
16560 			goto yy20;
16561 		}
16562 	}
16563 yy724:
16564 	YYDEBUG(724, *YYCURSOR);
16565 	yych = *++YYCURSOR;
16566 	if (yych <= 'A') {
16567 		if (yych == ')') goto yy115;
16568 		if (yych <= '@') goto yy20;
16569 		goto yy884;
16570 	} else {
16571 		if (yych <= '`') {
16572 			if (yych <= 'Z') goto yy826;
16573 			goto yy20;
16574 		} else {
16575 			if (yych <= 'a') goto yy884;
16576 			if (yych <= 'z') goto yy826;
16577 			goto yy20;
16578 		}
16579 	}
16580 yy725:
16581 	YYDEBUG(725, *YYCURSOR);
16582 	yyaccept = 16;
16583 	yych = *(YYMARKER = ++YYCURSOR);
16584 	if (yych <= '/') {
16585 		if (yych <= ',') {
16586 			if (yych == ')') goto yy115;
16587 			goto yy722;
16588 		} else {
16589 			if (yych == '.') goto yy722;
16590 			goto yy297;
16591 		}
16592 	} else {
16593 		if (yych <= '^') {
16594 			if (yych <= '@') goto yy722;
16595 			if (yych <= 'Z') goto yy826;
16596 			goto yy722;
16597 		} else {
16598 			if (yych <= '_') goto yy297;
16599 			if (yych <= '`') goto yy722;
16600 			if (yych <= 'z') goto yy829;
16601 			goto yy722;
16602 		}
16603 	}
16604 yy726:
16605 	YYDEBUG(726, *YYCURSOR);
16606 	yyaccept = 2;
16607 	yych = *(YYMARKER = ++YYCURSOR);
16608 	if (yych <= 'Q') {
16609 		if (yych <= '-') {
16610 			if (yych == ')') goto yy115;
16611 			if (yych <= ',') goto yy20;
16612 			goto yy297;
16613 		} else {
16614 			if (yych == '/') goto yy297;
16615 			if (yych <= '@') goto yy20;
16616 			goto yy826;
16617 		}
16618 	} else {
16619 		if (yych <= '_') {
16620 			if (yych <= 'R') goto yy883;
16621 			if (yych <= 'Z') goto yy826;
16622 			if (yych <= '^') goto yy20;
16623 			goto yy297;
16624 		} else {
16625 			if (yych <= 'q') {
16626 				if (yych <= '`') goto yy20;
16627 				goto yy829;
16628 			} else {
16629 				if (yych <= 'r') goto yy885;
16630 				if (yych <= 'z') goto yy829;
16631 				goto yy20;
16632 			}
16633 		}
16634 	}
16635 yy727:
16636 	YYDEBUG(727, *YYCURSOR);
16637 	yyaccept = 2;
16638 	yych = *(YYMARKER = ++YYCURSOR);
16639 	if (yych <= '@') {
16640 		if (yych <= ',') {
16641 			if (yych == ')') goto yy115;
16642 			goto yy20;
16643 		} else {
16644 			if (yych == '.') goto yy20;
16645 			if (yych <= '/') goto yy297;
16646 			goto yy20;
16647 		}
16648 	} else {
16649 		if (yych <= '_') {
16650 			if (yych <= 'A') goto yy884;
16651 			if (yych <= 'Z') goto yy826;
16652 			if (yych <= '^') goto yy20;
16653 			goto yy297;
16654 		} else {
16655 			if (yych <= '`') goto yy20;
16656 			if (yych <= 'a') goto yy886;
16657 			if (yych <= 'z') goto yy829;
16658 			goto yy20;
16659 		}
16660 	}
16661 yy728:
16662 	YYDEBUG(728, *YYCURSOR);
16663 	yych = *++YYCURSOR;
16664 	if (yych <= 'S') {
16665 		if (yych <= ')') {
16666 			if (yych <= '(') goto yy20;
16667 			goto yy115;
16668 		} else {
16669 			if (yych <= '@') goto yy20;
16670 			if (yych <= 'R') goto yy826;
16671 			goto yy887;
16672 		}
16673 	} else {
16674 		if (yych <= 'r') {
16675 			if (yych <= 'Z') goto yy826;
16676 			if (yych <= '`') goto yy20;
16677 			goto yy826;
16678 		} else {
16679 			if (yych <= 's') goto yy887;
16680 			if (yych <= 'z') goto yy826;
16681 			goto yy20;
16682 		}
16683 	}
16684 yy729:
16685 	YYDEBUG(729, *YYCURSOR);
16686 	yyaccept = 2;
16687 	yych = *(YYMARKER = ++YYCURSOR);
16688 	if (yych <= 'R') {
16689 		if (yych <= '-') {
16690 			if (yych == ')') goto yy115;
16691 			if (yych <= ',') goto yy20;
16692 			goto yy297;
16693 		} else {
16694 			if (yych == '/') goto yy297;
16695 			if (yych <= '@') goto yy20;
16696 			goto yy826;
16697 		}
16698 	} else {
16699 		if (yych <= '_') {
16700 			if (yych <= 'S') goto yy887;
16701 			if (yych <= 'Z') goto yy826;
16702 			if (yych <= '^') goto yy20;
16703 			goto yy297;
16704 		} else {
16705 			if (yych <= 'r') {
16706 				if (yych <= '`') goto yy20;
16707 				goto yy829;
16708 			} else {
16709 				if (yych <= 's') goto yy888;
16710 				if (yych <= 'z') goto yy829;
16711 				goto yy20;
16712 			}
16713 		}
16714 	}
16715 yy730:
16716 	YYDEBUG(730, *YYCURSOR);
16717 	yych = *++YYCURSOR;
16718 	if (yych <= 'R') {
16719 		if (yych <= ')') {
16720 			if (yych <= '(') goto yy20;
16721 			goto yy115;
16722 		} else {
16723 			if (yych <= '@') goto yy20;
16724 			if (yych <= 'Q') goto yy826;
16725 			goto yy889;
16726 		}
16727 	} else {
16728 		if (yych <= 'q') {
16729 			if (yych <= 'Z') goto yy826;
16730 			if (yych <= '`') goto yy20;
16731 			goto yy826;
16732 		} else {
16733 			if (yych <= 'r') goto yy889;
16734 			if (yych <= 'z') goto yy826;
16735 			goto yy20;
16736 		}
16737 	}
16738 yy731:
16739 	YYDEBUG(731, *YYCURSOR);
16740 	yyaccept = 2;
16741 	yych = *(YYMARKER = ++YYCURSOR);
16742 	if (yych <= 'Q') {
16743 		if (yych <= '-') {
16744 			if (yych == ')') goto yy115;
16745 			if (yych <= ',') goto yy20;
16746 			goto yy297;
16747 		} else {
16748 			if (yych == '/') goto yy297;
16749 			if (yych <= '@') goto yy20;
16750 			goto yy826;
16751 		}
16752 	} else {
16753 		if (yych <= '_') {
16754 			if (yych <= 'R') goto yy889;
16755 			if (yych <= 'Z') goto yy826;
16756 			if (yych <= '^') goto yy20;
16757 			goto yy297;
16758 		} else {
16759 			if (yych <= 'q') {
16760 				if (yych <= '`') goto yy20;
16761 				goto yy829;
16762 			} else {
16763 				if (yych <= 'r') goto yy890;
16764 				if (yych <= 'z') goto yy829;
16765 				goto yy20;
16766 			}
16767 		}
16768 	}
16769 yy732:
16770 	YYDEBUG(732, *YYCURSOR);
16771 	yych = *++YYCURSOR;
16772 	if (yych <= '/') goto yy59;
16773 	if (yych <= '0') goto yy891;
16774 	if (yych <= '1') goto yy892;
16775 	goto yy59;
16776 yy733:
16777 	YYDEBUG(733, *YYCURSOR);
16778 	yych = *++YYCURSOR;
16779 	if (yych <= '9') {
16780 		if (yych == '-') goto yy893;
16781 		if (yych <= '/') goto yy196;
16782 		goto yy894;
16783 	} else {
16784 		if (yych <= 0xC2) {
16785 			if (yych <= 0xC1) goto yy196;
16786 			goto yy97;
16787 		} else {
16788 			if (yych == 0xE2) goto yy98;
16789 			goto yy196;
16790 		}
16791 	}
16792 yy734:
16793 	YYDEBUG(734, *YYCURSOR);
16794 	yych = *++YYCURSOR;
16795 	if (yych <= '9') {
16796 		if (yych <= '-') {
16797 			if (yych <= ',') goto yy196;
16798 			goto yy893;
16799 		} else {
16800 			if (yych <= '/') goto yy196;
16801 			if (yych <= '0') goto yy894;
16802 			goto yy895;
16803 		}
16804 	} else {
16805 		if (yych <= 0xC2) {
16806 			if (yych <= 0xC1) goto yy196;
16807 			goto yy97;
16808 		} else {
16809 			if (yych == 0xE2) goto yy98;
16810 			goto yy196;
16811 		}
16812 	}
16813 yy735:
16814 	YYDEBUG(735, *YYCURSOR);
16815 	yych = *++YYCURSOR;
16816 	if (yych <= '9') {
16817 		if (yych == '-') goto yy893;
16818 		if (yych <= '/') goto yy196;
16819 		goto yy895;
16820 	} else {
16821 		if (yych <= 0xC2) {
16822 			if (yych <= 0xC1) goto yy196;
16823 			goto yy97;
16824 		} else {
16825 			if (yych == 0xE2) goto yy98;
16826 			goto yy196;
16827 		}
16828 	}
16829 yy736:
16830 	YYDEBUG(736, *YYCURSOR);
16831 	yyaccept = 2;
16832 	yych = *(YYMARKER = ++YYCURSOR);
16833 	if (yych == ':') goto yy896;
16834 	goto yy20;
16835 yy737:
16836 	YYDEBUG(737, *YYCURSOR);
16837 	yych = *++YYCURSOR;
16838 	if (yych <= '/') goto yy59;
16839 	if (yych <= '9') goto yy897;
16840 	goto yy59;
16841 yy738:
16842 	YYDEBUG(738, *YYCURSOR);
16843 	yyaccept = 17;
16844 	yych = *(YYMARKER = ++YYCURSOR);
16845 	if (yych <= '/') goto yy739;
16846 	if (yych <= '9') goto yy897;
16847 yy739:
16848 	YYDEBUG(739, *YYCURSOR);
16849 #line 1576 "ext/date/lib/parse_date.re"
16850 	{
16851 		int length = 0;
16852 		DEBUG_OUTPUT("pointed date YY");
16853 		TIMELIB_INIT;
16854 		TIMELIB_HAVE_DATE();
16855 		s->time->d = timelib_get_nr(&ptr, 2);
16856 		s->time->m = timelib_get_nr(&ptr, 2);
16857 		s->time->y = timelib_get_nr_ex(&ptr, 2, &length);
16858 		TIMELIB_PROCESS_YEAR(s->time->y, length);
16859 		TIMELIB_DEINIT;
16860 		return TIMELIB_DATE_FULL_POINTED;
16861 	}
16862 #line 16863 "<stdout>"
16863 yy740:
16864 	YYDEBUG(740, *YYCURSOR);
16865 	yyaccept = 15;
16866 	yych = *(YYMARKER = ++YYCURSOR);
16867 	if (yych <= 'n') {
16868 		if (yych <= '/') goto yy567;
16869 		if (yych <= '9') goto yy897;
16870 		if (yych <= 'm') goto yy567;
16871 	} else {
16872 		if (yych <= 'r') {
16873 			if (yych <= 'q') goto yy567;
16874 		} else {
16875 			if (yych <= 's') goto yy742;
16876 			if (yych <= 't') goto yy743;
16877 			goto yy567;
16878 		}
16879 	}
16880 yy741:
16881 	YYDEBUG(741, *YYCURSOR);
16882 	yych = *++YYCURSOR;
16883 	if (yych == 'd') goto yy898;
16884 	goto yy59;
16885 yy742:
16886 	YYDEBUG(742, *YYCURSOR);
16887 	yych = *++YYCURSOR;
16888 	if (yych == 't') goto yy898;
16889 	goto yy59;
16890 yy743:
16891 	YYDEBUG(743, *YYCURSOR);
16892 	yych = *++YYCURSOR;
16893 	if (yych == 'h') goto yy898;
16894 	goto yy59;
16895 yy744:
16896 	YYDEBUG(744, *YYCURSOR);
16897 	yych = *++YYCURSOR;
16898 	if (yych <= '/') goto yy59;
16899 	if (yych <= '9') goto yy899;
16900 	goto yy59;
16901 yy745:
16902 	YYDEBUG(745, *YYCURSOR);
16903 	yyaccept = 4;
16904 	yych = *(YYMARKER = ++YYCURSOR);
16905 	if (yych == '.') goto yy744;
16906 	if (yych <= '/') goto yy177;
16907 	if (yych <= '9') goto yy897;
16908 	goto yy177;
16909 yy746:
16910 	YYDEBUG(746, *YYCURSOR);
16911 	yych = *++YYCURSOR;
16912 	if (yych <= '/') goto yy224;
16913 	if (yych <= '9') goto yy901;
16914 	goto yy224;
16915 yy747:
16916 	YYDEBUG(747, *YYCURSOR);
16917 	yych = *++YYCURSOR;
16918 	if (yych <= '/') goto yy59;
16919 	if (yych <= '9') goto yy902;
16920 	goto yy59;
16921 yy748:
16922 	YYDEBUG(748, *YYCURSOR);
16923 	yych = *++YYCURSOR;
16924 	if (yych <= '/') goto yy59;
16925 	if (yych <= '2') goto yy903;
16926 	if (yych <= '3') goto yy904;
16927 	if (yych <= '9') goto yy569;
16928 	goto yy59;
16929 yy749:
16930 	YYDEBUG(749, *YYCURSOR);
16931 	++YYCURSOR;
16932 	if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
16933 	yych = *YYCURSOR;
16934 yy750:
16935 	YYDEBUG(750, *YYCURSOR);
16936 	switch (yych) {
16937 	case '\t':
16938 	case ' ':
16939 	case '-':
16940 	case '.':	goto yy749;
16941 	case 'A':
16942 	case 'a':	goto yy596;
16943 	case 'D':
16944 	case 'd':	goto yy769;
16945 	case 'F':
16946 	case 'f':	goto yy770;
16947 	case 'I':	goto yy599;
16948 	case 'J':
16949 	case 'j':	goto yy601;
16950 	case 'M':
16951 	case 'm':	goto yy771;
16952 	case 'N':
16953 	case 'n':	goto yy603;
16954 	case 'O':
16955 	case 'o':	goto yy604;
16956 	case 'S':
16957 	case 's':	goto yy772;
16958 	case 'V':	goto yy606;
16959 	case 'X':	goto yy608;
16960 	default:	goto yy59;
16961 	}
16962 yy751:
16963 	YYDEBUG(751, *YYCURSOR);
16964 	yyaccept = 18;
16965 	yych = *(YYMARKER = ++YYCURSOR);
16966 	if (yych <= '/') {
16967 		if (yych == '-') goto yy905;
16968 	} else {
16969 		if (yych <= '0') goto yy906;
16970 		if (yych <= '9') goto yy907;
16971 	}
16972 yy752:
16973 	YYDEBUG(752, *YYCURSOR);
16974 #line 1521 "ext/date/lib/parse_date.re"
16975 	{
16976 		int length = 0;
16977 		DEBUG_OUTPUT("gnudateshorter");
16978 		TIMELIB_INIT;
16979 		TIMELIB_HAVE_DATE();
16980 		s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
16981 		s->time->m = timelib_get_nr(&ptr, 2);
16982 		s->time->d = 1;
16983 		TIMELIB_PROCESS_YEAR(s->time->y, length);
16984 		TIMELIB_DEINIT;
16985 		return TIMELIB_ISO_DATE;
16986 	}
16987 #line 16988 "<stdout>"
16988 yy753:
16989 	YYDEBUG(753, *YYCURSOR);
16990 	yyaccept = 18;
16991 	yych = *(YYMARKER = ++YYCURSOR);
16992 	if (yych <= '/') {
16993 		if (yych == '-') goto yy905;
16994 		goto yy752;
16995 	} else {
16996 		if (yych <= '2') goto yy907;
16997 		if (yych <= '9') goto yy908;
16998 		goto yy752;
16999 	}
17000 yy754:
17001 	YYDEBUG(754, *YYCURSOR);
17002 	yyaccept = 18;
17003 	yych = *(YYMARKER = ++YYCURSOR);
17004 	if (yych == '-') goto yy905;
17005 	if (yych <= '/') goto yy752;
17006 	if (yych <= '9') goto yy908;
17007 	goto yy752;
17008 yy755:
17009 	YYDEBUG(755, *YYCURSOR);
17010 	yyaccept = 18;
17011 	yych = *(YYMARKER = ++YYCURSOR);
17012 	if (yych <= '/') {
17013 		if (yych == '-') goto yy905;
17014 		goto yy752;
17015 	} else {
17016 		if (yych <= '5') goto yy908;
17017 		if (yych <= '6') goto yy909;
17018 		goto yy752;
17019 	}
17020 yy756:
17021 	YYDEBUG(756, *YYCURSOR);
17022 	yyaccept = 18;
17023 	yych = *(YYMARKER = ++YYCURSOR);
17024 	if (yych == '-') goto yy905;
17025 	goto yy752;
17026 yy757:
17027 	YYDEBUG(757, *YYCURSOR);
17028 	yych = *++YYCURSOR;
17029 	if (yych <= 'U') {
17030 		if (yych == 'P') goto yy910;
17031 		if (yych <= 'T') goto yy59;
17032 		goto yy911;
17033 	} else {
17034 		if (yych <= 'p') {
17035 			if (yych <= 'o') goto yy59;
17036 			goto yy910;
17037 		} else {
17038 			if (yych == 'u') goto yy911;
17039 			goto yy59;
17040 		}
17041 	}
17042 yy758:
17043 	YYDEBUG(758, *YYCURSOR);
17044 	yych = *++YYCURSOR;
17045 	if (yych == 'E') goto yy912;
17046 	if (yych == 'e') goto yy912;
17047 	goto yy59;
17048 yy759:
17049 	YYDEBUG(759, *YYCURSOR);
17050 	yych = *++YYCURSOR;
17051 	if (yych == 'E') goto yy913;
17052 	if (yych == 'e') goto yy913;
17053 	goto yy59;
17054 yy760:
17055 	YYDEBUG(760, *YYCURSOR);
17056 	yych = *++YYCURSOR;
17057 	if (yych <= 'U') {
17058 		if (yych == 'A') goto yy914;
17059 		if (yych <= 'T') goto yy59;
17060 		goto yy915;
17061 	} else {
17062 		if (yych <= 'a') {
17063 			if (yych <= '`') goto yy59;
17064 			goto yy914;
17065 		} else {
17066 			if (yych == 'u') goto yy915;
17067 			goto yy59;
17068 		}
17069 	}
17070 yy761:
17071 	YYDEBUG(761, *YYCURSOR);
17072 	yych = *++YYCURSOR;
17073 	if (yych == 'A') goto yy916;
17074 	if (yych == 'a') goto yy916;
17075 	goto yy59;
17076 yy762:
17077 	YYDEBUG(762, *YYCURSOR);
17078 	yych = *++YYCURSOR;
17079 	if (yych == 'O') goto yy917;
17080 	if (yych == 'o') goto yy917;
17081 	goto yy59;
17082 yy763:
17083 	YYDEBUG(763, *YYCURSOR);
17084 	yych = *++YYCURSOR;
17085 	if (yych == 'C') goto yy918;
17086 	if (yych == 'c') goto yy918;
17087 	goto yy59;
17088 yy764:
17089 	YYDEBUG(764, *YYCURSOR);
17090 	yych = *++YYCURSOR;
17091 	if (yych == 'E') goto yy919;
17092 	if (yych == 'e') goto yy919;
17093 	goto yy59;
17094 yy765:
17095 	YYDEBUG(765, *YYCURSOR);
17096 	yych = *++YYCURSOR;
17097 	if (yych <= '/') goto yy59;
17098 	if (yych <= '0') goto yy797;
17099 	if (yych <= '4') goto yy798;
17100 	if (yych <= '5') goto yy799;
17101 	goto yy59;
17102 yy766:
17103 	YYDEBUG(766, *YYCURSOR);
17104 	yych = *++YYCURSOR;
17105 	if (yych <= '/') goto yy59;
17106 	if (yych <= '0') goto yy920;
17107 	if (yych <= '9') goto yy908;
17108 	goto yy59;
17109 yy767:
17110 	YYDEBUG(767, *YYCURSOR);
17111 	yych = *++YYCURSOR;
17112 	if (yych <= '/') goto yy59;
17113 	if (yych <= '9') goto yy908;
17114 	goto yy59;
17115 yy768:
17116 	YYDEBUG(768, *YYCURSOR);
17117 	yych = *++YYCURSOR;
17118 	if (yych <= '/') goto yy59;
17119 	if (yych <= '5') goto yy908;
17120 	if (yych <= '6') goto yy909;
17121 	goto yy59;
17122 yy769:
17123 	YYDEBUG(769, *YYCURSOR);
17124 	yych = *++YYCURSOR;
17125 	if (yych == 'E') goto yy787;
17126 	if (yych == 'e') goto yy787;
17127 	goto yy59;
17128 yy770:
17129 	YYDEBUG(770, *YYCURSOR);
17130 	yych = *++YYCURSOR;
17131 	if (yych == 'E') goto yy788;
17132 	if (yych == 'e') goto yy788;
17133 	goto yy59;
17134 yy771:
17135 	YYDEBUG(771, *YYCURSOR);
17136 	yych = *++YYCURSOR;
17137 	if (yych == 'A') goto yy793;
17138 	if (yych == 'a') goto yy793;
17139 	goto yy59;
17140 yy772:
17141 	YYDEBUG(772, *YYCURSOR);
17142 	yych = *++YYCURSOR;
17143 	if (yych == 'E') goto yy921;
17144 	if (yych == 'e') goto yy921;
17145 	goto yy59;
17146 yy773:
17147 	YYDEBUG(773, *YYCURSOR);
17148 	yych = *++YYCURSOR;
17149 	if (yych <= '.') goto yy59;
17150 	if (yych <= '/') goto yy922;
17151 	if (yych <= '9') goto yy923;
17152 	goto yy59;
17153 yy774:
17154 	YYDEBUG(774, *YYCURSOR);
17155 	yych = *++YYCURSOR;
17156 	if (yych <= '.') goto yy59;
17157 	if (yych <= '/') goto yy922;
17158 	if (yych <= '2') goto yy923;
17159 	goto yy59;
17160 yy775:
17161 	YYDEBUG(775, *YYCURSOR);
17162 	yych = *++YYCURSOR;
17163 	if (yych == '/') goto yy922;
17164 	goto yy59;
17165 yy776:
17166 	YYDEBUG(776, *YYCURSOR);
17167 	yyaccept = 19;
17168 	yych = *(YYMARKER = ++YYCURSOR);
17169 	if (yych <= 'W') {
17170 		if (yych <= 'C') {
17171 			if (yych <= '/') {
17172 				if (yych <= '\t') {
17173 					if (yych >= '\t') goto yy196;
17174 				} else {
17175 					if (yych == ' ') goto yy196;
17176 				}
17177 			} else {
17178 				if (yych <= '2') {
17179 					if (yych <= '0') goto yy924;
17180 					goto yy925;
17181 				} else {
17182 					if (yych <= '3') goto yy927;
17183 					if (yych <= '9') goto yy928;
17184 				}
17185 			}
17186 		} else {
17187 			if (yych <= 'H') {
17188 				if (yych <= 'E') {
17189 					if (yych <= 'D') goto yy196;
17190 				} else {
17191 					if (yych != 'G') goto yy196;
17192 				}
17193 			} else {
17194 				if (yych <= 'R') {
17195 					if (yych == 'M') goto yy196;
17196 				} else {
17197 					if (yych != 'V') goto yy196;
17198 				}
17199 			}
17200 		}
17201 	} else {
17202 		if (yych <= 'm') {
17203 			if (yych <= 'e') {
17204 				if (yych <= 'Y') {
17205 					if (yych >= 'Y') goto yy196;
17206 				} else {
17207 					if (yych == 'd') goto yy196;
17208 				}
17209 			} else {
17210 				if (yych <= 'g') {
17211 					if (yych <= 'f') goto yy196;
17212 				} else {
17213 					if (yych <= 'h') goto yy196;
17214 					if (yych >= 'm') goto yy196;
17215 				}
17216 			}
17217 		} else {
17218 			if (yych <= 'x') {
17219 				if (yych <= 'u') {
17220 					if (yych >= 's') goto yy196;
17221 				} else {
17222 					if (yych == 'w') goto yy196;
17223 				}
17224 			} else {
17225 				if (yych <= 0xC2) {
17226 					if (yych <= 'y') goto yy196;
17227 					if (yych >= 0xC2) goto yy97;
17228 				} else {
17229 					if (yych == 0xE2) goto yy98;
17230 				}
17231 			}
17232 		}
17233 	}
17234 yy777:
17235 	YYDEBUG(777, *YYCURSOR);
17236 #line 1447 "ext/date/lib/parse_date.re"
17237 	{
17238 		int tz_not_found;
17239 		DEBUG_OUTPUT("iso8601nocolon");
17240 		TIMELIB_INIT;
17241 		TIMELIB_HAVE_TIME();
17242 		s->time->h = timelib_get_nr(&ptr, 2);
17243 		s->time->i = timelib_get_nr(&ptr, 2);
17244 		s->time->s = timelib_get_nr(&ptr, 2);
17245 
17246 		if (*ptr != '\0') {
17247 			s->time->z = timelib_parse_zone(&ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
17248 			if (tz_not_found) {
17249 				add_error(s, TIMELIB_ERR_TZID_NOT_FOUND, "The timezone could not be found in the database");
17250 			}
17251 		}
17252 		TIMELIB_DEINIT;
17253 		return TIMELIB_ISO_NOCOLON;
17254 	}
17255 #line 17256 "<stdout>"
17256 yy778:
17257 	YYDEBUG(778, *YYCURSOR);
17258 	yyaccept = 19;
17259 	yych = *(YYMARKER = ++YYCURSOR);
17260 	if (yych <= 'W') {
17261 		if (yych <= 'D') {
17262 			if (yych <= '/') {
17263 				if (yych <= '\t') {
17264 					if (yych <= 0x08) goto yy777;
17265 					goto yy196;
17266 				} else {
17267 					if (yych == ' ') goto yy196;
17268 					goto yy777;
17269 				}
17270 			} else {
17271 				if (yych <= '3') {
17272 					if (yych <= '2') goto yy925;
17273 					goto yy927;
17274 				} else {
17275 					if (yych <= '9') goto yy928;
17276 					if (yych <= 'C') goto yy777;
17277 					goto yy196;
17278 				}
17279 			}
17280 		} else {
17281 			if (yych <= 'L') {
17282 				if (yych <= 'F') {
17283 					if (yych <= 'E') goto yy777;
17284 					goto yy196;
17285 				} else {
17286 					if (yych == 'H') goto yy196;
17287 					goto yy777;
17288 				}
17289 			} else {
17290 				if (yych <= 'R') {
17291 					if (yych <= 'M') goto yy196;
17292 					goto yy777;
17293 				} else {
17294 					if (yych == 'V') goto yy777;
17295 					goto yy196;
17296 				}
17297 			}
17298 		}
17299 	} else {
17300 		if (yych <= 'm') {
17301 			if (yych <= 'e') {
17302 				if (yych <= 'Y') {
17303 					if (yych <= 'X') goto yy777;
17304 					goto yy196;
17305 				} else {
17306 					if (yych == 'd') goto yy196;
17307 					goto yy777;
17308 				}
17309 			} else {
17310 				if (yych <= 'g') {
17311 					if (yych <= 'f') goto yy196;
17312 					goto yy777;
17313 				} else {
17314 					if (yych <= 'h') goto yy196;
17315 					if (yych <= 'l') goto yy777;
17316 					goto yy196;
17317 				}
17318 			}
17319 		} else {
17320 			if (yych <= 'x') {
17321 				if (yych <= 'u') {
17322 					if (yych <= 'r') goto yy777;
17323 					goto yy196;
17324 				} else {
17325 					if (yych == 'w') goto yy196;
17326 					goto yy777;
17327 				}
17328 			} else {
17329 				if (yych <= 0xC2) {
17330 					if (yych <= 'y') goto yy196;
17331 					if (yych <= 0xC1) goto yy777;
17332 					goto yy97;
17333 				} else {
17334 					if (yych == 0xE2) goto yy98;
17335 					goto yy777;
17336 				}
17337 			}
17338 		}
17339 	}
17340 yy779:
17341 	YYDEBUG(779, *YYCURSOR);
17342 	yyaccept = 19;
17343 	yych = *(YYMARKER = ++YYCURSOR);
17344 	if (yych <= 'X') {
17345 		if (yych <= 'E') {
17346 			if (yych <= ' ') {
17347 				if (yych == '\t') goto yy196;
17348 				if (yych <= 0x1F) goto yy777;
17349 				goto yy196;
17350 			} else {
17351 				if (yych <= '9') {
17352 					if (yych <= '/') goto yy777;
17353 					goto yy928;
17354 				} else {
17355 					if (yych == 'D') goto yy196;
17356 					goto yy777;
17357 				}
17358 			}
17359 		} else {
17360 			if (yych <= 'M') {
17361 				if (yych <= 'G') {
17362 					if (yych <= 'F') goto yy196;
17363 					goto yy777;
17364 				} else {
17365 					if (yych <= 'H') goto yy196;
17366 					if (yych <= 'L') goto yy777;
17367 					goto yy196;
17368 				}
17369 			} else {
17370 				if (yych <= 'U') {
17371 					if (yych <= 'R') goto yy777;
17372 					goto yy196;
17373 				} else {
17374 					if (yych == 'W') goto yy196;
17375 					goto yy777;
17376 				}
17377 			}
17378 		}
17379 	} else {
17380 		if (yych <= 'r') {
17381 			if (yych <= 'f') {
17382 				if (yych <= 'c') {
17383 					if (yych <= 'Y') goto yy196;
17384 					goto yy777;
17385 				} else {
17386 					if (yych == 'e') goto yy777;
17387 					goto yy196;
17388 				}
17389 			} else {
17390 				if (yych <= 'h') {
17391 					if (yych <= 'g') goto yy777;
17392 					goto yy196;
17393 				} else {
17394 					if (yych == 'm') goto yy196;
17395 					goto yy777;
17396 				}
17397 			}
17398 		} else {
17399 			if (yych <= 'y') {
17400 				if (yych <= 'v') {
17401 					if (yych <= 'u') goto yy196;
17402 					goto yy777;
17403 				} else {
17404 					if (yych == 'x') goto yy777;
17405 					goto yy196;
17406 				}
17407 			} else {
17408 				if (yych <= 0xC2) {
17409 					if (yych <= 0xC1) goto yy777;
17410 					goto yy97;
17411 				} else {
17412 					if (yych == 0xE2) goto yy98;
17413 					goto yy777;
17414 				}
17415 			}
17416 		}
17417 	}
17418 yy780:
17419 	YYDEBUG(780, *YYCURSOR);
17420 	yyaccept = 19;
17421 	yych = *(YYMARKER = ++YYCURSOR);
17422 	if (yych <= 'X') {
17423 		if (yych <= 'E') {
17424 			if (yych <= '/') {
17425 				if (yych <= '\t') {
17426 					if (yych <= 0x08) goto yy777;
17427 					goto yy196;
17428 				} else {
17429 					if (yych == ' ') goto yy196;
17430 					goto yy777;
17431 				}
17432 			} else {
17433 				if (yych <= '9') {
17434 					if (yych <= '6') goto yy928;
17435 					goto yy929;
17436 				} else {
17437 					if (yych == 'D') goto yy196;
17438 					goto yy777;
17439 				}
17440 			}
17441 		} else {
17442 			if (yych <= 'M') {
17443 				if (yych <= 'G') {
17444 					if (yych <= 'F') goto yy196;
17445 					goto yy777;
17446 				} else {
17447 					if (yych <= 'H') goto yy196;
17448 					if (yych <= 'L') goto yy777;
17449 					goto yy196;
17450 				}
17451 			} else {
17452 				if (yych <= 'U') {
17453 					if (yych <= 'R') goto yy777;
17454 					goto yy196;
17455 				} else {
17456 					if (yych == 'W') goto yy196;
17457 					goto yy777;
17458 				}
17459 			}
17460 		}
17461 	} else {
17462 		if (yych <= 'r') {
17463 			if (yych <= 'f') {
17464 				if (yych <= 'c') {
17465 					if (yych <= 'Y') goto yy196;
17466 					goto yy777;
17467 				} else {
17468 					if (yych == 'e') goto yy777;
17469 					goto yy196;
17470 				}
17471 			} else {
17472 				if (yych <= 'h') {
17473 					if (yych <= 'g') goto yy777;
17474 					goto yy196;
17475 				} else {
17476 					if (yych == 'm') goto yy196;
17477 					goto yy777;
17478 				}
17479 			}
17480 		} else {
17481 			if (yych <= 'y') {
17482 				if (yych <= 'v') {
17483 					if (yych <= 'u') goto yy196;
17484 					goto yy777;
17485 				} else {
17486 					if (yych == 'x') goto yy777;
17487 					goto yy196;
17488 				}
17489 			} else {
17490 				if (yych <= 0xC2) {
17491 					if (yych <= 0xC1) goto yy777;
17492 					goto yy97;
17493 				} else {
17494 					if (yych == 0xE2) goto yy98;
17495 					goto yy777;
17496 				}
17497 			}
17498 		}
17499 	}
17500 yy781:
17501 	YYDEBUG(781, *YYCURSOR);
17502 	yyaccept = 19;
17503 	yych = *(YYMARKER = ++YYCURSOR);
17504 	if (yych <= 'X') {
17505 		if (yych <= 'E') {
17506 			if (yych <= ' ') {
17507 				if (yych == '\t') goto yy196;
17508 				if (yych <= 0x1F) goto yy777;
17509 				goto yy196;
17510 			} else {
17511 				if (yych <= '9') {
17512 					if (yych <= '/') goto yy777;
17513 					goto yy929;
17514 				} else {
17515 					if (yych == 'D') goto yy196;
17516 					goto yy777;
17517 				}
17518 			}
17519 		} else {
17520 			if (yych <= 'M') {
17521 				if (yych <= 'G') {
17522 					if (yych <= 'F') goto yy196;
17523 					goto yy777;
17524 				} else {
17525 					if (yych <= 'H') goto yy196;
17526 					if (yych <= 'L') goto yy777;
17527 					goto yy196;
17528 				}
17529 			} else {
17530 				if (yych <= 'U') {
17531 					if (yych <= 'R') goto yy777;
17532 					goto yy196;
17533 				} else {
17534 					if (yych == 'W') goto yy196;
17535 					goto yy777;
17536 				}
17537 			}
17538 		}
17539 	} else {
17540 		if (yych <= 'r') {
17541 			if (yych <= 'f') {
17542 				if (yych <= 'c') {
17543 					if (yych <= 'Y') goto yy196;
17544 					goto yy777;
17545 				} else {
17546 					if (yych == 'e') goto yy777;
17547 					goto yy196;
17548 				}
17549 			} else {
17550 				if (yych <= 'h') {
17551 					if (yych <= 'g') goto yy777;
17552 					goto yy196;
17553 				} else {
17554 					if (yych == 'm') goto yy196;
17555 					goto yy777;
17556 				}
17557 			}
17558 		} else {
17559 			if (yych <= 'y') {
17560 				if (yych <= 'v') {
17561 					if (yych <= 'u') goto yy196;
17562 					goto yy777;
17563 				} else {
17564 					if (yych == 'x') goto yy777;
17565 					goto yy196;
17566 				}
17567 			} else {
17568 				if (yych <= 0xC2) {
17569 					if (yych <= 0xC1) goto yy777;
17570 					goto yy97;
17571 				} else {
17572 					if (yych == 0xE2) goto yy98;
17573 					goto yy777;
17574 				}
17575 			}
17576 		}
17577 	}
17578 yy782:
17579 	YYDEBUG(782, *YYCURSOR);
17580 	yych = *++YYCURSOR;
17581 	if (yych <= 0xC1) {
17582 		if (yych <= '/') goto yy196;
17583 		if (yych <= '9') goto yy929;
17584 		goto yy196;
17585 	} else {
17586 		if (yych <= 0xC2) goto yy97;
17587 		if (yych == 0xE2) goto yy98;
17588 		goto yy196;
17589 	}
17590 yy783:
17591 	YYDEBUG(783, *YYCURSOR);
17592 	yych = *++YYCURSOR;
17593 	if (yych <= '/') goto yy59;
17594 	if (yych <= '9') goto yy930;
17595 	goto yy59;
17596 yy784:
17597 	YYDEBUG(784, *YYCURSOR);
17598 	yych = *++YYCURSOR;
17599 	if (yych <= '/') goto yy59;
17600 	if (yych <= '2') goto yy930;
17601 	goto yy59;
17602 yy785:
17603 	YYDEBUG(785, *YYCURSOR);
17604 	yych = *++YYCURSOR;
17605 	if (yych == 'R') goto yy931;
17606 	if (yych == 'r') goto yy931;
17607 	goto yy59;
17608 yy786:
17609 	YYDEBUG(786, *YYCURSOR);
17610 	yych = *++YYCURSOR;
17611 	if (yych == 'G') goto yy932;
17612 	if (yych == 'g') goto yy932;
17613 	goto yy59;
17614 yy787:
17615 	YYDEBUG(787, *YYCURSOR);
17616 	yych = *++YYCURSOR;
17617 	if (yych == 'C') goto yy933;
17618 	if (yych == 'c') goto yy933;
17619 	goto yy59;
17620 yy788:
17621 	YYDEBUG(788, *YYCURSOR);
17622 	yych = *++YYCURSOR;
17623 	if (yych == 'B') goto yy934;
17624 	if (yych == 'b') goto yy934;
17625 	goto yy59;
17626 yy789:
17627 	YYDEBUG(789, *YYCURSOR);
17628 	yych = *++YYCURSOR;
17629 	if (yych != 'I') goto yy600;
17630 yy790:
17631 	YYDEBUG(790, *YYCURSOR);
17632 	++YYCURSOR;
17633 	goto yy600;
17634 yy791:
17635 	YYDEBUG(791, *YYCURSOR);
17636 	yych = *++YYCURSOR;
17637 	if (yych == 'N') goto yy935;
17638 	if (yych == 'n') goto yy935;
17639 	goto yy59;
17640 yy792:
17641 	YYDEBUG(792, *YYCURSOR);
17642 	yych = *++YYCURSOR;
17643 	if (yych <= 'N') {
17644 		if (yych == 'L') goto yy936;
17645 		if (yych <= 'M') goto yy59;
17646 		goto yy937;
17647 	} else {
17648 		if (yych <= 'l') {
17649 			if (yych <= 'k') goto yy59;
17650 			goto yy936;
17651 		} else {
17652 			if (yych == 'n') goto yy937;
17653 			goto yy59;
17654 		}
17655 	}
17656 yy793:
17657 	YYDEBUG(793, *YYCURSOR);
17658 	yych = *++YYCURSOR;
17659 	if (yych <= 'Y') {
17660 		if (yych == 'R') goto yy938;
17661 		if (yych <= 'X') goto yy59;
17662 		goto yy790;
17663 	} else {
17664 		if (yych <= 'r') {
17665 			if (yych <= 'q') goto yy59;
17666 			goto yy938;
17667 		} else {
17668 			if (yych == 'y') goto yy790;
17669 			goto yy59;
17670 		}
17671 	}
17672 yy794:
17673 	YYDEBUG(794, *YYCURSOR);
17674 	yych = *++YYCURSOR;
17675 	if (yych == 'V') goto yy933;
17676 	if (yych == 'v') goto yy933;
17677 	goto yy59;
17678 yy795:
17679 	YYDEBUG(795, *YYCURSOR);
17680 	yych = *++YYCURSOR;
17681 	if (yych == 'T') goto yy939;
17682 	if (yych == 't') goto yy939;
17683 	goto yy59;
17684 yy796:
17685 	YYDEBUG(796, *YYCURSOR);
17686 	yych = *++YYCURSOR;
17687 	if (yych <= 'P') {
17688 		if (yych == 'C') goto yy443;
17689 		if (yych <= 'O') goto yy59;
17690 		goto yy940;
17691 	} else {
17692 		if (yych <= 'c') {
17693 			if (yych <= 'b') goto yy59;
17694 			goto yy443;
17695 		} else {
17696 			if (yych == 'p') goto yy940;
17697 			goto yy59;
17698 		}
17699 	}
17700 yy797:
17701 	YYDEBUG(797, *YYCURSOR);
17702 	yych = *++YYCURSOR;
17703 	if (yych <= '0') goto yy59;
17704 	if (yych <= '9') goto yy941;
17705 	goto yy59;
17706 yy798:
17707 	YYDEBUG(798, *YYCURSOR);
17708 	yych = *++YYCURSOR;
17709 	if (yych <= '/') goto yy59;
17710 	if (yych <= '9') goto yy941;
17711 	goto yy59;
17712 yy799:
17713 	YYDEBUG(799, *YYCURSOR);
17714 	yych = *++YYCURSOR;
17715 	if (yych <= '/') goto yy59;
17716 	if (yych <= '3') goto yy941;
17717 	goto yy59;
17718 yy800:
17719 	YYDEBUG(800, *YYCURSOR);
17720 	yych = *++YYCURSOR;
17721 	if (yych <= '9') {
17722 		if (yych <= '0') {
17723 			if (yych <= '/') goto yy196;
17724 			goto yy924;
17725 		} else {
17726 			if (yych <= '2') goto yy925;
17727 			if (yych <= '3') goto yy927;
17728 			goto yy928;
17729 		}
17730 	} else {
17731 		if (yych <= 0xC2) {
17732 			if (yych <= 0xC1) goto yy196;
17733 			goto yy97;
17734 		} else {
17735 			if (yych == 0xE2) goto yy98;
17736 			goto yy196;
17737 		}
17738 	}
17739 yy801:
17740 	YYDEBUG(801, *YYCURSOR);
17741 	yych = *++YYCURSOR;
17742 	if (yych <= '9') {
17743 		if (yych <= '/') goto yy196;
17744 		if (yych <= '2') goto yy925;
17745 		if (yych <= '3') goto yy927;
17746 		goto yy928;
17747 	} else {
17748 		if (yych <= 0xC2) {
17749 			if (yych <= 0xC1) goto yy196;
17750 			goto yy97;
17751 		} else {
17752 			if (yych == 0xE2) goto yy98;
17753 			goto yy196;
17754 		}
17755 	}
17756 yy802:
17757 	YYDEBUG(802, *YYCURSOR);
17758 	yych = *++YYCURSOR;
17759 	if (yych <= 0xC1) {
17760 		if (yych <= '/') goto yy196;
17761 		if (yych <= '9') goto yy928;
17762 		goto yy196;
17763 	} else {
17764 		if (yych <= 0xC2) goto yy97;
17765 		if (yych == 0xE2) goto yy98;
17766 		goto yy196;
17767 	}
17768 yy803:
17769 	YYDEBUG(803, *YYCURSOR);
17770 	yych = *++YYCURSOR;
17771 	if (yych <= 0xC1) {
17772 		if (yych <= '/') goto yy196;
17773 		if (yych <= '6') goto yy928;
17774 		if (yych <= '9') goto yy929;
17775 		goto yy196;
17776 	} else {
17777 		if (yych <= 0xC2) goto yy97;
17778 		if (yych == 0xE2) goto yy98;
17779 		goto yy196;
17780 	}
17781 yy804:
17782 	YYDEBUG(804, *YYCURSOR);
17783 	yych = *++YYCURSOR;
17784 	if (yych == 'T') goto yy253;
17785 	if (yych == 't') goto yy253;
17786 	goto yy59;
17787 yy805:
17788 	YYDEBUG(805, *YYCURSOR);
17789 	yych = *++YYCURSOR;
17790 	if (yych == 'N') goto yy806;
17791 	if (yych != 'n') goto yy59;
17792 yy806:
17793 	YYDEBUG(806, *YYCURSOR);
17794 	yych = *++YYCURSOR;
17795 	if (yych == 'I') goto yy943;
17796 	if (yych == 'i') goto yy943;
17797 	goto yy59;
17798 yy807:
17799 	YYDEBUG(807, *YYCURSOR);
17800 	++YYCURSOR;
17801 	goto yy251;
17802 yy808:
17803 	YYDEBUG(808, *YYCURSOR);
17804 	yych = *++YYCURSOR;
17805 	if (yych == 'R') goto yy944;
17806 	if (yych == 'r') goto yy944;
17807 	goto yy59;
17808 yy809:
17809 	YYDEBUG(809, *YYCURSOR);
17810 	yych = *++YYCURSOR;
17811 	if (yych == 'S') goto yy945;
17812 	if (yych == 's') goto yy945;
17813 	goto yy59;
17814 yy810:
17815 	YYDEBUG(810, *YYCURSOR);
17816 	yych = *++YYCURSOR;
17817 	if (yych == 'E') goto yy425;
17818 	if (yych == 'e') goto yy425;
17819 	goto yy59;
17820 yy811:
17821 	YYDEBUG(811, *YYCURSOR);
17822 	yych = *++YYCURSOR;
17823 	if (yych == 'E') goto yy946;
17824 	if (yych == 'e') goto yy946;
17825 	goto yy59;
17826 yy812:
17827 	YYDEBUG(812, *YYCURSOR);
17828 	yych = *++YYCURSOR;
17829 	if (yych == 'D') goto yy425;
17830 	if (yych == 'd') goto yy425;
17831 	goto yy59;
17832 yy813:
17833 	YYDEBUG(813, *YYCURSOR);
17834 	yyaccept = 4;
17835 	yych = *(YYMARKER = ++YYCURSOR);
17836 	if (yych <= 'A') {
17837 		if (yych <= '-') {
17838 			if (yych <= '\t') {
17839 				if (yych <= 0x08) goto yy177;
17840 				goto yy638;
17841 			} else {
17842 				if (yych == ' ') goto yy638;
17843 				goto yy177;
17844 			}
17845 		} else {
17846 			if (yych <= '/') {
17847 				if (yych <= '.') goto yy744;
17848 				goto yy177;
17849 			} else {
17850 				if (yych <= '9') goto yy897;
17851 				if (yych <= '@') goto yy177;
17852 				goto yy106;
17853 			}
17854 		}
17855 	} else {
17856 		if (yych <= 'o') {
17857 			if (yych <= 'P') {
17858 				if (yych <= 'O') goto yy177;
17859 				goto yy106;
17860 			} else {
17861 				if (yych == 'a') goto yy106;
17862 				goto yy177;
17863 			}
17864 		} else {
17865 			if (yych <= 0xC2) {
17866 				if (yych <= 'p') goto yy106;
17867 				if (yych <= 0xC1) goto yy177;
17868 				goto yy640;
17869 			} else {
17870 				if (yych == 0xE2) goto yy641;
17871 				goto yy177;
17872 			}
17873 		}
17874 	}
17875 yy814:
17876 	YYDEBUG(814, *YYCURSOR);
17877 	++YYCURSOR;
17878 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
17879 	yych = *YYCURSOR;
17880 	if (yych <= '`') {
17881 		if (yych <= 'A') {
17882 			if (yych <= '@') goto yy59;
17883 			goto yy106;
17884 		} else {
17885 			if (yych == 'P') goto yy106;
17886 			goto yy59;
17887 		}
17888 	} else {
17889 		if (yych <= 'p') {
17890 			if (yych <= 'a') goto yy106;
17891 			if (yych <= 'o') goto yy59;
17892 			goto yy106;
17893 		} else {
17894 			if (yych == 0xC2) goto yy640;
17895 			goto yy59;
17896 		}
17897 	}
17898 yy815:
17899 	YYDEBUG(815, *YYCURSOR);
17900 	++YYCURSOR;
17901 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
17902 	yych = *YYCURSOR;
17903 	if (yych == 0xAF) goto yy947;
17904 	goto yy59;
17905 yy816:
17906 	YYDEBUG(816, *YYCURSOR);
17907 	yyaccept = 4;
17908 	yych = *(YYMARKER = ++YYCURSOR);
17909 	if (yych <= 'O') {
17910 		if (yych <= ' ') {
17911 			if (yych == '\t') goto yy638;
17912 			if (yych <= 0x1F) goto yy177;
17913 			goto yy638;
17914 		} else {
17915 			if (yych <= '.') {
17916 				if (yych <= '-') goto yy177;
17917 				goto yy744;
17918 			} else {
17919 				if (yych == 'A') goto yy106;
17920 				goto yy177;
17921 			}
17922 		}
17923 	} else {
17924 		if (yych <= 'p') {
17925 			if (yych <= '`') {
17926 				if (yych <= 'P') goto yy106;
17927 				goto yy177;
17928 			} else {
17929 				if (yych <= 'a') goto yy106;
17930 				if (yych <= 'o') goto yy177;
17931 				goto yy106;
17932 			}
17933 		} else {
17934 			if (yych <= 0xC2) {
17935 				if (yych <= 0xC1) goto yy177;
17936 				goto yy640;
17937 			} else {
17938 				if (yych == 0xE2) goto yy641;
17939 				goto yy177;
17940 			}
17941 		}
17942 	}
17943 yy817:
17944 	YYDEBUG(817, *YYCURSOR);
17945 	yyaccept = 4;
17946 	yych = *(YYMARKER = ++YYCURSOR);
17947 	if (yych == '.') goto yy744;
17948 	if (yych <= '/') goto yy177;
17949 	if (yych <= '9') goto yy948;
17950 	goto yy177;
17951 yy818:
17952 	YYDEBUG(818, *YYCURSOR);
17953 	yyaccept = 4;
17954 	yych = *(YYMARKER = ++YYCURSOR);
17955 	if (yych == '.') goto yy744;
17956 	if (yych == '0') goto yy948;
17957 	goto yy177;
17958 yy819:
17959 	YYDEBUG(819, *YYCURSOR);
17960 	yyaccept = 15;
17961 	yych = *(YYMARKER = ++YYCURSOR);
17962 	if (yych <= 'n') {
17963 		if (yych <= '/') goto yy567;
17964 		if (yych <= '9') goto yy821;
17965 		if (yych <= 'm') goto yy567;
17966 		goto yy741;
17967 	} else {
17968 		if (yych <= 'r') {
17969 			if (yych <= 'q') goto yy567;
17970 			goto yy741;
17971 		} else {
17972 			if (yych <= 's') goto yy742;
17973 			if (yych <= 't') goto yy743;
17974 			goto yy567;
17975 		}
17976 	}
17977 yy820:
17978 	YYDEBUG(820, *YYCURSOR);
17979 	yyaccept = 15;
17980 	yych = *(YYMARKER = ++YYCURSOR);
17981 	if (yych <= 'n') {
17982 		if (yych <= '/') goto yy567;
17983 		if (yych <= '1') goto yy821;
17984 		if (yych <= 'm') goto yy567;
17985 		goto yy741;
17986 	} else {
17987 		if (yych <= 'r') {
17988 			if (yych <= 'q') goto yy567;
17989 			goto yy741;
17990 		} else {
17991 			if (yych <= 's') goto yy742;
17992 			if (yych <= 't') goto yy743;
17993 			goto yy567;
17994 		}
17995 	}
17996 yy821:
17997 	YYDEBUG(821, *YYCURSOR);
17998 	yyaccept = 15;
17999 	yych = *(YYMARKER = ++YYCURSOR);
18000 	if (yych <= 'q') {
18001 		if (yych == 'n') goto yy741;
18002 		goto yy567;
18003 	} else {
18004 		if (yych <= 'r') goto yy741;
18005 		if (yych <= 's') goto yy742;
18006 		if (yych <= 't') goto yy743;
18007 		goto yy567;
18008 	}
18009 yy822:
18010 	YYDEBUG(822, *YYCURSOR);
18011 	yych = *++YYCURSOR;
18012 	if (yych <= '/') goto yy59;
18013 	if (yych <= '2') goto yy949;
18014 	if (yych <= '3') goto yy950;
18015 	if (yych <= '9') goto yy821;
18016 	goto yy59;
18017 yy823:
18018 	YYDEBUG(823, *YYCURSOR);
18019 	yych = *++YYCURSOR;
18020 	if (yych == '-') goto yy951;
18021 	goto yy59;
18022 yy824:
18023 	YYDEBUG(824, *YYCURSOR);
18024 	yych = *++YYCURSOR;
18025 	if (yych <= 'S') {
18026 		if (yych == '-') goto yy951;
18027 		goto yy59;
18028 	} else {
18029 		if (yych <= 'T') goto yy823;
18030 		if (yych == 't') goto yy823;
18031 		goto yy59;
18032 	}
18033 yy825:
18034 	YYDEBUG(825, *YYCURSOR);
18035 	yych = *++YYCURSOR;
18036 	if (yych <= '/') goto yy290;
18037 	if (yych <= '9') goto yy952;
18038 	goto yy290;
18039 yy826:
18040 	YYDEBUG(826, *YYCURSOR);
18041 	yych = *++YYCURSOR;
18042 	if (yych == ')') goto yy115;
18043 	goto yy20;
18044 yy827:
18045 	YYDEBUG(827, *YYCURSOR);
18046 	yych = *++YYCURSOR;
18047 	if (yych <= '9') {
18048 		if (yych <= ' ') {
18049 			if (yych <= 0x08) {
18050 				if (yych <= 0x00) goto yy324;
18051 				goto yy59;
18052 			} else {
18053 				if (yych <= '\t') goto yy326;
18054 				if (yych <= 0x1F) goto yy59;
18055 				goto yy326;
18056 			}
18057 		} else {
18058 			if (yych <= '-') {
18059 				if (yych <= '+') goto yy59;
18060 				if (yych <= ',') goto yy326;
18061 				goto yy953;
18062 			} else {
18063 				if (yych <= '.') goto yy326;
18064 				if (yych <= '/') goto yy59;
18065 				goto yy512;
18066 			}
18067 		}
18068 	} else {
18069 		if (yych <= 'm') {
18070 			if (yych <= 'd') {
18071 				if (yych <= 'c') goto yy59;
18072 				goto yy326;
18073 			} else {
18074 				if (yych == 'h') goto yy326;
18075 				goto yy59;
18076 			}
18077 		} else {
18078 			if (yych <= 'r') {
18079 				if (yych <= 'n') goto yy329;
18080 				if (yych <= 'q') goto yy59;
18081 				goto yy329;
18082 			} else {
18083 				if (yych <= 's') goto yy330;
18084 				if (yych <= 't') goto yy331;
18085 				goto yy59;
18086 			}
18087 		}
18088 	}
18089 yy828:
18090 	YYDEBUG(828, *YYCURSOR);
18091 	yyaccept = 7;
18092 	yych = *(YYMARKER = ++YYCURSOR);
18093 	if (yych <= '(') {
18094 		if (yych <= '\t') {
18095 			if (yych <= 0x08) goto yy295;
18096 			goto yy142;
18097 		} else {
18098 			if (yych == ' ') goto yy142;
18099 			goto yy295;
18100 		}
18101 	} else {
18102 		if (yych <= '.') {
18103 			if (yych <= ')') goto yy115;
18104 			if (yych <= ',') goto yy295;
18105 			goto yy142;
18106 		} else {
18107 			if (yych <= '/') goto yy295;
18108 			if (yych <= '9') goto yy142;
18109 			goto yy295;
18110 		}
18111 	}
18112 yy829:
18113 	YYDEBUG(829, *YYCURSOR);
18114 	yyaccept = 2;
18115 	yych = *(YYMARKER = ++YYCURSOR);
18116 	if (yybm[0+yych] & 128) {
18117 		goto yy954;
18118 	}
18119 	if (yych <= '-') {
18120 		if (yych == ')') goto yy115;
18121 		if (yych <= ',') goto yy20;
18122 		goto yy297;
18123 	} else {
18124 		if (yych <= '/') {
18125 			if (yych <= '.') goto yy20;
18126 			goto yy297;
18127 		} else {
18128 			if (yych == '_') goto yy297;
18129 			goto yy20;
18130 		}
18131 	}
18132 yy830:
18133 	YYDEBUG(830, *YYCURSOR);
18134 	yyaccept = 7;
18135 	yych = *(YYMARKER = ++YYCURSOR);
18136 	if (yybm[0+yych] & 128) {
18137 		goto yy954;
18138 	}
18139 	if (yych <= ',') {
18140 		if (yych <= 0x1F) {
18141 			if (yych == '\t') goto yy142;
18142 			goto yy295;
18143 		} else {
18144 			if (yych <= ' ') goto yy142;
18145 			if (yych == ')') goto yy115;
18146 			goto yy295;
18147 		}
18148 	} else {
18149 		if (yych <= '/') {
18150 			if (yych <= '-') goto yy700;
18151 			if (yych <= '.') goto yy142;
18152 			goto yy297;
18153 		} else {
18154 			if (yych <= '9') goto yy142;
18155 			if (yych == '_') goto yy297;
18156 			goto yy295;
18157 		}
18158 	}
18159 yy831:
18160 	YYDEBUG(831, *YYCURSOR);
18161 	yych = *++YYCURSOR;
18162 	if (yych == 'F') goto yy956;
18163 	if (yych == 'f') goto yy956;
18164 	goto yy59;
18165 yy832:
18166 	YYDEBUG(832, *YYCURSOR);
18167 	yyaccept = 2;
18168 	yych = *(YYMARKER = ++YYCURSOR);
18169 	if (yych <= 'D') {
18170 		if (yych == ')') goto yy115;
18171 		goto yy20;
18172 	} else {
18173 		if (yych <= 'E') goto yy957;
18174 		if (yych == 'e') goto yy957;
18175 		goto yy20;
18176 	}
18177 yy833:
18178 	YYDEBUG(833, *YYCURSOR);
18179 	yyaccept = 2;
18180 	yych = *(YYMARKER = ++YYCURSOR);
18181 	if (yych <= 'D') {
18182 		if (yych <= ',') {
18183 			if (yych == ')') goto yy115;
18184 			goto yy20;
18185 		} else {
18186 			if (yych == '.') goto yy20;
18187 			if (yych <= '/') goto yy297;
18188 			goto yy20;
18189 		}
18190 	} else {
18191 		if (yych <= '`') {
18192 			if (yych <= 'E') goto yy957;
18193 			if (yych == '_') goto yy297;
18194 			goto yy20;
18195 		} else {
18196 			if (yych == 'e') goto yy958;
18197 			if (yych <= 'z') goto yy954;
18198 			goto yy20;
18199 		}
18200 	}
18201 yy834:
18202 	YYDEBUG(834, *YYCURSOR);
18203 	++YYCURSOR;
18204 	if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
18205 	yych = *YYCURSOR;
18206 yy835:
18207 	YYDEBUG(835, *YYCURSOR);
18208 	if (yych <= 'X') {
18209 		if (yych <= 'G') {
18210 			if (yych <= ' ') {
18211 				if (yych == '\t') goto yy834;
18212 				if (yych <= 0x1F) goto yy59;
18213 				goto yy834;
18214 			} else {
18215 				if (yych <= 'D') {
18216 					if (yych <= 'C') goto yy59;
18217 					goto yy856;
18218 				} else {
18219 					if (yych == 'F') goto yy857;
18220 					goto yy59;
18221 				}
18222 			}
18223 		} else {
18224 			if (yych <= 'S') {
18225 				if (yych <= 'L') {
18226 					if (yych <= 'H') goto yy858;
18227 					goto yy59;
18228 				} else {
18229 					if (yych <= 'M') goto yy859;
18230 					if (yych <= 'R') goto yy59;
18231 					goto yy860;
18232 				}
18233 			} else {
18234 				if (yych <= 'U') {
18235 					if (yych <= 'T') goto yy861;
18236 					goto yy862;
18237 				} else {
18238 					if (yych == 'W') goto yy959;
18239 					goto yy59;
18240 				}
18241 			}
18242 		}
18243 	} else {
18244 		if (yych <= 'r') {
18245 			if (yych <= 'f') {
18246 				if (yych <= 'c') {
18247 					if (yych <= 'Y') goto yy864;
18248 					goto yy59;
18249 				} else {
18250 					if (yych <= 'd') goto yy856;
18251 					if (yych <= 'e') goto yy59;
18252 					goto yy857;
18253 				}
18254 			} else {
18255 				if (yych <= 'h') {
18256 					if (yych <= 'g') goto yy59;
18257 					goto yy858;
18258 				} else {
18259 					if (yych == 'm') goto yy859;
18260 					goto yy59;
18261 				}
18262 			}
18263 		} else {
18264 			if (yych <= 'w') {
18265 				if (yych <= 't') {
18266 					if (yych <= 's') goto yy860;
18267 					goto yy861;
18268 				} else {
18269 					if (yych <= 'u') goto yy862;
18270 					if (yych <= 'v') goto yy59;
18271 					goto yy959;
18272 				}
18273 			} else {
18274 				if (yych <= 'y') {
18275 					if (yych <= 'x') goto yy59;
18276 					goto yy864;
18277 				} else {
18278 					if (yych == 0xC2) goto yy865;
18279 					goto yy59;
18280 				}
18281 			}
18282 		}
18283 	}
18284 yy836:
18285 	YYDEBUG(836, *YYCURSOR);
18286 	yyaccept = 2;
18287 	yych = *(YYMARKER = ++YYCURSOR);
18288 	if (yych <= '(') {
18289 		if (yych <= '\t') {
18290 			if (yych <= 0x08) goto yy20;
18291 			goto yy834;
18292 		} else {
18293 			if (yych == ' ') goto yy834;
18294 			goto yy20;
18295 		}
18296 	} else {
18297 		if (yych <= 0xC2) {
18298 			if (yych <= ')') goto yy115;
18299 			if (yych <= 0xC1) goto yy20;
18300 		} else {
18301 			if (yych == 0xE2) goto yy838;
18302 			goto yy20;
18303 		}
18304 	}
18305 yy837:
18306 	YYDEBUG(837, *YYCURSOR);
18307 	yych = *++YYCURSOR;
18308 	if (yych == 0xA0) goto yy960;
18309 	goto yy59;
18310 yy838:
18311 	YYDEBUG(838, *YYCURSOR);
18312 	++YYCURSOR;
18313 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
18314 	yych = *YYCURSOR;
18315 	if (yych == 0x80) goto yy961;
18316 	goto yy59;
18317 yy839:
18318 	YYDEBUG(839, *YYCURSOR);
18319 	yyaccept = 2;
18320 	yych = *(YYMARKER = ++YYCURSOR);
18321 	if (yych <= 'S') {
18322 		if (yych == ')') goto yy115;
18323 		goto yy20;
18324 	} else {
18325 		if (yych <= 'T') goto yy962;
18326 		if (yych == 't') goto yy962;
18327 		goto yy20;
18328 	}
18329 yy840:
18330 	YYDEBUG(840, *YYCURSOR);
18331 	yyaccept = 2;
18332 	yych = *(YYMARKER = ++YYCURSOR);
18333 	if (yybm[0+yych] & 128) {
18334 		goto yy954;
18335 	}
18336 	if (yych <= '-') {
18337 		if (yych <= ' ') {
18338 			if (yych == '\t') goto yy834;
18339 			if (yych <= 0x1F) goto yy20;
18340 			goto yy834;
18341 		} else {
18342 			if (yych == ')') goto yy115;
18343 			if (yych <= ',') goto yy20;
18344 			goto yy297;
18345 		}
18346 	} else {
18347 		if (yych <= '_') {
18348 			if (yych == '/') goto yy297;
18349 			if (yych <= '^') goto yy20;
18350 			goto yy297;
18351 		} else {
18352 			if (yych <= 0xC2) {
18353 				if (yych <= 0xC1) goto yy20;
18354 				goto yy837;
18355 			} else {
18356 				if (yych == 0xE2) goto yy838;
18357 				goto yy20;
18358 			}
18359 		}
18360 	}
18361 yy841:
18362 	YYDEBUG(841, *YYCURSOR);
18363 	yyaccept = 2;
18364 	yych = *(YYMARKER = ++YYCURSOR);
18365 	if (yych <= 'S') {
18366 		if (yych <= ',') {
18367 			if (yych == ')') goto yy115;
18368 			goto yy20;
18369 		} else {
18370 			if (yych == '.') goto yy20;
18371 			if (yych <= '/') goto yy297;
18372 			goto yy20;
18373 		}
18374 	} else {
18375 		if (yych <= '`') {
18376 			if (yych <= 'T') goto yy962;
18377 			if (yych == '_') goto yy297;
18378 			goto yy20;
18379 		} else {
18380 			if (yych == 't') goto yy963;
18381 			if (yych <= 'z') goto yy954;
18382 			goto yy20;
18383 		}
18384 	}
18385 yy842:
18386 	YYDEBUG(842, *YYCURSOR);
18387 	yyaccept = 2;
18388 	yych = *(YYMARKER = ++YYCURSOR);
18389 	if (yych <= 'Q') {
18390 		if (yych == ')') goto yy115;
18391 		goto yy20;
18392 	} else {
18393 		if (yych <= 'R') goto yy964;
18394 		if (yych == 'r') goto yy964;
18395 		goto yy20;
18396 	}
18397 yy843:
18398 	YYDEBUG(843, *YYCURSOR);
18399 	yych = *++YYCURSOR;
18400 	if (yych == 'D') goto yy866;
18401 	if (yych == 'd') goto yy866;
18402 	goto yy835;
18403 yy844:
18404 	YYDEBUG(844, *YYCURSOR);
18405 	yych = *++YYCURSOR;
18406 	if (yych <= 'R') {
18407 		if (yych == ')') goto yy115;
18408 		goto yy315;
18409 	} else {
18410 		if (yych <= 'S') goto yy965;
18411 		if (yych == 's') goto yy965;
18412 		goto yy315;
18413 	}
18414 yy845:
18415 	YYDEBUG(845, *YYCURSOR);
18416 	yyaccept = 2;
18417 	yych = *(YYMARKER = ++YYCURSOR);
18418 	if (yych <= 'Q') {
18419 		if (yych <= ',') {
18420 			if (yych == ')') goto yy115;
18421 			goto yy20;
18422 		} else {
18423 			if (yych == '.') goto yy20;
18424 			if (yych <= '/') goto yy297;
18425 			goto yy20;
18426 		}
18427 	} else {
18428 		if (yych <= '`') {
18429 			if (yych <= 'R') goto yy964;
18430 			if (yych == '_') goto yy297;
18431 			goto yy20;
18432 		} else {
18433 			if (yych == 'r') goto yy966;
18434 			if (yych <= 'z') goto yy954;
18435 			goto yy20;
18436 		}
18437 	}
18438 yy846:
18439 	YYDEBUG(846, *YYCURSOR);
18440 	yyaccept = 9;
18441 	yych = *(YYMARKER = ++YYCURSOR);
18442 	if (yych <= 'R') {
18443 		if (yych <= ',') {
18444 			if (yych == ')') goto yy115;
18445 			goto yy315;
18446 		} else {
18447 			if (yych == '.') goto yy315;
18448 			if (yych <= '/') goto yy297;
18449 			goto yy315;
18450 		}
18451 	} else {
18452 		if (yych <= '`') {
18453 			if (yych <= 'S') goto yy965;
18454 			if (yych == '_') goto yy297;
18455 			goto yy315;
18456 		} else {
18457 			if (yych == 's') goto yy967;
18458 			if (yych <= 'z') goto yy954;
18459 			goto yy315;
18460 		}
18461 	}
18462 yy847:
18463 	YYDEBUG(847, *YYCURSOR);
18464 	yyaccept = 2;
18465 	yych = *(YYMARKER = ++YYCURSOR);
18466 	if (yych <= '/') goto yy20;
18467 	if (yych <= '5') goto yy968;
18468 	if (yych <= '9') goto yy115;
18469 	if (yych <= ':') goto yy393;
18470 	goto yy20;
18471 yy848:
18472 	YYDEBUG(848, *YYCURSOR);
18473 	yyaccept = 20;
18474 	yych = *(YYMARKER = ++YYCURSOR);
18475 	if (yych <= '/') {
18476 		if (yych == '.') goto yy969;
18477 	} else {
18478 		if (yych <= '9') goto yy850;
18479 		if (yych <= ':') goto yy969;
18480 	}
18481 yy849:
18482 	YYDEBUG(849, *YYCURSOR);
18483 #line 1924 "ext/date/lib/parse_date.re"
18484 	{
18485 		int tz_not_found;
18486 		DEBUG_OUTPUT("dateshortwithtimeshort | dateshortwithtimelong | dateshortwithtimelongtz");
18487 		TIMELIB_INIT;
18488 		TIMELIB_HAVE_DATE();
18489 		s->time->m = timelib_get_month(&ptr);
18490 		s->time->d = timelib_get_nr(&ptr, 2);
18491 
18492 		TIMELIB_HAVE_TIME();
18493 		s->time->h = timelib_get_nr(&ptr, 2);
18494 		s->time->i = timelib_get_nr(&ptr, 2);
18495 		if (*ptr == ':') {
18496 			s->time->s = timelib_get_nr(&ptr, 2);
18497 
18498 			if (*ptr == '.') {
18499 				s->time->us = timelib_get_frac_nr(&ptr);
18500 			}
18501 		}
18502 
18503 		if (*ptr != '\0') {
18504 			s->time->z = timelib_parse_zone(&ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
18505 			if (tz_not_found) {
18506 				add_error(s, TIMELIB_ERR_TZID_NOT_FOUND, "The timezone could not be found in the database");
18507 			}
18508 		}
18509 		TIMELIB_DEINIT;
18510 		return TIMELIB_SHORTDATE_WITH_TIME;
18511 	}
18512 #line 18513 "<stdout>"
18513 yy850:
18514 	YYDEBUG(850, *YYCURSOR);
18515 	yyaccept = 20;
18516 	yych = *(YYMARKER = ++YYCURSOR);
18517 	if (yych == '.') goto yy969;
18518 	if (yych == ':') goto yy969;
18519 	goto yy849;
18520 yy851:
18521 	YYDEBUG(851, *YYCURSOR);
18522 	yyaccept = 20;
18523 	yych = *(YYMARKER = ++YYCURSOR);
18524 	if (yych <= '/') {
18525 		if (yych == '.') goto yy970;
18526 		goto yy849;
18527 	} else {
18528 		if (yych <= '9') goto yy971;
18529 		if (yych <= ':') goto yy970;
18530 		goto yy849;
18531 	}
18532 yy852:
18533 	YYDEBUG(852, *YYCURSOR);
18534 	yyaccept = 20;
18535 	yych = *(YYMARKER = ++YYCURSOR);
18536 	if (yych == '.') goto yy970;
18537 	if (yych == ':') goto yy970;
18538 	goto yy849;
18539 yy853:
18540 	YYDEBUG(853, *YYCURSOR);
18541 	yych = *++YYCURSOR;
18542 	if (yych <= '/') goto yy325;
18543 	if (yych <= '9') goto yy972;
18544 	goto yy325;
18545 yy854:
18546 	YYDEBUG(854, *YYCURSOR);
18547 	yych = *++YYCURSOR;
18548 	if (yych <= 'X') {
18549 		if (yych == ')') goto yy115;
18550 		goto yy20;
18551 	} else {
18552 		if (yych <= 'Y') goto yy973;
18553 		if (yych == 'y') goto yy973;
18554 		goto yy20;
18555 	}
18556 yy855:
18557 	YYDEBUG(855, *YYCURSOR);
18558 	yyaccept = 2;
18559 	yych = *(YYMARKER = ++YYCURSOR);
18560 	if (yych <= 'X') {
18561 		if (yych <= ',') {
18562 			if (yych == ')') goto yy115;
18563 			goto yy20;
18564 		} else {
18565 			if (yych == '.') goto yy20;
18566 			if (yych <= '/') goto yy297;
18567 			goto yy20;
18568 		}
18569 	} else {
18570 		if (yych <= '`') {
18571 			if (yych <= 'Y') goto yy973;
18572 			if (yych == '_') goto yy297;
18573 			goto yy20;
18574 		} else {
18575 			if (yych == 'y') goto yy974;
18576 			if (yych <= 'z') goto yy954;
18577 			goto yy20;
18578 		}
18579 	}
18580 yy856:
18581 	YYDEBUG(856, *YYCURSOR);
18582 	yych = *++YYCURSOR;
18583 	if (yych == 'A') goto yy975;
18584 	if (yych == 'a') goto yy975;
18585 	goto yy59;
18586 yy857:
18587 	YYDEBUG(857, *YYCURSOR);
18588 	yych = *++YYCURSOR;
18589 	if (yych <= 'R') {
18590 		if (yych == 'O') goto yy976;
18591 		if (yych <= 'Q') goto yy59;
18592 		goto yy977;
18593 	} else {
18594 		if (yych <= 'o') {
18595 			if (yych <= 'n') goto yy59;
18596 			goto yy976;
18597 		} else {
18598 			if (yych == 'r') goto yy977;
18599 			goto yy59;
18600 		}
18601 	}
18602 yy858:
18603 	YYDEBUG(858, *YYCURSOR);
18604 	yych = *++YYCURSOR;
18605 	if (yych == 'O') goto yy978;
18606 	if (yych == 'o') goto yy978;
18607 	goto yy59;
18608 yy859:
18609 	YYDEBUG(859, *YYCURSOR);
18610 	yych = *++YYCURSOR;
18611 	if (yych <= 'S') {
18612 		if (yych <= 'N') {
18613 			if (yych == 'I') goto yy979;
18614 			goto yy59;
18615 		} else {
18616 			if (yych <= 'O') goto yy980;
18617 			if (yych <= 'R') goto yy59;
18618 			goto yy981;
18619 		}
18620 	} else {
18621 		if (yych <= 'n') {
18622 			if (yych == 'i') goto yy979;
18623 			goto yy59;
18624 		} else {
18625 			if (yych <= 'o') goto yy980;
18626 			if (yych == 's') goto yy981;
18627 			goto yy59;
18628 		}
18629 	}
18630 yy860:
18631 	YYDEBUG(860, *YYCURSOR);
18632 	yych = *++YYCURSOR;
18633 	if (yych <= 'U') {
18634 		if (yych <= 'D') {
18635 			if (yych == 'A') goto yy983;
18636 			goto yy59;
18637 		} else {
18638 			if (yych <= 'E') goto yy984;
18639 			if (yych <= 'T') goto yy59;
18640 			goto yy985;
18641 		}
18642 	} else {
18643 		if (yych <= 'd') {
18644 			if (yych == 'a') goto yy983;
18645 			goto yy59;
18646 		} else {
18647 			if (yych <= 'e') goto yy984;
18648 			if (yych == 'u') goto yy985;
18649 			goto yy59;
18650 		}
18651 	}
18652 yy861:
18653 	YYDEBUG(861, *YYCURSOR);
18654 	yych = *++YYCURSOR;
18655 	if (yych <= 'U') {
18656 		if (yych == 'H') goto yy986;
18657 		if (yych <= 'T') goto yy59;
18658 		goto yy987;
18659 	} else {
18660 		if (yych <= 'h') {
18661 			if (yych <= 'g') goto yy59;
18662 			goto yy986;
18663 		} else {
18664 			if (yych == 'u') goto yy987;
18665 			goto yy59;
18666 		}
18667 	}
18668 yy862:
18669 	YYDEBUG(862, *YYCURSOR);
18670 	yych = *++YYCURSOR;
18671 	if (yych == 'S') goto yy988;
18672 	if (yych == 's') goto yy988;
18673 	goto yy59;
18674 yy863:
18675 	YYDEBUG(863, *YYCURSOR);
18676 	yych = *++YYCURSOR;
18677 	if (yych == 'E') goto yy989;
18678 	if (yych == 'e') goto yy989;
18679 	goto yy59;
18680 yy864:
18681 	YYDEBUG(864, *YYCURSOR);
18682 	yych = *++YYCURSOR;
18683 	if (yych == 'E') goto yy990;
18684 	if (yych == 'e') goto yy990;
18685 	goto yy59;
18686 yy865:
18687 	YYDEBUG(865, *YYCURSOR);
18688 	yych = *++YYCURSOR;
18689 	if (yych == 0xB5) goto yy991;
18690 	goto yy59;
18691 yy866:
18692 	YYDEBUG(866, *YYCURSOR);
18693 	yych = *++YYCURSOR;
18694 	if (yych == 'A') goto yy992;
18695 	if (yych == 'a') goto yy992;
18696 	goto yy59;
18697 yy867:
18698 	YYDEBUG(867, *YYCURSOR);
18699 	++YYCURSOR;
18700 	if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
18701 	yych = *YYCURSOR;
18702 	if (yych <= 'c') {
18703 		if (yych <= 'M') {
18704 			if (yych <= 'F') {
18705 				if (yych == 'D') goto yy856;
18706 				if (yych <= 'E') goto yy59;
18707 				goto yy857;
18708 			} else {
18709 				if (yych == 'H') goto yy858;
18710 				if (yych <= 'L') goto yy59;
18711 				goto yy859;
18712 			}
18713 		} else {
18714 			if (yych <= 'U') {
18715 				if (yych <= 'R') goto yy59;
18716 				if (yych <= 'S') goto yy860;
18717 				if (yych <= 'T') goto yy861;
18718 				goto yy862;
18719 			} else {
18720 				if (yych <= 'W') {
18721 					if (yych <= 'V') goto yy59;
18722 					goto yy863;
18723 				} else {
18724 					if (yych == 'Y') goto yy864;
18725 					goto yy59;
18726 				}
18727 			}
18728 		}
18729 	} else {
18730 		if (yych <= 's') {
18731 			if (yych <= 'g') {
18732 				if (yych <= 'd') goto yy856;
18733 				if (yych == 'f') goto yy857;
18734 				goto yy59;
18735 			} else {
18736 				if (yych <= 'l') {
18737 					if (yych <= 'h') goto yy858;
18738 					goto yy59;
18739 				} else {
18740 					if (yych <= 'm') goto yy859;
18741 					if (yych <= 'r') goto yy59;
18742 					goto yy860;
18743 				}
18744 			}
18745 		} else {
18746 			if (yych <= 'w') {
18747 				if (yych <= 't') goto yy861;
18748 				if (yych <= 'u') goto yy862;
18749 				if (yych <= 'v') goto yy59;
18750 				goto yy863;
18751 			} else {
18752 				if (yych <= 'y') {
18753 					if (yych <= 'x') goto yy59;
18754 					goto yy864;
18755 				} else {
18756 					if (yych == 0xC2) goto yy993;
18757 					goto yy59;
18758 				}
18759 			}
18760 		}
18761 	}
18762 yy868:
18763 	YYDEBUG(868, *YYCURSOR);
18764 	++YYCURSOR;
18765 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
18766 	yych = *YYCURSOR;
18767 	if (yych == 0xAF) goto yy994;
18768 	goto yy59;
18769 yy869:
18770 	YYDEBUG(869, *YYCURSOR);
18771 	yyaccept = 2;
18772 	yych = *(YYMARKER = ++YYCURSOR);
18773 	if (yych <= 'G') {
18774 		if (yych == ')') goto yy115;
18775 		goto yy20;
18776 	} else {
18777 		if (yych <= 'H') goto yy995;
18778 		if (yych == 'h') goto yy995;
18779 		goto yy20;
18780 	}
18781 yy870:
18782 	YYDEBUG(870, *YYCURSOR);
18783 	yyaccept = 2;
18784 	yych = *(YYMARKER = ++YYCURSOR);
18785 	if (yych <= 'G') {
18786 		if (yych <= ',') {
18787 			if (yych == ')') goto yy115;
18788 			goto yy20;
18789 		} else {
18790 			if (yych == '.') goto yy20;
18791 			if (yych <= '/') goto yy297;
18792 			goto yy20;
18793 		}
18794 	} else {
18795 		if (yych <= '`') {
18796 			if (yych <= 'H') goto yy995;
18797 			if (yych == '_') goto yy297;
18798 			goto yy20;
18799 		} else {
18800 			if (yych == 'h') goto yy996;
18801 			if (yych <= 'z') goto yy954;
18802 			goto yy20;
18803 		}
18804 	}
18805 yy871:
18806 	YYDEBUG(871, *YYCURSOR);
18807 	yych = *++YYCURSOR;
18808 	if (yych <= 'Q') {
18809 		if (yych == ')') goto yy115;
18810 		goto yy20;
18811 	} else {
18812 		if (yych <= 'R') goto yy973;
18813 		if (yych == 'r') goto yy973;
18814 		goto yy20;
18815 	}
18816 yy872:
18817 	YYDEBUG(872, *YYCURSOR);
18818 	yyaccept = 2;
18819 	yych = *(YYMARKER = ++YYCURSOR);
18820 	if (yych <= 'Q') {
18821 		if (yych <= ',') {
18822 			if (yych == ')') goto yy115;
18823 			goto yy20;
18824 		} else {
18825 			if (yych == '.') goto yy20;
18826 			if (yych <= '/') goto yy297;
18827 			goto yy20;
18828 		}
18829 	} else {
18830 		if (yych <= '`') {
18831 			if (yych <= 'R') goto yy973;
18832 			if (yych == '_') goto yy297;
18833 			goto yy20;
18834 		} else {
18835 			if (yych == 'r') goto yy974;
18836 			if (yych <= 'z') goto yy954;
18837 			goto yy20;
18838 		}
18839 	}
18840 yy873:
18841 	YYDEBUG(873, *YYCURSOR);
18842 	yyaccept = 2;
18843 	yych = *(YYMARKER = ++YYCURSOR);
18844 	if (yych <= 'T') {
18845 		if (yych == ')') goto yy115;
18846 		goto yy20;
18847 	} else {
18848 		if (yych <= 'U') goto yy997;
18849 		if (yych == 'u') goto yy997;
18850 		goto yy20;
18851 	}
18852 yy874:
18853 	YYDEBUG(874, *YYCURSOR);
18854 	yyaccept = 2;
18855 	yych = *(YYMARKER = ++YYCURSOR);
18856 	if (yych <= 'T') {
18857 		if (yych <= ',') {
18858 			if (yych == ')') goto yy115;
18859 			goto yy20;
18860 		} else {
18861 			if (yych == '.') goto yy20;
18862 			if (yych <= '/') goto yy297;
18863 			goto yy20;
18864 		}
18865 	} else {
18866 		if (yych <= '`') {
18867 			if (yych <= 'U') goto yy997;
18868 			if (yych == '_') goto yy297;
18869 			goto yy20;
18870 		} else {
18871 			if (yych == 'u') goto yy998;
18872 			if (yych <= 'z') goto yy954;
18873 			goto yy20;
18874 		}
18875 	}
18876 yy875:
18877 	YYDEBUG(875, *YYCURSOR);
18878 	yyaccept = 2;
18879 	yych = *(YYMARKER = ++YYCURSOR);
18880 	if (yych <= '@') {
18881 		if (yych == ')') goto yy115;
18882 		goto yy20;
18883 	} else {
18884 		if (yych <= 'A') goto yy999;
18885 		if (yych == 'a') goto yy999;
18886 		goto yy20;
18887 	}
18888 yy876:
18889 	YYDEBUG(876, *YYCURSOR);
18890 	yyaccept = 2;
18891 	yych = *(YYMARKER = ++YYCURSOR);
18892 	if (yych <= 'A') {
18893 		if (yych == ')') goto yy115;
18894 		goto yy20;
18895 	} else {
18896 		if (yych <= 'B') goto yy1000;
18897 		if (yych == 'b') goto yy1000;
18898 		goto yy20;
18899 	}
18900 yy877:
18901 	YYDEBUG(877, *YYCURSOR);
18902 	yyaccept = 2;
18903 	yych = *(YYMARKER = ++YYCURSOR);
18904 	if (yych <= 'G') {
18905 		if (yych == ')') goto yy115;
18906 		goto yy20;
18907 	} else {
18908 		if (yych <= 'H') goto yy1001;
18909 		if (yych == 'h') goto yy1001;
18910 		goto yy20;
18911 	}
18912 yy878:
18913 	YYDEBUG(878, *YYCURSOR);
18914 	yyaccept = 2;
18915 	yych = *(YYMARKER = ++YYCURSOR);
18916 	if (yych <= '@') {
18917 		if (yych <= ',') {
18918 			if (yych == ')') goto yy115;
18919 			goto yy20;
18920 		} else {
18921 			if (yych == '.') goto yy20;
18922 			if (yych <= '/') goto yy297;
18923 			goto yy20;
18924 		}
18925 	} else {
18926 		if (yych <= '_') {
18927 			if (yych <= 'A') goto yy999;
18928 			if (yych <= '^') goto yy20;
18929 			goto yy297;
18930 		} else {
18931 			if (yych <= '`') goto yy20;
18932 			if (yych <= 'a') goto yy1002;
18933 			if (yych <= 'z') goto yy954;
18934 			goto yy20;
18935 		}
18936 	}
18937 yy879:
18938 	YYDEBUG(879, *YYCURSOR);
18939 	yyaccept = 2;
18940 	yych = *(YYMARKER = ++YYCURSOR);
18941 	if (yych <= 'A') {
18942 		if (yych <= ',') {
18943 			if (yych == ')') goto yy115;
18944 			goto yy20;
18945 		} else {
18946 			if (yych == '.') goto yy20;
18947 			if (yych <= '/') goto yy297;
18948 			goto yy20;
18949 		}
18950 	} else {
18951 		if (yych <= '`') {
18952 			if (yych <= 'B') goto yy1000;
18953 			if (yych == '_') goto yy297;
18954 			goto yy20;
18955 		} else {
18956 			if (yych == 'b') goto yy1003;
18957 			if (yych <= 'z') goto yy954;
18958 			goto yy20;
18959 		}
18960 	}
18961 yy880:
18962 	YYDEBUG(880, *YYCURSOR);
18963 	yyaccept = 2;
18964 	yych = *(YYMARKER = ++YYCURSOR);
18965 	if (yych <= 'G') {
18966 		if (yych <= ',') {
18967 			if (yych == ')') goto yy115;
18968 			goto yy20;
18969 		} else {
18970 			if (yych == '.') goto yy20;
18971 			if (yych <= '/') goto yy297;
18972 			goto yy20;
18973 		}
18974 	} else {
18975 		if (yych <= '`') {
18976 			if (yych <= 'H') goto yy1001;
18977 			if (yych == '_') goto yy297;
18978 			goto yy20;
18979 		} else {
18980 			if (yych == 'h') goto yy1004;
18981 			if (yych <= 'z') goto yy954;
18982 			goto yy20;
18983 		}
18984 	}
18985 yy881:
18986 	YYDEBUG(881, *YYCURSOR);
18987 	yych = *++YYCURSOR;
18988 	if (yych <= '/') goto yy59;
18989 	if (yych <= '9') goto yy1005;
18990 	goto yy59;
18991 yy882:
18992 	YYDEBUG(882, *YYCURSOR);
18993 	yych = *++YYCURSOR;
18994 	if (yych == '0') goto yy1005;
18995 	goto yy59;
18996 yy883:
18997 	YYDEBUG(883, *YYCURSOR);
18998 	yyaccept = 2;
18999 	yych = *(YYMARKER = ++YYCURSOR);
19000 	if (yych <= 'N') {
19001 		if (yych == ')') goto yy115;
19002 		goto yy20;
19003 	} else {
19004 		if (yych <= 'O') goto yy1006;
19005 		if (yych == 'o') goto yy1006;
19006 		goto yy20;
19007 	}
19008 yy884:
19009 	YYDEBUG(884, *YYCURSOR);
19010 	yych = *++YYCURSOR;
19011 	if (yych <= 'X') {
19012 		if (yych == ')') goto yy115;
19013 		goto yy20;
19014 	} else {
19015 		if (yych <= 'Y') goto yy1007;
19016 		if (yych == 'y') goto yy1007;
19017 		goto yy20;
19018 	}
19019 yy885:
19020 	YYDEBUG(885, *YYCURSOR);
19021 	yyaccept = 2;
19022 	yych = *(YYMARKER = ++YYCURSOR);
19023 	if (yych <= 'N') {
19024 		if (yych <= ',') {
19025 			if (yych == ')') goto yy115;
19026 			goto yy20;
19027 		} else {
19028 			if (yych == '.') goto yy20;
19029 			if (yych <= '/') goto yy297;
19030 			goto yy20;
19031 		}
19032 	} else {
19033 		if (yych <= '`') {
19034 			if (yych <= 'O') goto yy1006;
19035 			if (yych == '_') goto yy297;
19036 			goto yy20;
19037 		} else {
19038 			if (yych == 'o') goto yy1008;
19039 			if (yych <= 'z') goto yy954;
19040 			goto yy20;
19041 		}
19042 	}
19043 yy886:
19044 	YYDEBUG(886, *YYCURSOR);
19045 	yyaccept = 2;
19046 	yych = *(YYMARKER = ++YYCURSOR);
19047 	if (yych <= 'X') {
19048 		if (yych <= ',') {
19049 			if (yych == ')') goto yy115;
19050 			goto yy20;
19051 		} else {
19052 			if (yych == '.') goto yy20;
19053 			if (yych <= '/') goto yy297;
19054 			goto yy20;
19055 		}
19056 	} else {
19057 		if (yych <= '`') {
19058 			if (yych <= 'Y') goto yy1007;
19059 			if (yych == '_') goto yy297;
19060 			goto yy20;
19061 		} else {
19062 			if (yych == 'y') goto yy1009;
19063 			if (yych <= 'z') goto yy954;
19064 			goto yy20;
19065 		}
19066 	}
19067 yy887:
19068 	YYDEBUG(887, *YYCURSOR);
19069 	yyaccept = 2;
19070 	yych = *(YYMARKER = ++YYCURSOR);
19071 	if (yych <= 'C') {
19072 		if (yych == ')') goto yy115;
19073 		goto yy20;
19074 	} else {
19075 		if (yych <= 'D') goto yy1010;
19076 		if (yych == 'd') goto yy1010;
19077 		goto yy20;
19078 	}
19079 yy888:
19080 	YYDEBUG(888, *YYCURSOR);
19081 	yyaccept = 2;
19082 	yych = *(YYMARKER = ++YYCURSOR);
19083 	if (yych <= 'C') {
19084 		if (yych <= ',') {
19085 			if (yych == ')') goto yy115;
19086 			goto yy20;
19087 		} else {
19088 			if (yych == '.') goto yy20;
19089 			if (yych <= '/') goto yy297;
19090 			goto yy20;
19091 		}
19092 	} else {
19093 		if (yych <= '`') {
19094 			if (yych <= 'D') goto yy1010;
19095 			if (yych == '_') goto yy297;
19096 			goto yy20;
19097 		} else {
19098 			if (yych == 'd') goto yy1011;
19099 			if (yych <= 'z') goto yy954;
19100 			goto yy20;
19101 		}
19102 	}
19103 yy889:
19104 	YYDEBUG(889, *YYCURSOR);
19105 	yyaccept = 2;
19106 	yych = *(YYMARKER = ++YYCURSOR);
19107 	if (yych <= 'C') {
19108 		if (yych == ')') goto yy115;
19109 		goto yy20;
19110 	} else {
19111 		if (yych <= 'D') goto yy1012;
19112 		if (yych == 'd') goto yy1012;
19113 		goto yy20;
19114 	}
19115 yy890:
19116 	YYDEBUG(890, *YYCURSOR);
19117 	yyaccept = 2;
19118 	yych = *(YYMARKER = ++YYCURSOR);
19119 	if (yych <= 'C') {
19120 		if (yych <= ',') {
19121 			if (yych == ')') goto yy115;
19122 			goto yy20;
19123 		} else {
19124 			if (yych == '.') goto yy20;
19125 			if (yych <= '/') goto yy297;
19126 			goto yy20;
19127 		}
19128 	} else {
19129 		if (yych <= '`') {
19130 			if (yych <= 'D') goto yy1012;
19131 			if (yych == '_') goto yy297;
19132 			goto yy20;
19133 		} else {
19134 			if (yych == 'd') goto yy1013;
19135 			if (yych <= 'z') goto yy954;
19136 			goto yy20;
19137 		}
19138 	}
19139 yy891:
19140 	YYDEBUG(891, *YYCURSOR);
19141 	yych = *++YYCURSOR;
19142 	if (yych <= '/') goto yy59;
19143 	if (yych <= '9') goto yy1014;
19144 	goto yy59;
19145 yy892:
19146 	YYDEBUG(892, *YYCURSOR);
19147 	yych = *++YYCURSOR;
19148 	if (yych <= '/') goto yy59;
19149 	if (yych <= '2') goto yy1014;
19150 	goto yy59;
19151 yy893:
19152 	YYDEBUG(893, *YYCURSOR);
19153 	yych = *++YYCURSOR;
19154 	if (yych <= '/') goto yy59;
19155 	if (yych <= '0') goto yy1015;
19156 	if (yych <= '1') goto yy1016;
19157 	goto yy59;
19158 yy894:
19159 	YYDEBUG(894, *YYCURSOR);
19160 	yyaccept = 2;
19161 	yych = *(YYMARKER = ++YYCURSOR);
19162 	if (yych <= 'W') {
19163 		if (yych <= 'D') {
19164 			if (yych <= ',') {
19165 				if (yych <= '\t') {
19166 					if (yych <= 0x08) goto yy20;
19167 					goto yy196;
19168 				} else {
19169 					if (yych == ' ') goto yy196;
19170 					goto yy20;
19171 				}
19172 			} else {
19173 				if (yych <= '/') {
19174 					if (yych <= '-') goto yy893;
19175 					goto yy20;
19176 				} else {
19177 					if (yych <= '9') goto yy1017;
19178 					if (yych <= 'C') goto yy20;
19179 					goto yy196;
19180 				}
19181 			}
19182 		} else {
19183 			if (yych <= 'L') {
19184 				if (yych <= 'F') {
19185 					if (yych <= 'E') goto yy20;
19186 					goto yy196;
19187 				} else {
19188 					if (yych == 'H') goto yy196;
19189 					goto yy20;
19190 				}
19191 			} else {
19192 				if (yych <= 'R') {
19193 					if (yych <= 'M') goto yy196;
19194 					goto yy20;
19195 				} else {
19196 					if (yych == 'V') goto yy20;
19197 					goto yy196;
19198 				}
19199 			}
19200 		}
19201 	} else {
19202 		if (yych <= 'm') {
19203 			if (yych <= 'e') {
19204 				if (yych <= 'Y') {
19205 					if (yych <= 'X') goto yy20;
19206 					goto yy196;
19207 				} else {
19208 					if (yych == 'd') goto yy196;
19209 					goto yy20;
19210 				}
19211 			} else {
19212 				if (yych <= 'g') {
19213 					if (yych <= 'f') goto yy196;
19214 					goto yy20;
19215 				} else {
19216 					if (yych <= 'h') goto yy196;
19217 					if (yych <= 'l') goto yy20;
19218 					goto yy196;
19219 				}
19220 			}
19221 		} else {
19222 			if (yych <= 'x') {
19223 				if (yych <= 'u') {
19224 					if (yych <= 'r') goto yy20;
19225 					goto yy196;
19226 				} else {
19227 					if (yych == 'w') goto yy196;
19228 					goto yy20;
19229 				}
19230 			} else {
19231 				if (yych <= 0xC2) {
19232 					if (yych <= 'y') goto yy196;
19233 					if (yych <= 0xC1) goto yy20;
19234 					goto yy97;
19235 				} else {
19236 					if (yych == 0xE2) goto yy98;
19237 					goto yy20;
19238 				}
19239 			}
19240 		}
19241 	}
19242 yy895:
19243 	YYDEBUG(895, *YYCURSOR);
19244 	yych = *++YYCURSOR;
19245 	if (yych <= '9') {
19246 		if (yych == '-') goto yy893;
19247 		if (yych <= '/') goto yy196;
19248 		goto yy1017;
19249 	} else {
19250 		if (yych <= 0xC2) {
19251 			if (yych <= 0xC1) goto yy196;
19252 			goto yy97;
19253 		} else {
19254 			if (yych == 0xE2) goto yy98;
19255 			goto yy196;
19256 		}
19257 	}
19258 yy896:
19259 	YYDEBUG(896, *YYCURSOR);
19260 	yych = *++YYCURSOR;
19261 	if (yych <= '/') goto yy59;
19262 	if (yych <= '5') goto yy1018;
19263 	if (yych <= '6') goto yy1019;
19264 	goto yy59;
19265 yy897:
19266 	YYDEBUG(897, *YYCURSOR);
19267 	yych = *++YYCURSOR;
19268 	if (yych <= '/') goto yy59;
19269 	if (yych <= '9') goto yy1020;
19270 	goto yy59;
19271 yy898:
19272 	YYDEBUG(898, *YYCURSOR);
19273 	++YYCURSOR;
19274 	goto yy567;
19275 yy899:
19276 	YYDEBUG(899, *YYCURSOR);
19277 	++YYCURSOR;
19278 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
19279 	yych = *YYCURSOR;
19280 	YYDEBUG(900, *YYCURSOR);
19281 	if (yych <= '/') goto yy177;
19282 	if (yych <= '9') goto yy899;
19283 	goto yy177;
19284 yy901:
19285 	YYDEBUG(901, *YYCURSOR);
19286 	yych = *++YYCURSOR;
19287 	if (yych <= '/') goto yy224;
19288 	if (yych <= '9') goto yy1022;
19289 	goto yy224;
19290 yy902:
19291 	YYDEBUG(902, *YYCURSOR);
19292 	yych = *++YYCURSOR;
19293 	if (yych <= '/') goto yy59;
19294 	if (yych <= '9') goto yy1023;
19295 	goto yy59;
19296 yy903:
19297 	YYDEBUG(903, *YYCURSOR);
19298 	yyaccept = 15;
19299 	yych = *(YYMARKER = ++YYCURSOR);
19300 	if (yych <= 'n') {
19301 		if (yych <= '/') goto yy567;
19302 		if (yych <= '9') goto yy1024;
19303 		if (yych <= 'm') goto yy567;
19304 		goto yy741;
19305 	} else {
19306 		if (yych <= 'r') {
19307 			if (yych <= 'q') goto yy567;
19308 			goto yy741;
19309 		} else {
19310 			if (yych <= 's') goto yy742;
19311 			if (yych <= 't') goto yy743;
19312 			goto yy567;
19313 		}
19314 	}
19315 yy904:
19316 	YYDEBUG(904, *YYCURSOR);
19317 	yyaccept = 15;
19318 	yych = *(YYMARKER = ++YYCURSOR);
19319 	if (yych <= 'n') {
19320 		if (yych <= '1') {
19321 			if (yych <= '/') goto yy567;
19322 			goto yy1024;
19323 		} else {
19324 			if (yych <= '9') goto yy737;
19325 			if (yych <= 'm') goto yy567;
19326 			goto yy741;
19327 		}
19328 	} else {
19329 		if (yych <= 'r') {
19330 			if (yych <= 'q') goto yy567;
19331 			goto yy741;
19332 		} else {
19333 			if (yych <= 's') goto yy742;
19334 			if (yych <= 't') goto yy743;
19335 			goto yy567;
19336 		}
19337 	}
19338 yy905:
19339 	YYDEBUG(905, *YYCURSOR);
19340 	yych = *++YYCURSOR;
19341 	if (yych <= '/') goto yy59;
19342 	if (yych <= '2') goto yy1026;
19343 	if (yych <= '3') goto yy1027;
19344 	if (yych <= '9') goto yy1028;
19345 	goto yy59;
19346 yy906:
19347 	YYDEBUG(906, *YYCURSOR);
19348 	yyaccept = 18;
19349 	yych = *(YYMARKER = ++YYCURSOR);
19350 	if (yych == '-') goto yy1029;
19351 	if (yych <= '0') goto yy752;
19352 	if (yych <= '9') goto yy1030;
19353 	goto yy752;
19354 yy907:
19355 	YYDEBUG(907, *YYCURSOR);
19356 	yyaccept = 18;
19357 	yych = *(YYMARKER = ++YYCURSOR);
19358 	if (yych == '-') goto yy1029;
19359 	if (yych <= '/') goto yy752;
19360 	if (yych <= '9') goto yy1030;
19361 	goto yy752;
19362 yy908:
19363 	YYDEBUG(908, *YYCURSOR);
19364 	yych = *++YYCURSOR;
19365 	if (yych <= '/') goto yy59;
19366 	if (yych <= '9') goto yy1030;
19367 	goto yy59;
19368 yy909:
19369 	YYDEBUG(909, *YYCURSOR);
19370 	yych = *++YYCURSOR;
19371 	if (yych <= '/') goto yy59;
19372 	if (yych <= '6') goto yy1030;
19373 	goto yy59;
19374 yy910:
19375 	YYDEBUG(910, *YYCURSOR);
19376 	yych = *++YYCURSOR;
19377 	if (yych == 'R') goto yy1031;
19378 	if (yych == 'r') goto yy1031;
19379 	goto yy59;
19380 yy911:
19381 	YYDEBUG(911, *YYCURSOR);
19382 	yych = *++YYCURSOR;
19383 	if (yych == 'G') goto yy1032;
19384 	if (yych == 'g') goto yy1032;
19385 	goto yy59;
19386 yy912:
19387 	YYDEBUG(912, *YYCURSOR);
19388 	yych = *++YYCURSOR;
19389 	if (yych == 'C') goto yy1033;
19390 	if (yych == 'c') goto yy1033;
19391 	goto yy59;
19392 yy913:
19393 	YYDEBUG(913, *YYCURSOR);
19394 	yych = *++YYCURSOR;
19395 	if (yych == 'B') goto yy1034;
19396 	if (yych == 'b') goto yy1034;
19397 	goto yy59;
19398 yy914:
19399 	YYDEBUG(914, *YYCURSOR);
19400 	yych = *++YYCURSOR;
19401 	if (yych == 'N') goto yy1035;
19402 	if (yych == 'n') goto yy1035;
19403 	goto yy59;
19404 yy915:
19405 	YYDEBUG(915, *YYCURSOR);
19406 	yych = *++YYCURSOR;
19407 	if (yych <= 'N') {
19408 		if (yych == 'L') goto yy1036;
19409 		if (yych <= 'M') goto yy59;
19410 		goto yy1037;
19411 	} else {
19412 		if (yych <= 'l') {
19413 			if (yych <= 'k') goto yy59;
19414 			goto yy1036;
19415 		} else {
19416 			if (yych == 'n') goto yy1037;
19417 			goto yy59;
19418 		}
19419 	}
19420 yy916:
19421 	YYDEBUG(916, *YYCURSOR);
19422 	yych = *++YYCURSOR;
19423 	if (yych <= 'Y') {
19424 		if (yych == 'R') goto yy1038;
19425 		if (yych <= 'X') goto yy59;
19426 		goto yy1039;
19427 	} else {
19428 		if (yych <= 'r') {
19429 			if (yych <= 'q') goto yy59;
19430 			goto yy1038;
19431 		} else {
19432 			if (yych == 'y') goto yy1039;
19433 			goto yy59;
19434 		}
19435 	}
19436 yy917:
19437 	YYDEBUG(917, *YYCURSOR);
19438 	yych = *++YYCURSOR;
19439 	if (yych == 'V') goto yy1033;
19440 	if (yych == 'v') goto yy1033;
19441 	goto yy59;
19442 yy918:
19443 	YYDEBUG(918, *YYCURSOR);
19444 	yych = *++YYCURSOR;
19445 	if (yych == 'T') goto yy1040;
19446 	if (yych == 't') goto yy1040;
19447 	goto yy59;
19448 yy919:
19449 	YYDEBUG(919, *YYCURSOR);
19450 	yych = *++YYCURSOR;
19451 	if (yych == 'P') goto yy1041;
19452 	if (yych == 'p') goto yy1041;
19453 	goto yy59;
19454 yy920:
19455 	YYDEBUG(920, *YYCURSOR);
19456 	yych = *++YYCURSOR;
19457 	if (yych <= '0') goto yy59;
19458 	if (yych <= '9') goto yy1030;
19459 	goto yy59;
19460 yy921:
19461 	YYDEBUG(921, *YYCURSOR);
19462 	yych = *++YYCURSOR;
19463 	if (yych == 'P') goto yy940;
19464 	if (yych == 'p') goto yy940;
19465 	goto yy59;
19466 yy922:
19467 	YYDEBUG(922, *YYCURSOR);
19468 	yych = *++YYCURSOR;
19469 	if (yych <= '/') goto yy59;
19470 	if (yych <= '2') goto yy1042;
19471 	if (yych <= '3') goto yy1044;
19472 	if (yych <= '9') goto yy1045;
19473 	goto yy59;
19474 yy923:
19475 	YYDEBUG(923, *YYCURSOR);
19476 	yych = *++YYCURSOR;
19477 	if (yych == '/') goto yy1046;
19478 	goto yy59;
19479 yy924:
19480 	YYDEBUG(924, *YYCURSOR);
19481 	yych = *++YYCURSOR;
19482 	if (yych <= 0xC1) {
19483 		if (yych <= '/') goto yy196;
19484 		if (yych <= '9') goto yy1047;
19485 		goto yy196;
19486 	} else {
19487 		if (yych <= 0xC2) goto yy97;
19488 		if (yych == 0xE2) goto yy98;
19489 		goto yy196;
19490 	}
19491 yy925:
19492 	YYDEBUG(925, *YYCURSOR);
19493 	yyaccept = 21;
19494 	yych = *(YYMARKER = ++YYCURSOR);
19495 	if (yych <= 'X') {
19496 		if (yych <= 'E') {
19497 			if (yych <= ' ') {
19498 				if (yych == '\t') goto yy196;
19499 				if (yych >= ' ') goto yy196;
19500 			} else {
19501 				if (yych <= '9') {
19502 					if (yych >= '0') goto yy1047;
19503 				} else {
19504 					if (yych == 'D') goto yy196;
19505 				}
19506 			}
19507 		} else {
19508 			if (yych <= 'M') {
19509 				if (yych <= 'G') {
19510 					if (yych <= 'F') goto yy196;
19511 				} else {
19512 					if (yych <= 'H') goto yy196;
19513 					if (yych >= 'M') goto yy196;
19514 				}
19515 			} else {
19516 				if (yych <= 'U') {
19517 					if (yych >= 'S') goto yy196;
19518 				} else {
19519 					if (yych == 'W') goto yy196;
19520 				}
19521 			}
19522 		}
19523 	} else {
19524 		if (yych <= 'r') {
19525 			if (yych <= 'f') {
19526 				if (yych <= 'c') {
19527 					if (yych <= 'Y') goto yy196;
19528 				} else {
19529 					if (yych != 'e') goto yy196;
19530 				}
19531 			} else {
19532 				if (yych <= 'h') {
19533 					if (yych >= 'h') goto yy196;
19534 				} else {
19535 					if (yych == 'm') goto yy196;
19536 				}
19537 			}
19538 		} else {
19539 			if (yych <= 'y') {
19540 				if (yych <= 'v') {
19541 					if (yych <= 'u') goto yy196;
19542 				} else {
19543 					if (yych != 'x') goto yy196;
19544 				}
19545 			} else {
19546 				if (yych <= 0xC2) {
19547 					if (yych >= 0xC2) goto yy97;
19548 				} else {
19549 					if (yych == 0xE2) goto yy98;
19550 				}
19551 			}
19552 		}
19553 	}
19554 yy926:
19555 	YYDEBUG(926, *YYCURSOR);
19556 #line 1682 "ext/date/lib/parse_date.re"
19557 	{
19558 		int length = 0;
19559 		DEBUG_OUTPUT("pgydotd");
19560 		TIMELIB_INIT;
19561 		TIMELIB_HAVE_DATE();
19562 		s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
19563 		s->time->d = timelib_get_nr(&ptr, 3);
19564 		s->time->m = 1;
19565 		TIMELIB_PROCESS_YEAR(s->time->y, length);
19566 		TIMELIB_DEINIT;
19567 		return TIMELIB_PG_YEARDAY;
19568 	}
19569 #line 19570 "<stdout>"
19570 yy927:
19571 	YYDEBUG(927, *YYCURSOR);
19572 	yyaccept = 21;
19573 	yych = *(YYMARKER = ++YYCURSOR);
19574 	if (yych <= 'X') {
19575 		if (yych <= 'E') {
19576 			if (yych <= '/') {
19577 				if (yych <= '\t') {
19578 					if (yych <= 0x08) goto yy926;
19579 					goto yy196;
19580 				} else {
19581 					if (yych == ' ') goto yy196;
19582 					goto yy926;
19583 				}
19584 			} else {
19585 				if (yych <= '9') {
19586 					if (yych <= '1') goto yy1047;
19587 					goto yy1049;
19588 				} else {
19589 					if (yych == 'D') goto yy196;
19590 					goto yy926;
19591 				}
19592 			}
19593 		} else {
19594 			if (yych <= 'M') {
19595 				if (yych <= 'G') {
19596 					if (yych <= 'F') goto yy196;
19597 					goto yy926;
19598 				} else {
19599 					if (yych <= 'H') goto yy196;
19600 					if (yych <= 'L') goto yy926;
19601 					goto yy196;
19602 				}
19603 			} else {
19604 				if (yych <= 'U') {
19605 					if (yych <= 'R') goto yy926;
19606 					goto yy196;
19607 				} else {
19608 					if (yych == 'W') goto yy196;
19609 					goto yy926;
19610 				}
19611 			}
19612 		}
19613 	} else {
19614 		if (yych <= 'r') {
19615 			if (yych <= 'f') {
19616 				if (yych <= 'c') {
19617 					if (yych <= 'Y') goto yy196;
19618 					goto yy926;
19619 				} else {
19620 					if (yych == 'e') goto yy926;
19621 					goto yy196;
19622 				}
19623 			} else {
19624 				if (yych <= 'h') {
19625 					if (yych <= 'g') goto yy926;
19626 					goto yy196;
19627 				} else {
19628 					if (yych == 'm') goto yy196;
19629 					goto yy926;
19630 				}
19631 			}
19632 		} else {
19633 			if (yych <= 'y') {
19634 				if (yych <= 'v') {
19635 					if (yych <= 'u') goto yy196;
19636 					goto yy926;
19637 				} else {
19638 					if (yych == 'x') goto yy926;
19639 					goto yy196;
19640 				}
19641 			} else {
19642 				if (yych <= 0xC2) {
19643 					if (yych <= 0xC1) goto yy926;
19644 					goto yy97;
19645 				} else {
19646 					if (yych == 0xE2) goto yy98;
19647 					goto yy926;
19648 				}
19649 			}
19650 		}
19651 	}
19652 yy928:
19653 	YYDEBUG(928, *YYCURSOR);
19654 	yyaccept = 21;
19655 	yych = *(YYMARKER = ++YYCURSOR);
19656 	if (yych <= 'X') {
19657 		if (yych <= 'E') {
19658 			if (yych <= ' ') {
19659 				if (yych == '\t') goto yy196;
19660 				if (yych <= 0x1F) goto yy926;
19661 				goto yy196;
19662 			} else {
19663 				if (yych <= '9') {
19664 					if (yych <= '/') goto yy926;
19665 					goto yy1049;
19666 				} else {
19667 					if (yych == 'D') goto yy196;
19668 					goto yy926;
19669 				}
19670 			}
19671 		} else {
19672 			if (yych <= 'M') {
19673 				if (yych <= 'G') {
19674 					if (yych <= 'F') goto yy196;
19675 					goto yy926;
19676 				} else {
19677 					if (yych <= 'H') goto yy196;
19678 					if (yych <= 'L') goto yy926;
19679 					goto yy196;
19680 				}
19681 			} else {
19682 				if (yych <= 'U') {
19683 					if (yych <= 'R') goto yy926;
19684 					goto yy196;
19685 				} else {
19686 					if (yych == 'W') goto yy196;
19687 					goto yy926;
19688 				}
19689 			}
19690 		}
19691 	} else {
19692 		if (yych <= 'r') {
19693 			if (yych <= 'f') {
19694 				if (yych <= 'c') {
19695 					if (yych <= 'Y') goto yy196;
19696 					goto yy926;
19697 				} else {
19698 					if (yych == 'e') goto yy926;
19699 					goto yy196;
19700 				}
19701 			} else {
19702 				if (yych <= 'h') {
19703 					if (yych <= 'g') goto yy926;
19704 					goto yy196;
19705 				} else {
19706 					if (yych == 'm') goto yy196;
19707 					goto yy926;
19708 				}
19709 			}
19710 		} else {
19711 			if (yych <= 'y') {
19712 				if (yych <= 'v') {
19713 					if (yych <= 'u') goto yy196;
19714 					goto yy926;
19715 				} else {
19716 					if (yych == 'x') goto yy926;
19717 					goto yy196;
19718 				}
19719 			} else {
19720 				if (yych <= 0xC2) {
19721 					if (yych <= 0xC1) goto yy926;
19722 					goto yy97;
19723 				} else {
19724 					if (yych == 0xE2) goto yy98;
19725 					goto yy926;
19726 				}
19727 			}
19728 		}
19729 	}
19730 yy929:
19731 	YYDEBUG(929, *YYCURSOR);
19732 	yych = *++YYCURSOR;
19733 	if (yych <= 0xC1) {
19734 		if (yych <= '/') goto yy196;
19735 		if (yych <= '9') goto yy1049;
19736 		goto yy196;
19737 	} else {
19738 		if (yych <= 0xC2) goto yy97;
19739 		if (yych == 0xE2) goto yy98;
19740 		goto yy196;
19741 	}
19742 yy930:
19743 	YYDEBUG(930, *YYCURSOR);
19744 	yych = *++YYCURSOR;
19745 	if (yych == ':') goto yy1050;
19746 	goto yy59;
19747 yy931:
19748 	YYDEBUG(931, *YYCURSOR);
19749 	yyaccept = 22;
19750 	yych = *(YYMARKER = ++YYCURSOR);
19751 	if (yych == 'I') goto yy1051;
19752 	if (yych == 'i') goto yy1051;
19753 	goto yy600;
19754 yy932:
19755 	YYDEBUG(932, *YYCURSOR);
19756 	yyaccept = 22;
19757 	yych = *(YYMARKER = ++YYCURSOR);
19758 	if (yych == 'U') goto yy1052;
19759 	if (yych == 'u') goto yy1052;
19760 	goto yy600;
19761 yy933:
19762 	YYDEBUG(933, *YYCURSOR);
19763 	yyaccept = 22;
19764 	yych = *(YYMARKER = ++YYCURSOR);
19765 	if (yych == 'E') goto yy1053;
19766 	if (yych == 'e') goto yy1053;
19767 	goto yy600;
19768 yy934:
19769 	YYDEBUG(934, *YYCURSOR);
19770 	yyaccept = 22;
19771 	yych = *(YYMARKER = ++YYCURSOR);
19772 	if (yych == 'R') goto yy1054;
19773 	if (yych == 'r') goto yy1054;
19774 	goto yy600;
19775 yy935:
19776 	YYDEBUG(935, *YYCURSOR);
19777 	yyaccept = 22;
19778 	yych = *(YYMARKER = ++YYCURSOR);
19779 	if (yych == 'U') goto yy1055;
19780 	if (yych == 'u') goto yy1055;
19781 	goto yy600;
19782 yy936:
19783 	YYDEBUG(936, *YYCURSOR);
19784 	yych = *++YYCURSOR;
19785 	if (yych == 'Y') goto yy790;
19786 	if (yych == 'y') goto yy790;
19787 	goto yy600;
19788 yy937:
19789 	YYDEBUG(937, *YYCURSOR);
19790 	yych = *++YYCURSOR;
19791 	if (yych == 'E') goto yy790;
19792 	if (yych == 'e') goto yy790;
19793 	goto yy600;
19794 yy938:
19795 	YYDEBUG(938, *YYCURSOR);
19796 	yyaccept = 22;
19797 	yych = *(YYMARKER = ++YYCURSOR);
19798 	if (yych == 'C') goto yy1056;
19799 	if (yych == 'c') goto yy1056;
19800 	goto yy600;
19801 yy939:
19802 	YYDEBUG(939, *YYCURSOR);
19803 	yyaccept = 22;
19804 	yych = *(YYMARKER = ++YYCURSOR);
19805 	if (yych == 'O') goto yy1057;
19806 	if (yych == 'o') goto yy1057;
19807 	goto yy600;
19808 yy940:
19809 	YYDEBUG(940, *YYCURSOR);
19810 	yych = *++YYCURSOR;
19811 	if (yych == 'T') goto yy933;
19812 	if (yych == 't') goto yy933;
19813 	goto yy600;
19814 yy941:
19815 	YYDEBUG(941, *YYCURSOR);
19816 	yyaccept = 23;
19817 	yych = *(YYMARKER = ++YYCURSOR);
19818 	if (yych == '-') goto yy1058;
19819 	if (yych <= '/') goto yy942;
19820 	if (yych <= '7') goto yy1059;
19821 yy942:
19822 	YYDEBUG(942, *YYCURSOR);
19823 #line 1715 "ext/date/lib/parse_date.re"
19824 	{
19825 		timelib_sll w, d;
19826 		DEBUG_OUTPUT("isoweek");
19827 		TIMELIB_INIT;
19828 		TIMELIB_HAVE_DATE();
19829 		TIMELIB_HAVE_RELATIVE();
19830 
19831 		s->time->y = timelib_get_nr(&ptr, 4);
19832 		w = timelib_get_nr(&ptr, 2);
19833 		d = 1;
19834 		s->time->m = 1;
19835 		s->time->d = 1;
19836 		s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d);
19837 
19838 		TIMELIB_DEINIT;
19839 		return TIMELIB_ISO_WEEK;
19840 	}
19841 #line 19842 "<stdout>"
19842 yy943:
19843 	YYDEBUG(943, *YYCURSOR);
19844 	yych = *++YYCURSOR;
19845 	if (yych == 'G') goto yy1061;
19846 	if (yych == 'g') goto yy1061;
19847 	goto yy59;
19848 yy944:
19849 	YYDEBUG(944, *YYCURSOR);
19850 	yych = *++YYCURSOR;
19851 	if (yych == 'Y') goto yy253;
19852 	if (yych == 'y') goto yy253;
19853 	goto yy59;
19854 yy945:
19855 	YYDEBUG(945, *YYCURSOR);
19856 	yych = *++YYCURSOR;
19857 	if (yych == 'E') goto yy1062;
19858 	if (yych == 'e') goto yy1062;
19859 	goto yy59;
19860 yy946:
19861 	YYDEBUG(946, *YYCURSOR);
19862 	yych = *++YYCURSOR;
19863 	if (yych == 'R') goto yy253;
19864 	if (yych == 'r') goto yy253;
19865 	goto yy59;
19866 yy947:
19867 	YYDEBUG(947, *YYCURSOR);
19868 	++YYCURSOR;
19869 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
19870 	yych = *YYCURSOR;
19871 	if (yych <= '`') {
19872 		if (yych <= 'A') {
19873 			if (yych <= '@') goto yy59;
19874 			goto yy106;
19875 		} else {
19876 			if (yych == 'P') goto yy106;
19877 			goto yy59;
19878 		}
19879 	} else {
19880 		if (yych <= 'p') {
19881 			if (yych <= 'a') goto yy106;
19882 			if (yych <= 'o') goto yy59;
19883 			goto yy106;
19884 		} else {
19885 			if (yych == 0xE2) goto yy641;
19886 			goto yy59;
19887 		}
19888 	}
19889 yy948:
19890 	YYDEBUG(948, *YYCURSOR);
19891 	yyaccept = 4;
19892 	yych = *(YYMARKER = ++YYCURSOR);
19893 	if (yych <= 'A') {
19894 		if (yych <= '-') {
19895 			if (yych <= '\t') {
19896 				if (yych <= 0x08) goto yy177;
19897 				goto yy638;
19898 			} else {
19899 				if (yych == ' ') goto yy638;
19900 				goto yy177;
19901 			}
19902 		} else {
19903 			if (yych <= '9') {
19904 				if (yych <= '.') goto yy1063;
19905 				goto yy177;
19906 			} else {
19907 				if (yych <= ':') goto yy1064;
19908 				if (yych <= '@') goto yy177;
19909 				goto yy106;
19910 			}
19911 		}
19912 	} else {
19913 		if (yych <= 'o') {
19914 			if (yych <= 'P') {
19915 				if (yych <= 'O') goto yy177;
19916 				goto yy106;
19917 			} else {
19918 				if (yych == 'a') goto yy106;
19919 				goto yy177;
19920 			}
19921 		} else {
19922 			if (yych <= 0xC2) {
19923 				if (yych <= 'p') goto yy106;
19924 				if (yych <= 0xC1) goto yy177;
19925 				goto yy640;
19926 			} else {
19927 				if (yych == 0xE2) goto yy641;
19928 				goto yy177;
19929 			}
19930 		}
19931 	}
19932 yy949:
19933 	YYDEBUG(949, *YYCURSOR);
19934 	yyaccept = 15;
19935 	yych = *(YYMARKER = ++YYCURSOR);
19936 	if (yych <= 'n') {
19937 		if (yych <= '/') goto yy567;
19938 		if (yych <= '9') goto yy1065;
19939 		if (yych <= 'm') goto yy567;
19940 		goto yy741;
19941 	} else {
19942 		if (yych <= 'r') {
19943 			if (yych <= 'q') goto yy567;
19944 			goto yy741;
19945 		} else {
19946 			if (yych <= 's') goto yy742;
19947 			if (yych <= 't') goto yy743;
19948 			goto yy567;
19949 		}
19950 	}
19951 yy950:
19952 	YYDEBUG(950, *YYCURSOR);
19953 	yyaccept = 15;
19954 	yych = *(YYMARKER = ++YYCURSOR);
19955 	if (yych <= 'n') {
19956 		if (yych <= '/') goto yy567;
19957 		if (yych <= '1') goto yy1065;
19958 		if (yych <= 'm') goto yy567;
19959 		goto yy741;
19960 	} else {
19961 		if (yych <= 'r') {
19962 			if (yych <= 'q') goto yy567;
19963 			goto yy741;
19964 		} else {
19965 			if (yych <= 's') goto yy742;
19966 			if (yych <= 't') goto yy743;
19967 			goto yy567;
19968 		}
19969 	}
19970 yy951:
19971 	YYDEBUG(951, *YYCURSOR);
19972 	yych = *++YYCURSOR;
19973 	if (yych <= '/') goto yy59;
19974 	if (yych <= '2') goto yy1066;
19975 	if (yych <= '3') goto yy1067;
19976 	goto yy59;
19977 yy952:
19978 	YYDEBUG(952, *YYCURSOR);
19979 	yych = *++YYCURSOR;
19980 	if (yych <= '/') goto yy290;
19981 	if (yych <= '9') goto yy1068;
19982 	goto yy290;
19983 yy953:
19984 	YYDEBUG(953, *YYCURSOR);
19985 	yych = *++YYCURSOR;
19986 	if (yych <= '/') goto yy59;
19987 	if (yych <= '9') goto yy1069;
19988 	goto yy59;
19989 yy954:
19990 	YYDEBUG(954, *YYCURSOR);
19991 	++YYCURSOR;
19992 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
19993 	yych = *YYCURSOR;
19994 yy955:
19995 	YYDEBUG(955, *YYCURSOR);
19996 	if (yybm[0+yych] & 128) {
19997 		goto yy954;
19998 	}
19999 	if (yych <= '.') {
20000 		if (yych == '-') goto yy297;
20001 		goto yy59;
20002 	} else {
20003 		if (yych <= '/') goto yy297;
20004 		if (yych == '_') goto yy297;
20005 		goto yy59;
20006 	}
20007 yy956:
20008 	YYDEBUG(956, *YYCURSOR);
20009 	yych = *++YYCURSOR;
20010 	if (yych == ' ') goto yy1071;
20011 	goto yy59;
20012 yy957:
20013 	YYDEBUG(957, *YYCURSOR);
20014 	yych = *++YYCURSOR;
20015 	if (yych == 'R') goto yy973;
20016 	if (yych == 'r') goto yy973;
20017 	goto yy59;
20018 yy958:
20019 	YYDEBUG(958, *YYCURSOR);
20020 	yych = *++YYCURSOR;
20021 	if (yych == 'R') goto yy973;
20022 	if (yych == 'r') goto yy974;
20023 	goto yy955;
20024 yy959:
20025 	YYDEBUG(959, *YYCURSOR);
20026 	yych = *++YYCURSOR;
20027 	if (yych == 'E') goto yy1072;
20028 	if (yych == 'e') goto yy1072;
20029 	goto yy59;
20030 yy960:
20031 	YYDEBUG(960, *YYCURSOR);
20032 	++YYCURSOR;
20033 	if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
20034 	yych = *YYCURSOR;
20035 	if (yych <= 'c') {
20036 		if (yych <= 'M') {
20037 			if (yych <= 'F') {
20038 				if (yych == 'D') goto yy856;
20039 				if (yych <= 'E') goto yy59;
20040 				goto yy857;
20041 			} else {
20042 				if (yych == 'H') goto yy858;
20043 				if (yych <= 'L') goto yy59;
20044 				goto yy859;
20045 			}
20046 		} else {
20047 			if (yych <= 'U') {
20048 				if (yych <= 'R') goto yy59;
20049 				if (yych <= 'S') goto yy860;
20050 				if (yych <= 'T') goto yy861;
20051 				goto yy862;
20052 			} else {
20053 				if (yych <= 'W') {
20054 					if (yych <= 'V') goto yy59;
20055 					goto yy959;
20056 				} else {
20057 					if (yych == 'Y') goto yy864;
20058 					goto yy59;
20059 				}
20060 			}
20061 		}
20062 	} else {
20063 		if (yych <= 's') {
20064 			if (yych <= 'g') {
20065 				if (yych <= 'd') goto yy856;
20066 				if (yych == 'f') goto yy857;
20067 				goto yy59;
20068 			} else {
20069 				if (yych <= 'l') {
20070 					if (yych <= 'h') goto yy858;
20071 					goto yy59;
20072 				} else {
20073 					if (yych <= 'm') goto yy859;
20074 					if (yych <= 'r') goto yy59;
20075 					goto yy860;
20076 				}
20077 			}
20078 		} else {
20079 			if (yych <= 'w') {
20080 				if (yych <= 't') goto yy861;
20081 				if (yych <= 'u') goto yy862;
20082 				if (yych <= 'v') goto yy59;
20083 				goto yy959;
20084 			} else {
20085 				if (yych <= 'y') {
20086 					if (yych <= 'x') goto yy59;
20087 					goto yy864;
20088 				} else {
20089 					if (yych == 0xC2) goto yy1073;
20090 					goto yy59;
20091 				}
20092 			}
20093 		}
20094 	}
20095 yy961:
20096 	YYDEBUG(961, *YYCURSOR);
20097 	++YYCURSOR;
20098 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
20099 	yych = *YYCURSOR;
20100 	if (yych == 0xAF) goto yy1074;
20101 	goto yy59;
20102 yy962:
20103 	YYDEBUG(962, *YYCURSOR);
20104 	yych = *++YYCURSOR;
20105 	if (yych == 'H') goto yy1001;
20106 	if (yych == 'h') goto yy1001;
20107 	goto yy59;
20108 yy963:
20109 	YYDEBUG(963, *YYCURSOR);
20110 	yych = *++YYCURSOR;
20111 	if (yych == 'H') goto yy1001;
20112 	if (yych == 'h') goto yy1004;
20113 	goto yy955;
20114 yy964:
20115 	YYDEBUG(964, *YYCURSOR);
20116 	yych = *++YYCURSOR;
20117 	if (yych == 'Y') goto yy973;
20118 	if (yych == 'y') goto yy973;
20119 	goto yy59;
20120 yy965:
20121 	YYDEBUG(965, *YYCURSOR);
20122 	++YYCURSOR;
20123 	goto yy315;
20124 yy966:
20125 	YYDEBUG(966, *YYCURSOR);
20126 	yych = *++YYCURSOR;
20127 	if (yych == 'Y') goto yy973;
20128 	if (yych == 'y') goto yy974;
20129 	goto yy955;
20130 yy967:
20131 	YYDEBUG(967, *YYCURSOR);
20132 	yyaccept = 9;
20133 	yych = *(YYMARKER = ++YYCURSOR);
20134 	if (yybm[0+yych] & 128) {
20135 		goto yy954;
20136 	}
20137 	if (yych <= '.') {
20138 		if (yych == '-') goto yy297;
20139 		goto yy315;
20140 	} else {
20141 		if (yych <= '/') goto yy297;
20142 		if (yych == '_') goto yy297;
20143 		goto yy315;
20144 	}
20145 yy968:
20146 	YYDEBUG(968, *YYCURSOR);
20147 	yych = *++YYCURSOR;
20148 	if (yych <= '/') goto yy20;
20149 	if (yych <= '9') goto yy1075;
20150 	goto yy20;
20151 yy969:
20152 	YYDEBUG(969, *YYCURSOR);
20153 	yych = *++YYCURSOR;
20154 	if (yych <= '/') goto yy59;
20155 	if (yych <= '5') goto yy1076;
20156 	if (yych <= '6') goto yy1077;
20157 	if (yych <= '9') goto yy1078;
20158 	goto yy59;
20159 yy970:
20160 	YYDEBUG(970, *YYCURSOR);
20161 	yych = *++YYCURSOR;
20162 	if (yych <= '/') goto yy59;
20163 	if (yych <= '5') goto yy1079;
20164 	if (yych <= '6') goto yy1080;
20165 	if (yych <= '9') goto yy1078;
20166 	goto yy59;
20167 yy971:
20168 	YYDEBUG(971, *YYCURSOR);
20169 	yyaccept = 20;
20170 	yych = *(YYMARKER = ++YYCURSOR);
20171 	if (yych <= 'A') {
20172 		if (yych <= '-') {
20173 			if (yych <= '\t') {
20174 				if (yych <= 0x08) goto yy849;
20175 				goto yy1081;
20176 			} else {
20177 				if (yych == ' ') goto yy1081;
20178 				goto yy849;
20179 			}
20180 		} else {
20181 			if (yych <= '9') {
20182 				if (yych <= '.') goto yy970;
20183 				goto yy849;
20184 			} else {
20185 				if (yych <= ':') goto yy970;
20186 				if (yych <= '@') goto yy849;
20187 				goto yy1083;
20188 			}
20189 		}
20190 	} else {
20191 		if (yych <= 'o') {
20192 			if (yych <= 'P') {
20193 				if (yych <= 'O') goto yy849;
20194 				goto yy1083;
20195 			} else {
20196 				if (yych == 'a') goto yy1083;
20197 				goto yy849;
20198 			}
20199 		} else {
20200 			if (yych <= 0xC2) {
20201 				if (yych <= 'p') goto yy1083;
20202 				if (yych <= 0xC1) goto yy849;
20203 				goto yy1084;
20204 			} else {
20205 				if (yych == 0xE2) goto yy1085;
20206 				goto yy849;
20207 			}
20208 		}
20209 	}
20210 yy972:
20211 	YYDEBUG(972, *YYCURSOR);
20212 	++YYCURSOR;
20213 	goto yy325;
20214 yy973:
20215 	YYDEBUG(973, *YYCURSOR);
20216 	yyaccept = 7;
20217 	yych = *(YYMARKER = ++YYCURSOR);
20218 	if (yych <= ' ') {
20219 		if (yych == '\t') goto yy142;
20220 		if (yych <= 0x1F) goto yy295;
20221 		goto yy142;
20222 	} else {
20223 		if (yych <= '.') {
20224 			if (yych <= ',') goto yy295;
20225 			goto yy142;
20226 		} else {
20227 			if (yych <= '/') goto yy295;
20228 			if (yych <= '9') goto yy142;
20229 			goto yy295;
20230 		}
20231 	}
20232 yy974:
20233 	YYDEBUG(974, *YYCURSOR);
20234 	yyaccept = 7;
20235 	yych = *(YYMARKER = ++YYCURSOR);
20236 	if (yybm[0+yych] & 128) {
20237 		goto yy954;
20238 	}
20239 	if (yych <= '-') {
20240 		if (yych <= 0x1F) {
20241 			if (yych == '\t') goto yy142;
20242 			goto yy295;
20243 		} else {
20244 			if (yych <= ' ') goto yy142;
20245 			if (yych <= ',') goto yy295;
20246 			goto yy700;
20247 		}
20248 	} else {
20249 		if (yych <= '9') {
20250 			if (yych == '/') goto yy297;
20251 			goto yy142;
20252 		} else {
20253 			if (yych == '_') goto yy297;
20254 			goto yy295;
20255 		}
20256 	}
20257 yy975:
20258 	YYDEBUG(975, *YYCURSOR);
20259 	yych = *++YYCURSOR;
20260 	if (yych == 'Y') goto yy1086;
20261 	if (yych == 'y') goto yy1086;
20262 	goto yy59;
20263 yy976:
20264 	YYDEBUG(976, *YYCURSOR);
20265 	yych = *++YYCURSOR;
20266 	if (yych == 'R') goto yy1087;
20267 	if (yych == 'r') goto yy1087;
20268 	goto yy59;
20269 yy977:
20270 	YYDEBUG(977, *YYCURSOR);
20271 	yych = *++YYCURSOR;
20272 	if (yych == 'I') goto yy1088;
20273 	if (yych == 'i') goto yy1088;
20274 	goto yy59;
20275 yy978:
20276 	YYDEBUG(978, *YYCURSOR);
20277 	yych = *++YYCURSOR;
20278 	if (yych == 'U') goto yy1089;
20279 	if (yych == 'u') goto yy1089;
20280 	goto yy59;
20281 yy979:
20282 	YYDEBUG(979, *YYCURSOR);
20283 	yych = *++YYCURSOR;
20284 	if (yych <= 'N') {
20285 		if (yych <= 'K') {
20286 			if (yych == 'C') goto yy1090;
20287 			goto yy59;
20288 		} else {
20289 			if (yych <= 'L') goto yy1091;
20290 			if (yych <= 'M') goto yy59;
20291 			goto yy1092;
20292 		}
20293 	} else {
20294 		if (yych <= 'k') {
20295 			if (yych == 'c') goto yy1090;
20296 			goto yy59;
20297 		} else {
20298 			if (yych <= 'l') goto yy1091;
20299 			if (yych == 'n') goto yy1092;
20300 			goto yy59;
20301 		}
20302 	}
20303 yy980:
20304 	YYDEBUG(980, *YYCURSOR);
20305 	yych = *++YYCURSOR;
20306 	if (yych == 'N') goto yy1093;
20307 	if (yych == 'n') goto yy1093;
20308 	goto yy59;
20309 yy981:
20310 	YYDEBUG(981, *YYCURSOR);
20311 	yyaccept = 24;
20312 	yych = *(YYMARKER = ++YYCURSOR);
20313 	if (yych == 'E') goto yy1094;
20314 	if (yych == 'e') goto yy1094;
20315 yy982:
20316 	YYDEBUG(982, *YYCURSOR);
20317 #line 1858 "ext/date/lib/parse_date.re"
20318 	{
20319 		timelib_sll i;
20320 		int         behavior = 0;
20321 		DEBUG_OUTPUT("relativetext");
20322 		TIMELIB_INIT;
20323 		TIMELIB_HAVE_RELATIVE();
20324 
20325 		while(*ptr) {
20326 			i = timelib_get_relative_text(&ptr, &behavior);
20327 			timelib_eat_spaces(&ptr);
20328 			timelib_set_relative(&ptr, i, behavior, s, TIMELIB_TIME_PART_DONT_KEEP);
20329 		}
20330 		TIMELIB_DEINIT;
20331 		return TIMELIB_RELATIVE;
20332 	}
20333 #line 20334 "<stdout>"
20334 yy983:
20335 	YYDEBUG(983, *YYCURSOR);
20336 	yych = *++YYCURSOR;
20337 	if (yych == 'T') goto yy1095;
20338 	if (yych == 't') goto yy1095;
20339 	goto yy59;
20340 yy984:
20341 	YYDEBUG(984, *YYCURSOR);
20342 	yych = *++YYCURSOR;
20343 	if (yych == 'C') goto yy1096;
20344 	if (yych == 'c') goto yy1096;
20345 	goto yy59;
20346 yy985:
20347 	YYDEBUG(985, *YYCURSOR);
20348 	yych = *++YYCURSOR;
20349 	if (yych == 'N') goto yy1088;
20350 	if (yych == 'n') goto yy1088;
20351 	goto yy59;
20352 yy986:
20353 	YYDEBUG(986, *YYCURSOR);
20354 	yych = *++YYCURSOR;
20355 	if (yych == 'U') goto yy1097;
20356 	if (yych == 'u') goto yy1097;
20357 	goto yy59;
20358 yy987:
20359 	YYDEBUG(987, *YYCURSOR);
20360 	yych = *++YYCURSOR;
20361 	if (yych == 'E') goto yy1098;
20362 	if (yych == 'e') goto yy1098;
20363 	goto yy59;
20364 yy988:
20365 	YYDEBUG(988, *YYCURSOR);
20366 	yych = *++YYCURSOR;
20367 	if (yych == 'E') goto yy1094;
20368 	if (yych == 'e') goto yy1094;
20369 	goto yy59;
20370 yy989:
20371 	YYDEBUG(989, *YYCURSOR);
20372 	yych = *++YYCURSOR;
20373 	if (yych <= 'E') {
20374 		if (yych <= 'C') goto yy59;
20375 		if (yych <= 'D') goto yy1099;
20376 		goto yy1100;
20377 	} else {
20378 		if (yych <= 'c') goto yy59;
20379 		if (yych <= 'd') goto yy1099;
20380 		if (yych <= 'e') goto yy1100;
20381 		goto yy59;
20382 	}
20383 yy990:
20384 	YYDEBUG(990, *YYCURSOR);
20385 	yych = *++YYCURSOR;
20386 	if (yych == 'A') goto yy1089;
20387 	if (yych == 'a') goto yy1089;
20388 	goto yy59;
20389 yy991:
20390 	YYDEBUG(991, *YYCURSOR);
20391 	yych = *++YYCURSOR;
20392 	if (yych == 'S') goto yy981;
20393 	if (yych == 's') goto yy981;
20394 	goto yy59;
20395 yy992:
20396 	YYDEBUG(992, *YYCURSOR);
20397 	yych = *++YYCURSOR;
20398 	if (yych == 'Y') goto yy1101;
20399 	if (yych == 'y') goto yy1101;
20400 	goto yy59;
20401 yy993:
20402 	YYDEBUG(993, *YYCURSOR);
20403 	++YYCURSOR;
20404 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
20405 	yych = *YYCURSOR;
20406 	if (yych == 0xA0) goto yy867;
20407 	if (yych == 0xB5) goto yy991;
20408 	goto yy59;
20409 yy994:
20410 	YYDEBUG(994, *YYCURSOR);
20411 	++YYCURSOR;
20412 	if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
20413 	yych = *YYCURSOR;
20414 	if (yych <= 'd') {
20415 		if (yych <= 'R') {
20416 			if (yych <= 'F') {
20417 				if (yych == 'D') goto yy856;
20418 				if (yych <= 'E') goto yy59;
20419 				goto yy857;
20420 			} else {
20421 				if (yych <= 'H') {
20422 					if (yych <= 'G') goto yy59;
20423 					goto yy858;
20424 				} else {
20425 					if (yych == 'M') goto yy859;
20426 					goto yy59;
20427 				}
20428 			}
20429 		} else {
20430 			if (yych <= 'V') {
20431 				if (yych <= 'S') goto yy860;
20432 				if (yych <= 'T') goto yy861;
20433 				if (yych <= 'U') goto yy862;
20434 				goto yy59;
20435 			} else {
20436 				if (yych <= 'X') {
20437 					if (yych <= 'W') goto yy863;
20438 					goto yy59;
20439 				} else {
20440 					if (yych <= 'Y') goto yy864;
20441 					if (yych <= 'c') goto yy59;
20442 					goto yy856;
20443 				}
20444 			}
20445 		}
20446 	} else {
20447 		if (yych <= 't') {
20448 			if (yych <= 'h') {
20449 				if (yych == 'f') goto yy857;
20450 				if (yych <= 'g') goto yy59;
20451 				goto yy858;
20452 			} else {
20453 				if (yych <= 'm') {
20454 					if (yych <= 'l') goto yy59;
20455 					goto yy859;
20456 				} else {
20457 					if (yych <= 'r') goto yy59;
20458 					if (yych <= 's') goto yy860;
20459 					goto yy861;
20460 				}
20461 			}
20462 		} else {
20463 			if (yych <= 'y') {
20464 				if (yych <= 'v') {
20465 					if (yych <= 'u') goto yy862;
20466 					goto yy59;
20467 				} else {
20468 					if (yych <= 'w') goto yy863;
20469 					if (yych <= 'x') goto yy59;
20470 					goto yy864;
20471 				}
20472 			} else {
20473 				if (yych <= 0xC2) {
20474 					if (yych <= 0xC1) goto yy59;
20475 					goto yy865;
20476 				} else {
20477 					if (yych == 0xE2) goto yy705;
20478 					goto yy59;
20479 				}
20480 			}
20481 		}
20482 	}
20483 yy995:
20484 	YYDEBUG(995, *YYCURSOR);
20485 	yych = *++YYCURSOR;
20486 	if (yych == 'T') goto yy1102;
20487 	if (yych == 't') goto yy1102;
20488 	goto yy59;
20489 yy996:
20490 	YYDEBUG(996, *YYCURSOR);
20491 	yych = *++YYCURSOR;
20492 	if (yych == 'T') goto yy1102;
20493 	if (yych == 't') goto yy1103;
20494 	goto yy955;
20495 yy997:
20496 	YYDEBUG(997, *YYCURSOR);
20497 	yych = *++YYCURSOR;
20498 	if (yych == 'S') goto yy1104;
20499 	if (yych == 's') goto yy1104;
20500 	goto yy59;
20501 yy998:
20502 	YYDEBUG(998, *YYCURSOR);
20503 	yych = *++YYCURSOR;
20504 	if (yych == 'S') goto yy1104;
20505 	if (yych == 's') goto yy1105;
20506 	goto yy955;
20507 yy999:
20508 	YYDEBUG(999, *YYCURSOR);
20509 	yych = *++YYCURSOR;
20510 	if (yych == 'Y') goto yy1007;
20511 	if (yych == 'y') goto yy1007;
20512 	goto yy59;
20513 yy1000:
20514 	YYDEBUG(1000, *YYCURSOR);
20515 	yych = *++YYCURSOR;
20516 	if (yych == 'E') goto yy957;
20517 	if (yych == 'e') goto yy957;
20518 	goto yy59;
20519 yy1001:
20520 	YYDEBUG(1001, *YYCURSOR);
20521 	yych = *++YYCURSOR;
20522 	if (yych <= ' ') {
20523 		if (yych == '\t') goto yy834;
20524 		if (yych <= 0x1F) goto yy59;
20525 		goto yy834;
20526 	} else {
20527 		if (yych <= 0xC2) {
20528 			if (yych <= 0xC1) goto yy59;
20529 			goto yy837;
20530 		} else {
20531 			if (yych == 0xE2) goto yy838;
20532 			goto yy59;
20533 		}
20534 	}
20535 yy1002:
20536 	YYDEBUG(1002, *YYCURSOR);
20537 	yych = *++YYCURSOR;
20538 	if (yych == 'Y') goto yy1007;
20539 	if (yych == 'y') goto yy1009;
20540 	goto yy955;
20541 yy1003:
20542 	YYDEBUG(1003, *YYCURSOR);
20543 	yych = *++YYCURSOR;
20544 	if (yych == 'E') goto yy957;
20545 	if (yych == 'e') goto yy958;
20546 	goto yy955;
20547 yy1004:
20548 	YYDEBUG(1004, *YYCURSOR);
20549 	yych = *++YYCURSOR;
20550 	if (yych <= ' ') {
20551 		if (yych == '\t') goto yy834;
20552 		if (yych <= 0x1F) goto yy955;
20553 		goto yy834;
20554 	} else {
20555 		if (yych <= 0xC2) {
20556 			if (yych <= 0xC1) goto yy955;
20557 			goto yy837;
20558 		} else {
20559 			if (yych == 0xE2) goto yy838;
20560 			goto yy955;
20561 		}
20562 	}
20563 yy1005:
20564 	YYDEBUG(1005, *YYCURSOR);
20565 	++YYCURSOR;
20566 	goto yy777;
20567 yy1006:
20568 	YYDEBUG(1006, *YYCURSOR);
20569 	yych = *++YYCURSOR;
20570 	if (yych == 'W') goto yy1106;
20571 	if (yych == 'w') goto yy1106;
20572 	goto yy59;
20573 yy1007:
20574 	YYDEBUG(1007, *YYCURSOR);
20575 	yych = *++YYCURSOR;
20576 	if (yych == 'S') goto yy965;
20577 	if (yych == 's') goto yy965;
20578 	goto yy315;
20579 yy1008:
20580 	YYDEBUG(1008, *YYCURSOR);
20581 	yych = *++YYCURSOR;
20582 	if (yych == 'W') goto yy1106;
20583 	if (yych == 'w') goto yy1108;
20584 	goto yy955;
20585 yy1009:
20586 	YYDEBUG(1009, *YYCURSOR);
20587 	yyaccept = 9;
20588 	yych = *(YYMARKER = ++YYCURSOR);
20589 	if (yych <= 'S') {
20590 		if (yych <= '.') {
20591 			if (yych == '-') goto yy297;
20592 			goto yy315;
20593 		} else {
20594 			if (yych <= '/') goto yy297;
20595 			if (yych <= 'R') goto yy315;
20596 			goto yy965;
20597 		}
20598 	} else {
20599 		if (yych <= '`') {
20600 			if (yych == '_') goto yy297;
20601 			goto yy315;
20602 		} else {
20603 			if (yych == 's') goto yy967;
20604 			if (yych <= 'z') goto yy954;
20605 			goto yy315;
20606 		}
20607 	}
20608 yy1010:
20609 	YYDEBUG(1010, *YYCURSOR);
20610 	yych = *++YYCURSOR;
20611 	if (yych == 'A') goto yy999;
20612 	if (yych == 'a') goto yy999;
20613 	goto yy59;
20614 yy1011:
20615 	YYDEBUG(1011, *YYCURSOR);
20616 	yych = *++YYCURSOR;
20617 	if (yych == 'A') goto yy999;
20618 	if (yych == 'a') goto yy1002;
20619 	goto yy955;
20620 yy1012:
20621 	YYDEBUG(1012, *YYCURSOR);
20622 	yych = *++YYCURSOR;
20623 	if (yych == 'A') goto yy1109;
20624 	if (yych == 'a') goto yy1109;
20625 	goto yy59;
20626 yy1013:
20627 	YYDEBUG(1013, *YYCURSOR);
20628 	yych = *++YYCURSOR;
20629 	if (yych == 'A') goto yy1109;
20630 	if (yych == 'a') goto yy1110;
20631 	goto yy955;
20632 yy1014:
20633 	YYDEBUG(1014, *YYCURSOR);
20634 	yych = *++YYCURSOR;
20635 	if (yych == '-') goto yy1111;
20636 	goto yy59;
20637 yy1015:
20638 	YYDEBUG(1015, *YYCURSOR);
20639 	yych = *++YYCURSOR;
20640 	if (yych <= '/') goto yy59;
20641 	if (yych <= '9') goto yy1112;
20642 	goto yy59;
20643 yy1016:
20644 	YYDEBUG(1016, *YYCURSOR);
20645 	yych = *++YYCURSOR;
20646 	if (yych <= '/') goto yy59;
20647 	if (yych <= '2') goto yy1112;
20648 	goto yy59;
20649 yy1017:
20650 	YYDEBUG(1017, *YYCURSOR);
20651 	yych = *++YYCURSOR;
20652 	if (yych <= '9') {
20653 		if (yych == '-') goto yy893;
20654 		if (yych <= '/') goto yy196;
20655 		goto yy1113;
20656 	} else {
20657 		if (yych <= 0xC2) {
20658 			if (yych <= 0xC1) goto yy196;
20659 			goto yy97;
20660 		} else {
20661 			if (yych == 0xE2) goto yy98;
20662 			goto yy196;
20663 		}
20664 	}
20665 yy1018:
20666 	YYDEBUG(1018, *YYCURSOR);
20667 	yych = *++YYCURSOR;
20668 	if (yych <= '/') goto yy59;
20669 	if (yych <= '9') goto yy115;
20670 	goto yy59;
20671 yy1019:
20672 	YYDEBUG(1019, *YYCURSOR);
20673 	yych = *++YYCURSOR;
20674 	if (yych == '0') goto yy115;
20675 	goto yy59;
20676 yy1020:
20677 	YYDEBUG(1020, *YYCURSOR);
20678 	++YYCURSOR;
20679 	YYDEBUG(1021, *YYCURSOR);
20680 #line 1564 "ext/date/lib/parse_date.re"
20681 	{
20682 		DEBUG_OUTPUT("pointed date YYYY");
20683 		TIMELIB_INIT;
20684 		TIMELIB_HAVE_DATE();
20685 		s->time->d = timelib_get_nr(&ptr, 2);
20686 		s->time->m = timelib_get_nr(&ptr, 2);
20687 		s->time->y = timelib_get_nr(&ptr, 4);
20688 		TIMELIB_DEINIT;
20689 		return TIMELIB_DATE_FULL_POINTED;
20690 	}
20691 #line 20692 "<stdout>"
20692 yy1022:
20693 	YYDEBUG(1022, *YYCURSOR);
20694 	++YYCURSOR;
20695 	goto yy224;
20696 yy1023:
20697 	YYDEBUG(1023, *YYCURSOR);
20698 	yych = *++YYCURSOR;
20699 	if (yych <= '/') goto yy59;
20700 	if (yych <= '9') goto yy1114;
20701 	goto yy59;
20702 yy1024:
20703 	YYDEBUG(1024, *YYCURSOR);
20704 	yyaccept = 25;
20705 	yych = *(YYMARKER = ++YYCURSOR);
20706 	if (yych <= 'n') {
20707 		if (yych <= '/') goto yy1025;
20708 		if (yych <= '9') goto yy897;
20709 		if (yych >= 'n') goto yy741;
20710 	} else {
20711 		if (yych <= 'r') {
20712 			if (yych >= 'r') goto yy741;
20713 		} else {
20714 			if (yych <= 's') goto yy742;
20715 			if (yych <= 't') goto yy743;
20716 		}
20717 	}
20718 yy1025:
20719 	YYDEBUG(1025, *YYCURSOR);
20720 #line 1495 "ext/date/lib/parse_date.re"
20721 	{
20722 		int length = 0;
20723 		DEBUG_OUTPUT("iso8601date2");
20724 		TIMELIB_INIT;
20725 		TIMELIB_HAVE_DATE();
20726 		s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
20727 		s->time->m = timelib_get_nr(&ptr, 2);
20728 		s->time->d = timelib_get_nr(&ptr, 2);
20729 		TIMELIB_PROCESS_YEAR(s->time->y, length);
20730 		TIMELIB_DEINIT;
20731 		return TIMELIB_ISO_DATE;
20732 	}
20733 #line 20734 "<stdout>"
20734 yy1026:
20735 	YYDEBUG(1026, *YYCURSOR);
20736 	yyaccept = 15;
20737 	yych = *(YYMARKER = ++YYCURSOR);
20738 	if (yych <= 'm') {
20739 		if (yych <= '9') {
20740 			if (yych <= '/') goto yy567;
20741 			goto yy1028;
20742 		} else {
20743 			if (yych == 'T') goto yy1115;
20744 			goto yy567;
20745 		}
20746 	} else {
20747 		if (yych <= 'r') {
20748 			if (yych <= 'n') goto yy1116;
20749 			if (yych <= 'q') goto yy567;
20750 			goto yy1116;
20751 		} else {
20752 			if (yych <= 's') goto yy1117;
20753 			if (yych <= 't') goto yy1118;
20754 			goto yy567;
20755 		}
20756 	}
20757 yy1027:
20758 	YYDEBUG(1027, *YYCURSOR);
20759 	yyaccept = 15;
20760 	yych = *(YYMARKER = ++YYCURSOR);
20761 	if (yych <= 'm') {
20762 		if (yych <= '1') {
20763 			if (yych <= '/') goto yy567;
20764 		} else {
20765 			if (yych == 'T') goto yy1115;
20766 			goto yy567;
20767 		}
20768 	} else {
20769 		if (yych <= 'r') {
20770 			if (yych <= 'n') goto yy1116;
20771 			if (yych <= 'q') goto yy567;
20772 			goto yy1116;
20773 		} else {
20774 			if (yych <= 's') goto yy1117;
20775 			if (yych <= 't') goto yy1118;
20776 			goto yy567;
20777 		}
20778 	}
20779 yy1028:
20780 	YYDEBUG(1028, *YYCURSOR);
20781 	yyaccept = 15;
20782 	yych = *(YYMARKER = ++YYCURSOR);
20783 	if (yych <= 'n') {
20784 		if (yych == 'T') goto yy1115;
20785 		if (yych <= 'm') goto yy567;
20786 		goto yy1116;
20787 	} else {
20788 		if (yych <= 'r') {
20789 			if (yych <= 'q') goto yy567;
20790 			goto yy1116;
20791 		} else {
20792 			if (yych <= 's') goto yy1117;
20793 			if (yych <= 't') goto yy1118;
20794 			goto yy567;
20795 		}
20796 	}
20797 yy1029:
20798 	YYDEBUG(1029, *YYCURSOR);
20799 	yych = *++YYCURSOR;
20800 	if (yych <= '/') goto yy59;
20801 	if (yych <= '2') goto yy1119;
20802 	if (yych <= '3') goto yy1120;
20803 	if (yych <= '9') goto yy1028;
20804 	goto yy59;
20805 yy1030:
20806 	YYDEBUG(1030, *YYCURSOR);
20807 	++YYCURSOR;
20808 	goto yy926;
20809 yy1031:
20810 	YYDEBUG(1031, *YYCURSOR);
20811 	yyaccept = 22;
20812 	yych = *(YYMARKER = ++YYCURSOR);
20813 	if (yych <= 'H') {
20814 		if (yych == '-') goto yy951;
20815 		goto yy600;
20816 	} else {
20817 		if (yych <= 'I') goto yy1051;
20818 		if (yych == 'i') goto yy1051;
20819 		goto yy600;
20820 	}
20821 yy1032:
20822 	YYDEBUG(1032, *YYCURSOR);
20823 	yyaccept = 22;
20824 	yych = *(YYMARKER = ++YYCURSOR);
20825 	if (yych <= 'T') {
20826 		if (yych == '-') goto yy951;
20827 		goto yy600;
20828 	} else {
20829 		if (yych <= 'U') goto yy1052;
20830 		if (yych == 'u') goto yy1052;
20831 		goto yy600;
20832 	}
20833 yy1033:
20834 	YYDEBUG(1033, *YYCURSOR);
20835 	yyaccept = 22;
20836 	yych = *(YYMARKER = ++YYCURSOR);
20837 	if (yych <= 'D') {
20838 		if (yych == '-') goto yy951;
20839 		goto yy600;
20840 	} else {
20841 		if (yych <= 'E') goto yy1053;
20842 		if (yych == 'e') goto yy1053;
20843 		goto yy600;
20844 	}
20845 yy1034:
20846 	YYDEBUG(1034, *YYCURSOR);
20847 	yyaccept = 22;
20848 	yych = *(YYMARKER = ++YYCURSOR);
20849 	if (yych <= 'Q') {
20850 		if (yych == '-') goto yy951;
20851 		goto yy600;
20852 	} else {
20853 		if (yych <= 'R') goto yy1054;
20854 		if (yych == 'r') goto yy1054;
20855 		goto yy600;
20856 	}
20857 yy1035:
20858 	YYDEBUG(1035, *YYCURSOR);
20859 	yyaccept = 22;
20860 	yych = *(YYMARKER = ++YYCURSOR);
20861 	if (yych <= 'T') {
20862 		if (yych == '-') goto yy951;
20863 		goto yy600;
20864 	} else {
20865 		if (yych <= 'U') goto yy1055;
20866 		if (yych == 'u') goto yy1055;
20867 		goto yy600;
20868 	}
20869 yy1036:
20870 	YYDEBUG(1036, *YYCURSOR);
20871 	yyaccept = 22;
20872 	yych = *(YYMARKER = ++YYCURSOR);
20873 	if (yych <= 'X') {
20874 		if (yych == '-') goto yy951;
20875 		goto yy600;
20876 	} else {
20877 		if (yych <= 'Y') goto yy790;
20878 		if (yych == 'y') goto yy790;
20879 		goto yy600;
20880 	}
20881 yy1037:
20882 	YYDEBUG(1037, *YYCURSOR);
20883 	yyaccept = 22;
20884 	yych = *(YYMARKER = ++YYCURSOR);
20885 	if (yych <= 'D') {
20886 		if (yych == '-') goto yy951;
20887 		goto yy600;
20888 	} else {
20889 		if (yych <= 'E') goto yy790;
20890 		if (yych == 'e') goto yy790;
20891 		goto yy600;
20892 	}
20893 yy1038:
20894 	YYDEBUG(1038, *YYCURSOR);
20895 	yyaccept = 22;
20896 	yych = *(YYMARKER = ++YYCURSOR);
20897 	if (yych <= 'B') {
20898 		if (yych == '-') goto yy951;
20899 		goto yy600;
20900 	} else {
20901 		if (yych <= 'C') goto yy1056;
20902 		if (yych == 'c') goto yy1056;
20903 		goto yy600;
20904 	}
20905 yy1039:
20906 	YYDEBUG(1039, *YYCURSOR);
20907 	yyaccept = 22;
20908 	yych = *(YYMARKER = ++YYCURSOR);
20909 	if (yych == '-') goto yy951;
20910 	goto yy600;
20911 yy1040:
20912 	YYDEBUG(1040, *YYCURSOR);
20913 	yyaccept = 22;
20914 	yych = *(YYMARKER = ++YYCURSOR);
20915 	if (yych <= 'N') {
20916 		if (yych == '-') goto yy951;
20917 		goto yy600;
20918 	} else {
20919 		if (yych <= 'O') goto yy1057;
20920 		if (yych == 'o') goto yy1057;
20921 		goto yy600;
20922 	}
20923 yy1041:
20924 	YYDEBUG(1041, *YYCURSOR);
20925 	yyaccept = 22;
20926 	yych = *(YYMARKER = ++YYCURSOR);
20927 	if (yych <= 'S') {
20928 		if (yych == '-') goto yy951;
20929 		goto yy600;
20930 	} else {
20931 		if (yych <= 'T') goto yy1033;
20932 		if (yych == 't') goto yy1033;
20933 		goto yy600;
20934 	}
20935 yy1042:
20936 	YYDEBUG(1042, *YYCURSOR);
20937 	yyaccept = 26;
20938 	yych = *(YYMARKER = ++YYCURSOR);
20939 	if (yych <= 'n') {
20940 		if (yych <= '/') goto yy1043;
20941 		if (yych <= '9') goto yy1045;
20942 		if (yych >= 'n') goto yy1121;
20943 	} else {
20944 		if (yych <= 'r') {
20945 			if (yych >= 'r') goto yy1121;
20946 		} else {
20947 			if (yych <= 's') goto yy1122;
20948 			if (yych <= 't') goto yy1123;
20949 		}
20950 	}
20951 yy1043:
20952 	YYDEBUG(1043, *YYCURSOR);
20953 #line 1483 "ext/date/lib/parse_date.re"
20954 	{
20955 		DEBUG_OUTPUT("iso8601date4 | iso8601date2 | iso8601dateslash | dateslash");
20956 		TIMELIB_INIT;
20957 		TIMELIB_HAVE_DATE();
20958 		s->time->y = timelib_get_signed_nr(s, &ptr, 4);
20959 		s->time->m = timelib_get_nr(&ptr, 2);
20960 		s->time->d = timelib_get_nr(&ptr, 2);
20961 		TIMELIB_DEINIT;
20962 		return TIMELIB_ISO_DATE;
20963 	}
20964 #line 20965 "<stdout>"
20965 yy1044:
20966 	YYDEBUG(1044, *YYCURSOR);
20967 	yyaccept = 26;
20968 	yych = *(YYMARKER = ++YYCURSOR);
20969 	if (yych <= 'n') {
20970 		if (yych <= '/') goto yy1043;
20971 		if (yych <= '1') goto yy1045;
20972 		if (yych <= 'm') goto yy1043;
20973 		goto yy1121;
20974 	} else {
20975 		if (yych <= 'r') {
20976 			if (yych <= 'q') goto yy1043;
20977 			goto yy1121;
20978 		} else {
20979 			if (yych <= 's') goto yy1122;
20980 			if (yych <= 't') goto yy1123;
20981 			goto yy1043;
20982 		}
20983 	}
20984 yy1045:
20985 	YYDEBUG(1045, *YYCURSOR);
20986 	yyaccept = 26;
20987 	yych = *(YYMARKER = ++YYCURSOR);
20988 	if (yych <= 'q') {
20989 		if (yych == 'n') goto yy1121;
20990 		goto yy1043;
20991 	} else {
20992 		if (yych <= 'r') goto yy1121;
20993 		if (yych <= 's') goto yy1122;
20994 		if (yych <= 't') goto yy1123;
20995 		goto yy1043;
20996 	}
20997 yy1046:
20998 	YYDEBUG(1046, *YYCURSOR);
20999 	yych = *++YYCURSOR;
21000 	if (yych <= '/') goto yy59;
21001 	if (yych <= '2') goto yy1124;
21002 	if (yych <= '3') goto yy1125;
21003 	if (yych <= '9') goto yy1045;
21004 	goto yy59;
21005 yy1047:
21006 	YYDEBUG(1047, *YYCURSOR);
21007 	yyaccept = 27;
21008 	yych = *(YYMARKER = ++YYCURSOR);
21009 	if (yych <= 'X') {
21010 		if (yych <= 'F') {
21011 			if (yych <= '/') {
21012 				if (yych <= '\t') {
21013 					if (yych >= '\t') goto yy195;
21014 				} else {
21015 					if (yych == ' ') goto yy195;
21016 				}
21017 			} else {
21018 				if (yych <= 'C') {
21019 					if (yych <= '9') goto yy1126;
21020 				} else {
21021 					if (yych <= 'D') goto yy198;
21022 					if (yych >= 'F') goto yy199;
21023 				}
21024 			}
21025 		} else {
21026 			if (yych <= 'R') {
21027 				if (yych <= 'H') {
21028 					if (yych >= 'H') goto yy79;
21029 				} else {
21030 					if (yych == 'M') goto yy200;
21031 				}
21032 			} else {
21033 				if (yych <= 'U') {
21034 					if (yych <= 'S') goto yy201;
21035 					if (yych <= 'T') goto yy1127;
21036 					goto yy88;
21037 				} else {
21038 					if (yych == 'W') goto yy90;
21039 				}
21040 			}
21041 		}
21042 	} else {
21043 		if (yych <= 's') {
21044 			if (yych <= 'f') {
21045 				if (yych <= 'c') {
21046 					if (yych <= 'Y') goto yy92;
21047 				} else {
21048 					if (yych <= 'd') goto yy198;
21049 					if (yych >= 'f') goto yy199;
21050 				}
21051 			} else {
21052 				if (yych <= 'l') {
21053 					if (yych == 'h') goto yy79;
21054 				} else {
21055 					if (yych <= 'm') goto yy200;
21056 					if (yych >= 's') goto yy201;
21057 				}
21058 			}
21059 		} else {
21060 			if (yych <= 'x') {
21061 				if (yych <= 'u') {
21062 					if (yych <= 't') goto yy1128;
21063 					goto yy88;
21064 				} else {
21065 					if (yych == 'w') goto yy90;
21066 				}
21067 			} else {
21068 				if (yych <= 0xC2) {
21069 					if (yych <= 'y') goto yy92;
21070 					if (yych >= 0xC2) goto yy97;
21071 				} else {
21072 					if (yych == 0xE2) goto yy98;
21073 				}
21074 			}
21075 		}
21076 	}
21077 yy1048:
21078 	YYDEBUG(1048, *YYCURSOR);
21079 #line 1644 "ext/date/lib/parse_date.re"
21080 	{
21081 		DEBUG_OUTPUT("datenocolon");
21082 		TIMELIB_INIT;
21083 		TIMELIB_HAVE_DATE();
21084 		s->time->y = timelib_get_nr(&ptr, 4);
21085 		s->time->m = timelib_get_nr(&ptr, 2);
21086 		s->time->d = timelib_get_nr(&ptr, 2);
21087 		TIMELIB_DEINIT;
21088 		return TIMELIB_DATE_NOCOLON;
21089 	}
21090 #line 21091 "<stdout>"
21091 yy1049:
21092 	YYDEBUG(1049, *YYCURSOR);
21093 	yych = *++YYCURSOR;
21094 	if (yych <= 0xC1) {
21095 		if (yych <= '/') goto yy196;
21096 		if (yych <= '9') goto yy1126;
21097 		goto yy196;
21098 	} else {
21099 		if (yych <= 0xC2) goto yy97;
21100 		if (yych == 0xE2) goto yy98;
21101 		goto yy196;
21102 	}
21103 yy1050:
21104 	YYDEBUG(1050, *YYCURSOR);
21105 	yych = *++YYCURSOR;
21106 	if (yych <= '/') goto yy59;
21107 	if (yych <= '2') goto yy1129;
21108 	if (yych <= '3') goto yy1130;
21109 	goto yy59;
21110 yy1051:
21111 	YYDEBUG(1051, *YYCURSOR);
21112 	yych = *++YYCURSOR;
21113 	if (yych == 'L') goto yy790;
21114 	if (yych == 'l') goto yy790;
21115 	goto yy59;
21116 yy1052:
21117 	YYDEBUG(1052, *YYCURSOR);
21118 	yych = *++YYCURSOR;
21119 	if (yych == 'S') goto yy1131;
21120 	if (yych == 's') goto yy1131;
21121 	goto yy59;
21122 yy1053:
21123 	YYDEBUG(1053, *YYCURSOR);
21124 	yych = *++YYCURSOR;
21125 	if (yych == 'M') goto yy1057;
21126 	if (yych == 'm') goto yy1057;
21127 	goto yy59;
21128 yy1054:
21129 	YYDEBUG(1054, *YYCURSOR);
21130 	yych = *++YYCURSOR;
21131 	if (yych == 'U') goto yy1055;
21132 	if (yych != 'u') goto yy59;
21133 yy1055:
21134 	YYDEBUG(1055, *YYCURSOR);
21135 	yych = *++YYCURSOR;
21136 	if (yych == 'A') goto yy1132;
21137 	if (yych == 'a') goto yy1132;
21138 	goto yy59;
21139 yy1056:
21140 	YYDEBUG(1056, *YYCURSOR);
21141 	yych = *++YYCURSOR;
21142 	if (yych == 'H') goto yy790;
21143 	if (yych == 'h') goto yy790;
21144 	goto yy59;
21145 yy1057:
21146 	YYDEBUG(1057, *YYCURSOR);
21147 	yych = *++YYCURSOR;
21148 	if (yych == 'B') goto yy1133;
21149 	if (yych == 'b') goto yy1133;
21150 	goto yy59;
21151 yy1058:
21152 	YYDEBUG(1058, *YYCURSOR);
21153 	yych = *++YYCURSOR;
21154 	if (yych <= '/') goto yy59;
21155 	if (yych >= '8') goto yy59;
21156 yy1059:
21157 	YYDEBUG(1059, *YYCURSOR);
21158 	++YYCURSOR;
21159 	YYDEBUG(1060, *YYCURSOR);
21160 #line 1696 "ext/date/lib/parse_date.re"
21161 	{
21162 		timelib_sll w, d;
21163 		DEBUG_OUTPUT("isoweekday");
21164 		TIMELIB_INIT;
21165 		TIMELIB_HAVE_DATE();
21166 		TIMELIB_HAVE_RELATIVE();
21167 
21168 		s->time->y = timelib_get_nr(&ptr, 4);
21169 		w = timelib_get_nr(&ptr, 2);
21170 		d = timelib_get_nr(&ptr, 1);
21171 		s->time->m = 1;
21172 		s->time->d = 1;
21173 		s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d);
21174 
21175 		TIMELIB_DEINIT;
21176 		return TIMELIB_ISO_WEEK;
21177 	}
21178 #line 21179 "<stdout>"
21179 yy1061:
21180 	YYDEBUG(1061, *YYCURSOR);
21181 	yych = *++YYCURSOR;
21182 	if (yych == 'H') goto yy1134;
21183 	if (yych == 'h') goto yy1134;
21184 	goto yy59;
21185 yy1062:
21186 	YYDEBUG(1062, *YYCURSOR);
21187 	yych = *++YYCURSOR;
21188 	if (yych == 'C') goto yy1135;
21189 	if (yych == 'c') goto yy1135;
21190 	goto yy59;
21191 yy1063:
21192 	YYDEBUG(1063, *YYCURSOR);
21193 	yych = *++YYCURSOR;
21194 	if (yych <= '/') goto yy59;
21195 	if (yych <= '9') goto yy1136;
21196 	goto yy59;
21197 yy1064:
21198 	YYDEBUG(1064, *YYCURSOR);
21199 	yych = *++YYCURSOR;
21200 	if (yych <= '/') goto yy59;
21201 	if (yych <= '9') goto yy1138;
21202 	goto yy59;
21203 yy1065:
21204 	YYDEBUG(1065, *YYCURSOR);
21205 	yyaccept = 25;
21206 	yych = *(YYMARKER = ++YYCURSOR);
21207 	if (yych <= 'q') {
21208 		if (yych == 'n') goto yy741;
21209 		goto yy1025;
21210 	} else {
21211 		if (yych <= 'r') goto yy741;
21212 		if (yych <= 's') goto yy742;
21213 		if (yych <= 't') goto yy743;
21214 		goto yy1025;
21215 	}
21216 yy1066:
21217 	YYDEBUG(1066, *YYCURSOR);
21218 	yych = *++YYCURSOR;
21219 	if (yych <= '/') goto yy59;
21220 	if (yych <= '9') goto yy1140;
21221 	goto yy59;
21222 yy1067:
21223 	YYDEBUG(1067, *YYCURSOR);
21224 	yych = *++YYCURSOR;
21225 	if (yych <= '/') goto yy59;
21226 	if (yych <= '1') goto yy1140;
21227 	goto yy59;
21228 yy1068:
21229 	YYDEBUG(1068, *YYCURSOR);
21230 	yych = *++YYCURSOR;
21231 	if (yych <= '/') goto yy290;
21232 	if (yych <= '9') goto yy1142;
21233 	goto yy290;
21234 yy1069:
21235 	YYDEBUG(1069, *YYCURSOR);
21236 	yych = *++YYCURSOR;
21237 	if (yych <= '/') goto yy1070;
21238 	if (yych <= '9') goto yy1143;
21239 yy1070:
21240 	YYDEBUG(1070, *YYCURSOR);
21241 #line 1734 "ext/date/lib/parse_date.re"
21242 	{
21243 		int length = 0;
21244 		DEBUG_OUTPUT("pgtextshort");
21245 		TIMELIB_INIT;
21246 		TIMELIB_HAVE_DATE();
21247 		s->time->m = timelib_get_month(&ptr);
21248 		s->time->d = timelib_get_nr(&ptr, 2);
21249 		s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
21250 		TIMELIB_PROCESS_YEAR(s->time->y, length);
21251 		TIMELIB_DEINIT;
21252 		return TIMELIB_PG_TEXT;
21253 	}
21254 #line 21255 "<stdout>"
21255 yy1071:
21256 	YYDEBUG(1071, *YYCURSOR);
21257 	yych = *++YYCURSOR;
21258 	if (yych <= '/') goto yy59;
21259 	if (yych <= '1') goto yy1144;
21260 	if (yych <= '2') goto yy1146;
21261 	if (yych <= '9') goto yy1147;
21262 	goto yy59;
21263 yy1072:
21264 	YYDEBUG(1072, *YYCURSOR);
21265 	yych = *++YYCURSOR;
21266 	if (yych <= 'E') {
21267 		if (yych <= 'C') goto yy59;
21268 		if (yych <= 'D') goto yy1099;
21269 		goto yy1148;
21270 	} else {
21271 		if (yych <= 'c') goto yy59;
21272 		if (yych <= 'd') goto yy1099;
21273 		if (yych <= 'e') goto yy1148;
21274 		goto yy59;
21275 	}
21276 yy1073:
21277 	YYDEBUG(1073, *YYCURSOR);
21278 	++YYCURSOR;
21279 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
21280 	yych = *YYCURSOR;
21281 	if (yych == 0xA0) goto yy960;
21282 	if (yych == 0xB5) goto yy991;
21283 	goto yy59;
21284 yy1074:
21285 	YYDEBUG(1074, *YYCURSOR);
21286 	++YYCURSOR;
21287 	if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
21288 	yych = *YYCURSOR;
21289 	if (yych <= 'd') {
21290 		if (yych <= 'R') {
21291 			if (yych <= 'F') {
21292 				if (yych == 'D') goto yy856;
21293 				if (yych <= 'E') goto yy59;
21294 				goto yy857;
21295 			} else {
21296 				if (yych <= 'H') {
21297 					if (yych <= 'G') goto yy59;
21298 					goto yy858;
21299 				} else {
21300 					if (yych == 'M') goto yy859;
21301 					goto yy59;
21302 				}
21303 			}
21304 		} else {
21305 			if (yych <= 'V') {
21306 				if (yych <= 'S') goto yy860;
21307 				if (yych <= 'T') goto yy861;
21308 				if (yych <= 'U') goto yy862;
21309 				goto yy59;
21310 			} else {
21311 				if (yych <= 'X') {
21312 					if (yych <= 'W') goto yy959;
21313 					goto yy59;
21314 				} else {
21315 					if (yych <= 'Y') goto yy864;
21316 					if (yych <= 'c') goto yy59;
21317 					goto yy856;
21318 				}
21319 			}
21320 		}
21321 	} else {
21322 		if (yych <= 't') {
21323 			if (yych <= 'h') {
21324 				if (yych == 'f') goto yy857;
21325 				if (yych <= 'g') goto yy59;
21326 				goto yy858;
21327 			} else {
21328 				if (yych <= 'm') {
21329 					if (yych <= 'l') goto yy59;
21330 					goto yy859;
21331 				} else {
21332 					if (yych <= 'r') goto yy59;
21333 					if (yych <= 's') goto yy860;
21334 					goto yy861;
21335 				}
21336 			}
21337 		} else {
21338 			if (yych <= 'y') {
21339 				if (yych <= 'v') {
21340 					if (yych <= 'u') goto yy862;
21341 					goto yy59;
21342 				} else {
21343 					if (yych <= 'w') goto yy959;
21344 					if (yych <= 'x') goto yy59;
21345 					goto yy864;
21346 				}
21347 			} else {
21348 				if (yych <= 0xC2) {
21349 					if (yych <= 0xC1) goto yy59;
21350 					goto yy865;
21351 				} else {
21352 					if (yych == 0xE2) goto yy838;
21353 					goto yy59;
21354 				}
21355 			}
21356 		}
21357 	}
21358 yy1075:
21359 	YYDEBUG(1075, *YYCURSOR);
21360 	yyaccept = 2;
21361 	yych = *(YYMARKER = ++YYCURSOR);
21362 	if (yych <= '/') goto yy20;
21363 	if (yych <= '5') goto yy1018;
21364 	if (yych <= '6') goto yy1019;
21365 	goto yy20;
21366 yy1076:
21367 	YYDEBUG(1076, *YYCURSOR);
21368 	yych = *++YYCURSOR;
21369 	if (yych <= '/') goto yy849;
21370 	if (yych <= '9') goto yy1149;
21371 	goto yy849;
21372 yy1077:
21373 	YYDEBUG(1077, *YYCURSOR);
21374 	yych = *++YYCURSOR;
21375 	if (yych == '0') goto yy1149;
21376 	goto yy849;
21377 yy1078:
21378 	YYDEBUG(1078, *YYCURSOR);
21379 	++YYCURSOR;
21380 	goto yy849;
21381 yy1079:
21382 	YYDEBUG(1079, *YYCURSOR);
21383 	yych = *++YYCURSOR;
21384 	if (yych <= '/') goto yy849;
21385 	if (yych <= '9') goto yy1150;
21386 	goto yy849;
21387 yy1080:
21388 	YYDEBUG(1080, *YYCURSOR);
21389 	yych = *++YYCURSOR;
21390 	if (yych == '0') goto yy1150;
21391 	goto yy849;
21392 yy1081:
21393 	YYDEBUG(1081, *YYCURSOR);
21394 	++YYCURSOR;
21395 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
21396 	yych = *YYCURSOR;
21397 	YYDEBUG(1082, *YYCURSOR);
21398 	if (yych <= 'A') {
21399 		if (yych <= 0x1F) {
21400 			if (yych == '\t') goto yy1081;
21401 			goto yy59;
21402 		} else {
21403 			if (yych <= ' ') goto yy1081;
21404 			if (yych <= '@') goto yy59;
21405 		}
21406 	} else {
21407 		if (yych <= '`') {
21408 			if (yych != 'P') goto yy59;
21409 		} else {
21410 			if (yych <= 'a') goto yy1083;
21411 			if (yych != 'p') goto yy59;
21412 		}
21413 	}
21414 yy1083:
21415 	YYDEBUG(1083, *YYCURSOR);
21416 	yych = *++YYCURSOR;
21417 	if (yych <= 'L') {
21418 		if (yych == '.') goto yy1151;
21419 		goto yy59;
21420 	} else {
21421 		if (yych <= 'M') goto yy1152;
21422 		if (yych == 'm') goto yy1152;
21423 		goto yy59;
21424 	}
21425 yy1084:
21426 	YYDEBUG(1084, *YYCURSOR);
21427 	++YYCURSOR;
21428 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
21429 	yych = *YYCURSOR;
21430 	if (yych == 0xA0) goto yy1153;
21431 	goto yy59;
21432 yy1085:
21433 	YYDEBUG(1085, *YYCURSOR);
21434 	++YYCURSOR;
21435 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
21436 	yych = *YYCURSOR;
21437 	if (yych == 0x80) goto yy1154;
21438 	goto yy59;
21439 yy1086:
21440 	YYDEBUG(1086, *YYCURSOR);
21441 	yych = *++YYCURSOR;
21442 	if (yych == 'S') goto yy1155;
21443 	if (yych == 's') goto yy1155;
21444 	goto yy982;
21445 yy1087:
21446 	YYDEBUG(1087, *YYCURSOR);
21447 	yych = *++YYCURSOR;
21448 	if (yych == 'T') goto yy1156;
21449 	if (yych == 't') goto yy1156;
21450 	goto yy59;
21451 yy1088:
21452 	YYDEBUG(1088, *YYCURSOR);
21453 	yyaccept = 24;
21454 	yych = *(YYMARKER = ++YYCURSOR);
21455 	if (yych <= 'D') {
21456 		if (yych <= 0x1F) {
21457 			if (yych == '\t') goto yy1157;
21458 			goto yy982;
21459 		} else {
21460 			if (yych <= ' ') goto yy1157;
21461 			if (yych <= 'C') goto yy982;
21462 			goto yy1159;
21463 		}
21464 	} else {
21465 		if (yych <= 0xC1) {
21466 			if (yych == 'd') goto yy1159;
21467 			goto yy982;
21468 		} else {
21469 			if (yych <= 0xC2) goto yy1160;
21470 			if (yych == 0xE2) goto yy1161;
21471 			goto yy982;
21472 		}
21473 	}
21474 yy1089:
21475 	YYDEBUG(1089, *YYCURSOR);
21476 	yych = *++YYCURSOR;
21477 	if (yych == 'R') goto yy1086;
21478 	if (yych == 'r') goto yy1086;
21479 	goto yy59;
21480 yy1090:
21481 	YYDEBUG(1090, *YYCURSOR);
21482 	yych = *++YYCURSOR;
21483 	if (yych == 'R') goto yy1162;
21484 	if (yych == 'r') goto yy1162;
21485 	goto yy59;
21486 yy1091:
21487 	YYDEBUG(1091, *YYCURSOR);
21488 	yych = *++YYCURSOR;
21489 	if (yych == 'L') goto yy1163;
21490 	if (yych == 'l') goto yy1163;
21491 	goto yy59;
21492 yy1092:
21493 	YYDEBUG(1092, *YYCURSOR);
21494 	yyaccept = 24;
21495 	yych = *(YYMARKER = ++YYCURSOR);
21496 	if (yych <= 'U') {
21497 		if (yych == 'S') goto yy1155;
21498 		if (yych <= 'T') goto yy982;
21499 		goto yy1164;
21500 	} else {
21501 		if (yych <= 's') {
21502 			if (yych <= 'r') goto yy982;
21503 			goto yy1155;
21504 		} else {
21505 			if (yych == 'u') goto yy1164;
21506 			goto yy982;
21507 		}
21508 	}
21509 yy1093:
21510 	YYDEBUG(1093, *YYCURSOR);
21511 	yyaccept = 24;
21512 	yych = *(YYMARKER = ++YYCURSOR);
21513 	if (yych <= 'T') {
21514 		if (yych <= ' ') {
21515 			if (yych == '\t') goto yy1157;
21516 			if (yych <= 0x1F) goto yy982;
21517 			goto yy1157;
21518 		} else {
21519 			if (yych == 'D') goto yy1159;
21520 			if (yych <= 'S') goto yy982;
21521 			goto yy1165;
21522 		}
21523 	} else {
21524 		if (yych <= 't') {
21525 			if (yych == 'd') goto yy1159;
21526 			if (yych <= 's') goto yy982;
21527 			goto yy1165;
21528 		} else {
21529 			if (yych <= 0xC2) {
21530 				if (yych <= 0xC1) goto yy982;
21531 				goto yy1160;
21532 			} else {
21533 				if (yych == 0xE2) goto yy1161;
21534 				goto yy982;
21535 			}
21536 		}
21537 	}
21538 yy1094:
21539 	YYDEBUG(1094, *YYCURSOR);
21540 	yych = *++YYCURSOR;
21541 	if (yych == 'C') goto yy1086;
21542 	if (yych == 'c') goto yy1086;
21543 	goto yy59;
21544 yy1095:
21545 	YYDEBUG(1095, *YYCURSOR);
21546 	yyaccept = 24;
21547 	yych = *(YYMARKER = ++YYCURSOR);
21548 	if (yych <= 'U') {
21549 		if (yych <= 0x1F) {
21550 			if (yych == '\t') goto yy1157;
21551 			goto yy982;
21552 		} else {
21553 			if (yych <= ' ') goto yy1157;
21554 			if (yych <= 'T') goto yy982;
21555 			goto yy1166;
21556 		}
21557 	} else {
21558 		if (yych <= 0xC1) {
21559 			if (yych == 'u') goto yy1166;
21560 			goto yy982;
21561 		} else {
21562 			if (yych <= 0xC2) goto yy1160;
21563 			if (yych == 0xE2) goto yy1161;
21564 			goto yy982;
21565 		}
21566 	}
21567 yy1096:
21568 	YYDEBUG(1096, *YYCURSOR);
21569 	yyaccept = 24;
21570 	yych = *(YYMARKER = ++YYCURSOR);
21571 	if (yych <= 'S') {
21572 		if (yych == 'O') goto yy1167;
21573 		if (yych <= 'R') goto yy982;
21574 		goto yy1155;
21575 	} else {
21576 		if (yych <= 'o') {
21577 			if (yych <= 'n') goto yy982;
21578 			goto yy1167;
21579 		} else {
21580 			if (yych == 's') goto yy1155;
21581 			goto yy982;
21582 		}
21583 	}
21584 yy1097:
21585 	YYDEBUG(1097, *YYCURSOR);
21586 	yyaccept = 24;
21587 	yych = *(YYMARKER = ++YYCURSOR);
21588 	if (yych <= 'R') {
21589 		if (yych <= 0x1F) {
21590 			if (yych == '\t') goto yy1157;
21591 			goto yy982;
21592 		} else {
21593 			if (yych <= ' ') goto yy1157;
21594 			if (yych <= 'Q') goto yy982;
21595 			goto yy1168;
21596 		}
21597 	} else {
21598 		if (yych <= 0xC1) {
21599 			if (yych == 'r') goto yy1168;
21600 			goto yy982;
21601 		} else {
21602 			if (yych <= 0xC2) goto yy1160;
21603 			if (yych == 0xE2) goto yy1161;
21604 			goto yy982;
21605 		}
21606 	}
21607 yy1098:
21608 	YYDEBUG(1098, *YYCURSOR);
21609 	yyaccept = 24;
21610 	yych = *(YYMARKER = ++YYCURSOR);
21611 	if (yych <= 'S') {
21612 		if (yych <= 0x1F) {
21613 			if (yych == '\t') goto yy1157;
21614 			goto yy982;
21615 		} else {
21616 			if (yych <= ' ') goto yy1157;
21617 			if (yych <= 'R') goto yy982;
21618 			goto yy1169;
21619 		}
21620 	} else {
21621 		if (yych <= 0xC1) {
21622 			if (yych == 's') goto yy1169;
21623 			goto yy982;
21624 		} else {
21625 			if (yych <= 0xC2) goto yy1160;
21626 			if (yych == 0xE2) goto yy1161;
21627 			goto yy982;
21628 		}
21629 	}
21630 yy1099:
21631 	YYDEBUG(1099, *YYCURSOR);
21632 	yyaccept = 24;
21633 	yych = *(YYMARKER = ++YYCURSOR);
21634 	if (yych <= 'N') {
21635 		if (yych <= 0x1F) {
21636 			if (yych == '\t') goto yy1157;
21637 			goto yy982;
21638 		} else {
21639 			if (yych <= ' ') goto yy1157;
21640 			if (yych <= 'M') goto yy982;
21641 			goto yy1170;
21642 		}
21643 	} else {
21644 		if (yych <= 0xC1) {
21645 			if (yych == 'n') goto yy1170;
21646 			goto yy982;
21647 		} else {
21648 			if (yych <= 0xC2) goto yy1160;
21649 			if (yych == 0xE2) goto yy1161;
21650 			goto yy982;
21651 		}
21652 	}
21653 yy1100:
21654 	YYDEBUG(1100, *YYCURSOR);
21655 	yych = *++YYCURSOR;
21656 	if (yych == 'K') goto yy1171;
21657 	if (yych == 'k') goto yy1171;
21658 	goto yy59;
21659 yy1101:
21660 	YYDEBUG(1101, *YYCURSOR);
21661 	yyaccept = 24;
21662 	yych = *(YYMARKER = ++YYCURSOR);
21663 	if (yych <= 'R') {
21664 		if (yych == ' ') goto yy1173;
21665 		goto yy982;
21666 	} else {
21667 		if (yych <= 'S') goto yy1155;
21668 		if (yych == 's') goto yy1155;
21669 		goto yy982;
21670 	}
21671 yy1102:
21672 	YYDEBUG(1102, *YYCURSOR);
21673 	++YYCURSOR;
21674 	goto yy722;
21675 yy1103:
21676 	YYDEBUG(1103, *YYCURSOR);
21677 	yyaccept = 16;
21678 	yych = *(YYMARKER = ++YYCURSOR);
21679 	if (yybm[0+yych] & 128) {
21680 		goto yy954;
21681 	}
21682 	if (yych <= '.') {
21683 		if (yych == '-') goto yy297;
21684 		goto yy722;
21685 	} else {
21686 		if (yych <= '/') goto yy297;
21687 		if (yych == '_') goto yy297;
21688 		goto yy722;
21689 	}
21690 yy1104:
21691 	YYDEBUG(1104, *YYCURSOR);
21692 	yych = *++YYCURSOR;
21693 	if (yych <= ' ') {
21694 		if (yych == '\t') goto yy701;
21695 		if (yych <= 0x1F) goto yy59;
21696 		goto yy701;
21697 	} else {
21698 		if (yych <= 0xC2) {
21699 			if (yych <= 0xC1) goto yy59;
21700 			goto yy704;
21701 		} else {
21702 			if (yych == 0xE2) goto yy705;
21703 			goto yy59;
21704 		}
21705 	}
21706 yy1105:
21707 	YYDEBUG(1105, *YYCURSOR);
21708 	yych = *++YYCURSOR;
21709 	if (yych <= ' ') {
21710 		if (yych == '\t') goto yy701;
21711 		if (yych <= 0x1F) goto yy955;
21712 		goto yy701;
21713 	} else {
21714 		if (yych <= 0xC2) {
21715 			if (yych <= 0xC1) goto yy955;
21716 			goto yy704;
21717 		} else {
21718 			if (yych == 0xE2) goto yy705;
21719 			goto yy955;
21720 		}
21721 	}
21722 yy1106:
21723 	YYDEBUG(1106, *YYCURSOR);
21724 	++YYCURSOR;
21725 yy1107:
21726 	YYDEBUG(1107, *YYCURSOR);
21727 #line 1195 "ext/date/lib/parse_date.re"
21728 	{
21729 		DEBUG_OUTPUT("tomorrow");
21730 		TIMELIB_INIT;
21731 		TIMELIB_HAVE_RELATIVE();
21732 		TIMELIB_UNHAVE_TIME();
21733 
21734 		s->time->relative.d = 1;
21735 		TIMELIB_DEINIT;
21736 		return TIMELIB_RELATIVE;
21737 	}
21738 #line 21739 "<stdout>"
21739 yy1108:
21740 	YYDEBUG(1108, *YYCURSOR);
21741 	yyaccept = 28;
21742 	yych = *(YYMARKER = ++YYCURSOR);
21743 	if (yybm[0+yych] & 128) {
21744 		goto yy954;
21745 	}
21746 	if (yych <= '.') {
21747 		if (yych == '-') goto yy297;
21748 		goto yy1107;
21749 	} else {
21750 		if (yych <= '/') goto yy297;
21751 		if (yych == '_') goto yy297;
21752 		goto yy1107;
21753 	}
21754 yy1109:
21755 	YYDEBUG(1109, *YYCURSOR);
21756 	yych = *++YYCURSOR;
21757 	if (yych == 'Y') goto yy1174;
21758 	if (yych == 'y') goto yy1174;
21759 	goto yy59;
21760 yy1110:
21761 	YYDEBUG(1110, *YYCURSOR);
21762 	yych = *++YYCURSOR;
21763 	if (yych == 'Y') goto yy1174;
21764 	if (yych == 'y') goto yy1176;
21765 	goto yy955;
21766 yy1111:
21767 	YYDEBUG(1111, *YYCURSOR);
21768 	yych = *++YYCURSOR;
21769 	if (yych <= '/') goto yy59;
21770 	if (yych <= '2') goto yy1177;
21771 	if (yych <= '3') goto yy1178;
21772 	goto yy59;
21773 yy1112:
21774 	YYDEBUG(1112, *YYCURSOR);
21775 	yych = *++YYCURSOR;
21776 	if (yych == '-') goto yy1179;
21777 	goto yy59;
21778 yy1113:
21779 	YYDEBUG(1113, *YYCURSOR);
21780 	yych = *++YYCURSOR;
21781 	if (yych <= '9') {
21782 		if (yych == '-') goto yy893;
21783 		if (yych <= '/') goto yy196;
21784 		goto yy1180;
21785 	} else {
21786 		if (yych <= 0xC2) {
21787 			if (yych <= 0xC1) goto yy196;
21788 			goto yy97;
21789 		} else {
21790 			if (yych == 0xE2) goto yy98;
21791 			goto yy196;
21792 		}
21793 	}
21794 yy1114:
21795 	YYDEBUG(1114, *YYCURSOR);
21796 	yych = *++YYCURSOR;
21797 	if (yych <= '/') goto yy59;
21798 	if (yych <= '9') goto yy1181;
21799 	goto yy59;
21800 yy1115:
21801 	YYDEBUG(1115, *YYCURSOR);
21802 	yych = *++YYCURSOR;
21803 	if (yych <= '/') goto yy59;
21804 	if (yych <= '1') goto yy1182;
21805 	if (yych <= '2') goto yy1183;
21806 	if (yych <= '9') goto yy1184;
21807 	goto yy59;
21808 yy1116:
21809 	YYDEBUG(1116, *YYCURSOR);
21810 	yych = *++YYCURSOR;
21811 	if (yych == 'd') goto yy1185;
21812 	goto yy59;
21813 yy1117:
21814 	YYDEBUG(1117, *YYCURSOR);
21815 	yych = *++YYCURSOR;
21816 	if (yych == 't') goto yy1185;
21817 	goto yy59;
21818 yy1118:
21819 	YYDEBUG(1118, *YYCURSOR);
21820 	yych = *++YYCURSOR;
21821 	if (yych == 'h') goto yy1185;
21822 	goto yy59;
21823 yy1119:
21824 	YYDEBUG(1119, *YYCURSOR);
21825 	yyaccept = 15;
21826 	yych = *(YYMARKER = ++YYCURSOR);
21827 	if (yych <= 'm') {
21828 		if (yych <= '9') {
21829 			if (yych <= '/') goto yy567;
21830 			goto yy1186;
21831 		} else {
21832 			if (yych == 'T') goto yy1115;
21833 			goto yy567;
21834 		}
21835 	} else {
21836 		if (yych <= 'r') {
21837 			if (yych <= 'n') goto yy1116;
21838 			if (yych <= 'q') goto yy567;
21839 			goto yy1116;
21840 		} else {
21841 			if (yych <= 's') goto yy1117;
21842 			if (yych <= 't') goto yy1118;
21843 			goto yy567;
21844 		}
21845 	}
21846 yy1120:
21847 	YYDEBUG(1120, *YYCURSOR);
21848 	yyaccept = 15;
21849 	yych = *(YYMARKER = ++YYCURSOR);
21850 	if (yych <= 'm') {
21851 		if (yych <= '1') {
21852 			if (yych <= '/') goto yy567;
21853 			goto yy1186;
21854 		} else {
21855 			if (yych == 'T') goto yy1115;
21856 			goto yy567;
21857 		}
21858 	} else {
21859 		if (yych <= 'r') {
21860 			if (yych <= 'n') goto yy1116;
21861 			if (yych <= 'q') goto yy567;
21862 			goto yy1116;
21863 		} else {
21864 			if (yych <= 's') goto yy1117;
21865 			if (yych <= 't') goto yy1118;
21866 			goto yy567;
21867 		}
21868 	}
21869 yy1121:
21870 	YYDEBUG(1121, *YYCURSOR);
21871 	yych = *++YYCURSOR;
21872 	if (yych == 'd') goto yy1187;
21873 	goto yy59;
21874 yy1122:
21875 	YYDEBUG(1122, *YYCURSOR);
21876 	yych = *++YYCURSOR;
21877 	if (yych == 't') goto yy1187;
21878 	goto yy59;
21879 yy1123:
21880 	YYDEBUG(1123, *YYCURSOR);
21881 	yych = *++YYCURSOR;
21882 	if (yych == 'h') goto yy1187;
21883 	goto yy59;
21884 yy1124:
21885 	YYDEBUG(1124, *YYCURSOR);
21886 	yyaccept = 26;
21887 	yych = *(YYMARKER = ++YYCURSOR);
21888 	if (yych <= 'n') {
21889 		if (yych <= '/') goto yy1043;
21890 		if (yych <= '9') goto yy1188;
21891 		if (yych <= 'm') goto yy1043;
21892 		goto yy1121;
21893 	} else {
21894 		if (yych <= 'r') {
21895 			if (yych <= 'q') goto yy1043;
21896 			goto yy1121;
21897 		} else {
21898 			if (yych <= 's') goto yy1122;
21899 			if (yych <= 't') goto yy1123;
21900 			goto yy1043;
21901 		}
21902 	}
21903 yy1125:
21904 	YYDEBUG(1125, *YYCURSOR);
21905 	yyaccept = 26;
21906 	yych = *(YYMARKER = ++YYCURSOR);
21907 	if (yych <= 'n') {
21908 		if (yych <= '/') goto yy1043;
21909 		if (yych <= '1') goto yy1188;
21910 		if (yych <= 'm') goto yy1043;
21911 		goto yy1121;
21912 	} else {
21913 		if (yych <= 'r') {
21914 			if (yych <= 'q') goto yy1043;
21915 			goto yy1121;
21916 		} else {
21917 			if (yych <= 's') goto yy1122;
21918 			if (yych <= 't') goto yy1123;
21919 			goto yy1043;
21920 		}
21921 	}
21922 yy1126:
21923 	YYDEBUG(1126, *YYCURSOR);
21924 	yych = *++YYCURSOR;
21925 	if (yych <= 0xC1) {
21926 		if (yych <= '/') goto yy196;
21927 		if (yych <= '9') goto yy1189;
21928 		goto yy196;
21929 	} else {
21930 		if (yych <= 0xC2) goto yy97;
21931 		if (yych == 0xE2) goto yy98;
21932 		goto yy196;
21933 	}
21934 yy1127:
21935 	YYDEBUG(1127, *YYCURSOR);
21936 	yych = *++YYCURSOR;
21937 	if (yych <= 'H') {
21938 		if (yych <= '2') {
21939 			if (yych <= '/') goto yy59;
21940 			if (yych <= '1') goto yy1190;
21941 			goto yy1191;
21942 		} else {
21943 			if (yych <= '9') goto yy1192;
21944 			if (yych <= 'G') goto yy59;
21945 			goto yy266;
21946 		}
21947 	} else {
21948 		if (yych <= 'g') {
21949 			if (yych == 'U') goto yy267;
21950 			goto yy59;
21951 		} else {
21952 			if (yych <= 'h') goto yy266;
21953 			if (yych == 'u') goto yy267;
21954 			goto yy59;
21955 		}
21956 	}
21957 yy1128:
21958 	YYDEBUG(1128, *YYCURSOR);
21959 	yych = *++YYCURSOR;
21960 	if (yych <= 'H') {
21961 		if (yych <= '2') {
21962 			if (yych <= '/') goto yy59;
21963 			if (yych <= '1') goto yy1193;
21964 			goto yy1194;
21965 		} else {
21966 			if (yych <= '9') goto yy1195;
21967 			if (yych <= 'G') goto yy59;
21968 			goto yy266;
21969 		}
21970 	} else {
21971 		if (yych <= 'g') {
21972 			if (yych == 'U') goto yy267;
21973 			goto yy59;
21974 		} else {
21975 			if (yych <= 'h') goto yy266;
21976 			if (yych == 'u') goto yy267;
21977 			goto yy59;
21978 		}
21979 	}
21980 yy1129:
21981 	YYDEBUG(1129, *YYCURSOR);
21982 	yych = *++YYCURSOR;
21983 	if (yych <= '/') goto yy59;
21984 	if (yych <= '9') goto yy1196;
21985 	goto yy59;
21986 yy1130:
21987 	YYDEBUG(1130, *YYCURSOR);
21988 	yych = *++YYCURSOR;
21989 	if (yych <= '/') goto yy59;
21990 	if (yych <= '1') goto yy1196;
21991 	goto yy59;
21992 yy1131:
21993 	YYDEBUG(1131, *YYCURSOR);
21994 	yych = *++YYCURSOR;
21995 	if (yych == 'T') goto yy790;
21996 	if (yych == 't') goto yy790;
21997 	goto yy59;
21998 yy1132:
21999 	YYDEBUG(1132, *YYCURSOR);
22000 	yych = *++YYCURSOR;
22001 	if (yych == 'R') goto yy1197;
22002 	if (yych == 'r') goto yy1197;
22003 	goto yy59;
22004 yy1133:
22005 	YYDEBUG(1133, *YYCURSOR);
22006 	yych = *++YYCURSOR;
22007 	if (yych == 'E') goto yy1198;
22008 	if (yych == 'e') goto yy1198;
22009 	goto yy59;
22010 yy1134:
22011 	YYDEBUG(1134, *YYCURSOR);
22012 	yych = *++YYCURSOR;
22013 	if (yych == 'T') goto yy425;
22014 	if (yych == 't') goto yy425;
22015 	goto yy59;
22016 yy1135:
22017 	YYDEBUG(1135, *YYCURSOR);
22018 	yych = *++YYCURSOR;
22019 	if (yych == 'O') goto yy628;
22020 	if (yych == 'o') goto yy628;
22021 	goto yy59;
22022 yy1136:
22023 	YYDEBUG(1136, *YYCURSOR);
22024 	yyaccept = 4;
22025 	YYMARKER = ++YYCURSOR;
22026 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
22027 	yych = *YYCURSOR;
22028 	YYDEBUG(1137, *YYCURSOR);
22029 	if (yych <= 'O') {
22030 		if (yych <= '9') {
22031 			if (yych <= '/') goto yy177;
22032 			goto yy1136;
22033 		} else {
22034 			if (yych == 'A') goto yy1199;
22035 			goto yy177;
22036 		}
22037 	} else {
22038 		if (yych <= 'a') {
22039 			if (yych <= 'P') goto yy1199;
22040 			if (yych <= '`') goto yy177;
22041 			goto yy1199;
22042 		} else {
22043 			if (yych == 'p') goto yy1199;
22044 			goto yy177;
22045 		}
22046 	}
22047 yy1138:
22048 	YYDEBUG(1138, *YYCURSOR);
22049 	++YYCURSOR;
22050 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
22051 	yych = *YYCURSOR;
22052 	YYDEBUG(1139, *YYCURSOR);
22053 	if (yych <= 'O') {
22054 		if (yych <= '9') {
22055 			if (yych <= '/') goto yy59;
22056 			goto yy1138;
22057 		} else {
22058 			if (yych == 'A') goto yy1199;
22059 			goto yy59;
22060 		}
22061 	} else {
22062 		if (yych <= 'a') {
22063 			if (yych <= 'P') goto yy1199;
22064 			if (yych <= '`') goto yy59;
22065 			goto yy1199;
22066 		} else {
22067 			if (yych == 'p') goto yy1199;
22068 			goto yy59;
22069 		}
22070 	}
22071 yy1140:
22072 	YYDEBUG(1140, *YYCURSOR);
22073 	++YYCURSOR;
22074 	YYDEBUG(1141, *YYCURSOR);
22075 #line 1748 "ext/date/lib/parse_date.re"
22076 	{
22077 		int length = 0;
22078 		DEBUG_OUTPUT("pgtextreverse");
22079 		TIMELIB_INIT;
22080 		TIMELIB_HAVE_DATE();
22081 		s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
22082 		s->time->m = timelib_get_month(&ptr);
22083 		s->time->d = timelib_get_nr(&ptr, 2);
22084 		TIMELIB_PROCESS_YEAR(s->time->y, length);
22085 		TIMELIB_DEINIT;
22086 		return TIMELIB_PG_TEXT;
22087 	}
22088 #line 22089 "<stdout>"
22089 yy1142:
22090 	YYDEBUG(1142, *YYCURSOR);
22091 	++YYCURSOR;
22092 	goto yy290;
22093 yy1143:
22094 	YYDEBUG(1143, *YYCURSOR);
22095 	yych = *++YYCURSOR;
22096 	if (yych <= '/') goto yy1070;
22097 	if (yych <= '9') goto yy1200;
22098 	goto yy1070;
22099 yy1144:
22100 	YYDEBUG(1144, *YYCURSOR);
22101 	yyaccept = 29;
22102 	yych = *(YYMARKER = ++YYCURSOR);
22103 	if (yych <= 'O') {
22104 		if (yych <= ' ') {
22105 			if (yych == '\t') goto yy1201;
22106 			if (yych >= ' ') goto yy1201;
22107 		} else {
22108 			if (yych <= '9') {
22109 				if (yych >= '0') goto yy1147;
22110 			} else {
22111 				if (yych == 'A') goto yy1203;
22112 			}
22113 		}
22114 	} else {
22115 		if (yych <= 'p') {
22116 			if (yych <= '`') {
22117 				if (yych <= 'P') goto yy1203;
22118 			} else {
22119 				if (yych <= 'a') goto yy1203;
22120 				if (yych >= 'p') goto yy1203;
22121 			}
22122 		} else {
22123 			if (yych <= 0xC2) {
22124 				if (yych >= 0xC2) goto yy1204;
22125 			} else {
22126 				if (yych == 0xE2) goto yy1205;
22127 			}
22128 		}
22129 	}
22130 yy1145:
22131 	YYDEBUG(1145, *YYCURSOR);
22132 #line 1290 "ext/date/lib/parse_date.re"
22133 	{
22134 		DEBUG_OUTPUT("backof | frontof");
22135 		TIMELIB_INIT;
22136 		TIMELIB_UNHAVE_TIME();
22137 		TIMELIB_HAVE_TIME();
22138 
22139 		if (*ptr == 'b') {
22140 			s->time->h = timelib_get_nr(&ptr, 2);
22141 			s->time->i = 15;
22142 		} else {
22143 			s->time->h = timelib_get_nr(&ptr, 2) - 1;
22144 			s->time->i = 45;
22145 		}
22146 		if (*ptr != '\0' ) {
22147 			timelib_eat_spaces(&ptr);
22148 			s->time->h += timelib_meridian(&ptr, s->time->h);
22149 		}
22150 
22151 		TIMELIB_DEINIT;
22152 		return TIMELIB_LF_DAY_OF_MONTH;
22153 	}
22154 #line 22155 "<stdout>"
22155 yy1146:
22156 	YYDEBUG(1146, *YYCURSOR);
22157 	yyaccept = 29;
22158 	yych = *(YYMARKER = ++YYCURSOR);
22159 	if (yych <= 'O') {
22160 		if (yych <= ' ') {
22161 			if (yych == '\t') goto yy1201;
22162 			if (yych <= 0x1F) goto yy1145;
22163 			goto yy1201;
22164 		} else {
22165 			if (yych <= '4') {
22166 				if (yych <= '/') goto yy1145;
22167 			} else {
22168 				if (yych == 'A') goto yy1203;
22169 				goto yy1145;
22170 			}
22171 		}
22172 	} else {
22173 		if (yych <= 'p') {
22174 			if (yych <= '`') {
22175 				if (yych <= 'P') goto yy1203;
22176 				goto yy1145;
22177 			} else {
22178 				if (yych <= 'a') goto yy1203;
22179 				if (yych <= 'o') goto yy1145;
22180 				goto yy1203;
22181 			}
22182 		} else {
22183 			if (yych <= 0xC2) {
22184 				if (yych <= 0xC1) goto yy1145;
22185 				goto yy1204;
22186 			} else {
22187 				if (yych == 0xE2) goto yy1205;
22188 				goto yy1145;
22189 			}
22190 		}
22191 	}
22192 yy1147:
22193 	YYDEBUG(1147, *YYCURSOR);
22194 	yyaccept = 29;
22195 	yych = *(YYMARKER = ++YYCURSOR);
22196 	if (yych <= 'P') {
22197 		if (yych <= ' ') {
22198 			if (yych == '\t') goto yy1201;
22199 			if (yych <= 0x1F) goto yy1145;
22200 			goto yy1201;
22201 		} else {
22202 			if (yych == 'A') goto yy1203;
22203 			if (yych <= 'O') goto yy1145;
22204 			goto yy1203;
22205 		}
22206 	} else {
22207 		if (yych <= 'p') {
22208 			if (yych == 'a') goto yy1203;
22209 			if (yych <= 'o') goto yy1145;
22210 			goto yy1203;
22211 		} else {
22212 			if (yych <= 0xC2) {
22213 				if (yych <= 0xC1) goto yy1145;
22214 				goto yy1204;
22215 			} else {
22216 				if (yych == 0xE2) goto yy1205;
22217 				goto yy1145;
22218 			}
22219 		}
22220 	}
22221 yy1148:
22222 	YYDEBUG(1148, *YYCURSOR);
22223 	yych = *++YYCURSOR;
22224 	if (yych == 'K') goto yy1206;
22225 	if (yych == 'k') goto yy1206;
22226 	goto yy59;
22227 yy1149:
22228 	YYDEBUG(1149, *YYCURSOR);
22229 	yyaccept = 20;
22230 	yych = *(YYMARKER = ++YYCURSOR);
22231 	if (yych <= ',') {
22232 		if (yych <= ' ') {
22233 			if (yych == '\t') goto yy1208;
22234 			if (yych <= 0x1F) goto yy849;
22235 			goto yy1208;
22236 		} else {
22237 			if (yych <= '(') {
22238 				if (yych <= '\'') goto yy849;
22239 				goto yy1208;
22240 			} else {
22241 				if (yych == '+') goto yy1208;
22242 				goto yy849;
22243 			}
22244 		}
22245 	} else {
22246 		if (yych <= 'z') {
22247 			if (yych <= '@') {
22248 				if (yych <= '-') goto yy1208;
22249 				goto yy849;
22250 			} else {
22251 				if (yych <= 'Z') goto yy1208;
22252 				if (yych <= '`') goto yy849;
22253 				goto yy1208;
22254 			}
22255 		} else {
22256 			if (yych <= 0xC2) {
22257 				if (yych <= 0xC1) goto yy849;
22258 				goto yy1214;
22259 			} else {
22260 				if (yych == 0xE2) goto yy1215;
22261 				goto yy849;
22262 			}
22263 		}
22264 	}
22265 yy1150:
22266 	YYDEBUG(1150, *YYCURSOR);
22267 	yyaccept = 20;
22268 	yych = *(YYMARKER = ++YYCURSOR);
22269 	if (yych <= ',') {
22270 		if (yych <= ' ') {
22271 			if (yych == '\t') goto yy1217;
22272 			if (yych <= 0x1F) goto yy849;
22273 			goto yy1217;
22274 		} else {
22275 			if (yych <= '(') {
22276 				if (yych <= '\'') goto yy849;
22277 				goto yy1217;
22278 			} else {
22279 				if (yych == '+') goto yy1217;
22280 				goto yy849;
22281 			}
22282 		}
22283 	} else {
22284 		if (yych <= 'z') {
22285 			if (yych <= '@') {
22286 				if (yych <= '-') goto yy1217;
22287 				goto yy849;
22288 			} else {
22289 				if (yych <= 'Z') goto yy1217;
22290 				if (yych <= '`') goto yy849;
22291 				goto yy1217;
22292 			}
22293 		} else {
22294 			if (yych <= 0xC2) {
22295 				if (yych <= 0xC1) goto yy849;
22296 				goto yy1220;
22297 			} else {
22298 				if (yych == 0xE2) goto yy1221;
22299 				goto yy849;
22300 			}
22301 		}
22302 	}
22303 yy1151:
22304 	YYDEBUG(1151, *YYCURSOR);
22305 	yych = *++YYCURSOR;
22306 	if (yych == 'M') goto yy1152;
22307 	if (yych != 'm') goto yy59;
22308 yy1152:
22309 	YYDEBUG(1152, *YYCURSOR);
22310 	yych = *++YYCURSOR;
22311 	if (yych <= 0x1F) {
22312 		if (yych <= 0x00) goto yy1222;
22313 		if (yych == '\t') goto yy1222;
22314 		goto yy59;
22315 	} else {
22316 		if (yych <= ' ') goto yy1222;
22317 		if (yych == '.') goto yy1224;
22318 		goto yy59;
22319 	}
22320 yy1153:
22321 	YYDEBUG(1153, *YYCURSOR);
22322 	++YYCURSOR;
22323 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
22324 	yych = *YYCURSOR;
22325 	if (yych <= '`') {
22326 		if (yych <= 'A') {
22327 			if (yych <= '@') goto yy59;
22328 			goto yy1083;
22329 		} else {
22330 			if (yych == 'P') goto yy1083;
22331 			goto yy59;
22332 		}
22333 	} else {
22334 		if (yych <= 'p') {
22335 			if (yych <= 'a') goto yy1083;
22336 			if (yych <= 'o') goto yy59;
22337 			goto yy1083;
22338 		} else {
22339 			if (yych == 0xC2) goto yy1084;
22340 			goto yy59;
22341 		}
22342 	}
22343 yy1154:
22344 	YYDEBUG(1154, *YYCURSOR);
22345 	++YYCURSOR;
22346 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
22347 	yych = *YYCURSOR;
22348 	if (yych == 0xAF) goto yy1225;
22349 	goto yy59;
22350 yy1155:
22351 	YYDEBUG(1155, *YYCURSOR);
22352 	++YYCURSOR;
22353 	goto yy982;
22354 yy1156:
22355 	YYDEBUG(1156, *YYCURSOR);
22356 	yych = *++YYCURSOR;
22357 	if (yych <= 'N') {
22358 		if (yych == 'H') goto yy1226;
22359 		if (yych <= 'M') goto yy59;
22360 		goto yy1227;
22361 	} else {
22362 		if (yych <= 'h') {
22363 			if (yych <= 'g') goto yy59;
22364 			goto yy1226;
22365 		} else {
22366 			if (yych == 'n') goto yy1227;
22367 			goto yy59;
22368 		}
22369 	}
22370 yy1157:
22371 	YYDEBUG(1157, *YYCURSOR);
22372 	++YYCURSOR;
22373 	if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
22374 	yych = *YYCURSOR;
22375 	YYDEBUG(1158, *YYCURSOR);
22376 	if (yych <= ' ') {
22377 		if (yych == '\t') goto yy1157;
22378 		if (yych <= 0x1F) goto yy59;
22379 		goto yy1157;
22380 	} else {
22381 		if (yych <= 'O') {
22382 			if (yych <= 'N') goto yy59;
22383 			goto yy1228;
22384 		} else {
22385 			if (yych == 'o') goto yy1228;
22386 			goto yy59;
22387 		}
22388 	}
22389 yy1159:
22390 	YYDEBUG(1159, *YYCURSOR);
22391 	yych = *++YYCURSOR;
22392 	if (yych == 'A') goto yy1229;
22393 	if (yych == 'a') goto yy1229;
22394 	goto yy59;
22395 yy1160:
22396 	YYDEBUG(1160, *YYCURSOR);
22397 	++YYCURSOR;
22398 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
22399 	yych = *YYCURSOR;
22400 	if (yych == 0xA0) goto yy1230;
22401 	goto yy59;
22402 yy1161:
22403 	YYDEBUG(1161, *YYCURSOR);
22404 	++YYCURSOR;
22405 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
22406 	yych = *YYCURSOR;
22407 	if (yych == 0x80) goto yy1231;
22408 	goto yy59;
22409 yy1162:
22410 	YYDEBUG(1162, *YYCURSOR);
22411 	yych = *++YYCURSOR;
22412 	if (yych == 'O') goto yy1232;
22413 	if (yych == 'o') goto yy1232;
22414 	goto yy59;
22415 yy1163:
22416 	YYDEBUG(1163, *YYCURSOR);
22417 	yych = *++YYCURSOR;
22418 	if (yych == 'I') goto yy1232;
22419 	if (yych == 'i') goto yy1232;
22420 	goto yy59;
22421 yy1164:
22422 	YYDEBUG(1164, *YYCURSOR);
22423 	yych = *++YYCURSOR;
22424 	if (yych == 'T') goto yy1233;
22425 	if (yych == 't') goto yy1233;
22426 	goto yy59;
22427 yy1165:
22428 	YYDEBUG(1165, *YYCURSOR);
22429 	yych = *++YYCURSOR;
22430 	if (yych == 'H') goto yy1086;
22431 	if (yych == 'h') goto yy1086;
22432 	goto yy59;
22433 yy1166:
22434 	YYDEBUG(1166, *YYCURSOR);
22435 	yych = *++YYCURSOR;
22436 	if (yych == 'R') goto yy1169;
22437 	if (yych == 'r') goto yy1169;
22438 	goto yy59;
22439 yy1167:
22440 	YYDEBUG(1167, *YYCURSOR);
22441 	yych = *++YYCURSOR;
22442 	if (yych == 'N') goto yy1234;
22443 	if (yych == 'n') goto yy1234;
22444 	goto yy59;
22445 yy1168:
22446 	YYDEBUG(1168, *YYCURSOR);
22447 	yych = *++YYCURSOR;
22448 	if (yych == 'S') goto yy1169;
22449 	if (yych != 's') goto yy59;
22450 yy1169:
22451 	YYDEBUG(1169, *YYCURSOR);
22452 	yych = *++YYCURSOR;
22453 	if (yych == 'D') goto yy1159;
22454 	if (yych == 'd') goto yy1159;
22455 	goto yy59;
22456 yy1170:
22457 	YYDEBUG(1170, *YYCURSOR);
22458 	yych = *++YYCURSOR;
22459 	if (yych == 'E') goto yy1168;
22460 	if (yych == 'e') goto yy1168;
22461 	goto yy59;
22462 yy1171:
22463 	YYDEBUG(1171, *YYCURSOR);
22464 	yyaccept = 30;
22465 	yych = *(YYMARKER = ++YYCURSOR);
22466 	if (yych <= 'S') {
22467 		if (yych == 'D') goto yy856;
22468 		if (yych >= 'S') goto yy1155;
22469 	} else {
22470 		if (yych <= 'd') {
22471 			if (yych >= 'd') goto yy856;
22472 		} else {
22473 			if (yych == 's') goto yy1155;
22474 		}
22475 	}
22476 yy1172:
22477 	YYDEBUG(1172, *YYCURSOR);
22478 #line 1834 "ext/date/lib/parse_date.re"
22479 	{
22480 		timelib_sll i;
22481 		int         behavior = 0;
22482 		DEBUG_OUTPUT("relativetextweek");
22483 		TIMELIB_INIT;
22484 		TIMELIB_HAVE_RELATIVE();
22485 
22486 		while(*ptr) {
22487 			i = timelib_get_relative_text(&ptr, &behavior);
22488 			timelib_eat_spaces(&ptr);
22489 			timelib_set_relative(&ptr, i, behavior, s, TIMELIB_TIME_PART_DONT_KEEP);
22490 			s->time->relative.weekday_behavior = 2;
22491 
22492 			/* to handle the format weekday + last/this/next week */
22493 			if (s->time->relative.have_weekday_relative == 0) {
22494 				TIMELIB_HAVE_WEEKDAY_RELATIVE();
22495 				s->time->relative.weekday = 1;
22496 			}
22497 		}
22498 		TIMELIB_DEINIT;
22499 		return TIMELIB_RELATIVE;
22500 	}
22501 #line 22502 "<stdout>"
22502 yy1173:
22503 	YYDEBUG(1173, *YYCURSOR);
22504 	yych = *++YYCURSOR;
22505 	if (yych == 'O') goto yy1235;
22506 	if (yych == 'o') goto yy1235;
22507 	goto yy59;
22508 yy1174:
22509 	YYDEBUG(1174, *YYCURSOR);
22510 	++YYCURSOR;
22511 yy1175:
22512 	YYDEBUG(1175, *YYCURSOR);
22513 #line 1152 "ext/date/lib/parse_date.re"
22514 	{
22515 		DEBUG_OUTPUT("yesterday");
22516 		TIMELIB_INIT;
22517 		TIMELIB_HAVE_RELATIVE();
22518 		TIMELIB_UNHAVE_TIME();
22519 
22520 		s->time->relative.d = -1;
22521 		TIMELIB_DEINIT;
22522 		return TIMELIB_RELATIVE;
22523 	}
22524 #line 22525 "<stdout>"
22525 yy1176:
22526 	YYDEBUG(1176, *YYCURSOR);
22527 	yyaccept = 31;
22528 	yych = *(YYMARKER = ++YYCURSOR);
22529 	if (yybm[0+yych] & 128) {
22530 		goto yy954;
22531 	}
22532 	if (yych <= '.') {
22533 		if (yych == '-') goto yy297;
22534 		goto yy1175;
22535 	} else {
22536 		if (yych <= '/') goto yy297;
22537 		if (yych == '_') goto yy297;
22538 		goto yy1175;
22539 	}
22540 yy1177:
22541 	YYDEBUG(1177, *YYCURSOR);
22542 	yych = *++YYCURSOR;
22543 	if (yych <= '/') goto yy59;
22544 	if (yych <= '9') goto yy1187;
22545 	goto yy59;
22546 yy1178:
22547 	YYDEBUG(1178, *YYCURSOR);
22548 	yych = *++YYCURSOR;
22549 	if (yych <= '/') goto yy59;
22550 	if (yych <= '1') goto yy1187;
22551 	goto yy59;
22552 yy1179:
22553 	YYDEBUG(1179, *YYCURSOR);
22554 	yych = *++YYCURSOR;
22555 	if (yych <= '/') goto yy59;
22556 	if (yych <= '2') goto yy1236;
22557 	if (yych <= '3') goto yy1237;
22558 	goto yy59;
22559 yy1180:
22560 	YYDEBUG(1180, *YYCURSOR);
22561 	yych = *++YYCURSOR;
22562 	if (yych <= '9') {
22563 		if (yych == '-') goto yy893;
22564 		if (yych <= '/') goto yy196;
22565 		goto yy1238;
22566 	} else {
22567 		if (yych <= 0xC2) {
22568 			if (yych <= 0xC1) goto yy196;
22569 			goto yy97;
22570 		} else {
22571 			if (yych == 0xE2) goto yy98;
22572 			goto yy196;
22573 		}
22574 	}
22575 yy1181:
22576 	YYDEBUG(1181, *YYCURSOR);
22577 	yych = *++YYCURSOR;
22578 	if (yych == ':') goto yy1239;
22579 	goto yy59;
22580 yy1182:
22581 	YYDEBUG(1182, *YYCURSOR);
22582 	yych = *++YYCURSOR;
22583 	if (yych <= '/') goto yy59;
22584 	if (yych <= '9') goto yy1184;
22585 	if (yych <= ':') goto yy1240;
22586 	goto yy59;
22587 yy1183:
22588 	YYDEBUG(1183, *YYCURSOR);
22589 	yych = *++YYCURSOR;
22590 	if (yych <= '/') goto yy59;
22591 	if (yych <= '4') goto yy1184;
22592 	if (yych == ':') goto yy1240;
22593 	goto yy59;
22594 yy1184:
22595 	YYDEBUG(1184, *YYCURSOR);
22596 	yych = *++YYCURSOR;
22597 	if (yych == ':') goto yy1240;
22598 	goto yy59;
22599 yy1185:
22600 	YYDEBUG(1185, *YYCURSOR);
22601 	yyaccept = 15;
22602 	yych = *(YYMARKER = ++YYCURSOR);
22603 	if (yych == 'T') goto yy1115;
22604 	goto yy567;
22605 yy1186:
22606 	YYDEBUG(1186, *YYCURSOR);
22607 	yyaccept = 26;
22608 	yych = *(YYMARKER = ++YYCURSOR);
22609 	if (yych <= 'n') {
22610 		if (yych == 'T') goto yy1241;
22611 		if (yych <= 'm') goto yy1043;
22612 		goto yy1116;
22613 	} else {
22614 		if (yych <= 'r') {
22615 			if (yych <= 'q') goto yy1043;
22616 			goto yy1116;
22617 		} else {
22618 			if (yych <= 's') goto yy1117;
22619 			if (yych <= 't') goto yy1118;
22620 			goto yy1043;
22621 		}
22622 	}
22623 yy1187:
22624 	YYDEBUG(1187, *YYCURSOR);
22625 	++YYCURSOR;
22626 	goto yy1043;
22627 yy1188:
22628 	YYDEBUG(1188, *YYCURSOR);
22629 	yyaccept = 26;
22630 	yych = *(YYMARKER = ++YYCURSOR);
22631 	if (yych <= 'n') {
22632 		if (yych == '/') goto yy1187;
22633 		if (yych <= 'm') goto yy1043;
22634 		goto yy1121;
22635 	} else {
22636 		if (yych <= 'r') {
22637 			if (yych <= 'q') goto yy1043;
22638 			goto yy1121;
22639 		} else {
22640 			if (yych <= 's') goto yy1122;
22641 			if (yych <= 't') goto yy1123;
22642 			goto yy1043;
22643 		}
22644 	}
22645 yy1189:
22646 	YYDEBUG(1189, *YYCURSOR);
22647 	yych = *++YYCURSOR;
22648 	if (yych <= 0xC1) {
22649 		if (yych <= '/') goto yy196;
22650 		if (yych <= '9') goto yy1242;
22651 		goto yy196;
22652 	} else {
22653 		if (yych <= 0xC2) goto yy97;
22654 		if (yych == 0xE2) goto yy98;
22655 		goto yy196;
22656 	}
22657 yy1190:
22658 	YYDEBUG(1190, *YYCURSOR);
22659 	yych = *++YYCURSOR;
22660 	if (yych <= '/') goto yy59;
22661 	if (yych <= '5') goto yy1243;
22662 	if (yych <= '9') goto yy1192;
22663 	if (yych <= ':') goto yy1244;
22664 	goto yy59;
22665 yy1191:
22666 	YYDEBUG(1191, *YYCURSOR);
22667 	yych = *++YYCURSOR;
22668 	if (yych <= '5') {
22669 		if (yych <= '/') goto yy59;
22670 		if (yych <= '4') goto yy1243;
22671 		goto yy1245;
22672 	} else {
22673 		if (yych == ':') goto yy1244;
22674 		goto yy59;
22675 	}
22676 yy1192:
22677 	YYDEBUG(1192, *YYCURSOR);
22678 	yych = *++YYCURSOR;
22679 	if (yych <= '/') goto yy59;
22680 	if (yych <= '5') goto yy1245;
22681 	if (yych == ':') goto yy1244;
22682 	goto yy59;
22683 yy1193:
22684 	YYDEBUG(1193, *YYCURSOR);
22685 	yych = *++YYCURSOR;
22686 	if (yych <= '/') goto yy59;
22687 	if (yych <= '5') goto yy1246;
22688 	if (yych <= '9') goto yy1195;
22689 	goto yy59;
22690 yy1194:
22691 	YYDEBUG(1194, *YYCURSOR);
22692 	yych = *++YYCURSOR;
22693 	if (yych <= '/') goto yy59;
22694 	if (yych <= '4') goto yy1246;
22695 	if (yych <= '5') goto yy1245;
22696 	goto yy59;
22697 yy1195:
22698 	YYDEBUG(1195, *YYCURSOR);
22699 	yych = *++YYCURSOR;
22700 	if (yych <= '/') goto yy59;
22701 	if (yych <= '5') goto yy1245;
22702 	goto yy59;
22703 yy1196:
22704 	YYDEBUG(1196, *YYCURSOR);
22705 	yych = *++YYCURSOR;
22706 	if (yych == ' ') goto yy1247;
22707 	goto yy59;
22708 yy1197:
22709 	YYDEBUG(1197, *YYCURSOR);
22710 	yych = *++YYCURSOR;
22711 	if (yych == 'Y') goto yy790;
22712 	if (yych == 'y') goto yy790;
22713 	goto yy59;
22714 yy1198:
22715 	YYDEBUG(1198, *YYCURSOR);
22716 	yych = *++YYCURSOR;
22717 	if (yych == 'R') goto yy790;
22718 	if (yych == 'r') goto yy790;
22719 	goto yy59;
22720 yy1199:
22721 	YYDEBUG(1199, *YYCURSOR);
22722 	yych = *++YYCURSOR;
22723 	if (yych <= 'L') {
22724 		if (yych == '.') goto yy1248;
22725 		goto yy59;
22726 	} else {
22727 		if (yych <= 'M') goto yy1249;
22728 		if (yych == 'm') goto yy1249;
22729 		goto yy59;
22730 	}
22731 yy1200:
22732 	YYDEBUG(1200, *YYCURSOR);
22733 	yych = *++YYCURSOR;
22734 	if (yych <= '/') goto yy1070;
22735 	if (yych <= '9') goto yy1250;
22736 	goto yy1070;
22737 yy1201:
22738 	YYDEBUG(1201, *YYCURSOR);
22739 	++YYCURSOR;
22740 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
22741 	yych = *YYCURSOR;
22742 	YYDEBUG(1202, *YYCURSOR);
22743 	if (yych <= 'A') {
22744 		if (yych <= 0x1F) {
22745 			if (yych == '\t') goto yy1201;
22746 			goto yy59;
22747 		} else {
22748 			if (yych <= ' ') goto yy1201;
22749 			if (yych <= '@') goto yy59;
22750 		}
22751 	} else {
22752 		if (yych <= '`') {
22753 			if (yych != 'P') goto yy59;
22754 		} else {
22755 			if (yych <= 'a') goto yy1203;
22756 			if (yych != 'p') goto yy59;
22757 		}
22758 	}
22759 yy1203:
22760 	YYDEBUG(1203, *YYCURSOR);
22761 	yych = *++YYCURSOR;
22762 	if (yych <= 'L') {
22763 		if (yych == '.') goto yy1251;
22764 		goto yy59;
22765 	} else {
22766 		if (yych <= 'M') goto yy1252;
22767 		if (yych == 'm') goto yy1252;
22768 		goto yy59;
22769 	}
22770 yy1204:
22771 	YYDEBUG(1204, *YYCURSOR);
22772 	++YYCURSOR;
22773 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
22774 	yych = *YYCURSOR;
22775 	if (yych == 0xA0) goto yy1253;
22776 	goto yy59;
22777 yy1205:
22778 	YYDEBUG(1205, *YYCURSOR);
22779 	++YYCURSOR;
22780 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
22781 	yych = *YYCURSOR;
22782 	if (yych == 0x80) goto yy1254;
22783 	goto yy59;
22784 yy1206:
22785 	YYDEBUG(1206, *YYCURSOR);
22786 	yych = *++YYCURSOR;
22787 	if (yych <= 'S') {
22788 		if (yych == 'D') goto yy856;
22789 		if (yych <= 'R') goto yy59;
22790 		goto yy1155;
22791 	} else {
22792 		if (yych <= 'd') {
22793 			if (yych <= 'c') goto yy59;
22794 			goto yy856;
22795 		} else {
22796 			if (yych == 's') goto yy1155;
22797 			goto yy59;
22798 		}
22799 	}
22800 yy1207:
22801 	YYDEBUG(1207, *YYCURSOR);
22802 	++YYCURSOR;
22803 	if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
22804 	yych = *YYCURSOR;
22805 yy1208:
22806 	YYDEBUG(1208, *YYCURSOR);
22807 	if (yych <= '+') {
22808 		if (yych <= ' ') {
22809 			if (yych == '\t') goto yy1207;
22810 			if (yych <= 0x1F) goto yy59;
22811 			goto yy1207;
22812 		} else {
22813 			if (yych == '(') goto yy1209;
22814 			if (yych <= '*') goto yy59;
22815 			goto yy1210;
22816 		}
22817 	} else {
22818 		if (yych <= 'F') {
22819 			if (yych == '-') goto yy1210;
22820 			if (yych <= '@') goto yy59;
22821 			goto yy1211;
22822 		} else {
22823 			if (yych <= 'Z') {
22824 				if (yych <= 'G') goto yy1212;
22825 				goto yy1211;
22826 			} else {
22827 				if (yych <= '`') goto yy59;
22828 				if (yych <= 'z') goto yy1213;
22829 				goto yy59;
22830 			}
22831 		}
22832 	}
22833 yy1209:
22834 	YYDEBUG(1209, *YYCURSOR);
22835 	yych = *++YYCURSOR;
22836 	if (yych <= '@') goto yy59;
22837 	if (yych <= 'Z') goto yy1213;
22838 	if (yych <= '`') goto yy59;
22839 	if (yych <= 'z') goto yy1213;
22840 	goto yy59;
22841 yy1210:
22842 	YYDEBUG(1210, *YYCURSOR);
22843 	yych = *++YYCURSOR;
22844 	if (yych <= '/') goto yy59;
22845 	if (yych <= '1') goto yy1255;
22846 	if (yych <= '2') goto yy1256;
22847 	if (yych <= '9') goto yy1257;
22848 	goto yy59;
22849 yy1211:
22850 	YYDEBUG(1211, *YYCURSOR);
22851 	yych = *++YYCURSOR;
22852 	if (yych <= '@') {
22853 		if (yych == ')') goto yy1078;
22854 		goto yy849;
22855 	} else {
22856 		if (yych <= 'Z') goto yy1258;
22857 		if (yych <= '`') goto yy849;
22858 		if (yych <= 'z') goto yy1259;
22859 		goto yy849;
22860 	}
22861 yy1212:
22862 	YYDEBUG(1212, *YYCURSOR);
22863 	yych = *++YYCURSOR;
22864 	if (yych <= 'L') {
22865 		if (yych == ')') goto yy1078;
22866 		if (yych <= '@') goto yy849;
22867 		goto yy1258;
22868 	} else {
22869 		if (yych <= 'Z') {
22870 			if (yych <= 'M') goto yy1260;
22871 			goto yy1258;
22872 		} else {
22873 			if (yych <= '`') goto yy849;
22874 			if (yych <= 'z') goto yy1259;
22875 			goto yy849;
22876 		}
22877 	}
22878 yy1213:
22879 	YYDEBUG(1213, *YYCURSOR);
22880 	yych = *++YYCURSOR;
22881 	if (yych <= '@') {
22882 		if (yych == ')') goto yy1078;
22883 		goto yy849;
22884 	} else {
22885 		if (yych <= 'Z') goto yy1258;
22886 		if (yych <= '`') goto yy849;
22887 		if (yych <= 'z') goto yy1258;
22888 		goto yy849;
22889 	}
22890 yy1214:
22891 	YYDEBUG(1214, *YYCURSOR);
22892 	++YYCURSOR;
22893 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
22894 	yych = *YYCURSOR;
22895 	if (yych == 0xA0) goto yy1261;
22896 	goto yy59;
22897 yy1215:
22898 	YYDEBUG(1215, *YYCURSOR);
22899 	++YYCURSOR;
22900 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
22901 	yych = *YYCURSOR;
22902 	if (yych == 0x80) goto yy1262;
22903 	goto yy59;
22904 yy1216:
22905 	YYDEBUG(1216, *YYCURSOR);
22906 	++YYCURSOR;
22907 	if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
22908 	yych = *YYCURSOR;
22909 yy1217:
22910 	YYDEBUG(1217, *YYCURSOR);
22911 	if (yych <= '@') {
22912 		if (yych <= '\'') {
22913 			if (yych <= '\t') {
22914 				if (yych <= 0x08) goto yy59;
22915 				goto yy1216;
22916 			} else {
22917 				if (yych == ' ') goto yy1216;
22918 				goto yy59;
22919 			}
22920 		} else {
22921 			if (yych <= '+') {
22922 				if (yych <= '(') goto yy1209;
22923 				if (yych <= '*') goto yy59;
22924 				goto yy1210;
22925 			} else {
22926 				if (yych == '-') goto yy1210;
22927 				goto yy59;
22928 			}
22929 		}
22930 	} else {
22931 		if (yych <= 'Z') {
22932 			if (yych <= 'G') {
22933 				if (yych <= 'A') goto yy1218;
22934 				if (yych <= 'F') goto yy1211;
22935 				goto yy1212;
22936 			} else {
22937 				if (yych != 'P') goto yy1211;
22938 			}
22939 		} else {
22940 			if (yych <= 'o') {
22941 				if (yych <= '`') goto yy59;
22942 				if (yych <= 'a') goto yy1219;
22943 				goto yy1213;
22944 			} else {
22945 				if (yych <= 'p') goto yy1219;
22946 				if (yych <= 'z') goto yy1213;
22947 				goto yy59;
22948 			}
22949 		}
22950 	}
22951 yy1218:
22952 	YYDEBUG(1218, *YYCURSOR);
22953 	yyaccept = 20;
22954 	yych = *(YYMARKER = ++YYCURSOR);
22955 	if (yych <= 'L') {
22956 		if (yych <= '-') {
22957 			if (yych == ')') goto yy1078;
22958 			goto yy849;
22959 		} else {
22960 			if (yych <= '.') goto yy1151;
22961 			if (yych <= '@') goto yy849;
22962 			goto yy1258;
22963 		}
22964 	} else {
22965 		if (yych <= '`') {
22966 			if (yych <= 'M') goto yy1263;
22967 			if (yych <= 'Z') goto yy1258;
22968 			goto yy849;
22969 		} else {
22970 			if (yych == 'm') goto yy1264;
22971 			if (yych <= 'z') goto yy1259;
22972 			goto yy849;
22973 		}
22974 	}
22975 yy1219:
22976 	YYDEBUG(1219, *YYCURSOR);
22977 	yyaccept = 20;
22978 	yych = *(YYMARKER = ++YYCURSOR);
22979 	if (yych <= 'L') {
22980 		if (yych <= '-') {
22981 			if (yych == ')') goto yy1078;
22982 			goto yy849;
22983 		} else {
22984 			if (yych <= '.') goto yy1151;
22985 			if (yych <= '@') goto yy849;
22986 			goto yy1258;
22987 		}
22988 	} else {
22989 		if (yych <= '`') {
22990 			if (yych <= 'M') goto yy1263;
22991 			if (yych <= 'Z') goto yy1258;
22992 			goto yy849;
22993 		} else {
22994 			if (yych == 'm') goto yy1263;
22995 			if (yych <= 'z') goto yy1258;
22996 			goto yy849;
22997 		}
22998 	}
22999 yy1220:
23000 	YYDEBUG(1220, *YYCURSOR);
23001 	++YYCURSOR;
23002 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
23003 	yych = *YYCURSOR;
23004 	if (yych == 0xA0) goto yy1265;
23005 	goto yy59;
23006 yy1221:
23007 	YYDEBUG(1221, *YYCURSOR);
23008 	++YYCURSOR;
23009 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
23010 	yych = *YYCURSOR;
23011 	if (yych == 0x80) goto yy1266;
23012 	goto yy59;
23013 yy1222:
23014 	YYDEBUG(1222, *YYCURSOR);
23015 	++YYCURSOR;
23016 	YYDEBUG(1223, *YYCURSOR);
23017 #line 1900 "ext/date/lib/parse_date.re"
23018 	{
23019 		DEBUG_OUTPUT("dateshortwithtimeshort12 | dateshortwithtimelong12");
23020 		TIMELIB_INIT;
23021 		TIMELIB_HAVE_DATE();
23022 		s->time->m = timelib_get_month(&ptr);
23023 		s->time->d = timelib_get_nr(&ptr, 2);
23024 
23025 		TIMELIB_HAVE_TIME();
23026 		s->time->h = timelib_get_nr(&ptr, 2);
23027 		s->time->i = timelib_get_nr(&ptr, 2);
23028 		if (*ptr == ':' || *ptr == '.') {
23029 			s->time->s = timelib_get_nr(&ptr, 2);
23030 
23031 			if (*ptr == '.') {
23032 				s->time->us = timelib_get_frac_nr(&ptr);
23033 			}
23034 		}
23035 
23036 		s->time->h += timelib_meridian(&ptr, s->time->h);
23037 		TIMELIB_DEINIT;
23038 		return TIMELIB_SHORTDATE_WITH_TIME;
23039 	}
23040 #line 23041 "<stdout>"
23041 yy1224:
23042 	YYDEBUG(1224, *YYCURSOR);
23043 	yych = *++YYCURSOR;
23044 	if (yych <= '\t') {
23045 		if (yych <= 0x00) goto yy1222;
23046 		if (yych <= 0x08) goto yy59;
23047 		goto yy1222;
23048 	} else {
23049 		if (yych == ' ') goto yy1222;
23050 		goto yy59;
23051 	}
23052 yy1225:
23053 	YYDEBUG(1225, *YYCURSOR);
23054 	++YYCURSOR;
23055 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
23056 	yych = *YYCURSOR;
23057 	if (yych <= '`') {
23058 		if (yych <= 'A') {
23059 			if (yych <= '@') goto yy59;
23060 			goto yy1083;
23061 		} else {
23062 			if (yych == 'P') goto yy1083;
23063 			goto yy59;
23064 		}
23065 	} else {
23066 		if (yych <= 'p') {
23067 			if (yych <= 'a') goto yy1083;
23068 			if (yych <= 'o') goto yy59;
23069 			goto yy1083;
23070 		} else {
23071 			if (yych == 0xE2) goto yy1085;
23072 			goto yy59;
23073 		}
23074 	}
23075 yy1226:
23076 	YYDEBUG(1226, *YYCURSOR);
23077 	yych = *++YYCURSOR;
23078 	if (yych == 'N') goto yy1227;
23079 	if (yych != 'n') goto yy59;
23080 yy1227:
23081 	YYDEBUG(1227, *YYCURSOR);
23082 	yych = *++YYCURSOR;
23083 	if (yych == 'I') goto yy1267;
23084 	if (yych == 'i') goto yy1267;
23085 	goto yy59;
23086 yy1228:
23087 	YYDEBUG(1228, *YYCURSOR);
23088 	yych = *++YYCURSOR;
23089 	if (yych == 'F') goto yy1268;
23090 	if (yych == 'f') goto yy1268;
23091 	goto yy59;
23092 yy1229:
23093 	YYDEBUG(1229, *YYCURSOR);
23094 	yych = *++YYCURSOR;
23095 	if (yych == 'Y') goto yy1270;
23096 	if (yych == 'y') goto yy1270;
23097 	goto yy59;
23098 yy1230:
23099 	YYDEBUG(1230, *YYCURSOR);
23100 	++YYCURSOR;
23101 	if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
23102 	yych = *YYCURSOR;
23103 	if (yych <= 'n') {
23104 		if (yych == 'O') goto yy1228;
23105 		goto yy59;
23106 	} else {
23107 		if (yych <= 'o') goto yy1228;
23108 		if (yych == 0xC2) goto yy1160;
23109 		goto yy59;
23110 	}
23111 yy1231:
23112 	YYDEBUG(1231, *YYCURSOR);
23113 	++YYCURSOR;
23114 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
23115 	yych = *YYCURSOR;
23116 	if (yych == 0xAF) goto yy1271;
23117 	goto yy59;
23118 yy1232:
23119 	YYDEBUG(1232, *YYCURSOR);
23120 	yych = *++YYCURSOR;
23121 	if (yych == 'S') goto yy1272;
23122 	if (yych == 's') goto yy1272;
23123 	goto yy59;
23124 yy1233:
23125 	YYDEBUG(1233, *YYCURSOR);
23126 	yych = *++YYCURSOR;
23127 	if (yych == 'E') goto yy1086;
23128 	if (yych == 'e') goto yy1086;
23129 	goto yy59;
23130 yy1234:
23131 	YYDEBUG(1234, *YYCURSOR);
23132 	yych = *++YYCURSOR;
23133 	if (yych == 'D') goto yy1086;
23134 	if (yych == 'd') goto yy1086;
23135 	goto yy59;
23136 yy1235:
23137 	YYDEBUG(1235, *YYCURSOR);
23138 	yych = *++YYCURSOR;
23139 	if (yych == 'F') goto yy1273;
23140 	if (yych == 'f') goto yy1273;
23141 	goto yy59;
23142 yy1236:
23143 	YYDEBUG(1236, *YYCURSOR);
23144 	yych = *++YYCURSOR;
23145 	if (yych <= '/') goto yy59;
23146 	if (yych <= '9') goto yy1275;
23147 	goto yy59;
23148 yy1237:
23149 	YYDEBUG(1237, *YYCURSOR);
23150 	yych = *++YYCURSOR;
23151 	if (yych <= '/') goto yy59;
23152 	if (yych <= '1') goto yy1275;
23153 	goto yy59;
23154 yy1238:
23155 	YYDEBUG(1238, *YYCURSOR);
23156 	yych = *++YYCURSOR;
23157 	if (yych <= '9') {
23158 		if (yych == '-') goto yy893;
23159 		if (yych <= '/') goto yy196;
23160 		goto yy1277;
23161 	} else {
23162 		if (yych <= 0xC2) {
23163 			if (yych <= 0xC1) goto yy196;
23164 			goto yy97;
23165 		} else {
23166 			if (yych == 0xE2) goto yy98;
23167 			goto yy196;
23168 		}
23169 	}
23170 yy1239:
23171 	YYDEBUG(1239, *YYCURSOR);
23172 	yych = *++YYCURSOR;
23173 	if (yych <= '/') goto yy59;
23174 	if (yych <= '1') goto yy1278;
23175 	if (yych <= '2') goto yy1279;
23176 	goto yy59;
23177 yy1240:
23178 	YYDEBUG(1240, *YYCURSOR);
23179 	yych = *++YYCURSOR;
23180 	if (yych <= '/') goto yy59;
23181 	if (yych <= '5') goto yy1280;
23182 	if (yych <= '9') goto yy1281;
23183 	goto yy59;
23184 yy1241:
23185 	YYDEBUG(1241, *YYCURSOR);
23186 	yych = *++YYCURSOR;
23187 	if (yych <= '/') goto yy59;
23188 	if (yych <= '1') goto yy1282;
23189 	if (yych <= '2') goto yy1283;
23190 	if (yych <= '9') goto yy1184;
23191 	goto yy59;
23192 yy1242:
23193 	YYDEBUG(1242, *YYCURSOR);
23194 	yych = *++YYCURSOR;
23195 	if (yych <= 0xC1) {
23196 		if (yych <= '/') goto yy196;
23197 		if (yych <= '9') goto yy1284;
23198 		goto yy196;
23199 	} else {
23200 		if (yych <= 0xC2) goto yy97;
23201 		if (yych == 0xE2) goto yy98;
23202 		goto yy196;
23203 	}
23204 yy1243:
23205 	YYDEBUG(1243, *YYCURSOR);
23206 	yych = *++YYCURSOR;
23207 	if (yych <= '/') goto yy59;
23208 	if (yych <= '5') goto yy1285;
23209 	if (yych <= '9') goto yy1286;
23210 	if (yych >= ';') goto yy59;
23211 yy1244:
23212 	YYDEBUG(1244, *YYCURSOR);
23213 	yych = *++YYCURSOR;
23214 	if (yych <= '/') goto yy59;
23215 	if (yych <= '5') goto yy1287;
23216 	goto yy59;
23217 yy1245:
23218 	YYDEBUG(1245, *YYCURSOR);
23219 	yych = *++YYCURSOR;
23220 	if (yych <= '/') goto yy59;
23221 	if (yych <= '9') goto yy1286;
23222 	goto yy59;
23223 yy1246:
23224 	YYDEBUG(1246, *YYCURSOR);
23225 	yych = *++YYCURSOR;
23226 	if (yych <= '/') goto yy59;
23227 	if (yych <= '5') goto yy1285;
23228 	if (yych <= '9') goto yy1286;
23229 	goto yy59;
23230 yy1247:
23231 	YYDEBUG(1247, *YYCURSOR);
23232 	yych = *++YYCURSOR;
23233 	if (yych <= '/') goto yy59;
23234 	if (yych <= '1') goto yy1288;
23235 	if (yych <= '2') goto yy1289;
23236 	goto yy59;
23237 yy1248:
23238 	YYDEBUG(1248, *YYCURSOR);
23239 	yych = *++YYCURSOR;
23240 	if (yych == 'M') goto yy1249;
23241 	if (yych != 'm') goto yy59;
23242 yy1249:
23243 	YYDEBUG(1249, *YYCURSOR);
23244 	yych = *++YYCURSOR;
23245 	if (yych <= 0x1F) {
23246 		if (yych <= 0x00) goto yy1290;
23247 		if (yych == '\t') goto yy1290;
23248 		goto yy59;
23249 	} else {
23250 		if (yych <= ' ') goto yy1290;
23251 		if (yych == '.') goto yy1292;
23252 		goto yy59;
23253 	}
23254 yy1250:
23255 	YYDEBUG(1250, *YYCURSOR);
23256 	++YYCURSOR;
23257 	goto yy1070;
23258 yy1251:
23259 	YYDEBUG(1251, *YYCURSOR);
23260 	yych = *++YYCURSOR;
23261 	if (yych == 'M') goto yy1252;
23262 	if (yych != 'm') goto yy59;
23263 yy1252:
23264 	YYDEBUG(1252, *YYCURSOR);
23265 	yych = *++YYCURSOR;
23266 	if (yych <= 0x1F) {
23267 		if (yych <= 0x00) goto yy1293;
23268 		if (yych == '\t') goto yy1293;
23269 		goto yy59;
23270 	} else {
23271 		if (yych <= ' ') goto yy1293;
23272 		if (yych == '.') goto yy1294;
23273 		goto yy59;
23274 	}
23275 yy1253:
23276 	YYDEBUG(1253, *YYCURSOR);
23277 	++YYCURSOR;
23278 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
23279 	yych = *YYCURSOR;
23280 	if (yych <= '`') {
23281 		if (yych <= 'A') {
23282 			if (yych <= '@') goto yy59;
23283 			goto yy1203;
23284 		} else {
23285 			if (yych == 'P') goto yy1203;
23286 			goto yy59;
23287 		}
23288 	} else {
23289 		if (yych <= 'p') {
23290 			if (yych <= 'a') goto yy1203;
23291 			if (yych <= 'o') goto yy59;
23292 			goto yy1203;
23293 		} else {
23294 			if (yych == 0xC2) goto yy1204;
23295 			goto yy59;
23296 		}
23297 	}
23298 yy1254:
23299 	YYDEBUG(1254, *YYCURSOR);
23300 	++YYCURSOR;
23301 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
23302 	yych = *YYCURSOR;
23303 	if (yych == 0xAF) goto yy1295;
23304 	goto yy59;
23305 yy1255:
23306 	YYDEBUG(1255, *YYCURSOR);
23307 	yyaccept = 20;
23308 	yych = *(YYMARKER = ++YYCURSOR);
23309 	if (yych <= '/') goto yy849;
23310 	if (yych <= '9') goto yy1296;
23311 	if (yych <= ':') goto yy1297;
23312 	goto yy849;
23313 yy1256:
23314 	YYDEBUG(1256, *YYCURSOR);
23315 	yyaccept = 20;
23316 	yych = *(YYMARKER = ++YYCURSOR);
23317 	if (yych <= '5') {
23318 		if (yych <= '/') goto yy849;
23319 		if (yych <= '4') goto yy1296;
23320 		goto yy1298;
23321 	} else {
23322 		if (yych <= '9') goto yy1078;
23323 		if (yych <= ':') goto yy1297;
23324 		goto yy849;
23325 	}
23326 yy1257:
23327 	YYDEBUG(1257, *YYCURSOR);
23328 	yyaccept = 20;
23329 	yych = *(YYMARKER = ++YYCURSOR);
23330 	if (yych <= '/') goto yy849;
23331 	if (yych <= '5') goto yy1298;
23332 	if (yych <= '9') goto yy1078;
23333 	if (yych <= ':') goto yy1297;
23334 	goto yy849;
23335 yy1258:
23336 	YYDEBUG(1258, *YYCURSOR);
23337 	yych = *++YYCURSOR;
23338 	if (yych <= '@') {
23339 		if (yych == ')') goto yy1078;
23340 		goto yy849;
23341 	} else {
23342 		if (yych <= 'Z') goto yy1299;
23343 		if (yych <= '`') goto yy849;
23344 		if (yych <= 'z') goto yy1299;
23345 		goto yy849;
23346 	}
23347 yy1259:
23348 	YYDEBUG(1259, *YYCURSOR);
23349 	yyaccept = 20;
23350 	yych = *(YYMARKER = ++YYCURSOR);
23351 	if (yych <= '/') {
23352 		if (yych <= ',') {
23353 			if (yych == ')') goto yy1078;
23354 			goto yy849;
23355 		} else {
23356 			if (yych == '.') goto yy849;
23357 			goto yy1300;
23358 		}
23359 	} else {
23360 		if (yych <= '^') {
23361 			if (yych <= '@') goto yy849;
23362 			if (yych <= 'Z') goto yy1299;
23363 			goto yy849;
23364 		} else {
23365 			if (yych <= '_') goto yy1300;
23366 			if (yych <= '`') goto yy849;
23367 			if (yych <= 'z') goto yy1301;
23368 			goto yy849;
23369 		}
23370 	}
23371 yy1260:
23372 	YYDEBUG(1260, *YYCURSOR);
23373 	yych = *++YYCURSOR;
23374 	if (yych <= 'S') {
23375 		if (yych == ')') goto yy1078;
23376 		if (yych <= '@') goto yy849;
23377 		goto yy1299;
23378 	} else {
23379 		if (yych <= 'Z') {
23380 			if (yych <= 'T') goto yy1302;
23381 			goto yy1299;
23382 		} else {
23383 			if (yych <= '`') goto yy849;
23384 			if (yych <= 'z') goto yy1299;
23385 			goto yy849;
23386 		}
23387 	}
23388 yy1261:
23389 	YYDEBUG(1261, *YYCURSOR);
23390 	++YYCURSOR;
23391 	if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
23392 	yych = *YYCURSOR;
23393 	if (yych <= '@') {
23394 		if (yych <= '*') {
23395 			if (yych == '(') goto yy1209;
23396 			goto yy59;
23397 		} else {
23398 			if (yych == ',') goto yy59;
23399 			if (yych <= '-') goto yy1210;
23400 			goto yy59;
23401 		}
23402 	} else {
23403 		if (yych <= '`') {
23404 			if (yych == 'G') goto yy1212;
23405 			if (yych <= 'Z') goto yy1211;
23406 			goto yy59;
23407 		} else {
23408 			if (yych <= 'z') goto yy1213;
23409 			if (yych == 0xC2) goto yy1214;
23410 			goto yy59;
23411 		}
23412 	}
23413 yy1262:
23414 	YYDEBUG(1262, *YYCURSOR);
23415 	++YYCURSOR;
23416 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
23417 	yych = *YYCURSOR;
23418 	if (yych == 0xAF) goto yy1303;
23419 	goto yy59;
23420 yy1263:
23421 	YYDEBUG(1263, *YYCURSOR);
23422 	yyaccept = 20;
23423 	yych = *(YYMARKER = ++YYCURSOR);
23424 	if (yych <= ')') {
23425 		if (yych <= '\t') {
23426 			if (yych <= 0x00) goto yy1222;
23427 			if (yych <= 0x08) goto yy849;
23428 			goto yy1222;
23429 		} else {
23430 			if (yych == ' ') goto yy1222;
23431 			if (yych <= '(') goto yy849;
23432 			goto yy1078;
23433 		}
23434 	} else {
23435 		if (yych <= '@') {
23436 			if (yych == '.') goto yy1224;
23437 			goto yy849;
23438 		} else {
23439 			if (yych <= 'Z') goto yy1299;
23440 			if (yych <= '`') goto yy849;
23441 			if (yych <= 'z') goto yy1299;
23442 			goto yy849;
23443 		}
23444 	}
23445 yy1264:
23446 	YYDEBUG(1264, *YYCURSOR);
23447 	yyaccept = 20;
23448 	yych = *(YYMARKER = ++YYCURSOR);
23449 	if (yych <= '-') {
23450 		if (yych <= 0x1F) {
23451 			if (yych <= 0x00) goto yy1222;
23452 			if (yych == '\t') goto yy1222;
23453 			goto yy849;
23454 		} else {
23455 			if (yych <= '(') {
23456 				if (yych <= ' ') goto yy1222;
23457 				goto yy849;
23458 			} else {
23459 				if (yych <= ')') goto yy1078;
23460 				if (yych <= ',') goto yy849;
23461 				goto yy1300;
23462 			}
23463 		}
23464 	} else {
23465 		if (yych <= 'Z') {
23466 			if (yych <= '.') goto yy1224;
23467 			if (yych <= '/') goto yy1300;
23468 			if (yych <= '@') goto yy849;
23469 			goto yy1299;
23470 		} else {
23471 			if (yych <= '_') {
23472 				if (yych <= '^') goto yy849;
23473 				goto yy1300;
23474 			} else {
23475 				if (yych <= '`') goto yy849;
23476 				if (yych <= 'z') goto yy1301;
23477 				goto yy849;
23478 			}
23479 		}
23480 	}
23481 yy1265:
23482 	YYDEBUG(1265, *YYCURSOR);
23483 	++YYCURSOR;
23484 	if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
23485 	yych = *YYCURSOR;
23486 	if (yych <= 'G') {
23487 		if (yych <= ',') {
23488 			if (yych <= '(') {
23489 				if (yych <= '\'') goto yy59;
23490 				goto yy1209;
23491 			} else {
23492 				if (yych == '+') goto yy1210;
23493 				goto yy59;
23494 			}
23495 		} else {
23496 			if (yych <= '@') {
23497 				if (yych <= '-') goto yy1210;
23498 				goto yy59;
23499 			} else {
23500 				if (yych <= 'A') goto yy1218;
23501 				if (yych <= 'F') goto yy1211;
23502 				goto yy1212;
23503 			}
23504 		}
23505 	} else {
23506 		if (yych <= 'a') {
23507 			if (yych <= 'P') {
23508 				if (yych <= 'O') goto yy1211;
23509 				goto yy1218;
23510 			} else {
23511 				if (yych <= 'Z') goto yy1211;
23512 				if (yych <= '`') goto yy59;
23513 				goto yy1219;
23514 			}
23515 		} else {
23516 			if (yych <= 'z') {
23517 				if (yych == 'p') goto yy1219;
23518 				goto yy1213;
23519 			} else {
23520 				if (yych == 0xC2) goto yy1220;
23521 				goto yy59;
23522 			}
23523 		}
23524 	}
23525 yy1266:
23526 	YYDEBUG(1266, *YYCURSOR);
23527 	++YYCURSOR;
23528 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
23529 	yych = *YYCURSOR;
23530 	if (yych == 0xAF) goto yy1304;
23531 	goto yy59;
23532 yy1267:
23533 	YYDEBUG(1267, *YYCURSOR);
23534 	yych = *++YYCURSOR;
23535 	if (yych == 'G') goto yy1305;
23536 	if (yych == 'g') goto yy1305;
23537 	goto yy59;
23538 yy1268:
23539 	YYDEBUG(1268, *YYCURSOR);
23540 	++YYCURSOR;
23541 	YYDEBUG(1269, *YYCURSOR);
23542 #line 1313 "ext/date/lib/parse_date.re"
23543 	{
23544 		timelib_sll i;
23545 		int         behavior = 0;
23546 		DEBUG_OUTPUT("weekdayof");
23547 		TIMELIB_INIT;
23548 		TIMELIB_HAVE_RELATIVE();
23549 		TIMELIB_HAVE_SPECIAL_RELATIVE();
23550 
23551 		i = timelib_get_relative_text(&ptr, &behavior);
23552 		timelib_eat_spaces(&ptr);
23553 		if (i > 0) { /* first, second... etc */
23554 			s->time->relative.special.type = TIMELIB_SPECIAL_DAY_OF_WEEK_IN_MONTH;
23555 			timelib_set_relative(&ptr, i, 1, s, TIMELIB_TIME_PART_DONT_KEEP);
23556 		} else { /* last */
23557 			s->time->relative.special.type = TIMELIB_SPECIAL_LAST_DAY_OF_WEEK_IN_MONTH;
23558 			timelib_set_relative(&ptr, i, behavior, s, TIMELIB_TIME_PART_DONT_KEEP);
23559 		}
23560 		TIMELIB_DEINIT;
23561 		return TIMELIB_WEEK_DAY_OF_MONTH;
23562 	}
23563 #line 23564 "<stdout>"
23564 yy1270:
23565 	YYDEBUG(1270, *YYCURSOR);
23566 	yyaccept = 24;
23567 	yych = *(YYMARKER = ++YYCURSOR);
23568 	if (yych <= 'S') {
23569 		if (yych <= 0x1F) {
23570 			if (yych == '\t') goto yy1157;
23571 			goto yy982;
23572 		} else {
23573 			if (yych <= ' ') goto yy1157;
23574 			if (yych <= 'R') goto yy982;
23575 			goto yy1306;
23576 		}
23577 	} else {
23578 		if (yych <= 0xC1) {
23579 			if (yych == 's') goto yy1306;
23580 			goto yy982;
23581 		} else {
23582 			if (yych <= 0xC2) goto yy1160;
23583 			if (yych == 0xE2) goto yy1161;
23584 			goto yy982;
23585 		}
23586 	}
23587 yy1271:
23588 	YYDEBUG(1271, *YYCURSOR);
23589 	++YYCURSOR;
23590 	if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
23591 	yych = *YYCURSOR;
23592 	if (yych <= 'n') {
23593 		if (yych == 'O') goto yy1228;
23594 		goto yy59;
23595 	} else {
23596 		if (yych <= 'o') goto yy1228;
23597 		if (yych == 0xE2) goto yy1161;
23598 		goto yy59;
23599 	}
23600 yy1272:
23601 	YYDEBUG(1272, *YYCURSOR);
23602 	yych = *++YYCURSOR;
23603 	if (yych == 'E') goto yy1307;
23604 	if (yych == 'e') goto yy1307;
23605 	goto yy59;
23606 yy1273:
23607 	YYDEBUG(1273, *YYCURSOR);
23608 	++YYCURSOR;
23609 	YYDEBUG(1274, *YYCURSOR);
23610 #line 1273 "ext/date/lib/parse_date.re"
23611 	{
23612 		DEBUG_OUTPUT("firstdayof | lastdayof");
23613 		TIMELIB_INIT;
23614 		TIMELIB_HAVE_RELATIVE();
23615 
23616 		/* skip "last day of" or "first day of" */
23617 		if (*ptr == 'l' || *ptr == 'L') {
23618 			s->time->relative.first_last_day_of = TIMELIB_SPECIAL_LAST_DAY_OF_MONTH;
23619 		} else {
23620 			s->time->relative.first_last_day_of = TIMELIB_SPECIAL_FIRST_DAY_OF_MONTH;
23621 		}
23622 
23623 		TIMELIB_DEINIT;
23624 		return TIMELIB_LF_DAY_OF_MONTH;
23625 	}
23626 #line 23627 "<stdout>"
23627 yy1275:
23628 	YYDEBUG(1275, *YYCURSOR);
23629 	++YYCURSOR;
23630 	YYDEBUG(1276, *YYCURSOR);
23631 #line 1509 "ext/date/lib/parse_date.re"
23632 	{
23633 		DEBUG_OUTPUT("iso8601datex");
23634 		TIMELIB_INIT;
23635 		TIMELIB_HAVE_DATE();
23636 		s->time->y = timelib_get_signed_nr(s, &ptr, 19);
23637 		s->time->m = timelib_get_nr(&ptr, 2);
23638 		s->time->d = timelib_get_nr(&ptr, 2);
23639 		TIMELIB_DEINIT;
23640 		return TIMELIB_ISO_DATE;
23641 	}
23642 #line 23643 "<stdout>"
23643 yy1277:
23644 	YYDEBUG(1277, *YYCURSOR);
23645 	yych = *++YYCURSOR;
23646 	if (yych <= '9') {
23647 		if (yych == '-') goto yy893;
23648 		if (yych <= '/') goto yy196;
23649 		goto yy1308;
23650 	} else {
23651 		if (yych <= 0xC2) {
23652 			if (yych <= 0xC1) goto yy196;
23653 			goto yy97;
23654 		} else {
23655 			if (yych == 0xE2) goto yy98;
23656 			goto yy196;
23657 		}
23658 	}
23659 yy1278:
23660 	YYDEBUG(1278, *YYCURSOR);
23661 	yych = *++YYCURSOR;
23662 	if (yych <= '/') goto yy59;
23663 	if (yych <= '9') goto yy1309;
23664 	goto yy59;
23665 yy1279:
23666 	YYDEBUG(1279, *YYCURSOR);
23667 	yych = *++YYCURSOR;
23668 	if (yych <= '/') goto yy59;
23669 	if (yych <= '4') goto yy1309;
23670 	goto yy59;
23671 yy1280:
23672 	YYDEBUG(1280, *YYCURSOR);
23673 	yych = *++YYCURSOR;
23674 	if (yych <= '/') goto yy59;
23675 	if (yych <= '9') goto yy1281;
23676 	if (yych <= ':') goto yy1310;
23677 	goto yy59;
23678 yy1281:
23679 	YYDEBUG(1281, *YYCURSOR);
23680 	yych = *++YYCURSOR;
23681 	if (yych == ':') goto yy1310;
23682 	goto yy59;
23683 yy1282:
23684 	YYDEBUG(1282, *YYCURSOR);
23685 	yych = *++YYCURSOR;
23686 	if (yych <= '/') goto yy59;
23687 	if (yych <= '9') goto yy1311;
23688 	if (yych <= ':') goto yy1240;
23689 	goto yy59;
23690 yy1283:
23691 	YYDEBUG(1283, *YYCURSOR);
23692 	yych = *++YYCURSOR;
23693 	if (yych <= '/') goto yy59;
23694 	if (yych <= '4') goto yy1311;
23695 	if (yych == ':') goto yy1240;
23696 	goto yy59;
23697 yy1284:
23698 	YYDEBUG(1284, *YYCURSOR);
23699 	yych = *++YYCURSOR;
23700 	if (yych <= 0xC1) {
23701 		if (yych <= '/') goto yy196;
23702 		if (yych <= '9') goto yy1312;
23703 		goto yy196;
23704 	} else {
23705 		if (yych <= 0xC2) goto yy97;
23706 		if (yych == 0xE2) goto yy98;
23707 		goto yy196;
23708 	}
23709 yy1285:
23710 	YYDEBUG(1285, *YYCURSOR);
23711 	yych = *++YYCURSOR;
23712 	if (yych <= '/') goto yy59;
23713 	if (yych <= '5') goto yy1310;
23714 	if (yych <= '6') goto yy1313;
23715 	if (yych >= ':') goto yy59;
23716 yy1286:
23717 	YYDEBUG(1286, *YYCURSOR);
23718 	yych = *++YYCURSOR;
23719 	if (yych <= '/') goto yy59;
23720 	if (yych <= '5') goto yy1314;
23721 	if (yych <= '6') goto yy1315;
23722 	goto yy59;
23723 yy1287:
23724 	YYDEBUG(1287, *YYCURSOR);
23725 	yych = *++YYCURSOR;
23726 	if (yych <= '/') goto yy59;
23727 	if (yych <= '9') goto yy1316;
23728 	goto yy59;
23729 yy1288:
23730 	YYDEBUG(1288, *YYCURSOR);
23731 	yych = *++YYCURSOR;
23732 	if (yych <= '/') goto yy59;
23733 	if (yych <= '9') goto yy1317;
23734 	goto yy59;
23735 yy1289:
23736 	YYDEBUG(1289, *YYCURSOR);
23737 	yych = *++YYCURSOR;
23738 	if (yych <= '/') goto yy59;
23739 	if (yych <= '4') goto yy1317;
23740 	goto yy59;
23741 yy1290:
23742 	YYDEBUG(1290, *YYCURSOR);
23743 	++YYCURSOR;
23744 	YYDEBUG(1291, *YYCURSOR);
23745 #line 1353 "ext/date/lib/parse_date.re"
23746 	{
23747 		DEBUG_OUTPUT("mssqltime");
23748 		TIMELIB_INIT;
23749 		TIMELIB_HAVE_TIME();
23750 		s->time->h = timelib_get_nr(&ptr, 2);
23751 		s->time->i = timelib_get_nr(&ptr, 2);
23752 		if (*ptr == ':' || *ptr == '.') {
23753 			s->time->s = timelib_get_nr(&ptr, 2);
23754 
23755 			if (*ptr == ':' || *ptr == '.') {
23756 				s->time->us = timelib_get_frac_nr(&ptr);
23757 			}
23758 		}
23759 		timelib_eat_spaces(&ptr);
23760 		s->time->h += timelib_meridian(&ptr, s->time->h);
23761 		TIMELIB_DEINIT;
23762 		return TIMELIB_TIME24_WITH_ZONE;
23763 	}
23764 #line 23765 "<stdout>"
23765 yy1292:
23766 	YYDEBUG(1292, *YYCURSOR);
23767 	yych = *++YYCURSOR;
23768 	if (yych <= '\t') {
23769 		if (yych <= 0x00) goto yy1290;
23770 		if (yych <= 0x08) goto yy59;
23771 		goto yy1290;
23772 	} else {
23773 		if (yych == ' ') goto yy1290;
23774 		goto yy59;
23775 	}
23776 yy1293:
23777 	YYDEBUG(1293, *YYCURSOR);
23778 	++YYCURSOR;
23779 	goto yy1145;
23780 yy1294:
23781 	YYDEBUG(1294, *YYCURSOR);
23782 	yych = *++YYCURSOR;
23783 	if (yych <= '\t') {
23784 		if (yych <= 0x00) goto yy1293;
23785 		if (yych <= 0x08) goto yy59;
23786 		goto yy1293;
23787 	} else {
23788 		if (yych == ' ') goto yy1293;
23789 		goto yy59;
23790 	}
23791 yy1295:
23792 	YYDEBUG(1295, *YYCURSOR);
23793 	++YYCURSOR;
23794 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
23795 	yych = *YYCURSOR;
23796 	if (yych <= '`') {
23797 		if (yych <= 'A') {
23798 			if (yych <= '@') goto yy59;
23799 			goto yy1203;
23800 		} else {
23801 			if (yych == 'P') goto yy1203;
23802 			goto yy59;
23803 		}
23804 	} else {
23805 		if (yych <= 'p') {
23806 			if (yych <= 'a') goto yy1203;
23807 			if (yych <= 'o') goto yy59;
23808 			goto yy1203;
23809 		} else {
23810 			if (yych == 0xE2) goto yy1205;
23811 			goto yy59;
23812 		}
23813 	}
23814 yy1296:
23815 	YYDEBUG(1296, *YYCURSOR);
23816 	yyaccept = 20;
23817 	yych = *(YYMARKER = ++YYCURSOR);
23818 	if (yych <= '/') goto yy849;
23819 	if (yych <= '5') goto yy1318;
23820 	if (yych <= '9') goto yy1078;
23821 	if (yych <= ':') goto yy1319;
23822 	goto yy849;
23823 yy1297:
23824 	YYDEBUG(1297, *YYCURSOR);
23825 	yych = *++YYCURSOR;
23826 	if (yych <= '/') goto yy59;
23827 	if (yych <= '5') goto yy1298;
23828 	if (yych <= '9') goto yy1078;
23829 	goto yy59;
23830 yy1298:
23831 	YYDEBUG(1298, *YYCURSOR);
23832 	yych = *++YYCURSOR;
23833 	if (yych <= '/') goto yy849;
23834 	if (yych <= '9') goto yy1078;
23835 	goto yy849;
23836 yy1299:
23837 	YYDEBUG(1299, *YYCURSOR);
23838 	yych = *++YYCURSOR;
23839 	if (yych <= '@') {
23840 		if (yych == ')') goto yy1078;
23841 		goto yy849;
23842 	} else {
23843 		if (yych <= 'Z') goto yy1320;
23844 		if (yych <= '`') goto yy849;
23845 		if (yych <= 'z') goto yy1320;
23846 		goto yy849;
23847 	}
23848 yy1300:
23849 	YYDEBUG(1300, *YYCURSOR);
23850 	++YYCURSOR;
23851 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
23852 	yych = *YYCURSOR;
23853 	if (yych <= '@') goto yy59;
23854 	if (yych <= 'Z') goto yy1321;
23855 	if (yych <= '`') goto yy59;
23856 	if (yych <= 'z') goto yy1321;
23857 	goto yy59;
23858 yy1301:
23859 	YYDEBUG(1301, *YYCURSOR);
23860 	yyaccept = 20;
23861 	yych = *(YYMARKER = ++YYCURSOR);
23862 	if (yych <= '/') {
23863 		if (yych <= ',') {
23864 			if (yych == ')') goto yy1078;
23865 			goto yy849;
23866 		} else {
23867 			if (yych == '.') goto yy849;
23868 			goto yy1300;
23869 		}
23870 	} else {
23871 		if (yych <= '^') {
23872 			if (yych <= '@') goto yy849;
23873 			if (yych <= 'Z') goto yy1320;
23874 			goto yy849;
23875 		} else {
23876 			if (yych <= '_') goto yy1300;
23877 			if (yych <= '`') goto yy849;
23878 			if (yych <= 'z') goto yy1323;
23879 			goto yy849;
23880 		}
23881 	}
23882 yy1302:
23883 	YYDEBUG(1302, *YYCURSOR);
23884 	yyaccept = 20;
23885 	yych = *(YYMARKER = ++YYCURSOR);
23886 	if (yych <= ',') {
23887 		if (yych <= ')') {
23888 			if (yych <= '(') goto yy849;
23889 			goto yy1078;
23890 		} else {
23891 			if (yych == '+') goto yy1210;
23892 			goto yy849;
23893 		}
23894 	} else {
23895 		if (yych <= 'Z') {
23896 			if (yych <= '-') goto yy1210;
23897 			if (yych <= '@') goto yy849;
23898 			goto yy1320;
23899 		} else {
23900 			if (yych <= '`') goto yy849;
23901 			if (yych <= 'z') goto yy1320;
23902 			goto yy849;
23903 		}
23904 	}
23905 yy1303:
23906 	YYDEBUG(1303, *YYCURSOR);
23907 	++YYCURSOR;
23908 	if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
23909 	yych = *YYCURSOR;
23910 	if (yych <= '@') {
23911 		if (yych <= '*') {
23912 			if (yych == '(') goto yy1209;
23913 			goto yy59;
23914 		} else {
23915 			if (yych == ',') goto yy59;
23916 			if (yych <= '-') goto yy1210;
23917 			goto yy59;
23918 		}
23919 	} else {
23920 		if (yych <= '`') {
23921 			if (yych == 'G') goto yy1212;
23922 			if (yych <= 'Z') goto yy1211;
23923 			goto yy59;
23924 		} else {
23925 			if (yych <= 'z') goto yy1213;
23926 			if (yych == 0xE2) goto yy1215;
23927 			goto yy59;
23928 		}
23929 	}
23930 yy1304:
23931 	YYDEBUG(1304, *YYCURSOR);
23932 	++YYCURSOR;
23933 	if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
23934 	yych = *YYCURSOR;
23935 	if (yych <= 'G') {
23936 		if (yych <= ',') {
23937 			if (yych <= '(') {
23938 				if (yych <= '\'') goto yy59;
23939 				goto yy1209;
23940 			} else {
23941 				if (yych == '+') goto yy1210;
23942 				goto yy59;
23943 			}
23944 		} else {
23945 			if (yych <= '@') {
23946 				if (yych <= '-') goto yy1210;
23947 				goto yy59;
23948 			} else {
23949 				if (yych <= 'A') goto yy1218;
23950 				if (yych <= 'F') goto yy1211;
23951 				goto yy1212;
23952 			}
23953 		}
23954 	} else {
23955 		if (yych <= 'a') {
23956 			if (yych <= 'P') {
23957 				if (yych <= 'O') goto yy1211;
23958 				goto yy1218;
23959 			} else {
23960 				if (yych <= 'Z') goto yy1211;
23961 				if (yych <= '`') goto yy59;
23962 				goto yy1219;
23963 			}
23964 		} else {
23965 			if (yych <= 'z') {
23966 				if (yych == 'p') goto yy1219;
23967 				goto yy1213;
23968 			} else {
23969 				if (yych == 0xE2) goto yy1221;
23970 				goto yy59;
23971 			}
23972 		}
23973 	}
23974 yy1305:
23975 	YYDEBUG(1305, *YYCURSOR);
23976 	yych = *++YYCURSOR;
23977 	if (yych == 'H') goto yy1324;
23978 	if (yych == 'h') goto yy1324;
23979 	goto yy59;
23980 yy1306:
23981 	YYDEBUG(1306, *YYCURSOR);
23982 	yyaccept = 24;
23983 	yych = *(YYMARKER = ++YYCURSOR);
23984 	if (yych <= ' ') {
23985 		if (yych == '\t') goto yy1157;
23986 		if (yych <= 0x1F) goto yy982;
23987 		goto yy1157;
23988 	} else {
23989 		if (yych <= 0xC2) {
23990 			if (yych <= 0xC1) goto yy982;
23991 			goto yy1160;
23992 		} else {
23993 			if (yych == 0xE2) goto yy1161;
23994 			goto yy982;
23995 		}
23996 	}
23997 yy1307:
23998 	YYDEBUG(1307, *YYCURSOR);
23999 	yych = *++YYCURSOR;
24000 	if (yych == 'C') goto yy1325;
24001 	if (yych == 'c') goto yy1325;
24002 	goto yy59;
24003 yy1308:
24004 	YYDEBUG(1308, *YYCURSOR);
24005 	yych = *++YYCURSOR;
24006 	if (yych <= '9') {
24007 		if (yych == '-') goto yy893;
24008 		if (yych <= '/') goto yy196;
24009 		goto yy1326;
24010 	} else {
24011 		if (yych <= 0xC2) {
24012 			if (yych <= 0xC1) goto yy196;
24013 			goto yy97;
24014 		} else {
24015 			if (yych == 0xE2) goto yy98;
24016 			goto yy196;
24017 		}
24018 	}
24019 yy1309:
24020 	YYDEBUG(1309, *YYCURSOR);
24021 	yych = *++YYCURSOR;
24022 	if (yych == ':') goto yy1327;
24023 	goto yy59;
24024 yy1310:
24025 	YYDEBUG(1310, *YYCURSOR);
24026 	yych = *++YYCURSOR;
24027 	if (yych <= '/') goto yy59;
24028 	if (yych <= '5') goto yy1328;
24029 	if (yych <= '6') goto yy1330;
24030 	if (yych <= '9') goto yy1331;
24031 	goto yy59;
24032 yy1311:
24033 	YYDEBUG(1311, *YYCURSOR);
24034 	yych = *++YYCURSOR;
24035 	if (yych == ':') goto yy1332;
24036 	goto yy59;
24037 yy1312:
24038 	YYDEBUG(1312, *YYCURSOR);
24039 	yych = *++YYCURSOR;
24040 	if (yych == 0xC2) goto yy97;
24041 	if (yych == 0xE2) goto yy98;
24042 	goto yy196;
24043 yy1313:
24044 	YYDEBUG(1313, *YYCURSOR);
24045 	yych = *++YYCURSOR;
24046 	if (yych <= '/') goto yy59;
24047 	if (yych <= '0') goto yy1328;
24048 	if (yych <= '5') goto yy1314;
24049 	if (yych <= '6') goto yy1315;
24050 	goto yy59;
24051 yy1314:
24052 	YYDEBUG(1314, *YYCURSOR);
24053 	yych = *++YYCURSOR;
24054 	if (yych <= '/') goto yy59;
24055 	if (yych <= '9') goto yy1331;
24056 	goto yy59;
24057 yy1315:
24058 	YYDEBUG(1315, *YYCURSOR);
24059 	yych = *++YYCURSOR;
24060 	if (yych == '0') goto yy1331;
24061 	goto yy59;
24062 yy1316:
24063 	YYDEBUG(1316, *YYCURSOR);
24064 	yych = *++YYCURSOR;
24065 	if (yych == ':') goto yy1286;
24066 	goto yy59;
24067 yy1317:
24068 	YYDEBUG(1317, *YYCURSOR);
24069 	yych = *++YYCURSOR;
24070 	if (yych == ':') goto yy1244;
24071 	goto yy59;
24072 yy1318:
24073 	YYDEBUG(1318, *YYCURSOR);
24074 	yych = *++YYCURSOR;
24075 	if (yych <= '/') goto yy849;
24076 	if (yych <= '9') goto yy1333;
24077 	goto yy849;
24078 yy1319:
24079 	YYDEBUG(1319, *YYCURSOR);
24080 	yych = *++YYCURSOR;
24081 	if (yych <= '/') goto yy59;
24082 	if (yych <= '5') goto yy1334;
24083 	if (yych <= '9') goto yy1078;
24084 	goto yy59;
24085 yy1320:
24086 	YYDEBUG(1320, *YYCURSOR);
24087 	yych = *++YYCURSOR;
24088 	if (yych <= '@') {
24089 		if (yych == ')') goto yy1078;
24090 		goto yy849;
24091 	} else {
24092 		if (yych <= 'Z') goto yy1335;
24093 		if (yych <= '`') goto yy849;
24094 		if (yych <= 'z') goto yy1335;
24095 		goto yy849;
24096 	}
24097 yy1321:
24098 	YYDEBUG(1321, *YYCURSOR);
24099 	yyaccept = 20;
24100 	YYMARKER = ++YYCURSOR;
24101 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
24102 	yych = *YYCURSOR;
24103 	YYDEBUG(1322, *YYCURSOR);
24104 	if (yych <= '@') {
24105 		if (yych <= '-') {
24106 			if (yych <= ',') goto yy849;
24107 			goto yy1300;
24108 		} else {
24109 			if (yych == '/') goto yy1300;
24110 			goto yy849;
24111 		}
24112 	} else {
24113 		if (yych <= '_') {
24114 			if (yych <= 'Z') goto yy1321;
24115 			if (yych <= '^') goto yy849;
24116 			goto yy1300;
24117 		} else {
24118 			if (yych <= '`') goto yy849;
24119 			if (yych <= 'z') goto yy1321;
24120 			goto yy849;
24121 		}
24122 	}
24123 yy1323:
24124 	YYDEBUG(1323, *YYCURSOR);
24125 	yyaccept = 20;
24126 	yych = *(YYMARKER = ++YYCURSOR);
24127 	if (yych <= '/') {
24128 		if (yych <= ',') {
24129 			if (yych == ')') goto yy1078;
24130 			goto yy849;
24131 		} else {
24132 			if (yych == '.') goto yy849;
24133 			goto yy1300;
24134 		}
24135 	} else {
24136 		if (yych <= '^') {
24137 			if (yych <= '@') goto yy849;
24138 			if (yych <= 'Z') goto yy1335;
24139 			goto yy849;
24140 		} else {
24141 			if (yych <= '_') goto yy1300;
24142 			if (yych <= '`') goto yy849;
24143 			if (yych <= 'z') goto yy1336;
24144 			goto yy849;
24145 		}
24146 	}
24147 yy1324:
24148 	YYDEBUG(1324, *YYCURSOR);
24149 	yych = *++YYCURSOR;
24150 	if (yych == 'T') goto yy1086;
24151 	if (yych == 't') goto yy1086;
24152 	goto yy59;
24153 yy1325:
24154 	YYDEBUG(1325, *YYCURSOR);
24155 	yych = *++YYCURSOR;
24156 	if (yych == 'O') goto yy1167;
24157 	if (yych == 'o') goto yy1167;
24158 	goto yy59;
24159 yy1326:
24160 	YYDEBUG(1326, *YYCURSOR);
24161 	yych = *++YYCURSOR;
24162 	if (yych <= '9') {
24163 		if (yych == '-') goto yy893;
24164 		if (yych <= '/') goto yy196;
24165 		goto yy1337;
24166 	} else {
24167 		if (yych <= 0xC2) {
24168 			if (yych <= 0xC1) goto yy196;
24169 			goto yy97;
24170 		} else {
24171 			if (yych == 0xE2) goto yy98;
24172 			goto yy196;
24173 		}
24174 	}
24175 yy1327:
24176 	YYDEBUG(1327, *YYCURSOR);
24177 	yych = *++YYCURSOR;
24178 	if (yych <= '/') goto yy59;
24179 	if (yych <= '5') goto yy1338;
24180 	goto yy59;
24181 yy1328:
24182 	YYDEBUG(1328, *YYCURSOR);
24183 	yych = *++YYCURSOR;
24184 	if (yych <= '/') goto yy1329;
24185 	if (yych <= '9') goto yy1331;
24186 yy1329:
24187 	YYDEBUG(1329, *YYCURSOR);
24188 #line 1656 "ext/date/lib/parse_date.re"
24189 	{
24190 		int tz_not_found;
24191 		DEBUG_OUTPUT("xmlrpc | xmlrpcnocolon | soap | wddx | exif");
24192 		TIMELIB_INIT;
24193 		TIMELIB_HAVE_TIME();
24194 		TIMELIB_HAVE_DATE();
24195 		s->time->y = timelib_get_nr(&ptr, 4);
24196 		s->time->m = timelib_get_nr(&ptr, 2);
24197 		s->time->d = timelib_get_nr(&ptr, 2);
24198 		s->time->h = timelib_get_nr(&ptr, 2);
24199 		s->time->i = timelib_get_nr(&ptr, 2);
24200 		s->time->s = timelib_get_nr(&ptr, 2);
24201 		if (*ptr == '.') {
24202 			s->time->us = timelib_get_frac_nr(&ptr);
24203 			if (*ptr) { /* timezone is optional */
24204 				s->time->z = timelib_parse_zone(&ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
24205 				if (tz_not_found) {
24206 					add_error(s, TIMELIB_ERR_TZID_NOT_FOUND, "The timezone could not be found in the database");
24207 				}
24208 			}
24209 		}
24210 		TIMELIB_DEINIT;
24211 		return TIMELIB_XMLRPC_SOAP;
24212 	}
24213 #line 24214 "<stdout>"
24214 yy1330:
24215 	YYDEBUG(1330, *YYCURSOR);
24216 	yych = *++YYCURSOR;
24217 	if (yych != '0') goto yy1329;
24218 yy1331:
24219 	YYDEBUG(1331, *YYCURSOR);
24220 	++YYCURSOR;
24221 	goto yy1329;
24222 yy1332:
24223 	YYDEBUG(1332, *YYCURSOR);
24224 	yych = *++YYCURSOR;
24225 	if (yych <= '/') goto yy59;
24226 	if (yych <= '5') goto yy1339;
24227 	if (yych <= '9') goto yy1281;
24228 	goto yy59;
24229 yy1333:
24230 	YYDEBUG(1333, *YYCURSOR);
24231 	yyaccept = 20;
24232 	yych = *(YYMARKER = ++YYCURSOR);
24233 	if (yych <= '/') goto yy849;
24234 	if (yych <= '5') goto yy1340;
24235 	if (yych <= '6') goto yy1341;
24236 	goto yy849;
24237 yy1334:
24238 	YYDEBUG(1334, *YYCURSOR);
24239 	yych = *++YYCURSOR;
24240 	if (yych <= '/') goto yy849;
24241 	if (yych <= '9') goto yy1342;
24242 	goto yy849;
24243 yy1335:
24244 	YYDEBUG(1335, *YYCURSOR);
24245 	yych = *++YYCURSOR;
24246 	if (yych <= '@') {
24247 		if (yych == ')') goto yy1078;
24248 		goto yy849;
24249 	} else {
24250 		if (yych <= 'Z') goto yy1343;
24251 		if (yych <= '`') goto yy849;
24252 		if (yych <= 'z') goto yy1343;
24253 		goto yy849;
24254 	}
24255 yy1336:
24256 	YYDEBUG(1336, *YYCURSOR);
24257 	yyaccept = 20;
24258 	yych = *(YYMARKER = ++YYCURSOR);
24259 	if (yych <= '/') {
24260 		if (yych <= ',') {
24261 			if (yych == ')') goto yy1078;
24262 			goto yy849;
24263 		} else {
24264 			if (yych == '.') goto yy849;
24265 			goto yy1300;
24266 		}
24267 	} else {
24268 		if (yych <= '^') {
24269 			if (yych <= '@') goto yy849;
24270 			if (yych <= 'Z') goto yy1343;
24271 			goto yy849;
24272 		} else {
24273 			if (yych <= '_') goto yy1300;
24274 			if (yych <= '`') goto yy849;
24275 			if (yych <= 'z') goto yy1344;
24276 			goto yy849;
24277 		}
24278 	}
24279 yy1337:
24280 	YYDEBUG(1337, *YYCURSOR);
24281 	yych = *++YYCURSOR;
24282 	if (yych == '-') goto yy893;
24283 	if (yych <= '/') goto yy59;
24284 	if (yych <= '9') goto yy1345;
24285 	goto yy59;
24286 yy1338:
24287 	YYDEBUG(1338, *YYCURSOR);
24288 	yych = *++YYCURSOR;
24289 	if (yych <= '/') goto yy59;
24290 	if (yych <= '9') goto yy1346;
24291 	goto yy59;
24292 yy1339:
24293 	YYDEBUG(1339, *YYCURSOR);
24294 	yych = *++YYCURSOR;
24295 	if (yych <= '/') goto yy59;
24296 	if (yych <= '9') goto yy1347;
24297 	if (yych <= ':') goto yy1310;
24298 	goto yy59;
24299 yy1340:
24300 	YYDEBUG(1340, *YYCURSOR);
24301 	yych = *++YYCURSOR;
24302 	if (yych <= '/') goto yy59;
24303 	if (yych <= '9') goto yy1078;
24304 	goto yy59;
24305 yy1341:
24306 	YYDEBUG(1341, *YYCURSOR);
24307 	yych = *++YYCURSOR;
24308 	if (yych == '0') goto yy1078;
24309 	goto yy59;
24310 yy1342:
24311 	YYDEBUG(1342, *YYCURSOR);
24312 	yyaccept = 20;
24313 	yych = *(YYMARKER = ++YYCURSOR);
24314 	if (yych == ':') goto yy1348;
24315 	goto yy849;
24316 yy1343:
24317 	YYDEBUG(1343, *YYCURSOR);
24318 	yych = *++YYCURSOR;
24319 	if (yych == ')') goto yy1078;
24320 	goto yy849;
24321 yy1344:
24322 	YYDEBUG(1344, *YYCURSOR);
24323 	yyaccept = 20;
24324 	yych = *(YYMARKER = ++YYCURSOR);
24325 	if (yych <= '.') {
24326 		if (yych <= ')') {
24327 			if (yych <= '(') goto yy849;
24328 			goto yy1078;
24329 		} else {
24330 			if (yych == '-') goto yy1300;
24331 			goto yy849;
24332 		}
24333 	} else {
24334 		if (yych <= '_') {
24335 			if (yych <= '/') goto yy1300;
24336 			if (yych <= '^') goto yy849;
24337 			goto yy1300;
24338 		} else {
24339 			if (yych <= '`') goto yy849;
24340 			if (yych <= 'z') goto yy1349;
24341 			goto yy849;
24342 		}
24343 	}
24344 yy1345:
24345 	YYDEBUG(1345, *YYCURSOR);
24346 	yych = *++YYCURSOR;
24347 	if (yych == '-') goto yy893;
24348 	if (yych <= '/') goto yy59;
24349 	if (yych <= '9') goto yy1351;
24350 	goto yy59;
24351 yy1346:
24352 	YYDEBUG(1346, *YYCURSOR);
24353 	yych = *++YYCURSOR;
24354 	if (yych == ':') goto yy1352;
24355 	goto yy59;
24356 yy1347:
24357 	YYDEBUG(1347, *YYCURSOR);
24358 	yych = *++YYCURSOR;
24359 	if (yych == ':') goto yy1353;
24360 	goto yy59;
24361 yy1348:
24362 	YYDEBUG(1348, *YYCURSOR);
24363 	yych = *++YYCURSOR;
24364 	if (yych <= '/') goto yy59;
24365 	if (yych <= '5') goto yy1340;
24366 	if (yych <= '6') goto yy1341;
24367 	goto yy59;
24368 yy1349:
24369 	YYDEBUG(1349, *YYCURSOR);
24370 	++YYCURSOR;
24371 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
24372 	yych = *YYCURSOR;
24373 	YYDEBUG(1350, *YYCURSOR);
24374 	if (yych <= '/') {
24375 		if (yych == '-') goto yy1300;
24376 		if (yych <= '.') goto yy59;
24377 		goto yy1300;
24378 	} else {
24379 		if (yych <= '_') {
24380 			if (yych <= '^') goto yy59;
24381 			goto yy1300;
24382 		} else {
24383 			if (yych <= '`') goto yy59;
24384 			if (yych <= 'z') goto yy1349;
24385 			goto yy59;
24386 		}
24387 	}
24388 yy1351:
24389 	YYDEBUG(1351, *YYCURSOR);
24390 	yych = *++YYCURSOR;
24391 	if (yych == '-') goto yy893;
24392 	if (yych <= '/') goto yy59;
24393 	if (yych <= '9') goto yy1354;
24394 	goto yy59;
24395 yy1352:
24396 	YYDEBUG(1352, *YYCURSOR);
24397 	yych = *++YYCURSOR;
24398 	if (yych <= '/') goto yy59;
24399 	if (yych <= '5') goto yy1355;
24400 	if (yych <= '6') goto yy1356;
24401 	goto yy59;
24402 yy1353:
24403 	YYDEBUG(1353, *YYCURSOR);
24404 	yych = *++YYCURSOR;
24405 	if (yych <= '/') goto yy59;
24406 	if (yych <= '5') goto yy1357;
24407 	if (yych <= '6') goto yy1358;
24408 	if (yych <= '9') goto yy1331;
24409 	goto yy59;
24410 yy1354:
24411 	YYDEBUG(1354, *YYCURSOR);
24412 	yych = *++YYCURSOR;
24413 	if (yych == '-') goto yy893;
24414 	if (yych <= '/') goto yy59;
24415 	if (yych <= '9') goto yy1359;
24416 	goto yy59;
24417 yy1355:
24418 	YYDEBUG(1355, *YYCURSOR);
24419 	yych = *++YYCURSOR;
24420 	if (yych <= '/') goto yy59;
24421 	if (yych <= '9') goto yy1360;
24422 	goto yy59;
24423 yy1356:
24424 	YYDEBUG(1356, *YYCURSOR);
24425 	yych = *++YYCURSOR;
24426 	if (yych == '0') goto yy1360;
24427 	goto yy59;
24428 yy1357:
24429 	YYDEBUG(1357, *YYCURSOR);
24430 	yych = *++YYCURSOR;
24431 	if (yych <= '/') goto yy1329;
24432 	if (yych <= '9') goto yy1361;
24433 	goto yy1329;
24434 yy1358:
24435 	YYDEBUG(1358, *YYCURSOR);
24436 	yych = *++YYCURSOR;
24437 	if (yych == '0') goto yy1361;
24438 	goto yy1329;
24439 yy1359:
24440 	YYDEBUG(1359, *YYCURSOR);
24441 	yych = *++YYCURSOR;
24442 	if (yych == '-') goto yy893;
24443 	if (yych <= '/') goto yy59;
24444 	if (yych <= '9') goto yy1362;
24445 	goto yy59;
24446 yy1360:
24447 	YYDEBUG(1360, *YYCURSOR);
24448 	yych = *++YYCURSOR;
24449 	if (yych <= ' ') {
24450 		if (yych == '\t') goto yy1363;
24451 		if (yych <= 0x1F) goto yy59;
24452 		goto yy1363;
24453 	} else {
24454 		if (yych <= 0xC2) {
24455 			if (yych <= 0xC1) goto yy59;
24456 			goto yy1365;
24457 		} else {
24458 			if (yych == 0xE2) goto yy1366;
24459 			goto yy59;
24460 		}
24461 	}
24462 yy1361:
24463 	YYDEBUG(1361, *YYCURSOR);
24464 	yyaccept = 32;
24465 	yych = *(YYMARKER = ++YYCURSOR);
24466 	if (yych == '.') goto yy1367;
24467 	goto yy1329;
24468 yy1362:
24469 	YYDEBUG(1362, *YYCURSOR);
24470 	yych = *++YYCURSOR;
24471 	if (yych == '-') goto yy893;
24472 	goto yy59;
24473 yy1363:
24474 	YYDEBUG(1363, *YYCURSOR);
24475 	++YYCURSOR;
24476 	if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
24477 	yych = *YYCURSOR;
24478 	YYDEBUG(1364, *YYCURSOR);
24479 	if (yych <= '*') {
24480 		if (yych <= '\t') {
24481 			if (yych <= 0x08) goto yy59;
24482 			goto yy1363;
24483 		} else {
24484 			if (yych == ' ') goto yy1363;
24485 			goto yy59;
24486 		}
24487 	} else {
24488 		if (yych <= '-') {
24489 			if (yych == ',') goto yy59;
24490 			goto yy1368;
24491 		} else {
24492 			if (yych == 'G') goto yy1369;
24493 			goto yy59;
24494 		}
24495 	}
24496 yy1365:
24497 	YYDEBUG(1365, *YYCURSOR);
24498 	++YYCURSOR;
24499 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
24500 	yych = *YYCURSOR;
24501 	if (yych == 0xA0) goto yy1370;
24502 	goto yy59;
24503 yy1366:
24504 	YYDEBUG(1366, *YYCURSOR);
24505 	++YYCURSOR;
24506 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
24507 	yych = *YYCURSOR;
24508 	if (yych == 0x80) goto yy1371;
24509 	goto yy59;
24510 yy1367:
24511 	YYDEBUG(1367, *YYCURSOR);
24512 	yych = *++YYCURSOR;
24513 	if (yych <= '/') goto yy59;
24514 	if (yych <= '9') goto yy1372;
24515 	goto yy59;
24516 yy1368:
24517 	YYDEBUG(1368, *YYCURSOR);
24518 	yych = *++YYCURSOR;
24519 	if (yych <= '/') goto yy59;
24520 	if (yych <= '1') goto yy1374;
24521 	if (yych <= '2') goto yy1376;
24522 	if (yych <= '9') goto yy1377;
24523 	goto yy59;
24524 yy1369:
24525 	YYDEBUG(1369, *YYCURSOR);
24526 	yych = *++YYCURSOR;
24527 	if (yych == 'M') goto yy1378;
24528 	goto yy59;
24529 yy1370:
24530 	YYDEBUG(1370, *YYCURSOR);
24531 	++YYCURSOR;
24532 	if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
24533 	yych = *YYCURSOR;
24534 	if (yych <= '-') {
24535 		if (yych == '+') goto yy1368;
24536 		if (yych <= ',') goto yy59;
24537 		goto yy1368;
24538 	} else {
24539 		if (yych <= 'G') {
24540 			if (yych <= 'F') goto yy59;
24541 			goto yy1369;
24542 		} else {
24543 			if (yych == 0xC2) goto yy1365;
24544 			goto yy59;
24545 		}
24546 	}
24547 yy1371:
24548 	YYDEBUG(1371, *YYCURSOR);
24549 	++YYCURSOR;
24550 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
24551 	yych = *YYCURSOR;
24552 	if (yych == 0xAF) goto yy1379;
24553 	goto yy59;
24554 yy1372:
24555 	YYDEBUG(1372, *YYCURSOR);
24556 	yyaccept = 32;
24557 	YYMARKER = ++YYCURSOR;
24558 	if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
24559 	yych = *YYCURSOR;
24560 	YYDEBUG(1373, *YYCURSOR);
24561 	if (yych <= '-') {
24562 		if (yych == '+') goto yy1380;
24563 		if (yych <= ',') goto yy1329;
24564 		goto yy1380;
24565 	} else {
24566 		if (yych <= '9') {
24567 			if (yych <= '/') goto yy1329;
24568 			goto yy1372;
24569 		} else {
24570 			if (yych == 'G') goto yy1381;
24571 			goto yy1329;
24572 		}
24573 	}
24574 yy1374:
24575 	YYDEBUG(1374, *YYCURSOR);
24576 	yyaccept = 33;
24577 	yych = *(YYMARKER = ++YYCURSOR);
24578 	if (yych <= '/') goto yy1375;
24579 	if (yych <= '9') goto yy1382;
24580 	if (yych <= ':') goto yy1383;
24581 yy1375:
24582 	YYDEBUG(1375, *YYCURSOR);
24583 #line 1762 "ext/date/lib/parse_date.re"
24584 	{
24585 		int tz_not_found;
24586 		DEBUG_OUTPUT("clf");
24587 		TIMELIB_INIT;
24588 		TIMELIB_HAVE_TIME();
24589 		TIMELIB_HAVE_DATE();
24590 		s->time->d = timelib_get_nr(&ptr, 2);
24591 		s->time->m = timelib_get_month(&ptr);
24592 		s->time->y = timelib_get_nr(&ptr, 4);
24593 		s->time->h = timelib_get_nr(&ptr, 2);
24594 		s->time->i = timelib_get_nr(&ptr, 2);
24595 		s->time->s = timelib_get_nr(&ptr, 2);
24596 
24597 		timelib_eat_spaces(&ptr);
24598 
24599 		s->time->z = timelib_parse_zone(&ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
24600 		if (tz_not_found) {
24601 			add_error(s, TIMELIB_ERR_TZID_NOT_FOUND, "The timezone could not be found in the database");
24602 		}
24603 		TIMELIB_DEINIT;
24604 		return TIMELIB_CLF;
24605 	}
24606 #line 24607 "<stdout>"
24607 yy1376:
24608 	YYDEBUG(1376, *YYCURSOR);
24609 	yyaccept = 33;
24610 	yych = *(YYMARKER = ++YYCURSOR);
24611 	if (yych <= '5') {
24612 		if (yych <= '/') goto yy1375;
24613 		if (yych <= '4') goto yy1382;
24614 		goto yy1384;
24615 	} else {
24616 		if (yych <= '9') goto yy1385;
24617 		if (yych <= ':') goto yy1383;
24618 		goto yy1375;
24619 	}
24620 yy1377:
24621 	YYDEBUG(1377, *YYCURSOR);
24622 	yyaccept = 33;
24623 	yych = *(YYMARKER = ++YYCURSOR);
24624 	if (yych <= '/') goto yy1375;
24625 	if (yych <= '5') goto yy1384;
24626 	if (yych <= '9') goto yy1385;
24627 	if (yych <= ':') goto yy1383;
24628 	goto yy1375;
24629 yy1378:
24630 	YYDEBUG(1378, *YYCURSOR);
24631 	yych = *++YYCURSOR;
24632 	if (yych == 'T') goto yy1386;
24633 	goto yy59;
24634 yy1379:
24635 	YYDEBUG(1379, *YYCURSOR);
24636 	++YYCURSOR;
24637 	if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
24638 	yych = *YYCURSOR;
24639 	if (yych <= '-') {
24640 		if (yych == '+') goto yy1368;
24641 		if (yych <= ',') goto yy59;
24642 		goto yy1368;
24643 	} else {
24644 		if (yych <= 'G') {
24645 			if (yych <= 'F') goto yy59;
24646 			goto yy1369;
24647 		} else {
24648 			if (yych == 0xE2) goto yy1366;
24649 			goto yy59;
24650 		}
24651 	}
24652 yy1380:
24653 	YYDEBUG(1380, *YYCURSOR);
24654 	yych = *++YYCURSOR;
24655 	if (yych <= '/') goto yy59;
24656 	if (yych <= '1') goto yy1387;
24657 	if (yych <= '2') goto yy1388;
24658 	if (yych <= '9') goto yy1389;
24659 	goto yy59;
24660 yy1381:
24661 	YYDEBUG(1381, *YYCURSOR);
24662 	yych = *++YYCURSOR;
24663 	if (yych == 'M') goto yy1390;
24664 	goto yy59;
24665 yy1382:
24666 	YYDEBUG(1382, *YYCURSOR);
24667 	yyaccept = 33;
24668 	yych = *(YYMARKER = ++YYCURSOR);
24669 	if (yych <= '/') goto yy1375;
24670 	if (yych <= '5') goto yy1391;
24671 	if (yych <= '9') goto yy1385;
24672 	if (yych <= ':') goto yy1392;
24673 	goto yy1375;
24674 yy1383:
24675 	YYDEBUG(1383, *YYCURSOR);
24676 	yych = *++YYCURSOR;
24677 	if (yych <= '/') goto yy59;
24678 	if (yych <= '5') goto yy1384;
24679 	if (yych <= '9') goto yy1385;
24680 	goto yy59;
24681 yy1384:
24682 	YYDEBUG(1384, *YYCURSOR);
24683 	yych = *++YYCURSOR;
24684 	if (yych <= '/') goto yy1375;
24685 	if (yych >= ':') goto yy1375;
24686 yy1385:
24687 	YYDEBUG(1385, *YYCURSOR);
24688 	++YYCURSOR;
24689 	goto yy1375;
24690 yy1386:
24691 	YYDEBUG(1386, *YYCURSOR);
24692 	yych = *++YYCURSOR;
24693 	if (yych == '+') goto yy1368;
24694 	if (yych == '-') goto yy1368;
24695 	goto yy59;
24696 yy1387:
24697 	YYDEBUG(1387, *YYCURSOR);
24698 	yyaccept = 32;
24699 	yych = *(YYMARKER = ++YYCURSOR);
24700 	if (yych <= '/') goto yy1329;
24701 	if (yych <= '9') goto yy1393;
24702 	if (yych <= ':') goto yy1394;
24703 	goto yy1329;
24704 yy1388:
24705 	YYDEBUG(1388, *YYCURSOR);
24706 	yyaccept = 32;
24707 	yych = *(YYMARKER = ++YYCURSOR);
24708 	if (yych <= '5') {
24709 		if (yych <= '/') goto yy1329;
24710 		if (yych <= '4') goto yy1393;
24711 		goto yy1328;
24712 	} else {
24713 		if (yych <= '9') goto yy1331;
24714 		if (yych <= ':') goto yy1394;
24715 		goto yy1329;
24716 	}
24717 yy1389:
24718 	YYDEBUG(1389, *YYCURSOR);
24719 	yyaccept = 32;
24720 	yych = *(YYMARKER = ++YYCURSOR);
24721 	if (yych <= '/') goto yy1329;
24722 	if (yych <= '5') goto yy1328;
24723 	if (yych <= '9') goto yy1331;
24724 	if (yych <= ':') goto yy1394;
24725 	goto yy1329;
24726 yy1390:
24727 	YYDEBUG(1390, *YYCURSOR);
24728 	yych = *++YYCURSOR;
24729 	if (yych == 'T') goto yy1395;
24730 	goto yy59;
24731 yy1391:
24732 	YYDEBUG(1391, *YYCURSOR);
24733 	yych = *++YYCURSOR;
24734 	if (yych <= '/') goto yy1375;
24735 	if (yych <= '9') goto yy1396;
24736 	goto yy1375;
24737 yy1392:
24738 	YYDEBUG(1392, *YYCURSOR);
24739 	yych = *++YYCURSOR;
24740 	if (yych <= '/') goto yy59;
24741 	if (yych <= '5') goto yy1397;
24742 	if (yych <= '9') goto yy1385;
24743 	goto yy59;
24744 yy1393:
24745 	YYDEBUG(1393, *YYCURSOR);
24746 	yyaccept = 32;
24747 	yych = *(YYMARKER = ++YYCURSOR);
24748 	if (yych <= '/') goto yy1329;
24749 	if (yych <= '5') goto yy1398;
24750 	if (yych <= '9') goto yy1331;
24751 	if (yych <= ':') goto yy1399;
24752 	goto yy1329;
24753 yy1394:
24754 	YYDEBUG(1394, *YYCURSOR);
24755 	yych = *++YYCURSOR;
24756 	if (yych <= '/') goto yy59;
24757 	if (yych <= '5') goto yy1328;
24758 	if (yych <= '9') goto yy1331;
24759 	goto yy59;
24760 yy1395:
24761 	YYDEBUG(1395, *YYCURSOR);
24762 	yych = *++YYCURSOR;
24763 	if (yych == '+') goto yy1380;
24764 	if (yych == '-') goto yy1380;
24765 	goto yy59;
24766 yy1396:
24767 	YYDEBUG(1396, *YYCURSOR);
24768 	yyaccept = 33;
24769 	yych = *(YYMARKER = ++YYCURSOR);
24770 	if (yych <= '/') goto yy1375;
24771 	if (yych <= '5') goto yy1400;
24772 	if (yych <= '6') goto yy1401;
24773 	goto yy1375;
24774 yy1397:
24775 	YYDEBUG(1397, *YYCURSOR);
24776 	yych = *++YYCURSOR;
24777 	if (yych <= '/') goto yy1375;
24778 	if (yych <= '9') goto yy1402;
24779 	goto yy1375;
24780 yy1398:
24781 	YYDEBUG(1398, *YYCURSOR);
24782 	yych = *++YYCURSOR;
24783 	if (yych <= '/') goto yy1329;
24784 	if (yych <= '9') goto yy1403;
24785 	goto yy1329;
24786 yy1399:
24787 	YYDEBUG(1399, *YYCURSOR);
24788 	yych = *++YYCURSOR;
24789 	if (yych <= '/') goto yy59;
24790 	if (yych <= '5') goto yy1404;
24791 	if (yych <= '9') goto yy1331;
24792 	goto yy59;
24793 yy1400:
24794 	YYDEBUG(1400, *YYCURSOR);
24795 	yych = *++YYCURSOR;
24796 	if (yych <= '/') goto yy59;
24797 	if (yych <= '9') goto yy1385;
24798 	goto yy59;
24799 yy1401:
24800 	YYDEBUG(1401, *YYCURSOR);
24801 	yych = *++YYCURSOR;
24802 	if (yych == '0') goto yy1385;
24803 	goto yy59;
24804 yy1402:
24805 	YYDEBUG(1402, *YYCURSOR);
24806 	yyaccept = 33;
24807 	yych = *(YYMARKER = ++YYCURSOR);
24808 	if (yych == ':') goto yy1405;
24809 	goto yy1375;
24810 yy1403:
24811 	YYDEBUG(1403, *YYCURSOR);
24812 	yyaccept = 32;
24813 	yych = *(YYMARKER = ++YYCURSOR);
24814 	if (yych <= '/') goto yy1329;
24815 	if (yych <= '5') goto yy1314;
24816 	if (yych <= '6') goto yy1315;
24817 	goto yy1329;
24818 yy1404:
24819 	YYDEBUG(1404, *YYCURSOR);
24820 	yych = *++YYCURSOR;
24821 	if (yych <= '/') goto yy1329;
24822 	if (yych <= '9') goto yy1406;
24823 	goto yy1329;
24824 yy1405:
24825 	YYDEBUG(1405, *YYCURSOR);
24826 	yych = *++YYCURSOR;
24827 	if (yych <= '/') goto yy59;
24828 	if (yych <= '5') goto yy1400;
24829 	if (yych <= '6') goto yy1401;
24830 	goto yy59;
24831 yy1406:
24832 	YYDEBUG(1406, *YYCURSOR);
24833 	yyaccept = 32;
24834 	yych = *(YYMARKER = ++YYCURSOR);
24835 	if (yych == ':') goto yy1286;
24836 	goto yy1329;
24837 }
24838 #line 1990 "ext/date/lib/parse_date.re"
24839 
24840 }
24841 
24842 #define YYMAXFILL 36
24843 
24844 
timelib_strtotime(const char * s,size_t len,timelib_error_container ** errors,const timelib_tzdb * tzdb,timelib_tz_get_wrapper tz_get_wrapper)24845 timelib_time *timelib_strtotime(const char *s, size_t len, timelib_error_container **errors, const timelib_tzdb *tzdb, timelib_tz_get_wrapper tz_get_wrapper)
24846 {
24847 	Scanner in;
24848 	int t;
24849 	const char *e = s + len - 1;
24850 
24851 	memset(&in, 0, sizeof(in));
24852 	in.errors = timelib_malloc(sizeof(timelib_error_container));
24853 	in.errors->warning_count = 0;
24854 	in.errors->warning_messages = NULL;
24855 	in.errors->error_count = 0;
24856 	in.errors->error_messages = NULL;
24857 
24858 	if (len > 0) {
24859 		while (isspace(*s) && s < e) {
24860 			s++;
24861 		}
24862 		while (isspace(*e) && e > s) {
24863 			e--;
24864 		}
24865 	}
24866 	if (e - s < 0) {
24867 		in.time = timelib_time_ctor();
24868 		add_error(&in, TIMELIB_ERR_EMPTY_STRING, "Empty string");
24869 		if (errors) {
24870 			*errors = in.errors;
24871 		} else {
24872 			timelib_error_container_dtor(in.errors);
24873 		}
24874 		in.time->y = in.time->d = in.time->m = in.time->h = in.time->i = in.time->s = in.time->us = in.time->dst = in.time->z = TIMELIB_UNSET;
24875 		in.time->is_localtime = in.time->zone_type = 0;
24876 		return in.time;
24877 	}
24878 	e++;
24879 
24880 	in.str = timelib_malloc((e - s) + YYMAXFILL);
24881 	memset(in.str, 0, (e - s) + YYMAXFILL);
24882 	memcpy(in.str, s, (e - s));
24883 	in.lim = in.str + (e - s) + YYMAXFILL;
24884 	in.cur = in.str;
24885 	in.time = timelib_time_ctor();
24886 	in.time->y = TIMELIB_UNSET;
24887 	in.time->d = TIMELIB_UNSET;
24888 	in.time->m = TIMELIB_UNSET;
24889 	in.time->h = TIMELIB_UNSET;
24890 	in.time->i = TIMELIB_UNSET;
24891 	in.time->s = TIMELIB_UNSET;
24892 	in.time->us = TIMELIB_UNSET;
24893 	in.time->z = TIMELIB_UNSET;
24894 	in.time->dst = TIMELIB_UNSET;
24895 	in.tzdb = tzdb;
24896 	in.time->is_localtime = 0;
24897 	in.time->zone_type = 0;
24898 	in.time->relative.days = TIMELIB_UNSET;
24899 
24900 	do {
24901 		t = scan(&in, tz_get_wrapper);
24902 #ifdef DEBUG_PARSER
24903 		printf("%d\n", t);
24904 #endif
24905 	} while(t != EOI);
24906 
24907 	/* do funky checking whether the parsed time was valid time */
24908 	if (in.time->have_time && !timelib_valid_time( in.time->h, in.time->i, in.time->s)) {
24909 		add_warning(&in, TIMELIB_WARN_INVALID_TIME, "The parsed time was invalid");
24910 	}
24911 	/* do funky checking whether the parsed date was valid date */
24912 	if (in.time->have_date && !timelib_valid_date( in.time->y, in.time->m, in.time->d)) {
24913 		add_warning(&in, TIMELIB_WARN_INVALID_DATE, "The parsed date was invalid");
24914 	}
24915 
24916 	timelib_free(in.str);
24917 	if (errors) {
24918 		*errors = in.errors;
24919 	} else {
24920 		timelib_error_container_dtor(in.errors);
24921 	}
24922 	return in.time;
24923 }
24924 
24925 #define TIMELIB_CHECK_NUMBER                                           \
24926 		if (strchr("0123456789", *ptr) == NULL)                        \
24927 		{                                                              \
24928 			add_pbf_error(s, TIMELIB_ERR_UNEXPECTED_DATA, "Unexpected data found.", string, begin); \
24929 		}
24930 #define TIMELIB_CHECK_SIGNED_NUMBER                                    \
24931 		if (strchr("+-0123456789", *ptr) == NULL)                      \
24932 		{                                                              \
24933 			add_pbf_error(s, TIMELIB_ERR_UNEXPECTED_DATA, "Unexpected data found.", string, begin); \
24934 		}
24935 
timelib_time_reset_fields(timelib_time * time)24936 static void timelib_time_reset_fields(timelib_time *time)
24937 {
24938 	assert(time != NULL);
24939 
24940 	time->y = 1970;
24941 	time->m = 1;
24942 	time->d = 1;
24943 	time->h = time->i = time->s = 0;
24944 	time->us = 0;
24945 	time->tz_info = NULL;
24946 }
24947 
timelib_time_reset_unset_fields(timelib_time * time)24948 static void timelib_time_reset_unset_fields(timelib_time *time)
24949 {
24950 	assert(time != NULL);
24951 
24952 	if (time->y == TIMELIB_UNSET ) time->y = 1970;
24953 	if (time->m == TIMELIB_UNSET ) time->m = 1;
24954 	if (time->d == TIMELIB_UNSET ) time->d = 1;
24955 	if (time->h == TIMELIB_UNSET ) time->h = 0;
24956 	if (time->i == TIMELIB_UNSET ) time->i = 0;
24957 	if (time->s == TIMELIB_UNSET ) time->s = 0;
24958 	if (time->us == TIMELIB_UNSET ) time->us = 0;
24959 }
24960 
24961 static const timelib_format_specifier default_format_map[] = {
24962 	{'+', TIMELIB_FORMAT_ALLOW_EXTRA_CHARACTERS},
24963 	{'#', TIMELIB_FORMAT_ANY_SEPARATOR},
24964 	{'j', TIMELIB_FORMAT_DAY_TWO_DIGIT},
24965 	{'d', TIMELIB_FORMAT_DAY_TWO_DIGIT_PADDED},
24966 	{'z', TIMELIB_FORMAT_DAY_OF_YEAR},
24967 	{'S', TIMELIB_FORMAT_DAY_SUFFIX},
24968 	{'U', TIMELIB_FORMAT_EPOCH_SECONDS},
24969 	{'\\', TIMELIB_FORMAT_ESCAPE},
24970 	{'h', TIMELIB_FORMAT_HOUR_TWO_DIGIT_12_MAX},
24971 	{'g', TIMELIB_FORMAT_HOUR_TWO_DIGIT_12_MAX_PADDED},
24972 	{'H', TIMELIB_FORMAT_HOUR_TWO_DIGIT_24_MAX},
24973 	{'G', TIMELIB_FORMAT_HOUR_TWO_DIGIT_24_MAX_PADDED},
24974 	{'a', TIMELIB_FORMAT_MERIDIAN},
24975 	{'A', TIMELIB_FORMAT_MERIDIAN},
24976 	{'u', TIMELIB_FORMAT_MICROSECOND_SIX_DIGIT},
24977 	{'v', TIMELIB_FORMAT_MILLISECOND_THREE_DIGIT},
24978 	{'i', TIMELIB_FORMAT_MINUTE_TWO_DIGIT},
24979 	{'n', TIMELIB_FORMAT_MONTH_TWO_DIGIT},
24980 	{'m', TIMELIB_FORMAT_MONTH_TWO_DIGIT_PADDED},
24981 	{'?', TIMELIB_FORMAT_RANDOM_CHAR},
24982 	{'!', TIMELIB_FORMAT_RESET_ALL},
24983 	{'|', TIMELIB_FORMAT_RESET_ALL_WHEN_NOT_SET},
24984 	{'s', TIMELIB_FORMAT_SECOND_TWO_DIGIT},
24985 	{';', TIMELIB_FORMAT_SEPARATOR},
24986 	{':', TIMELIB_FORMAT_SEPARATOR},
24987 	{'/', TIMELIB_FORMAT_SEPARATOR},
24988 	{'.', TIMELIB_FORMAT_SEPARATOR},
24989 	{',', TIMELIB_FORMAT_SEPARATOR},
24990 	{'-', TIMELIB_FORMAT_SEPARATOR},
24991 	{'(', TIMELIB_FORMAT_SEPARATOR},
24992 	{')', TIMELIB_FORMAT_SEPARATOR},
24993 	{'*', TIMELIB_FORMAT_SKIP_TO_SEPARATOR},
24994 	{'D', TIMELIB_FORMAT_TEXTUAL_DAY_3_LETTER},
24995 	{'l', TIMELIB_FORMAT_TEXTUAL_DAY_FULL},
24996 	{'M', TIMELIB_FORMAT_TEXTUAL_MONTH_3_LETTER},
24997 	{'F', TIMELIB_FORMAT_TEXTUAL_MONTH_FULL},
24998 	{'e', TIMELIB_FORMAT_TIMEZONE_OFFSET},
24999 	{'P', TIMELIB_FORMAT_TIMEZONE_OFFSET},
25000 	{'p', TIMELIB_FORMAT_TIMEZONE_OFFSET},
25001 	{'T', TIMELIB_FORMAT_TIMEZONE_OFFSET},
25002 	{'O', TIMELIB_FORMAT_TIMEZONE_OFFSET},
25003 	{' ', TIMELIB_FORMAT_WHITESPACE},
25004 	{'y', TIMELIB_FORMAT_YEAR_TWO_DIGIT},
25005 	{'Y', TIMELIB_FORMAT_YEAR_FOUR_DIGIT},
25006 	{'x', TIMELIB_FORMAT_YEAR_EXPANDED},
25007 	{'X', TIMELIB_FORMAT_YEAR_EXPANDED},
25008 	{'\0', TIMELIB_FORMAT_END}
25009 };
25010 
25011 static const timelib_format_config default_format_config = {
25012 	default_format_map,
25013 	// No prefix required by default.
25014 	'\0'
25015 };
25016 
timelib_lookup_format(char input,const timelib_format_specifier * format_map)25017 static timelib_format_specifier_code timelib_lookup_format(char input, const timelib_format_specifier* format_map)
25018 {
25019 	while (format_map && format_map->specifier != '\0') {
25020 		if (format_map->specifier == input) {
25021 			return format_map->code;
25022 		}
25023 		format_map++;
25024 	}
25025 	return TIMELIB_FORMAT_LITERAL;
25026 }
25027 
timelib_parse_from_format(const char * format,const char * string,size_t len,timelib_error_container ** errors,const timelib_tzdb * tzdb,timelib_tz_get_wrapper tz_get_wrapper)25028 timelib_time *timelib_parse_from_format(const char *format, const char *string, size_t len, timelib_error_container **errors, const timelib_tzdb *tzdb, timelib_tz_get_wrapper tz_get_wrapper)
25029 {
25030 	return timelib_parse_from_format_with_map(format, string, len, errors, tzdb, tz_get_wrapper, &default_format_config);
25031 }
25032 
timelib_parse_from_format_with_map(const char * format,const char * string,size_t len,timelib_error_container ** errors,const timelib_tzdb * tzdb,timelib_tz_get_wrapper tz_get_wrapper,const timelib_format_config * format_config)25033 timelib_time *timelib_parse_from_format_with_map(const char *format, const char *string, size_t len, timelib_error_container **errors, const timelib_tzdb *tzdb, timelib_tz_get_wrapper tz_get_wrapper, const timelib_format_config* format_config)
25034 {
25035 	const char  *fptr = format;
25036 	const char  *ptr = string;
25037 	const char  *begin;
25038 	timelib_sll  tmp;
25039 	Scanner      in;
25040 	Scanner     *s = &in;
25041 	bool         allow_extra = false;
25042 	bool         prefix_found = false;
25043 	int          iso_year = TIMELIB_UNSET;
25044 	int          iso_week_of_year = TIMELIB_UNSET;
25045 	int          iso_day_of_week = TIMELIB_UNSET;
25046 	char         prefix_char = format_config->prefix_char;
25047 	const timelib_format_specifier *format_map = format_config->format_map;
25048 
25049 	memset(&in, 0, sizeof(in));
25050 	in.errors = timelib_malloc(sizeof(timelib_error_container));
25051 	in.errors->warning_count = 0;
25052 	in.errors->warning_messages = NULL;
25053 	in.errors->error_count = 0;
25054 	in.errors->error_messages = NULL;
25055 
25056 	in.time = timelib_time_ctor();
25057 	in.time->y = TIMELIB_UNSET;
25058 	in.time->d = TIMELIB_UNSET;
25059 	in.time->m = TIMELIB_UNSET;
25060 	in.time->h = TIMELIB_UNSET;
25061 	in.time->i = TIMELIB_UNSET;
25062 	in.time->s = TIMELIB_UNSET;
25063 	in.time->us = TIMELIB_UNSET;
25064 	in.time->z = TIMELIB_UNSET;
25065 	in.time->dst = TIMELIB_UNSET;
25066 	in.tzdb = tzdb;
25067 	in.time->is_localtime = 0;
25068 	in.time->zone_type = 0;
25069 
25070 	/* Loop over the format string */
25071 	while (*fptr && *ptr) {
25072 		begin = ptr;
25073 
25074 		if (prefix_char) {
25075 			/* There are 2 cases where the input string and format string
25076 			 * should match the next literal:
25077 			 *
25078 			 * 1. No prefix has been specified yet in the format, so expect 1:1
25079 			 *    match.
25080 			 * 2. Sequential prefix characters indicating that the second
25081 			 *    prefix is escaped. (e.g. "%%" is expecting literal "%")
25082 			 */
25083 			if ((!prefix_found && *fptr != prefix_char) ||
25084 				(prefix_found && *fptr == prefix_char)) {
25085 				if (*fptr != *ptr) {
25086 					add_pbf_error(s, TIMELIB_ERR_FORMAT_LITERAL_MISMATCH, "Format literal not found", string, begin);
25087 				}
25088 				ptr++;
25089 				fptr++;
25090 				prefix_found = false;
25091 				continue;
25092 			}
25093 
25094 			if (*fptr == prefix_char) {
25095 				fptr++;
25096 				prefix_found = true;
25097 				continue;
25098 			}
25099 
25100 			/* Fall through case is that the prefix has been found and the next
25101 			 * character is the format specifier. */
25102 			prefix_found = false;
25103 		}
25104 
25105 		switch (timelib_lookup_format(*fptr, format_map)) {
25106 			case TIMELIB_FORMAT_TEXTUAL_DAY_3_LETTER: /* three letter day */
25107 			case TIMELIB_FORMAT_TEXTUAL_DAY_FULL: /* full day */
25108 				{
25109 					const timelib_relunit* tmprel = 0;
25110 
25111 					tmprel = timelib_lookup_relunit(&ptr);
25112 					if (!tmprel) {
25113 						add_pbf_error(s, TIMELIB_ERR_NO_TEXTUAL_DAY, "A textual day could not be found", string, begin);
25114 						break;
25115 					} else {
25116 						in.time->have_relative = 1;
25117 						in.time->relative.have_weekday_relative = 1;
25118 						in.time->relative.weekday = tmprel->multiplier;
25119 						in.time->relative.weekday_behavior = 1;
25120 					}
25121 				}
25122 				break;
25123 			case TIMELIB_FORMAT_DAY_TWO_DIGIT: /* two digit day, without leading zero */
25124 			case TIMELIB_FORMAT_DAY_TWO_DIGIT_PADDED: /* two digit day, with leading zero */
25125 				TIMELIB_CHECK_NUMBER;
25126 				if ((s->time->d = timelib_get_nr(&ptr, 2)) == TIMELIB_UNSET) {
25127 					add_pbf_error(s, TIMELIB_ERR_NO_TWO_DIGIT_DAY, "A two digit day could not be found", string, begin);
25128 					break;
25129 				}
25130 
25131 				s->time->have_date = 1;
25132 				break;
25133 			case TIMELIB_FORMAT_DAY_SUFFIX: /* day suffix, ignored, nor checked */
25134 				timelib_skip_day_suffix(&ptr);
25135 				break;
25136 			case TIMELIB_FORMAT_DAY_OF_YEAR: /* day of year - resets month (0 based) - also initializes everything else to !TIMELIB_UNSET */
25137 				TIMELIB_CHECK_NUMBER;
25138 				if (s->time->y == TIMELIB_UNSET) {
25139 					add_pbf_error(s, TIMELIB_ERR_MERIDIAN_BEFORE_HOUR, "A 'day of year' can only come after a year has been found", string, begin);
25140 				}
25141 				if ((tmp = timelib_get_nr(&ptr, 3)) == TIMELIB_UNSET) {
25142 					add_pbf_error(s, TIMELIB_ERR_NO_THREE_DIGIT_DAY_OF_YEAR, "A three digit day-of-year could not be found", string, begin);
25143 					break;
25144 				}
25145 
25146 				if (s->time->y != TIMELIB_UNSET) {
25147 					s->time->have_date = 1;
25148 					s->time->m = 1;
25149 					s->time->d = tmp + 1;
25150 					timelib_do_normalize(s->time);
25151 				}
25152 				break;
25153 
25154 			case TIMELIB_FORMAT_MONTH_TWO_DIGIT: /* two digit month, without leading zero */
25155 			case TIMELIB_FORMAT_MONTH_TWO_DIGIT_PADDED: /* two digit month, with leading zero */
25156 				TIMELIB_CHECK_NUMBER;
25157 				if ((s->time->m = timelib_get_nr(&ptr, 2)) == TIMELIB_UNSET) {
25158 					add_pbf_error(s, TIMELIB_ERR_NO_TWO_DIGIT_MONTH, "A two digit month could not be found", string, begin);
25159 					break;
25160 				}
25161 				s->time->have_date = 1;
25162 				break;
25163 			case TIMELIB_FORMAT_TEXTUAL_MONTH_3_LETTER: /* three letter month */
25164 			case TIMELIB_FORMAT_TEXTUAL_MONTH_FULL: /* full month */
25165 				tmp = timelib_lookup_month(&ptr);
25166 				if (!tmp) {
25167 					add_pbf_error(s, TIMELIB_ERR_NO_TEXTUAL_MONTH, "A textual month could not be found", string, begin);
25168 					break;
25169 				}
25170 
25171 				s->time->have_date = 1;
25172 				s->time->m = tmp;
25173 				break;
25174 			case TIMELIB_FORMAT_YEAR_TWO_DIGIT: /* two digit year */
25175 				{
25176 					int length = 0;
25177 					TIMELIB_CHECK_NUMBER;
25178 					if ((s->time->y = timelib_get_nr_ex(&ptr, 2, &length)) == TIMELIB_UNSET) {
25179 						add_pbf_error(s, TIMELIB_ERR_NO_TWO_DIGIT_YEAR, "A two digit year could not be found", string, begin);
25180 						break;
25181 					}
25182 
25183 					s->time->have_date = 1;
25184 					TIMELIB_PROCESS_YEAR(s->time->y, length);
25185 				}
25186 				break;
25187 			case TIMELIB_FORMAT_YEAR_FOUR_DIGIT: /* four digit year */
25188 				TIMELIB_CHECK_NUMBER;
25189 				if ((s->time->y = timelib_get_nr(&ptr, 4)) == TIMELIB_UNSET) {
25190 					add_pbf_error(s, TIMELIB_ERR_NO_FOUR_DIGIT_YEAR, "A four digit year could not be found", string, begin);
25191 					break;
25192 				}
25193 
25194 				s->time->have_date = 1;
25195 				break;
25196 			case TIMELIB_FORMAT_YEAR_EXPANDED: /* optional symbol, followed by up to 19 digits */
25197 				TIMELIB_CHECK_SIGNED_NUMBER;
25198 				if ((s->time->y = timelib_get_signed_nr(s, &ptr, 19)) == TIMELIB_UNSET) {
25199 					add_pbf_error(s, TIMELIB_ERR_NO_FOUR_DIGIT_YEAR, "An expanded digit year could not be found", string, begin);
25200 					break;
25201 				}
25202 
25203 				s->time->have_date = 1;
25204 				break;
25205 			case TIMELIB_FORMAT_HOUR_TWO_DIGIT_12_MAX: /* two digit hour, without leading zero */
25206 			case TIMELIB_FORMAT_HOUR_TWO_DIGIT_12_MAX_PADDED: /* two digit hour, with leading zero */
25207 				TIMELIB_CHECK_NUMBER;
25208 				if ((s->time->h = timelib_get_nr(&ptr, 2)) == TIMELIB_UNSET) {
25209 					add_pbf_error(s, TIMELIB_ERR_NO_TWO_DIGIT_HOUR, "A two digit hour could not be found", string, begin);
25210 					break;
25211 				}
25212 				if (s->time->h > 12) {
25213 					add_pbf_error(s, TIMELIB_ERR_HOUR_LARGER_THAN_12, "Hour cannot be higher than 12", string, begin);
25214 					break;
25215 				}
25216 
25217 				s->time->have_time = 1;
25218 				break;
25219 			case TIMELIB_FORMAT_HOUR_TWO_DIGIT_24_MAX_PADDED: /* two digit hour, with leading zero */
25220 			case TIMELIB_FORMAT_HOUR_TWO_DIGIT_24_MAX: /* two digit hour, without leading zero */
25221 				TIMELIB_CHECK_NUMBER;
25222 				if ((s->time->h = timelib_get_nr(&ptr, 2)) == TIMELIB_UNSET) {
25223 					add_pbf_error(s, TIMELIB_ERR_NO_TWO_DIGIT_HOUR, "A two digit hour could not be found", string, begin);
25224 					break;
25225 				}
25226 
25227 				s->time->have_time = 1;
25228 				break;
25229 			case TIMELIB_FORMAT_MERIDIAN: /* am/pm/a.m./p.m. AM/PM/A.M./P.M. */
25230 				if (s->time->h == TIMELIB_UNSET) {
25231 					add_pbf_error(s, TIMELIB_ERR_MERIDIAN_BEFORE_HOUR, "Meridian can only come after an hour has been found", string, begin);
25232 				}
25233 				if ((tmp = timelib_meridian_with_check(&ptr, s->time->h)) == TIMELIB_UNSET) {
25234 					add_pbf_error(s, TIMELIB_ERR_NO_MERIDIAN, "A meridian could not be found", string, begin);
25235 					break;
25236 				}
25237 
25238 				s->time->have_time = 1;
25239 				if (s->time->h != TIMELIB_UNSET) {
25240 					s->time->h += tmp;
25241 				}
25242 				break;
25243 			case TIMELIB_FORMAT_MINUTE_TWO_DIGIT: /* two digit minute, with leading zero */
25244 				{
25245 					int length;
25246 					timelib_sll min;
25247 
25248 					TIMELIB_CHECK_NUMBER;
25249 					min = timelib_get_nr_ex(&ptr, 2, &length);
25250 					if (min == TIMELIB_UNSET || length != 2) {
25251 						add_pbf_error(s, TIMELIB_ERR_NO_TWO_DIGIT_MINUTE, "A two digit minute could not be found", string, begin);
25252 						break;
25253 					}
25254 
25255 					s->time->have_time = 1;
25256 					s->time->i = min;
25257 				}
25258 				break;
25259 			case TIMELIB_FORMAT_SECOND_TWO_DIGIT: /* two digit second, with leading zero */
25260 				{
25261 					int length;
25262 					timelib_sll sec;
25263 
25264 					TIMELIB_CHECK_NUMBER;
25265 					sec = timelib_get_nr_ex(&ptr, 2, &length);
25266 					if (sec == TIMELIB_UNSET || length != 2) {
25267 						add_pbf_error(s, TIMELIB_ERR_NO_TWO_DIGIT_SECOND, "A two digit second could not be found", string, begin);
25268 						break;
25269 					}
25270 
25271 					s->time->have_time = 1;
25272 					s->time->s = sec;
25273 				}
25274 				break;
25275 			case TIMELIB_FORMAT_MICROSECOND_SIX_DIGIT: /* up to six digit microsecond */
25276 				{
25277 					double f;
25278 					const char *tptr;
25279 
25280 					TIMELIB_CHECK_NUMBER;
25281 					tptr = ptr;
25282 					if ((f = timelib_get_nr(&ptr, 6)) == TIMELIB_UNSET || (ptr - tptr < 1)) {
25283 						add_pbf_error(s, TIMELIB_ERR_NO_SIX_DIGIT_MICROSECOND, "A six digit microsecond could not be found", string, begin);
25284 						break;
25285 					}
25286 
25287 					s->time->us = (f * pow(10, 6 - (ptr - tptr)));
25288 				}
25289 				break;
25290 			case TIMELIB_FORMAT_MILLISECOND_THREE_DIGIT: /* up to three digit millisecond */
25291 				{
25292 					double f;
25293 					const char *tptr;
25294 
25295 					TIMELIB_CHECK_NUMBER;
25296 					tptr = ptr;
25297 					if ((f = timelib_get_nr(&ptr, 3)) == TIMELIB_UNSET || (ptr - tptr < 1)) {
25298 						add_pbf_error(s, TIMELIB_ERR_NO_THREE_DIGIT_MILLISECOND, "A three digit millisecond could not be found", string, begin);
25299 						break;
25300 					}
25301 
25302 					s->time->us = (f * pow(10, 3 - (ptr - tptr)) * 1000);
25303 				}
25304 				break;
25305 			case TIMELIB_FORMAT_WHITESPACE: /* any sort of whitespace (' ' and \t) */
25306 				timelib_eat_spaces(&ptr);
25307 				break;
25308 			case TIMELIB_FORMAT_EPOCH_SECONDS: /* epoch seconds */
25309 				TIMELIB_CHECK_SIGNED_NUMBER;
25310 				tmp = timelib_get_signed_nr(s, &ptr, 24);
25311 				s->time->have_zone = 1;
25312 				s->time->sse = tmp;
25313 				s->time->is_localtime = 1;
25314 				s->time->zone_type = TIMELIB_ZONETYPE_OFFSET;
25315 				s->time->z = 0;
25316 				s->time->dst = 0;
25317 				timelib_update_from_sse(s->time);
25318 				break;
25319 
25320 			case TIMELIB_FORMAT_ANY_SEPARATOR: /* separation symbol */
25321 				if (timelib_lookup_format(*ptr, format_map) != TIMELIB_FORMAT_SEPARATOR) {
25322 					add_pbf_error(s, TIMELIB_ERR_NO_SEP_SYMBOL, "The separation symbol ([;:/.,-]) could not be found", string, begin);
25323 					break;
25324 				}
25325 
25326 				++ptr;
25327 				break;
25328 
25329 			case TIMELIB_FORMAT_SEPARATOR:
25330 				if (*ptr != *fptr) {
25331 					add_pbf_error(s, TIMELIB_ERR_NO_SEP_SYMBOL, "The separation symbol could not be found", string, begin);
25332 					break;
25333 				}
25334 
25335 				++ptr;
25336 				break;
25337 
25338 			case TIMELIB_FORMAT_RESET_ALL: /* reset all fields to default */
25339 				timelib_time_reset_fields(s->time);
25340 				break; /* break intentionally not missing */
25341 
25342 			case TIMELIB_FORMAT_RESET_ALL_WHEN_NOT_SET: /* reset all fields to default when not set */
25343 				timelib_time_reset_unset_fields(s->time);
25344 				break; /* break intentionally not missing */
25345 
25346 			case TIMELIB_FORMAT_RANDOM_CHAR: /* random char */
25347 				++ptr;
25348 				break;
25349 
25350 			case TIMELIB_FORMAT_ESCAPE: /* escaped char */
25351 				if (!fptr[1]) {
25352 					add_pbf_error(s, TIMELIB_ERR_EXPECTED_ESCAPE_CHAR, "Escaped character expected", string, begin);
25353 					break;
25354 				}
25355 				fptr++;
25356 				if (*ptr != *fptr) {
25357 					add_pbf_error(s, TIMELIB_ERR_NO_ESCAPED_CHAR, "The escaped character could not be found", string, begin);
25358 					break;
25359 				}
25360 
25361 				++ptr;
25362 				break;
25363 
25364 			case TIMELIB_FORMAT_SKIP_TO_SEPARATOR: /* random chars until a separator or number ([ \t.,:;/-0123456789]) */
25365 				timelib_eat_until_separator(&ptr);
25366 				break;
25367 
25368 			case TIMELIB_FORMAT_ALLOW_EXTRA_CHARACTERS: /* allow extra chars in the format */
25369 				allow_extra = true;
25370 				break;
25371 			case TIMELIB_FORMAT_YEAR_ISO:
25372 				if ((iso_year = timelib_get_nr(&ptr, 4)) == TIMELIB_UNSET) {
25373 					add_pbf_error(s, TIMELIB_ERR_NO_FOUR_DIGIT_YEAR_ISO, "A four digit ISO year could not be found", string, begin);
25374 					break;
25375 				}
25376 
25377 				s->time->have_date = 1;
25378 				break;
25379 			case TIMELIB_FORMAT_WEEK_OF_YEAR_ISO:
25380 				if ((iso_week_of_year = timelib_get_nr(&ptr, 2)) == TIMELIB_UNSET) {
25381 					add_pbf_error(s, TIMELIB_ERR_NO_TWO_DIGIT_WEEK, "A two digit ISO week could not be found", string, begin);
25382 					break;
25383 				}
25384 				/* Range is 1 - 53  for ISO week of year */
25385 				if (iso_week_of_year < 1 || iso_week_of_year > 53) {
25386 					add_pbf_error(s, TIMELIB_ERR_INVALID_WEEK, "ISO Week must be between 1 and 53", string, begin);
25387 					break;
25388 				}
25389 
25390 				s->time->have_date = 1;
25391 				break;
25392 			case TIMELIB_FORMAT_DAY_OF_WEEK_ISO:
25393 				if ((iso_day_of_week = timelib_get_nr(&ptr, 1)) == TIMELIB_UNSET) {
25394 					add_pbf_error(s, TIMELIB_ERR_NO_DAY_OF_WEEK, "A single digit day of week could not be found", string, begin);
25395 					break;
25396 				}
25397 				if (iso_day_of_week < 1 || iso_day_of_week > 7) {
25398 					add_pbf_error(s, TIMELIB_ERR_INVALID_DAY_OF_WEEK, "Day of week must be between 1 and 7", string, begin);
25399 					break;
25400 				}
25401 
25402 				s->time->have_date = 1;
25403 				break;
25404 			case TIMELIB_FORMAT_TIMEZONE_OFFSET: /* timezone */
25405 				{
25406 					int tz_not_found;
25407 
25408 					s->time->z = timelib_parse_zone(&ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
25409 					if (tz_not_found) {
25410 						add_pbf_error(s, TIMELIB_ERR_TZID_NOT_FOUND, "The timezone could not be found in the database", string, begin);
25411 						break;
25412 					}
25413 
25414 					s->time->have_zone = 1;
25415 				}
25416 				break;
25417 			case TIMELIB_FORMAT_TIMEZONE_OFFSET_MINUTES: /* timezone format +/-mmm */
25418 				s->time->z = timelib_parse_tz_minutes(&ptr, s->time);
25419 				if (s->time->z == TIMELIB_UNSET) {
25420 					add_pbf_error(s, TIMELIB_ERR_INVALID_TZ_OFFSET, "Invalid timezone offset in minutes", string, begin);
25421 					break;
25422 				}
25423 
25424 				s->time->have_zone = 1;
25425 				break;
25426 			case TIMELIB_FORMAT_LITERAL:
25427 			default:
25428 				if (*fptr != *ptr) {
25429 					add_pbf_error(s, TIMELIB_ERR_WRONG_FORMAT_SEP, "The format separator does not match", string, begin);
25430 				}
25431 				ptr++;
25432 		}
25433 		fptr++;
25434 	}
25435 	if (*ptr) {
25436 		if (allow_extra) {
25437 			add_pbf_warning(s, TIMELIB_WARN_TRAILING_DATA, "Trailing data", string, ptr);
25438 		} else {
25439 			add_pbf_error(s, TIMELIB_ERR_TRAILING_DATA, "Trailing data", string, ptr);
25440 		}
25441 	}
25442 
25443 	if (*fptr) {
25444 		/* Trailing reset specifiers are valid. */
25445 		int done = 0;
25446 		while (*fptr && !done) {
25447 			switch (timelib_lookup_format(*fptr, format_map)) {
25448 				case TIMELIB_FORMAT_RESET_ALL: /* reset all fields to default */
25449 					timelib_time_reset_fields(s->time);
25450 					break;
25451 
25452 				case TIMELIB_FORMAT_RESET_ALL_WHEN_NOT_SET: /* reset all fields to default when not set */
25453 					timelib_time_reset_unset_fields(s->time);
25454 					break;
25455 				case TIMELIB_FORMAT_ALLOW_EXTRA_CHARACTERS:
25456 					break;
25457 
25458 				default:
25459 					add_pbf_error(s, TIMELIB_ERR_DATA_MISSING, "Not enough data available to satisfy format", string, ptr);
25460 					done = 1;
25461 			}
25462 			fptr++;
25463 		}
25464 	}
25465 
25466 	/* clean up a bit */
25467 	if (s->time->h != TIMELIB_UNSET || s->time->i != TIMELIB_UNSET || s->time->s != TIMELIB_UNSET || s->time->us != TIMELIB_UNSET) {
25468 		if (s->time->h == TIMELIB_UNSET ) {
25469 			s->time->h = 0;
25470 		}
25471 		if (s->time->i == TIMELIB_UNSET ) {
25472 			s->time->i = 0;
25473 		}
25474 		if (s->time->s == TIMELIB_UNSET ) {
25475 			s->time->s = 0;
25476 		}
25477 		if (s->time->us == TIMELIB_UNSET ) {
25478 			s->time->us = 0;
25479 		}
25480 	}
25481 
25482 	/* Check for mixing of ISO dates with natural dates. */
25483 	if (s->time->y != TIMELIB_UNSET && (iso_week_of_year != TIMELIB_UNSET || iso_year != TIMELIB_UNSET || iso_day_of_week != TIMELIB_UNSET)) {
25484 		add_pbf_error(s, TIMELIB_ERR_MIX_ISO_WITH_NATURAL, "Mixing of ISO dates with natural dates is not allowed", string, ptr);
25485 	}
25486 	if (iso_year != TIMELIB_UNSET && (s->time->y != TIMELIB_UNSET || s->time->m != TIMELIB_UNSET || s->time->d != TIMELIB_UNSET)) {
25487 		add_pbf_error(s, TIMELIB_ERR_MIX_ISO_WITH_NATURAL, "Mixing of ISO dates with natural dates is not allowed", string, ptr);
25488 	}
25489 
25490 	/* Convert ISO values */
25491 	if (iso_year != TIMELIB_UNSET) {
25492 		/* Default week of year and day of week to 1. */
25493 		if (iso_week_of_year == TIMELIB_UNSET) {
25494 			iso_week_of_year = 1;
25495 		}
25496 		if (iso_day_of_week == TIMELIB_UNSET) {
25497 			iso_day_of_week = 1;
25498 		}
25499 		timelib_date_from_isodate(iso_year, iso_week_of_year, iso_day_of_week, &s->time->y, &s->time->m, &s->time->d);
25500 	} else if (iso_week_of_year != TIMELIB_UNSET || iso_day_of_week != TIMELIB_UNSET) {
25501 		add_pbf_warning(s, TIMELIB_WARN_INVALID_DATE, "The parsed date was invalid", string, ptr);
25502 	}
25503 
25504 	/* do funky checking whether the parsed time was valid time */
25505 	if (s->time->h != TIMELIB_UNSET && s->time->i != TIMELIB_UNSET &&
25506 		s->time->s != TIMELIB_UNSET &&
25507 		!timelib_valid_time( s->time->h, s->time->i, s->time->s)) {
25508 		add_pbf_warning(s, TIMELIB_WARN_INVALID_TIME, "The parsed time was invalid", string, ptr);
25509 	}
25510 	/* do funky checking whether the parsed date was valid date */
25511 	if (s->time->y != TIMELIB_UNSET && s->time->m != TIMELIB_UNSET &&
25512 		s->time->d != TIMELIB_UNSET &&
25513 		!timelib_valid_date( s->time->y, s->time->m, s->time->d)) {
25514 		add_pbf_warning(s, TIMELIB_WARN_INVALID_DATE, "The parsed date was invalid", string, ptr);
25515 	}
25516 
25517 	if (errors) {
25518 		*errors = in.errors;
25519 	} else {
25520 		timelib_error_container_dtor(in.errors);
25521 	}
25522 	return in.time;
25523 }
25524 
timelib_fill_holes(timelib_time * parsed,timelib_time * now,int options)25525 void timelib_fill_holes(timelib_time *parsed, timelib_time *now, int options)
25526 {
25527 	if (!(options & TIMELIB_OVERRIDE_TIME) && parsed->have_date && !parsed->have_time) {
25528 		parsed->h = 0;
25529 		parsed->i = 0;
25530 		parsed->s = 0;
25531 		parsed->us = 0;
25532 	}
25533 	if (
25534 		parsed->y != TIMELIB_UNSET || parsed->m != TIMELIB_UNSET || parsed->d != TIMELIB_UNSET ||
25535 		parsed->h != TIMELIB_UNSET || parsed->i != TIMELIB_UNSET || parsed->s != TIMELIB_UNSET
25536 	) {
25537 		if (parsed->us == TIMELIB_UNSET) parsed->us = 0;
25538 	} else {
25539 		if (parsed->us == TIMELIB_UNSET) parsed->us = now->us != TIMELIB_UNSET ? now->us : 0;
25540 	}
25541 	if (parsed->y == TIMELIB_UNSET) parsed->y = now->y != TIMELIB_UNSET ? now->y : 0;
25542 	if (parsed->m == TIMELIB_UNSET) parsed->m = now->m != TIMELIB_UNSET ? now->m : 0;
25543 	if (parsed->d == TIMELIB_UNSET) parsed->d = now->d != TIMELIB_UNSET ? now->d : 0;
25544 	if (parsed->h == TIMELIB_UNSET) parsed->h = now->h != TIMELIB_UNSET ? now->h : 0;
25545 	if (parsed->i == TIMELIB_UNSET) parsed->i = now->i != TIMELIB_UNSET ? now->i : 0;
25546 	if (parsed->s == TIMELIB_UNSET) parsed->s = now->s != TIMELIB_UNSET ? now->s : 0;
25547 
25548 	if (!parsed->tz_info) {
25549 		parsed->tz_info = now->tz_info ? (!(options & TIMELIB_NO_CLONE) ? timelib_tzinfo_clone(now->tz_info) : now->tz_info) : NULL;
25550 
25551 		if (parsed->z == TIMELIB_UNSET) parsed->z = now->z != TIMELIB_UNSET ? now->z : 0;
25552 		if (parsed->dst == TIMELIB_UNSET) parsed->dst = now->dst != TIMELIB_UNSET ? now->dst : 0;
25553 
25554 		if (!parsed->tz_abbr) {
25555 			parsed->tz_abbr = now->tz_abbr ? timelib_strdup(now->tz_abbr) : NULL;
25556 		}
25557 	}
25558 
25559 	if (parsed->zone_type == 0 && now->zone_type != 0) {
25560 		parsed->zone_type = now->zone_type;
25561 /*		parsed->tz_abbr = now->tz_abbr ? timelib_strdup(now->tz_abbr) : NULL;
25562 		parsed->tz_info = now->tz_info ? timelib_tzinfo_clone(now->tz_info) : NULL;
25563 */		parsed->is_localtime = 1;
25564 	}
25565 /*	timelib_dump_date(parsed, 2);
25566 	timelib_dump_date(now, 2);
25567 */
25568 }
25569 
timelib_timezone_id_from_abbr(const char * abbr,timelib_long gmtoffset,int isdst)25570 const char *timelib_timezone_id_from_abbr(const char *abbr, timelib_long gmtoffset, int isdst)
25571 {
25572 	const timelib_tz_lookup_table *tp;
25573 
25574 	tp = abbr_search(abbr, gmtoffset, isdst);
25575 	if (tp) {
25576 		return (tp->full_tz_name);
25577 	} else {
25578 		return NULL;
25579 	}
25580 }
25581 
timelib_timezone_abbreviations_list(void)25582 const timelib_tz_lookup_table *timelib_timezone_abbreviations_list(void)
25583 {
25584 	return timelib_timezone_lookup;
25585 }
25586 
25587 #ifdef DEBUG_PARSER_STUB
main(void)25588 int main(void)
25589 {
25590 	timelib_time time = timelib_strtotime("May 12");
25591 
25592 	printf ("%04d-%02d-%02d %02d:%02d:%02d.%-5d %+04d %1d",
25593 		time.y, time.m, time.d, time.h, time.i, time.s, time.f, time.z, time.dst);
25594 	if (time.have_relative) {
25595 		printf ("%3dY %3dM %3dD / %3dH %3dM %3dS",
25596 			time.relative.y, time.relative.m, time.relative.d, time.relative.h, time.relative.i, time.relative.s);
25597 	}
25598 	if (time.have_weekday_relative) {
25599 		printf (" / %d", time.relative.weekday);
25600 	}
25601 	if (time.have_weeknr_day) {
25602 		printf(" / %dW%d", time.relative.weeknr_day.weeknr, time.relative.weeknr_day.dayofweek);
25603 	}
25604 	return 0;
25605 }
25606 #endif
25607 
25608 /*
25609  * vim: syntax=c
25610  */
25611