Coverage Report

Created: 2026-06-02 06:37

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/php-src/ext/date/lib/parse_date.c
Line
Count
Source
1
/* Generated by re2c 1.0.3 on Wed Jan 14 14:21:53 2026 */
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
68.6M
#define EOI      257
48
#define TIME     258
49
#define DATE     259
50
51
5.67k
#define TIMELIB_XMLRPC_SOAP    260
52
15.1k
#define TIMELIB_TIME12         261
53
#define TIMELIB_TIME24         262
54
424k
#define TIMELIB_GNU_NOCOLON    263
55
#define TIMELIB_GNU_NOCOLON_TZ 264
56
59.2k
#define TIMELIB_ISO_NOCOLON    265
57
58
22.7k
#define TIMELIB_AMERICAN       266
59
45.0k
#define TIMELIB_ISO_DATE       267
60
31.2k
#define TIMELIB_DATE_FULL      268
61
146k
#define TIMELIB_DATE_TEXT      269
62
21.2k
#define TIMELIB_DATE_NOCOLON   270
63
29.4k
#define TIMELIB_PG_YEARDAY     271
64
8.90k
#define TIMELIB_PG_TEXT        272
65
#define TIMELIB_PG_REVERSE     273
66
2.42M
#define TIMELIB_CLF            274
67
14.6k
#define TIMELIB_DATE_NO_DAY    275
68
145k
#define TIMELIB_SHORTDATE_WITH_TIME 276
69
6.85k
#define TIMELIB_DATE_FULL_POINTED 277
70
335k
#define TIMELIB_TIME24_WITH_ZONE 278
71
6.53k
#define TIMELIB_ISO_WEEK       279
72
98.9k
#define TIMELIB_LF_DAY_OF_MONTH 280
73
6.24k
#define TIMELIB_WEEK_DAY_OF_MONTH 281
74
75
30.6k
#define TIMELIB_TIMEZONE       300
76
55.0k
#define TIMELIB_AGO            301
77
78
569k
#define TIMELIB_RELATIVE       310
79
80
63.7M
#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
246M
#define   YYCTYPE      uchar
89
1.10G
#define   YYCURSOR     cursor
90
285M
#define   YYLIMIT      s->lim
91
171M
#define   YYMARKER     s->ptr
92
31.0k
#define   YYFILL(n)    return EOI;
93
94
#define   RET(i)       {s->cur = cursor; return i;}
95
96
68.5M
#define timelib_string_free timelib_free
97
98
3.52M
#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
1.24M
#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
6.13M
#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
594k
#define TIMELIB_UNHAVE_DATE() { s->time->have_date = 0; s->time->d = 0; s->time->m = 0; s->time->y = 0; }
102
1.42M
#define TIMELIB_HAVE_RELATIVE() { s->time->have_relative = 1; }
103
575k
#define TIMELIB_HAVE_WEEKDAY_RELATIVE() { s->time->have_relative = 1; s->time->relative.have_weekday_relative = 1; }
104
14.1k
#define TIMELIB_HAVE_SPECIAL_RELATIVE() { s->time->have_relative = 1; s->time->relative.have_special_relative = 1; }
105
54.4M
#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
68.5M
#define TIMELIB_INIT  s->cur = cursor; str = timelib_string(s); ptr = str
108
5.63M
#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
191k
#define TIMELIB_PROCESS_YEAR(x, l) { \
112
191k
  if (((x) == TIMELIB_UNSET) || ((l) >= 4)) { \
113
94.4k
  /*  (x) = 0; */          \
114
96.9k
  } else if ((x) < 100) {  \
115
82.8k
    if ((x) < 70) {      \
116
74.3k
      (x) += 2000;     \
117
74.3k
    } else {             \
118
8.54k
      (x) += 1900;     \
119
8.54k
    }                    \
120
82.8k
  }                        \
121
191k
}
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
/* Solaris exposes _POSIX_TZNAME_MAX = 3 unless _XPG6 is defined.
175
 * That is too small for real-world timezone abbreviations ("EDT", "CEST", ...).
176
 */
177
# if defined(__sun__) && _POSIX_TZNAME_MAX < 6
178
#  define MAX_ABBR_LEN 6
179
# else
180
217k
#  define MAX_ABBR_LEN _POSIX_TZNAME_MAX
181
# endif
182
#elif defined(TZNAME_MAX)
183
# define MAX_ABBR_LEN TZNAME_MAX
184
#else
185
# define MAX_ABBR_LEN 6
186
#endif
187
188
static timelib_relunit const timelib_relunit_lookup[] = {
189
  { "ms",           TIMELIB_MICROSEC, 1000 },
190
  { "msec",         TIMELIB_MICROSEC, 1000 },
191
  { "msecs",        TIMELIB_MICROSEC, 1000 },
192
  { "millisecond",  TIMELIB_MICROSEC, 1000 },
193
  { "milliseconds", TIMELIB_MICROSEC, 1000 },
194
  { "µs",           TIMELIB_MICROSEC,    1 },
195
  { "usec",         TIMELIB_MICROSEC,    1 },
196
  { "usecs",        TIMELIB_MICROSEC,    1 },
197
  { "µsec",         TIMELIB_MICROSEC,    1 },
198
  { "µsecs",        TIMELIB_MICROSEC,    1 },
199
  { "microsecond",  TIMELIB_MICROSEC,    1 },
200
  { "microseconds", TIMELIB_MICROSEC,    1 },
201
  { "sec",         TIMELIB_SECOND,  1 },
202
  { "secs",        TIMELIB_SECOND,  1 },
203
  { "second",      TIMELIB_SECOND,  1 },
204
  { "seconds",     TIMELIB_SECOND,  1 },
205
  { "min",         TIMELIB_MINUTE,  1 },
206
  { "mins",        TIMELIB_MINUTE,  1 },
207
  { "minute",      TIMELIB_MINUTE,  1 },
208
  { "minutes",     TIMELIB_MINUTE,  1 },
209
  { "hour",        TIMELIB_HOUR,    1 },
210
  { "hours",       TIMELIB_HOUR,    1 },
211
  { "day",         TIMELIB_DAY,     1 },
212
  { "days",        TIMELIB_DAY,     1 },
213
  { "week",        TIMELIB_DAY,     7 },
214
  { "weeks",       TIMELIB_DAY,     7 },
215
  { "fortnight",   TIMELIB_DAY,    14 },
216
  { "fortnights",  TIMELIB_DAY,    14 },
217
  { "forthnight",  TIMELIB_DAY,    14 },
218
  { "forthnights", TIMELIB_DAY,    14 },
219
  { "month",       TIMELIB_MONTH,   1 },
220
  { "months",      TIMELIB_MONTH,   1 },
221
  { "year",        TIMELIB_YEAR,    1 },
222
  { "years",       TIMELIB_YEAR,    1 },
223
224
  { "mondays",     TIMELIB_WEEKDAY, 1 },
225
  { "monday",      TIMELIB_WEEKDAY, 1 },
226
  { "mon",         TIMELIB_WEEKDAY, 1 },
227
  { "tuesdays",    TIMELIB_WEEKDAY, 2 },
228
  { "tuesday",     TIMELIB_WEEKDAY, 2 },
229
  { "tue",         TIMELIB_WEEKDAY, 2 },
230
  { "wednesdays",  TIMELIB_WEEKDAY, 3 },
231
  { "wednesday",   TIMELIB_WEEKDAY, 3 },
232
  { "wed",         TIMELIB_WEEKDAY, 3 },
233
  { "thursdays",   TIMELIB_WEEKDAY, 4 },
234
  { "thursday",    TIMELIB_WEEKDAY, 4 },
235
  { "thu",         TIMELIB_WEEKDAY, 4 },
236
  { "fridays",     TIMELIB_WEEKDAY, 5 },
237
  { "friday",      TIMELIB_WEEKDAY, 5 },
238
  { "fri",         TIMELIB_WEEKDAY, 5 },
239
  { "saturdays",   TIMELIB_WEEKDAY, 6 },
240
  { "saturday",    TIMELIB_WEEKDAY, 6 },
241
  { "sat",         TIMELIB_WEEKDAY, 6 },
242
  { "sundays",     TIMELIB_WEEKDAY, 0 },
243
  { "sunday",      TIMELIB_WEEKDAY, 0 },
244
  { "sun",         TIMELIB_WEEKDAY, 0 },
245
246
  { "weekday",     TIMELIB_SPECIAL, TIMELIB_SPECIAL_WEEKDAY },
247
  { "weekdays",    TIMELIB_SPECIAL, TIMELIB_SPECIAL_WEEKDAY },
248
  { NULL,          0,          0 }
249
};
250
251
/* The relative text table. */
252
static timelib_lookup_table const timelib_reltext_lookup[] = {
253
  { "first",    0,  1 },
254
  { "next",     0,  1 },
255
  { "second",   0,  2 },
256
  { "third",    0,  3 },
257
  { "fourth",   0,  4 },
258
  { "fifth",    0,  5 },
259
  { "sixth",    0,  6 },
260
  { "seventh",  0,  7 },
261
  { "eight",    0,  8 },
262
  { "eighth",   0,  8 },
263
  { "ninth",    0,  9 },
264
  { "tenth",    0, 10 },
265
  { "eleventh", 0, 11 },
266
  { "twelfth",  0, 12 },
267
  { "last",     0, -1 },
268
  { "previous", 0, -1 },
269
  { "this",     1,  0 },
270
  { NULL,       1,  0 }
271
};
272
273
/* The month table. */
274
static timelib_lookup_table const timelib_month_lookup[] = {
275
  { "jan",  0,  1 },
276
  { "feb",  0,  2 },
277
  { "mar",  0,  3 },
278
  { "apr",  0,  4 },
279
  { "may",  0,  5 },
280
  { "jun",  0,  6 },
281
  { "jul",  0,  7 },
282
  { "aug",  0,  8 },
283
  { "sep",  0,  9 },
284
  { "sept", 0,  9 },
285
  { "oct",  0, 10 },
286
  { "nov",  0, 11 },
287
  { "dec",  0, 12 },
288
  { "i",    0,  1 },
289
  { "ii",   0,  2 },
290
  { "iii",  0,  3 },
291
  { "iv",   0,  4 },
292
  { "v",    0,  5 },
293
  { "vi",   0,  6 },
294
  { "vii",  0,  7 },
295
  { "viii", 0,  8 },
296
  { "ix",   0,  9 },
297
  { "x",    0, 10 },
298
  { "xi",   0, 11 },
299
  { "xii",  0, 12 },
300
301
  { "january",   0,  1 },
302
  { "february",  0,  2 },
303
  { "march",     0,  3 },
304
  { "april",     0,  4 },
305
  { "may",       0,  5 },
306
  { "june",      0,  6 },
307
  { "july",      0,  7 },
308
  { "august",    0,  8 },
309
  { "september", 0,  9 },
310
  { "october",   0, 10 },
311
  { "november",  0, 11 },
312
  { "december",  0, 12 },
313
  {  NULL,       0,  0 }
314
};
315
316
#if 0
317
static char* timelib_ltrim(char *s)
318
{
319
  char *ptr = s;
320
  while (ptr[0] == ' ' || ptr[0] == '\t') {
321
    ptr++;
322
  }
323
  return ptr;
324
}
325
#endif
326
327
#if 0
328
uchar *fill(Scanner *s, uchar *cursor){
329
  if(!s->eof){
330
    unsigned int cnt = s->tok - s->bot;
331
    if(cnt){
332
      memcpy(s->bot, s->tok, s->lim - s->tok);
333
      s->tok = s->bot;
334
      s->ptr -= cnt;
335
      cursor -= cnt;
336
      s->pos -= cnt;
337
      s->lim -= cnt;
338
    }
339
    if((s->top - s->lim) < BSIZE){
340
      uchar *buf = (uchar*) timelib_malloc(((s->lim - s->bot) + BSIZE)*sizeof(uchar));
341
      memcpy(buf, s->tok, s->lim - s->tok);
342
      s->tok = buf;
343
      s->ptr = &buf[s->ptr - s->bot];
344
      cursor = &buf[cursor - s->bot];
345
      s->pos = &buf[s->pos - s->bot];
346
      s->lim = &buf[s->lim - s->bot];
347
      s->top = &s->lim[BSIZE];
348
      timelib_free(s->bot);
349
      s->bot = buf;
350
    }
351
    if((cnt = read(s->fd, (char*) s->lim, BSIZE)) != BSIZE){
352
      s->eof = &s->lim[cnt]; *(s->eof)++ = '\n';
353
    }
354
    s->lim += cnt;
355
  }
356
  return cursor;
357
}
358
#endif
359
360
static timelib_error_message *alloc_error_message(timelib_error_message **messages, int *count)
361
210M
{
362
  /* Realloc in power of two increments */
363
210M
  int is_pow2 = (*count & (*count - 1)) == 0;
364
365
210M
  if (is_pow2) {
366
365k
    size_t alloc_size = *count ? (*count * 2) : 1;
367
368
365k
    *messages = timelib_realloc(*messages, alloc_size * sizeof(timelib_error_message));
369
365k
  }
370
210M
  return *messages + (*count)++;
371
210M
}
372
373
static void add_warning(Scanner *s, int error_code, const char *error)
374
44.0k
{
375
44.0k
  timelib_error_message *message = alloc_error_message(&s->errors->warning_messages, &s->errors->warning_count);
376
377
44.0k
  message->error_code = error_code;
378
44.0k
  message->position = s->tok ? s->tok - s->str : 0;
379
44.0k
  message->character = s->tok ? *s->tok : 0;
380
44.0k
  message->message = timelib_strdup(error);
381
44.0k
}
382
383
static void add_error(Scanner *s, int error_code, const char *error)
384
210M
{
385
210M
  timelib_error_message *message = alloc_error_message(&s->errors->error_messages, &s->errors->error_count);
386
387
210M
  message->error_code = error_code;
388
210M
  message->position = s->tok ? s->tok - s->str : 0;
389
210M
  message->character = s->tok ? *s->tok : 0;
390
210M
  message->message = timelib_strdup(error);
391
210M
}
392
393
static void add_pbf_warning(Scanner *s, int error_code, const char *error, const char *sptr, const char *cptr)
394
0
{
395
0
  timelib_error_message *message = alloc_error_message(&s->errors->warning_messages, &s->errors->warning_count);
396
397
0
  message->error_code = error_code;
398
0
  message->position = cptr - sptr;
399
0
  message->character = *cptr;
400
0
  message->message = timelib_strdup(error);
401
0
}
402
403
static void add_pbf_error(Scanner *s, int error_code, const char *error, const char *sptr, const char *cptr)
404
0
{
405
0
  timelib_error_message *message = alloc_error_message(&s->errors->error_messages, &s->errors->error_count);
406
407
0
  message->error_code = error_code;
408
0
  message->position = cptr - sptr;
409
0
  message->character = *cptr;
410
0
  message->message = timelib_strdup(error);
411
0
}
412
413
static timelib_sll timelib_meridian(const char **ptr, timelib_sll h)
414
40.3k
{
415
40.3k
  timelib_sll retval = 0;
416
417
46.8k
  while (!strchr("AaPp", **ptr)) {
418
6.50k
    ++*ptr;
419
6.50k
  }
420
40.3k
  if (**ptr == 'a' || **ptr == 'A') {
421
30.3k
    if (h == 12) {
422
1.01k
      retval = -12;
423
1.01k
    }
424
30.3k
  } else if (h != 12) {
425
9.32k
    retval = 12;
426
9.32k
  }
427
40.3k
  ++*ptr;
428
40.3k
  if (**ptr == '.') {
429
10.3k
    ++*ptr;
430
10.3k
  }
431
40.3k
  if (**ptr == 'M' || **ptr == 'm') {
432
36.1k
    ++*ptr;
433
36.1k
  }
434
40.3k
  if (**ptr == '.') {
435
13.4k
    ++*ptr;
436
13.4k
  }
437
40.3k
  return retval;
438
40.3k
}
439
440
static timelib_sll timelib_meridian_with_check(const char **ptr, timelib_sll h)
441
0
{
442
0
  timelib_sll retval = 0;
443
444
0
  while (**ptr && !strchr("AaPp", **ptr)) {
445
0
    ++*ptr;
446
0
  }
447
0
  if(!**ptr) {
448
0
    return TIMELIB_UNSET;
449
0
  }
450
0
  if (**ptr == 'a' || **ptr == 'A') {
451
0
    if (h == 12) {
452
0
      retval = -12;
453
0
    }
454
0
  } else if (h != 12) {
455
0
    retval = 12;
456
0
  }
457
0
  ++*ptr;
458
0
  if (**ptr == '.') {
459
0
    ++*ptr;
460
0
    if (**ptr != 'm' && **ptr != 'M') {
461
0
      return TIMELIB_UNSET;
462
0
    }
463
0
    ++*ptr;
464
0
    if (**ptr != '.' ) {
465
0
      return TIMELIB_UNSET;
466
0
    }
467
0
    ++*ptr;
468
0
  } else if (**ptr == 'm' || **ptr == 'M') {
469
0
    ++*ptr;
470
0
  } else {
471
0
    return TIMELIB_UNSET;
472
0
  }
473
0
  return retval;
474
0
}
475
476
static char *timelib_string(Scanner *s)
477
68.5M
{
478
68.5M
  char *tmp = timelib_calloc(1, s->cur - s->tok + 1);
479
68.5M
  memcpy(tmp, s->tok, s->cur - s->tok);
480
481
68.5M
  return tmp;
482
68.5M
}
483
484
static timelib_sll timelib_get_nr_ex(const char **ptr, int max_length, int *scanned_length)
485
5.14M
{
486
5.14M
  const char *begin, *end;
487
5.14M
  char *str;
488
5.14M
  timelib_sll tmp_nr = TIMELIB_UNSET;
489
5.14M
  int len = 0;
490
491
7.05M
  while ((**ptr < '0') || (**ptr > '9')) {
492
1.94M
    if (**ptr == '\0') {
493
39.7k
      return TIMELIB_UNSET;
494
39.7k
    }
495
1.90M
    ++*ptr;
496
1.90M
  }
497
498
5.10M
  begin = *ptr;
499
19.9M
  while ((**ptr >= '0') && (**ptr <= '9') && len < max_length) {
500
14.8M
    ++*ptr;
501
14.8M
    ++len;
502
14.8M
  }
503
5.10M
  end = *ptr;
504
5.10M
  if (scanned_length) {
505
169k
    *scanned_length = end - begin;
506
169k
  }
507
5.10M
  str = timelib_calloc(1, end - begin + 1);
508
5.10M
  memcpy(str, begin, end - begin);
509
5.10M
  tmp_nr = strtoll(str, NULL, 10);
510
5.10M
  timelib_free(str);
511
5.10M
  return tmp_nr;
512
5.14M
}
513
514
static timelib_sll timelib_get_nr(const char **ptr, int max_length)
515
4.95M
{
516
4.95M
  return timelib_get_nr_ex(ptr, max_length, NULL);
517
4.95M
}
518
519
static void timelib_skip_day_suffix(const char **ptr)
520
67.9k
{
521
67.9k
  if (isspace((unsigned char)**ptr)) {
522
2.99k
    return;
523
2.99k
  }
524
64.9k
  if (!timelib_strncasecmp(*ptr, "nd", 2) || !timelib_strncasecmp(*ptr, "rd", 2) ||!timelib_strncasecmp(*ptr, "st", 2) || !timelib_strncasecmp(*ptr, "th", 2)) {
525
6.71k
    *ptr += 2;
526
6.71k
  }
527
64.9k
}
528
529
static timelib_sll timelib_get_frac_nr(const char **ptr)
530
16.6k
{
531
16.6k
  const char *begin, *end;
532
16.6k
  char *str;
533
16.6k
  double tmp_nr = TIMELIB_UNSET;
534
535
16.6k
  while ((**ptr != '.') && (**ptr != ':') && ((**ptr < '0') || (**ptr > '9'))) {
536
0
    if (**ptr == '\0') {
537
0
      return TIMELIB_UNSET;
538
0
    }
539
0
    ++*ptr;
540
0
  }
541
16.6k
  begin = *ptr;
542
74.4k
  while ((**ptr == '.') || (**ptr == ':') || ((**ptr >= '0') && (**ptr <= '9'))) {
543
57.8k
    ++*ptr;
544
57.8k
  }
545
16.6k
  end = *ptr;
546
16.6k
  str = timelib_calloc(1, end - begin);
547
16.6k
  memcpy(str, begin + 1, end - begin - 1);
548
16.6k
  tmp_nr = strtod(str, NULL) * pow(10, 7 - (end - begin));
549
16.6k
  timelib_free(str);
550
16.6k
  return tmp_nr;
551
16.6k
}
552
553
static timelib_ull timelib_get_signed_nr(Scanner *s, const char **ptr, int max_length)
554
267k
{
555
267k
  char *str, *str_ptr;
556
267k
  timelib_sll tmp_nr = 0;
557
267k
  int len = 0;
558
559
  /* Skip over non-numeric chars */
560
561
283k
  while (((**ptr < '0') || (**ptr > '9')) && (**ptr != '+') && (**ptr != '-')) {
562
15.4k
    if (**ptr == '\0') {
563
23
      add_error(s, TIMELIB_ERR_UNEXPECTED_DATA, "Found unexpected data");
564
23
      return 0;
565
23
    }
566
15.4k
    ++*ptr;
567
15.4k
  }
568
  
569
  /* Allocate string to feed to strtoll(): sign + length + '\0' */
570
267k
  str = timelib_calloc(1, max_length + 2);
571
267k
  str[0] = '+'; /* First position is the sign */
572
267k
  str_ptr = str + 1;
573
574
319k
  while ((**ptr == '+') || (**ptr == '-')) {
575
51.4k
    if (**ptr == '-') {
576
43.8k
      str[0] = str[0] == '+' ? '-' : '+';
577
43.8k
    }
578
51.4k
    ++*ptr;
579
51.4k
  }
580
581
269k
  while (((**ptr < '0') || (**ptr > '9'))) {
582
1.58k
    if (**ptr == '\0') {
583
0
      timelib_free(str);
584
0
      add_error(s, TIMELIB_ERR_UNEXPECTED_DATA, "Found unexpected data");
585
0
      return 0;
586
0
    }
587
1.58k
    ++*ptr;
588
1.58k
  }
589
590
913k
  while ((**ptr >= '0') && (**ptr <= '9') && len < max_length) {
591
646k
    *str_ptr = **ptr;
592
646k
    ++*ptr;
593
646k
    ++str_ptr;
594
646k
    ++len;
595
646k
  }
596
597
267k
  errno = 0;
598
267k
  tmp_nr = strtoll(str, NULL, 10);
599
267k
  if (errno == ERANGE) {
600
6
    timelib_free(str);
601
6
    add_error(s, TIMELIB_ERR_NUMBER_OUT_OF_RANGE, "Number out of range");
602
6
    return 0;
603
6
  }
604
605
267k
  timelib_free(str);
606
607
267k
  return tmp_nr;
608
267k
}
609
610
static timelib_sll timelib_lookup_relative_text(const char **ptr, int *behavior)
611
214k
{
612
214k
  char *word;
613
214k
  const char *begin = *ptr, *end;
614
214k
  timelib_sll  value = 0;
615
214k
  const timelib_lookup_table *tp;
616
617
1.19M
  while ((**ptr >= 'A' && **ptr <= 'Z') || (**ptr >= 'a' && **ptr <= 'z')) {
618
983k
    ++*ptr;
619
983k
  }
620
214k
  end = *ptr;
621
214k
  word = timelib_calloc(1, end - begin + 1);
622
214k
  memcpy(word, begin, end - begin);
623
624
3.86M
  for (tp = timelib_reltext_lookup; tp->name; tp++) {
625
3.65M
    if (timelib_strcasecmp(word, tp->name) == 0) {
626
214k
      value = tp->value;
627
214k
      *behavior = tp->type;
628
214k
    }
629
3.65M
  }
630
631
214k
  timelib_free(word);
632
214k
  return value;
633
214k
}
634
635
static timelib_sll timelib_get_relative_text(const char **ptr, int *behavior)
636
214k
{
637
214k
  while (**ptr == ' ' || **ptr == '\t' || **ptr == '-' || **ptr == '/') {
638
0
    ++*ptr;
639
0
  }
640
214k
  return timelib_lookup_relative_text(ptr, behavior);
641
214k
}
642
643
static timelib_long timelib_lookup_month(const char **ptr)
644
362k
{
645
362k
  char *word;
646
362k
  const char *begin = *ptr, *end;
647
362k
  timelib_long  value = 0;
648
362k
  const timelib_lookup_table *tp;
649
650
970k
  while ((**ptr >= 'A' && **ptr <= 'Z') || (**ptr >= 'a' && **ptr <= 'z')) {
651
607k
    ++*ptr;
652
607k
  }
653
362k
  end = *ptr;
654
362k
  word = timelib_calloc(1, end - begin + 1);
655
362k
  memcpy(word, begin, end - begin);
656
657
13.7M
  for (tp = timelib_month_lookup; tp->name; tp++) {
658
13.4M
    if (timelib_strcasecmp(word, tp->name) == 0) {
659
379k
      value = tp->value;
660
379k
    }
661
13.4M
  }
662
663
362k
  timelib_free(word);
664
362k
  return value;
665
362k
}
666
667
static timelib_long timelib_get_month(const char **ptr)
668
311k
{
669
341k
  while (**ptr == ' ' || **ptr == '\t' || **ptr == '-' || **ptr == '.' || **ptr == '/') {
670
29.4k
    ++*ptr;
671
29.4k
  }
672
311k
  return timelib_lookup_month(ptr);
673
311k
}
674
675
static void timelib_eat_spaces(const char **ptr)
676
537k
{
677
923k
  do {
678
923k
    if (**ptr == ' ' || **ptr == '\t') {
679
319k
      ++*ptr;
680
319k
      continue;
681
319k
    }
682
604k
    if ((*ptr)[0] == '\xe2' && (*ptr)[1] == '\x80' && (*ptr)[2] == '\xaf') { // NNBSP
683
24.0k
      *ptr += 3;
684
24.0k
      continue;
685
24.0k
    }
686
580k
    if ((*ptr)[0] == '\xc2' && (*ptr)[1] == '\xa0') { // NBSP
687
42.7k
      *ptr += 2;
688
42.7k
      continue;
689
42.7k
    }
690
537k
    break;
691
580k
  } while (true);
692
537k
}
693
694
static void timelib_eat_until_separator(const char **ptr)
695
0
{
696
0
  ++*ptr;
697
0
  while (strchr(" \t.,:;/-0123456789", **ptr) == NULL) {
698
0
    ++*ptr;
699
0
  }
700
0
}
701
702
static const timelib_relunit* timelib_lookup_relunit(const char **ptr)
703
811k
{
704
811k
  char *word;
705
811k
  const char *begin = *ptr, *end;
706
811k
  const timelib_relunit *tp, *value = NULL;
707
708
3.91M
  while (**ptr != '\0' && **ptr != ' ' && **ptr != ',' && **ptr != '\t' && **ptr != ';' && **ptr != ':' &&
709
3.09M
    **ptr != '/' && **ptr != '.' && **ptr != '-' && **ptr != '(' && **ptr != ')' ) {
710
3.09M
    ++*ptr;
711
3.09M
  }
712
811k
  end = *ptr;
713
811k
  word = timelib_calloc(1, end - begin + 1);
714
811k
  memcpy(word, begin, end - begin);
715
716
30.6M
  for (tp = timelib_relunit_lookup; tp->name; tp++) {
717
30.6M
    if (timelib_strcasecmp(word, tp->name) == 0) {
718
809k
      value = tp;
719
809k
      break;
720
809k
    }
721
30.6M
  }
722
723
811k
  timelib_free(word);
724
811k
  return value;
725
811k
}
726
727
static void add_with_overflow(Scanner *s, timelib_sll *e, timelib_sll amount, int multiplier)
728
226k
{
729
226k
#if TIMELIB_HAVE_BUILTIN_SADDLL_OVERFLOW
730
226k
  if (__builtin_saddll_overflow(*e, amount * multiplier, e)) {
731
20
    add_error(s, TIMELIB_ERR_NUMBER_OUT_OF_RANGE, "Number out of range");
732
20
  }
733
#else
734
  *e += (amount * multiplier);
735
#endif
736
226k
}
737
738
/**
739
 * The time_part parameter is a flag. It can be TIMELIB_TIME_PART_KEEP in case
740
 * the time portion should not be reset to midnight, or
741
 * TIMELIB_TIME_PART_DONT_KEEP in case it does need to be reset. This is used
742
 * for not overwriting the time portion for 'X weekday'.
743
 */
744
static void timelib_set_relative(const char **ptr, timelib_sll amount, int behavior, Scanner *s, int time_part)
745
473k
{
746
473k
  const timelib_relunit* relunit;
747
748
473k
  if (!(relunit = timelib_lookup_relunit(ptr))) {
749
2.41k
    return;
750
2.41k
  }
751
752
470k
  switch (relunit->unit) {
753
30.7k
    case TIMELIB_MICROSEC: add_with_overflow(s, &s->time->relative.us, amount, relunit->multiplier); break;
754
78.0k
    case TIMELIB_SECOND:   add_with_overflow(s, &s->time->relative.s, amount, relunit->multiplier); break;
755
38.9k
    case TIMELIB_MINUTE:   add_with_overflow(s, &s->time->relative.i, amount, relunit->multiplier); break;
756
12.2k
    case TIMELIB_HOUR:     add_with_overflow(s, &s->time->relative.h, amount, relunit->multiplier); break;
757
59.0k
    case TIMELIB_DAY:      add_with_overflow(s, &s->time->relative.d, amount, relunit->multiplier); break;
758
3.67k
    case TIMELIB_MONTH:    add_with_overflow(s, &s->time->relative.m, amount, relunit->multiplier); break;
759
3.52k
    case TIMELIB_YEAR:     add_with_overflow(s, &s->time->relative.y, amount, relunit->multiplier); break;
760
761
236k
    case TIMELIB_WEEKDAY:
762
236k
      TIMELIB_HAVE_WEEKDAY_RELATIVE();
763
236k
      if (time_part != TIMELIB_TIME_PART_KEEP) {
764
136k
        TIMELIB_UNHAVE_TIME();
765
136k
      }
766
236k
      s->time->relative.d += (amount > 0 ? amount - 1 : amount) * 7;
767
236k
      s->time->relative.weekday = relunit->multiplier;
768
236k
      s->time->relative.weekday_behavior = behavior;
769
236k
      break;
770
771
7.86k
    case TIMELIB_SPECIAL:
772
7.86k
      TIMELIB_HAVE_SPECIAL_RELATIVE();
773
7.86k
      if (time_part != TIMELIB_TIME_PART_KEEP) {
774
4.08k
        TIMELIB_UNHAVE_TIME();
775
4.08k
      }
776
7.86k
      s->time->relative.special.type = relunit->multiplier;
777
7.86k
      s->time->relative.special.amount = amount;
778
470k
  }
779
470k
}
780
781
static const timelib_tz_lookup_table* abbr_search(const char *word, timelib_long gmtoffset, int isdst)
782
100k
{
783
100k
  int first_found = 0;
784
100k
  const timelib_tz_lookup_table  *tp, *first_found_elem = NULL;
785
100k
  const timelib_tz_lookup_table  *fmp;
786
787
100k
  if (timelib_strcasecmp("utc", word) == 0 || timelib_strcasecmp("gmt", word) == 0) {
788
9.85k
    return timelib_timezone_utc;
789
9.85k
  }
790
791
101M
  for (tp = timelib_timezone_lookup; tp->name; tp++) {
792
101M
    if (timelib_strcasecmp(word, tp->name) == 0) {
793
23.9k
      if (!first_found) {
794
23.9k
        first_found = 1;
795
23.9k
        first_found_elem = tp;
796
23.9k
        if (gmtoffset == -1) {
797
23.9k
          return tp;
798
23.9k
        }
799
23.9k
      }
800
0
      if (tp->gmtoffset == gmtoffset) {
801
0
        return tp;
802
0
      }
803
0
    }
804
101M
  }
805
66.8k
  if (first_found) {
806
0
    return first_found_elem;
807
0
  }
808
809
  /* Still didn't find anything, let's find the zone solely based on
810
   * offset/isdst then */
811
2.87M
  for (fmp = timelib_timezone_fallbackmap; fmp->name; fmp++) {
812
2.80M
    if (fmp->gmtoffset == gmtoffset && fmp->type == isdst) {
813
0
      return fmp;
814
0
    }
815
2.80M
  }
816
66.8k
  return NULL;
817
66.8k
}
818
819
static timelib_long timelib_lookup_abbr(const char **ptr, int *dst, char **tz_abbr, int *found)
820
108k
{
821
108k
  char *word;
822
108k
  const char *begin = *ptr, *end;
823
108k
  timelib_long  value = 0;
824
108k
  const timelib_tz_lookup_table *tp;
825
826
  /* Only include A-Z, a-z, 0-9, /, _, and - in abbreviations/TZ IDs */
827
108k
  while (
828
377k
    (**ptr >= 'A' && **ptr <= 'Z') ||
829
256k
    (**ptr >= 'a' && **ptr <= 'z') ||
830
117k
    (**ptr >= '0' && **ptr <= '9') ||
831
117k
    **ptr == '/' || **ptr == '_' || **ptr == '-' || **ptr == '+'
832
268k
  ) {
833
268k
    ++*ptr;
834
268k
  }
835
108k
  end = *ptr;
836
108k
  word = timelib_calloc(1, end - begin + 1);
837
108k
  memcpy(word, begin, end - begin);
838
839
108k
  if (end - begin < MAX_ABBR_LEN && (tp = abbr_search(word, -1, 0))) {
840
33.7k
    value = tp->gmtoffset;
841
33.7k
    *dst = tp->type;
842
33.7k
    value -= tp->type * 3600;
843
33.7k
    *found = 1;
844
75.0k
  } else {
845
75.0k
    *found = 0;
846
75.0k
  }
847
848
108k
  *tz_abbr = word;
849
108k
  return value;
850
108k
}
851
852
22.2k
#define sHOUR(a) (int)(a * 3600)
853
14.3k
#define sMIN(a) (int)(a * 60)
854
855
static timelib_long timelib_parse_tz_cor(const char **ptr, int *tz_not_found)
856
22.2k
{
857
22.2k
  const char *begin = *ptr, *end;
858
22.2k
  timelib_long  tmp;
859
860
22.2k
  *tz_not_found = 1;
861
862
93.3k
  while (isdigit((unsigned char)**ptr) || **ptr == ':') {
863
71.1k
    ++*ptr;
864
71.1k
  }
865
22.2k
  end = *ptr;
866
22.2k
  switch (end - begin) {
867
3.63k
    case 1: /* H */
868
7.94k
    case 2: /* HH */
869
7.94k
      *tz_not_found = 0;
870
7.94k
      return sHOUR(strtol(begin, NULL, 10));
871
872
4.55k
    case 3: /* H:M */
873
10.5k
    case 4: /* H:MM, HH:M, HHMM */
874
10.5k
      if (begin[1] == ':') {
875
1.56k
        *tz_not_found = 0;
876
1.56k
        tmp = sHOUR(strtol(begin, NULL, 10)) + sMIN(strtol(begin + 2, NULL, 10));
877
1.56k
        return tmp;
878
9.00k
      } else if (begin[2] == ':') {
879
1.46k
        *tz_not_found = 0;
880
1.46k
        tmp = sHOUR(strtol(begin, NULL, 10)) + sMIN(strtol(begin + 3, NULL, 10));
881
1.46k
        return tmp;
882
7.53k
      } else {
883
7.53k
        *tz_not_found = 0;
884
7.53k
        tmp = strtol(begin, NULL, 10);
885
7.53k
        return sHOUR(tmp / 100) + sMIN(tmp % 100);
886
7.53k
      }
887
888
2.22k
    case 5: /* HH:MM */
889
2.22k
      if (begin[2] != ':') {
890
0
        break;
891
0
      }
892
893
2.22k
      *tz_not_found = 0;
894
2.22k
      tmp = sHOUR(strtol(begin, NULL, 10)) + sMIN(strtol(begin + 3, NULL, 10));
895
2.22k
      return tmp;
896
897
1.11k
    case 6: /* HHMMSS */
898
1.11k
      *tz_not_found = 0;
899
1.11k
      tmp = strtol(begin, NULL, 10);
900
1.11k
      tmp = sHOUR(tmp / 10000) + sMIN((tmp / 100) % 100) + (tmp % 100);
901
1.11k
      return tmp;
902
903
418
    case 8: /* HH:MM:SS */
904
418
      if (begin[2] != ':' || begin[5] != ':') {
905
0
        break;
906
0
      }
907
908
418
      *tz_not_found = 0;
909
418
      tmp = sHOUR(strtol(begin, NULL, 10)) + sMIN(strtol(begin + 3, NULL, 10)) + strtol(begin + 6, NULL, 10);
910
418
      return tmp;
911
912
22.2k
  }
913
0
  return 0;
914
22.2k
}
915
916
static timelib_long timelib_parse_tz_minutes(const char **ptr, timelib_time *t)
917
0
{
918
0
  timelib_long retval = TIMELIB_UNSET;
919
0
  const char *begin = *ptr;
920
921
  /* First character must be +/- */
922
0
  if (**ptr != '+' && **ptr != '-') {
923
0
    return retval;
924
0
  }
925
926
0
  ++*ptr;
927
0
  while (isdigit((unsigned char)**ptr)) {
928
0
    ++*ptr;
929
0
  }
930
931
0
  if (*begin == '+') {
932
0
    t->is_localtime = 1;
933
0
    t->zone_type = TIMELIB_ZONETYPE_OFFSET;
934
0
    t->dst = 0;
935
936
0
    retval = sMIN(strtol(begin + 1, NULL, 10));
937
0
  } else if (*begin == '-') {
938
0
    t->is_localtime = 1;
939
0
    t->zone_type = TIMELIB_ZONETYPE_OFFSET;
940
0
    t->dst = 0;
941
942
0
    retval = -1 * sMIN(strtol(begin + 1, NULL, 10));
943
0
  }
944
0
  return retval;
945
0
}
946
947
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)
948
131k
{
949
131k
  timelib_tzinfo *res;
950
131k
  timelib_long            retval = 0;
951
131k
  size_t paren_count = 0;
952
953
131k
  *tz_not_found = 0;
954
955
137k
  while (**ptr == ' ' || **ptr == '\t' || **ptr == '(') {
956
6.85k
    paren_count += **ptr == '(';
957
6.85k
    ++*ptr;
958
6.85k
  }
959
131k
  if ((*ptr)[0] == 'G' && (*ptr)[1] == 'M' && (*ptr)[2] == 'T' && ((*ptr)[3] == '+' || (*ptr)[3] == '-')) {
960
7.24k
    *ptr += 3;
961
7.24k
  }
962
131k
  if (**ptr == '+') {
963
15.6k
    ++*ptr;
964
15.6k
    t->is_localtime = 1;
965
15.6k
    t->zone_type = TIMELIB_ZONETYPE_OFFSET;
966
15.6k
    t->dst = 0;
967
968
15.6k
    retval = timelib_parse_tz_cor(ptr, tz_not_found);
969
115k
  } else if (**ptr == '-') {
970
6.65k
    ++*ptr;
971
6.65k
    t->is_localtime = 1;
972
6.65k
    t->zone_type = TIMELIB_ZONETYPE_OFFSET;
973
6.65k
    t->dst = 0;
974
975
6.65k
    retval = -1 * timelib_parse_tz_cor(ptr, tz_not_found);
976
108k
  } else {
977
108k
    int found = 0;
978
108k
    timelib_long offset = 0;
979
108k
    char *tz_abbr;
980
981
108k
    t->is_localtime = 1;
982
983
    /* First, we lookup by abbreviation only */
984
108k
    offset = timelib_lookup_abbr(ptr, dst, &tz_abbr, &found);
985
108k
    if (found) {
986
33.7k
      t->zone_type = TIMELIB_ZONETYPE_ABBR;
987
33.7k
      t->dst = *dst;
988
33.7k
      timelib_time_tz_abbr_update(t, tz_abbr);
989
33.7k
    }
990
991
    /* Otherwise, we look if we have a TimeZone identifier */
992
108k
    if (!found || strcmp("UTC", tz_abbr) == 0) {
993
78.8k
      int dummy_error_code;
994
995
78.8k
      if ((res = tz_wrapper(tz_abbr, tzdb, &dummy_error_code)) != NULL) {
996
8.09k
        t->tz_info = res;
997
8.09k
        t->zone_type = TIMELIB_ZONETYPE_ID;
998
8.09k
        found++;
999
8.09k
      }
1000
78.8k
    }
1001
108k
    timelib_free(tz_abbr);
1002
108k
    *tz_not_found = (found == 0);
1003
108k
    retval = offset;
1004
108k
  }
1005
131k
  while (paren_count > 0 && **ptr == ')') {
1006
69
    ++*ptr;
1007
69
    paren_count--;
1008
69
  }
1009
131k
  return retval;
1010
131k
}
1011
1012
#define timelib_split_free(arg) {       \
1013
  int i;                         \
1014
  for (i = 0; i < arg.c; i++) {  \
1015
    timelib_free(arg.v[i]);    \
1016
  }                              \
1017
  if (arg.v) {                   \
1018
    timelib_free(arg.v);       \
1019
  }                              \
1020
}
1021
1022
static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper)
1023
68.5M
{
1024
68.5M
  uchar *cursor = s->cur;
1025
68.5M
  char *str;
1026
68.5M
  const char *ptr = NULL;
1027
1028
246M
std:
1029
246M
  s->tok = cursor;
1030
246M
  s->len = 0;
1031
246M
#line 1161 "ext/date/lib/parse_date.re"
1032
1033
1034
1035
246M
#line 1036 "ext/date/lib/parse_date.c"
1036
246M
{
1037
246M
  YYCTYPE yych;
1038
246M
  unsigned int yyaccept = 0;
1039
246M
  static const unsigned char yybm[] = {
1040
246M
      0,   0,   0,   0,   0,   0,   0,   0, 
1041
246M
      0,  50,   0,   0,   0,   0,   0,   0, 
1042
246M
      0,   0,   0,   0,   0,   0,   0,   0, 
1043
246M
      0,   0,   0,   0,   0,   0,   0,   0, 
1044
246M
     50,   0,   0,   0,   0,   0,   0,   0, 
1045
246M
      0,   0,   0,   4,  32,  20,  48,   0, 
1046
246M
      8,   8,   8,   8,   8,   8,   8,   8, 
1047
246M
      8,   8,   0,   0,   0,   0,   0,   0, 
1048
246M
      0,  64,  64,  64,  64,  64,  64,  64, 
1049
246M
     64,  64,  64,  64,  64,  64,  64,  64, 
1050
246M
     64,  64,  64,  64,  64,  64,  64,  64, 
1051
246M
     64,  64,  64,   0,   0,   0,   0,   0, 
1052
246M
      0, 192, 192, 192, 224, 192, 192, 192, 
1053
246M
    224, 192, 192, 192, 192, 192, 224, 192, 
1054
246M
    192, 192, 224, 224, 224, 192, 192, 192, 
1055
246M
    192, 192, 192,   0,   0,   0,   0,   0, 
1056
246M
      0,   0,   0,   0,   0,   0,   0,   0, 
1057
246M
      0,   0,   0,   0,   0,   0,   0,   0, 
1058
246M
      0,   0,   0,   0,   0,   0,   0,   0, 
1059
246M
      0,   0,   0,   0,   0,   0,   0,   0, 
1060
246M
      0,   0,   0,   0,   0,   0,   0,   0, 
1061
246M
      0,   0,   0,   0,   0,   0,   0,   0, 
1062
246M
      0,   0,   0,   0,   0,   0,   0,   0, 
1063
246M
      0,   0,   0,   0,   0,   0,   0,   0, 
1064
246M
      0,   0,   0,   0,   0,   0,   0,   0, 
1065
246M
      0,   0,   0,   0,   0,   0,   0,   0, 
1066
246M
      0,   0,   0,   0,   0,   0,   0,   0, 
1067
246M
      0,   0,   0,   0,   0,   0,   0,   0, 
1068
246M
      0,   0,   0,   0,   0,   0,   0,   0, 
1069
246M
      0,   0,   0,   0,   0,   0,   0,   0, 
1070
246M
      0,   0,   0,   0,   0,   0,   0,   0, 
1071
246M
      0,   0,   0,   0,   0,   0,   0,   0, 
1072
246M
  };
1073
246M
  YYDEBUG(0, *YYCURSOR);
1074
246M
  if ((YYLIMIT - YYCURSOR) < 36) YYFILL(36);
1075
246M
  yych = *YYCURSOR;
1076
246M
  if (yybm[0+yych] & 2) {
1077
5.26M
    goto yy6;
1078
5.26M
  }
1079
241M
  if (yych <= 'R') {
1080
155M
    if (yych <= '?') {
1081
139M
      if (yych <= ',') {
1082
51.0M
        if (yych <= '\'') {
1083
45.9M
          if (yych <= 0x00) goto yy2;
1084
24.0M
          if (yych <= 0x08) goto yy4;
1085
19.1M
          if (yych >= '\v') goto yy4;
1086
19.1M
        } else {
1087
5.07M
          if (yych <= '(') goto yy9;
1088
4.61M
          if (yych <= '*') goto yy4;
1089
3.09M
          if (yych <= '+') goto yy10;
1090
546k
          goto yy11;
1091
3.09M
        }
1092
88.9M
      } else {
1093
88.9M
        if (yych <= '0') {
1094
25.9M
          if (yych <= '-') goto yy10;
1095
18.0M
          if (yych <= '.') goto yy11;
1096
15.4M
          if (yych <= '/') goto yy4;
1097
12.7M
          goto yy13;
1098
63.0M
        } else {
1099
63.0M
          if (yych <= '2') {
1100
16.9M
            if (yych <= '1') goto yy14;
1101
6.12M
            goto yy15;
1102
46.0M
          } else {
1103
46.0M
            if (yych <= '3') goto yy16;
1104
42.8M
            if (yych <= '9') goto yy17;
1105
27.2M
            goto yy4;
1106
42.8M
          }
1107
63.0M
        }
1108
88.9M
      }
1109
139M
    } else {
1110
15.5M
      if (yych <= 'H') {
1111
8.22M
        if (yych <= 'C') {
1112
3.57M
          if (yych <= '@') goto yy18;
1113
2.45M
          if (yych <= 'A') goto yy19;
1114
813k
          if (yych <= 'B') goto yy21;
1115
351k
          goto yy22;
1116
4.64M
        } else {
1117
4.64M
          if (yych <= 'E') {
1118
2.42M
            if (yych <= 'D') goto yy23;
1119
1.26M
            goto yy24;
1120
2.42M
          } else {
1121
2.21M
            if (yych <= 'F') goto yy25;
1122
843k
            if (yych <= 'G') goto yy26;
1123
342k
            goto yy22;
1124
843k
          }
1125
4.64M
        }
1126
8.22M
      } else {
1127
7.27M
        if (yych <= 'L') {
1128
2.04M
          if (yych <= 'I') goto yy27;
1129
1.26M
          if (yych <= 'J') goto yy28;
1130
542k
          if (yych <= 'K') goto yy22;
1131
456k
          goto yy29;
1132
5.23M
        } else {
1133
5.23M
          if (yych <= 'N') {
1134
2.16M
            if (yych <= 'M') goto yy30;
1135
1.00M
            goto yy31;
1136
3.07M
          } else {
1137
3.07M
            if (yych <= 'O') goto yy32;
1138
1.57M
            if (yych <= 'P') goto yy33;
1139
825k
            goto yy22;
1140
1.57M
          }
1141
5.23M
        }
1142
7.27M
      }
1143
15.5M
    }
1144
155M
  } else {
1145
85.7M
    if (yych <= 'k') {
1146
27.5M
      if (yych <= '`') {
1147
14.2M
        if (yych <= 'V') {
1148
6.68M
          if (yych <= 'S') goto yy34;
1149
4.33M
          if (yych <= 'T') goto yy35;
1150
1.90M
          if (yych <= 'U') goto yy22;
1151
1.62M
          goto yy36;
1152
7.59M
        } else {
1153
7.59M
          if (yych <= 'X') {
1154
1.24M
            if (yych <= 'W') goto yy37;
1155
333k
            goto yy38;
1156
6.35M
          } else {
1157
6.35M
            if (yych <= 'Y') goto yy39;
1158
5.83M
            if (yych <= 'Z') goto yy22;
1159
5.75M
            goto yy4;
1160
5.83M
          }
1161
7.59M
        }
1162
14.2M
      } else {
1163
13.2M
        if (yych <= 'd') {
1164
4.67M
          if (yych <= 'a') goto yy40;
1165
2.81M
          if (yych <= 'b') goto yy41;
1166
2.55M
          if (yych <= 'c') goto yy42;
1167
2.23M
          goto yy43;
1168
8.61M
        } else {
1169
8.61M
          if (yych <= 'f') {
1170
3.23M
            if (yych <= 'e') goto yy44;
1171
940k
            goto yy45;
1172
5.37M
          } else {
1173
5.37M
            if (yych == 'j') goto yy46;
1174
4.72M
            goto yy42;
1175
5.37M
          }
1176
8.61M
        }
1177
13.2M
      }
1178
58.1M
    } else {
1179
58.1M
      if (yych <= 'v') {
1180
16.1M
        if (yych <= 'o') {
1181
4.94M
          if (yych <= 'l') goto yy47;
1182
3.96M
          if (yych <= 'm') goto yy48;
1183
2.89M
          if (yych <= 'n') goto yy49;
1184
1.22M
          goto yy50;
1185
11.1M
        } else {
1186
11.1M
          if (yych <= 'r') {
1187
2.68M
            if (yych <= 'p') goto yy51;
1188
1.90M
            goto yy42;
1189
8.51M
          } else {
1190
8.51M
            if (yych <= 's') goto yy52;
1191
4.07M
            if (yych <= 't') goto yy53;
1192
1.13M
            goto yy42;
1193
4.07M
          }
1194
11.1M
        }
1195
42.0M
      } else {
1196
42.0M
        if (yych <= 'z') {
1197
1.27M
          if (yych <= 'w') goto yy54;
1198
878k
          if (yych == 'y') goto yy55;
1199
410k
          goto yy42;
1200
40.7M
        } else {
1201
40.7M
          if (yych <= 0xC2) {
1202
19.0M
            if (yych <= 0xC1) goto yy4;
1203
1.18M
            goto yy56;
1204
21.7M
          } else {
1205
21.7M
            if (yych == 0xE2) goto yy57;
1206
20.7M
            goto yy4;
1207
21.7M
          }
1208
40.7M
        }
1209
42.0M
      }
1210
58.1M
    }
1211
85.7M
  }
1212
22.0M
yy2:
1213
22.0M
  YYDEBUG(2, *YYCURSOR);
1214
22.0M
  ++YYCURSOR;
1215
22.0M
  YYDEBUG(3, *YYCURSOR);
1216
22.0M
#line 1994 "ext/date/lib/parse_date.re"
1217
22.0M
  {
1218
22.0M
    s->pos = cursor; s->line++;
1219
22.0M
    goto std;
1220
241M
  }
1221
0
#line 1222 "ext/date/lib/parse_date.c"
1222
99.6M
yy4:
1223
99.6M
  YYDEBUG(4, *YYCURSOR);
1224
99.6M
  ++YYCURSOR;
1225
146M
yy5:
1226
146M
  YYDEBUG(5, *YYCURSOR);
1227
146M
#line 2000 "ext/date/lib/parse_date.re"
1228
146M
  {
1229
146M
    add_error(s, TIMELIB_ERR_UNEXPECTED_CHARACTER, "Unexpected character");
1230
146M
    goto std;
1231
99.6M
  }
1232
0
#line 1233 "ext/date/lib/parse_date.c"
1233
7.04M
yy6:
1234
7.04M
  YYDEBUG(6, *YYCURSOR);
1235
7.04M
  yyaccept = 0;
1236
7.04M
  YYMARKER = ++YYCURSOR;
1237
7.04M
  if ((YYLIMIT - YYCURSOR) < 25) YYFILL(25);
1238
7.04M
  yych = *YYCURSOR;
1239
7.04M
  YYDEBUG(7, *YYCURSOR);
1240
7.04M
  if (yybm[0+yych] & 2) {
1241
1.77M
    goto yy6;
1242
1.77M
  }
1243
5.26M
  if (yych <= '/') goto yy8;
1244
4.27M
  if (yych <= '9') goto yy58;
1245
6.25M
yy8:
1246
6.25M
  YYDEBUG(8, *YYCURSOR);
1247
6.25M
#line 1989 "ext/date/lib/parse_date.re"
1248
6.25M
  {
1249
6.25M
    goto std;
1250
4.27M
  }
1251
0
#line 1252 "ext/date/lib/parse_date.c"
1252
459k
yy9:
1253
459k
  YYDEBUG(9, *YYCURSOR);
1254
459k
  yych = *++YYCURSOR;
1255
459k
  if (yych <= '@') goto yy5;
1256
182k
  if (yych <= 'Z') goto yy42;
1257
141k
  if (yych <= '`') goto yy5;
1258
131k
  if (yych <= 'z') goto yy42;
1259
41.2k
  goto yy5;
1260
10.3M
yy10:
1261
10.3M
  YYDEBUG(10, *YYCURSOR);
1262
10.3M
  yyaccept = 1;
1263
10.3M
  yych = *(YYMARKER = ++YYCURSOR);
1264
10.3M
  if (yybm[0+yych] & 4) {
1265
2.11M
    goto yy62;
1266
2.11M
  }
1267
8.28M
  if (yych <= ' ') {
1268
494k
    if (yych == '\t') goto yy60;
1269
420k
    if (yych <= 0x1F) goto yy5;
1270
74.8k
    goto yy60;
1271
7.78M
  } else {
1272
7.78M
    if (yych <= '1') {
1273
2.23M
      if (yych <= '/') goto yy5;
1274
1.77M
      goto yy64;
1275
5.55M
    } else {
1276
5.55M
      if (yych <= '2') goto yy65;
1277
4.75M
      if (yych <= '9') goto yy66;
1278
3.35M
      goto yy5;
1279
4.75M
    }
1280
7.78M
  }
1281
3.21M
yy11:
1282
3.21M
  YYDEBUG(11, *YYCURSOR);
1283
3.21M
  ++YYCURSOR;
1284
3.21M
  YYDEBUG(12, *YYCURSOR);
1285
3.21M
#line 1984 "ext/date/lib/parse_date.re"
1286
3.21M
  {
1287
3.21M
    goto std;
1288
8.28M
  }
1289
0
#line 1290 "ext/date/lib/parse_date.c"
1290
12.7M
yy13:
1291
12.7M
  YYDEBUG(13, *YYCURSOR);
1292
12.7M
  yyaccept = 1;
1293
12.7M
  yych = *(YYMARKER = ++YYCURSOR);
1294
12.7M
  if (yych <= 'a') {
1295
10.6M
    if (yych <= '@') {
1296
9.36M
      if (yych <= '-') {
1297
1.82M
        if (yych <= 0x1F) {
1298
606k
          if (yych == '\t') goto yy67;
1299
518k
          goto yy5;
1300
1.21M
        } else {
1301
1.21M
          if (yych <= ' ') goto yy69;
1302
1.05M
          if (yych <= ',') goto yy5;
1303
615k
          goto yy70;
1304
1.05M
        }
1305
7.53M
      } else {
1306
7.53M
        if (yych <= '0') {
1307
3.93M
          if (yych <= '.') goto yy71;
1308
3.61M
          if (yych <= '/') goto yy72;
1309
3.38M
          goto yy73;
1310
3.61M
        } else {
1311
3.60M
          if (yych <= '9') goto yy74;
1312
1.32M
          if (yych <= ':') goto yy75;
1313
730k
          goto yy5;
1314
1.32M
        }
1315
7.53M
      }
1316
9.36M
    } else {
1317
1.32M
      if (yych <= 'G') {
1318
404k
        if (yych <= 'D') {
1319
185k
          if (yych <= 'A') goto yy69;
1320
68.2k
          if (yych <= 'C') goto yy5;
1321
26.0k
          goto yy69;
1322
218k
        } else {
1323
218k
          if (yych == 'F') goto yy69;
1324
114k
          goto yy5;
1325
218k
        }
1326
917k
      } else {
1327
917k
        if (yych <= 'O') {
1328
327k
          if (yych <= 'J') goto yy69;
1329
245k
          if (yych <= 'L') goto yy5;
1330
176k
          goto yy69;
1331
590k
        } else {
1332
590k
          if (yych <= 'R') goto yy5;
1333
523k
          if (yych <= 'Y') goto yy69;
1334
161k
          if (yych <= '`') goto yy5;
1335
65.6k
          goto yy69;
1336
161k
        }
1337
917k
      }
1338
1.32M
    }
1339
10.6M
  } else {
1340
2.06M
    if (yych <= 'q') {
1341
747k
      if (yych <= 'h') {
1342
334k
        if (yych <= 'e') {
1343
206k
          if (yych == 'd') goto yy69;
1344
140k
          goto yy5;
1345
206k
        } else {
1346
127k
          if (yych == 'g') goto yy5;
1347
87.2k
          goto yy69;
1348
127k
        }
1349
413k
      } else {
1350
413k
        if (yych <= 'l') {
1351
138k
          if (yych == 'j') goto yy69;
1352
115k
          goto yy5;
1353
274k
        } else {
1354
274k
          if (yych == 'n') goto yy93;
1355
176k
          if (yych <= 'o') goto yy69;
1356
51.5k
          goto yy5;
1357
176k
        }
1358
413k
      }
1359
1.31M
    } else {
1360
1.31M
      if (yych <= 'w') {
1361
389k
        if (yych <= 't') {
1362
312k
          if (yych <= 'r') goto yy94;
1363
214k
          if (yych <= 's') goto yy95;
1364
132k
          goto yy96;
1365
214k
        } else {
1366
76.3k
          if (yych == 'v') goto yy5;
1367
37.7k
          goto yy69;
1368
76.3k
        }
1369
924k
      } else {
1370
924k
        if (yych <= 0xC1) {
1371
398k
          if (yych == 'y') goto yy69;
1372
345k
          goto yy5;
1373
525k
        } else {
1374
525k
          if (yych <= 0xC2) goto yy97;
1375
478k
          if (yych == 0xE2) goto yy98;
1376
424k
          goto yy5;
1377
478k
        }
1378
924k
      }
1379
1.31M
    }
1380
2.06M
  }
1381
10.8M
yy14:
1382
10.8M
  YYDEBUG(14, *YYCURSOR);
1383
10.8M
  yyaccept = 1;
1384
10.8M
  yych = *(YYMARKER = ++YYCURSOR);
1385
10.8M
  if (yych <= 'a') {
1386
9.36M
    if (yych <= '@') {
1387
8.57M
      if (yych <= '-') {
1388
993k
        if (yych <= 0x1F) {
1389
388k
          if (yych == '\t') goto yy99;
1390
337k
          goto yy5;
1391
605k
        } else {
1392
605k
          if (yych <= ' ') goto yy101;
1393
539k
          if (yych <= ',') goto yy5;
1394
242k
          goto yy70;
1395
539k
        }
1396
7.57M
      } else {
1397
7.57M
        if (yych <= '2') {
1398
3.65M
          if (yych <= '.') goto yy102;
1399
3.48M
          if (yych <= '/') goto yy72;
1400
3.21M
          goto yy74;
1401
3.92M
        } else {
1402
3.92M
          if (yych <= '9') goto yy103;
1403
2.70M
          if (yych <= ':') goto yy104;
1404
827k
          goto yy5;
1405
2.70M
        }
1406
7.57M
      }
1407
8.57M
    } else {
1408
792k
      if (yych <= 'G') {
1409
235k
        if (yych <= 'D') {
1410
103k
          if (yych <= 'A') goto yy101;
1411
37.8k
          if (yych <= 'C') goto yy5;
1412
23.5k
          goto yy101;
1413
132k
        } else {
1414
132k
          if (yych == 'F') goto yy101;
1415
74.2k
          goto yy5;
1416
132k
        }
1417
556k
      } else {
1418
556k
        if (yych <= 'P') {
1419
214k
          if (yych <= 'J') goto yy101;
1420
150k
          if (yych <= 'L') goto yy5;
1421
112k
          goto yy101;
1422
341k
        } else {
1423
341k
          if (yych <= 'R') goto yy5;
1424
321k
          if (yych <= 'Y') goto yy101;
1425
125k
          if (yych <= '`') goto yy5;
1426
54.6k
          goto yy101;
1427
125k
        }
1428
556k
      }
1429
792k
    }
1430
9.36M
  } else {
1431
1.45M
    if (yych <= 'q') {
1432
585k
      if (yych <= 'h') {
1433
287k
        if (yych <= 'e') {
1434
143k
          if (yych == 'd') goto yy101;
1435
105k
          goto yy5;
1436
144k
        } else {
1437
144k
          if (yych == 'g') goto yy5;
1438
107k
          goto yy101;
1439
144k
        }
1440
297k
      } else {
1441
297k
        if (yych <= 'l') {
1442
106k
          if (yych == 'j') goto yy101;
1443
89.9k
          goto yy5;
1444
191k
        } else {
1445
191k
          if (yych == 'n') goto yy93;
1446
108k
          if (yych <= 'p') goto yy101;
1447
13.0k
          goto yy5;
1448
108k
        }
1449
297k
      }
1450
873k
    } else {
1451
873k
      if (yych <= 'w') {
1452
232k
        if (yych <= 't') {
1453
181k
          if (yych <= 'r') goto yy94;
1454
137k
          if (yych <= 's') goto yy95;
1455
75.4k
          goto yy96;
1456
137k
        } else {
1457
51.0k
          if (yych == 'v') goto yy5;
1458
32.3k
          goto yy101;
1459
51.0k
        }
1460
640k
      } else {
1461
640k
        if (yych <= 0xC1) {
1462
272k
          if (yych == 'y') goto yy101;
1463
260k
          goto yy5;
1464
367k
        } else {
1465
367k
          if (yych <= 0xC2) goto yy107;
1466
338k
          if (yych == 0xE2) goto yy108;
1467
298k
          goto yy5;
1468
338k
        }
1469
640k
      }
1470
873k
    }
1471
1.45M
  }
1472
6.12M
yy15:
1473
6.12M
  YYDEBUG(15, *YYCURSOR);
1474
6.12M
  yyaccept = 1;
1475
6.12M
  yych = *(YYMARKER = ++YYCURSOR);
1476
6.12M
  if (yych <= 'a') {
1477
5.15M
    if (yych <= '@') {
1478
4.68M
      if (yych <= '-') {
1479
775k
        if (yych <= 0x1F) {
1480
298k
          if (yych == '\t') goto yy99;
1481
221k
          goto yy5;
1482
477k
        } else {
1483
477k
          if (yych <= ' ') goto yy101;
1484
422k
          if (yych <= ',') goto yy5;
1485
264k
          goto yy70;
1486
422k
        }
1487
3.90M
      } else {
1488
3.90M
        if (yych <= '4') {
1489
1.85M
          if (yych <= '.') goto yy102;
1490
1.73M
          if (yych <= '/') goto yy72;
1491
1.64M
          goto yy103;
1492
2.05M
        } else {
1493
2.05M
          if (yych <= '9') goto yy109;
1494
1.49M
          if (yych <= ':') goto yy104;
1495
548k
          goto yy5;
1496
1.49M
        }
1497
3.90M
      }
1498
4.68M
    } else {
1499
470k
      if (yych <= 'G') {
1500
128k
        if (yych <= 'D') {
1501
72.6k
          if (yych <= 'A') goto yy101;
1502
26.2k
          if (yych <= 'C') goto yy5;
1503
11.1k
          goto yy101;
1504
55.9k
        } else {
1505
55.9k
          if (yych == 'F') goto yy101;
1506
27.2k
          goto yy5;
1507
55.9k
        }
1508
342k
      } else {
1509
342k
        if (yych <= 'P') {
1510
136k
          if (yych <= 'J') goto yy101;
1511
82.6k
          if (yych <= 'L') goto yy5;
1512
71.5k
          goto yy101;
1513
205k
        } else {
1514
205k
          if (yych <= 'R') goto yy5;
1515
181k
          if (yych <= 'Y') goto yy101;
1516
70.9k
          if (yych <= '`') goto yy5;
1517
33.5k
          goto yy101;
1518
70.9k
        }
1519
342k
      }
1520
470k
    }
1521
5.15M
  } else {
1522
970k
    if (yych <= 'q') {
1523
336k
      if (yych <= 'h') {
1524
159k
        if (yych <= 'e') {
1525
100k
          if (yych == 'd') goto yy101;
1526
76.3k
          goto yy5;
1527
100k
        } else {
1528
59.4k
          if (yych == 'g') goto yy5;
1529
37.9k
          goto yy101;
1530
59.4k
        }
1531
176k
      } else {
1532
176k
        if (yych <= 'l') {
1533
41.6k
          if (yych == 'j') goto yy101;
1534
30.5k
          goto yy5;
1535
135k
        } else {
1536
135k
          if (yych == 'n') goto yy93;
1537
94.5k
          if (yych <= 'p') goto yy101;
1538
5.83k
          goto yy5;
1539
94.5k
        }
1540
176k
      }
1541
633k
    } else {
1542
633k
      if (yych <= 'w') {
1543
199k
        if (yych <= 't') {
1544
153k
          if (yych <= 'r') goto yy94;
1545
123k
          if (yych <= 's') goto yy95;
1546
70.3k
          goto yy96;
1547
123k
        } else {
1548
46.2k
          if (yych == 'v') goto yy5;
1549
25.1k
          goto yy101;
1550
46.2k
        }
1551
434k
      } else {
1552
434k
        if (yych <= 0xC1) {
1553
158k
          if (yych == 'y') goto yy101;
1554
146k
          goto yy5;
1555
275k
        } else {
1556
275k
          if (yych <= 0xC2) goto yy107;
1557
195k
          if (yych == 0xE2) goto yy108;
1558
175k
          goto yy5;
1559
195k
        }
1560
434k
      }
1561
633k
    }
1562
970k
  }
1563
3.21M
yy16:
1564
3.21M
  YYDEBUG(16, *YYCURSOR);
1565
3.21M
  yyaccept = 1;
1566
3.21M
  yych = *(YYMARKER = ++YYCURSOR);
1567
3.21M
  if (yych <= 'a') {
1568
2.58M
    if (yych <= '@') {
1569
2.29M
      if (yych <= '-') {
1570
373k
        if (yych <= 0x1F) {
1571
143k
          if (yych == '\t') goto yy99;
1572
119k
          goto yy5;
1573
230k
        } else {
1574
230k
          if (yych <= ' ') goto yy101;
1575
206k
          if (yych <= ',') goto yy5;
1576
114k
          goto yy70;
1577
206k
        }
1578
1.91M
      } else {
1579
1.91M
        if (yych <= '1') {
1580
709k
          if (yych <= '.') goto yy102;
1581
627k
          if (yych <= '/') goto yy72;
1582
509k
          goto yy109;
1583
1.21M
        } else {
1584
1.21M
          if (yych <= '9') goto yy110;
1585
334k
          if (yych <= ':') goto yy104;
1586
208k
          goto yy5;
1587
334k
        }
1588
1.91M
      }
1589
2.29M
    } else {
1590
288k
      if (yych <= 'G') {
1591
87.6k
        if (yych <= 'D') {
1592
33.7k
          if (yych <= 'A') goto yy101;
1593
25.5k
          if (yych <= 'C') goto yy5;
1594
12.1k
          goto yy101;
1595
53.9k
        } else {
1596
53.9k
          if (yych == 'F') goto yy101;
1597
24.6k
          goto yy5;
1598
53.9k
        }
1599
201k
      } else {
1600
201k
        if (yych <= 'P') {
1601
79.5k
          if (yych <= 'J') goto yy101;
1602
44.7k
          if (yych <= 'L') goto yy5;
1603
34.2k
          goto yy101;
1604
121k
        } else {
1605
121k
          if (yych <= 'R') goto yy5;
1606
110k
          if (yych <= 'Y') goto yy101;
1607
45.6k
          if (yych <= '`') goto yy5;
1608
18.8k
          goto yy101;
1609
45.6k
        }
1610
201k
      }
1611
288k
    }
1612
2.58M
  } else {
1613
631k
    if (yych <= 'q') {
1614
222k
      if (yych <= 'h') {
1615
106k
        if (yych <= 'e') {
1616
57.2k
          if (yych == 'd') goto yy101;
1617
45.3k
          goto yy5;
1618
57.2k
        } else {
1619
49.4k
          if (yych == 'g') goto yy5;
1620
34.4k
          goto yy101;
1621
49.4k
        }
1622
115k
      } else {
1623
115k
        if (yych <= 'l') {
1624
41.8k
          if (yych == 'j') goto yy101;
1625
34.2k
          goto yy5;
1626
73.9k
        } else {
1627
73.9k
          if (yych == 'n') goto yy93;
1628
49.4k
          if (yych <= 'p') goto yy101;
1629
5.27k
          goto yy5;
1630
49.4k
        }
1631
115k
      }
1632
409k
    } else {
1633
409k
      if (yych <= 'w') {
1634
112k
        if (yych <= 't') {
1635
91.4k
          if (yych <= 'r') goto yy94;
1636
57.6k
          if (yych <= 's') goto yy95;
1637
35.5k
          goto yy96;
1638
57.6k
        } else {
1639
21.4k
          if (yych == 'v') goto yy5;
1640
9.32k
          goto yy101;
1641
21.4k
        }
1642
296k
      } else {
1643
296k
        if (yych <= 0xC1) {
1644
102k
          if (yych == 'y') goto yy101;
1645
89.3k
          goto yy5;
1646
194k
        } else {
1647
194k
          if (yych <= 0xC2) goto yy107;
1648
164k
          if (yych == 0xE2) goto yy108;
1649
132k
          goto yy5;
1650
164k
        }
1651
296k
      }
1652
409k
    }
1653
631k
  }
1654
15.6M
yy17:
1655
15.6M
  YYDEBUG(17, *YYCURSOR);
1656
15.6M
  yyaccept = 1;
1657
15.6M
  yych = *(YYMARKER = ++YYCURSOR);
1658
15.6M
  if (yych <= 'c') {
1659
13.0M
    if (yych <= 'A') {
1660
11.7M
      if (yych <= '-') {
1661
2.02M
        if (yych <= 0x1F) {
1662
806k
          if (yych == '\t') goto yy99;
1663
637k
          goto yy5;
1664
1.21M
        } else {
1665
1.21M
          if (yych <= ' ') goto yy101;
1666
1.11M
          if (yych <= ',') goto yy5;
1667
613k
          goto yy70;
1668
1.11M
        }
1669
9.74M
      } else {
1670
9.74M
        if (yych <= '9') {
1671
7.20M
          if (yych <= '.') goto yy102;
1672
6.84M
          if (yych <= '/') goto yy72;
1673
6.61M
          goto yy110;
1674
6.84M
        } else {
1675
2.54M
          if (yych <= ':') goto yy104;
1676
1.08M
          if (yych <= '@') goto yy5;
1677
65.5k
          goto yy101;
1678
1.08M
        }
1679
9.74M
      }
1680
11.7M
    } else {
1681
1.31M
      if (yych <= 'J') {
1682
450k
        if (yych <= 'E') {
1683
244k
          if (yych == 'D') goto yy101;
1684
196k
          goto yy5;
1685
244k
        } else {
1686
205k
          if (yych == 'G') goto yy5;
1687
187k
          goto yy101;
1688
205k
        }
1689
868k
      } else {
1690
868k
        if (yych <= 'R') {
1691
253k
          if (yych <= 'L') goto yy5;
1692
221k
          if (yych <= 'P') goto yy101;
1693
28.5k
          goto yy5;
1694
614k
        } else {
1695
614k
          if (yych <= 'Y') goto yy101;
1696
190k
          if (yych == 'a') goto yy101;
1697
120k
          goto yy5;
1698
190k
        }
1699
868k
      }
1700
1.31M
    }
1701
13.0M
  } else {
1702
2.52M
    if (yych <= 'q') {
1703
773k
      if (yych <= 'i') {
1704
408k
        if (yych <= 'f') {
1705
279k
          if (yych == 'e') goto yy5;
1706
100k
          goto yy101;
1707
279k
        } else {
1708
128k
          if (yych == 'h') goto yy101;
1709
100k
          goto yy5;
1710
128k
        }
1711
408k
      } else {
1712
365k
        if (yych <= 'm') {
1713
172k
          if (yych <= 'j') goto yy101;
1714
141k
          if (yych <= 'l') goto yy5;
1715
86.9k
          goto yy101;
1716
193k
        } else {
1717
193k
          if (yych <= 'n') goto yy93;
1718
95.5k
          if (yych <= 'p') goto yy101;
1719
8.13k
          goto yy5;
1720
95.5k
        }
1721
365k
      }
1722
1.75M
    } else {
1723
1.75M
      if (yych <= 'w') {
1724
439k
        if (yych <= 't') {
1725
343k
          if (yych <= 'r') goto yy94;
1726
266k
          if (yych <= 's') goto yy95;
1727
149k
          goto yy96;
1728
266k
        } else {
1729
96.4k
          if (yych == 'v') goto yy5;
1730
60.8k
          goto yy101;
1731
96.4k
        }
1732
1.31M
      } else {
1733
1.31M
        if (yych <= 0xC1) {
1734
532k
          if (yych == 'y') goto yy101;
1735
500k
          goto yy5;
1736
779k
        } else {
1737
779k
          if (yych <= 0xC2) goto yy107;
1738
662k
          if (yych == 0xE2) goto yy108;
1739
542k
          goto yy5;
1740
662k
        }
1741
1.31M
      }
1742
1.75M
    }
1743
2.52M
  }
1744
1.12M
yy18:
1745
1.12M
  YYDEBUG(18, *YYCURSOR);
1746
1.12M
  yyaccept = 1;
1747
1.12M
  yych = *(YYMARKER = ++YYCURSOR);
1748
1.12M
  if (yybm[0+yych] & 8) {
1749
582k
    goto yy112;
1750
582k
  }
1751
538k
  if (yych == '-') goto yy111;
1752
499k
  goto yy5;
1753
1.63M
yy19:
1754
1.63M
  YYDEBUG(19, *YYCURSOR);
1755
1.63M
  yych = *++YYCURSOR;
1756
1.63M
  if (yych <= 'U') {
1757
625k
    if (yych <= 'F') {
1758
451k
      if (yych == ')') goto yy115;
1759
445k
      if (yych >= 'A') goto yy116;
1760
445k
    } else {
1761
173k
      if (yych <= 'O') {
1762
34.1k
        if (yych <= 'G') goto yy117;
1763
29.5k
        goto yy116;
1764
139k
      } else {
1765
139k
        if (yych <= 'P') goto yy118;
1766
85.7k
        if (yych <= 'T') goto yy116;
1767
60.5k
        goto yy119;
1768
85.7k
      }
1769
173k
    }
1770
1.01M
  } else {
1771
1.01M
    if (yych <= 'o') {
1772
282k
      if (yych <= '`') {
1773
38.0k
        if (yych <= 'Z') goto yy116;
1774
244k
      } else {
1775
244k
        if (yych == 'g') goto yy121;
1776
137k
        goto yy120;
1777
244k
      }
1778
731k
    } else {
1779
731k
      if (yych <= 't') {
1780
288k
        if (yych <= 'p') goto yy122;
1781
70.7k
        goto yy120;
1782
443k
      } else {
1783
443k
        if (yych <= 'u') goto yy123;
1784
132k
        if (yych <= 'z') goto yy120;
1785
132k
      }
1786
731k
    }
1787
1.01M
  }
1788
53.8M
yy20:
1789
53.8M
  YYDEBUG(20, *YYCURSOR);
1790
53.8M
#line 1899 "ext/date/lib/parse_date.re"
1791
53.8M
  {
1792
53.8M
    int tz_not_found;
1793
53.8M
    DEBUG_OUTPUT("tzcorrection | tz");
1794
53.8M
    TIMELIB_INIT;
1795
53.8M
    TIMELIB_HAVE_TZ();
1796
30.6k
    timelib_eat_spaces(&ptr);
1797
30.6k
    s->time->z = timelib_parse_zone(&ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
1798
30.6k
    if (tz_not_found) {
1799
14.2k
      add_error(s, TIMELIB_ERR_TZID_NOT_FOUND, "The timezone could not be found in the database");
1800
14.2k
    }
1801
30.6k
    TIMELIB_DEINIT;
1802
30.6k
    return TIMELIB_TIMEZONE;
1803
53.8M
  }
1804
0
#line 1805 "ext/date/lib/parse_date.c"
1805
461k
yy21:
1806
461k
  YYDEBUG(21, *YYCURSOR);
1807
461k
  yych = *++YYCURSOR;
1808
461k
  if (yych <= 'A') {
1809
127k
    if (yych == ')') goto yy115;
1810
115k
    if (yych <= '@') goto yy20;
1811
52.8k
    goto yy124;
1812
334k
  } else {
1813
334k
    if (yych <= '`') {
1814
40.4k
      if (yych <= 'Z') goto yy116;
1815
15.4k
      goto yy20;
1816
293k
    } else {
1817
293k
      if (yych <= 'a') goto yy125;
1818
100k
      if (yych <= 'z') goto yy120;
1819
26.6k
      goto yy20;
1820
100k
    }
1821
334k
  }
1822
1.96M
yy22:
1823
1.96M
  YYDEBUG(22, *YYCURSOR);
1824
1.96M
  yych = *++YYCURSOR;
1825
1.96M
  if (yych <= '@') {
1826
992k
    if (yych == ')') goto yy115;
1827
953k
    goto yy20;
1828
992k
  } else {
1829
969k
    if (yych <= 'Z') goto yy116;
1830
664k
    if (yych <= '`') goto yy20;
1831
636k
    if (yych <= 'z') goto yy120;
1832
182k
    goto yy20;
1833
636k
  }
1834
1.16M
yy23:
1835
1.16M
  YYDEBUG(23, *YYCURSOR);
1836
1.16M
  yych = *++YYCURSOR;
1837
1.16M
  if (yych <= 'E') {
1838
368k
    if (yych <= ')') {
1839
94.9k
      if (yych <= '(') goto yy20;
1840
4.82k
      goto yy115;
1841
273k
    } else {
1842
273k
      if (yych <= '@') goto yy20;
1843
131k
      if (yych <= 'D') goto yy116;
1844
59.4k
      goto yy126;
1845
131k
    }
1846
799k
  } else {
1847
799k
    if (yych <= 'd') {
1848
613k
      if (yych <= 'Z') goto yy116;
1849
563k
      if (yych <= '`') goto yy20;
1850
546k
      goto yy120;
1851
563k
    } else {
1852
185k
      if (yych <= 'e') goto yy127;
1853
98.7k
      if (yych <= 'z') goto yy120;
1854
45.6k
      goto yy20;
1855
98.7k
    }
1856
799k
  }
1857
1.26M
yy24:
1858
1.26M
  YYDEBUG(24, *YYCURSOR);
1859
1.26M
  yych = *++YYCURSOR;
1860
1.26M
  if (yych <= 'L') {
1861
348k
    if (yych <= '@') {
1862
281k
      if (yych == ')') goto yy115;
1863
268k
      goto yy20;
1864
281k
    } else {
1865
66.3k
      if (yych == 'I') goto yy128;
1866
61.6k
      if (yych <= 'K') goto yy116;
1867
15.9k
      goto yy129;
1868
61.6k
    }
1869
912k
  } else {
1870
912k
    if (yych <= 'i') {
1871
409k
      if (yych <= 'Z') goto yy116;
1872
380k
      if (yych <= '`') goto yy20;
1873
359k
      if (yych <= 'h') goto yy120;
1874
298k
      goto yy130;
1875
502k
    } else {
1876
502k
      if (yych == 'l') goto yy131;
1877
280k
      if (yych <= 'z') goto yy120;
1878
80.1k
      goto yy20;
1879
280k
    }
1880
912k
  }
1881
1.37M
yy25:
1882
1.37M
  YYDEBUG(25, *YYCURSOR);
1883
1.37M
  yych = *++YYCURSOR;
1884
1.37M
  if (yych <= 'R') {
1885
438k
    if (yych <= 'E') {
1886
250k
      if (yych <= ')') {
1887
69.2k
        if (yych <= '(') goto yy20;
1888
8.78k
        goto yy115;
1889
180k
      } else {
1890
180k
        if (yych <= '@') goto yy20;
1891
52.6k
        if (yych <= 'D') goto yy116;
1892
40.2k
        goto yy132;
1893
52.6k
      }
1894
250k
    } else {
1895
187k
      if (yych <= 'N') {
1896
61.5k
        if (yych == 'I') goto yy133;
1897
14.9k
        goto yy116;
1898
126k
      } else {
1899
126k
        if (yych <= 'O') goto yy134;
1900
16.1k
        if (yych <= 'Q') goto yy116;
1901
13.3k
        goto yy135;
1902
16.1k
      }
1903
187k
    }
1904
938k
  } else {
1905
938k
    if (yych <= 'i') {
1906
452k
      if (yych <= 'd') {
1907
30.1k
        if (yych <= 'Z') goto yy116;
1908
22.2k
        if (yych <= '`') goto yy20;
1909
11.7k
        goto yy120;
1910
422k
      } else {
1911
422k
        if (yych <= 'e') goto yy136;
1912
173k
        if (yych <= 'h') goto yy120;
1913
165k
        goto yy137;
1914
173k
      }
1915
486k
    } else {
1916
486k
      if (yych <= 'q') {
1917
138k
        if (yych == 'o') goto yy138;
1918
11.3k
        goto yy120;
1919
348k
      } else {
1920
348k
        if (yych <= 'r') goto yy139;
1921
106k
        if (yych <= 'z') goto yy120;
1922
85.9k
        goto yy20;
1923
106k
      }
1924
486k
    }
1925
938k
  }
1926
500k
yy26:
1927
500k
  YYDEBUG(26, *YYCURSOR);
1928
500k
  yych = *++YYCURSOR;
1929
500k
  if (yych <= 'L') {
1930
143k
    if (yych == ')') goto yy115;
1931
142k
    if (yych <= '@') goto yy20;
1932
23.7k
    goto yy116;
1933
356k
  } else {
1934
356k
    if (yych <= 'Z') {
1935
238k
      if (yych <= 'M') goto yy140;
1936
23.8k
      goto yy116;
1937
238k
    } else {
1938
118k
      if (yych <= '`') goto yy20;
1939
109k
      if (yych <= 'z') goto yy120;
1940
45.7k
      goto yy20;
1941
109k
    }
1942
356k
  }
1943
777k
yy27:
1944
777k
  YYDEBUG(27, *YYCURSOR);
1945
777k
  yyaccept = 2;
1946
777k
  yych = *(YYMARKER = ++YYCURSOR);
1947
777k
  if (yych <= '9') {
1948
305k
    if (yych <= '(') {
1949
104k
      if (yych <= '\t') {
1950
57.8k
        if (yych <= 0x08) goto yy20;
1951
31.1k
        goto yy142;
1952
57.8k
      } else {
1953
46.2k
        if (yych == ' ') goto yy142;
1954
24.9k
        goto yy20;
1955
46.2k
      }
1956
201k
    } else {
1957
201k
      if (yych <= ',') {
1958
35.9k
        if (yych <= ')') goto yy115;
1959
14.7k
        goto yy20;
1960
165k
      } else {
1961
165k
        if (yych == '/') goto yy20;
1962
159k
        goto yy142;
1963
165k
      }
1964
201k
    }
1965
471k
  } else {
1966
471k
    if (yych <= 'V') {
1967
260k
      if (yych <= 'H') {
1968
55.6k
        if (yych <= '@') goto yy20;
1969
22.2k
        goto yy116;
1970
205k
      } else {
1971
205k
        if (yych <= 'I') goto yy146;
1972
82.4k
        if (yych <= 'U') goto yy116;
1973
61.7k
        goto yy147;
1974
82.4k
      }
1975
260k
    } else {
1976
210k
      if (yych <= 'Z') {
1977
10.3k
        if (yych == 'X') goto yy147;
1978
5.02k
        goto yy116;
1979
200k
      } else {
1980
200k
        if (yych <= '`') goto yy20;
1981
190k
        if (yych <= 'z') goto yy120;
1982
53.1k
        goto yy20;
1983
190k
      }
1984
210k
    }
1985
471k
  }
1986
722k
yy28:
1987
722k
  YYDEBUG(28, *YYCURSOR);
1988
722k
  yych = *++YYCURSOR;
1989
722k
  if (yych <= 'U') {
1990
180k
    if (yych <= '@') {
1991
119k
      if (yych == ')') goto yy115;
1992
117k
      goto yy20;
1993
119k
    } else {
1994
60.9k
      if (yych <= 'A') goto yy148;
1995
39.2k
      if (yych <= 'T') goto yy116;
1996
18.8k
      goto yy149;
1997
39.2k
    }
1998
541k
  } else {
1999
541k
    if (yych <= 'a') {
2000
222k
      if (yych <= 'Z') goto yy116;
2001
214k
      if (yych <= '`') goto yy20;
2002
197k
      goto yy150;
2003
319k
    } else {
2004
319k
      if (yych == 'u') goto yy151;
2005
92.7k
      if (yych <= 'z') goto yy120;
2006
51.7k
      goto yy20;
2007
92.7k
    }
2008
541k
  }
2009
456k
yy29:
2010
456k
  YYDEBUG(29, *YYCURSOR);
2011
456k
  yych = *++YYCURSOR;
2012
456k
  if (yych <= 'A') {
2013
135k
    if (yych == ')') goto yy115;
2014
129k
    if (yych <= '@') goto yy20;
2015
6.72k
    goto yy152;
2016
321k
  } else {
2017
321k
    if (yych <= '`') {
2018
58.4k
      if (yych <= 'Z') goto yy116;
2019
17.5k
      goto yy20;
2020
262k
    } else {
2021
262k
      if (yych <= 'a') goto yy153;
2022
112k
      if (yych <= 'z') goto yy120;
2023
33.7k
      goto yy20;
2024
112k
    }
2025
321k
  }
2026
1.15M
yy30:
2027
1.15M
  YYDEBUG(30, *YYCURSOR);
2028
1.15M
  yych = *++YYCURSOR;
2029
1.15M
  if (yych <= 'O') {
2030
392k
    if (yych <= 'A') {
2031
329k
      if (yych == ')') goto yy115;
2032
319k
      if (yych <= '@') goto yy20;
2033
53.1k
      goto yy154;
2034
319k
    } else {
2035
63.6k
      if (yych == 'I') goto yy155;
2036
30.4k
      if (yych <= 'N') goto yy116;
2037
7.49k
      goto yy156;
2038
30.4k
    }
2039
766k
  } else {
2040
766k
    if (yych <= 'h') {
2041
344k
      if (yych <= 'Z') goto yy116;
2042
263k
      if (yych <= '`') goto yy20;
2043
250k
      if (yych <= 'a') goto yy157;
2044
26.2k
      goto yy120;
2045
422k
    } else {
2046
422k
      if (yych <= 'n') {
2047
236k
        if (yych <= 'i') goto yy158;
2048
18.8k
        goto yy120;
2049
236k
      } else {
2050
185k
        if (yych <= 'o') goto yy159;
2051
85.3k
        if (yych <= 'z') goto yy120;
2052
57.2k
        goto yy20;
2053
85.3k
      }
2054
422k
    }
2055
766k
  }
2056
1.00M
yy31:
2057
1.00M
  YYDEBUG(31, *YYCURSOR);
2058
1.00M
  yych = *++YYCURSOR;
2059
1.00M
  if (yych <= 'O') {
2060
242k
    if (yych <= 'D') {
2061
178k
      if (yych == ')') goto yy115;
2062
168k
      if (yych <= '@') goto yy20;
2063
23.5k
      goto yy116;
2064
168k
    } else {
2065
64.7k
      if (yych <= 'H') {
2066
18.5k
        if (yych <= 'E') goto yy160;
2067
9.18k
        goto yy116;
2068
46.2k
      } else {
2069
46.2k
        if (yych <= 'I') goto yy161;
2070
41.1k
        if (yych <= 'N') goto yy116;
2071
27.8k
        goto yy162;
2072
41.1k
      }
2073
64.7k
    }
2074
761k
  } else {
2075
761k
    if (yych <= 'h') {
2076
242k
      if (yych <= '`') {
2077
26.8k
        if (yych <= 'Z') goto yy116;
2078
13.4k
        goto yy20;
2079
215k
      } else {
2080
215k
        if (yych == 'e') goto yy163;
2081
37.9k
        goto yy120;
2082
215k
      }
2083
519k
    } else {
2084
519k
      if (yych <= 'n') {
2085
43.7k
        if (yych <= 'i') goto yy164;
2086
12.8k
        goto yy120;
2087
475k
      } else {
2088
475k
        if (yych <= 'o') goto yy165;
2089
98.8k
        if (yych <= 'z') goto yy120;
2090
62.7k
        goto yy20;
2091
98.8k
      }
2092
519k
    }
2093
761k
  }
2094
1.49M
yy32:
2095
1.49M
  YYDEBUG(32, *YYCURSOR);
2096
1.49M
  yych = *++YYCURSOR;
2097
1.49M
  if (yych <= 'C') {
2098
1.01M
    if (yych <= ')') {
2099
85.8k
      if (yych <= '(') goto yy20;
2100
6.08k
      goto yy115;
2101
929k
    } else {
2102
929k
      if (yych <= '@') goto yy20;
2103
71.2k
      if (yych <= 'B') goto yy116;
2104
58.7k
      goto yy166;
2105
71.2k
    }
2106
1.01M
  } else {
2107
480k
    if (yych <= 'b') {
2108
84.6k
      if (yych <= 'Z') goto yy116;
2109
28.8k
      if (yych <= '`') goto yy20;
2110
16.6k
      goto yy120;
2111
396k
    } else {
2112
396k
      if (yych <= 'c') goto yy167;
2113
198k
      if (yych <= 'z') goto yy120;
2114
75.4k
      goto yy20;
2115
198k
    }
2116
480k
  }
2117
751k
yy33:
2118
751k
  YYDEBUG(33, *YYCURSOR);
2119
751k
  yych = *++YYCURSOR;
2120
751k
  if (yych <= 'R') {
2121
215k
    if (yych <= ')') {
2122
49.3k
      if (yych <= '(') goto yy20;
2123
4.72k
      goto yy115;
2124
165k
    } else {
2125
165k
      if (yych <= '@') goto yy20;
2126
47.9k
      if (yych <= 'Q') goto yy116;
2127
11.1k
      goto yy168;
2128
47.9k
    }
2129
536k
  } else {
2130
536k
    if (yych <= 'q') {
2131
241k
      if (yych <= 'Z') goto yy116;
2132
217k
      if (yych <= '`') goto yy20;
2133
206k
      goto yy120;
2134
295k
    } else {
2135
295k
      if (yych <= 'r') goto yy169;
2136
102k
      if (yych <= 'z') goto yy120;
2137
71.6k
      goto yy20;
2138
102k
    }
2139
536k
  }
2140
2.34M
yy34:
2141
2.34M
  YYDEBUG(34, *YYCURSOR);
2142
2.34M
  yych = *++YYCURSOR;
2143
2.34M
  if (yych <= 'U') {
2144
879k
    if (yych <= 'D') {
2145
802k
      if (yych <= ')') {
2146
113k
        if (yych <= '(') goto yy20;
2147
7.66k
        goto yy115;
2148
688k
      } else {
2149
688k
        if (yych <= '@') goto yy20;
2150
29.4k
        if (yych <= 'A') goto yy170;
2151
5.15k
        goto yy116;
2152
29.4k
      }
2153
802k
    } else {
2154
77.7k
      if (yych <= 'H') {
2155
38.9k
        if (yych <= 'E') goto yy171;
2156
1.87k
        goto yy116;
2157
38.9k
      } else {
2158
38.7k
        if (yych <= 'I') goto yy172;
2159
31.3k
        if (yych <= 'T') goto yy116;
2160
4.45k
        goto yy156;
2161
31.3k
      }
2162
77.7k
    }
2163
1.46M
  } else {
2164
1.46M
    if (yych <= 'e') {
2165
1.04M
      if (yych <= '`') {
2166
32.4k
        if (yych <= 'Z') goto yy116;
2167
25.3k
        goto yy20;
2168
1.01M
      } else {
2169
1.01M
        if (yych <= 'a') goto yy173;
2170
753k
        if (yych <= 'd') goto yy120;
2171
726k
        goto yy174;
2172
753k
      }
2173
1.04M
    } else {
2174
419k
      if (yych <= 't') {
2175
170k
        if (yych == 'i') goto yy175;
2176
125k
        goto yy120;
2177
249k
      } else {
2178
249k
        if (yych <= 'u') goto yy159;
2179
121k
        if (yych <= 'z') goto yy120;
2180
110k
        goto yy20;
2181
121k
      }
2182
419k
    }
2183
1.46M
  }
2184
2.43M
yy35:
2185
2.43M
  YYDEBUG(35, *YYCURSOR);
2186
2.43M
  yych = *++YYCURSOR;
2187
2.43M
  switch (yych) {
2188
16.9k
  case ')': goto yy115;
2189
113k
  case '0':
2190
276k
  case '1': goto yy176;
2191
82.5k
  case '2': goto yy178;
2192
10.7k
  case '3':
2193
26.4k
  case '4':
2194
44.7k
  case '5':
2195
57.4k
  case '6':
2196
72.1k
  case '7':
2197
77.6k
  case '8':
2198
91.1k
  case '9': goto yy179;
2199
18.5k
  case 'A':
2200
20.0k
  case 'B':
2201
27.1k
  case 'C':
2202
39.7k
  case 'D':
2203
46.9k
  case 'F':
2204
58.0k
  case 'G':
2205
72.7k
  case 'I':
2206
79.3k
  case 'J':
2207
82.1k
  case 'K':
2208
89.2k
  case 'L':
2209
93.1k
  case 'M':
2210
108k
  case 'N':
2211
122k
  case 'P':
2212
124k
  case 'Q':
2213
129k
  case 'R':
2214
133k
  case 'S':
2215
161k
  case 'T':
2216
165k
  case 'V':
2217
169k
  case 'X':
2218
176k
  case 'Y':
2219
185k
  case 'Z': goto yy116;
2220
11.5k
  case 'E': goto yy161;
2221
22.2k
  case 'H': goto yy180;
2222
30.6k
  case 'O': goto yy181;
2223
12.1k
  case 'U': goto yy182;
2224
16.3k
  case 'W': goto yy183;
2225
13.9k
  case 'a':
2226
20.5k
  case 'b':
2227
25.7k
  case 'c':
2228
31.5k
  case 'd':
2229
39.5k
  case 'f':
2230
51.7k
  case 'g':
2231
59.8k
  case 'i':
2232
72.3k
  case 'j':
2233
75.9k
  case 'k':
2234
78.9k
  case 'l':
2235
90.0k
  case 'm':
2236
96.6k
  case 'n':
2237
107k
  case 'p':
2238
114k
  case 'q':
2239
130k
  case 'r':
2240
139k
  case 's':
2241
159k
  case 't':
2242
162k
  case 'v':
2243
171k
  case 'x':
2244
203k
  case 'y':
2245
211k
  case 'z': goto yy120;
2246
204k
  case 'e': goto yy164;
2247
275k
  case 'h': goto yy184;
2248
281k
  case 'o': goto yy185;
2249
120k
  case 'u': goto yy186;
2250
141k
  case 'w': goto yy187;
2251
454k
  default:  goto yy20;
2252
2.43M
  }
2253
1.62M
yy36:
2254
1.62M
  YYDEBUG(36, *YYCURSOR);
2255
1.62M
  yyaccept = 2;
2256
1.62M
  yych = *(YYMARKER = ++YYCURSOR);
2257
1.62M
  if (yych <= '.') {
2258
267k
    if (yych <= ' ') {
2259
69.0k
      if (yych == '\t') goto yy142;
2260
63.3k
      if (yych <= 0x1F) goto yy20;
2261
6.46k
      goto yy142;
2262
198k
    } else {
2263
198k
      if (yych == ')') goto yy115;
2264
191k
      if (yych <= ',') goto yy20;
2265
176k
      goto yy142;
2266
191k
    }
2267
1.35M
  } else {
2268
1.35M
    if (yych <= 'H') {
2269
966k
      if (yych <= '/') goto yy20;
2270
963k
      if (yych <= '9') goto yy142;
2271
32.6k
      if (yych <= '@') goto yy20;
2272
11.5k
      goto yy116;
2273
388k
    } else {
2274
388k
      if (yych <= 'Z') {
2275
205k
        if (yych <= 'I') goto yy188;
2276
26.0k
        goto yy116;
2277
205k
      } else {
2278
183k
        if (yych <= '`') goto yy20;
2279
173k
        if (yych <= 'z') goto yy120;
2280
76.4k
        goto yy20;
2281
173k
      }
2282
388k
    }
2283
1.35M
  }
2284
914k
yy37:
2285
914k
  YYDEBUG(37, *YYCURSOR);
2286
914k
  yych = *++YYCURSOR;
2287
914k
  if (yych <= 'E') {
2288
323k
    if (yych <= ')') {
2289
69.5k
      if (yych <= '(') goto yy20;
2290
7.67k
      goto yy115;
2291
254k
    } else {
2292
254k
      if (yych <= '@') goto yy20;
2293
112k
      if (yych <= 'D') goto yy116;
2294
100k
      goto yy189;
2295
112k
    }
2296
590k
  } else {
2297
590k
    if (yych <= 'd') {
2298
95.4k
      if (yych <= 'Z') goto yy116;
2299
20.4k
      if (yych <= '`') goto yy20;
2300
12.4k
      goto yy120;
2301
495k
    } else {
2302
495k
      if (yych <= 'e') goto yy190;
2303
130k
      if (yych <= 'z') goto yy120;
2304
83.5k
      goto yy20;
2305
130k
    }
2306
590k
  }
2307
333k
yy38:
2308
333k
  YYDEBUG(38, *YYCURSOR);
2309
333k
  yyaccept = 2;
2310
333k
  yych = *(YYMARKER = ++YYCURSOR);
2311
333k
  if (yych <= '.') {
2312
141k
    if (yych <= ' ') {
2313
33.8k
      if (yych == '\t') goto yy142;
2314
31.2k
      if (yych <= 0x1F) goto yy20;
2315
3.51k
      goto yy142;
2316
107k
    } else {
2317
107k
      if (yych == ')') goto yy115;
2318
105k
      if (yych <= ',') goto yy20;
2319
89.6k
      goto yy142;
2320
105k
    }
2321
191k
  } else {
2322
191k
    if (yych <= 'H') {
2323
87.0k
      if (yych <= '/') goto yy20;
2324
84.1k
      if (yych <= '9') goto yy142;
2325
24.7k
      if (yych <= '@') goto yy20;
2326
4.87k
      goto yy116;
2327
104k
    } else {
2328
104k
      if (yych <= 'Z') {
2329
44.7k
        if (yych <= 'I') goto yy146;
2330
22.7k
        goto yy116;
2331
59.9k
      } else {
2332
59.9k
        if (yych <= '`') goto yy20;
2333
54.8k
        if (yych <= 'z') goto yy120;
2334
26.2k
        goto yy20;
2335
54.8k
      }
2336
104k
    }
2337
191k
  }
2338
517k
yy39:
2339
517k
  YYDEBUG(39, *YYCURSOR);
2340
517k
  yych = *++YYCURSOR;
2341
517k
  if (yych <= 'E') {
2342
150k
    if (yych <= ')') {
2343
52.0k
      if (yych <= '(') goto yy20;
2344
4.14k
      goto yy115;
2345
98.9k
    } else {
2346
98.9k
      if (yych <= '@') goto yy20;
2347
22.5k
      if (yych <= 'D') goto yy116;
2348
14.3k
      goto yy191;
2349
22.5k
    }
2350
366k
  } else {
2351
366k
    if (yych <= 'd') {
2352
61.3k
      if (yych <= 'Z') goto yy116;
2353
18.3k
      if (yych <= '`') goto yy20;
2354
9.23k
      goto yy120;
2355
305k
    } else {
2356
305k
      if (yych <= 'e') goto yy192;
2357
76.3k
      if (yych <= 'z') goto yy120;
2358
35.2k
      goto yy20;
2359
76.3k
    }
2360
366k
  }
2361
1.86M
yy40:
2362
1.86M
  YYDEBUG(40, *YYCURSOR);
2363
1.86M
  yych = *++YYCURSOR;
2364
1.86M
  if (yych <= 'U') {
2365
1.01M
    if (yych <= 'F') {
2366
823k
      if (yych == ')') goto yy115;
2367
802k
      if (yych <= '@') goto yy20;
2368
36.7k
      goto yy116;
2369
802k
    } else {
2370
195k
      if (yych <= 'O') {
2371
107k
        if (yych <= 'G') goto yy117;
2372
83.4k
        goto yy116;
2373
107k
      } else {
2374
88.0k
        if (yych <= 'P') goto yy118;
2375
76.2k
        if (yych <= 'T') goto yy116;
2376
14.2k
        goto yy119;
2377
76.2k
      }
2378
195k
    }
2379
1.01M
  } else {
2380
840k
    if (yych <= 'o') {
2381
343k
      if (yych <= '`') {
2382
75.6k
        if (yych <= 'Z') goto yy116;
2383
39.4k
        goto yy20;
2384
267k
      } else {
2385
267k
        if (yych == 'g') goto yy117;
2386
233k
        goto yy116;
2387
267k
      }
2388
497k
    } else {
2389
497k
      if (yych <= 't') {
2390
280k
        if (yych <= 'p') goto yy118;
2391
250k
        goto yy116;
2392
280k
      } else {
2393
216k
        if (yych <= 'u') goto yy119;
2394
188k
        if (yych <= 'z') goto yy116;
2395
116k
        goto yy20;
2396
188k
      }
2397
497k
    }
2398
840k
  }
2399
263k
yy41:
2400
263k
  YYDEBUG(41, *YYCURSOR);
2401
263k
  yych = *++YYCURSOR;
2402
263k
  if (yych <= 'A') {
2403
97.9k
    if (yych == ')') goto yy115;
2404
94.3k
    if (yych <= '@') goto yy20;
2405
8.45k
    goto yy124;
2406
165k
  } else {
2407
165k
    if (yych <= '`') {
2408
28.7k
      if (yych <= 'Z') goto yy116;
2409
7.38k
      goto yy20;
2410
137k
    } else {
2411
137k
      if (yych <= 'a') goto yy124;
2412
110k
      if (yych <= 'z') goto yy116;
2413
29.9k
      goto yy20;
2414
110k
    }
2415
165k
  }
2416
8.63M
yy42:
2417
8.63M
  YYDEBUG(42, *YYCURSOR);
2418
8.63M
  yych = *++YYCURSOR;
2419
8.63M
  if (yych <= '@') {
2420
4.73M
    if (yych == ')') goto yy115;
2421
4.69M
    goto yy20;
2422
4.73M
  } else {
2423
3.89M
    if (yych <= 'Z') goto yy116;
2424
3.28M
    if (yych <= '`') goto yy20;
2425
3.10M
    if (yych <= 'z') goto yy116;
2426
773k
    goto yy20;
2427
3.10M
  }
2428
2.23M
yy43:
2429
2.23M
  YYDEBUG(43, *YYCURSOR);
2430
2.23M
  yych = *++YYCURSOR;
2431
2.23M
  if (yych <= 'E') {
2432
1.04M
    if (yych <= ')') {
2433
138k
      if (yych <= '(') goto yy20;
2434
8.14k
      goto yy115;
2435
905k
    } else {
2436
905k
      if (yych <= '@') goto yy20;
2437
72.3k
      if (yych <= 'D') goto yy116;
2438
10.3k
      goto yy126;
2439
72.3k
    }
2440
1.18M
  } else {
2441
1.18M
    if (yych <= 'd') {
2442
864k
      if (yych <= 'Z') goto yy116;
2443
802k
      if (yych <= '`') goto yy20;
2444
777k
      goto yy116;
2445
802k
    } else {
2446
321k
      if (yych <= 'e') goto yy126;
2447
260k
      if (yych <= 'z') goto yy116;
2448
102k
      goto yy20;
2449
260k
    }
2450
1.18M
  }
2451
2.29M
yy44:
2452
2.29M
  YYDEBUG(44, *YYCURSOR);
2453
2.29M
  yych = *++YYCURSOR;
2454
2.29M
  if (yych <= 'L') {
2455
819k
    if (yych <= '@') {
2456
679k
      if (yych == ')') goto yy115;
2457
644k
      goto yy20;
2458
679k
    } else {
2459
140k
      if (yych == 'I') goto yy128;
2460
74.8k
      if (yych <= 'K') goto yy116;
2461
17.0k
      goto yy129;
2462
74.8k
    }
2463
1.47M
  } else {
2464
1.47M
    if (yych <= 'i') {
2465
733k
      if (yych <= 'Z') goto yy116;
2466
620k
      if (yych <= '`') goto yy20;
2467
496k
      if (yych <= 'h') goto yy116;
2468
249k
      goto yy128;
2469
746k
    } else {
2470
746k
      if (yych == 'l') goto yy129;
2471
681k
      if (yych <= 'z') goto yy116;
2472
175k
      goto yy20;
2473
681k
    }
2474
1.47M
  }
2475
940k
yy45:
2476
940k
  YYDEBUG(45, *YYCURSOR);
2477
940k
  yych = *++YYCURSOR;
2478
940k
  if (yych <= 'R') {
2479
339k
    if (yych <= 'E') {
2480
297k
      if (yych <= ')') {
2481
152k
        if (yych <= '(') goto yy20;
2482
7.77k
        goto yy115;
2483
152k
      } else {
2484
145k
        if (yych <= '@') goto yy20;
2485
31.5k
        if (yych <= 'D') goto yy116;
2486
25.6k
        goto yy132;
2487
31.5k
      }
2488
297k
    } else {
2489
41.2k
      if (yych <= 'N') {
2490
12.7k
        if (yych == 'I') goto yy133;
2491
7.91k
        goto yy116;
2492
28.4k
      } else {
2493
28.4k
        if (yych <= 'O') goto yy134;
2494
18.3k
        if (yych <= 'Q') goto yy116;
2495
7.41k
        goto yy135;
2496
18.3k
      }
2497
41.2k
    }
2498
601k
  } else {
2499
601k
    if (yych <= 'i') {
2500
325k
      if (yych <= 'd') {
2501
57.2k
        if (yych <= 'Z') goto yy116;
2502
43.7k
        if (yych <= '`') goto yy20;
2503
28.2k
        goto yy116;
2504
268k
      } else {
2505
268k
        if (yych <= 'e') goto yy132;
2506
212k
        if (yych <= 'h') goto yy116;
2507
189k
        goto yy133;
2508
212k
      }
2509
325k
    } else {
2510
275k
      if (yych <= 'q') {
2511
70.3k
        if (yych == 'o') goto yy134;
2512
28.7k
        goto yy116;
2513
205k
      } else {
2514
205k
        if (yych <= 'r') goto yy135;
2515
87.7k
        if (yych <= 'z') goto yy116;
2516
57.7k
        goto yy20;
2517
87.7k
      }
2518
275k
    }
2519
601k
  }
2520
648k
yy46:
2521
648k
  YYDEBUG(46, *YYCURSOR);
2522
648k
  yych = *++YYCURSOR;
2523
648k
  if (yych <= 'U') {
2524
403k
    if (yych <= '@') {
2525
123k
      if (yych == ')') goto yy115;
2526
119k
      goto yy20;
2527
280k
    } else {
2528
280k
      if (yych <= 'A') goto yy148;
2529
229k
      if (yych <= 'T') goto yy116;
2530
208k
      goto yy149;
2531
229k
    }
2532
403k
  } else {
2533
245k
    if (yych <= 'a') {
2534
66.8k
      if (yych <= 'Z') goto yy116;
2535
62.7k
      if (yych <= '`') goto yy20;
2536
45.4k
      goto yy148;
2537
178k
    } else {
2538
178k
      if (yych == 'u') goto yy149;
2539
95.1k
      if (yych <= 'z') goto yy116;
2540
36.5k
      goto yy20;
2541
95.1k
    }
2542
245k
  }
2543
977k
yy47:
2544
977k
  YYDEBUG(47, *YYCURSOR);
2545
977k
  yych = *++YYCURSOR;
2546
977k
  if (yych <= 'A') {
2547
307k
    if (yych == ')') goto yy115;
2548
303k
    if (yych <= '@') goto yy20;
2549
12.5k
    goto yy152;
2550
669k
  } else {
2551
669k
    if (yych <= '`') {
2552
84.8k
      if (yych <= 'Z') goto yy116;
2553
40.1k
      goto yy20;
2554
584k
    } else {
2555
584k
      if (yych <= 'a') goto yy152;
2556
189k
      if (yych <= 'z') goto yy116;
2557
65.7k
      goto yy20;
2558
189k
    }
2559
669k
  }
2560
1.06M
yy48:
2561
1.06M
  YYDEBUG(48, *YYCURSOR);
2562
1.06M
  yych = *++YYCURSOR;
2563
1.06M
  if (yych <= 'O') {
2564
564k
    if (yych <= 'A') {
2565
462k
      if (yych == ')') goto yy115;
2566
451k
      if (yych <= '@') goto yy20;
2567
81.9k
      goto yy154;
2568
451k
    } else {
2569
101k
      if (yych == 'I') goto yy155;
2570
57.9k
      if (yych <= 'N') goto yy116;
2571
14.8k
      goto yy156;
2572
57.9k
    }
2573
564k
  } else {
2574
502k
    if (yych <= 'h') {
2575
193k
      if (yych <= 'Z') goto yy116;
2576
167k
      if (yych <= '`') goto yy20;
2577
147k
      if (yych <= 'a') goto yy154;
2578
69.0k
      goto yy116;
2579
309k
    } else {
2580
309k
      if (yych <= 'n') {
2581
89.9k
        if (yych <= 'i') goto yy155;
2582
21.0k
        goto yy116;
2583
219k
      } else {
2584
219k
        if (yych <= 'o') goto yy156;
2585
150k
        if (yych <= 'z') goto yy116;
2586
110k
        goto yy20;
2587
150k
      }
2588
309k
    }
2589
502k
  }
2590
1.67M
yy49:
2591
1.67M
  YYDEBUG(49, *YYCURSOR);
2592
1.67M
  yych = *++YYCURSOR;
2593
1.67M
  if (yych <= 'O') {
2594
640k
    if (yych <= 'D') {
2595
555k
      if (yych == ')') goto yy115;
2596
542k
      if (yych <= '@') goto yy20;
2597
19.8k
      goto yy116;
2598
542k
    } else {
2599
84.8k
      if (yych <= 'H') {
2600
19.3k
        if (yych <= 'E') goto yy160;
2601
7.29k
        goto yy116;
2602
65.5k
      } else {
2603
65.5k
        if (yych <= 'I') goto yy161;
2604
45.5k
        if (yych <= 'N') goto yy116;
2605
26.3k
        goto yy162;
2606
45.5k
      }
2607
84.8k
    }
2608
1.03M
  } else {
2609
1.03M
    if (yych <= 'h') {
2610
509k
      if (yych <= '`') {
2611
84.7k
        if (yych <= 'Z') goto yy116;
2612
37.1k
        goto yy20;
2613
425k
      } else {
2614
425k
        if (yych == 'e') goto yy160;
2615
233k
        goto yy116;
2616
425k
      }
2617
528k
    } else {
2618
528k
      if (yych <= 'n') {
2619
82.5k
        if (yych <= 'i') goto yy161;
2620
42.6k
        goto yy116;
2621
445k
      } else {
2622
445k
        if (yych <= 'o') goto yy162;
2623
363k
        if (yych <= 'z') goto yy116;
2624
121k
        goto yy20;
2625
363k
      }
2626
528k
    }
2627
1.03M
  }
2628
1.22M
yy50:
2629
1.22M
  YYDEBUG(50, *YYCURSOR);
2630
1.22M
  yych = *++YYCURSOR;
2631
1.22M
  if (yych <= 'C') {
2632
464k
    if (yych <= ')') {
2633
180k
      if (yych <= '(') goto yy20;
2634
9.98k
      goto yy115;
2635
284k
    } else {
2636
284k
      if (yych <= '@') goto yy20;
2637
31.1k
      if (yych <= 'B') goto yy116;
2638
25.4k
      goto yy166;
2639
31.1k
    }
2640
756k
  } else {
2641
756k
    if (yych <= 'b') {
2642
185k
      if (yych <= 'Z') goto yy116;
2643
63.7k
      if (yych <= '`') goto yy20;
2644
38.7k
      goto yy116;
2645
570k
    } else {
2646
570k
      if (yych <= 'c') goto yy166;
2647
544k
      if (yych <= 'z') goto yy116;
2648
106k
      goto yy20;
2649
544k
    }
2650
756k
  }
2651
783k
yy51:
2652
783k
  YYDEBUG(51, *YYCURSOR);
2653
783k
  yych = *++YYCURSOR;
2654
783k
  if (yych <= 'R') {
2655
295k
    if (yych <= ')') {
2656
82.7k
      if (yych <= '(') goto yy20;
2657
5.56k
      goto yy115;
2658
212k
    } else {
2659
212k
      if (yych <= '@') goto yy20;
2660
42.0k
      if (yych <= 'Q') goto yy116;
2661
9.74k
      goto yy168;
2662
42.0k
    }
2663
487k
  } else {
2664
487k
    if (yych <= 'q') {
2665
129k
      if (yych <= 'Z') goto yy116;
2666
103k
      if (yych <= '`') goto yy20;
2667
98.7k
      goto yy116;
2668
358k
    } else {
2669
358k
      if (yych <= 'r') goto yy168;
2670
165k
      if (yych <= 'z') goto yy116;
2671
108k
      goto yy20;
2672
165k
    }
2673
487k
  }
2674
4.43M
yy52:
2675
4.43M
  YYDEBUG(52, *YYCURSOR);
2676
4.43M
  yych = *++YYCURSOR;
2677
4.43M
  if (yych <= 'U') {
2678
2.69M
    if (yych <= 'D') {
2679
2.56M
      if (yych <= ')') {
2680
460k
        if (yych <= '(') goto yy20;
2681
12.7k
        goto yy115;
2682
2.10M
      } else {
2683
2.10M
        if (yych <= '@') goto yy20;
2684
43.3k
        if (yych <= 'A') goto yy170;
2685
23.0k
        goto yy116;
2686
43.3k
      }
2687
2.56M
    } else {
2688
136k
      if (yych <= 'H') {
2689
54.9k
        if (yych <= 'E') goto yy171;
2690
7.95k
        goto yy116;
2691
81.2k
      } else {
2692
81.2k
        if (yych <= 'I') goto yy172;
2693
62.3k
        if (yych <= 'T') goto yy116;
2694
13.9k
        goto yy156;
2695
62.3k
      }
2696
136k
    }
2697
2.69M
  } else {
2698
1.73M
    if (yych <= 'e') {
2699
337k
      if (yych <= '`') {
2700
62.1k
        if (yych <= 'Z') goto yy116;
2701
31.5k
        goto yy20;
2702
275k
      } else {
2703
275k
        if (yych <= 'a') goto yy170;
2704
197k
        if (yych <= 'd') goto yy116;
2705
151k
        goto yy171;
2706
197k
      }
2707
1.39M
    } else {
2708
1.39M
      if (yych <= 't') {
2709
1.11M
        if (yych == 'i') goto yy172;
2710
1.08M
        goto yy116;
2711
1.11M
      } else {
2712
276k
        if (yych <= 'u') goto yy156;
2713
248k
        if (yych <= 'z') goto yy116;
2714
228k
        goto yy20;
2715
248k
      }
2716
1.39M
    }
2717
1.73M
  }
2718
2.94M
yy53:
2719
2.94M
  YYDEBUG(53, *YYCURSOR);
2720
2.94M
  yych = *++YYCURSOR;
2721
2.94M
  switch (yych) {
2722
23.4k
  case ')': goto yy115;
2723
68.9k
  case '0':
2724
136k
  case '1': goto yy176;
2725
48.3k
  case '2': goto yy178;
2726
25.3k
  case '3':
2727
39.0k
  case '4':
2728
55.3k
  case '5':
2729
84.2k
  case '6':
2730
96.1k
  case '7':
2731
109k
  case '8':
2732
132k
  case '9': goto yy179;
2733
11.4k
  case 'A':
2734
16.4k
  case 'B':
2735
31.2k
  case 'C':
2736
35.9k
  case 'D':
2737
43.7k
  case 'F':
2738
51.1k
  case 'G':
2739
57.7k
  case 'I':
2740
60.7k
  case 'J':
2741
63.1k
  case 'K':
2742
67.3k
  case 'L':
2743
78.5k
  case 'M':
2744
83.7k
  case 'N':
2745
93.3k
  case 'P':
2746
104k
  case 'Q':
2747
117k
  case 'R':
2748
125k
  case 'S':
2749
153k
  case 'T':
2750
161k
  case 'V':
2751
167k
  case 'X':
2752
173k
  case 'Y':
2753
177k
  case 'Z':
2754
218k
  case 'a':
2755
229k
  case 'b':
2756
236k
  case 'c':
2757
248k
  case 'd':
2758
254k
  case 'f':
2759
266k
  case 'g':
2760
329k
  case 'i':
2761
332k
  case 'j':
2762
336k
  case 'k':
2763
345k
  case 'l':
2764
360k
  case 'm':
2765
379k
  case 'n':
2766
390k
  case 'p':
2767
394k
  case 'q':
2768
512k
  case 'r':
2769
538k
  case 's':
2770
599k
  case 't':
2771
607k
  case 'v':
2772
618k
  case 'x':
2773
629k
  case 'y':
2774
631k
  case 'z': goto yy116;
2775
21.3k
  case 'E':
2776
715k
  case 'e': goto yy161;
2777
51.5k
  case 'H':
2778
211k
  case 'h': goto yy180;
2779
15.9k
  case 'O':
2780
110k
  case 'o': goto yy181;
2781
62.4k
  case 'U':
2782
99.4k
  case 'u': goto yy182;
2783
21.7k
  case 'W':
2784
39.1k
  case 'w': goto yy183;
2785
795k
  default:  goto yy20;
2786
2.94M
  }
2787
400k
yy54:
2788
400k
  YYDEBUG(54, *YYCURSOR);
2789
400k
  yych = *++YYCURSOR;
2790
400k
  if (yych <= 'E') {
2791
203k
    if (yych <= ')') {
2792
50.6k
      if (yych <= '(') goto yy20;
2793
8.82k
      goto yy115;
2794
152k
    } else {
2795
152k
      if (yych <= '@') goto yy20;
2796
28.0k
      if (yych <= 'D') goto yy116;
2797
19.1k
      goto yy189;
2798
28.0k
    }
2799
203k
  } else {
2800
197k
    if (yych <= 'd') {
2801
44.0k
      if (yych <= 'Z') goto yy116;
2802
28.0k
      if (yych <= '`') goto yy20;
2803
22.8k
      goto yy116;
2804
153k
    } else {
2805
153k
      if (yych <= 'e') goto yy189;
2806
72.8k
      if (yych <= 'z') goto yy116;
2807
27.4k
      goto yy20;
2808
72.8k
    }
2809
197k
  }
2810
467k
yy55:
2811
467k
  YYDEBUG(55, *YYCURSOR);
2812
467k
  yych = *++YYCURSOR;
2813
467k
  if (yych <= 'E') {
2814
220k
    if (yych <= ')') {
2815
69.1k
      if (yych <= '(') goto yy20;
2816
2.15k
      goto yy115;
2817
150k
    } else {
2818
150k
      if (yych <= '@') goto yy20;
2819
25.8k
      if (yych <= 'D') goto yy116;
2820
6.78k
      goto yy191;
2821
25.8k
    }
2822
247k
  } else {
2823
247k
    if (yych <= 'd') {
2824
51.1k
      if (yych <= 'Z') goto yy116;
2825
31.3k
      if (yych <= '`') goto yy20;
2826
14.3k
      goto yy116;
2827
196k
    } else {
2828
196k
      if (yych <= 'e') goto yy191;
2829
129k
      if (yych <= 'z') goto yy116;
2830
70.5k
      goto yy20;
2831
129k
    }
2832
247k
  }
2833
1.18M
yy56:
2834
1.18M
  YYDEBUG(56, *YYCURSOR);
2835
1.18M
  yych = *++YYCURSOR;
2836
1.18M
  if (yych == 0xA0) goto yy193;
2837
637k
  goto yy5;
2838
970k
yy57:
2839
970k
  YYDEBUG(57, *YYCURSOR);
2840
970k
  yyaccept = 1;
2841
970k
  yych = *(YYMARKER = ++YYCURSOR);
2842
970k
  if (yych == 0x80) goto yy194;
2843
394k
  goto yy5;
2844
2.06M
yy58:
2845
2.06M
  YYDEBUG(58, *YYCURSOR);
2846
2.06M
  yych = *++YYCURSOR;
2847
2.06M
  if (yych <= 0xC1) {
2848
1.98M
    if (yych <= '/') goto yy196;
2849
1.63M
    if (yych <= '9') goto yy197;
2850
409k
    goto yy196;
2851
1.63M
  } else {
2852
89.8k
    if (yych <= 0xC2) goto yy97;
2853
72.0k
    if (yych == 0xE2) goto yy98;
2854
34.8k
    goto yy196;
2855
72.0k
  }
2856
40.5M
yy59:
2857
40.5M
  YYDEBUG(59, *YYCURSOR);
2858
40.5M
  YYCURSOR = YYMARKER;
2859
40.5M
  if (yyaccept <= 16) {
2860
38.1M
    if (yyaccept <= 8) {
2861
34.8M
      if (yyaccept <= 4) {
2862
34.2M
        if (yyaccept <= 2) {
2863
33.4M
          if (yyaccept <= 1) {
2864
29.6M
            if (yyaccept == 0) {
2865
1.05M
              goto yy8;
2866
28.6M
            } else {
2867
28.6M
              goto yy5;
2868
28.6M
            }
2869
29.6M
          } else {
2870
3.75M
            goto yy20;
2871
3.75M
          }
2872
33.4M
        } else {
2873
860k
          if (yyaccept == 3) {
2874
213k
            goto yy81;
2875
646k
          } else {
2876
646k
            goto yy177;
2877
646k
          }
2878
860k
        }
2879
34.2M
      } else {
2880
549k
        if (yyaccept <= 6) {
2881
122k
          if (yyaccept == 5) {
2882
50.2k
            goto yy224;
2883
72.5k
          } else {
2884
72.5k
            goto yy260;
2885
72.5k
          }
2886
426k
        } else {
2887
426k
          if (yyaccept == 7) {
2888
403k
            goto yy295;
2889
403k
          } else {
2890
23.5k
            goto yy293;
2891
23.5k
          }
2892
426k
        }
2893
549k
      }
2894
34.8M
    } else {
2895
3.34M
      if (yyaccept <= 12) {
2896
1.11M
        if (yyaccept <= 10) {
2897
151k
          if (yyaccept == 9) {
2898
26.4k
            goto yy315;
2899
125k
          } else {
2900
125k
            goto yy325;
2901
125k
          }
2902
965k
        } else {
2903
965k
          if (yyaccept == 11) {
2904
3.90k
            goto yy351;
2905
962k
          } else {
2906
962k
            goto yy420;
2907
962k
          }
2908
965k
        }
2909
2.23M
      } else {
2910
2.23M
        if (yyaccept <= 14) {
2911
2.08M
          if (yyaccept == 13) {
2912
2.08M
            goto yy422;
2913
2.08M
          } else {
2914
4.16k
            goto yy526;
2915
4.16k
          }
2916
2.08M
        } else {
2917
147k
          if (yyaccept == 15) {
2918
139k
            goto yy567;
2919
139k
          } else {
2920
7.53k
            goto yy722;
2921
7.53k
          }
2922
147k
        }
2923
2.23M
      }
2924
3.34M
    }
2925
38.1M
  } else {
2926
2.37M
    if (yyaccept <= 25) {
2927
1.22M
      if (yyaccept <= 21) {
2928
1.04M
        if (yyaccept <= 19) {
2929
377k
          if (yyaccept <= 18) {
2930
31.1k
            if (yyaccept == 17) {
2931
986
              goto yy739;
2932
30.1k
            } else {
2933
30.1k
              goto yy752;
2934
30.1k
            }
2935
346k
          } else {
2936
346k
            goto yy777;
2937
346k
          }
2938
666k
        } else {
2939
666k
          if (yyaccept == 20) {
2940
171k
            goto yy849;
2941
494k
          } else {
2942
494k
            goto yy926;
2943
494k
          }
2944
666k
        }
2945
1.04M
      } else {
2946
176k
        if (yyaccept <= 23) {
2947
77.8k
          if (yyaccept == 22) {
2948
73.7k
            goto yy600;
2949
73.7k
          } else {
2950
4.13k
            goto yy942;
2951
4.13k
          }
2952
98.3k
        } else {
2953
98.3k
          if (yyaccept == 24) {
2954
87.7k
            goto yy982;
2955
87.7k
          } else {
2956
10.6k
            goto yy1025;
2957
10.6k
          }
2958
98.3k
        }
2959
176k
      }
2960
1.22M
    } else {
2961
1.15M
      if (yyaccept <= 29) {
2962
1.12M
        if (yyaccept <= 27) {
2963
1.06M
          if (yyaccept == 26) {
2964
67.4k
            goto yy1043;
2965
1.00M
          } else {
2966
1.00M
            goto yy1048;
2967
1.00M
          }
2968
1.06M
        } else {
2969
60.3k
          if (yyaccept == 28) {
2970
1.57k
            goto yy1107;
2971
58.8k
          } else {
2972
58.8k
            goto yy1145;
2973
58.8k
          }
2974
60.3k
        }
2975
1.12M
      } else {
2976
29.3k
        if (yyaccept <= 31) {
2977
7.03k
          if (yyaccept == 30) {
2978
5.03k
            goto yy1172;
2979
5.03k
          } else {
2980
2.00k
            goto yy1175;
2981
2.00k
          }
2982
22.2k
        } else {
2983
22.2k
          if (yyaccept == 32) {
2984
14.0k
            goto yy1329;
2985
14.0k
          } else {
2986
8.27k
            goto yy1375;
2987
8.27k
          }
2988
22.2k
        }
2989
29.3k
      }
2990
1.15M
    }
2991
2.37M
  }
2992
269k
yy60:
2993
269k
  YYDEBUG(60, *YYCURSOR);
2994
269k
  ++YYCURSOR;
2995
269k
  if ((YYLIMIT - YYCURSOR) < 25) YYFILL(25);
2996
269k
  yych = *YYCURSOR;
2997
269k
  YYDEBUG(61, *YYCURSOR);
2998
269k
  if (yych <= 0x1F) {
2999
62.5k
    if (yych == '\t') goto yy60;
3000
21.1k
    goto yy59;
3001
206k
  } else {
3002
206k
    if (yych <= ' ') goto yy60;
3003
168k
    if (yych <= '/') goto yy59;
3004
142k
    if (yych <= '9') goto yy58;
3005
100k
    goto yy59;
3006
142k
  }
3007
14.8M
yy62:
3008
14.8M
  YYDEBUG(62, *YYCURSOR);
3009
14.8M
  ++YYCURSOR;
3010
14.8M
  if ((YYLIMIT - YYCURSOR) < 25) YYFILL(25);
3011
14.8M
  yych = *YYCURSOR;
3012
14.8M
  YYDEBUG(63, *YYCURSOR);
3013
14.8M
  if (yybm[0+yych] & 4) {
3014
12.7M
    goto yy62;
3015
12.7M
  }
3016
2.11M
  if (yych <= 0x1F) {
3017
167k
    if (yych == '\t') goto yy60;
3018
151k
    goto yy59;
3019
1.94M
  } else {
3020
1.94M
    if (yych <= ' ') goto yy60;
3021
1.92M
    if (yych <= '/') goto yy59;
3022
1.74M
    if (yych <= '9') goto yy58;
3023
721k
    goto yy59;
3024
1.74M
  }
3025
1.77M
yy64:
3026
1.77M
  YYDEBUG(64, *YYCURSOR);
3027
1.77M
  yyaccept = 2;
3028
1.77M
  yych = *(YYMARKER = ++YYCURSOR);
3029
1.77M
  if (yych <= 'X') {
3030
1.49M
    if (yych <= 'E') {
3031
1.41M
      if (yych <= '/') {
3032
249k
        if (yych <= '\t') {
3033
55.1k
          if (yych <= 0x08) goto yy20;
3034
7.63k
          goto yy196;
3035
194k
        } else {
3036
194k
          if (yych == ' ') goto yy196;
3037
180k
          goto yy20;
3038
194k
        }
3039
1.16M
      } else {
3040
1.16M
        if (yych <= ':') {
3041
1.07M
          if (yych <= '9') goto yy202;
3042
66.3k
          goto yy203;
3043
1.07M
        } else {
3044
82.4k
          if (yych == 'D') goto yy196;
3045
77.4k
          goto yy20;
3046
82.4k
        }
3047
1.16M
      }
3048
1.41M
    } else {
3049
84.0k
      if (yych <= 'M') {
3050
34.0k
        if (yych <= 'G') {
3051
13.7k
          if (yych <= 'F') goto yy196;
3052
3.56k
          goto yy20;
3053
20.2k
        } else {
3054
20.2k
          if (yych <= 'H') goto yy196;
3055
16.9k
          if (yych <= 'L') goto yy20;
3056
5.89k
          goto yy196;
3057
16.9k
        }
3058
50.0k
      } else {
3059
50.0k
        if (yych <= 'U') {
3060
27.1k
          if (yych <= 'R') goto yy20;
3061
17.5k
          goto yy196;
3062
27.1k
        } else {
3063
22.8k
          if (yych == 'W') goto yy196;
3064
18.9k
          goto yy20;
3065
22.8k
        }
3066
50.0k
      }
3067
84.0k
    }
3068
1.49M
  } else {
3069
279k
    if (yych <= 'r') {
3070
137k
      if (yych <= 'f') {
3071
76.4k
        if (yych <= 'c') {
3072
47.4k
          if (yych <= 'Y') goto yy196;
3073
21.3k
          goto yy20;
3074
47.4k
        } else {
3075
29.0k
          if (yych == 'e') goto yy20;
3076
18.3k
          goto yy196;
3077
29.0k
        }
3078
76.4k
      } else {
3079
60.7k
        if (yych <= 'h') {
3080
13.4k
          if (yych <= 'g') goto yy20;
3081
4.30k
          goto yy196;
3082
47.2k
        } else {
3083
47.2k
          if (yych == 'm') goto yy196;
3084
41.8k
          goto yy20;
3085
47.2k
        }
3086
60.7k
      }
3087
142k
    } else {
3088
142k
      if (yych <= 'y') {
3089
43.8k
        if (yych <= 'v') {
3090
30.8k
          if (yych <= 'u') goto yy196;
3091
9.99k
          goto yy20;
3092
30.8k
        } else {
3093
12.9k
          if (yych == 'x') goto yy20;
3094
9.53k
          goto yy196;
3095
12.9k
        }
3096
98.1k
      } else {
3097
98.1k
        if (yych <= 0xC2) {
3098
41.8k
          if (yych <= 0xC1) goto yy20;
3099
3.37k
          goto yy97;
3100
56.3k
        } else {
3101
56.3k
          if (yych == 0xE2) goto yy98;
3102
53.6k
          goto yy20;
3103
56.3k
        }
3104
98.1k
      }
3105
142k
    }
3106
279k
  }
3107
794k
yy65:
3108
794k
  YYDEBUG(65, *YYCURSOR);
3109
794k
  yyaccept = 2;
3110
794k
  yych = *(YYMARKER = ++YYCURSOR);
3111
794k
  if (yych <= 'W') {
3112
618k
    if (yych <= 'C') {
3113
564k
      if (yych <= '/') {
3114
107k
        if (yych <= '\t') {
3115
32.9k
          if (yych <= 0x08) goto yy20;
3116
7.76k
          goto yy196;
3117
74.7k
        } else {
3118
74.7k
          if (yych == ' ') goto yy196;
3119
72.1k
          goto yy20;
3120
74.7k
        }
3121
456k
      } else {
3122
456k
        if (yych <= '5') {
3123
350k
          if (yych <= '4') goto yy202;
3124
23.0k
          goto yy204;
3125
350k
        } else {
3126
105k
          if (yych <= '9') goto yy205;
3127
35.7k
          if (yych <= ':') goto yy203;
3128
13.3k
          goto yy20;
3129
35.7k
        }
3130
456k
      }
3131
564k
    } else {
3132
54.6k
      if (yych <= 'H') {
3133
19.9k
        if (yych <= 'E') {
3134
8.89k
          if (yych <= 'D') goto yy196;
3135
4.97k
          goto yy20;
3136
11.0k
        } else {
3137
11.0k
          if (yych == 'G') goto yy20;
3138
9.07k
          goto yy196;
3139
11.0k
        }
3140
34.6k
      } else {
3141
34.6k
        if (yych <= 'R') {
3142
14.4k
          if (yych == 'M') goto yy196;
3143
11.3k
          goto yy20;
3144
20.1k
        } else {
3145
20.1k
          if (yych == 'V') goto yy20;
3146
14.2k
          goto yy196;
3147
20.1k
        }
3148
34.6k
      }
3149
54.6k
    }
3150
618k
  } else {
3151
175k
    if (yych <= 'm') {
3152
78.3k
      if (yych <= 'e') {
3153
41.8k
        if (yych <= 'Y') {
3154
11.1k
          if (yych <= 'X') goto yy20;
3155
7.09k
          goto yy196;
3156
30.6k
        } else {
3157
30.6k
          if (yych == 'd') goto yy196;
3158
24.7k
          goto yy20;
3159
30.6k
        }
3160
41.8k
      } else {
3161
36.5k
        if (yych <= 'g') {
3162
17.7k
          if (yych <= 'f') goto yy196;
3163
6.04k
          goto yy20;
3164
18.8k
        } else {
3165
18.8k
          if (yych <= 'h') goto yy196;
3166
17.1k
          if (yych <= 'l') goto yy20;
3167
7.31k
          goto yy196;
3168
17.1k
        }
3169
36.5k
      }
3170
97.1k
    } else {
3171
97.1k
      if (yych <= 'x') {
3172
47.8k
        if (yych <= 'u') {
3173
34.0k
          if (yych <= 'r') goto yy20;
3174
15.6k
          goto yy196;
3175
34.0k
        } else {
3176
13.8k
          if (yych == 'w') goto yy196;
3177
10.5k
          goto yy20;
3178
13.8k
        }
3179
49.3k
      } else {
3180
49.3k
        if (yych <= 0xC2) {
3181
32.9k
          if (yych <= 'y') goto yy196;
3182
27.7k
          if (yych <= 0xC1) goto yy20;
3183
4.14k
          goto yy97;
3184
27.7k
        } else {
3185
16.3k
          if (yych == 0xE2) goto yy98;
3186
13.7k
          goto yy20;
3187
16.3k
        }
3188
49.3k
      }
3189
97.1k
    }
3190
175k
  }
3191
1.40M
yy66:
3192
1.40M
  YYDEBUG(66, *YYCURSOR);
3193
1.40M
  yyaccept = 2;
3194
1.40M
  yych = *(YYMARKER = ++YYCURSOR);
3195
1.40M
  if (yych <= 'W') {
3196
1.12M
    if (yych <= 'D') {
3197
1.06M
      if (yych <= '/') {
3198
143k
        if (yych <= '\t') {
3199
45.0k
          if (yych <= 0x08) goto yy20;
3200
6.39k
          goto yy196;
3201
98.4k
        } else {
3202
98.4k
          if (yych == ' ') goto yy196;
3203
92.2k
          goto yy20;
3204
98.4k
        }
3205
919k
      } else {
3206
919k
        if (yych <= '9') {
3207
850k
          if (yych <= '5') goto yy204;
3208
245k
          goto yy205;
3209
850k
        } else {
3210
68.7k
          if (yych <= ':') goto yy203;
3211
44.6k
          if (yych <= 'C') goto yy20;
3212
5.78k
          goto yy196;
3213
44.6k
        }
3214
919k
      }
3215
1.06M
    } else {
3216
59.1k
      if (yych <= 'L') {
3217
26.0k
        if (yych <= 'F') {
3218
12.4k
          if (yych <= 'E') goto yy20;
3219
6.54k
          goto yy196;
3220
13.5k
        } else {
3221
13.5k
          if (yych == 'H') goto yy196;
3222
8.79k
          goto yy20;
3223
13.5k
        }
3224
33.1k
      } else {
3225
33.1k
        if (yych <= 'R') {
3226
12.6k
          if (yych <= 'M') goto yy196;
3227
9.40k
          goto yy20;
3228
20.5k
        } else {
3229
20.5k
          if (yych == 'V') goto yy20;
3230
11.4k
          goto yy196;
3231
20.5k
        }
3232
33.1k
      }
3233
59.1k
    }
3234
1.12M
  } else {
3235
277k
    if (yych <= 'm') {
3236
78.6k
      if (yych <= 'e') {
3237
31.7k
        if (yych <= 'Y') {
3238
5.51k
          if (yych <= 'X') goto yy20;
3239
3.94k
          goto yy196;
3240
26.2k
        } else {
3241
26.2k
          if (yych == 'd') goto yy196;
3242
19.0k
          goto yy20;
3243
26.2k
        }
3244
46.8k
      } else {
3245
46.8k
        if (yych <= 'g') {
3246
21.2k
          if (yych <= 'f') goto yy196;
3247
7.78k
          goto yy20;
3248
25.6k
        } else {
3249
25.6k
          if (yych <= 'h') goto yy196;
3250
20.7k
          if (yych <= 'l') goto yy20;
3251
5.62k
          goto yy196;
3252
20.7k
        }
3253
46.8k
      }
3254
199k
    } else {
3255
199k
      if (yych <= 'x') {
3256
120k
        if (yych <= 'u') {
3257
112k
          if (yych <= 'r') goto yy20;
3258
36.5k
          goto yy196;
3259
112k
        } else {
3260
8.64k
          if (yych == 'w') goto yy196;
3261
4.64k
          goto yy20;
3262
8.64k
        }
3263
120k
      } else {
3264
78.2k
        if (yych <= 0xC2) {
3265
32.7k
          if (yych <= 'y') goto yy196;
3266
30.0k
          if (yych <= 0xC1) goto yy20;
3267
5.84k
          goto yy97;
3268
45.4k
        } else {
3269
45.4k
          if (yych == 0xE2) goto yy98;
3270
39.9k
          goto yy20;
3271
45.4k
        }
3272
78.2k
      }
3273
199k
    }
3274
277k
  }
3275
182k
yy67:
3276
182k
  YYDEBUG(67, *YYCURSOR);
3277
182k
  yych = *++YYCURSOR;
3278
182k
  if (yych <= '/') goto yy69;
3279
130k
  if (yych <= '0') goto yy208;
3280
114k
  if (yych <= '1') goto yy209;
3281
98.8k
  if (yych <= '9') goto yy210;
3282
54.2k
  goto yy69;
3283
344k
yy68:
3284
344k
  YYDEBUG(68, *YYCURSOR);
3285
344k
  ++YYCURSOR;
3286
344k
  if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13);
3287
344k
  yych = *YYCURSOR;
3288
3.97M
yy69:
3289
3.97M
  YYDEBUG(69, *YYCURSOR);
3290
3.97M
  if (yych <= 'W') {
3291
2.59M
    if (yych <= 'G') {
3292
1.65M
      if (yych <= '.') {
3293
782k
        if (yych <= 0x1F) {
3294
292k
          if (yych == '\t') goto yy68;
3295
212k
          goto yy59;
3296
489k
        } else {
3297
489k
          if (yych <= ' ') goto yy68;
3298
225k
          if (yych <= ',') goto yy59;
3299
22.7k
          goto yy206;
3300
225k
        }
3301
871k
      } else {
3302
871k
        if (yych <= 'C') {
3303
605k
          if (yych == 'A') goto yy76;
3304
429k
          goto yy59;
3305
605k
        } else {
3306
265k
          if (yych <= 'D') goto yy77;
3307
224k
          if (yych == 'F') goto yy78;
3308
65.2k
          goto yy59;
3309
224k
        }
3310
871k
      }
3311
1.65M
    } else {
3312
939k
      if (yych <= 'N') {
3313
367k
        if (yych <= 'J') {
3314
123k
          if (yych <= 'H') goto yy79;
3315
85.8k
          if (yych <= 'I') goto yy80;
3316
42.4k
          goto yy82;
3317
243k
        } else {
3318
243k
          if (yych <= 'L') goto yy59;
3319
225k
          if (yych <= 'M') goto yy83;
3320
135k
          goto yy84;
3321
225k
        }
3322
572k
      } else {
3323
572k
        if (yych <= 'S') {
3324
204k
          if (yych <= 'O') goto yy85;
3325
167k
          if (yych <= 'R') goto yy59;
3326
136k
          goto yy86;
3327
367k
        } else {
3328
367k
          if (yych <= 'T') goto yy87;
3329
145k
          if (yych <= 'U') goto yy88;
3330
124k
          if (yych <= 'V') goto yy89;
3331
41.9k
          goto yy90;
3332
124k
        }
3333
572k
      }
3334
939k
    }
3335
2.59M
  } else {
3336
1.38M
    if (yych <= 'l') {
3337
630k
      if (yych <= 'd') {
3338
338k
        if (yych <= '`') {
3339
144k
          if (yych <= 'X') goto yy91;
3340
79.5k
          if (yych <= 'Y') goto yy92;
3341
39.1k
          goto yy59;
3342
194k
        } else {
3343
194k
          if (yych <= 'a') goto yy76;
3344
94.7k
          if (yych <= 'c') goto yy59;
3345
86.5k
          goto yy77;
3346
94.7k
        }
3347
338k
      } else {
3348
291k
        if (yych <= 'g') {
3349
182k
          if (yych == 'f') goto yy78;
3350
74.2k
          goto yy59;
3351
182k
        } else {
3352
108k
          if (yych <= 'h') goto yy79;
3353
68.5k
          if (yych == 'j') goto yy82;
3354
35.7k
          goto yy59;
3355
68.5k
        }
3356
291k
      }
3357
753k
    } else {
3358
753k
      if (yych <= 'u') {
3359
261k
        if (yych <= 'o') {
3360
188k
          if (yych <= 'm') goto yy83;
3361
105k
          if (yych <= 'n') goto yy84;
3362
99.2k
          goto yy85;
3363
105k
        } else {
3364
73.8k
          if (yych <= 'r') goto yy59;
3365
46.8k
          if (yych <= 's') goto yy86;
3366
36.1k
          if (yych <= 't') goto yy87;
3367
28.8k
          goto yy88;
3368
36.1k
        }
3369
491k
      } else {
3370
491k
        if (yych <= 'x') {
3371
58.0k
          if (yych == 'w') goto yy90;
3372
21.7k
          goto yy59;
3373
433k
        } else {
3374
433k
          if (yych <= 'y') goto yy92;
3375
369k
          if (yych == 0xC2) goto yy211;
3376
364k
          goto yy59;
3377
369k
        }
3378
491k
      }
3379
753k
    }
3380
1.38M
  }
3381
1.85M
yy70:
3382
1.85M
  YYDEBUG(70, *YYCURSOR);
3383
1.85M
  yych = *++YYCURSOR;
3384
1.85M
  if (yych <= '/') goto yy207;
3385
1.62M
  if (yych <= '0') goto yy212;
3386
1.26M
  if (yych <= '1') goto yy213;
3387
1.05M
  if (yych <= '9') goto yy214;
3388
585k
  goto yy207;
3389
585k
yy71:
3390
423k
  YYDEBUG(71, *YYCURSOR);
3391
423k
  yych = *++YYCURSOR;
3392
423k
  if (yych <= '1') {
3393
222k
    if (yych <= '/') goto yy207;
3394
161k
    if (yych <= '0') goto yy219;
3395
70.9k
    goto yy220;
3396
200k
  } else {
3397
200k
    if (yych <= '5') goto yy221;
3398
160k
    if (yych <= '9') goto yy222;
3399
110k
    goto yy207;
3400
160k
  }
3401
1.11M
yy72:
3402
1.11M
  YYDEBUG(72, *YYCURSOR);
3403
1.11M
  yych = *++YYCURSOR;
3404
1.11M
  switch (yych) {
3405
52.5k
  case '0':
3406
161k
  case '1':
3407
202k
  case '2': goto yy223;
3408
32.4k
  case '3': goto yy225;
3409
4.37k
  case '4':
3410
9.28k
  case '5':
3411
19.3k
  case '6':
3412
36.4k
  case '7':
3413
46.0k
  case '8':
3414
51.7k
  case '9': goto yy226;
3415
21.1k
  case 'A':
3416
46.1k
  case 'a': goto yy227;
3417
10.7k
  case 'D':
3418
27.8k
  case 'd': goto yy228;
3419
6.74k
  case 'F':
3420
14.6k
  case 'f': goto yy229;
3421
10.7k
  case 'J':
3422
256k
  case 'j': goto yy230;
3423
13.1k
  case 'M':
3424
52.7k
  case 'm': goto yy231;
3425
16.5k
  case 'N':
3426
38.5k
  case 'n': goto yy232;
3427
35.4k
  case 'O':
3428
61.2k
  case 'o': goto yy233;
3429
43.0k
  case 'S':
3430
52.3k
  case 's': goto yy234;
3431
277k
  default:  goto yy59;
3432
1.11M
  }
3433
3.38M
yy73:
3434
3.38M
  YYDEBUG(73, *YYCURSOR);
3435
3.38M
  yych = *++YYCURSOR;
3436
3.38M
  if (yych <= 'm') {
3437
3.12M
    if (yych <= '.') {
3438
426k
      if (yych <= '\t') {
3439
89.3k
        if (yych <= 0x08) goto yy69;
3440
23.4k
        goto yy67;
3441
337k
      } else {
3442
337k
        if (yych <= ',') goto yy69;
3443
202k
        if (yych <= '-') goto yy235;
3444
71.9k
        goto yy71;
3445
202k
      }
3446
2.69M
    } else {
3447
2.69M
      if (yych <= '5') {
3448
2.12M
        if (yych <= '/') goto yy72;
3449
2.08M
        goto yy236;
3450
2.12M
      } else {
3451
569k
        if (yych <= '9') goto yy237;
3452
447k
        if (yych <= ':') goto yy75;
3453
389k
        goto yy69;
3454
447k
      }
3455
2.69M
    }
3456
3.12M
  } else {
3457
260k
    if (yych <= 't') {
3458
91.4k
      if (yych <= 'q') {
3459
36.6k
        if (yych <= 'n') goto yy93;
3460
20.8k
        goto yy69;
3461
54.8k
      } else {
3462
54.8k
        if (yych <= 'r') goto yy94;
3463
49.9k
        if (yych <= 's') goto yy95;
3464
30.0k
        goto yy96;
3465
49.9k
      }
3466
169k
    } else {
3467
169k
      if (yych <= 0xC2) {
3468
75.0k
        if (yych <= 0xC1) goto yy69;
3469
7.38k
        goto yy97;
3470
94.4k
      } else {
3471
94.4k
        if (yych == 0xE2) goto yy98;
3472
79.6k
        goto yy69;
3473
94.4k
      }
3474
169k
    }
3475
260k
  }
3476
5.50M
yy74:
3477
5.50M
  YYDEBUG(74, *YYCURSOR);
3478
5.50M
  yych = *++YYCURSOR;
3479
5.50M
  if (yych <= 'm') {
3480
4.95M
    if (yych <= '.') {
3481
743k
      if (yych <= '\t') {
3482
163k
        if (yych <= 0x08) goto yy101;
3483
48.4k
        goto yy99;
3484
580k
      } else {
3485
580k
        if (yych <= ',') goto yy101;
3486
382k
        if (yych <= '-') goto yy235;
3487
116k
        goto yy102;
3488
382k
      }
3489
4.20M
    } else {
3490
4.20M
      if (yych <= '5') {
3491
1.59M
        if (yych <= '/') goto yy72;
3492
1.46M
        goto yy236;
3493
2.60M
      } else {
3494
2.60M
        if (yych <= '9') goto yy237;
3495
2.30M
        if (yych <= ':') goto yy104;
3496
702k
        goto yy101;
3497
2.30M
      }
3498
4.20M
    }
3499
4.95M
  } else {
3500
550k
    if (yych <= 't') {
3501
159k
      if (yych <= 'q') {
3502
70.3k
        if (yych <= 'n') goto yy93;
3503
46.7k
        goto yy101;
3504
89.1k
      } else {
3505
89.1k
        if (yych <= 'r') goto yy94;
3506
70.6k
        if (yych <= 's') goto yy95;
3507
39.7k
        goto yy96;
3508
70.6k
      }
3509
391k
    } else {
3510
391k
      if (yych <= 0xC2) {
3511
206k
        if (yych <= 0xC1) goto yy101;
3512
44.9k
        goto yy107;
3513
206k
      } else {
3514
185k
        if (yych == 0xE2) goto yy108;
3515
146k
        goto yy101;
3516
185k
      }
3517
391k
    }
3518
550k
  }
3519
1.17M
yy75:
3520
1.17M
  YYDEBUG(75, *YYCURSOR);
3521
1.17M
  yych = *++YYCURSOR;
3522
1.17M
  if (yych <= '/') goto yy59;
3523
651k
  if (yych <= '5') goto yy238;
3524
335k
  if (yych <= '9') goto yy239;
3525
302k
  goto yy59;
3526
402k
yy76:
3527
402k
  YYDEBUG(76, *YYCURSOR);
3528
402k
  yych = *++YYCURSOR;
3529
402k
  if (yych <= 'U') {
3530
188k
    if (yych == 'P') goto yy240;
3531
176k
    if (yych <= 'T') goto yy59;
3532
17.2k
    goto yy241;
3533
213k
  } else {
3534
213k
    if (yych <= 'p') {
3535
103k
      if (yych <= 'o') goto yy59;
3536
33.1k
      goto yy240;
3537
110k
    } else {
3538
110k
      if (yych == 'u') goto yy241;
3539
76.3k
      goto yy59;
3540
110k
    }
3541
213k
  }
3542
376k
yy77:
3543
376k
  YYDEBUG(77, *YYCURSOR);
3544
376k
  yych = *++YYCURSOR;
3545
376k
  if (yych <= 'E') {
3546
168k
    if (yych == 'A') goto yy242;
3547
162k
    if (yych <= 'D') goto yy59;
3548
9.87k
    goto yy243;
3549
207k
  } else {
3550
207k
    if (yych <= 'a') {
3551
93.0k
      if (yych <= '`') goto yy59;
3552
55.7k
      goto yy242;
3553
114k
    } else {
3554
114k
      if (yych == 'e') goto yy243;
3555
92.2k
      goto yy59;
3556
114k
    }
3557
207k
  }
3558
709k
yy78:
3559
709k
  YYDEBUG(78, *YYCURSOR);
3560
709k
  yych = *++YYCURSOR;
3561
709k
  if (yych <= 'R') {
3562
267k
    if (yych <= 'N') {
3563
180k
      if (yych == 'E') goto yy244;
3564
162k
      goto yy59;
3565
180k
    } else {
3566
87.2k
      if (yych <= 'O') goto yy245;
3567
24.4k
      if (yych <= 'Q') goto yy59;
3568
7.97k
      goto yy246;
3569
24.4k
    }
3570
442k
  } else {
3571
442k
    if (yych <= 'n') {
3572
280k
      if (yych == 'e') goto yy244;
3573
241k
      goto yy59;
3574
280k
    } else {
3575
161k
      if (yych <= 'o') goto yy245;
3576
126k
      if (yych == 'r') goto yy246;
3577
50.0k
      goto yy59;
3578
126k
    }
3579
442k
  }
3580
409k
yy79:
3581
409k
  YYDEBUG(79, *YYCURSOR);
3582
409k
  yych = *++YYCURSOR;
3583
409k
  if (yych == 'O') goto yy247;
3584
404k
  if (yych == 'o') goto yy247;
3585
377k
  goto yy59;
3586
377k
yy80:
3587
175k
  YYDEBUG(80, *YYCURSOR);
3588
175k
  yyaccept = 3;
3589
175k
  yych = *(YYMARKER = ++YYCURSOR);
3590
175k
  if (yych <= '/') {
3591
35.6k
    if (yych <= 0x1F) {
3592
15.7k
      if (yych == '\t') goto yy248;
3593
19.8k
    } else {
3594
19.8k
      if (yych <= ' ') goto yy248;
3595
16.0k
      if (yych <= ',') goto yy81;
3596
10.3k
      if (yych <= '.') goto yy248;
3597
10.3k
    }
3598
139k
  } else {
3599
139k
    if (yych <= 'U') {
3600
91.2k
      if (yych <= '9') goto yy250;
3601
43.2k
      if (yych == 'I') goto yy252;
3602
48.5k
    } else {
3603
48.5k
      if (yych == 'W') goto yy81;
3604
45.8k
      if (yych <= 'X') goto yy253;
3605
45.8k
    }
3606
139k
  }
3607
699k
yy81:
3608
699k
  YYDEBUG(81, *YYCURSOR);
3609
699k
#line 1646 "ext/date/lib/parse_date.re"
3610
699k
  {
3611
699k
    DEBUG_OUTPUT("datenoyearrev");
3612
699k
    TIMELIB_INIT;
3613
699k
    TIMELIB_HAVE_DATE();
3614
36.7k
    s->time->d = timelib_get_nr(&ptr, 2);
3615
36.7k
    timelib_skip_day_suffix(&ptr);
3616
36.7k
    s->time->m = timelib_get_month(&ptr);
3617
36.7k
    TIMELIB_DEINIT;
3618
36.7k
    return TIMELIB_DATE_TEXT;
3619
699k
  }
3620
0
#line 3621 "ext/date/lib/parse_date.c"
3621
390k
yy82:
3622
390k
  YYDEBUG(82, *YYCURSOR);
3623
390k
  yych = *++YYCURSOR;
3624
390k
  if (yych <= 'U') {
3625
186k
    if (yych == 'A') goto yy254;
3626
173k
    if (yych <= 'T') goto yy59;
3627
52.2k
    goto yy255;
3628
203k
  } else {
3629
203k
    if (yych <= 'a') {
3630
77.1k
      if (yych <= '`') goto yy59;
3631
57.4k
      goto yy254;
3632
126k
    } else {
3633
126k
      if (yych == 'u') goto yy255;
3634
56.3k
      goto yy59;
3635
126k
    }
3636
203k
  }
3637
517k
yy83:
3638
517k
  YYDEBUG(83, *YYCURSOR);
3639
517k
  yych = *++YYCURSOR;
3640
517k
  if (yych <= 'S') {
3641
256k
    if (yych <= 'I') {
3642
220k
      if (yych == 'A') goto yy256;
3643
203k
      if (yych <= 'H') goto yy59;
3644
21.4k
      goto yy257;
3645
203k
    } else {
3646
35.7k
      if (yych == 'O') goto yy258;
3647
27.3k
      if (yych <= 'R') goto yy59;
3648
4.02k
      goto yy259;
3649
27.3k
    }
3650
261k
  } else {
3651
261k
    if (yych <= 'i') {
3652
169k
      if (yych == 'a') goto yy256;
3653
136k
      if (yych <= 'h') goto yy59;
3654
85.9k
      goto yy257;
3655
136k
    } else {
3656
92.3k
      if (yych <= 'o') {
3657
36.8k
        if (yych <= 'n') goto yy59;
3658
27.7k
        goto yy258;
3659
55.4k
      } else {
3660
55.4k
        if (yych == 's') goto yy259;
3661
51.6k
        goto yy59;
3662
55.4k
      }
3663
92.3k
    }
3664
261k
  }
3665
408k
yy84:
3666
408k
  YYDEBUG(84, *YYCURSOR);
3667
408k
  yych = *++YYCURSOR;
3668
408k
  if (yych == 'O') goto yy261;
3669
394k
  if (yych == 'o') goto yy261;
3670
250k
  goto yy59;
3671
438k
yy85:
3672
438k
  YYDEBUG(85, *YYCURSOR);
3673
438k
  yych = *++YYCURSOR;
3674
438k
  if (yych == 'C') goto yy262;
3675
413k
  if (yych == 'c') goto yy262;
3676
365k
  goto yy59;
3677
365k
yy86:
3678
349k
  YYDEBUG(86, *YYCURSOR);
3679
349k
  yych = *++YYCURSOR;
3680
349k
  if (yych <= 'U') {
3681
101k
    if (yych <= 'D') {
3682
84.6k
      if (yych == 'A') goto yy263;
3683
76.2k
      goto yy59;
3684
84.6k
    } else {
3685
17.1k
      if (yych <= 'E') goto yy264;
3686
8.26k
      if (yych <= 'T') goto yy59;
3687
928
      goto yy265;
3688
8.26k
    }
3689
248k
  } else {
3690
248k
    if (yych <= 'd') {
3691
46.5k
      if (yych == 'a') goto yy263;
3692
18.0k
      goto yy59;
3693
201k
    } else {
3694
201k
      if (yych <= 'e') goto yy264;
3695
80.9k
      if (yych == 'u') goto yy265;
3696
64.9k
      goto yy59;
3697
80.9k
    }
3698
248k
  }
3699
1.20M
yy87:
3700
1.20M
  YYDEBUG(87, *YYCURSOR);
3701
1.20M
  yych = *++YYCURSOR;
3702
1.20M
  if (yych <= 'U') {
3703
699k
    if (yych == 'H') goto yy266;
3704
680k
    if (yych <= 'T') goto yy59;
3705
19.9k
    goto yy267;
3706
680k
  } else {
3707
506k
    if (yych <= 'h') {
3708
223k
      if (yych <= 'g') goto yy59;
3709
102k
      goto yy266;
3710
282k
    } else {
3711
282k
      if (yych == 'u') goto yy267;
3712
265k
      goto yy59;
3713
282k
    }
3714
506k
  }
3715
289k
yy88:
3716
289k
  YYDEBUG(88, *YYCURSOR);
3717
289k
  yych = *++YYCURSOR;
3718
289k
  if (yych == 'S') goto yy268;
3719
276k
  if (yych == 's') goto yy268;
3720
263k
  goto yy59;
3721
263k
yy89:
3722
218k
  YYDEBUG(89, *YYCURSOR);
3723
218k
  yyaccept = 3;
3724
218k
  yych = *(YYMARKER = ++YYCURSOR);
3725
218k
  if (yych <= ',') {
3726
19.8k
    if (yych <= '\t') {
3727
6.66k
      if (yych <= 0x08) goto yy81;
3728
805
      goto yy248;
3729
13.1k
    } else {
3730
13.1k
      if (yych == ' ') goto yy248;
3731
11.3k
      goto yy81;
3732
13.1k
    }
3733
198k
  } else {
3734
198k
    if (yych <= '9') {
3735
97.7k
      if (yych <= '.') goto yy248;
3736
81.4k
      if (yych <= '/') goto yy81;
3737
78.2k
      goto yy250;
3738
101k
    } else {
3739
101k
      if (yych == 'I') goto yy91;
3740
66.3k
      goto yy81;
3741
101k
    }
3742
198k
  }
3743
493k
yy90:
3744
493k
  YYDEBUG(90, *YYCURSOR);
3745
493k
  yych = *++YYCURSOR;
3746
493k
  if (yych == 'E') goto yy269;
3747
437k
  if (yych == 'e') goto yy269;
3748
350k
  goto yy59;
3749
350k
yy91:
3750
172k
  YYDEBUG(91, *YYCURSOR);
3751
172k
  yyaccept = 3;
3752
172k
  yych = *(YYMARKER = ++YYCURSOR);
3753
172k
  if (yych <= ',') {
3754
19.9k
    if (yych <= '\t') {
3755
5.97k
      if (yych <= 0x08) goto yy81;
3756
1.23k
      goto yy248;
3757
13.9k
    } else {
3758
13.9k
      if (yych == ' ') goto yy248;
3759
11.9k
      goto yy81;
3760
13.9k
    }
3761
152k
  } else {
3762
152k
    if (yych <= '9') {
3763
68.5k
      if (yych <= '.') goto yy248;
3764
33.2k
      if (yych <= '/') goto yy81;
3765
27.8k
      goto yy250;
3766
83.5k
    } else {
3767
83.5k
      if (yych == 'I') goto yy252;
3768
51.1k
      goto yy81;
3769
83.5k
    }
3770
152k
  }
3771
552k
yy92:
3772
552k
  YYDEBUG(92, *YYCURSOR);
3773
552k
  yych = *++YYCURSOR;
3774
552k
  if (yych == 'E') goto yy270;
3775
533k
  if (yych == 'e') goto yy270;
3776
324k
  goto yy59;
3777
412k
yy93:
3778
412k
  YYDEBUG(93, *YYCURSOR);
3779
412k
  yych = *++YYCURSOR;
3780
412k
  if (yych <= 'c') {
3781
176k
    if (yych == 'O') goto yy261;
3782
173k
    goto yy59;
3783
235k
  } else {
3784
235k
    if (yych <= 'd') goto yy271;
3785
215k
    if (yych == 'o') goto yy261;
3786
198k
    goto yy59;
3787
215k
  }
3788
323k
yy94:
3789
323k
  YYDEBUG(94, *YYCURSOR);
3790
323k
  yych = *++YYCURSOR;
3791
323k
  if (yych == 'd') goto yy271;
3792
298k
  goto yy59;
3793
412k
yy95:
3794
412k
  YYDEBUG(95, *YYCURSOR);
3795
412k
  yych = *++YYCURSOR;
3796
412k
  if (yych <= '`') {
3797
242k
    if (yych <= 'D') {
3798
199k
      if (yych == 'A') goto yy263;
3799
195k
      goto yy59;
3800
199k
    } else {
3801
43.5k
      if (yych <= 'E') goto yy264;
3802
28.0k
      if (yych == 'U') goto yy265;
3803
20.4k
      goto yy59;
3804
28.0k
    }
3805
242k
  } else {
3806
170k
    if (yych <= 'e') {
3807
49.6k
      if (yych <= 'a') goto yy263;
3808
36.7k
      if (yych <= 'd') goto yy59;
3809
27.7k
      goto yy264;
3810
120k
    } else {
3811
120k
      if (yych <= 's') goto yy59;
3812
96.3k
      if (yych <= 't') goto yy271;
3813
37.7k
      if (yych <= 'u') goto yy265;
3814
33.0k
      goto yy59;
3815
37.7k
    }
3816
170k
  }
3817
570k
yy96:
3818
570k
  YYDEBUG(96, *YYCURSOR);
3819
570k
  yych = *++YYCURSOR;
3820
570k
  if (yych <= 'U') {
3821
295k
    if (yych == 'H') goto yy266;
3822
279k
    if (yych <= 'T') goto yy59;
3823
5.75k
    goto yy267;
3824
279k
  } else {
3825
274k
    if (yych <= 'h') {
3826
136k
      if (yych <= 'g') goto yy59;
3827
45.7k
      goto yy272;
3828
138k
    } else {
3829
138k
      if (yych == 'u') goto yy267;
3830
128k
      goto yy59;
3831
138k
    }
3832
274k
  }
3833
475k
yy97:
3834
475k
  YYDEBUG(97, *YYCURSOR);
3835
475k
  ++YYCURSOR;
3836
475k
  if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
3837
475k
  yych = *YYCURSOR;
3838
475k
  if (yych == 0xA0) goto yy273;
3839
187k
  if (yych == 0xB5) goto yy274;
3840
183k
  goto yy59;
3841
497k
yy98:
3842
497k
  YYDEBUG(98, *YYCURSOR);
3843
497k
  ++YYCURSOR;
3844
497k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
3845
497k
  yych = *YYCURSOR;
3846
497k
  if (yych == 0x80) goto yy275;
3847
143k
  goto yy59;
3848
368k
yy99:
3849
368k
  YYDEBUG(99, *YYCURSOR);
3850
368k
  yych = *++YYCURSOR;
3851
368k
  if (yych <= '/') goto yy101;
3852
244k
  if (yych <= '0') goto yy208;
3853
212k
  if (yych <= '1') goto yy209;
3854
193k
  if (yych <= '9') goto yy210;
3855
131k
  goto yy101;
3856
590k
yy100:
3857
590k
  YYDEBUG(100, *YYCURSOR);
3858
590k
  ++YYCURSOR;
3859
590k
  if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13);
3860
590k
  yych = *YYCURSOR;
3861
5.63M
yy101:
3862
5.63M
  YYDEBUG(101, *YYCURSOR);
3863
5.63M
  if (yych <= 'W') {
3864
3.49M
    if (yych <= 'G') {
3865
1.91M
      if (yych <= '.') {
3866
997k
        if (yych <= 0x1F) {
3867
450k
          if (yych == '\t') goto yy100;
3868
216k
          goto yy59;
3869
546k
        } else {
3870
546k
          if (yych <= ' ') goto yy100;
3871
190k
          if (yych <= ',') goto yy59;
3872
34.8k
          goto yy206;
3873
190k
        }
3874
997k
      } else {
3875
915k
        if (yych <= 'C') {
3876
529k
          if (yych == 'A') goto yy105;
3877
290k
          goto yy59;
3878
529k
        } else {
3879
385k
          if (yych <= 'D') goto yy77;
3880
280k
          if (yych == 'F') goto yy78;
3881
42.9k
          goto yy59;
3882
280k
        }
3883
915k
      }
3884
1.91M
    } else {
3885
1.58M
      if (yych <= 'O') {
3886
725k
        if (yych <= 'J') {
3887
311k
          if (yych <= 'H') goto yy79;
3888
253k
          if (yych <= 'I') goto yy80;
3889
138k
          goto yy82;
3890
414k
        } else {
3891
414k
          if (yych <= 'L') goto yy59;
3892
391k
          if (yych <= 'M') goto yy83;
3893
258k
          if (yych <= 'N') goto yy84;
3894
81.8k
          goto yy85;
3895
258k
        }
3896
855k
      } else {
3897
855k
        if (yych <= 'S') {
3898
286k
          if (yych <= 'P') goto yy106;
3899
196k
          if (yych <= 'R') goto yy59;
3900
182k
          goto yy86;
3901
568k
        } else {
3902
568k
          if (yych <= 'T') goto yy87;
3903
263k
          if (yych <= 'U') goto yy88;
3904
226k
          if (yych <= 'V') goto yy89;
3905
109k
          goto yy90;
3906
226k
        }
3907
855k
      }
3908
1.58M
    }
3909
3.49M
  } else {
3910
2.13M
    if (yych <= 'm') {
3911
1.24M
      if (yych <= 'e') {
3912
622k
        if (yych <= '`') {
3913
217k
          if (yych <= 'X') goto yy91;
3914
153k
          if (yych <= 'Y') goto yy92;
3915
33.6k
          goto yy59;
3916
404k
        } else {
3917
404k
          if (yych <= 'a') goto yy105;
3918
192k
          if (yych == 'd') goto yy77;
3919
48.9k
          goto yy59;
3920
192k
        }
3921
622k
      } else {
3922
621k
        if (yych <= 'h') {
3923
304k
          if (yych <= 'f') goto yy78;
3924
100k
          if (yych <= 'g') goto yy59;
3925
87.7k
          goto yy79;
3926
316k
        } else {
3927
316k
          if (yych == 'j') goto yy82;
3928
241k
          if (yych <= 'l') goto yy59;
3929
212k
          goto yy83;
3930
241k
        }
3931
621k
      }
3932
1.24M
    } else {
3933
896k
      if (yych <= 'u') {
3934
417k
        if (yych <= 'p') {
3935
292k
          if (yych <= 'n') goto yy84;
3936
272k
          if (yych <= 'o') goto yy85;
3937
101k
          goto yy106;
3938
272k
        } else {
3939
124k
          if (yych <= 'r') goto yy59;
3940
112k
          if (yych <= 's') goto yy86;
3941
92.7k
          if (yych <= 't') goto yy87;
3942
79.6k
          goto yy88;
3943
92.7k
        }
3944
478k
      } else {
3945
478k
        if (yych <= 'x') {
3946
85.9k
          if (yych == 'w') goto yy90;
3947
21.6k
          goto yy59;
3948
392k
        } else {
3949
392k
          if (yych <= 'y') goto yy92;
3950
313k
          if (yych == 0xC2) goto yy211;
3951
305k
          goto yy59;
3952
313k
        }
3953
478k
      }
3954
896k
    }
3955
2.13M
  }
3956
841k
yy102:
3957
841k
  YYDEBUG(102, *YYCURSOR);
3958
841k
  yych = *++YYCURSOR;
3959
841k
  if (yych <= '1') {
3960
447k
    if (yych <= '/') goto yy207;
3961
361k
    if (yych <= '0') goto yy276;
3962
197k
    goto yy277;
3963
394k
  } else {
3964
394k
    if (yych <= '5') goto yy278;
3965
246k
    if (yych <= '9') goto yy279;
3966
190k
    goto yy207;
3967
246k
  }
3968
2.86M
yy103:
3969
2.86M
  YYDEBUG(103, *YYCURSOR);
3970
2.86M
  yych = *++YYCURSOR;
3971
2.86M
  if (yych <= 'm') {
3972
2.56M
    if (yych <= '.') {
3973
383k
      if (yych <= '\t') {
3974
112k
        if (yych <= 0x08) goto yy69;
3975
52.1k
        goto yy67;
3976
270k
      } else {
3977
270k
        if (yych <= ',') goto yy69;
3978
156k
        if (yych <= '-') goto yy235;
3979
36.5k
        goto yy71;
3980
156k
      }
3981
2.17M
    } else {
3982
2.17M
      if (yych <= '5') {
3983
1.09M
        if (yych <= '/') goto yy280;
3984
976k
        goto yy236;
3985
1.09M
      } else {
3986
1.08M
        if (yych <= '9') goto yy237;
3987
858k
        if (yych <= ':') goto yy75;
3988
532k
        goto yy69;
3989
858k
      }
3990
2.17M
    }
3991
2.56M
  } else {
3992
303k
    if (yych <= 't') {
3993
87.1k
      if (yych <= 'q') {
3994
33.3k
        if (yych <= 'n') goto yy93;
3995
11.2k
        goto yy69;
3996
53.7k
      } else {
3997
53.7k
        if (yych <= 'r') goto yy94;
3998
41.5k
        if (yych <= 's') goto yy95;
3999
23.9k
        goto yy96;
4000
41.5k
      }
4001
216k
    } else {
4002
216k
      if (yych <= 0xC2) {
4003
128k
        if (yych <= 0xC1) goto yy69;
4004
28.8k
        goto yy97;
4005
128k
      } else {
4006
87.3k
        if (yych == 0xE2) goto yy98;
4007
71.0k
        goto yy69;
4008
87.3k
      }
4009
216k
    }
4010
303k
  }
4011
6.01M
yy104:
4012
6.01M
  YYDEBUG(104, *YYCURSOR);
4013
6.01M
  yych = *++YYCURSOR;
4014
6.01M
  if (yych <= '/') goto yy59;
4015
2.33M
  if (yych <= '5') goto yy281;
4016
1.63M
  if (yych <= '9') goto yy282;
4017
1.54M
  goto yy59;
4018
1.54M
yy105:
4019
451k
  YYDEBUG(105, *YYCURSOR);
4020
451k
  yych = *++YYCURSOR;
4021
451k
  if (yych <= 'T') {
4022
185k
    if (yych <= 'L') {
4023
142k
      if (yych == '.') goto yy283;
4024
125k
      goto yy59;
4025
142k
    } else {
4026
42.8k
      if (yych <= 'M') goto yy284;
4027
21.2k
      if (yych == 'P') goto yy240;
4028
16.5k
      goto yy59;
4029
21.2k
    }
4030
265k
  } else {
4031
265k
    if (yych <= 'o') {
4032
155k
      if (yych <= 'U') goto yy241;
4033
137k
      if (yych == 'm') goto yy284;
4034
114k
      goto yy59;
4035
137k
    } else {
4036
110k
      if (yych <= 'p') goto yy240;
4037
95.1k
      if (yych == 'u') goto yy241;
4038
75.4k
      goto yy59;
4039
95.1k
    }
4040
265k
  }
4041
335k
yy106:
4042
335k
  YYDEBUG(106, *YYCURSOR);
4043
335k
  yych = *++YYCURSOR;
4044
335k
  if (yych <= 'L') {
4045
126k
    if (yych == '.') goto yy283;
4046
110k
    goto yy59;
4047
208k
  } else {
4048
208k
    if (yych <= 'M') goto yy284;
4049
187k
    if (yych == 'm') goto yy284;
4050
165k
    goto yy59;
4051
187k
  }
4052
325k
yy107:
4053
325k
  YYDEBUG(107, *YYCURSOR);
4054
325k
  ++YYCURSOR;
4055
325k
  if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
4056
325k
  yych = *YYCURSOR;
4057
325k
  if (yych == 0xA0) goto yy285;
4058
102k
  if (yych == 0xB5) goto yy274;
4059
96.9k
  goto yy59;
4060
258k
yy108:
4061
258k
  YYDEBUG(108, *YYCURSOR);
4062
258k
  ++YYCURSOR;
4063
258k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
4064
258k
  yych = *YYCURSOR;
4065
258k
  if (yych == 0x80) goto yy286;
4066
75.5k
  goto yy59;
4067
1.07M
yy109:
4068
1.07M
  YYDEBUG(109, *YYCURSOR);
4069
1.07M
  yych = *++YYCURSOR;
4070
1.07M
  if (yych <= 'n') {
4071
907k
    if (yych <= '-') {
4072
163k
      if (yych == '\t') goto yy67;
4073
144k
      if (yych <= ',') goto yy69;
4074
69.1k
      goto yy235;
4075
743k
    } else {
4076
743k
      if (yych <= '/') {
4077
51.7k
        if (yych <= '.') goto yy287;
4078
23.4k
        goto yy280;
4079
692k
      } else {
4080
692k
        if (yych <= '9') goto yy237;
4081
250k
        if (yych <= 'm') goto yy69;
4082
7.65k
        goto yy93;
4083
250k
      }
4084
743k
    }
4085
907k
  } else {
4086
163k
    if (yych <= 't') {
4087
35.0k
      if (yych <= 'q') goto yy69;
4088
26.0k
      if (yych <= 'r') goto yy94;
4089
20.7k
      if (yych <= 's') goto yy95;
4090
13.2k
      goto yy96;
4091
128k
    } else {
4092
128k
      if (yych <= 0xC2) {
4093
73.5k
        if (yych <= 0xC1) goto yy69;
4094
31.2k
        goto yy97;
4095
73.5k
      } else {
4096
55.0k
        if (yych == 0xE2) goto yy98;
4097
25.3k
        goto yy69;
4098
55.0k
      }
4099
128k
    }
4100
163k
  }
4101
7.48M
yy110:
4102
7.48M
  YYDEBUG(110, *YYCURSOR);
4103
7.48M
  yych = *++YYCURSOR;
4104
7.48M
  if (yych <= '9') {
4105
5.19M
    if (yych == '-') goto yy288;
4106
4.77M
    if (yych <= '/') goto yy196;
4107
4.10M
    goto yy237;
4108
4.77M
  } else {
4109
2.28M
    if (yych <= 0xC2) {
4110
2.03M
      if (yych <= 0xC1) goto yy196;
4111
40.8k
      goto yy97;
4112
2.03M
    } else {
4113
256k
      if (yych == 0xE2) goto yy98;
4114
224k
      goto yy196;
4115
256k
    }
4116
2.28M
  }
4117
38.9k
yy111:
4118
38.9k
  YYDEBUG(111, *YYCURSOR);
4119
38.9k
  yych = *++YYCURSOR;
4120
38.9k
  if (yybm[0+yych] & 8) {
4121
12.1k
    goto yy112;
4122
12.1k
  }
4123
26.8k
  goto yy59;
4124
1.17M
yy112:
4125
1.17M
  YYDEBUG(112, *YYCURSOR);
4126
1.17M
  ++YYCURSOR;
4127
1.17M
  if ((YYLIMIT - YYCURSOR) < 7) YYFILL(7);
4128
1.17M
  yych = *YYCURSOR;
4129
1.17M
  YYDEBUG(113, *YYCURSOR);
4130
1.17M
  if (yybm[0+yych] & 8) {
4131
584k
    goto yy112;
4132
584k
  }
4133
594k
  if (yych == '.') goto yy289;
4134
540k
  YYDEBUG(114, *YYCURSOR);
4135
540k
#line 1221 "ext/date/lib/parse_date.re"
4136
540k
  {
4137
540k
    timelib_ull i;
4138
4139
540k
    TIMELIB_INIT;
4140
540k
    TIMELIB_HAVE_RELATIVE();
4141
540k
    TIMELIB_UNHAVE_DATE();
4142
540k
    TIMELIB_UNHAVE_TIME();
4143
540k
    TIMELIB_HAVE_TZ();
4144
4145
304
    i = timelib_get_signed_nr(s, &ptr, 24);
4146
304
    s->time->y = 1970;
4147
304
    s->time->m = 1;
4148
304
    s->time->d = 1;
4149
304
    s->time->h = s->time->i = s->time->s = 0;
4150
304
    s->time->us = 0;
4151
304
    s->time->relative.s += i;
4152
304
    s->time->is_localtime = 1;
4153
304
    s->time->zone_type = TIMELIB_ZONETYPE_OFFSET;
4154
304
    s->time->z = 0;
4155
304
    s->time->dst = 0;
4156
4157
304
    TIMELIB_DEINIT;
4158
304
    return TIMELIB_RELATIVE;
4159
540k
  }
4160
0
#line 4161 "ext/date/lib/parse_date.c"
4161
1.41M
yy115:
4162
1.41M
  YYDEBUG(115, *YYCURSOR);
4163
1.41M
  ++YYCURSOR;
4164
1.41M
  goto yy20;
4165
11.4M
yy116:
4166
11.4M
  YYDEBUG(116, *YYCURSOR);
4167
11.4M
  yych = *++YYCURSOR;
4168
11.4M
  if (yych <= '@') {
4169
3.77M
    if (yych == ')') goto yy115;
4170
3.67M
    goto yy20;
4171
7.71M
  } else {
4172
7.71M
    if (yych <= 'Z') goto yy291;
4173
6.32M
    if (yych <= '`') goto yy20;
4174
6.01M
    if (yych <= 'z') goto yy291;
4175
855k
    goto yy20;
4176
6.01M
  }
4177
63.4k
yy117:
4178
63.4k
  YYDEBUG(117, *YYCURSOR);
4179
63.4k
  yych = *++YYCURSOR;
4180
63.4k
  if (yych <= 'O') {
4181
38.6k
    if (yych <= ')') {
4182
12.2k
      if (yych <= '(') goto yy20;
4183
940
      goto yy115;
4184
26.3k
    } else {
4185
26.3k
      if (yych <= '@') goto yy20;
4186
8.08k
      if (yych <= 'N') goto yy291;
4187
4.30k
      goto yy292;
4188
8.08k
    }
4189
38.6k
  } else {
4190
24.8k
    if (yych <= 'n') {
4191
10.5k
      if (yych <= 'Z') goto yy291;
4192
8.10k
      if (yych <= '`') goto yy20;
4193
7.13k
      goto yy291;
4194
14.3k
    } else {
4195
14.3k
      if (yych <= 'o') goto yy292;
4196
7.77k
      if (yych <= 'z') goto yy291;
4197
4.06k
      goto yy20;
4198
7.77k
    }
4199
24.8k
  }
4200
95.2k
yy118:
4201
95.2k
  YYDEBUG(118, *YYCURSOR);
4202
95.2k
  yych = *++YYCURSOR;
4203
95.2k
  if (yych <= 'R') {
4204
37.0k
    if (yych <= ')') {
4205
6.63k
      if (yych <= '(') goto yy20;
4206
530
      goto yy115;
4207
30.4k
    } else {
4208
30.4k
      if (yych <= '@') goto yy20;
4209
17.8k
      if (yych <= 'Q') goto yy291;
4210
15.4k
      goto yy294;
4211
17.8k
    }
4212
58.1k
  } else {
4213
58.1k
    if (yych <= 'q') {
4214
14.0k
      if (yych <= 'Z') goto yy291;
4215
6.89k
      if (yych <= '`') goto yy20;
4216
4.72k
      goto yy291;
4217
44.0k
    } else {
4218
44.0k
      if (yych <= 'r') goto yy294;
4219
8.44k
      if (yych <= 'z') goto yy291;
4220
4.91k
      goto yy20;
4221
8.44k
    }
4222
58.1k
  }
4223
102k
yy119:
4224
102k
  YYDEBUG(119, *YYCURSOR);
4225
102k
  yych = *++YYCURSOR;
4226
102k
  if (yych <= 'G') {
4227
51.7k
    if (yych <= ')') {
4228
22.6k
      if (yych <= '(') goto yy20;
4229
13.6k
      goto yy115;
4230
29.0k
    } else {
4231
29.0k
      if (yych <= '@') goto yy20;
4232
22.0k
      if (yych <= 'F') goto yy291;
4233
18.3k
      goto yy296;
4234
22.0k
    }
4235
51.7k
  } else {
4236
51.0k
    if (yych <= 'f') {
4237
11.3k
      if (yych <= 'Z') goto yy291;
4238
6.39k
      if (yych <= '`') goto yy20;
4239
3.97k
      goto yy291;
4240
39.7k
    } else {
4241
39.7k
      if (yych <= 'g') goto yy296;
4242
18.0k
      if (yych <= 'z') goto yy291;
4243
5.97k
      goto yy20;
4244
18.0k
    }
4245
51.0k
  }
4246
3.14M
yy120:
4247
3.14M
  YYDEBUG(120, *YYCURSOR);
4248
3.14M
  yyaccept = 2;
4249
3.14M
  yych = *(YYMARKER = ++YYCURSOR);
4250
3.14M
  if (yych <= '/') {
4251
506k
    if (yych <= ',') {
4252
392k
      if (yych == ')') goto yy115;
4253
351k
      goto yy20;
4254
392k
    } else {
4255
113k
      if (yych == '.') goto yy20;
4256
82.1k
      goto yy297;
4257
113k
    }
4258
2.63M
  } else {
4259
2.63M
    if (yych <= '^') {
4260
1.07M
      if (yych <= '@') goto yy20;
4261
715k
      if (yych <= 'Z') goto yy291;
4262
27.0k
      goto yy20;
4263
1.56M
    } else {
4264
1.56M
      if (yych <= '_') goto yy297;
4265
1.53M
      if (yych <= '`') goto yy20;
4266
1.51M
      if (yych <= 'z') goto yy298;
4267
245k
      goto yy20;
4268
1.51M
    }
4269
2.63M
  }
4270
107k
yy121:
4271
107k
  YYDEBUG(121, *YYCURSOR);
4272
107k
  yyaccept = 2;
4273
107k
  yych = *(YYMARKER = ++YYCURSOR);
4274
107k
  if (yych <= 'N') {
4275
20.5k
    if (yych <= '-') {
4276
9.77k
      if (yych == ')') goto yy115;
4277
7.62k
      if (yych <= ',') goto yy20;
4278
1.17k
      goto yy297;
4279
10.7k
    } else {
4280
10.7k
      if (yych == '/') goto yy297;
4281
9.56k
      if (yych <= '@') goto yy20;
4282
1.63k
      goto yy291;
4283
9.56k
    }
4284
86.5k
  } else {
4285
86.5k
    if (yych <= '_') {
4286
12.6k
      if (yych <= 'O') goto yy292;
4287
8.87k
      if (yych <= 'Z') goto yy291;
4288
7.02k
      if (yych <= '^') goto yy20;
4289
2.79k
      goto yy297;
4290
73.8k
    } else {
4291
73.8k
      if (yych <= 'n') {
4292
11.4k
        if (yych <= '`') goto yy20;
4293
8.23k
        goto yy298;
4294
62.4k
      } else {
4295
62.4k
        if (yych <= 'o') goto yy299;
4296
5.69k
        if (yych <= 'z') goto yy298;
4297
4.06k
        goto yy20;
4298
5.69k
      }
4299
73.8k
    }
4300
86.5k
  }
4301
217k
yy122:
4302
217k
  YYDEBUG(122, *YYCURSOR);
4303
217k
  yyaccept = 2;
4304
217k
  yych = *(YYMARKER = ++YYCURSOR);
4305
217k
  if (yych <= 'Q') {
4306
37.7k
    if (yych <= '-') {
4307
11.2k
      if (yych == ')') goto yy115;
4308
10.1k
      if (yych <= ',') goto yy20;
4309
3.02k
      goto yy297;
4310
26.5k
    } else {
4311
26.5k
      if (yych == '/') goto yy297;
4312
22.5k
      if (yych <= '@') goto yy20;
4313
4.74k
      goto yy291;
4314
22.5k
    }
4315
179k
  } else {
4316
179k
    if (yych <= '_') {
4317
23.2k
      if (yych <= 'R') goto yy294;
4318
7.42k
      if (yych <= 'Z') goto yy291;
4319
5.29k
      if (yych <= '^') goto yy20;
4320
1.77k
      goto yy297;
4321
156k
    } else {
4322
156k
      if (yych <= 'q') {
4323
6.91k
        if (yych <= '`') goto yy20;
4324
5.61k
        goto yy298;
4325
149k
      } else {
4326
149k
        if (yych <= 'r') goto yy300;
4327
12.7k
        if (yych <= 'z') goto yy298;
4328
9.08k
        goto yy20;
4329
12.7k
      }
4330
156k
    }
4331
179k
  }
4332
310k
yy123:
4333
310k
  YYDEBUG(123, *YYCURSOR);
4334
310k
  yyaccept = 2;
4335
310k
  yych = *(YYMARKER = ++YYCURSOR);
4336
310k
  if (yych <= 'F') {
4337
30.8k
    if (yych <= '-') {
4338
9.80k
      if (yych == ')') goto yy115;
4339
9.52k
      if (yych <= ',') goto yy20;
4340
2.99k
      goto yy297;
4341
21.0k
    } else {
4342
21.0k
      if (yych == '/') goto yy297;
4343
20.2k
      if (yych <= '@') goto yy20;
4344
2.15k
      goto yy291;
4345
20.2k
    }
4346
280k
  } else {
4347
280k
    if (yych <= '_') {
4348
52.3k
      if (yych <= 'G') goto yy296;
4349
13.2k
      if (yych <= 'Z') goto yy291;
4350
8.61k
      if (yych <= '^') goto yy20;
4351
5.61k
      goto yy297;
4352
227k
    } else {
4353
227k
      if (yych <= 'f') {
4354
10.8k
        if (yych <= '`') goto yy20;
4355
8.30k
        goto yy298;
4356
216k
      } else {
4357
216k
        if (yych <= 'g') goto yy301;
4358
43.2k
        if (yych <= 'z') goto yy298;
4359
10.5k
        goto yy20;
4360
43.2k
      }
4361
227k
    }
4362
280k
  }
4363
87.7k
yy124:
4364
87.7k
  YYDEBUG(124, *YYCURSOR);
4365
87.7k
  yych = *++YYCURSOR;
4366
87.7k
  if (yych <= 'C') {
4367
61.1k
    if (yych <= ')') {
4368
7.12k
      if (yych <= '(') goto yy20;
4369
2.43k
      goto yy115;
4370
53.9k
    } else {
4371
53.9k
      if (yych <= '@') goto yy20;
4372
49.8k
      if (yych <= 'B') goto yy291;
4373
47.6k
      goto yy302;
4374
49.8k
    }
4375
61.1k
  } else {
4376
26.6k
    if (yych <= 'b') {
4377
10.6k
      if (yych <= 'Z') goto yy291;
4378
2.78k
      if (yych <= '`') goto yy20;
4379
1.95k
      goto yy291;
4380
16.0k
    } else {
4381
16.0k
      if (yych <= 'c') goto yy302;
4382
10.6k
      if (yych <= 'z') goto yy291;
4383
2.23k
      goto yy20;
4384
10.6k
    }
4385
26.6k
  }
4386
193k
yy125:
4387
193k
  YYDEBUG(125, *YYCURSOR);
4388
193k
  yyaccept = 2;
4389
193k
  yych = *(YYMARKER = ++YYCURSOR);
4390
193k
  if (yych <= 'B') {
4391
24.0k
    if (yych <= '-') {
4392
13.6k
      if (yych == ')') goto yy115;
4393
9.03k
      if (yych <= ',') goto yy20;
4394
2.65k
      goto yy297;
4395
10.4k
    } else {
4396
10.4k
      if (yych == '/') goto yy297;
4397
9.73k
      if (yych <= '@') goto yy20;
4398
1.29k
      goto yy291;
4399
9.73k
    }
4400
169k
  } else {
4401
169k
    if (yych <= '_') {
4402
65.5k
      if (yych <= 'C') goto yy302;
4403
10.1k
      if (yych <= 'Z') goto yy291;
4404
3.25k
      if (yych <= '^') goto yy20;
4405
1.33k
      goto yy297;
4406
103k
    } else {
4407
103k
      if (yych <= 'b') {
4408
4.60k
        if (yych <= '`') goto yy20;
4409
2.66k
        goto yy298;
4410
99.2k
      } else {
4411
99.2k
        if (yych <= 'c') goto yy303;
4412
8.17k
        if (yych <= 'z') goto yy298;
4413
4.11k
        goto yy20;
4414
8.17k
      }
4415
103k
    }
4416
169k
  }
4417
131k
yy126:
4418
131k
  YYDEBUG(126, *YYCURSOR);
4419
131k
  yych = *++YYCURSOR;
4420
131k
  if (yych <= 'C') {
4421
71.5k
    if (yych <= ')') {
4422
10.7k
      if (yych <= '(') goto yy20;
4423
2.45k
      goto yy115;
4424
60.7k
    } else {
4425
60.7k
      if (yych <= '@') goto yy20;
4426
38.4k
      if (yych <= 'B') goto yy291;
4427
34.2k
      goto yy304;
4428
38.4k
    }
4429
71.5k
  } else {
4430
59.6k
    if (yych <= 'b') {
4431
12.4k
      if (yych <= 'Z') goto yy291;
4432
7.46k
      if (yych <= '`') goto yy20;
4433
3.71k
      goto yy291;
4434
47.1k
    } else {
4435
47.1k
      if (yych <= 'c') goto yy304;
4436
24.4k
      if (yych <= 'z') goto yy291;
4437
6.27k
      goto yy20;
4438
24.4k
    }
4439
59.6k
  }
4440
86.8k
yy127:
4441
86.8k
  YYDEBUG(127, *YYCURSOR);
4442
86.8k
  yyaccept = 2;
4443
86.8k
  yych = *(YYMARKER = ++YYCURSOR);
4444
86.8k
  if (yych <= 'B') {
4445
30.2k
    if (yych <= '-') {
4446
17.3k
      if (yych == ')') goto yy115;
4447
7.93k
      if (yych <= ',') goto yy20;
4448
1.30k
      goto yy297;
4449
12.8k
    } else {
4450
12.8k
      if (yych == '/') goto yy297;
4451
5.69k
      if (yych <= '@') goto yy20;
4452
1.80k
      goto yy291;
4453
5.69k
    }
4454
56.6k
  } else {
4455
56.6k
    if (yych <= '_') {
4456
7.12k
      if (yych <= 'C') goto yy304;
4457
5.10k
      if (yych <= 'Z') goto yy291;
4458
1.10k
      if (yych <= '^') goto yy20;
4459
244
      goto yy297;
4460
49.5k
    } else {
4461
49.5k
      if (yych <= 'b') {
4462
5.52k
        if (yych <= '`') goto yy20;
4463
2.48k
        goto yy298;
4464
44.0k
      } else {
4465
44.0k
        if (yych <= 'c') goto yy305;
4466
9.18k
        if (yych <= 'z') goto yy298;
4467
5.17k
        goto yy20;
4468
9.18k
      }
4469
49.5k
    }
4470
56.6k
  }
4471
319k
yy128:
4472
319k
  YYDEBUG(128, *YYCURSOR);
4473
319k
  yych = *++YYCURSOR;
4474
319k
  if (yych <= 'G') {
4475
52.8k
    if (yych <= ')') {
4476
21.9k
      if (yych <= '(') goto yy20;
4477
2.30k
      goto yy115;
4478
30.9k
    } else {
4479
30.9k
      if (yych <= '@') goto yy20;
4480
7.04k
      if (yych <= 'F') goto yy291;
4481
5.20k
      goto yy306;
4482
7.04k
    }
4483
266k
  } else {
4484
266k
    if (yych <= 'f') {
4485
14.4k
      if (yych <= 'Z') goto yy291;
4486
9.20k
      if (yych <= '`') goto yy20;
4487
4.48k
      goto yy291;
4488
252k
    } else {
4489
252k
      if (yych <= 'g') goto yy306;
4490
85.9k
      if (yych <= 'z') goto yy291;
4491
6.99k
      goto yy20;
4492
85.9k
    }
4493
266k
  }
4494
97.7k
yy129:
4495
97.7k
  YYDEBUG(129, *YYCURSOR);
4496
97.7k
  yych = *++YYCURSOR;
4497
97.7k
  if (yych <= 'E') {
4498
30.5k
    if (yych <= ')') {
4499
5.89k
      if (yych <= '(') goto yy20;
4500
1.54k
      goto yy115;
4501
24.6k
    } else {
4502
24.6k
      if (yych <= '@') goto yy20;
4503
8.19k
      if (yych <= 'D') goto yy291;
4504
4.12k
      goto yy307;
4505
8.19k
    }
4506
67.2k
  } else {
4507
67.2k
    if (yych <= 'd') {
4508
7.87k
      if (yych <= 'Z') goto yy291;
4509
4.94k
      if (yych <= '`') goto yy20;
4510
3.07k
      goto yy291;
4511
59.3k
    } else {
4512
59.3k
      if (yych <= 'e') goto yy307;
4513
15.7k
      if (yych <= 'z') goto yy291;
4514
5.56k
      goto yy20;
4515
15.7k
    }
4516
67.2k
  }
4517
298k
yy130:
4518
298k
  YYDEBUG(130, *YYCURSOR);
4519
298k
  yyaccept = 2;
4520
298k
  yych = *(YYMARKER = ++YYCURSOR);
4521
298k
  if (yych <= 'F') {
4522
33.8k
    if (yych <= '-') {
4523
20.8k
      if (yych == ')') goto yy115;
4524
18.8k
      if (yych <= ',') goto yy20;
4525
2.15k
      goto yy297;
4526
18.8k
    } else {
4527
12.9k
      if (yych == '/') goto yy297;
4528
10.7k
      if (yych <= '@') goto yy20;
4529
2.28k
      goto yy291;
4530
10.7k
    }
4531
265k
  } else {
4532
265k
    if (yych <= '_') {
4533
41.1k
      if (yych <= 'G') goto yy306;
4534
7.56k
      if (yych <= 'Z') goto yy291;
4535
4.51k
      if (yych <= '^') goto yy20;
4536
1.17k
      goto yy297;
4537
223k
    } else {
4538
223k
      if (yych <= 'f') {
4539
9.43k
        if (yych <= '`') goto yy20;
4540
4.48k
        goto yy298;
4541
214k
      } else {
4542
214k
        if (yych <= 'g') goto yy308;
4543
20.0k
        if (yych <= 'z') goto yy298;
4544
12.8k
        goto yy20;
4545
20.0k
      }
4546
223k
    }
4547
265k
  }
4548
222k
yy131:
4549
222k
  YYDEBUG(131, *YYCURSOR);
4550
222k
  yyaccept = 2;
4551
222k
  yych = *(YYMARKER = ++YYCURSOR);
4552
222k
  if (yych <= 'D') {
4553
22.2k
    if (yych <= '-') {
4554
11.3k
      if (yych == ')') goto yy115;
4555
10.4k
      if (yych <= ',') goto yy20;
4556
1.67k
      goto yy297;
4557
10.9k
    } else {
4558
10.9k
      if (yych == '/') goto yy297;
4559
10.6k
      if (yych <= '@') goto yy20;
4560
947
      goto yy291;
4561
10.6k
    }
4562
200k
  } else {
4563
200k
    if (yych <= '_') {
4564
28.8k
      if (yych <= 'E') goto yy307;
4565
12.3k
      if (yych <= 'Z') goto yy291;
4566
5.77k
      if (yych <= '^') goto yy20;
4567
3.53k
      goto yy297;
4568
171k
    } else {
4569
171k
      if (yych <= 'd') {
4570
8.62k
        if (yych <= '`') goto yy20;
4571
8.17k
        goto yy298;
4572
162k
      } else {
4573
162k
        if (yych <= 'e') goto yy309;
4574
13.5k
        if (yych <= 'z') goto yy298;
4575
3.04k
        goto yy20;
4576
13.5k
      }
4577
171k
    }
4578
200k
  }
4579
122k
yy132:
4580
122k
  YYDEBUG(132, *YYCURSOR);
4581
122k
  yych = *++YYCURSOR;
4582
122k
  if (yych <= 'B') {
4583
39.1k
    if (yych <= ')') {
4584
18.6k
      if (yych <= '(') goto yy20;
4585
1.68k
      goto yy115;
4586
20.5k
    } else {
4587
20.5k
      if (yych <= '@') goto yy20;
4588
9.67k
      if (yych <= 'A') goto yy291;
4589
8.60k
      goto yy310;
4590
9.67k
    }
4591
82.9k
  } else {
4592
82.9k
    if (yych <= 'a') {
4593
18.6k
      if (yych <= 'Z') goto yy291;
4594
14.8k
      if (yych <= '`') goto yy20;
4595
732
      goto yy291;
4596
64.3k
    } else {
4597
64.3k
      if (yych <= 'b') goto yy310;
4598
16.4k
      if (yych <= 'z') goto yy291;
4599
5.54k
      goto yy20;
4600
16.4k
    }
4601
82.9k
  }
4602
241k
yy133:
4603
241k
  YYDEBUG(133, *YYCURSOR);
4604
241k
  yych = *++YYCURSOR;
4605
241k
  if (yych <= 'R') {
4606
135k
    if (yych <= '@') {
4607
23.6k
      if (yych == ')') goto yy115;
4608
22.5k
      goto yy20;
4609
112k
    } else {
4610
112k
      if (yych == 'F') goto yy311;
4611
107k
      if (yych <= 'Q') goto yy291;
4612
102k
      goto yy312;
4613
107k
    }
4614
135k
  } else {
4615
105k
    if (yych <= 'f') {
4616
31.1k
      if (yych <= 'Z') goto yy291;
4617
22.5k
      if (yych <= '`') goto yy20;
4618
21.3k
      if (yych <= 'e') goto yy291;
4619
17.8k
      goto yy311;
4620
74.5k
    } else {
4621
74.5k
      if (yych == 'r') goto yy312;
4622
55.8k
      if (yych <= 'z') goto yy291;
4623
8.36k
      goto yy20;
4624
55.8k
    }
4625
105k
  }
4626
161k
yy134:
4627
161k
  YYDEBUG(134, *YYCURSOR);
4628
161k
  yych = *++YYCURSOR;
4629
161k
  if (yych <= 'U') {
4630
100k
    if (yych <= ')') {
4631
9.77k
      if (yych <= '(') goto yy20;
4632
2.91k
      goto yy115;
4633
90.8k
    } else {
4634
90.8k
      if (yych <= '@') goto yy20;
4635
82.8k
      if (yych <= 'T') goto yy291;
4636
36.8k
      goto yy313;
4637
82.8k
    }
4638
100k
  } else {
4639
61.2k
    if (yych <= 't') {
4640
15.8k
      if (yych <= 'Z') goto yy291;
4641
12.3k
      if (yych <= '`') goto yy20;
4642
9.43k
      goto yy291;
4643
45.3k
    } else {
4644
45.3k
      if (yych <= 'u') goto yy313;
4645
14.8k
      if (yych <= 'z') goto yy291;
4646
3.11k
      goto yy20;
4647
14.8k
    }
4648
61.2k
  }
4649
138k
yy135:
4650
138k
  YYDEBUG(135, *YYCURSOR);
4651
138k
  yych = *++YYCURSOR;
4652
138k
  if (yych <= 'O') {
4653
36.7k
    if (yych <= '@') {
4654
15.7k
      if (yych == ')') goto yy115;
4655
14.5k
      goto yy20;
4656
21.0k
    } else {
4657
21.0k
      if (yych == 'I') goto yy314;
4658
5.67k
      if (yych <= 'N') goto yy291;
4659
2.51k
      goto yy316;
4660
5.67k
    }
4661
101k
  } else {
4662
101k
    if (yych <= 'i') {
4663
35.0k
      if (yych <= 'Z') goto yy291;
4664
23.9k
      if (yych <= '`') goto yy20;
4665
15.4k
      if (yych <= 'h') goto yy291;
4666
9.88k
      goto yy314;
4667
66.7k
    } else {
4668
66.7k
      if (yych == 'o') goto yy316;
4669
9.89k
      if (yych <= 'z') goto yy291;
4670
5.17k
      goto yy20;
4671
9.89k
    }
4672
101k
  }
4673
248k
yy136:
4674
248k
  YYDEBUG(136, *YYCURSOR);
4675
248k
  yyaccept = 2;
4676
248k
  yych = *(YYMARKER = ++YYCURSOR);
4677
248k
  if (yych <= 'A') {
4678
46.8k
    if (yych <= '-') {
4679
32.5k
      if (yych == ')') goto yy115;
4680
24.7k
      if (yych <= ',') goto yy20;
4681
1.91k
      goto yy297;
4682
24.7k
    } else {
4683
14.2k
      if (yych == '/') goto yy297;
4684
12.4k
      if (yych <= '@') goto yy20;
4685
2.31k
      goto yy291;
4686
12.4k
    }
4687
202k
  } else {
4688
202k
    if (yych <= '_') {
4689
17.8k
      if (yych <= 'B') goto yy310;
4690
8.99k
      if (yych <= 'Z') goto yy291;
4691
5.45k
      if (yych <= '^') goto yy20;
4692
1.26k
      goto yy297;
4693
184k
    } else {
4694
184k
      if (yych <= 'a') {
4695
6.55k
        if (yych <= '`') goto yy20;
4696
1.84k
        goto yy298;
4697
177k
      } else {
4698
177k
        if (yych <= 'b') goto yy317;
4699
21.0k
        if (yych <= 'z') goto yy298;
4700
8.76k
        goto yy20;
4701
21.0k
      }
4702
184k
    }
4703
202k
  }
4704
165k
yy137:
4705
165k
  YYDEBUG(137, *YYCURSOR);
4706
165k
  yyaccept = 2;
4707
165k
  yych = *(YYMARKER = ++YYCURSOR);
4708
165k
  if (yych <= 'Q') {
4709
37.8k
    if (yych <= '.') {
4710
20.8k
      if (yych <= ')') {
4711
13.5k
        if (yych <= '(') goto yy20;
4712
5.47k
        goto yy115;
4713
13.5k
      } else {
4714
7.32k
        if (yych == '-') goto yy297;
4715
4.22k
        goto yy20;
4716
7.32k
      }
4717
20.8k
    } else {
4718
17.0k
      if (yych <= '@') {
4719
12.4k
        if (yych <= '/') goto yy297;
4720
11.0k
        goto yy20;
4721
12.4k
      } else {
4722
4.59k
        if (yych == 'F') goto yy311;
4723
4.24k
        goto yy291;
4724
4.59k
      }
4725
17.0k
    }
4726
127k
  } else {
4727
127k
    if (yych <= '`') {
4728
18.4k
      if (yych <= 'Z') {
4729
12.9k
        if (yych <= 'R') goto yy312;
4730
2.68k
        goto yy291;
4731
12.9k
      } else {
4732
5.46k
        if (yych == '_') goto yy297;
4733
4.99k
        goto yy20;
4734
5.46k
      }
4735
109k
    } else {
4736
109k
      if (yych <= 'q') {
4737
16.6k
        if (yych == 'f') goto yy318;
4738
8.56k
        goto yy298;
4739
92.4k
      } else {
4740
92.4k
        if (yych <= 'r') goto yy319;
4741
8.00k
        if (yych <= 'z') goto yy298;
4742
3.64k
        goto yy20;
4743
8.00k
      }
4744
109k
    }
4745
127k
  }
4746
126k
yy138:
4747
126k
  YYDEBUG(138, *YYCURSOR);
4748
126k
  yyaccept = 2;
4749
126k
  yych = *(YYMARKER = ++YYCURSOR);
4750
126k
  if (yych <= 'T') {
4751
25.8k
    if (yych <= '-') {
4752
5.46k
      if (yych == ')') goto yy115;
4753
4.23k
      if (yych <= ',') goto yy20;
4754
1.25k
      goto yy297;
4755
20.4k
    } else {
4756
20.4k
      if (yych == '/') goto yy297;
4757
18.3k
      if (yych <= '@') goto yy20;
4758
3.80k
      goto yy291;
4759
18.3k
    }
4760
100k
  } else {
4761
100k
    if (yych <= '_') {
4762
17.2k
      if (yych <= 'U') goto yy313;
4763
6.21k
      if (yych <= 'Z') goto yy291;
4764
3.80k
      if (yych <= '^') goto yy20;
4765
289
      goto yy297;
4766
83.7k
    } else {
4767
83.7k
      if (yych <= 't') {
4768
9.09k
        if (yych <= '`') goto yy20;
4769
7.38k
        goto yy298;
4770
74.6k
      } else {
4771
74.6k
        if (yych <= 'u') goto yy320;
4772
6.76k
        if (yych <= 'z') goto yy298;
4773
4.52k
        goto yy20;
4774
6.76k
      }
4775
83.7k
    }
4776
100k
  }
4777
241k
yy139:
4778
241k
  YYDEBUG(139, *YYCURSOR);
4779
241k
  yyaccept = 2;
4780
241k
  yych = *(YYMARKER = ++YYCURSOR);
4781
241k
  if (yych <= 'N') {
4782
24.8k
    if (yych <= '.') {
4783
12.0k
      if (yych <= ')') {
4784
5.91k
        if (yych <= '(') goto yy20;
4785
1.47k
        goto yy115;
4786
6.14k
      } else {
4787
6.14k
        if (yych == '-') goto yy297;
4788
3.09k
        goto yy20;
4789
6.14k
      }
4790
12.8k
    } else {
4791
12.8k
      if (yych <= '@') {
4792
10.1k
        if (yych <= '/') goto yy297;
4793
9.68k
        goto yy20;
4794
10.1k
      } else {
4795
2.71k
        if (yych == 'I') goto yy314;
4796
1.27k
        goto yy291;
4797
2.71k
      }
4798
12.8k
    }
4799
216k
  } else {
4800
216k
    if (yych <= '`') {
4801
22.4k
      if (yych <= 'Z') {
4802
20.2k
        if (yych <= 'O') goto yy316;
4803
4.84k
        goto yy291;
4804
20.2k
      } else {
4805
2.25k
        if (yych == '_') goto yy297;
4806
1.50k
        goto yy20;
4807
2.25k
      }
4808
194k
    } else {
4809
194k
      if (yych <= 'n') {
4810
37.7k
        if (yych == 'i') goto yy321;
4811
7.47k
        goto yy298;
4812
156k
      } else {
4813
156k
        if (yych <= 'o') goto yy322;
4814
25.7k
        if (yych <= 'z') goto yy298;
4815
8.90k
        goto yy20;
4816
25.7k
      }
4817
194k
    }
4818
216k
  }
4819
214k
yy140:
4820
214k
  YYDEBUG(140, *YYCURSOR);
4821
214k
  yych = *++YYCURSOR;
4822
214k
  if (yych <= 'S') {
4823
36.2k
    if (yych == ')') goto yy115;
4824
35.0k
    if (yych <= '@') goto yy20;
4825
6.64k
    goto yy291;
4826
178k
  } else {
4827
178k
    if (yych <= 'Z') {
4828
149k
      if (yych <= 'T') goto yy323;
4829
2.19k
      goto yy291;
4830
149k
    } else {
4831
28.3k
      if (yych <= '`') goto yy20;
4832
24.8k
      if (yych <= 'z') goto yy291;
4833
9.25k
      goto yy20;
4834
24.8k
    }
4835
178k
  }
4836
746k
yy141:
4837
746k
  YYDEBUG(141, *YYCURSOR);
4838
746k
  ++YYCURSOR;
4839
746k
  if ((YYLIMIT - YYCURSOR) < 26) YYFILL(26);
4840
746k
  yych = *YYCURSOR;
4841
2.73M
yy142:
4842
2.73M
  YYDEBUG(142, *YYCURSOR);
4843
2.73M
  if (yybm[0+yych] & 16) {
4844
746k
    goto yy141;
4845
746k
  }
4846
1.98M
  if (yych <= '/') goto yy59;
4847
1.91M
  if (yych <= '2') goto yy143;
4848
835k
  if (yych <= '3') goto yy144;
4849
731k
  if (yych <= '9') goto yy145;
4850
249k
  goto yy59;
4851
1.07M
yy143:
4852
1.07M
  YYDEBUG(143, *YYCURSOR);
4853
1.07M
  yych = *++YYCURSOR;
4854
1.07M
  if (yych <= '9') {
4855
749k
    if (yych <= ' ') {
4856
113k
      if (yych <= 0x08) {
4857
78.5k
        if (yych <= 0x00) goto yy324;
4858
7.36k
        goto yy59;
4859
78.5k
      } else {
4860
35.1k
        if (yych <= '\t') goto yy326;
4861
14.9k
        if (yych <= 0x1F) goto yy59;
4862
8.54k
        goto yy326;
4863
14.9k
      }
4864
636k
    } else {
4865
636k
      if (yych <= '-') {
4866
47.4k
        if (yych == ',') goto yy326;
4867
38.7k
        goto yy59;
4868
588k
      } else {
4869
588k
        if (yych <= '.') goto yy326;
4870
314k
        if (yych <= '/') goto yy59;
4871
302k
        goto yy328;
4872
314k
      }
4873
636k
    }
4874
749k
  } else {
4875
328k
    if (yych <= 'm') {
4876
127k
      if (yych <= 'd') {
4877
94.0k
        if (yych <= 'c') goto yy59;
4878
9.22k
        goto yy326;
4879
94.0k
      } else {
4880
33.7k
        if (yych == 'h') goto yy326;
4881
29.8k
        goto yy59;
4882
33.7k
      }
4883
200k
    } else {
4884
200k
      if (yych <= 'r') {
4885
27.2k
        if (yych <= 'n') goto yy329;
4886
9.19k
        if (yych <= 'q') goto yy59;
4887
5.43k
        goto yy329;
4888
173k
      } else {
4889
173k
        if (yych <= 's') goto yy330;
4890
159k
        if (yych <= 't') goto yy331;
4891
33.9k
        goto yy59;
4892
159k
      }
4893
200k
    }
4894
328k
  }
4895
104k
yy144:
4896
104k
  YYDEBUG(144, *YYCURSOR);
4897
104k
  yych = *++YYCURSOR;
4898
104k
  if (yych <= '1') {
4899
55.1k
    if (yych <= ' ') {
4900
26.8k
      if (yych <= 0x08) {
4901
12.0k
        if (yych <= 0x00) goto yy324;
4902
3.68k
        goto yy59;
4903
14.8k
      } else {
4904
14.8k
        if (yych <= '\t') goto yy326;
4905
12.3k
        if (yych <= 0x1F) goto yy59;
4906
8.58k
        goto yy326;
4907
12.3k
      }
4908
28.2k
    } else {
4909
28.2k
      if (yych <= '-') {
4910
4.73k
        if (yych == ',') goto yy326;
4911
3.71k
        goto yy59;
4912
23.5k
      } else {
4913
23.5k
        if (yych <= '.') goto yy326;
4914
9.97k
        if (yych <= '/') goto yy59;
4915
8.03k
        goto yy328;
4916
9.97k
      }
4917
28.2k
    }
4918
55.1k
  } else {
4919
48.9k
    if (yych <= 'm') {
4920
27.8k
      if (yych <= 'd') {
4921
22.0k
        if (yych <= '9') goto yy332;
4922
11.4k
        if (yych <= 'c') goto yy59;
4923
5.25k
        goto yy326;
4924
11.4k
      } else {
4925
5.74k
        if (yych == 'h') goto yy326;
4926
4.16k
        goto yy59;
4927
5.74k
      }
4928
27.8k
    } else {
4929
21.1k
      if (yych <= 'r') {
4930
5.28k
        if (yych <= 'n') goto yy329;
4931
1.56k
        if (yych <= 'q') goto yy59;
4932
872
        goto yy329;
4933
15.8k
      } else {
4934
15.8k
        if (yych <= 's') goto yy330;
4935
12.7k
        if (yych <= 't') goto yy331;
4936
9.00k
        goto yy59;
4937
12.7k
      }
4938
21.1k
    }
4939
48.9k
  }
4940
482k
yy145:
4941
482k
  YYDEBUG(145, *YYCURSOR);
4942
482k
  yych = *++YYCURSOR;
4943
482k
  if (yych <= '9') {
4944
377k
    if (yych <= ' ') {
4945
57.8k
      if (yych <= 0x08) {
4946
34.9k
        if (yych <= 0x00) goto yy324;
4947
4.29k
        goto yy59;
4948
34.9k
      } else {
4949
22.9k
        if (yych <= '\t') goto yy326;
4950
12.9k
        if (yych <= 0x1F) goto yy59;
4951
4.31k
        goto yy326;
4952
12.9k
      }
4953
320k
    } else {
4954
320k
      if (yych <= '-') {
4955
23.6k
        if (yych == ',') goto yy326;
4956
14.9k
        goto yy59;
4957
296k
      } else {
4958
296k
        if (yych <= '.') goto yy326;
4959
87.5k
        if (yych <= '/') goto yy59;
4960
77.5k
        goto yy332;
4961
87.5k
      }
4962
320k
    }
4963
377k
  } else {
4964
104k
    if (yych <= 'm') {
4965
62.9k
      if (yych <= 'd') {
4966
38.9k
        if (yych <= 'c') goto yy59;
4967
4.07k
        goto yy326;
4968
38.9k
      } else {
4969
23.9k
        if (yych == 'h') goto yy326;
4970
13.2k
        goto yy59;
4971
23.9k
      }
4972
62.9k
    } else {
4973
41.8k
      if (yych <= 'r') {
4974
6.17k
        if (yych <= 'n') goto yy329;
4975
4.21k
        if (yych <= 'q') goto yy59;
4976
2.79k
        goto yy329;
4977
35.6k
      } else {
4978
35.6k
        if (yych <= 's') goto yy330;
4979
27.3k
        if (yych <= 't') goto yy331;
4980
22.2k
        goto yy59;
4981
27.3k
      }
4982
41.8k
    }
4983
104k
  }
4984
144k
yy146:
4985
144k
  YYDEBUG(146, *YYCURSOR);
4986
144k
  yyaccept = 2;
4987
144k
  yych = *(YYMARKER = ++YYCURSOR);
4988
144k
  if (yych <= '.') {
4989
21.5k
    if (yych <= ' ') {
4990
9.13k
      if (yych == '\t') goto yy142;
4991
6.28k
      if (yych <= 0x1F) goto yy20;
4992
3.12k
      goto yy142;
4993
12.4k
    } else {
4994
12.4k
      if (yych == ')') goto yy115;
4995
7.95k
      if (yych <= ',') goto yy20;
4996
2.59k
      goto yy142;
4997
7.95k
    }
4998
122k
  } else {
4999
122k
    if (yych <= 'H') {
5000
30.4k
      if (yych <= '/') goto yy20;
5001
23.1k
      if (yych <= '9') goto yy142;
5002
9.55k
      if (yych <= '@') goto yy20;
5003
6.33k
      goto yy291;
5004
92.5k
    } else {
5005
92.5k
      if (yych <= 'Z') {
5006
64.5k
        if (yych <= 'I') goto yy333;
5007
6.67k
        goto yy291;
5008
64.5k
      } else {
5009
28.0k
        if (yych <= '`') goto yy20;
5010
24.2k
        if (yych <= 'z') goto yy291;
5011
16.7k
        goto yy20;
5012
24.2k
      }
5013
92.5k
    }
5014
122k
  }
5015
67.1k
yy147:
5016
67.1k
  YYDEBUG(147, *YYCURSOR);
5017
67.1k
  yyaccept = 2;
5018
67.1k
  yych = *(YYMARKER = ++YYCURSOR);
5019
67.1k
  if (yych <= ',') {
5020
10.9k
    if (yych <= 0x1F) {
5021
4.97k
      if (yych == '\t') goto yy142;
5022
3.38k
      goto yy20;
5023
5.92k
    } else {
5024
5.92k
      if (yych <= ' ') goto yy142;
5025
4.94k
      if (yych == ')') goto yy115;
5026
2.39k
      goto yy20;
5027
4.94k
    }
5028
56.2k
  } else {
5029
56.2k
    if (yych <= '@') {
5030
35.5k
      if (yych == '/') goto yy20;
5031
31.2k
      if (yych <= '9') goto yy142;
5032
3.86k
      goto yy20;
5033
31.2k
    } else {
5034
20.6k
      if (yych <= 'Z') goto yy291;
5035
12.3k
      if (yych <= '`') goto yy20;
5036
11.2k
      if (yych <= 'z') goto yy291;
5037
4.32k
      goto yy20;
5038
11.2k
    }
5039
56.2k
  }
5040
117k
yy148:
5041
117k
  YYDEBUG(148, *YYCURSOR);
5042
117k
  yych = *++YYCURSOR;
5043
117k
  if (yych <= 'N') {
5044
40.4k
    if (yych <= ')') {
5045
8.70k
      if (yych <= '(') goto yy20;
5046
334
      goto yy115;
5047
31.7k
    } else {
5048
31.7k
      if (yych <= '@') goto yy20;
5049
20.4k
      if (yych <= 'M') goto yy291;
5050
17.1k
      goto yy334;
5051
20.4k
    }
5052
77.2k
  } else {
5053
77.2k
    if (yych <= 'm') {
5054
13.9k
      if (yych <= 'Z') goto yy291;
5055
11.1k
      if (yych <= '`') goto yy20;
5056
9.11k
      goto yy291;
5057
63.2k
    } else {
5058
63.2k
      if (yych <= 'n') goto yy334;
5059
17.0k
      if (yych <= 'z') goto yy291;
5060
8.04k
      goto yy20;
5061
17.0k
    }
5062
77.2k
  }
5063
310k
yy149:
5064
310k
  YYDEBUG(149, *YYCURSOR);
5065
310k
  yych = *++YYCURSOR;
5066
310k
  if (yych <= 'N') {
5067
96.9k
    if (yych <= '@') {
5068
40.3k
      if (yych == ')') goto yy115;
5069
34.5k
      goto yy20;
5070
56.6k
    } else {
5071
56.6k
      if (yych == 'L') goto yy335;
5072
26.3k
      if (yych <= 'M') goto yy291;
5073
18.4k
      goto yy336;
5074
26.3k
    }
5075
213k
  } else {
5076
213k
    if (yych <= 'l') {
5077
94.3k
      if (yych <= 'Z') goto yy291;
5078
91.9k
      if (yych <= '`') goto yy20;
5079
88.7k
      if (yych <= 'k') goto yy291;
5080
72.7k
      goto yy335;
5081
119k
    } else {
5082
119k
      if (yych == 'n') goto yy336;
5083
27.2k
      if (yych <= 'z') goto yy291;
5084
19.0k
      goto yy20;
5085
27.2k
    }
5086
213k
  }
5087
197k
yy150:
5088
197k
  YYDEBUG(150, *YYCURSOR);
5089
197k
  yyaccept = 2;
5090
197k
  yych = *(YYMARKER = ++YYCURSOR);
5091
197k
  if (yych <= 'M') {
5092
27.4k
    if (yych <= '-') {
5093
8.27k
      if (yych == ')') goto yy115;
5094
7.25k
      if (yych <= ',') goto yy20;
5095
2.29k
      goto yy297;
5096
19.1k
    } else {
5097
19.1k
      if (yych == '/') goto yy297;
5098
17.4k
      if (yych <= '@') goto yy20;
5099
6.97k
      goto yy291;
5100
17.4k
    }
5101
170k
  } else {
5102
170k
    if (yych <= '_') {
5103
17.2k
      if (yych <= 'N') goto yy334;
5104
6.77k
      if (yych <= 'Z') goto yy291;
5105
4.48k
      if (yych <= '^') goto yy20;
5106
946
      goto yy297;
5107
152k
    } else {
5108
152k
      if (yych <= 'm') {
5109
4.94k
        if (yych <= '`') goto yy20;
5110
3.37k
        goto yy298;
5111
147k
      } else {
5112
147k
        if (yych <= 'n') goto yy337;
5113
15.0k
        if (yych <= 'z') goto yy298;
5114
11.4k
        goto yy20;
5115
15.0k
      }
5116
152k
    }
5117
170k
  }
5118
226k
yy151:
5119
226k
  YYDEBUG(151, *YYCURSOR);
5120
226k
  yyaccept = 2;
5121
226k
  yych = *(YYMARKER = ++YYCURSOR);
5122
226k
  if (yych <= 'M') {
5123
35.4k
    if (yych <= '.') {
5124
18.5k
      if (yych <= ')') {
5125
7.72k
        if (yych <= '(') goto yy20;
5126
3.10k
        goto yy115;
5127
10.8k
      } else {
5128
10.8k
        if (yych == '-') goto yy297;
5129
8.23k
        goto yy20;
5130
10.8k
      }
5131
18.5k
    } else {
5132
16.9k
      if (yych <= '@') {
5133
9.50k
        if (yych <= '/') goto yy297;
5134
7.20k
        goto yy20;
5135
9.50k
      } else {
5136
7.41k
        if (yych == 'L') goto yy335;
5137
3.39k
        goto yy291;
5138
7.41k
      }
5139
16.9k
    }
5140
191k
  } else {
5141
191k
    if (yych <= '`') {
5142
23.6k
      if (yych <= 'Z') {
5143
13.8k
        if (yych <= 'N') goto yy336;
5144
5.87k
        goto yy291;
5145
13.8k
      } else {
5146
9.74k
        if (yych == '_') goto yy297;
5147
2.33k
        goto yy20;
5148
9.74k
      }
5149
167k
    } else {
5150
167k
      if (yych <= 'm') {
5151
80.9k
        if (yych == 'l') goto yy338;
5152
6.64k
        goto yy298;
5153
86.9k
      } else {
5154
86.9k
        if (yych <= 'n') goto yy339;
5155
15.6k
        if (yych <= 'z') goto yy298;
5156
6.66k
        goto yy20;
5157
15.6k
      }
5158
167k
    }
5159
191k
  }
5160
414k
yy152:
5161
414k
  YYDEBUG(152, *YYCURSOR);
5162
414k
  yych = *++YYCURSOR;
5163
414k
  if (yych <= 'S') {
5164
43.4k
    if (yych <= ')') {
5165
20.5k
      if (yych <= '(') goto yy20;
5166
6.95k
      goto yy115;
5167
22.8k
    } else {
5168
22.8k
      if (yych <= '@') goto yy20;
5169
5.63k
      if (yych <= 'R') goto yy291;
5170
2.39k
      goto yy340;
5171
5.63k
    }
5172
371k
  } else {
5173
371k
    if (yych <= 'r') {
5174
21.5k
      if (yych <= 'Z') goto yy291;
5175
15.6k
      if (yych <= '`') goto yy20;
5176
10.8k
      goto yy291;
5177
349k
    } else {
5178
349k
      if (yych <= 's') goto yy340;
5179
18.5k
      if (yych <= 'z') goto yy291;
5180
11.1k
      goto yy20;
5181
18.5k
    }
5182
371k
  }
5183
150k
yy153:
5184
150k
  YYDEBUG(153, *YYCURSOR);
5185
150k
  yyaccept = 2;
5186
150k
  yych = *(YYMARKER = ++YYCURSOR);
5187
150k
  if (yych <= 'R') {
5188
22.0k
    if (yych <= '-') {
5189
7.97k
      if (yych == ')') goto yy115;
5190
7.08k
      if (yych <= ',') goto yy20;
5191
619
      goto yy297;
5192
14.1k
    } else {
5193
14.1k
      if (yych == '/') goto yy297;
5194
13.1k
      if (yych <= '@') goto yy20;
5195
4.98k
      goto yy291;
5196
13.1k
    }
5197
128k
  } else {
5198
128k
    if (yych <= '_') {
5199
9.10k
      if (yych <= 'S') goto yy340;
5200
6.88k
      if (yych <= 'Z') goto yy291;
5201
4.88k
      if (yych <= '^') goto yy20;
5202
2.39k
      goto yy297;
5203
118k
    } else {
5204
118k
      if (yych <= 'r') {
5205
12.6k
        if (yych <= '`') goto yy20;
5206
11.3k
        goto yy298;
5207
106k
      } else {
5208
106k
        if (yych <= 's') goto yy341;
5209
8.93k
        if (yych <= 'z') goto yy298;
5210
3.57k
        goto yy20;
5211
8.93k
      }
5212
118k
    }
5213
128k
  }
5214
213k
yy154:
5215
213k
  YYDEBUG(154, *YYCURSOR);
5216
213k
  yych = *++YYCURSOR;
5217
213k
  if (yych <= 'Y') {
5218
73.2k
    if (yych <= '@') {
5219
34.7k
      if (yych == ')') goto yy115;
5220
33.2k
      goto yy20;
5221
38.5k
    } else {
5222
38.5k
      if (yych == 'R') goto yy342;
5223
23.9k
      if (yych <= 'X') goto yy291;
5224
14.3k
      goto yy343;
5225
23.9k
    }
5226
139k
  } else {
5227
139k
    if (yych <= 'r') {
5228
76.3k
      if (yych <= 'Z') goto yy291;
5229
73.3k
      if (yych <= '`') goto yy20;
5230
62.8k
      if (yych <= 'q') goto yy291;
5231
43.3k
      goto yy342;
5232
63.6k
    } else {
5233
63.6k
      if (yych == 'y') goto yy343;
5234
29.9k
      if (yych <= 'z') goto yy291;
5235
19.6k
      goto yy20;
5236
29.9k
    }
5237
139k
  }
5238
146k
yy155:
5239
146k
  YYDEBUG(155, *YYCURSOR);
5240
146k
  yych = *++YYCURSOR;
5241
146k
  if (yych <= 'D') {
5242
52.4k
    if (yych <= ')') {
5243
12.5k
      if (yych <= '(') goto yy20;
5244
6.49k
      goto yy115;
5245
39.9k
    } else {
5246
39.9k
      if (yych <= '@') goto yy20;
5247
18.3k
      if (yych <= 'C') goto yy291;
5248
12.7k
      goto yy344;
5249
18.3k
    }
5250
93.6k
  } else {
5251
93.6k
    if (yych <= 'c') {
5252
37.8k
      if (yych <= 'Z') goto yy291;
5253
21.5k
      if (yych <= '`') goto yy20;
5254
18.9k
      goto yy291;
5255
55.8k
    } else {
5256
55.8k
      if (yych <= 'd') goto yy344;
5257
40.0k
      if (yych <= 'z') goto yy291;
5258
10.9k
      goto yy20;
5259
40.0k
    }
5260
93.6k
  }
5261
138k
yy156:
5262
138k
  YYDEBUG(156, *YYCURSOR);
5263
138k
  yych = *++YYCURSOR;
5264
138k
  if (yych <= 'N') {
5265
68.4k
    if (yych <= ')') {
5266
18.8k
      if (yych <= '(') goto yy20;
5267
5.23k
      goto yy115;
5268
49.6k
    } else {
5269
49.6k
      if (yych <= '@') goto yy20;
5270
20.7k
      if (yych <= 'M') goto yy291;
5271
17.0k
      goto yy314;
5272
20.7k
    }
5273
70.0k
  } else {
5274
70.0k
    if (yych <= 'm') {
5275
21.6k
      if (yych <= 'Z') goto yy291;
5276
14.6k
      if (yych <= '`') goto yy20;
5277
12.1k
      goto yy291;
5278
48.3k
    } else {
5279
48.3k
      if (yych <= 'n') goto yy314;
5280
36.7k
      if (yych <= 'z') goto yy291;
5281
7.81k
      goto yy20;
5282
36.7k
    }
5283
70.0k
  }
5284
223k
yy157:
5285
223k
  YYDEBUG(157, *YYCURSOR);
5286
223k
  yyaccept = 2;
5287
223k
  yych = *(YYMARKER = ++YYCURSOR);
5288
223k
  if (yych <= 'X') {
5289
53.7k
    if (yych <= '.') {
5290
20.5k
      if (yych <= ')') {
5291
13.5k
        if (yych <= '(') goto yy20;
5292
1.54k
        goto yy115;
5293
13.5k
      } else {
5294
7.03k
        if (yych == '-') goto yy297;
5295
3.29k
        goto yy20;
5296
7.03k
      }
5297
33.1k
    } else {
5298
33.1k
      if (yych <= '@') {
5299
16.8k
        if (yych <= '/') goto yy297;
5300
14.9k
        goto yy20;
5301
16.8k
      } else {
5302
16.3k
        if (yych == 'R') goto yy342;
5303
7.25k
        goto yy291;
5304
16.3k
      }
5305
33.1k
    }
5306
170k
  } else {
5307
170k
    if (yych <= '`') {
5308
10.1k
      if (yych <= 'Z') {
5309
5.89k
        if (yych <= 'Y') goto yy343;
5310
465
        goto yy291;
5311
5.89k
      } else {
5312
4.22k
        if (yych == '_') goto yy297;
5313
4.00k
        goto yy20;
5314
4.22k
      }
5315
159k
    } else {
5316
159k
      if (yych <= 'x') {
5317
111k
        if (yych == 'r') goto yy345;
5318
8.13k
        goto yy298;
5319
111k
      } else {
5320
48.1k
        if (yych <= 'y') goto yy346;
5321
13.2k
        if (yych <= 'z') goto yy298;
5322
10.7k
        goto yy20;
5323
13.2k
      }
5324
159k
    }
5325
170k
  }
5326
217k
yy158:
5327
217k
  YYDEBUG(158, *YYCURSOR);
5328
217k
  yyaccept = 2;
5329
217k
  yych = *(YYMARKER = ++YYCURSOR);
5330
217k
  if (yych <= 'C') {
5331
25.3k
    if (yych <= '-') {
5332
11.1k
      if (yych == ')') goto yy115;
5333
8.84k
      if (yych <= ',') goto yy20;
5334
1.36k
      goto yy297;
5335
14.2k
    } else {
5336
14.2k
      if (yych == '/') goto yy297;
5337
9.17k
      if (yych <= '@') goto yy20;
5338
792
      goto yy291;
5339
9.17k
    }
5340
192k
  } else {
5341
192k
    if (yych <= '_') {
5342
40.4k
      if (yych <= 'D') goto yy344;
5343
13.5k
      if (yych <= 'Z') goto yy291;
5344
6.19k
      if (yych <= '^') goto yy20;
5345
3.49k
      goto yy297;
5346
152k
    } else {
5347
152k
      if (yych <= 'c') {
5348
5.99k
        if (yych <= '`') goto yy20;
5349
5.10k
        goto yy298;
5350
146k
      } else {
5351
146k
        if (yych <= 'd') goto yy347;
5352
16.0k
        if (yych <= 'z') goto yy298;
5353
8.34k
        goto yy20;
5354
16.0k
      }
5355
152k
    }
5356
192k
  }
5357
228k
yy159:
5358
228k
  YYDEBUG(159, *YYCURSOR);
5359
228k
  yyaccept = 2;
5360
228k
  yych = *(YYMARKER = ++YYCURSOR);
5361
228k
  if (yych <= 'M') {
5362
41.3k
    if (yych <= '-') {
5363
15.7k
      if (yych == ')') goto yy115;
5364
14.5k
      if (yych <= ',') goto yy20;
5365
2.28k
      goto yy297;
5366
25.6k
    } else {
5367
25.6k
      if (yych == '/') goto yy297;
5368
18.4k
      if (yych <= '@') goto yy20;
5369
5.53k
      goto yy291;
5370
18.4k
    }
5371
187k
  } else {
5372
187k
    if (yych <= '_') {
5373
52.9k
      if (yych <= 'N') goto yy314;
5374
9.20k
      if (yych <= 'Z') goto yy291;
5375
3.45k
      if (yych <= '^') goto yy20;
5376
1.39k
      goto yy297;
5377
134k
    } else {
5378
134k
      if (yych <= 'm') {
5379
8.99k
        if (yych <= '`') goto yy20;
5380
6.66k
        goto yy298;
5381
125k
      } else {
5382
125k
        if (yych <= 'n') goto yy321;
5383
20.8k
        if (yych <= 'z') goto yy298;
5384
15.5k
        goto yy20;
5385
20.8k
      }
5386
134k
    }
5387
187k
  }
5388
213k
yy160:
5389
213k
  YYDEBUG(160, *YYCURSOR);
5390
213k
  yych = *++YYCURSOR;
5391
213k
  if (yych <= 'X') {
5392
64.4k
    if (yych <= ')') {
5393
18.3k
      if (yych <= '(') goto yy20;
5394
6.64k
      goto yy115;
5395
46.0k
    } else {
5396
46.0k
      if (yych <= '@') goto yy20;
5397
20.0k
      if (yych <= 'W') goto yy291;
5398
6.79k
      goto yy348;
5399
20.0k
    }
5400
148k
  } else {
5401
148k
    if (yych <= 'w') {
5402
36.4k
      if (yych <= 'Z') goto yy291;
5403
34.4k
      if (yych <= '`') goto yy20;
5404
31.3k
      goto yy291;
5405
112k
    } else {
5406
112k
      if (yych <= 'x') goto yy348;
5407
14.9k
      if (yych <= 'z') goto yy291;
5408
12.8k
      goto yy20;
5409
14.9k
    }
5410
148k
  }
5411
792k
yy161:
5412
792k
  YYDEBUG(161, *YYCURSOR);
5413
792k
  yych = *++YYCURSOR;
5414
792k
  if (yych <= 'N') {
5415
98.1k
    if (yych <= ')') {
5416
36.6k
      if (yych <= '(') goto yy20;
5417
5.13k
      goto yy115;
5418
61.5k
    } else {
5419
61.5k
      if (yych <= '@') goto yy20;
5420
17.1k
      if (yych <= 'M') goto yy291;
5421
1.66k
      goto yy311;
5422
17.1k
    }
5423
694k
  } else {
5424
694k
    if (yych <= 'm') {
5425
147k
      if (yych <= 'Z') goto yy291;
5426
130k
      if (yych <= '`') goto yy20;
5427
38.1k
      goto yy291;
5428
546k
    } else {
5429
546k
      if (yych <= 'n') goto yy311;
5430
425k
      if (yych <= 'z') goto yy291;
5431
33.9k
      goto yy20;
5432
425k
    }
5433
694k
  }
5434
136k
yy162:
5435
136k
  YYDEBUG(162, *YYCURSOR);
5436
136k
  yych = *++YYCURSOR;
5437
136k
  if (yych <= 'W') {
5438
64.9k
    if (yych <= 'N') {
5439
39.3k
      if (yych == ')') goto yy115;
5440
34.1k
      if (yych <= '@') goto yy20;
5441
3.87k
      goto yy291;
5442
34.1k
    } else {
5443
25.5k
      if (yych <= 'O') goto yy349;
5444
23.3k
      if (yych <= 'U') goto yy291;
5445
20.6k
      if (yych <= 'V') goto yy304;
5446
867
      goto yy350;
5447
20.6k
    }
5448
71.3k
  } else {
5449
71.3k
    if (yych <= 'o') {
5450
46.7k
      if (yych <= 'Z') goto yy291;
5451
45.4k
      if (yych <= '`') goto yy20;
5452
40.4k
      if (yych <= 'n') goto yy291;
5453
32.4k
      goto yy349;
5454
40.4k
    } else {
5455
24.5k
      if (yych <= 'v') {
5456
14.8k
        if (yych <= 'u') goto yy291;
5457
10.5k
        goto yy304;
5458
14.8k
      } else {
5459
9.75k
        if (yych <= 'w') goto yy350;
5460
5.79k
        if (yych <= 'z') goto yy291;
5461
5.18k
        goto yy20;
5462
5.79k
      }
5463
24.5k
    }
5464
71.3k
  }
5465
177k
yy163:
5466
177k
  YYDEBUG(163, *YYCURSOR);
5467
177k
  yyaccept = 2;
5468
177k
  yych = *(YYMARKER = ++YYCURSOR);
5469
177k
  if (yych <= 'W') {
5470
28.2k
    if (yych <= '-') {
5471
15.0k
      if (yych == ')') goto yy115;
5472
11.2k
      if (yych <= ',') goto yy20;
5473
2.04k
      goto yy297;
5474
13.1k
    } else {
5475
13.1k
      if (yych == '/') goto yy297;
5476
7.60k
      if (yych <= '@') goto yy20;
5477
3.05k
      goto yy291;
5478
7.60k
    }
5479
149k
  } else {
5480
149k
    if (yych <= '_') {
5481
10.0k
      if (yych <= 'X') goto yy348;
5482
5.69k
      if (yych <= 'Z') goto yy291;
5483
3.99k
      if (yych <= '^') goto yy20;
5484
2.23k
      goto yy297;
5485
139k
    } else {
5486
139k
      if (yych <= 'w') {
5487
16.9k
        if (yych <= '`') goto yy20;
5488
10.6k
        goto yy298;
5489
122k
      } else {
5490
122k
        if (yych <= 'x') goto yy352;
5491
14.3k
        if (yych <= 'z') goto yy298;
5492
13.7k
        goto yy20;
5493
14.3k
      }
5494
139k
    }
5495
149k
  }
5496
235k
yy164:
5497
235k
  YYDEBUG(164, *YYCURSOR);
5498
235k
  yyaccept = 2;
5499
235k
  yych = *(YYMARKER = ++YYCURSOR);
5500
235k
  if (yych <= 'M') {
5501
74.9k
    if (yych <= '-') {
5502
17.5k
      if (yych == ')') goto yy115;
5503
13.2k
      if (yych <= ',') goto yy20;
5504
6.49k
      goto yy297;
5505
57.3k
    } else {
5506
57.3k
      if (yych == '/') goto yy297;
5507
54.1k
      if (yych <= '@') goto yy20;
5508
30.9k
      goto yy291;
5509
54.1k
    }
5510
160k
  } else {
5511
160k
    if (yych <= '_') {
5512
24.6k
      if (yych <= 'N') goto yy311;
5513
15.5k
      if (yych <= 'Z') goto yy291;
5514
10.5k
      if (yych <= '^') goto yy20;
5515
2.96k
      goto yy297;
5516
135k
    } else {
5517
135k
      if (yych <= 'm') {
5518
8.60k
        if (yych <= '`') goto yy20;
5519
7.61k
        goto yy298;
5520
126k
      } else {
5521
126k
        if (yych <= 'n') goto yy318;
5522
52.2k
        if (yych <= 'z') goto yy298;
5523
9.84k
        goto yy20;
5524
52.2k
      }
5525
135k
    }
5526
160k
  }
5527
376k
yy165:
5528
376k
  YYDEBUG(165, *YYCURSOR);
5529
376k
  yyaccept = 2;
5530
376k
  yych = *(YYMARKER = ++YYCURSOR);
5531
376k
  if (yych <= 'V') {
5532
82.3k
    if (yych <= '.') {
5533
27.7k
      if (yych <= ')') {
5534
14.2k
        if (yych <= '(') goto yy20;
5535
2.70k
        goto yy115;
5536
14.2k
      } else {
5537
13.5k
        if (yych == '-') goto yy297;
5538
5.69k
        goto yy20;
5539
13.5k
      }
5540
54.5k
    } else {
5541
54.5k
      if (yych <= 'N') {
5542
36.3k
        if (yych <= '/') goto yy297;
5543
29.3k
        if (yych <= '@') goto yy20;
5544
7.21k
        goto yy291;
5545
29.3k
      } else {
5546
18.2k
        if (yych <= 'O') goto yy349;
5547
15.7k
        if (yych <= 'U') goto yy291;
5548
11.6k
        goto yy304;
5549
15.7k
      }
5550
54.5k
    }
5551
294k
  } else {
5552
294k
    if (yych <= 'n') {
5553
30.2k
      if (yych <= '^') {
5554
17.7k
        if (yych <= 'W') goto yy350;
5555
7.50k
        if (yych <= 'Z') goto yy291;
5556
4.39k
        goto yy20;
5557
12.4k
      } else {
5558
12.4k
        if (yych <= '_') goto yy297;
5559
10.0k
        if (yych <= '`') goto yy20;
5560
9.37k
        goto yy298;
5561
10.0k
      }
5562
264k
    } else {
5563
264k
      if (yych <= 'v') {
5564
217k
        if (yych <= 'o') goto yy353;
5565
151k
        if (yych <= 'u') goto yy298;
5566
141k
        goto yy305;
5567
151k
      } else {
5568
46.5k
        if (yych <= 'w') goto yy354;
5569
20.6k
        if (yych <= 'z') goto yy298;
5570
18.8k
        goto yy20;
5571
20.6k
      }
5572
264k
    }
5573
294k
  }
5574
110k
yy166:
5575
110k
  YYDEBUG(166, *YYCURSOR);
5576
110k
  yych = *++YYCURSOR;
5577
110k
  if (yych <= 'T') {
5578
38.1k
    if (yych <= ')') {
5579
5.74k
      if (yych <= '(') goto yy20;
5580
622
      goto yy115;
5581
32.4k
    } else {
5582
32.4k
      if (yych <= '@') goto yy20;
5583
9.97k
      if (yych <= 'S') goto yy291;
5584
8.04k
      goto yy355;
5585
9.97k
    }
5586
71.9k
  } else {
5587
71.9k
    if (yych <= 's') {
5588
13.8k
      if (yych <= 'Z') goto yy291;
5589
12.2k
      if (yych <= '`') goto yy20;
5590
11.3k
      goto yy291;
5591
58.0k
    } else {
5592
58.0k
      if (yych <= 't') goto yy355;
5593
7.25k
      if (yych <= 'z') goto yy291;
5594
4.17k
      goto yy20;
5595
7.25k
    }
5596
71.9k
  }
5597
197k
yy167:
5598
197k
  YYDEBUG(167, *YYCURSOR);
5599
197k
  yyaccept = 2;
5600
197k
  yych = *(YYMARKER = ++YYCURSOR);
5601
197k
  if (yych <= 'S') {
5602
30.3k
    if (yych <= '-') {
5603
15.8k
      if (yych == ')') goto yy115;
5604
14.3k
      if (yych <= ',') goto yy20;
5605
7.29k
      goto yy297;
5606
14.5k
    } else {
5607
14.5k
      if (yych == '/') goto yy297;
5608
13.4k
      if (yych <= '@') goto yy20;
5609
9.22k
      goto yy291;
5610
13.4k
    }
5611
166k
  } else {
5612
166k
    if (yych <= '_') {
5613
19.1k
      if (yych <= 'T') goto yy355;
5614
5.13k
      if (yych <= 'Z') goto yy291;
5615
3.51k
      if (yych <= '^') goto yy20;
5616
1.05k
      goto yy297;
5617
147k
    } else {
5618
147k
      if (yych <= 's') {
5619
10.8k
        if (yych <= '`') goto yy20;
5620
7.19k
        goto yy298;
5621
136k
      } else {
5622
136k
        if (yych <= 't') goto yy356;
5623
10.0k
        if (yych <= 'z') goto yy298;
5624
7.21k
        goto yy20;
5625
10.0k
      }
5626
147k
    }
5627
166k
  }
5628
213k
yy168:
5629
213k
  YYDEBUG(168, *YYCURSOR);
5630
213k
  yych = *++YYCURSOR;
5631
213k
  if (yych <= 'E') {
5632
49.7k
    if (yych <= ')') {
5633
17.2k
      if (yych <= '(') goto yy20;
5634
2.41k
      goto yy115;
5635
32.5k
    } else {
5636
32.5k
      if (yych <= '@') goto yy20;
5637
5.90k
      if (yych <= 'D') goto yy291;
5638
3.61k
      goto yy357;
5639
5.90k
    }
5640
163k
  } else {
5641
163k
    if (yych <= 'd') {
5642
12.5k
      if (yych <= 'Z') goto yy291;
5643
3.82k
      if (yych <= '`') goto yy20;
5644
1.69k
      goto yy291;
5645
151k
    } else {
5646
151k
      if (yych <= 'e') goto yy357;
5647
21.7k
      if (yych <= 'z') goto yy291;
5648
6.21k
      goto yy20;
5649
21.7k
    }
5650
163k
  }
5651
193k
yy169:
5652
193k
  YYDEBUG(169, *YYCURSOR);
5653
193k
  yyaccept = 2;
5654
193k
  yych = *(YYMARKER = ++YYCURSOR);
5655
193k
  if (yych <= 'D') {
5656
27.0k
    if (yych <= '-') {
5657
10.4k
      if (yych == ')') goto yy115;
5658
7.81k
      if (yych <= ',') goto yy20;
5659
2.20k
      goto yy297;
5660
16.5k
    } else {
5661
16.5k
      if (yych == '/') goto yy297;
5662
12.9k
      if (yych <= '@') goto yy20;
5663
1.37k
      goto yy291;
5664
12.9k
    }
5665
166k
  } else {
5666
166k
    if (yych <= '_') {
5667
17.6k
      if (yych <= 'E') goto yy357;
5668
12.1k
      if (yych <= 'Z') goto yy291;
5669
9.66k
      if (yych <= '^') goto yy20;
5670
1.88k
      goto yy297;
5671
148k
    } else {
5672
148k
      if (yych <= 'd') {
5673
6.20k
        if (yych <= '`') goto yy20;
5674
4.28k
        goto yy298;
5675
142k
      } else {
5676
142k
        if (yych <= 'e') goto yy358;
5677
20.8k
        if (yych <= 'z') goto yy298;
5678
10.5k
        goto yy20;
5679
20.8k
      }
5680
148k
    }
5681
166k
  }
5682
122k
yy170:
5683
122k
  YYDEBUG(170, *YYCURSOR);
5684
122k
  yych = *++YYCURSOR;
5685
122k
  if (yych <= 'T') {
5686
62.1k
    if (yych <= ')') {
5687
19.2k
      if (yych <= '(') goto yy20;
5688
2.31k
      goto yy115;
5689
42.8k
    } else {
5690
42.8k
      if (yych <= '@') goto yy20;
5691
18.3k
      if (yych <= 'S') goto yy291;
5692
9.53k
      goto yy359;
5693
18.3k
    }
5694
62.1k
  } else {
5695
60.5k
    if (yych <= 's') {
5696
22.4k
      if (yych <= 'Z') goto yy291;
5697
21.1k
      if (yych <= '`') goto yy20;
5698
17.8k
      goto yy291;
5699
38.1k
    } else {
5700
38.1k
      if (yych <= 't') goto yy359;
5701
10.4k
      if (yych <= 'z') goto yy291;
5702
5.73k
      goto yy20;
5703
10.4k
    }
5704
60.5k
  }
5705
235k
yy171:
5706
235k
  YYDEBUG(171, *YYCURSOR);
5707
235k
  yych = *++YYCURSOR;
5708
235k
  if (yych <= 'V') {
5709
94.4k
    if (yych <= 'B') {
5710
36.7k
      if (yych == ')') goto yy115;
5711
34.7k
      if (yych <= '@') goto yy20;
5712
7.16k
      goto yy291;
5713
57.6k
    } else {
5714
57.6k
      if (yych <= 'O') {
5715
26.1k
        if (yych <= 'C') goto yy360;
5716
8.82k
        goto yy291;
5717
31.5k
      } else {
5718
31.5k
        if (yych <= 'P') goto yy361;
5719
15.7k
        if (yych <= 'U') goto yy291;
5720
10.9k
        goto yy362;
5721
15.7k
      }
5722
57.6k
    }
5723
140k
  } else {
5724
140k
    if (yych <= 'o') {
5725
45.4k
      if (yych <= '`') {
5726
7.00k
        if (yych <= 'Z') goto yy291;
5727
4.64k
        goto yy20;
5728
38.4k
      } else {
5729
38.4k
        if (yych == 'c') goto yy360;
5730
12.7k
        goto yy291;
5731
38.4k
      }
5732
95.2k
    } else {
5733
95.2k
      if (yych <= 'u') {
5734
49.6k
        if (yych <= 'p') goto yy361;
5735
10.9k
        goto yy291;
5736
49.6k
      } else {
5737
45.6k
        if (yych <= 'v') goto yy362;
5738
26.8k
        if (yych <= 'z') goto yy291;
5739
25.4k
        goto yy20;
5740
26.8k
      }
5741
95.2k
    }
5742
140k
  }
5743
59.2k
yy172:
5744
59.2k
  YYDEBUG(172, *YYCURSOR);
5745
59.2k
  yych = *++YYCURSOR;
5746
59.2k
  if (yych <= 'X') {
5747
26.9k
    if (yych <= ')') {
5748
7.08k
      if (yych <= '(') goto yy20;
5749
1.71k
      goto yy115;
5750
19.8k
    } else {
5751
19.8k
      if (yych <= '@') goto yy20;
5752
8.29k
      if (yych <= 'W') goto yy291;
5753
990
      goto yy311;
5754
8.29k
    }
5755
32.2k
  } else {
5756
32.2k
    if (yych <= 'w') {
5757
23.4k
      if (yych <= 'Z') goto yy291;
5758
21.6k
      if (yych <= '`') goto yy20;
5759
20.7k
      goto yy291;
5760
21.6k
    } else {
5761
8.86k
      if (yych <= 'x') goto yy311;
5762
6.39k
      if (yych <= 'z') goto yy291;
5763
5.74k
      goto yy20;
5764
6.39k
    }
5765
32.2k
  }
5766
259k
yy173:
5767
259k
  YYDEBUG(173, *YYCURSOR);
5768
259k
  yyaccept = 2;
5769
259k
  yych = *(YYMARKER = ++YYCURSOR);
5770
259k
  if (yych <= 'S') {
5771
35.3k
    if (yych <= '-') {
5772
17.6k
      if (yych == ')') goto yy115;
5773
14.9k
      if (yych <= ',') goto yy20;
5774
1.16k
      goto yy297;
5775
17.6k
    } else {
5776
17.6k
      if (yych == '/') goto yy297;
5777
16.2k
      if (yych <= '@') goto yy20;
5778
4.91k
      goto yy291;
5779
16.2k
    }
5780
223k
  } else {
5781
223k
    if (yych <= '_') {
5782
17.8k
      if (yych <= 'T') goto yy359;
5783
7.28k
      if (yych <= 'Z') goto yy291;
5784
3.61k
      if (yych <= '^') goto yy20;
5785
2.88k
      goto yy297;
5786
206k
    } else {
5787
206k
      if (yych <= 's') {
5788
29.7k
        if (yych <= '`') goto yy20;
5789
15.4k
        goto yy298;
5790
176k
      } else {
5791
176k
        if (yych <= 't') goto yy363;
5792
22.1k
        if (yych <= 'z') goto yy298;
5793
18.0k
        goto yy20;
5794
22.1k
      }
5795
206k
    }
5796
223k
  }
5797
726k
yy174:
5798
726k
  YYDEBUG(174, *YYCURSOR);
5799
726k
  yyaccept = 2;
5800
726k
  yych = *(YYMARKER = ++YYCURSOR);
5801
726k
  if (yych <= 'U') {
5802
160k
    if (yych <= '/') {
5803
31.9k
      if (yych <= ',') {
5804
23.8k
        if (yych == ')') goto yy115;
5805
21.6k
        goto yy20;
5806
23.8k
      } else {
5807
8.04k
        if (yych == '.') goto yy20;
5808
5.36k
        goto yy297;
5809
8.04k
      }
5810
128k
    } else {
5811
128k
      if (yych <= 'C') {
5812
40.2k
        if (yych <= '@') goto yy20;
5813
16.5k
        if (yych <= 'B') goto yy291;
5814
15.2k
        goto yy360;
5815
87.8k
      } else {
5816
87.8k
        if (yych == 'P') goto yy361;
5817
11.2k
        goto yy291;
5818
87.8k
      }
5819
128k
    }
5820
566k
  } else {
5821
566k
    if (yych <= 'b') {
5822
51.3k
      if (yych <= '^') {
5823
14.1k
        if (yych <= 'V') goto yy362;
5824
8.14k
        if (yych <= 'Z') goto yy291;
5825
6.11k
        goto yy20;
5826
37.1k
      } else {
5827
37.1k
        if (yych <= '_') goto yy297;
5828
25.3k
        if (yych <= '`') goto yy20;
5829
20.5k
        goto yy298;
5830
25.3k
      }
5831
514k
    } else {
5832
514k
      if (yych <= 'p') {
5833
344k
        if (yych <= 'c') goto yy364;
5834
163k
        if (yych <= 'o') goto yy298;
5835
135k
        goto yy365;
5836
170k
      } else {
5837
170k
        if (yych == 'v') goto yy366;
5838
57.5k
        if (yych <= 'z') goto yy298;
5839
42.9k
        goto yy20;
5840
57.5k
      }
5841
514k
    }
5842
566k
  }
5843
44.7k
yy175:
5844
44.7k
  YYDEBUG(175, *YYCURSOR);
5845
44.7k
  yyaccept = 2;
5846
44.7k
  yych = *(YYMARKER = ++YYCURSOR);
5847
44.7k
  if (yych <= 'W') {
5848
10.5k
    if (yych <= '-') {
5849
5.85k
      if (yych == ')') goto yy115;
5850
4.13k
      if (yych <= ',') goto yy20;
5851
447
      goto yy297;
5852
4.68k
    } else {
5853
4.68k
      if (yych == '/') goto yy297;
5854
4.22k
      if (yych <= '@') goto yy20;
5855
1.42k
      goto yy291;
5856
4.22k
    }
5857
34.2k
  } else {
5858
34.2k
    if (yych <= '_') {
5859
3.22k
      if (yych <= 'X') goto yy311;
5860
2.68k
      if (yych <= 'Z') goto yy291;
5861
1.70k
      if (yych <= '^') goto yy20;
5862
485
      goto yy297;
5863
31.0k
    } else {
5864
31.0k
      if (yych <= 'w') {
5865
12.9k
        if (yych <= '`') goto yy20;
5866
12.8k
        goto yy298;
5867
18.0k
      } else {
5868
18.0k
        if (yych <= 'x') goto yy318;
5869
8.18k
        if (yych <= 'z') goto yy298;
5870
7.30k
        goto yy20;
5871
8.18k
      }
5872
31.0k
    }
5873
34.2k
  }
5874
412k
yy176:
5875
412k
  YYDEBUG(176, *YYCURSOR);
5876
412k
  yyaccept = 4;
5877
412k
  yych = *(YYMARKER = ++YYCURSOR);
5878
412k
  if (yych <= '/') {
5879
52.7k
    if (yych == '.') goto yy75;
5880
360k
  } else {
5881
360k
    if (yych <= '9') goto yy367;
5882
133k
    if (yych <= ':') goto yy75;
5883
133k
  }
5884
2.51M
yy177:
5885
2.51M
  YYDEBUG(177, *YYCURSOR);
5886
2.51M
#line 1387 "ext/date/lib/parse_date.re"
5887
2.51M
  {
5888
2.51M
    int tz_not_found;
5889
2.51M
    DEBUG_OUTPUT("timetiny24 | timeshort24 | timelong24 | iso8601long");
5890
2.51M
    TIMELIB_INIT;
5891
2.51M
    TIMELIB_HAVE_TIME();
5892
332k
    s->time->h = timelib_get_nr(&ptr, 2);
5893
332k
    if (*ptr == ':' || *ptr == '.') {
5894
257k
      s->time->i = timelib_get_nr(&ptr, 2);
5895
257k
      if (*ptr == ':' || *ptr == '.') {
5896
78.1k
        s->time->s = timelib_get_nr(&ptr, 2);
5897
5898
78.1k
        if (*ptr == '.') {
5899
9.81k
          s->time->us = timelib_get_frac_nr(&ptr);
5900
9.81k
        }
5901
78.1k
      }
5902
257k
    }
5903
5904
332k
    if (*ptr != '\0') {
5905
0
      s->time->z = timelib_parse_zone(&ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
5906
0
      if (tz_not_found) {
5907
0
        add_error(s, TIMELIB_ERR_TZID_NOT_FOUND, "The timezone could not be found in the database");
5908
0
      }
5909
0
    }
5910
332k
    TIMELIB_DEINIT;
5911
332k
    return TIMELIB_TIME24_WITH_ZONE;
5912
2.51M
  }
5913
0
#line 5914 "ext/date/lib/parse_date.c"
5914
130k
yy178:
5915
130k
  YYDEBUG(178, *YYCURSOR);
5916
130k
  yyaccept = 4;
5917
130k
  yych = *(YYMARKER = ++YYCURSOR);
5918
130k
  if (yych <= '/') {
5919
17.8k
    if (yych == '.') goto yy75;
5920
15.3k
    goto yy177;
5921
113k
  } else {
5922
113k
    if (yych <= '4') goto yy367;
5923
67.5k
    if (yych == ':') goto yy75;
5924
44.8k
    goto yy177;
5925
67.5k
  }
5926
223k
yy179:
5927
223k
  YYDEBUG(179, *YYCURSOR);
5928
223k
  yyaccept = 4;
5929
223k
  yych = *(YYMARKER = ++YYCURSOR);
5930
223k
  if (yych == '.') goto yy75;
5931
217k
  if (yych == ':') goto yy75;
5932
204k
  goto yy177;
5933
233k
yy180:
5934
233k
  YYDEBUG(180, *YYCURSOR);
5935
233k
  yych = *++YYCURSOR;
5936
233k
  if (yych <= 'U') {
5937
116k
    if (yych <= '@') {
5938
70.3k
      if (yych == ')') goto yy115;
5939
68.5k
      goto yy20;
5940
70.3k
    } else {
5941
46.0k
      if (yych == 'I') goto yy368;
5942
45.7k
      if (yych <= 'T') goto yy291;
5943
32.2k
      goto yy369;
5944
45.7k
    }
5945
117k
  } else {
5946
117k
    if (yych <= 'i') {
5947
53.9k
      if (yych <= 'Z') goto yy291;
5948
50.8k
      if (yych <= '`') goto yy20;
5949
39.2k
      if (yych <= 'h') goto yy291;
5950
26.1k
      goto yy368;
5951
63.1k
    } else {
5952
63.1k
      if (yych == 'u') goto yy369;
5953
41.9k
      if (yych <= 'z') goto yy291;
5954
36.2k
      goto yy20;
5955
41.9k
    }
5956
117k
  }
5957
140k
yy181:
5958
140k
  YYDEBUG(181, *YYCURSOR);
5959
140k
  yych = *++YYCURSOR;
5960
140k
  if (yych <= 'M') {
5961
39.8k
    if (yych <= '@') {
5962
20.2k
      if (yych == ')') goto yy115;
5963
16.7k
      goto yy20;
5964
20.2k
    } else {
5965
19.5k
      if (yych == 'D') goto yy370;
5966
17.3k
      if (yych <= 'L') goto yy291;
5967
11.2k
      goto yy371;
5968
17.3k
    }
5969
101k
  } else {
5970
101k
    if (yych <= 'd') {
5971
40.4k
      if (yych <= 'Z') goto yy291;
5972
38.7k
      if (yych <= '`') goto yy20;
5973
31.4k
      if (yych <= 'c') goto yy291;
5974
15.8k
      goto yy370;
5975
60.7k
    } else {
5976
60.7k
      if (yych == 'm') goto yy371;
5977
24.3k
      if (yych <= 'z') goto yy291;
5978
13.0k
      goto yy20;
5979
24.3k
    }
5980
101k
  }
5981
111k
yy182:
5982
111k
  YYDEBUG(182, *YYCURSOR);
5983
111k
  yych = *++YYCURSOR;
5984
111k
  if (yych <= 'E') {
5985
38.8k
    if (yych <= ')') {
5986
9.11k
      if (yych <= '(') goto yy20;
5987
2.19k
      goto yy115;
5988
29.7k
    } else {
5989
29.7k
      if (yych <= '@') goto yy20;
5990
18.8k
      if (yych <= 'D') goto yy291;
5991
12.2k
      goto yy372;
5992
18.8k
    }
5993
72.7k
  } else {
5994
72.7k
    if (yych <= 'd') {
5995
17.8k
      if (yych <= 'Z') goto yy291;
5996
8.47k
      if (yych <= '`') goto yy20;
5997
3.34k
      goto yy291;
5998
54.8k
    } else {
5999
54.8k
      if (yych <= 'e') goto yy372;
6000
21.8k
      if (yych <= 'z') goto yy291;
6001
8.76k
      goto yy20;
6002
21.8k
    }
6003
72.7k
  }
6004
55.4k
yy183:
6005
55.4k
  YYDEBUG(183, *YYCURSOR);
6006
55.4k
  yych = *++YYCURSOR;
6007
55.4k
  if (yych <= 'E') {
6008
20.4k
    if (yych <= ')') {
6009
6.86k
      if (yych <= '(') goto yy20;
6010
2.10k
      goto yy115;
6011
13.6k
    } else {
6012
13.6k
      if (yych <= '@') goto yy20;
6013
8.89k
      if (yych <= 'D') goto yy291;
6014
2.23k
      goto yy373;
6015
8.89k
    }
6016
35.0k
  } else {
6017
35.0k
    if (yych <= 'd') {
6018
8.99k
      if (yych <= 'Z') goto yy291;
6019
5.46k
      if (yych <= '`') goto yy20;
6020
2.43k
      goto yy291;
6021
26.0k
    } else {
6022
26.0k
      if (yych <= 'e') goto yy373;
6023
7.98k
      if (yych <= 'z') goto yy291;
6024
1.22k
      goto yy20;
6025
7.98k
    }
6026
35.0k
  }
6027
275k
yy184:
6028
275k
  YYDEBUG(184, *YYCURSOR);
6029
275k
  yyaccept = 2;
6030
275k
  yych = *(YYMARKER = ++YYCURSOR);
6031
275k
  if (yych <= 'T') {
6032
44.4k
    if (yych <= '.') {
6033
16.8k
      if (yych <= ')') {
6034
10.8k
        if (yych <= '(') goto yy20;
6035
776
        goto yy115;
6036
10.8k
      } else {
6037
6.00k
        if (yych == '-') goto yy297;
6038
3.74k
        goto yy20;
6039
6.00k
      }
6040
27.6k
    } else {
6041
27.6k
      if (yych <= '@') {
6042
9.33k
        if (yych <= '/') goto yy297;
6043
7.98k
        goto yy20;
6044
18.3k
      } else {
6045
18.3k
        if (yych == 'I') goto yy368;
6046
6.28k
        goto yy291;
6047
18.3k
      }
6048
27.6k
    }
6049
230k
  } else {
6050
230k
    if (yych <= '`') {
6051
9.21k
      if (yych <= 'Z') {
6052
6.69k
        if (yych <= 'U') goto yy369;
6053
2.75k
        goto yy291;
6054
6.69k
      } else {
6055
2.52k
        if (yych == '_') goto yy297;
6056
1.38k
        goto yy20;
6057
2.52k
      }
6058
221k
    } else {
6059
221k
      if (yych <= 't') {
6060
108k
        if (yych == 'i') goto yy374;
6061
5.33k
        goto yy298;
6062
113k
      } else {
6063
113k
        if (yych <= 'u') goto yy375;
6064
14.6k
        if (yych <= 'z') goto yy298;
6065
8.79k
        goto yy20;
6066
14.6k
      }
6067
221k
    }
6068
230k
  }
6069
281k
yy185:
6070
281k
  YYDEBUG(185, *YYCURSOR);
6071
281k
  yyaccept = 2;
6072
281k
  yych = *(YYMARKER = ++YYCURSOR);
6073
281k
  if (yych <= 'L') {
6074
38.1k
    if (yych <= '.') {
6075
16.8k
      if (yych <= ')') {
6076
9.10k
        if (yych <= '(') goto yy20;
6077
450
        goto yy115;
6078
9.10k
      } else {
6079
7.76k
        if (yych == '-') goto yy297;
6080
2.27k
        goto yy20;
6081
7.76k
      }
6082
21.2k
    } else {
6083
21.2k
      if (yych <= '@') {
6084
8.11k
        if (yych <= '/') goto yy297;
6085
6.54k
        goto yy20;
6086
13.1k
      } else {
6087
13.1k
        if (yych == 'D') goto yy370;
6088
2.59k
        goto yy291;
6089
13.1k
      }
6090
21.2k
    }
6091
243k
  } else {
6092
243k
    if (yych <= '`') {
6093
27.0k
      if (yych <= 'Z') {
6094
19.0k
        if (yych <= 'M') goto yy371;
6095
3.95k
        goto yy291;
6096
19.0k
      } else {
6097
7.94k
        if (yych == '_') goto yy297;
6098
2.83k
        goto yy20;
6099
7.94k
      }
6100
216k
    } else {
6101
216k
      if (yych <= 'l') {
6102
87.7k
        if (yych == 'd') goto yy376;
6103
7.30k
        goto yy298;
6104
128k
      } else {
6105
128k
        if (yych <= 'm') goto yy377;
6106
16.8k
        if (yych <= 'z') goto yy298;
6107
12.1k
        goto yy20;
6108
16.8k
      }
6109
216k
    }
6110
243k
  }
6111
120k
yy186:
6112
120k
  YYDEBUG(186, *YYCURSOR);
6113
120k
  yyaccept = 2;
6114
120k
  yych = *(YYMARKER = ++YYCURSOR);
6115
120k
  if (yych <= 'D') {
6116
16.2k
    if (yych <= '-') {
6117
5.59k
      if (yych == ')') goto yy115;
6118
4.84k
      if (yych <= ',') goto yy20;
6119
715
      goto yy297;
6120
10.6k
    } else {
6121
10.6k
      if (yych == '/') goto yy297;
6122
10.2k
      if (yych <= '@') goto yy20;
6123
1.75k
      goto yy291;
6124
10.2k
    }
6125
104k
  } else {
6126
104k
    if (yych <= '_') {
6127
12.5k
      if (yych <= 'E') goto yy372;
6128
10.2k
      if (yych <= 'Z') goto yy291;
6129
4.59k
      if (yych <= '^') goto yy20;
6130
3.59k
      goto yy297;
6131
91.7k
    } else {
6132
91.7k
      if (yych <= 'd') {
6133
44.0k
        if (yych <= '`') goto yy20;
6134
43.2k
        goto yy298;
6135
47.6k
      } else {
6136
47.6k
        if (yych <= 'e') goto yy378;
6137
19.5k
        if (yych <= 'z') goto yy298;
6138
3.98k
        goto yy20;
6139
19.5k
      }
6140
91.7k
    }
6141
104k
  }
6142
141k
yy187:
6143
141k
  YYDEBUG(187, *YYCURSOR);
6144
141k
  yyaccept = 2;
6145
141k
  yych = *(YYMARKER = ++YYCURSOR);
6146
141k
  if (yych <= 'D') {
6147
15.8k
    if (yych <= '-') {
6148
6.34k
      if (yych == ')') goto yy115;
6149
5.72k
      if (yych <= ',') goto yy20;
6150
1.30k
      goto yy297;
6151
9.54k
    } else {
6152
9.54k
      if (yych == '/') goto yy297;
6153
8.99k
      if (yych <= '@') goto yy20;
6154
1.20k
      goto yy291;
6155
8.99k
    }
6156
125k
  } else {
6157
125k
    if (yych <= '_') {
6158
38.4k
      if (yych <= 'E') goto yy373;
6159
9.68k
      if (yych <= 'Z') goto yy291;
6160
970
      if (yych <= '^') goto yy20;
6161
241
      goto yy297;
6162
86.9k
    } else {
6163
86.9k
      if (yych <= 'd') {
6164
4.14k
        if (yych <= '`') goto yy20;
6165
2.97k
        goto yy298;
6166
82.8k
      } else {
6167
82.8k
        if (yych <= 'e') goto yy379;
6168
11.9k
        if (yych <= 'z') goto yy298;
6169
7.19k
        goto yy20;
6170
11.9k
      }
6171
86.9k
    }
6172
125k
  }
6173
179k
yy188:
6174
179k
  YYDEBUG(188, *YYCURSOR);
6175
179k
  yyaccept = 2;
6176
179k
  yych = *(YYMARKER = ++YYCURSOR);
6177
179k
  if (yych <= '.') {
6178
25.6k
    if (yych <= ' ') {
6179
13.2k
      if (yych == '\t') goto yy142;
6180
11.4k
      if (yych <= 0x1F) goto yy20;
6181
5.92k
      goto yy142;
6182
12.3k
    } else {
6183
12.3k
      if (yych == ')') goto yy115;
6184
9.90k
      if (yych <= ',') goto yy20;
6185
8.28k
      goto yy142;
6186
9.90k
    }
6187
153k
  } else {
6188
153k
    if (yych <= 'H') {
6189
36.0k
      if (yych <= '/') goto yy20;
6190
26.1k
      if (yych <= '9') goto yy142;
6191
6.41k
      if (yych <= '@') goto yy20;
6192
3.32k
      goto yy291;
6193
117k
    } else {
6194
117k
      if (yych <= 'Z') {
6195
85.9k
        if (yych <= 'I') goto yy380;
6196
6.44k
        goto yy291;
6197
85.9k
      } else {
6198
31.5k
        if (yych <= '`') goto yy20;
6199
27.5k
        if (yych <= 'z') goto yy291;
6200
11.1k
        goto yy20;
6201
27.5k
      }
6202
117k
    }
6203
153k
  }
6204
199k
yy189:
6205
199k
  YYDEBUG(189, *YYCURSOR);
6206
199k
  yych = *++YYCURSOR;
6207
199k
  if (yych <= 'E') {
6208
55.9k
    if (yych <= '@') {
6209
31.0k
      if (yych == ')') goto yy115;
6210
29.8k
      goto yy20;
6211
31.0k
    } else {
6212
24.9k
      if (yych <= 'C') goto yy291;
6213
23.5k
      if (yych <= 'D') goto yy381;
6214
5.36k
      goto yy382;
6215
23.5k
    }
6216
143k
  } else {
6217
143k
    if (yych <= 'c') {
6218
22.5k
      if (yych <= 'Z') goto yy291;
6219
12.8k
      if (yych <= '`') goto yy20;
6220
3.00k
      goto yy291;
6221
120k
    } else {
6222
120k
      if (yych <= 'd') goto yy381;
6223
89.0k
      if (yych <= 'e') goto yy382;
6224
39.0k
      if (yych <= 'z') goto yy291;
6225
15.8k
      goto yy20;
6226
39.0k
    }
6227
143k
  }
6228
364k
yy190:
6229
364k
  YYDEBUG(190, *YYCURSOR);
6230
364k
  yyaccept = 2;
6231
364k
  yych = *(YYMARKER = ++YYCURSOR);
6232
364k
  if (yych <= 'D') {
6233
55.1k
    if (yych <= '-') {
6234
16.7k
      if (yych == ')') goto yy115;
6235
12.8k
      if (yych <= ',') goto yy20;
6236
1.87k
      goto yy297;
6237
38.4k
    } else {
6238
38.4k
      if (yych <= '/') {
6239
7.16k
        if (yych <= '.') goto yy20;
6240
4.63k
        goto yy297;
6241
31.2k
      } else {
6242
31.2k
        if (yych <= '@') goto yy20;
6243
20.9k
        if (yych <= 'C') goto yy291;
6244
19.7k
        goto yy381;
6245
20.9k
      }
6246
38.4k
    }
6247
309k
  } else {
6248
309k
    if (yych <= '`') {
6249
34.6k
      if (yych <= 'Z') {
6250
19.4k
        if (yych <= 'E') goto yy382;
6251
10.2k
        goto yy291;
6252
19.4k
      } else {
6253
15.2k
        if (yych == '_') goto yy297;
6254
14.3k
        goto yy20;
6255
15.2k
      }
6256
274k
    } else {
6257
274k
      if (yych <= 'd') {
6258
130k
        if (yych <= 'c') goto yy298;
6259
128k
        goto yy383;
6260
144k
      } else {
6261
144k
        if (yych <= 'e') goto yy384;
6262
25.2k
        if (yych <= 'z') goto yy298;
6263
12.1k
        goto yy20;
6264
25.2k
      }
6265
274k
    }
6266
309k
  }
6267
87.5k
yy191:
6268
87.5k
  YYDEBUG(191, *YYCURSOR);
6269
87.5k
  yych = *++YYCURSOR;
6270
87.5k
  if (yych <= 'S') {
6271
22.4k
    if (yych <= ')') {
6272
3.28k
      if (yych <= '(') goto yy20;
6273
769
      goto yy115;
6274
19.1k
    } else {
6275
19.1k
      if (yych <= '@') goto yy20;
6276
4.96k
      if (yych <= 'R') goto yy291;
6277
712
      goto yy385;
6278
4.96k
    }
6279
65.0k
  } else {
6280
65.0k
    if (yych <= 'r') {
6281
14.1k
      if (yych <= 'Z') goto yy291;
6282
10.7k
      if (yych <= '`') goto yy20;
6283
8.32k
      goto yy291;
6284
50.9k
    } else {
6285
50.9k
      if (yych <= 's') goto yy385;
6286
11.7k
      if (yych <= 'z') goto yy291;
6287
9.02k
      goto yy20;
6288
11.7k
    }
6289
65.0k
  }
6290
229k
yy192:
6291
229k
  YYDEBUG(192, *YYCURSOR);
6292
229k
  yyaccept = 2;
6293
229k
  yych = *(YYMARKER = ++YYCURSOR);
6294
229k
  if (yych <= 'R') {
6295
23.2k
    if (yych <= '-') {
6296
12.2k
      if (yych == ')') goto yy115;
6297
11.6k
      if (yych <= ',') goto yy20;
6298
2.54k
      goto yy297;
6299
11.6k
    } else {
6300
11.0k
      if (yych == '/') goto yy297;
6301
10.7k
      if (yych <= '@') goto yy20;
6302
3.05k
      goto yy291;
6303
10.7k
    }
6304
205k
  } else {
6305
205k
    if (yych <= '_') {
6306
20.4k
      if (yych <= 'S') goto yy385;
6307
10.3k
      if (yych <= 'Z') goto yy291;
6308
7.69k
      if (yych <= '^') goto yy20;
6309
2.17k
      goto yy297;
6310
185k
    } else {
6311
185k
      if (yych <= 'r') {
6312
14.9k
        if (yych <= '`') goto yy20;
6313
13.1k
        goto yy298;
6314
170k
      } else {
6315
170k
        if (yych <= 's') goto yy386;
6316
12.8k
        if (yych <= 'z') goto yy298;
6317
7.98k
        goto yy20;
6318
12.8k
      }
6319
185k
    }
6320
205k
  }
6321
616k
yy193:
6322
616k
  YYDEBUG(193, *YYCURSOR);
6323
616k
  yyaccept = 0;
6324
616k
  YYMARKER = ++YYCURSOR;
6325
616k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
6326
616k
  yych = *YYCURSOR;
6327
616k
  if (yych == 0xC2) goto yy387;
6328
515k
  goto yy8;
6329
618k
yy194:
6330
618k
  YYDEBUG(194, *YYCURSOR);
6331
618k
  ++YYCURSOR;
6332
618k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
6333
618k
  yych = *YYCURSOR;
6334
618k
  if (yych == 0xAF) goto yy388;
6335
134k
  goto yy59;
6336
849k
yy195:
6337
849k
  YYDEBUG(195, *YYCURSOR);
6338
849k
  ++YYCURSOR;
6339
849k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
6340
849k
  yych = *YYCURSOR;
6341
12.8M
yy196:
6342
12.8M
  YYDEBUG(196, *YYCURSOR);
6343
12.8M
  if (yych <= 'X') {
6344
9.30M
    if (yych <= 'G') {
6345
8.11M
      if (yych <= ' ') {
6346
1.56M
        if (yych == '\t') goto yy195;
6347
1.05M
        if (yych <= 0x1F) goto yy59;
6348
330k
        goto yy195;
6349
6.54M
      } else {
6350
6.54M
        if (yych <= 'D') {
6351
6.10M
          if (yych <= 'C') goto yy59;
6352
108k
          goto yy198;
6353
6.10M
        } else {
6354
444k
          if (yych == 'F') goto yy199;
6355
205k
          goto yy59;
6356
444k
        }
6357
6.54M
      }
6358
8.11M
    } else {
6359
1.18M
      if (yych <= 'S') {
6360
611k
        if (yych <= 'L') {
6361
192k
          if (yych <= 'H') goto yy79;
6362
129k
          goto yy59;
6363
419k
        } else {
6364
419k
          if (yych <= 'M') goto yy200;
6365
290k
          if (yych <= 'R') goto yy59;
6366
103k
          goto yy201;
6367
290k
        }
6368
611k
      } else {
6369
576k
        if (yych <= 'U') {
6370
372k
          if (yych <= 'T') goto yy87;
6371
22.4k
          goto yy88;
6372
372k
        } else {
6373
203k
          if (yych == 'W') goto yy90;
6374
117k
          goto yy59;
6375
203k
        }
6376
576k
      }
6377
1.18M
    }
6378
9.30M
  } else {
6379
3.56M
    if (yych <= 'r') {
6380
1.61M
      if (yych <= 'f') {
6381
800k
        if (yych <= 'c') {
6382
360k
          if (yych <= 'Y') goto yy92;
6383
242k
          goto yy59;
6384
439k
        } else {
6385
439k
          if (yych <= 'd') goto yy198;
6386
323k
          if (yych <= 'e') goto yy59;
6387
130k
          goto yy199;
6388
323k
        }
6389
815k
      } else {
6390
815k
        if (yych <= 'h') {
6391
143k
          if (yych <= 'g') goto yy59;
6392
85.0k
          goto yy79;
6393
671k
        } else {
6394
671k
          if (yych == 'm') goto yy200;
6395
474k
          goto yy59;
6396
671k
        }
6397
815k
      }
6398
1.95M
    } else {
6399
1.95M
      if (yych <= 'w') {
6400
638k
        if (yych <= 't') {
6401
435k
          if (yych <= 's') goto yy201;
6402
228k
          goto yy87;
6403
435k
        } else {
6404
203k
          if (yych <= 'u') goto yy88;
6405
133k
          if (yych <= 'v') goto yy59;
6406
75.5k
          goto yy90;
6407
133k
        }
6408
1.31M
      } else {
6409
1.31M
        if (yych <= 'y') {
6410
111k
          if (yych <= 'x') goto yy59;
6411
88.6k
          goto yy92;
6412
1.20M
        } else {
6413
1.20M
          if (yych == 0xC2) goto yy211;
6414
1.19M
          goto yy59;
6415
1.20M
        }
6416
1.31M
      }
6417
1.95M
    }
6418
3.56M
  }
6419
1.22M
yy197:
6420
1.22M
  YYDEBUG(197, *YYCURSOR);
6421
1.22M
  yych = *++YYCURSOR;
6422
1.22M
  if (yych <= 0xC1) {
6423
1.15M
    if (yych <= '/') goto yy196;
6424
999k
    if (yych <= '9') goto yy389;
6425
218k
    goto yy196;
6426
999k
  } else {
6427
64.7k
    if (yych <= 0xC2) goto yy97;
6428
39.2k
    if (yych == 0xE2) goto yy98;
6429
28.1k
    goto yy196;
6430
39.2k
  }
6431
268k
yy198:
6432
268k
  YYDEBUG(198, *YYCURSOR);
6433
268k
  yych = *++YYCURSOR;
6434
268k
  if (yych == 'A') goto yy242;
6435
258k
  if (yych == 'a') goto yy242;
6436
209k
  goto yy59;
6437
407k
yy199:
6438
407k
  YYDEBUG(199, *YYCURSOR);
6439
407k
  yych = *++YYCURSOR;
6440
407k
  if (yych <= 'R') {
6441
175k
    if (yych == 'O') goto yy245;
6442
137k
    if (yych <= 'Q') goto yy59;
6443
4.07k
    goto yy246;
6444
232k
  } else {
6445
232k
    if (yych <= 'o') {
6446
166k
      if (yych <= 'n') goto yy59;
6447
30.2k
      goto yy245;
6448
166k
    } else {
6449
66.4k
      if (yych == 'r') goto yy246;
6450
27.4k
      goto yy59;
6451
66.4k
    }
6452
232k
  }
6453
371k
yy200:
6454
371k
  YYDEBUG(200, *YYCURSOR);
6455
371k
  yych = *++YYCURSOR;
6456
371k
  if (yych <= 'S') {
6457
145k
    if (yych <= 'N') {
6458
136k
      if (yych == 'I') goto yy257;
6459
115k
      goto yy59;
6460
136k
    } else {
6461
9.16k
      if (yych <= 'O') goto yy258;
6462
4.94k
      if (yych <= 'R') goto yy59;
6463
1.97k
      goto yy259;
6464
4.94k
    }
6465
225k
  } else {
6466
225k
    if (yych <= 'n') {
6467
158k
      if (yych == 'i') goto yy257;
6468
69.0k
      goto yy59;
6469
158k
    } else {
6470
67.3k
      if (yych <= 'o') goto yy258;
6471
56.5k
      if (yych == 's') goto yy259;
6472
50.6k
      goto yy59;
6473
56.5k
    }
6474
225k
  }
6475
342k
yy201:
6476
342k
  YYDEBUG(201, *YYCURSOR);
6477
342k
  yych = *++YYCURSOR;
6478
342k
  if (yych <= 'U') {
6479
161k
    if (yych <= 'D') {
6480
132k
      if (yych == 'A') goto yy263;
6481
127k
      goto yy59;
6482
132k
    } else {
6483
28.7k
      if (yych <= 'E') goto yy390;
6484
22.1k
      if (yych <= 'T') goto yy59;
6485
6.83k
      goto yy265;
6486
22.1k
    }
6487
181k
  } else {
6488
181k
    if (yych <= 'd') {
6489
31.7k
      if (yych == 'a') goto yy263;
6490
14.1k
      goto yy59;
6491
149k
    } else {
6492
149k
      if (yych <= 'e') goto yy390;
6493
107k
      if (yych == 'u') goto yy265;
6494
99.6k
      goto yy59;
6495
107k
    }
6496
181k
  }
6497
1.34M
yy202:
6498
1.34M
  YYDEBUG(202, *YYCURSOR);
6499
1.34M
  yyaccept = 2;
6500
1.34M
  yych = *(YYMARKER = ++YYCURSOR);
6501
1.34M
  if (yych <= 'W') {
6502
1.17M
    if (yych <= 'D') {
6503
1.03M
      if (yych <= '/') {
6504
222k
        if (yych <= '\t') {
6505
33.1k
          if (yych <= 0x08) goto yy20;
6506
10.8k
          goto yy196;
6507
188k
        } else {
6508
188k
          if (yych == ' ') goto yy196;
6509
182k
          goto yy20;
6510
188k
        }
6511
808k
      } else {
6512
808k
        if (yych <= '9') {
6513
699k
          if (yych <= '5') goto yy391;
6514
84.6k
          goto yy392;
6515
699k
        } else {
6516
108k
          if (yych <= ':') goto yy393;
6517
18.9k
          if (yych <= 'C') goto yy20;
6518
4.55k
          goto yy196;
6519
18.9k
        }
6520
808k
      }
6521
1.03M
    } else {
6522
140k
      if (yych <= 'L') {
6523
37.6k
        if (yych <= 'F') {
6524
29.7k
          if (yych <= 'E') goto yy20;
6525
24.5k
          goto yy196;
6526
29.7k
        } else {
6527
7.95k
          if (yych == 'H') goto yy196;
6528
6.51k
          goto yy20;
6529
7.95k
        }
6530
103k
      } else {
6531
103k
        if (yych <= 'R') {
6532
19.0k
          if (yych <= 'M') goto yy196;
6533
14.9k
          goto yy20;
6534
84.2k
        } else {
6535
84.2k
          if (yych == 'V') goto yy20;
6536
67.6k
          goto yy196;
6537
84.2k
        }
6538
103k
      }
6539
140k
    }
6540
1.17M
  } else {
6541
169k
    if (yych <= 'm') {
6542
56.0k
      if (yych <= 'e') {
6543
34.7k
        if (yych <= 'Y') {
6544
8.72k
          if (yych <= 'X') goto yy20;
6545
1.19k
          goto yy196;
6546
26.0k
        } else {
6547
26.0k
          if (yych == 'd') goto yy196;
6548
20.0k
          goto yy20;
6549
26.0k
        }
6550
34.7k
      } else {
6551
21.3k
        if (yych <= 'g') {
6552
7.38k
          if (yych <= 'f') goto yy196;
6553
4.23k
          goto yy20;
6554
13.9k
        } else {
6555
13.9k
          if (yych <= 'h') goto yy196;
6556
12.6k
          if (yych <= 'l') goto yy20;
6557
3.18k
          goto yy196;
6558
12.6k
        }
6559
21.3k
      }
6560
113k
    } else {
6561
113k
      if (yych <= 'x') {
6562
43.2k
        if (yych <= 'u') {
6563
38.9k
          if (yych <= 'r') goto yy20;
6564
17.7k
          goto yy196;
6565
38.9k
        } else {
6566
4.22k
          if (yych == 'w') goto yy196;
6567
3.56k
          goto yy20;
6568
4.22k
        }
6569
69.9k
      } else {
6570
69.9k
        if (yych <= 0xC2) {
6571
41.2k
          if (yych <= 'y') goto yy196;
6572
36.3k
          if (yych <= 0xC1) goto yy20;
6573
16.0k
          goto yy97;
6574
36.3k
        } else {
6575
28.6k
          if (yych == 0xE2) goto yy98;
6576
27.2k
          goto yy20;
6577
28.6k
        }
6578
69.9k
      }
6579
113k
    }
6580
169k
  }
6581
118k
yy203:
6582
118k
  YYDEBUG(203, *YYCURSOR);
6583
118k
  yych = *++YYCURSOR;
6584
118k
  if (yych <= '/') goto yy59;
6585
88.7k
  if (yych <= '5') goto yy394;
6586
53.2k
  if (yych <= '9') goto yy115;
6587
45.2k
  goto yy59;
6588
628k
yy204:
6589
628k
  YYDEBUG(204, *YYCURSOR);
6590
628k
  yyaccept = 2;
6591
628k
  yych = *(YYMARKER = ++YYCURSOR);
6592
628k
  if (yych <= 'X') {
6593
529k
    if (yych <= 'E') {
6594
482k
      if (yych <= ' ') {
6595
30.4k
        if (yych == '\t') goto yy196;
6596
27.8k
        if (yych <= 0x1F) goto yy20;
6597
7.85k
        goto yy196;
6598
452k
      } else {
6599
452k
        if (yych <= '9') {
6600
426k
          if (yych <= '/') goto yy20;
6601
353k
          goto yy392;
6602
426k
        } else {
6603
25.5k
          if (yych == 'D') goto yy196;
6604
23.7k
          goto yy20;
6605
25.5k
        }
6606
452k
      }
6607
482k
    } else {
6608
46.7k
      if (yych <= 'M') {
6609
23.0k
        if (yych <= 'G') {
6610
9.34k
          if (yych <= 'F') goto yy196;
6611
162
          goto yy20;
6612
13.6k
        } else {
6613
13.6k
          if (yych <= 'H') goto yy196;
6614
13.4k
          if (yych <= 'L') goto yy20;
6615
2.01k
          goto yy196;
6616
13.4k
        }
6617
23.6k
      } else {
6618
23.6k
        if (yych <= 'U') {
6619
16.0k
          if (yych <= 'R') goto yy20;
6620
12.5k
          goto yy196;
6621
16.0k
        } else {
6622
7.64k
          if (yych == 'W') goto yy196;
6623
5.42k
          goto yy20;
6624
7.64k
        }
6625
23.6k
      }
6626
46.7k
    }
6627
529k
  } else {
6628
99.0k
    if (yych <= 'r') {
6629
41.6k
      if (yych <= 'f') {
6630
22.1k
        if (yych <= 'c') {
6631
13.7k
          if (yych <= 'Y') goto yy196;
6632
11.7k
          goto yy20;
6633
13.7k
        } else {
6634
8.48k
          if (yych == 'e') goto yy20;
6635
6.21k
          goto yy196;
6636
8.48k
        }
6637
22.1k
      } else {
6638
19.4k
        if (yych <= 'h') {
6639
4.90k
          if (yych <= 'g') goto yy20;
6640
893
          goto yy196;
6641
14.5k
        } else {
6642
14.5k
          if (yych == 'm') goto yy196;
6643
10.2k
          goto yy20;
6644
14.5k
        }
6645
19.4k
      }
6646
57.4k
    } else {
6647
57.4k
      if (yych <= 'y') {
6648
20.4k
        if (yych <= 'v') {
6649
15.2k
          if (yych <= 'u') goto yy196;
6650
2.80k
          goto yy20;
6651
15.2k
        } else {
6652
5.18k
          if (yych == 'x') goto yy20;
6653
3.03k
          goto yy196;
6654
5.18k
        }
6655
37.0k
      } else {
6656
37.0k
        if (yych <= 0xC2) {
6657
15.3k
          if (yych <= 0xC1) goto yy20;
6658
1.18k
          goto yy97;
6659
21.6k
        } else {
6660
21.6k
          if (yych == 0xE2) goto yy98;
6661
20.5k
          goto yy20;
6662
21.6k
        }
6663
37.0k
      }
6664
57.4k
    }
6665
99.0k
  }
6666
315k
yy205:
6667
315k
  YYDEBUG(205, *YYCURSOR);
6668
315k
  yyaccept = 2;
6669
315k
  yych = *(YYMARKER = ++YYCURSOR);
6670
315k
  if (yych <= 'X') {
6671
263k
    if (yych <= 'E') {
6672
232k
      if (yych <= ' ') {
6673
12.8k
        if (yych == '\t') goto yy196;
6674
10.8k
        if (yych <= 0x1F) goto yy20;
6675
2.83k
        goto yy196;
6676
219k
      } else {
6677
219k
        if (yych <= '9') {
6678
210k
          if (yych <= '/') goto yy20;
6679
195k
          goto yy395;
6680
210k
        } else {
6681
8.56k
          if (yych == 'D') goto yy196;
6682
7.96k
          goto yy20;
6683
8.56k
        }
6684
219k
      }
6685
232k
    } else {
6686
31.2k
      if (yych <= 'M') {
6687
16.4k
        if (yych <= 'G') {
6688
11.3k
          if (yych <= 'F') goto yy196;
6689
5.26k
          goto yy20;
6690
11.3k
        } else {
6691
5.08k
          if (yych <= 'H') goto yy196;
6692
4.67k
          if (yych <= 'L') goto yy20;
6693
1.62k
          goto yy196;
6694
4.67k
        }
6695
16.4k
      } else {
6696
14.8k
        if (yych <= 'U') {
6697
7.10k
          if (yych <= 'R') goto yy20;
6698
4.27k
          goto yy196;
6699
7.73k
        } else {
6700
7.73k
          if (yych == 'W') goto yy196;
6701
4.33k
          goto yy20;
6702
7.73k
        }
6703
14.8k
      }
6704
31.2k
    }
6705
263k
  } else {
6706
51.9k
    if (yych <= 'r') {
6707
25.7k
      if (yych <= 'f') {
6708
19.4k
        if (yych <= 'c') {
6709
12.7k
          if (yych <= 'Y') goto yy196;
6710
8.62k
          goto yy20;
6711
12.7k
        } else {
6712
6.72k
          if (yych == 'e') goto yy20;
6713
3.17k
          goto yy196;
6714
6.72k
        }
6715
19.4k
      } else {
6716
6.29k
        if (yych <= 'h') {
6717
1.25k
          if (yych <= 'g') goto yy20;
6718
449
          goto yy196;
6719
5.03k
        } else {
6720
5.03k
          if (yych == 'm') goto yy196;
6721
4.35k
          goto yy20;
6722
5.03k
        }
6723
6.29k
      }
6724
26.1k
    } else {
6725
26.1k
      if (yych <= 'y') {
6726
10.0k
        if (yych <= 'v') {
6727
5.42k
          if (yych <= 'u') goto yy196;
6728
3.90k
          goto yy20;
6729
5.42k
        } else {
6730
4.63k
          if (yych == 'x') goto yy20;
6731
4.01k
          goto yy196;
6732
4.63k
        }
6733
16.1k
      } else {
6734
16.1k
        if (yych <= 0xC2) {
6735
4.41k
          if (yych <= 0xC1) goto yy20;
6736
1.62k
          goto yy97;
6737
11.6k
        } else {
6738
11.6k
          if (yych == 0xE2) goto yy98;
6739
9.29k
          goto yy20;
6740
11.6k
        }
6741
16.1k
      }
6742
26.1k
    }
6743
51.9k
  }
6744
450k
yy206:
6745
450k
  YYDEBUG(206, *YYCURSOR);
6746
450k
  ++YYCURSOR;
6747
450k
  if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13);
6748
450k
  yych = *YYCURSOR;
6749
2.04M
yy207:
6750
2.04M
  YYDEBUG(207, *YYCURSOR);
6751
2.04M
  switch (yych) {
6752
20.2k
  case '\t':
6753
73.3k
  case ' ':
6754
317k
  case '-':
6755
392k
  case '.': goto yy206;
6756
107k
  case 'A':
6757
126k
  case 'a': goto yy76;
6758
15.4k
  case 'D':
6759
44.5k
  case 'd': goto yy215;
6760
17.3k
  case 'F':
6761
64.5k
  case 'f': goto yy216;
6762
16.7k
  case 'I': goto yy80;
6763
42.1k
  case 'J':
6764
101k
  case 'j': goto yy82;
6765
25.1k
  case 'M':
6766
99.2k
  case 'm': goto yy217;
6767
35.1k
  case 'N':
6768
68.2k
  case 'n': goto yy84;
6769
32.9k
  case 'O':
6770
49.7k
  case 'o': goto yy85;
6771
37.2k
  case 'S':
6772
100k
  case 's': goto yy218;
6773
19.3k
  case 'V': goto yy89;
6774
8.08k
  case 'X': goto yy91;
6775
952k
  default:  goto yy59;
6776
2.04M
  }
6777
59.4k
yy208:
6778
59.4k
  YYDEBUG(208, *YYCURSOR);
6779
59.4k
  yych = *++YYCURSOR;
6780
59.4k
  if (yych <= '.') {
6781
20.4k
    if (yych <= ',') goto yy59;
6782
14.6k
    if (yych <= '-') goto yy396;
6783
9.99k
    goto yy397;
6784
38.9k
  } else {
6785
38.9k
    if (yych <= '/') goto yy59;
6786
33.0k
    if (yych <= '9') goto yy210;
6787
8.70k
    goto yy59;
6788
33.0k
  }
6789
39.7k
yy209:
6790
39.7k
  YYDEBUG(209, *YYCURSOR);
6791
39.7k
  yych = *++YYCURSOR;
6792
39.7k
  if (yych <= '.') {
6793
10.3k
    if (yych <= ',') goto yy59;
6794
8.63k
    if (yych <= '-') goto yy396;
6795
7.38k
    goto yy397;
6796
29.3k
  } else {
6797
29.3k
    if (yych <= '/') goto yy59;
6798
18.0k
    if (yych >= '3') goto yy59;
6799
18.0k
  }
6800
145k
yy210:
6801
145k
  YYDEBUG(210, *YYCURSOR);
6802
145k
  yych = *++YYCURSOR;
6803
145k
  if (yych <= ',') goto yy59;
6804
131k
  if (yych <= '-') goto yy396;
6805
125k
  if (yych <= '.') goto yy397;
6806
115k
  goto yy59;
6807
115k
yy211:
6808
31.5k
  YYDEBUG(211, *YYCURSOR);
6809
31.5k
  yych = *++YYCURSOR;
6810
31.5k
  if (yych == 0xB5) goto yy274;
6811
21.9k
  goto yy59;
6812
355k
yy212:
6813
355k
  YYDEBUG(212, *YYCURSOR);
6814
355k
  yych = *++YYCURSOR;
6815
355k
  if (yych <= '.') {
6816
59.9k
    if (yych <= ',') goto yy59;
6817
31.4k
    if (yych <= '-') goto yy398;
6818
4.90k
    goto yy396;
6819
295k
  } else {
6820
295k
    if (yych <= '/') goto yy59;
6821
289k
    if (yych <= '9') goto yy214;
6822
86.8k
    goto yy59;
6823
289k
  }
6824
211k
yy213:
6825
211k
  YYDEBUG(213, *YYCURSOR);
6826
211k
  yych = *++YYCURSOR;
6827
211k
  if (yych <= '.') {
6828
38.4k
    if (yych <= ',') goto yy59;
6829
22.6k
    if (yych <= '-') goto yy398;
6830
5.25k
    goto yy396;
6831
172k
  } else {
6832
172k
    if (yych <= '/') goto yy59;
6833
169k
    if (yych >= '3') goto yy59;
6834
169k
  }
6835
907k
yy214:
6836
907k
  YYDEBUG(214, *YYCURSOR);
6837
907k
  yych = *++YYCURSOR;
6838
907k
  if (yych <= ',') goto yy59;
6839
832k
  if (yych <= '-') goto yy398;
6840
691k
  if (yych <= '.') goto yy396;
6841
684k
  goto yy59;
6842
684k
yy215:
6843
44.5k
  YYDEBUG(215, *YYCURSOR);
6844
44.5k
  yych = *++YYCURSOR;
6845
44.5k
  if (yych == 'E') goto yy243;
6846
38.8k
  if (yych == 'e') goto yy243;
6847
27.2k
  goto yy59;
6848
64.5k
yy216:
6849
64.5k
  YYDEBUG(216, *YYCURSOR);
6850
64.5k
  yych = *++YYCURSOR;
6851
64.5k
  if (yych == 'E') goto yy244;
6852
59.7k
  if (yych == 'e') goto yy244;
6853
34.9k
  goto yy59;
6854
99.2k
yy217:
6855
99.2k
  YYDEBUG(217, *YYCURSOR);
6856
99.2k
  yych = *++YYCURSOR;
6857
99.2k
  if (yych == 'A') goto yy256;
6858
66.8k
  if (yych == 'a') goto yy256;
6859
47.9k
  goto yy59;
6860
100k
yy218:
6861
100k
  YYDEBUG(218, *YYCURSOR);
6862
100k
  yych = *++YYCURSOR;
6863
100k
  if (yych == 'E') goto yy399;
6864
92.2k
  if (yych == 'e') goto yy399;
6865
43.2k
  goto yy59;
6866
90.6k
yy219:
6867
90.6k
  YYDEBUG(219, *YYCURSOR);
6868
90.6k
  yyaccept = 4;
6869
90.6k
  yych = *(YYMARKER = ++YYCURSOR);
6870
90.6k
  if (yych <= '.') {
6871
32.9k
    if (yych <= ',') goto yy177;
6872
25.2k
    if (yych <= '-') goto yy396;
6873
4.41k
    goto yy400;
6874
57.6k
  } else {
6875
57.6k
    if (yych <= '/') goto yy177;
6876
57.3k
    if (yych <= '9') goto yy222;
6877
23.3k
    if (yych <= ':') goto yy401;
6878
17.6k
    goto yy177;
6879
23.3k
  }
6880
70.9k
yy220:
6881
70.9k
  YYDEBUG(220, *YYCURSOR);
6882
70.9k
  yyaccept = 4;
6883
70.9k
  yych = *(YYMARKER = ++YYCURSOR);
6884
70.9k
  if (yych <= '/') {
6885
19.7k
    if (yych <= ',') goto yy177;
6886
11.9k
    if (yych <= '-') goto yy396;
6887
10.0k
    if (yych <= '.') goto yy400;
6888
1.21k
    goto yy177;
6889
51.2k
  } else {
6890
51.2k
    if (yych <= '2') goto yy222;
6891
25.5k
    if (yych <= '9') goto yy239;
6892
18.5k
    if (yych <= ':') goto yy401;
6893
13.0k
    goto yy177;
6894
18.5k
  }
6895
40.1k
yy221:
6896
40.1k
  YYDEBUG(221, *YYCURSOR);
6897
40.1k
  yyaccept = 4;
6898
40.1k
  yych = *(YYMARKER = ++YYCURSOR);
6899
40.1k
  if (yych <= '.') {
6900
21.9k
    if (yych <= ',') goto yy177;
6901
12.1k
    if (yych <= '-') goto yy396;
6902
10.1k
    goto yy400;
6903
18.1k
  } else {
6904
18.1k
    if (yych <= '/') goto yy177;
6905
17.0k
    if (yych <= '9') goto yy239;
6906
7.20k
    if (yych <= ':') goto yy401;
6907
5.19k
    goto yy177;
6908
7.20k
  }
6909
109k
yy222:
6910
109k
  YYDEBUG(222, *YYCURSOR);
6911
109k
  yyaccept = 4;
6912
109k
  yych = *(YYMARKER = ++YYCURSOR);
6913
109k
  if (yych <= '.') {
6914
45.4k
    if (yych <= ',') goto yy177;
6915
36.5k
    if (yych <= '-') goto yy396;
6916
31.4k
    goto yy400;
6917
64.5k
  } else {
6918
64.5k
    if (yych == ':') goto yy401;
6919
51.4k
    goto yy177;
6920
64.5k
  }
6921
202k
yy223:
6922
202k
  YYDEBUG(223, *YYCURSOR);
6923
202k
  yyaccept = 5;
6924
202k
  yych = *(YYMARKER = ++YYCURSOR);
6925
202k
  if (yych <= 'n') {
6926
165k
    if (yych <= '/') {
6927
47.0k
      if (yych >= '/') goto yy402;
6928
118k
    } else {
6929
118k
      if (yych <= '9') goto yy226;
6930
31.1k
      if (yych >= 'n') goto yy403;
6931
31.1k
    }
6932
165k
  } else {
6933
36.6k
    if (yych <= 'r') {
6934
12.6k
      if (yych >= 'r') goto yy403;
6935
24.0k
    } else {
6936
24.0k
      if (yych <= 's') goto yy404;
6937
15.9k
      if (yych <= 't') goto yy405;
6938
15.9k
    }
6939
36.6k
  }
6940
286k
yy224:
6941
286k
  YYDEBUG(224, *YYCURSOR);
6942
286k
#line 1481 "ext/date/lib/parse_date.re"
6943
286k
  {
6944
286k
    int length = 0;
6945
286k
    DEBUG_OUTPUT("americanshort | american");
6946
286k
    TIMELIB_INIT;
6947
286k
    TIMELIB_HAVE_DATE();
6948
22.7k
    s->time->m = timelib_get_nr(&ptr, 2);
6949
22.7k
    s->time->d = timelib_get_nr(&ptr, 2);
6950
22.7k
    if (*ptr == '/') {
6951
10.8k
      s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
6952
10.8k
      TIMELIB_PROCESS_YEAR(s->time->y, length);
6953
10.8k
    }
6954
22.7k
    TIMELIB_DEINIT;
6955
22.7k
    return TIMELIB_AMERICAN;
6956
286k
  }
6957
0
#line 6958 "ext/date/lib/parse_date.c"
6958
32.4k
yy225:
6959
32.4k
  YYDEBUG(225, *YYCURSOR);
6960
32.4k
  yyaccept = 5;
6961
32.4k
  yych = *(YYMARKER = ++YYCURSOR);
6962
32.4k
  if (yych <= 'n') {
6963
22.6k
    if (yych <= '/') {
6964
9.05k
      if (yych <= '.') goto yy224;
6965
5.41k
      goto yy402;
6966
13.6k
    } else {
6967
13.6k
      if (yych <= '1') goto yy226;
6968
9.12k
      if (yych <= 'm') goto yy224;
6969
1.37k
      goto yy403;
6970
9.12k
    }
6971
22.6k
  } else {
6972
9.72k
    if (yych <= 'r') {
6973
2.98k
      if (yych <= 'q') goto yy224;
6974
1.78k
      goto yy403;
6975
6.73k
    } else {
6976
6.73k
      if (yych <= 's') goto yy404;
6977
3.70k
      if (yych <= 't') goto yy405;
6978
2.16k
      goto yy224;
6979
3.70k
    }
6980
9.72k
  }
6981
143k
yy226:
6982
143k
  YYDEBUG(226, *YYCURSOR);
6983
143k
  yyaccept = 5;
6984
143k
  yych = *(YYMARKER = ++YYCURSOR);
6985
143k
  if (yych <= 'n') {
6986
116k
    if (yych == '/') goto yy402;
6987
77.9k
    if (yych <= 'm') goto yy224;
6988
4.11k
    goto yy403;
6989
77.9k
  } else {
6990
27.1k
    if (yych <= 'r') {
6991
9.24k
      if (yych <= 'q') goto yy224;
6992
3.52k
      goto yy403;
6993
17.8k
    } else {
6994
17.8k
      if (yych <= 's') goto yy404;
6995
15.8k
      if (yych <= 't') goto yy405;
6996
11.2k
      goto yy224;
6997
15.8k
    }
6998
27.1k
  }
6999
53.3k
yy227:
7000
53.3k
  YYDEBUG(227, *YYCURSOR);
7001
53.3k
  yych = *++YYCURSOR;
7002
53.3k
  if (yych <= 'U') {
7003
27.3k
    if (yych == 'P') goto yy406;
7004
23.2k
    if (yych <= 'T') goto yy59;
7005
16.9k
    goto yy407;
7006
26.0k
  } else {
7007
26.0k
    if (yych <= 'p') {
7008
8.61k
      if (yych <= 'o') goto yy59;
7009
3.76k
      goto yy406;
7010
17.4k
    } else {
7011
17.4k
      if (yych == 'u') goto yy407;
7012
14.1k
      goto yy59;
7013
17.4k
    }
7014
26.0k
  }
7015
38.1k
yy228:
7016
38.1k
  YYDEBUG(228, *YYCURSOR);
7017
38.1k
  yych = *++YYCURSOR;
7018
38.1k
  if (yych == 'E') goto yy408;
7019
19.3k
  if (yych == 'e') goto yy408;
7020
15.6k
  goto yy59;
7021
17.6k
yy229:
7022
17.6k
  YYDEBUG(229, *YYCURSOR);
7023
17.6k
  yych = *++YYCURSOR;
7024
17.6k
  if (yych == 'E') goto yy409;
7025
12.7k
  if (yych == 'e') goto yy409;
7026
7.39k
  goto yy59;
7027
292k
yy230:
7028
292k
  YYDEBUG(230, *YYCURSOR);
7029
292k
  yych = *++YYCURSOR;
7030
292k
  if (yych <= 'U') {
7031
259k
    if (yych == 'A') goto yy410;
7032
221k
    if (yych <= 'T') goto yy59;
7033
196k
    goto yy411;
7034
221k
  } else {
7035
33.3k
    if (yych <= 'a') {
7036
12.6k
      if (yych <= '`') goto yy59;
7037
6.79k
      goto yy410;
7038
20.6k
    } else {
7039
20.6k
      if (yych == 'u') goto yy411;
7040
10.3k
      goto yy59;
7041
20.6k
    }
7042
33.3k
  }
7043
68.7k
yy231:
7044
68.7k
  YYDEBUG(231, *YYCURSOR);
7045
68.7k
  yych = *++YYCURSOR;
7046
68.7k
  if (yych == 'A') goto yy412;
7047
28.5k
  if (yych == 'a') goto yy412;
7048
10.9k
  goto yy59;
7049
43.6k
yy232:
7050
43.6k
  YYDEBUG(232, *YYCURSOR);
7051
43.6k
  yych = *++YYCURSOR;
7052
43.6k
  if (yych == 'O') goto yy413;
7053
37.5k
  if (yych == 'o') goto yy413;
7054
24.9k
  goto yy59;
7055
76.0k
yy233:
7056
76.0k
  YYDEBUG(233, *YYCURSOR);
7057
76.0k
  yych = *++YYCURSOR;
7058
76.0k
  if (yych == 'C') goto yy414;
7059
47.9k
  if (yych == 'c') goto yy414;
7060
36.4k
  goto yy59;
7061
58.0k
yy234:
7062
58.0k
  YYDEBUG(234, *YYCURSOR);
7063
58.0k
  yych = *++YYCURSOR;
7064
58.0k
  if (yych == 'E') goto yy415;
7065
53.5k
  if (yych == 'e') goto yy415;
7066
11.7k
  goto yy59;
7067
585k
yy235:
7068
585k
  YYDEBUG(235, *YYCURSOR);
7069
585k
  yych = *++YYCURSOR;
7070
585k
  if (yych <= '/') goto yy207;
7071
537k
  if (yych <= '0') goto yy416;
7072
375k
  if (yych <= '1') goto yy417;
7073
308k
  if (yych <= '9') goto yy214;
7074
167k
  goto yy207;
7075
4.53M
yy236:
7076
4.53M
  YYDEBUG(236, *YYCURSOR);
7077
4.53M
  yych = *++YYCURSOR;
7078
4.53M
  if (yych <= '9') {
7079
3.63M
    if (yych == '-') goto yy418;
7080
3.46M
    if (yych <= '/') goto yy196;
7081
3.19M
    goto yy419;
7082
3.46M
  } else {
7083
893k
    if (yych <= 0xC2) {
7084
803k
      if (yych <= 0xC1) goto yy196;
7085
23.1k
      goto yy97;
7086
803k
    } else {
7087
90.6k
      if (yych == 0xE2) goto yy98;
7088
80.0k
      goto yy196;
7089
90.6k
    }
7090
893k
  }
7091
5.19M
yy237:
7092
5.19M
  YYDEBUG(237, *YYCURSOR);
7093
5.19M
  yych = *++YYCURSOR;
7094
5.19M
  if (yych <= '9') {
7095
3.98M
    if (yych == '-') goto yy418;
7096
3.74M
    if (yych <= '/') goto yy196;
7097
3.42M
    goto yy421;
7098
3.74M
  } else {
7099
1.20M
    if (yych <= 0xC2) {
7100
1.08M
      if (yych <= 0xC1) goto yy196;
7101
19.5k
      goto yy97;
7102
1.08M
    } else {
7103
117k
      if (yych == 0xE2) goto yy98;
7104
94.3k
      goto yy196;
7105
117k
    }
7106
1.20M
  }
7107
315k
yy238:
7108
315k
  YYDEBUG(238, *YYCURSOR);
7109
315k
  yyaccept = 4;
7110
315k
  yych = *(YYMARKER = ++YYCURSOR);
7111
315k
  if (yych <= '/') {
7112
51.1k
    if (yych == '.') goto yy401;
7113
38.2k
    goto yy177;
7114
264k
  } else {
7115
264k
    if (yych <= '9') goto yy239;
7116
81.9k
    if (yych <= ':') goto yy401;
7117
42.0k
    goto yy177;
7118
81.9k
  }
7119
233k
yy239:
7120
233k
  YYDEBUG(239, *YYCURSOR);
7121
233k
  yyaccept = 4;
7122
233k
  yych = *(YYMARKER = ++YYCURSOR);
7123
233k
  if (yych == '.') goto yy401;
7124
216k
  if (yych == ':') goto yy401;
7125
139k
  goto yy177;
7126
139k
yy240:
7127
65.6k
  YYDEBUG(240, *YYCURSOR);
7128
65.6k
  yych = *++YYCURSOR;
7129
65.6k
  if (yych == 'R') goto yy423;
7130
53.9k
  if (yych == 'r') goto yy423;
7131
31.9k
  goto yy59;
7132
88.1k
yy241:
7133
88.1k
  YYDEBUG(241, *YYCURSOR);
7134
88.1k
  yych = *++YYCURSOR;
7135
88.1k
  if (yych == 'G') goto yy424;
7136
69.4k
  if (yych == 'g') goto yy424;
7137
34.8k
  goto yy59;
7138
124k
yy242:
7139
124k
  YYDEBUG(242, *YYCURSOR);
7140
124k
  yych = *++YYCURSOR;
7141
124k
  if (yych == 'Y') goto yy425;
7142
114k
  if (yych == 'y') goto yy425;
7143
108k
  goto yy59;
7144
108k
yy243:
7145
49.7k
  YYDEBUG(243, *YYCURSOR);
7146
49.7k
  yych = *++YYCURSOR;
7147
49.7k
  if (yych == 'C') goto yy426;
7148
43.1k
  if (yych == 'c') goto yy426;
7149
32.3k
  goto yy59;
7150
86.6k
yy244:
7151
86.6k
  YYDEBUG(244, *YYCURSOR);
7152
86.6k
  yych = *++YYCURSOR;
7153
86.6k
  if (yych == 'B') goto yy427;
7154
82.4k
  if (yych == 'b') goto yy427;
7155
48.5k
  goto yy59;
7156
172k
yy245:
7157
172k
  YYDEBUG(245, *YYCURSOR);
7158
172k
  yych = *++YYCURSOR;
7159
172k
  if (yych == 'R') goto yy428;
7160
142k
  if (yych == 'r') goto yy428;
7161
139k
  goto yy59;
7162
139k
yy246:
7163
134k
  YYDEBUG(246, *YYCURSOR);
7164
134k
  yych = *++YYCURSOR;
7165
134k
  if (yych == 'I') goto yy429;
7166
133k
  if (yych == 'i') goto yy429;
7167
130k
  goto yy59;
7168
130k
yy247:
7169
31.5k
  YYDEBUG(247, *YYCURSOR);
7170
31.5k
  yych = *++YYCURSOR;
7171
31.5k
  if (yych == 'U') goto yy430;
7172
29.3k
  if (yych == 'u') goto yy430;
7173
13.3k
  goto yy59;
7174
221k
yy248:
7175
221k
  YYDEBUG(248, *YYCURSOR);
7176
221k
  ++YYCURSOR;
7177
221k
  if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
7178
221k
  yych = *YYCURSOR;
7179
221k
  YYDEBUG(249, *YYCURSOR);
7180
221k
  if (yych <= ' ') {
7181
32.1k
    if (yych == '\t') goto yy248;
7182
12.9k
    if (yych <= 0x1F) goto yy59;
7183
1.72k
    goto yy248;
7184
189k
  } else {
7185
189k
    if (yych <= '.') {
7186
34.2k
      if (yych <= ',') goto yy59;
7187
23.2k
      goto yy248;
7188
154k
    } else {
7189
154k
      if (yych <= '/') goto yy59;
7190
145k
      if (yych >= ':') goto yy59;
7191
145k
    }
7192
189k
  }
7193
259k
yy250:
7194
259k
  YYDEBUG(250, *YYCURSOR);
7195
259k
  yych = *++YYCURSOR;
7196
259k
  if (yych <= '/') goto yy251;
7197
186k
  if (yych <= '9') goto yy431;
7198
259k
yy251:
7199
259k
  YYDEBUG(251, *YYCURSOR);
7200
259k
#line 1563 "ext/date/lib/parse_date.re"
7201
259k
  {
7202
259k
    int length = 0;
7203
259k
    DEBUG_OUTPUT("datefull");
7204
259k
    TIMELIB_INIT;
7205
259k
    TIMELIB_HAVE_DATE();
7206
31.2k
    s->time->d = timelib_get_nr(&ptr, 2);
7207
31.2k
    timelib_skip_day_suffix(&ptr);
7208
31.2k
    s->time->m = timelib_get_month(&ptr);
7209
31.2k
    s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
7210
31.2k
    TIMELIB_PROCESS_YEAR(s->time->y, length);
7211
31.2k
    TIMELIB_DEINIT;
7212
31.2k
    return TIMELIB_DATE_FULL;
7213
259k
  }
7214
0
#line 7215 "ext/date/lib/parse_date.c"
7215
59.6k
yy252:
7216
59.6k
  YYDEBUG(252, *YYCURSOR);
7217
59.6k
  yyaccept = 3;
7218
59.6k
  yych = *(YYMARKER = ++YYCURSOR);
7219
59.6k
  if (yych <= ',') {
7220
21.1k
    if (yych <= '\t') {
7221
11.6k
      if (yych <= 0x08) goto yy81;
7222
1.89k
      goto yy248;
7223
11.6k
    } else {
7224
9.50k
      if (yych == ' ') goto yy248;
7225
8.59k
      goto yy81;
7226
9.50k
    }
7227
38.5k
  } else {
7228
38.5k
    if (yych <= '9') {
7229
20.4k
      if (yych <= '.') goto yy248;
7230
15.1k
      if (yych <= '/') goto yy81;
7231
12.8k
      goto yy250;
7232
18.0k
    } else {
7233
18.0k
      if (yych != 'I') goto yy81;
7234
18.0k
    }
7235
38.5k
  }
7236
67.1k
yy253:
7237
67.1k
  YYDEBUG(253, *YYCURSOR);
7238
67.1k
  yyaccept = 3;
7239
67.1k
  yych = *(YYMARKER = ++YYCURSOR);
7240
67.1k
  if (yych <= ' ') {
7241
9.46k
    if (yych == '\t') goto yy248;
7242
8.15k
    if (yych <= 0x1F) goto yy81;
7243
1.08k
    goto yy248;
7244
57.6k
  } else {
7245
57.6k
    if (yych <= '.') {
7246
18.8k
      if (yych <= ',') goto yy81;
7247
11.6k
      goto yy248;
7248
38.8k
    } else {
7249
38.8k
      if (yych <= '/') goto yy81;
7250
34.9k
      if (yych <= '9') goto yy250;
7251
26.4k
      goto yy81;
7252
34.9k
    }
7253
57.6k
  }
7254
70.6k
yy254:
7255
70.6k
  YYDEBUG(254, *YYCURSOR);
7256
70.6k
  yych = *++YYCURSOR;
7257
70.6k
  if (yych == 'N') goto yy432;
7258
68.2k
  if (yych == 'n') goto yy432;
7259
37.6k
  goto yy59;
7260
122k
yy255:
7261
122k
  YYDEBUG(255, *YYCURSOR);
7262
122k
  yych = *++YYCURSOR;
7263
122k
  if (yych <= 'N') {
7264
46.4k
    if (yych == 'L') goto yy433;
7265
37.4k
    if (yych <= 'M') goto yy59;
7266
8.83k
    goto yy434;
7267
76.0k
  } else {
7268
76.0k
    if (yych <= 'l') {
7269
37.4k
      if (yych <= 'k') goto yy59;
7270
20.1k
      goto yy433;
7271
38.5k
    } else {
7272
38.5k
      if (yych == 'n') goto yy434;
7273
17.3k
      goto yy59;
7274
38.5k
    }
7275
76.0k
  }
7276
101k
yy256:
7277
101k
  YYDEBUG(256, *YYCURSOR);
7278
101k
  yych = *++YYCURSOR;
7279
101k
  if (yych <= 'Y') {
7280
44.6k
    if (yych == 'R') goto yy435;
7281
35.2k
    if (yych <= 'X') goto yy59;
7282
5.12k
    goto yy253;
7283
56.4k
  } else {
7284
56.4k
    if (yych <= 'r') {
7285
27.0k
      if (yych <= 'q') goto yy59;
7286
9.78k
      goto yy435;
7287
29.4k
    } else {
7288
29.4k
      if (yych == 'y') goto yy253;
7289
11.6k
      goto yy59;
7290
29.4k
    }
7291
56.4k
  }
7292
224k
yy257:
7293
224k
  YYDEBUG(257, *YYCURSOR);
7294
224k
  yych = *++YYCURSOR;
7295
224k
  if (yych <= 'N') {
7296
62.5k
    if (yych <= 'K') {
7297
48.0k
      if (yych == 'C') goto yy436;
7298
45.3k
      goto yy59;
7299
48.0k
    } else {
7300
14.4k
      if (yych <= 'L') goto yy437;
7301
10.4k
      if (yych <= 'M') goto yy59;
7302
9.38k
      goto yy438;
7303
10.4k
    }
7304
162k
  } else {
7305
162k
    if (yych <= 'k') {
7306
119k
      if (yych == 'c') goto yy436;
7307
70.1k
      goto yy59;
7308
119k
    } else {
7309
42.8k
      if (yych <= 'l') goto yy437;
7310
37.9k
      if (yych == 'n') goto yy438;
7311
20.4k
      goto yy59;
7312
37.9k
    }
7313
162k
  }
7314
54.4k
yy258:
7315
54.4k
  YYDEBUG(258, *YYCURSOR);
7316
54.4k
  yych = *++YYCURSOR;
7317
54.4k
  if (yych == 'N') goto yy439;
7318
52.2k
  if (yych == 'n') goto yy439;
7319
38.0k
  goto yy59;
7320
38.0k
yy259:
7321
22.4k
  YYDEBUG(259, *YYCURSOR);
7322
22.4k
  yyaccept = 6;
7323
22.4k
  yych = *(YYMARKER = ++YYCURSOR);
7324
22.4k
  if (yych == 'E') goto yy440;
7325
22.1k
  if (yych == 'e') goto yy440;
7326
258k
yy260:
7327
258k
  YYDEBUG(260, *YYCURSOR);
7328
258k
#line 1968 "ext/date/lib/parse_date.re"
7329
258k
  {
7330
258k
    timelib_ull i;
7331
258k
    DEBUG_OUTPUT("relative");
7332
258k
    TIMELIB_INIT;
7333
258k
    TIMELIB_HAVE_RELATIVE();
7334
7335
516k
    while(*ptr) {
7336
258k
      i = timelib_get_signed_nr(s, &ptr, 24);
7337
258k
      timelib_eat_spaces(&ptr);
7338
258k
      timelib_set_relative(&ptr, i, 1, s, TIMELIB_TIME_PART_KEEP);
7339
258k
    }
7340
258k
    TIMELIB_DEINIT;
7341
258k
    return TIMELIB_RELATIVE;
7342
22.1k
  }
7343
0
#line 7344 "ext/date/lib/parse_date.c"
7344
178k
yy261:
7345
178k
  YYDEBUG(261, *YYCURSOR);
7346
178k
  yych = *++YYCURSOR;
7347
178k
  if (yych == 'V') goto yy426;
7348
175k
  if (yych == 'v') goto yy426;
7349
149k
  goto yy59;
7350
149k
yy262:
7351
72.5k
  YYDEBUG(262, *YYCURSOR);
7352
72.5k
  yych = *++YYCURSOR;
7353
72.5k
  if (yych == 'T') goto yy441;
7354
55.5k
  if (yych == 't') goto yy441;
7355
26.7k
  goto yy59;
7356
78.5k
yy263:
7357
78.5k
  YYDEBUG(263, *YYCURSOR);
7358
78.5k
  yych = *++YYCURSOR;
7359
78.5k
  if (yych == 'T') goto yy442;
7360
76.6k
  if (yych == 't') goto yy442;
7361
60.6k
  goto yy59;
7362
172k
yy264:
7363
172k
  YYDEBUG(264, *YYCURSOR);
7364
172k
  yych = *++YYCURSOR;
7365
172k
  if (yych <= 'P') {
7366
38.7k
    if (yych == 'C') goto yy443;
7367
33.1k
    if (yych <= 'O') goto yy59;
7368
15.4k
    goto yy444;
7369
133k
  } else {
7370
133k
    if (yych <= 'c') {
7371
42.6k
      if (yych <= 'b') goto yy59;
7372
19.0k
      goto yy443;
7373
91.2k
    } else {
7374
91.2k
      if (yych == 'p') goto yy444;
7375
65.6k
      goto yy59;
7376
91.2k
    }
7377
133k
  }
7378
44.4k
yy265:
7379
44.4k
  YYDEBUG(265, *YYCURSOR);
7380
44.4k
  yych = *++YYCURSOR;
7381
44.4k
  if (yych == 'N') goto yy429;
7382
42.5k
  if (yych == 'n') goto yy429;
7383
41.3k
  goto yy59;
7384
139k
yy266:
7385
139k
  YYDEBUG(266, *YYCURSOR);
7386
139k
  yych = *++YYCURSOR;
7387
139k
  if (yych == 'U') goto yy445;
7388
134k
  if (yych == 'u') goto yy445;
7389
130k
  goto yy59;
7390
130k
yy267:
7391
58.1k
  YYDEBUG(267, *YYCURSOR);
7392
58.1k
  yych = *++YYCURSOR;
7393
58.1k
  if (yych == 'E') goto yy446;
7394
52.9k
  if (yych == 'e') goto yy446;
7395
43.6k
  goto yy59;
7396
43.6k
yy268:
7397
26.3k
  YYDEBUG(268, *YYCURSOR);
7398
26.3k
  yych = *++YYCURSOR;
7399
26.3k
  if (yych == 'E') goto yy440;
7400
25.9k
  if (yych == 'e') goto yy440;
7401
22.0k
  goto yy59;
7402
149k
yy269:
7403
149k
  YYDEBUG(269, *YYCURSOR);
7404
149k
  yych = *++YYCURSOR;
7405
149k
  if (yych <= 'E') {
7406
25.3k
    if (yych <= 'C') goto yy59;
7407
10.9k
    if (yych <= 'D') goto yy447;
7408
5.32k
    goto yy448;
7409
123k
  } else {
7410
123k
    if (yych <= 'c') goto yy59;
7411
111k
    if (yych <= 'd') goto yy447;
7412
86.1k
    if (yych <= 'e') goto yy448;
7413
46.9k
    goto yy59;
7414
86.1k
  }
7415
227k
yy270:
7416
227k
  YYDEBUG(270, *YYCURSOR);
7417
227k
  yych = *++YYCURSOR;
7418
227k
  if (yych == 'A') goto yy430;
7419
224k
  if (yych == 'a') goto yy430;
7420
222k
  goto yy59;
7421
222k
yy271:
7422
103k
  YYDEBUG(271, *YYCURSOR);
7423
103k
  yych = *++YYCURSOR;
7424
103k
  if (yych <= ',') {
7425
24.0k
    if (yych == '\t') goto yy287;
7426
14.8k
    goto yy207;
7427
79.6k
  } else {
7428
79.6k
    if (yych <= '-') goto yy449;
7429
61.5k
    if (yych <= '.') goto yy287;
7430
59.4k
    if (yych <= '/') goto yy280;
7431
57.6k
    goto yy207;
7432
59.4k
  }
7433
45.7k
yy272:
7434
45.7k
  YYDEBUG(272, *YYCURSOR);
7435
45.7k
  yych = *++YYCURSOR;
7436
45.7k
  if (yych <= '.') {
7437
18.6k
    if (yych <= '\t') {
7438
2.06k
      if (yych <= 0x08) goto yy207;
7439
1.12k
      goto yy287;
7440
16.5k
    } else {
7441
16.5k
      if (yych <= ',') goto yy207;
7442
11.5k
      if (yych <= '-') goto yy449;
7443
863
      goto yy287;
7444
11.5k
    }
7445
27.1k
  } else {
7446
27.1k
    if (yych <= 'U') {
7447
10.9k
      if (yych <= '/') goto yy280;
7448
8.12k
      if (yych <= 'T') goto yy207;
7449
2.32k
      goto yy445;
7450
16.1k
    } else {
7451
16.1k
      if (yych == 'u') goto yy445;
7452
13.2k
      goto yy207;
7453
16.1k
    }
7454
27.1k
  }
7455
287k
yy273:
7456
287k
  YYDEBUG(273, *YYCURSOR);
7457
287k
  ++YYCURSOR;
7458
287k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
7459
287k
  yych = *YYCURSOR;
7460
287k
  if (yych <= 'c') {
7461
167k
    if (yych <= 'M') {
7462
110k
      if (yych <= 'F') {
7463
71.6k
        if (yych == 'D') goto yy198;
7464
69.4k
        if (yych <= 'E') goto yy59;
7465
15.9k
        goto yy199;
7466
69.4k
      } else {
7467
38.4k
        if (yych == 'H') goto yy79;
7468
34.9k
        if (yych <= 'L') goto yy59;
7469
9.89k
        goto yy200;
7470
34.9k
      }
7471
110k
    } else {
7472
56.8k
      if (yych <= 'U') {
7473
25.6k
        if (yych <= 'R') goto yy59;
7474
14.8k
        if (yych <= 'S') goto yy201;
7475
10.4k
        if (yych <= 'T') goto yy87;
7476
3.24k
        goto yy88;
7477
31.2k
      } else {
7478
31.2k
        if (yych <= 'W') {
7479
13.6k
          if (yych <= 'V') goto yy59;
7480
7.13k
          goto yy90;
7481
17.5k
        } else {
7482
17.5k
          if (yych == 'Y') goto yy92;
7483
16.0k
          goto yy59;
7484
17.5k
        }
7485
31.2k
      }
7486
56.8k
    }
7487
167k
  } else {
7488
120k
    if (yych <= 's') {
7489
46.1k
      if (yych <= 'g') {
7490
8.27k
        if (yych <= 'd') goto yy198;
7491
4.12k
        if (yych == 'f') goto yy199;
7492
2.64k
        goto yy59;
7493
37.8k
      } else {
7494
37.8k
        if (yych <= 'l') {
7495
21.8k
          if (yych <= 'h') goto yy79;
7496
19.2k
          goto yy59;
7497
21.8k
        } else {
7498
16.0k
          if (yych <= 'm') goto yy200;
7499
10.5k
          if (yych <= 'r') goto yy59;
7500
2.10k
          goto yy201;
7501
10.5k
        }
7502
37.8k
      }
7503
74.5k
    } else {
7504
74.5k
      if (yych <= 'w') {
7505
17.2k
        if (yych <= 't') goto yy87;
7506
9.38k
        if (yych <= 'u') goto yy88;
7507
7.77k
        if (yych <= 'v') goto yy59;
7508
2.70k
        goto yy90;
7509
57.3k
      } else {
7510
57.3k
        if (yych <= 'y') {
7511
10.9k
          if (yych <= 'x') goto yy59;
7512
7.37k
          goto yy92;
7513
46.3k
        } else {
7514
46.3k
          if (yych == 0xC2) goto yy97;
7515
24.2k
          goto yy59;
7516
46.3k
        }
7517
57.3k
      }
7518
74.5k
    }
7519
120k
  }
7520
19.3k
yy274:
7521
19.3k
  YYDEBUG(274, *YYCURSOR);
7522
19.3k
  yych = *++YYCURSOR;
7523
19.3k
  if (yych == 'S') goto yy259;
7524
16.5k
  if (yych == 's') goto yy259;
7525
16.2k
  goto yy59;
7526
353k
yy275:
7527
353k
  YYDEBUG(275, *YYCURSOR);
7528
353k
  ++YYCURSOR;
7529
353k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
7530
353k
  yych = *YYCURSOR;
7531
353k
  if (yych == 0xAF) goto yy450;
7532
77.6k
  goto yy59;
7533
164k
yy276:
7534
164k
  YYDEBUG(276, *YYCURSOR);
7535
164k
  yyaccept = 4;
7536
164k
  yych = *(YYMARKER = ++YYCURSOR);
7537
164k
  if (yych <= '.') {
7538
58.1k
    if (yych <= ',') goto yy177;
7539
45.6k
    if (yych <= '-') goto yy396;
7540
34.4k
    goto yy451;
7541
106k
  } else {
7542
106k
    if (yych <= '/') goto yy177;
7543
99.7k
    if (yych <= '9') goto yy452;
7544
35.6k
    if (yych <= ':') goto yy453;
7545
15.2k
    goto yy177;
7546
35.6k
  }
7547
197k
yy277:
7548
197k
  YYDEBUG(277, *YYCURSOR);
7549
197k
  yyaccept = 4;
7550
197k
  yych = *(YYMARKER = ++YYCURSOR);
7551
197k
  if (yych <= '/') {
7552
48.7k
    if (yych <= ',') goto yy177;
7553
39.9k
    if (yych <= '-') goto yy396;
7554
36.1k
    if (yych <= '.') goto yy451;
7555
1.63k
    goto yy177;
7556
148k
  } else {
7557
148k
    if (yych <= '2') goto yy452;
7558
45.0k
    if (yych <= '9') goto yy454;
7559
29.2k
    if (yych <= ':') goto yy453;
7560
20.4k
    goto yy177;
7561
29.2k
  }
7562
147k
yy278:
7563
147k
  YYDEBUG(278, *YYCURSOR);
7564
147k
  yyaccept = 4;
7565
147k
  yych = *(YYMARKER = ++YYCURSOR);
7566
147k
  if (yych <= '.') {
7567
28.8k
    if (yych <= ',') goto yy177;
7568
23.9k
    if (yych <= '-') goto yy396;
7569
19.8k
    goto yy451;
7570
118k
  } else {
7571
118k
    if (yych <= '/') goto yy177;
7572
109k
    if (yych <= '9') goto yy454;
7573
30.0k
    if (yych <= ':') goto yy453;
7574
22.0k
    goto yy177;
7575
30.0k
  }
7576
56.0k
yy279:
7577
56.0k
  YYDEBUG(279, *YYCURSOR);
7578
56.0k
  yyaccept = 4;
7579
56.0k
  yych = *(YYMARKER = ++YYCURSOR);
7580
56.0k
  if (yych <= '.') {
7581
29.3k
    if (yych <= ',') goto yy177;
7582
24.8k
    if (yych <= '-') goto yy396;
7583
19.1k
    goto yy451;
7584
26.6k
  } else {
7585
26.6k
    if (yych == ':') goto yy453;
7586
23.0k
    goto yy177;
7587
26.6k
  }
7588
143k
yy280:
7589
143k
  YYDEBUG(280, *YYCURSOR);
7590
143k
  yych = *++YYCURSOR;
7591
143k
  switch (yych) {
7592
5.40k
  case 'A':
7593
7.25k
  case 'a': goto yy227;
7594
6.44k
  case 'D':
7595
10.3k
  case 'd': goto yy228;
7596
1.78k
  case 'F':
7597
2.99k
  case 'f': goto yy229;
7598
3.09k
  case 'J':
7599
36.3k
  case 'j': goto yy230;
7600
3.58k
  case 'M':
7601
15.9k
  case 'm': goto yy231;
7602
3.72k
  case 'N':
7603
5.14k
  case 'n': goto yy232;
7604
13.2k
  case 'O':
7605
14.7k
  case 'o': goto yy233;
7606
4.29k
  case 'S':
7607
5.68k
  case 's': goto yy234;
7608
44.9k
  default:  goto yy59;
7609
143k
  }
7610
706k
yy281:
7611
706k
  YYDEBUG(281, *YYCURSOR);
7612
706k
  yyaccept = 4;
7613
706k
  yych = *(YYMARKER = ++YYCURSOR);
7614
706k
  if (yych <= '/') {
7615
68.3k
    if (yych == '.') goto yy453;
7616
55.4k
    goto yy177;
7617
637k
  } else {
7618
637k
    if (yych <= '9') goto yy455;
7619
145k
    if (yych <= ':') goto yy453;
7620
93.9k
    goto yy177;
7621
145k
  }
7622
83.2k
yy282:
7623
83.2k
  YYDEBUG(282, *YYCURSOR);
7624
83.2k
  yyaccept = 4;
7625
83.2k
  yych = *(YYMARKER = ++YYCURSOR);
7626
83.2k
  if (yych == '.') goto yy453;
7627
79.6k
  if (yych == ':') goto yy453;
7628
70.4k
  goto yy177;
7629
70.4k
yy283:
7630
32.8k
  YYDEBUG(283, *YYCURSOR);
7631
32.8k
  yych = *++YYCURSOR;
7632
32.8k
  if (yych == 'M') goto yy284;
7633
28.3k
  if (yych != 'm') goto yy59;
7634
108k
yy284:
7635
108k
  YYDEBUG(284, *YYCURSOR);
7636
108k
  yych = *++YYCURSOR;
7637
108k
  if (yych <= 0x1F) {
7638
38.8k
    if (yych <= 0x00) goto yy456;
7639
27.5k
    if (yych == '\t') goto yy456;
7640
16.1k
    goto yy59;
7641
69.8k
  } else {
7642
69.8k
    if (yych <= ' ') goto yy456;
7643
64.7k
    if (yych == '.') goto yy458;
7644
41.8k
    goto yy59;
7645
64.7k
  }
7646
223k
yy285:
7647
223k
  YYDEBUG(285, *YYCURSOR);
7648
223k
  ++YYCURSOR;
7649
223k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
7650
223k
  yych = *YYCURSOR;
7651
223k
  if (yych <= '`') {
7652
118k
    if (yych <= 'M') {
7653
89.0k
      if (yych <= 'E') {
7654
44.3k
        if (yych <= 'A') {
7655
40.4k
          if (yych <= '@') goto yy59;
7656
6.41k
          goto yy106;
7657
40.4k
        } else {
7658
3.87k
          if (yych == 'D') goto yy198;
7659
2.67k
          goto yy59;
7660
3.87k
        }
7661
44.6k
      } else {
7662
44.6k
        if (yych <= 'G') {
7663
34.0k
          if (yych <= 'F') goto yy199;
7664
29.9k
          goto yy59;
7665
34.0k
        } else {
7666
10.6k
          if (yych <= 'H') goto yy79;
7667
8.73k
          if (yych <= 'L') goto yy59;
7668
6.58k
          goto yy200;
7669
8.73k
        }
7670
44.6k
      }
7671
89.0k
    } else {
7672
29.5k
      if (yych <= 'T') {
7673
17.2k
        if (yych <= 'P') {
7674
7.95k
          if (yych <= 'O') goto yy59;
7675
3.81k
          goto yy106;
7676
9.27k
        } else {
7677
9.27k
          if (yych <= 'R') goto yy59;
7678
7.52k
          if (yych <= 'S') goto yy201;
7679
4.64k
          goto yy87;
7680
7.52k
        }
7681
17.2k
      } else {
7682
12.3k
        if (yych <= 'W') {
7683
9.35k
          if (yych <= 'U') goto yy88;
7684
7.67k
          if (yych <= 'V') goto yy59;
7685
1.46k
          goto yy90;
7686
7.67k
        } else {
7687
2.96k
          if (yych == 'Y') goto yy92;
7688
1.18k
          goto yy59;
7689
2.96k
        }
7690
12.3k
      }
7691
29.5k
    }
7692
118k
  } else {
7693
104k
    if (yych <= 'p') {
7694
40.2k
      if (yych <= 'f') {
7695
21.1k
        if (yych <= 'c') {
7696
11.6k
          if (yych <= 'a') goto yy106;
7697
945
          goto yy59;
7698
11.6k
        } else {
7699
9.54k
          if (yych <= 'd') goto yy198;
7700
6.79k
          if (yych <= 'e') goto yy59;
7701
5.94k
          goto yy199;
7702
6.79k
        }
7703
21.1k
      } else {
7704
19.1k
        if (yych <= 'l') {
7705
5.81k
          if (yych == 'h') goto yy79;
7706
2.44k
          goto yy59;
7707
13.3k
        } else {
7708
13.3k
          if (yych <= 'm') goto yy200;
7709
9.93k
          if (yych <= 'o') goto yy59;
7710
5.64k
          goto yy106;
7711
9.93k
        }
7712
19.1k
      }
7713
64.6k
    } else {
7714
64.6k
      if (yych <= 'v') {
7715
11.6k
        if (yych <= 's') {
7716
3.32k
          if (yych <= 'r') goto yy59;
7717
2.04k
          goto yy201;
7718
8.29k
        } else {
7719
8.29k
          if (yych <= 't') goto yy87;
7720
2.22k
          if (yych <= 'u') goto yy88;
7721
1.72k
          goto yy59;
7722
2.22k
        }
7723
53.0k
      } else {
7724
53.0k
        if (yych <= 'y') {
7725
13.7k
          if (yych <= 'w') goto yy90;
7726
12.7k
          if (yych <= 'x') goto yy59;
7727
9.48k
          goto yy92;
7728
39.2k
        } else {
7729
39.2k
          if (yych == 0xC2) goto yy107;
7730
15.8k
          goto yy59;
7731
39.2k
        }
7732
53.0k
      }
7733
64.6k
    }
7734
104k
  }
7735
183k
yy286:
7736
183k
  YYDEBUG(286, *YYCURSOR);
7737
183k
  ++YYCURSOR;
7738
183k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
7739
183k
  yych = *YYCURSOR;
7740
183k
  if (yych == 0xAF) goto yy459;
7741
38.3k
  goto yy59;
7742
41.5k
yy287:
7743
41.5k
  YYDEBUG(287, *YYCURSOR);
7744
41.5k
  yych = *++YYCURSOR;
7745
41.5k
  if (yych <= '/') goto yy207;
7746
34.4k
  if (yych <= '0') goto yy208;
7747
23.3k
  if (yych <= '1') goto yy209;
7748
18.4k
  if (yych <= '9') goto yy210;
7749
9.93k
  goto yy207;
7750
419k
yy288:
7751
419k
  YYDEBUG(288, *YYCURSOR);
7752
419k
  yych = *++YYCURSOR;
7753
419k
  switch (yych) {
7754
79.0k
  case '0': goto yy460;
7755
34.5k
  case '1': goto yy461;
7756
28.7k
  case '2':
7757
44.3k
  case '3':
7758
50.7k
  case '4':
7759
60.7k
  case '5':
7760
64.8k
  case '6':
7761
70.7k
  case '7':
7762
75.9k
  case '8':
7763
79.7k
  case '9': goto yy462;
7764
22.8k
  case 'A':
7765
24.4k
  case 'a': goto yy463;
7766
2.45k
  case 'D':
7767
11.0k
  case 'd': goto yy464;
7768
6.12k
  case 'F':
7769
17.9k
  case 'f': goto yy465;
7770
8.57k
  case 'J':
7771
25.7k
  case 'j': goto yy466;
7772
8.52k
  case 'M':
7773
18.6k
  case 'm': goto yy467;
7774
11.1k
  case 'N':
7775
15.3k
  case 'n': goto yy468;
7776
5.87k
  case 'O':
7777
11.0k
  case 'o': goto yy469;
7778
12.8k
  case 'S':
7779
42.7k
  case 's': goto yy470;
7780
59.4k
  default:  goto yy59;
7781
419k
  }
7782
53.9k
yy289:
7783
53.9k
  YYDEBUG(289, *YYCURSOR);
7784
53.9k
  yych = *++YYCURSOR;
7785
53.9k
  if (yych <= '/') goto yy290;
7786
41.3k
  if (yych <= '9') goto yy471;
7787
53.9k
yy290:
7788
53.9k
  YYDEBUG(290, *YYCURSOR);
7789
53.9k
#line 1247 "ext/date/lib/parse_date.re"
7790
53.9k
  {
7791
53.9k
    timelib_sll i;
7792
53.9k
    timelib_ull us;
7793
53.9k
    const char *ptr_before;
7794
53.9k
    bool is_negative;
7795
7796
53.9k
    TIMELIB_INIT;
7797
53.9k
    TIMELIB_HAVE_RELATIVE();
7798
53.9k
    TIMELIB_UNHAVE_DATE();
7799
53.9k
    TIMELIB_UNHAVE_TIME();
7800
53.9k
    TIMELIB_HAVE_TZ();
7801
7802
31
    is_negative = *(ptr + 1) == '-';
7803
7804
31
    i = timelib_get_signed_nr(s, &ptr, 24);
7805
7806
31
    ptr_before = ptr;
7807
31
    us = timelib_get_signed_nr(s, &ptr, 6);
7808
31
    us = us * pow(10, 7 - (ptr - ptr_before));
7809
31
    if (is_negative) {
7810
3
      us *= -1;
7811
3
    }
7812
7813
31
    s->time->y = 1970;
7814
31
    s->time->m = 1;
7815
31
    s->time->d = 1;
7816
31
    s->time->h = s->time->i = s->time->s = 0;
7817
31
    s->time->us = 0;
7818
31
    s->time->relative.s += i;
7819
31
    s->time->relative.us = us;
7820
31
    s->time->is_localtime = 1;
7821
31
    s->time->zone_type = TIMELIB_ZONETYPE_OFFSET;
7822
31
    s->time->z = 0;
7823
31
    s->time->dst = 0;
7824
7825
31
    TIMELIB_DEINIT;
7826
31
    return TIMELIB_RELATIVE;
7827
53.9k
  }
7828
0
#line 7829 "ext/date/lib/parse_date.c"
7829
9.10M
yy291:
7830
9.10M
  YYDEBUG(291, *YYCURSOR);
7831
9.10M
  yych = *++YYCURSOR;
7832
9.10M
  if (yych <= '@') {
7833
2.43M
    if (yych == ')') goto yy115;
7834
2.34M
    goto yy20;
7835
6.67M
  } else {
7836
6.67M
    if (yych <= 'Z') goto yy472;
7837
5.60M
    if (yych <= '`') goto yy20;
7838
5.36M
    if (yych <= 'z') goto yy472;
7839
560k
    goto yy20;
7840
5.36M
  }
7841
14.6k
yy292:
7842
14.6k
  YYDEBUG(292, *YYCURSOR);
7843
14.6k
  yych = *++YYCURSOR;
7844
14.6k
  if (yych <= '@') {
7845
6.35k
    if (yych == ')') goto yy115;
7846
8.28k
  } else {
7847
8.28k
    if (yych <= 'Z') goto yy472;
7848
5.05k
    if (yych <= '`') goto yy293;
7849
3.49k
    if (yych <= 'z') goto yy472;
7850
3.49k
  }
7851
55.0k
yy293:
7852
55.0k
  YYDEBUG(293, *YYCURSOR);
7853
55.0k
#line 1809 "ext/date/lib/parse_date.re"
7854
55.0k
  {
7855
55.0k
    DEBUG_OUTPUT("ago");
7856
55.0k
    TIMELIB_INIT;
7857
55.0k
    s->time->relative.y = 0 - s->time->relative.y;
7858
55.0k
    s->time->relative.m = 0 - s->time->relative.m;
7859
55.0k
    s->time->relative.d = 0 - s->time->relative.d;
7860
55.0k
    s->time->relative.h = 0 - s->time->relative.h;
7861
55.0k
    s->time->relative.i = 0 - s->time->relative.i;
7862
55.0k
    s->time->relative.s = 0 - s->time->relative.s;
7863
55.0k
    s->time->relative.weekday = 0 - s->time->relative.weekday;
7864
55.0k
    if (s->time->relative.weekday == 0) {
7865
2.87k
      s->time->relative.weekday = -7;
7866
2.87k
    }
7867
55.0k
    if (s->time->relative.have_special_relative && s->time->relative.special.type == TIMELIB_SPECIAL_WEEKDAY) {
7868
7.68k
      s->time->relative.special.amount = 0 - s->time->relative.special.amount;
7869
7.68k
    }
7870
55.0k
    TIMELIB_DEINIT;
7871
55.0k
    return TIMELIB_AGO;
7872
14.6k
  }
7873
0
#line 7874 "ext/date/lib/parse_date.c"
7874
66.9k
yy294:
7875
66.9k
  YYDEBUG(294, *YYCURSOR);
7876
66.9k
  yyaccept = 7;
7877
66.9k
  yych = *(YYMARKER = ++YYCURSOR);
7878
66.9k
  if (yych <= '/') {
7879
23.2k
    if (yych <= '(') {
7880
5.27k
      if (yych <= '\t') {
7881
3.24k
        if (yych >= '\t') goto yy142;
7882
3.24k
      } else {
7883
2.03k
        if (yych == ' ') goto yy142;
7884
2.03k
      }
7885
18.0k
    } else {
7886
18.0k
      if (yych <= ',') {
7887
7.61k
        if (yych <= ')') goto yy115;
7888
10.3k
      } else {
7889
10.3k
        if (yych <= '-') goto yy473;
7890
3.44k
        if (yych <= '.') goto yy142;
7891
3.44k
      }
7892
18.0k
    }
7893
43.6k
  } else {
7894
43.6k
    if (yych <= 'Z') {
7895
10.8k
      if (yych <= '@') {
7896
4.86k
        if (yych <= '9') goto yy142;
7897
5.99k
      } else {
7898
5.99k
        if (yych == 'I') goto yy474;
7899
2.48k
        goto yy472;
7900
5.99k
      }
7901
32.7k
    } else {
7902
32.7k
      if (yych <= 'h') {
7903
4.49k
        if (yych >= 'a') goto yy472;
7904
28.2k
      } else {
7905
28.2k
        if (yych <= 'i') goto yy474;
7906
9.79k
        if (yych <= 'z') goto yy472;
7907
9.79k
      }
7908
32.7k
    }
7909
43.6k
  }
7910
1.03M
yy295:
7911
1.03M
  YYDEBUG(295, *YYCURSOR);
7912
1.03M
#line 1889 "ext/date/lib/parse_date.re"
7913
1.03M
  {
7914
1.03M
    DEBUG_OUTPUT("monthtext");
7915
1.03M
    TIMELIB_INIT;
7916
1.03M
    TIMELIB_HAVE_DATE();
7917
50.8k
    s->time->m = timelib_lookup_month(&ptr);
7918
50.8k
    TIMELIB_DEINIT;
7919
50.8k
    return TIMELIB_DATE_TEXT;
7920
1.03M
  }
7921
0
#line 7922 "ext/date/lib/parse_date.c"
7922
79.0k
yy296:
7923
79.0k
  YYDEBUG(296, *YYCURSOR);
7924
79.0k
  yyaccept = 7;
7925
79.0k
  yych = *(YYMARKER = ++YYCURSOR);
7926
79.0k
  if (yych <= '/') {
7927
22.4k
    if (yych <= '(') {
7928
12.5k
      if (yych <= '\t') {
7929
6.38k
        if (yych <= 0x08) goto yy295;
7930
1.32k
        goto yy142;
7931
6.38k
      } else {
7932
6.15k
        if (yych == ' ') goto yy142;
7933
3.82k
        goto yy295;
7934
6.15k
      }
7935
12.5k
    } else {
7936
9.85k
      if (yych <= ',') {
7937
933
        if (yych <= ')') goto yy115;
7938
774
        goto yy295;
7939
8.92k
      } else {
7940
8.92k
        if (yych <= '-') goto yy473;
7941
3.31k
        if (yych <= '.') goto yy142;
7942
2.11k
        goto yy295;
7943
3.31k
      }
7944
9.85k
    }
7945
56.6k
  } else {
7946
56.6k
    if (yych <= 'Z') {
7947
19.9k
      if (yych <= '@') {
7948
7.51k
        if (yych <= '9') goto yy142;
7949
1.17k
        goto yy295;
7950
12.4k
      } else {
7951
12.4k
        if (yych == 'U') goto yy475;
7952
1.07k
        goto yy472;
7953
12.4k
      }
7954
36.7k
    } else {
7955
36.7k
      if (yych <= 't') {
7956
4.82k
        if (yych <= '`') goto yy295;
7957
3.61k
        goto yy472;
7958
31.9k
      } else {
7959
31.9k
        if (yych <= 'u') goto yy475;
7960
6.69k
        if (yych <= 'z') goto yy472;
7961
4.44k
        goto yy295;
7962
6.69k
      }
7963
36.7k
    }
7964
56.6k
  }
7965
1.21M
yy297:
7966
1.21M
  YYDEBUG(297, *YYCURSOR);
7967
1.21M
  ++YYCURSOR;
7968
1.21M
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
7969
1.21M
  yych = *YYCURSOR;
7970
1.21M
  if (yybm[0+yych] & 64) {
7971
532k
    goto yy476;
7972
532k
  }
7973
680k
  goto yy59;
7974
1.84M
yy298:
7975
1.84M
  YYDEBUG(298, *YYCURSOR);
7976
1.84M
  yyaccept = 2;
7977
1.84M
  yych = *(YYMARKER = ++YYCURSOR);
7978
1.84M
  if (yych <= '/') {
7979
260k
    if (yych <= ',') {
7980
196k
      if (yych == ')') goto yy115;
7981
179k
      goto yy20;
7982
196k
    } else {
7983
64.0k
      if (yych == '.') goto yy20;
7984
48.5k
      goto yy297;
7985
64.0k
    }
7986
1.57M
  } else {
7987
1.57M
    if (yych <= '^') {
7988
381k
      if (yych <= '@') goto yy20;
7989
191k
      if (yych <= 'Z') goto yy472;
7990
16.0k
      goto yy20;
7991
1.19M
    } else {
7992
1.19M
      if (yych <= '_') goto yy297;
7993
1.18M
      if (yych <= '`') goto yy20;
7994
1.17M
      if (yych <= 'z') goto yy478;
7995
123k
      goto yy20;
7996
1.17M
    }
7997
1.57M
  }
7998
56.7k
yy299:
7999
56.7k
  YYDEBUG(299, *YYCURSOR);
8000
56.7k
  yyaccept = 8;
8001
56.7k
  yych = *(YYMARKER = ++YYCURSOR);
8002
56.7k
  if (yych <= '/') {
8003
12.8k
    if (yych <= ',') {
8004
9.14k
      if (yych == ')') goto yy115;
8005
8.23k
      goto yy293;
8006
9.14k
    } else {
8007
3.71k
      if (yych == '.') goto yy293;
8008
2.67k
      goto yy297;
8009
3.71k
    }
8010
43.9k
  } else {
8011
43.9k
    if (yych <= '^') {
8012
9.19k
      if (yych <= '@') goto yy293;
8013
3.81k
      if (yych <= 'Z') goto yy472;
8014
2.42k
      goto yy293;
8015
34.7k
    } else {
8016
34.7k
      if (yych <= '_') goto yy297;
8017
13.4k
      if (yych <= '`') goto yy293;
8018
10.5k
      if (yych <= 'z') goto yy478;
8019
3.45k
      goto yy293;
8020
10.5k
    }
8021
43.9k
  }
8022
136k
yy300:
8023
136k
  YYDEBUG(300, *YYCURSOR);
8024
136k
  yyaccept = 7;
8025
136k
  yych = *(YYMARKER = ++YYCURSOR);
8026
136k
  if (yych <= '9') {
8027
36.9k
    if (yych <= '(') {
8028
11.9k
      if (yych <= '\t') {
8029
8.06k
        if (yych <= 0x08) goto yy295;
8030
4.29k
        goto yy142;
8031
8.06k
      } else {
8032
3.88k
        if (yych == ' ') goto yy142;
8033
2.73k
        goto yy295;
8034
3.88k
      }
8035
24.9k
    } else {
8036
24.9k
      if (yych <= '-') {
8037
16.0k
        if (yych <= ')') goto yy115;
8038
14.5k
        if (yych <= ',') goto yy295;
8039
12.6k
        goto yy479;
8040
14.5k
      } else {
8041
8.93k
        if (yych == '/') goto yy297;
8042
8.13k
        goto yy142;
8043
8.93k
      }
8044
24.9k
    }
8045
99.9k
  } else {
8046
99.9k
    if (yych <= '^') {
8047
18.0k
      if (yych <= 'H') {
8048
3.25k
        if (yych <= '@') goto yy295;
8049
1.36k
        goto yy472;
8050
14.7k
      } else {
8051
14.7k
        if (yych <= 'I') goto yy474;
8052
2.79k
        if (yych <= 'Z') goto yy472;
8053
484
        goto yy295;
8054
2.79k
      }
8055
81.9k
    } else {
8056
81.9k
      if (yych <= 'h') {
8057
7.66k
        if (yych <= '_') goto yy297;
8058
7.48k
        if (yych <= '`') goto yy295;
8059
5.27k
        goto yy478;
8060
74.2k
      } else {
8061
74.2k
        if (yych <= 'i') goto yy480;
8062
8.93k
        if (yych <= 'z') goto yy478;
8063
2.10k
        goto yy295;
8064
8.93k
      }
8065
81.9k
    }
8066
99.9k
  }
8067
173k
yy301:
8068
173k
  YYDEBUG(301, *YYCURSOR);
8069
173k
  yyaccept = 7;
8070
173k
  yych = *(YYMARKER = ++YYCURSOR);
8071
173k
  if (yych <= '9') {
8072
23.5k
    if (yych <= '(') {
8073
6.09k
      if (yych <= '\t') {
8074
3.14k
        if (yych <= 0x08) goto yy295;
8075
1.12k
        goto yy142;
8076
3.14k
      } else {
8077
2.94k
        if (yych == ' ') goto yy142;
8078
2.54k
        goto yy295;
8079
2.94k
      }
8080
17.4k
    } else {
8081
17.4k
      if (yych <= '-') {
8082
8.01k
        if (yych <= ')') goto yy115;
8083
5.95k
        if (yych <= ',') goto yy295;
8084
5.42k
        goto yy479;
8085
9.42k
      } else {
8086
9.42k
        if (yych == '/') goto yy297;
8087
5.34k
        goto yy142;
8088
9.42k
      }
8089
17.4k
    }
8090
150k
  } else {
8091
150k
    if (yych <= '^') {
8092
31.1k
      if (yych <= 'T') {
8093
12.9k
        if (yych <= '@') goto yy295;
8094
1.37k
        goto yy472;
8095
18.2k
      } else {
8096
18.2k
        if (yych <= 'U') goto yy475;
8097
1.83k
        if (yych <= 'Z') goto yy472;
8098
518
        goto yy295;
8099
1.83k
      }
8100
118k
    } else {
8101
118k
      if (yych <= 't') {
8102
10.0k
        if (yych <= '_') goto yy297;
8103
8.19k
        if (yych <= '`') goto yy295;
8104
3.89k
        goto yy478;
8105
108k
      } else {
8106
108k
        if (yych <= 'u') goto yy481;
8107
7.08k
        if (yych <= 'z') goto yy478;
8108
2.65k
        goto yy295;
8109
7.08k
      }
8110
118k
    }
8111
150k
  }
8112
108k
yy302:
8113
108k
  YYDEBUG(302, *YYCURSOR);
8114
108k
  yych = *++YYCURSOR;
8115
108k
  if (yych <= 'K') {
8116
21.8k
    if (yych <= ')') {
8117
6.67k
      if (yych <= '(') goto yy20;
8118
1.21k
      goto yy115;
8119
15.1k
    } else {
8120
15.1k
      if (yych <= '@') goto yy20;
8121
10.2k
      if (yych <= 'J') goto yy472;
8122
9.11k
      goto yy482;
8123
10.2k
    }
8124
86.6k
  } else {
8125
86.6k
    if (yych <= 'j') {
8126
10.4k
      if (yych <= 'Z') goto yy472;
8127
2.23k
      if (yych <= '`') goto yy20;
8128
1.70k
      goto yy472;
8129
76.1k
    } else {
8130
76.1k
      if (yych <= 'k') goto yy482;
8131
5.22k
      if (yych <= 'z') goto yy472;
8132
4.05k
      goto yy20;
8133
5.22k
    }
8134
86.6k
  }
8135
91.1k
yy303:
8136
91.1k
  YYDEBUG(303, *YYCURSOR);
8137
91.1k
  yyaccept = 2;
8138
91.1k
  yych = *(YYMARKER = ++YYCURSOR);
8139
91.1k
  if (yych <= 'J') {
8140
11.9k
    if (yych <= '-') {
8141
4.23k
      if (yych == ')') goto yy115;
8142
3.87k
      if (yych <= ',') goto yy20;
8143
770
      goto yy297;
8144
7.76k
    } else {
8145
7.76k
      if (yych == '/') goto yy297;
8146
2.38k
      if (yych <= '@') goto yy20;
8147
897
      goto yy472;
8148
2.38k
    }
8149
79.1k
  } else {
8150
79.1k
    if (yych <= '_') {
8151
7.37k
      if (yych <= 'K') goto yy482;
8152
4.88k
      if (yych <= 'Z') goto yy472;
8153
2.55k
      if (yych <= '^') goto yy20;
8154
798
      goto yy297;
8155
71.7k
    } else {
8156
71.7k
      if (yych <= 'j') {
8157
2.77k
        if (yych <= '`') goto yy20;
8158
2.21k
        goto yy478;
8159
68.9k
      } else {
8160
68.9k
        if (yych <= 'k') goto yy483;
8161
5.41k
        if (yych <= 'z') goto yy478;
8162
3.16k
        goto yy20;
8163
5.41k
      }
8164
71.7k
    }
8165
79.1k
  }
8166
101k
yy304:
8167
101k
  YYDEBUG(304, *YYCURSOR);
8168
101k
  yyaccept = 7;
8169
101k
  yych = *(YYMARKER = ++YYCURSOR);
8170
101k
  if (yych <= '/') {
8171
29.8k
    if (yych <= '(') {
8172
8.27k
      if (yych <= '\t') {
8173
3.09k
        if (yych <= 0x08) goto yy295;
8174
1.51k
        goto yy142;
8175
5.17k
      } else {
8176
5.17k
        if (yych == ' ') goto yy142;
8177
2.21k
        goto yy295;
8178
5.17k
      }
8179
21.5k
    } else {
8180
21.5k
      if (yych <= ',') {
8181
5.60k
        if (yych <= ')') goto yy115;
8182
3.75k
        goto yy295;
8183
15.9k
      } else {
8184
15.9k
        if (yych <= '-') goto yy473;
8185
6.90k
        if (yych <= '.') goto yy142;
8186
3.18k
        goto yy295;
8187
6.90k
      }
8188
21.5k
    }
8189
71.1k
  } else {
8190
71.1k
    if (yych <= 'Z') {
8191
45.8k
      if (yych <= '@') {
8192
13.1k
        if (yych <= '9') goto yy142;
8193
1.11k
        goto yy295;
8194
32.6k
      } else {
8195
32.6k
        if (yych == 'E') goto yy484;
8196
8.62k
        goto yy472;
8197
32.6k
      }
8198
45.8k
    } else {
8199
25.3k
      if (yych <= 'd') {
8200
7.40k
        if (yych <= '`') goto yy295;
8201
5.95k
        goto yy472;
8202
17.9k
      } else {
8203
17.9k
        if (yych <= 'e') goto yy484;
8204
4.83k
        if (yych <= 'z') goto yy472;
8205
2.28k
        goto yy295;
8206
4.83k
      }
8207
25.3k
    }
8208
71.1k
  }
8209
176k
yy305:
8210
176k
  YYDEBUG(305, *YYCURSOR);
8211
176k
  yyaccept = 7;
8212
176k
  yych = *(YYMARKER = ++YYCURSOR);
8213
176k
  if (yych <= '9') {
8214
64.7k
    if (yych <= '(') {
8215
7.47k
      if (yych <= '\t') {
8216
5.36k
        if (yych <= 0x08) goto yy295;
8217
2.48k
        goto yy142;
8218
5.36k
      } else {
8219
2.11k
        if (yych == ' ') goto yy142;
8220
691
        goto yy295;
8221
2.11k
      }
8222
57.2k
    } else {
8223
57.2k
      if (yych <= '-') {
8224
48.2k
        if (yych <= ')') goto yy115;
8225
42.5k
        if (yych <= ',') goto yy295;
8226
41.3k
        goto yy479;
8227
42.5k
      } else {
8228
8.99k
        if (yych == '/') goto yy297;
8229
7.74k
        goto yy142;
8230
8.99k
      }
8231
57.2k
    }
8232
111k
  } else {
8233
111k
    if (yych <= '^') {
8234
23.1k
      if (yych <= 'D') {
8235
5.03k
        if (yych <= '@') goto yy295;
8236
2.39k
        goto yy472;
8237
18.1k
      } else {
8238
18.1k
        if (yych <= 'E') goto yy484;
8239
4.65k
        if (yych <= 'Z') goto yy472;
8240
2.89k
        goto yy295;
8241
4.65k
      }
8242
88.7k
    } else {
8243
88.7k
      if (yych <= 'd') {
8244
7.90k
        if (yych <= '_') goto yy297;
8245
7.69k
        if (yych <= '`') goto yy295;
8246
4.94k
        goto yy478;
8247
80.8k
      } else {
8248
80.8k
        if (yych <= 'e') goto yy485;
8249
4.32k
        if (yych <= 'z') goto yy478;
8250
2.75k
        goto yy295;
8251
4.32k
      }
8252
88.7k
    }
8253
111k
  }
8254
205k
yy306:
8255
205k
  YYDEBUG(306, *YYCURSOR);
8256
205k
  yych = *++YYCURSOR;
8257
205k
  if (yych <= 'H') {
8258
51.2k
    if (yych <= ')') {
8259
3.95k
      if (yych <= '(') goto yy20;
8260
343
      goto yy115;
8261
47.2k
    } else {
8262
47.2k
      if (yych <= '@') goto yy20;
8263
38.5k
      if (yych <= 'G') goto yy472;
8264
33.9k
      goto yy486;
8265
38.5k
    }
8266
153k
  } else {
8267
153k
    if (yych <= 'g') {
8268
7.15k
      if (yych <= 'Z') goto yy472;
8269
3.53k
      if (yych <= '`') goto yy20;
8270
1.55k
      goto yy472;
8271
146k
    } else {
8272
146k
      if (yych <= 'h') goto yy486;
8273
14.3k
      if (yych <= 'z') goto yy472;
8274
7.47k
      goto yy20;
8275
14.3k
    }
8276
153k
  }
8277
64.3k
yy307:
8278
64.3k
  YYDEBUG(307, *YYCURSOR);
8279
64.3k
  yych = *++YYCURSOR;
8280
64.3k
  if (yych <= 'V') {
8281
25.8k
    if (yych <= ')') {
8282
5.45k
      if (yych <= '(') goto yy20;
8283
1.12k
      goto yy115;
8284
20.3k
    } else {
8285
20.3k
      if (yych <= '@') goto yy20;
8286
18.2k
      if (yych <= 'U') goto yy472;
8287
15.6k
      goto yy487;
8288
18.2k
    }
8289
38.4k
  } else {
8290
38.4k
    if (yych <= 'u') {
8291
7.43k
      if (yych <= 'Z') goto yy472;
8292
5.97k
      if (yych <= '`') goto yy20;
8293
2.90k
      goto yy472;
8294
31.0k
    } else {
8295
31.0k
      if (yych <= 'v') goto yy487;
8296
5.12k
      if (yych <= 'z') goto yy472;
8297
3.13k
      goto yy20;
8298
5.12k
    }
8299
38.4k
  }
8300
194k
yy308:
8301
194k
  YYDEBUG(308, *YYCURSOR);
8302
194k
  yyaccept = 2;
8303
194k
  yych = *(YYMARKER = ++YYCURSOR);
8304
194k
  if (yych <= 'G') {
8305
18.3k
    if (yych <= '-') {
8306
10.9k
      if (yych == ')') goto yy115;
8307
7.66k
      if (yych <= ',') goto yy20;
8308
923
      goto yy297;
8309
7.66k
    } else {
8310
7.32k
      if (yych == '/') goto yy297;
8311
6.22k
      if (yych <= '@') goto yy20;
8312
600
      goto yy472;
8313
6.22k
    }
8314
176k
  } else {
8315
176k
    if (yych <= '_') {
8316
47.4k
      if (yych <= 'H') goto yy486;
8317
11.1k
      if (yych <= 'Z') goto yy472;
8318
9.08k
      if (yych <= '^') goto yy20;
8319
7.63k
      goto yy297;
8320
128k
    } else {
8321
128k
      if (yych <= 'g') {
8322
2.17k
        if (yych <= '`') goto yy20;
8323
696
        goto yy478;
8324
126k
      } else {
8325
126k
        if (yych <= 'h') goto yy488;
8326
7.60k
        if (yych <= 'z') goto yy478;
8327
3.34k
        goto yy20;
8328
7.60k
      }
8329
128k
    }
8330
176k
  }
8331
149k
yy309:
8332
149k
  YYDEBUG(309, *YYCURSOR);
8333
149k
  yyaccept = 2;
8334
149k
  yych = *(YYMARKER = ++YYCURSOR);
8335
149k
  if (yych <= 'U') {
8336
12.9k
    if (yych <= '-') {
8337
6.23k
      if (yych == ')') goto yy115;
8338
3.31k
      if (yych <= ',') goto yy20;
8339
944
      goto yy297;
8340
6.72k
    } else {
8341
6.72k
      if (yych == '/') goto yy297;
8342
5.90k
      if (yych <= '@') goto yy20;
8343
2.57k
      goto yy472;
8344
5.90k
    }
8345
136k
  } else {
8346
136k
    if (yych <= '_') {
8347
12.7k
      if (yych <= 'V') goto yy487;
8348
3.11k
      if (yych <= 'Z') goto yy472;
8349
2.99k
      if (yych <= '^') goto yy20;
8350
1.38k
      goto yy297;
8351
123k
    } else {
8352
123k
      if (yych <= 'u') {
8353
11.5k
        if (yych <= '`') goto yy20;
8354
10.6k
        goto yy478;
8355
111k
      } else {
8356
111k
        if (yych <= 'v') goto yy489;
8357
7.30k
        if (yych <= 'z') goto yy478;
8358
6.31k
        goto yy20;
8359
7.30k
      }
8360
123k
    }
8361
136k
  }
8362
65.3k
yy310:
8363
65.3k
  YYDEBUG(310, *YYCURSOR);
8364
65.3k
  yyaccept = 7;
8365
65.3k
  yych = *(YYMARKER = ++YYCURSOR);
8366
65.3k
  if (yych <= '/') {
8367
19.5k
    if (yych <= '(') {
8368
11.2k
      if (yych <= '\t') {
8369
6.56k
        if (yych <= 0x08) goto yy295;
8370
2.92k
        goto yy142;
8371
6.56k
      } else {
8372
4.68k
        if (yych == ' ') goto yy142;
8373
2.62k
        goto yy295;
8374
4.68k
      }
8375
11.2k
    } else {
8376
8.29k
      if (yych <= ',') {
8377
1.45k
        if (yych <= ')') goto yy115;
8378
1.10k
        goto yy295;
8379
6.83k
      } else {
8380
6.83k
        if (yych <= '-') goto yy473;
8381
3.33k
        if (yych <= '.') goto yy142;
8382
837
        goto yy295;
8383
3.33k
      }
8384
8.29k
    }
8385
45.8k
  } else {
8386
45.8k
    if (yych <= 'Z') {
8387
8.03k
      if (yych <= '@') {
8388
5.00k
        if (yych <= '9') goto yy142;
8389
1.33k
        goto yy295;
8390
5.00k
      } else {
8391
3.02k
        if (yych == 'R') goto yy490;
8392
1.28k
        goto yy472;
8393
3.02k
      }
8394
37.7k
    } else {
8395
37.7k
      if (yych <= 'q') {
8396
8.22k
        if (yych <= '`') goto yy295;
8397
6.54k
        goto yy472;
8398
29.5k
      } else {
8399
29.5k
        if (yych <= 'r') goto yy490;
8400
4.64k
        if (yych <= 'z') goto yy472;
8401
2.97k
        goto yy295;
8402
4.64k
      }
8403
37.7k
    }
8404
45.8k
  }
8405
158k
yy311:
8406
158k
  YYDEBUG(311, *YYCURSOR);
8407
158k
  yych = *++YYCURSOR;
8408
158k
  if (yych <= 'T') {
8409
37.4k
    if (yych <= ')') {
8410
7.96k
      if (yych <= '(') goto yy20;
8411
2.43k
      goto yy115;
8412
29.4k
    } else {
8413
29.4k
      if (yych <= '@') goto yy20;
8414
14.7k
      if (yych <= 'S') goto yy472;
8415
8.92k
      goto yy491;
8416
14.7k
    }
8417
121k
  } else {
8418
121k
    if (yych <= 's') {
8419
19.3k
      if (yych <= 'Z') goto yy472;
8420
15.9k
      if (yych <= '`') goto yy20;
8421
7.15k
      goto yy472;
8422
101k
    } else {
8423
101k
      if (yych <= 't') goto yy491;
8424
5.05k
      if (yych <= 'z') goto yy472;
8425
4.13k
      goto yy20;
8426
5.05k
    }
8427
121k
  }
8428
131k
yy312:
8429
131k
  YYDEBUG(312, *YYCURSOR);
8430
131k
  yych = *++YYCURSOR;
8431
131k
  if (yych <= 'S') {
8432
100k
    if (yych <= ')') {
8433
3.21k
      if (yych <= '(') goto yy20;
8434
749
      goto yy115;
8435
97.4k
    } else {
8436
97.4k
      if (yych <= '@') goto yy20;
8437
93.4k
      if (yych <= 'R') goto yy472;
8438
90.8k
      goto yy492;
8439
93.4k
    }
8440
100k
  } else {
8441
30.8k
    if (yych <= 'r') {
8442
9.09k
      if (yych <= 'Z') goto yy472;
8443
7.70k
      if (yych <= '`') goto yy20;
8444
7.01k
      goto yy472;
8445
21.7k
    } else {
8446
21.7k
      if (yych <= 's') goto yy492;
8447
9.09k
      if (yych <= 'z') goto yy472;
8448
5.28k
      goto yy20;
8449
9.09k
    }
8450
30.8k
  }
8451
78.3k
yy313:
8452
78.3k
  YYDEBUG(313, *YYCURSOR);
8453
78.3k
  yych = *++YYCURSOR;
8454
78.3k
  if (yych <= 'R') {
8455
32.9k
    if (yych <= ')') {
8456
20.2k
      if (yych <= '(') goto yy20;
8457
2.35k
      goto yy115;
8458
20.2k
    } else {
8459
12.6k
      if (yych <= '@') goto yy20;
8460
9.47k
      if (yych <= 'Q') goto yy472;
8461
8.10k
      goto yy493;
8462
9.47k
    }
8463
45.4k
  } else {
8464
45.4k
    if (yych <= 'q') {
8465
13.2k
      if (yych <= 'Z') goto yy472;
8466
12.2k
      if (yych <= '`') goto yy20;
8467
8.70k
      goto yy472;
8468
32.1k
    } else {
8469
32.1k
      if (yych <= 'r') goto yy493;
8470
11.2k
      if (yych <= 'z') goto yy472;
8471
9.71k
      goto yy20;
8472
11.2k
    }
8473
45.4k
  }
8474
99.0k
yy314:
8475
99.0k
  YYDEBUG(314, *YYCURSOR);
8476
99.0k
  yych = *++YYCURSOR;
8477
99.0k
  if (yych <= 'D') {
8478
35.7k
    if (yych <= ')') {
8479
12.4k
      if (yych >= ')') goto yy115;
8480
23.3k
    } else {
8481
23.3k
      if (yych <= '@') goto yy315;
8482
17.0k
      if (yych <= 'C') goto yy472;
8483
16.0k
      goto yy494;
8484
17.0k
    }
8485
63.3k
  } else {
8486
63.3k
    if (yych <= 'c') {
8487
21.9k
      if (yych <= 'Z') goto yy472;
8488
16.2k
      if (yych >= 'a') goto yy472;
8489
41.4k
    } else {
8490
41.4k
      if (yych <= 'd') goto yy494;
8491
20.6k
      if (yych <= 'z') goto yy472;
8492
20.6k
    }
8493
63.3k
  }
8494
338k
yy315:
8495
338k
  YYDEBUG(315, *YYCURSOR);
8496
338k
#line 1830 "ext/date/lib/parse_date.re"
8497
338k
  {
8498
338k
    const timelib_relunit* relunit;
8499
338k
    DEBUG_OUTPUT("daytext");
8500
338k
    TIMELIB_INIT;
8501
338k
    TIMELIB_HAVE_RELATIVE();
8502
338k
    TIMELIB_HAVE_WEEKDAY_RELATIVE();
8503
338k
    TIMELIB_UNHAVE_TIME();
8504
338k
    relunit = timelib_lookup_relunit(&ptr);
8505
338k
    s->time->relative.weekday = relunit->multiplier;
8506
338k
    if (s->time->relative.weekday_behavior != 2) {
8507
323k
      s->time->relative.weekday_behavior = 1;
8508
323k
    }
8509
8510
338k
    TIMELIB_DEINIT;
8511
338k
    return TIMELIB_WEEKDAY;
8512
99.0k
  }
8513
0
#line 8514 "ext/date/lib/parse_date.c"
8514
74.7k
yy316:
8515
74.7k
  YYDEBUG(316, *YYCURSOR);
8516
74.7k
  yych = *++YYCURSOR;
8517
74.7k
  if (yych <= 'N') {
8518
10.8k
    if (yych <= ')') {
8519
5.10k
      if (yych <= '(') goto yy20;
8520
820
      goto yy115;
8521
5.74k
    } else {
8522
5.74k
      if (yych <= '@') goto yy20;
8523
3.67k
      if (yych <= 'M') goto yy472;
8524
2.39k
      goto yy495;
8525
3.67k
    }
8526
63.8k
  } else {
8527
63.8k
    if (yych <= 'm') {
8528
33.2k
      if (yych <= 'Z') goto yy472;
8529
31.9k
      if (yych <= '`') goto yy20;
8530
26.3k
      goto yy472;
8531
31.9k
    } else {
8532
30.5k
      if (yych <= 'n') goto yy495;
8533
4.99k
      if (yych <= 'z') goto yy472;
8534
3.19k
      goto yy20;
8535
4.99k
    }
8536
63.8k
  }
8537
156k
yy317:
8538
156k
  YYDEBUG(317, *YYCURSOR);
8539
156k
  yyaccept = 7;
8540
156k
  yych = *(YYMARKER = ++YYCURSOR);
8541
156k
  if (yych <= '9') {
8542
22.0k
    if (yych <= '(') {
8543
8.29k
      if (yych <= '\t') {
8544
5.98k
        if (yych <= 0x08) goto yy295;
8545
2.93k
        goto yy142;
8546
5.98k
      } else {
8547
2.31k
        if (yych == ' ') goto yy142;
8548
1.07k
        goto yy295;
8549
2.31k
      }
8550
13.7k
    } else {
8551
13.7k
      if (yych <= '-') {
8552
9.46k
        if (yych <= ')') goto yy115;
8553
8.42k
        if (yych <= ',') goto yy295;
8554
7.11k
        goto yy479;
8555
8.42k
      } else {
8556
4.31k
        if (yych == '/') goto yy297;
8557
3.35k
        goto yy142;
8558
4.31k
      }
8559
13.7k
    }
8560
134k
  } else {
8561
134k
    if (yych <= '^') {
8562
15.5k
      if (yych <= 'Q') {
8563
2.71k
        if (yych <= '@') goto yy295;
8564
1.16k
        goto yy472;
8565
12.8k
      } else {
8566
12.8k
        if (yych <= 'R') goto yy490;
8567
3.78k
        if (yych <= 'Z') goto yy472;
8568
1.15k
        goto yy295;
8569
3.78k
      }
8570
118k
    } else {
8571
118k
      if (yych <= 'q') {
8572
5.16k
        if (yych <= '_') goto yy297;
8573
3.27k
        if (yych <= '`') goto yy295;
8574
1.79k
        goto yy478;
8575
113k
      } else {
8576
113k
        if (yych <= 'r') goto yy496;
8577
6.88k
        if (yych <= 'z') goto yy478;
8578
4.77k
        goto yy295;
8579
6.88k
      }
8580
118k
    }
8581
134k
  }
8582
92.5k
yy318:
8583
92.5k
  YYDEBUG(318, *YYCURSOR);
8584
92.5k
  yyaccept = 2;
8585
92.5k
  yych = *(YYMARKER = ++YYCURSOR);
8586
92.5k
  if (yych <= 'S') {
8587
18.9k
    if (yych <= '-') {
8588
14.1k
      if (yych == ')') goto yy115;
8589
10.4k
      if (yych <= ',') goto yy20;
8590
4.80k
      goto yy297;
8591
10.4k
    } else {
8592
4.83k
      if (yych == '/') goto yy297;
8593
4.35k
      if (yych <= '@') goto yy20;
8594
2.42k
      goto yy472;
8595
4.35k
    }
8596
73.5k
  } else {
8597
73.5k
    if (yych <= '_') {
8598
17.4k
      if (yych <= 'T') goto yy491;
8599
16.7k
      if (yych <= 'Z') goto yy472;
8600
14.1k
      if (yych <= '^') goto yy20;
8601
13.4k
      goto yy297;
8602
56.0k
    } else {
8603
56.0k
      if (yych <= 's') {
8604
10.4k
        if (yych <= '`') goto yy20;
8605
9.46k
        goto yy478;
8606
45.6k
      } else {
8607
45.6k
        if (yych <= 't') goto yy497;
8608
8.98k
        if (yych <= 'z') goto yy478;
8609
7.80k
        goto yy20;
8610
8.98k
      }
8611
56.0k
    }
8612
73.5k
  }
8613
84.4k
yy319:
8614
84.4k
  YYDEBUG(319, *YYCURSOR);
8615
84.4k
  yyaccept = 2;
8616
84.4k
  yych = *(YYMARKER = ++YYCURSOR);
8617
84.4k
  if (yych <= 'R') {
8618
14.6k
    if (yych <= '-') {
8619
6.58k
      if (yych == ')') goto yy115;
8620
5.38k
      if (yych <= ',') goto yy20;
8621
1.31k
      goto yy297;
8622
8.02k
    } else {
8623
8.02k
      if (yych == '/') goto yy297;
8624
5.22k
      if (yych <= '@') goto yy20;
8625
2.42k
      goto yy472;
8626
5.22k
    }
8627
69.8k
  } else {
8628
69.8k
    if (yych <= '_') {
8629
9.16k
      if (yych <= 'S') goto yy492;
8630
3.21k
      if (yych <= 'Z') goto yy472;
8631
2.68k
      if (yych <= '^') goto yy20;
8632
1.57k
      goto yy297;
8633
60.6k
    } else {
8634
60.6k
      if (yych <= 'r') {
8635
7.14k
        if (yych <= '`') goto yy20;
8636
6.33k
        goto yy478;
8637
53.5k
      } else {
8638
53.5k
        if (yych <= 's') goto yy498;
8639
7.11k
        if (yych <= 'z') goto yy478;
8640
3.37k
        goto yy20;
8641
7.11k
      }
8642
60.6k
    }
8643
69.8k
  }
8644
67.8k
yy320:
8645
67.8k
  YYDEBUG(320, *YYCURSOR);
8646
67.8k
  yyaccept = 2;
8647
67.8k
  yych = *(YYMARKER = ++YYCURSOR);
8648
67.8k
  if (yych <= 'Q') {
8649
10.5k
    if (yych <= '-') {
8650
4.82k
      if (yych == ')') goto yy115;
8651
3.73k
      if (yych <= ',') goto yy20;
8652
816
      goto yy297;
8653
5.70k
    } else {
8654
5.70k
      if (yych == '/') goto yy297;
8655
3.01k
      if (yych <= '@') goto yy20;
8656
503
      goto yy472;
8657
3.01k
    }
8658
57.3k
  } else {
8659
57.3k
    if (yych <= '_') {
8660
12.0k
      if (yych <= 'R') goto yy493;
8661
5.34k
      if (yych <= 'Z') goto yy472;
8662
3.02k
      if (yych <= '^') goto yy20;
8663
2.35k
      goto yy297;
8664
45.3k
    } else {
8665
45.3k
      if (yych <= 'q') {
8666
4.93k
        if (yych <= '`') goto yy20;
8667
4.75k
        goto yy478;
8668
40.4k
      } else {
8669
40.4k
        if (yych <= 'r') goto yy499;
8670
5.88k
        if (yych <= 'z') goto yy478;
8671
4.47k
        goto yy20;
8672
5.88k
      }
8673
45.3k
    }
8674
57.3k
  }
8675
134k
yy321:
8676
134k
  YYDEBUG(321, *YYCURSOR);
8677
134k
  yyaccept = 9;
8678
134k
  yych = *(YYMARKER = ++YYCURSOR);
8679
134k
  if (yych <= 'C') {
8680
19.8k
    if (yych <= '-') {
8681
7.61k
      if (yych == ')') goto yy115;
8682
6.86k
      if (yych <= ',') goto yy315;
8683
1.31k
      goto yy297;
8684
12.2k
    } else {
8685
12.2k
      if (yych == '/') goto yy297;
8686
9.67k
      if (yych <= '@') goto yy315;
8687
2.91k
      goto yy472;
8688
9.67k
    }
8689
114k
  } else {
8690
114k
    if (yych <= '_') {
8691
15.4k
      if (yych <= 'D') goto yy494;
8692
5.51k
      if (yych <= 'Z') goto yy472;
8693
3.06k
      if (yych <= '^') goto yy315;
8694
739
      goto yy297;
8695
99.4k
    } else {
8696
99.4k
      if (yych <= 'c') {
8697
4.70k
        if (yych <= '`') goto yy315;
8698
2.89k
        goto yy478;
8699
94.7k
      } else {
8700
94.7k
        if (yych <= 'd') goto yy500;
8701
20.2k
        if (yych <= 'z') goto yy478;
8702
5.33k
        goto yy315;
8703
20.2k
      }
8704
99.4k
    }
8705
114k
  }
8706
130k
yy322:
8707
130k
  YYDEBUG(322, *YYCURSOR);
8708
130k
  yyaccept = 2;
8709
130k
  yych = *(YYMARKER = ++YYCURSOR);
8710
130k
  if (yych <= 'M') {
8711
25.3k
    if (yych <= '-') {
8712
18.4k
      if (yych == ')') goto yy115;
8713
13.9k
      if (yych <= ',') goto yy20;
8714
6.96k
      goto yy297;
8715
13.9k
    } else {
8716
6.88k
      if (yych == '/') goto yy297;
8717
6.57k
      if (yych <= '@') goto yy20;
8718
1.30k
      goto yy472;
8719
6.57k
    }
8720
105k
  } else {
8721
105k
    if (yych <= '_') {
8722
6.87k
      if (yych <= 'N') goto yy495;
8723
4.27k
      if (yych <= 'Z') goto yy472;
8724
1.93k
      if (yych <= '^') goto yy20;
8725
1.15k
      goto yy297;
8726
98.5k
    } else {
8727
98.5k
      if (yych <= 'm') {
8728
5.72k
        if (yych <= '`') goto yy20;
8729
4.71k
        goto yy478;
8730
92.7k
      } else {
8731
92.7k
        if (yych <= 'n') goto yy501;
8732
6.15k
        if (yych <= 'z') goto yy478;
8733
1.65k
        goto yy20;
8734
6.15k
      }
8735
98.5k
    }
8736
105k
  }
8737
147k
yy323:
8738
147k
  YYDEBUG(323, *YYCURSOR);
8739
147k
  yyaccept = 2;
8740
147k
  yych = *(YYMARKER = ++YYCURSOR);
8741
147k
  if (yych <= ',') {
8742
86.5k
    if (yych <= ')') {
8743
5.02k
      if (yych <= '(') goto yy20;
8744
1.47k
      goto yy115;
8745
81.4k
    } else {
8746
81.4k
      if (yych == '+') goto yy502;
8747
1.34k
      goto yy20;
8748
81.4k
    }
8749
86.5k
  } else {
8750
61.0k
    if (yych <= 'Z') {
8751
45.3k
      if (yych <= '-') goto yy502;
8752
21.7k
      if (yych <= '@') goto yy20;
8753
5.88k
      goto yy472;
8754
21.7k
    } else {
8755
15.7k
      if (yych <= '`') goto yy20;
8756
13.5k
      if (yych <= 'z') goto yy472;
8757
4.24k
      goto yy20;
8758
13.5k
    }
8759
61.0k
  }
8760
119k
yy324:
8761
119k
  YYDEBUG(324, *YYCURSOR);
8762
119k
  yyaccept = 10;
8763
119k
  yych = *(YYMARKER = ++YYCURSOR);
8764
119k
  if (yych <= '9') {
8765
94.8k
    if (yych <= '0') {
8766
24.7k
      if (yych >= '0') goto yy503;
8767
70.1k
    } else {
8768
70.1k
      if (yych <= '1') goto yy504;
8769
26.6k
      if (yych <= '2') goto yy505;
8770
9.78k
      goto yy506;
8771
26.6k
    }
8772
94.8k
  } else {
8773
24.7k
    if (yych <= 'T') {
8774
6.79k
      if (yych >= 'T') goto yy507;
8775
17.9k
    } else {
8776
17.9k
      if (yych == 't') goto yy507;
8777
17.9k
    }
8778
24.7k
  }
8779
512k
yy325:
8780
512k
  YYDEBUG(325, *YYCURSOR);
8781
512k
#line 1632 "ext/date/lib/parse_date.re"
8782
512k
  {
8783
512k
    int length = 0;
8784
512k
    DEBUG_OUTPUT("datetextual | datenoyear");
8785
512k
    TIMELIB_INIT;
8786
512k
    TIMELIB_HAVE_DATE();
8787
59.3k
    s->time->m = timelib_get_month(&ptr);
8788
59.3k
    s->time->d = timelib_get_nr(&ptr, 2);
8789
59.3k
    s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
8790
59.3k
    TIMELIB_PROCESS_YEAR(s->time->y, length);
8791
59.3k
    TIMELIB_DEINIT;
8792
59.3k
    return TIMELIB_DATE_TEXT;
8793
512k
  }
8794
0
#line 8795 "ext/date/lib/parse_date.c"
8795
837k
yy326:
8796
837k
  YYDEBUG(326, *YYCURSOR);
8797
837k
  yyaccept = 10;
8798
837k
  YYMARKER = ++YYCURSOR;
8799
837k
  if ((YYLIMIT - YYCURSOR) < 21) YYFILL(21);
8800
837k
  yych = *YYCURSOR;
8801
1.08M
yy327:
8802
1.08M
  YYDEBUG(327, *YYCURSOR);
8803
1.08M
  if (yybm[0+yych] & 32) {
8804
98.8k
    goto yy326;
8805
98.8k
  }
8806
981k
  if (yych <= '2') {
8807
526k
    if (yych <= '/') goto yy325;
8808
482k
    if (yych <= '0') goto yy508;
8809
275k
    if (yych <= '1') goto yy509;
8810
102k
    goto yy510;
8811
454k
  } else {
8812
454k
    if (yych <= '9') goto yy511;
8813
183k
    if (yych == 'T') goto yy507;
8814
146k
    goto yy325;
8815
183k
  }
8816
310k
yy328:
8817
310k
  YYDEBUG(328, *YYCURSOR);
8818
310k
  yych = *++YYCURSOR;
8819
310k
  if (yych <= '9') {
8820
208k
    if (yych <= ' ') {
8821
26.9k
      if (yych <= 0x08) {
8822
10.1k
        if (yych <= 0x00) goto yy324;
8823
4.57k
        goto yy59;
8824
16.8k
      } else {
8825
16.8k
        if (yych <= '\t') goto yy326;
8826
7.57k
        if (yych <= 0x1F) goto yy59;
8827
4.52k
        goto yy326;
8828
7.57k
      }
8829
181k
    } else {
8830
181k
      if (yych <= '-') {
8831
16.5k
        if (yych == ',') goto yy326;
8832
14.1k
        goto yy59;
8833
165k
      } else {
8834
165k
        if (yych <= '.') goto yy326;
8835
79.4k
        if (yych <= '/') goto yy59;
8836
76.2k
        goto yy512;
8837
79.4k
      }
8838
181k
    }
8839
208k
  } else {
8840
101k
    if (yych <= 'm') {
8841
37.8k
      if (yych <= 'd') {
8842
34.2k
        if (yych <= 'c') goto yy59;
8843
2.01k
        goto yy326;
8844
34.2k
      } else {
8845
3.53k
        if (yych == 'h') goto yy326;
8846
2.33k
        goto yy59;
8847
3.53k
      }
8848
63.9k
    } else {
8849
63.9k
      if (yych <= 'r') {
8850
10.8k
        if (yych <= 'n') goto yy329;
8851
6.07k
        if (yych <= 'q') goto yy59;
8852
53.1k
      } else {
8853
53.1k
        if (yych <= 's') goto yy330;
8854
38.7k
        if (yych <= 't') goto yy331;
8855
34.6k
        goto yy59;
8856
38.7k
      }
8857
63.9k
    }
8858
101k
  }
8859
52.6k
yy329:
8860
52.6k
  YYDEBUG(329, *YYCURSOR);
8861
52.6k
  yyaccept = 10;
8862
52.6k
  yych = *(YYMARKER = ++YYCURSOR);
8863
52.6k
  if (yych == 'd') goto yy513;
8864
49.2k
  goto yy327;
8865
49.2k
yy330:
8866
44.3k
  YYDEBUG(330, *YYCURSOR);
8867
44.3k
  yyaccept = 10;
8868
44.3k
  yych = *(YYMARKER = ++YYCURSOR);
8869
44.3k
  if (yych == 't') goto yy513;
8870
41.8k
  goto yy327;
8871
146k
yy331:
8872
146k
  YYDEBUG(331, *YYCURSOR);
8873
146k
  yyaccept = 10;
8874
146k
  yych = *(YYMARKER = ++YYCURSOR);
8875
146k
  if (yych == 'h') goto yy513;
8876
142k
  goto yy327;
8877
142k
yy332:
8878
93.2k
  YYDEBUG(332, *YYCURSOR);
8879
93.2k
  yych = *++YYCURSOR;
8880
93.2k
  if (yych <= '/') goto yy59;
8881
61.4k
  if (yych <= '9') goto yy512;
8882
22.0k
  goto yy59;
8883
57.8k
yy333:
8884
57.8k
  YYDEBUG(333, *YYCURSOR);
8885
57.8k
  yyaccept = 2;
8886
57.8k
  yych = *(YYMARKER = ++YYCURSOR);
8887
57.8k
  if (yych <= ',') {
8888
21.5k
    if (yych <= 0x1F) {
8889
5.65k
      if (yych == '\t') goto yy142;
8890
2.06k
      goto yy20;
8891
15.9k
    } else {
8892
15.9k
      if (yych <= ' ') goto yy142;
8893
10.5k
      if (yych == ')') goto yy115;
8894
3.15k
      goto yy20;
8895
10.5k
    }
8896
36.2k
  } else {
8897
36.2k
    if (yych <= '@') {
8898
3.98k
      if (yych == '/') goto yy20;
8899
3.26k
      if (yych <= '9') goto yy142;
8900
1.67k
      goto yy20;
8901
32.2k
    } else {
8902
32.2k
      if (yych <= 'Z') goto yy472;
8903
6.12k
      if (yych <= '`') goto yy20;
8904
2.97k
      if (yych <= 'z') goto yy472;
8905
1.72k
      goto yy20;
8906
2.97k
    }
8907
36.2k
  }
8908
73.7k
yy334:
8909
73.7k
  YYDEBUG(334, *YYCURSOR);
8910
73.7k
  yyaccept = 7;
8911
73.7k
  yych = *(YYMARKER = ++YYCURSOR);
8912
73.7k
  if (yych <= '/') {
8913
37.9k
    if (yych <= '(') {
8914
12.9k
      if (yych <= '\t') {
8915
8.06k
        if (yych <= 0x08) goto yy295;
8916
4.41k
        goto yy142;
8917
8.06k
      } else {
8918
4.88k
        if (yych == ' ') goto yy142;
8919
3.64k
        goto yy295;
8920
4.88k
      }
8921
25.0k
    } else {
8922
25.0k
      if (yych <= ',') {
8923
2.33k
        if (yych <= ')') goto yy115;
8924
598
        goto yy295;
8925
22.6k
      } else {
8926
22.6k
        if (yych <= '-') goto yy473;
8927
20.0k
        if (yych <= '.') goto yy142;
8928
19.7k
        goto yy295;
8929
20.0k
      }
8930
25.0k
    }
8931
37.9k
  } else {
8932
35.8k
    if (yych <= 'Z') {
8933
18.5k
      if (yych <= '@') {
8934
9.94k
        if (yych <= '9') goto yy142;
8935
1.55k
        goto yy295;
8936
9.94k
      } else {
8937
8.56k
        if (yych == 'U') goto yy514;
8938
665
        goto yy472;
8939
8.56k
      }
8940
18.5k
    } else {
8941
17.2k
      if (yych <= 't') {
8942
7.26k
        if (yych <= '`') goto yy295;
8943
4.26k
        goto yy472;
8944
10.0k
      } else {
8945
10.0k
        if (yych <= 'u') goto yy514;
8946
2.75k
        if (yych <= 'z') goto yy472;
8947
1.49k
        goto yy295;
8948
2.75k
      }
8949
17.2k
    }
8950
35.8k
  }
8951
107k
yy335:
8952
107k
  YYDEBUG(335, *YYCURSOR);
8953
107k
  yyaccept = 7;
8954
107k
  yych = *(YYMARKER = ++YYCURSOR);
8955
107k
  if (yych <= '/') {
8956
80.9k
    if (yych <= '(') {
8957
6.93k
      if (yych <= '\t') {
8958
2.88k
        if (yych <= 0x08) goto yy295;
8959
1.52k
        goto yy142;
8960
4.04k
      } else {
8961
4.04k
        if (yych == ' ') goto yy142;
8962
1.13k
        goto yy295;
8963
4.04k
      }
8964
73.9k
    } else {
8965
73.9k
      if (yych <= ',') {
8966
5.77k
        if (yych <= ')') goto yy115;
8967
4.72k
        goto yy295;
8968
68.2k
      } else {
8969
68.2k
        if (yych <= '-') goto yy473;
8970
34.7k
        if (yych <= '.') goto yy142;
8971
33.7k
        goto yy295;
8972
34.7k
      }
8973
73.9k
    }
8974
80.9k
  } else {
8975
26.1k
    if (yych <= 'Z') {
8976
12.0k
      if (yych <= '@') {
8977
6.87k
        if (yych <= '9') goto yy142;
8978
2.18k
        goto yy295;
8979
6.87k
      } else {
8980
5.20k
        if (yych == 'Y') goto yy515;
8981
1.10k
        goto yy472;
8982
5.20k
      }
8983
14.1k
    } else {
8984
14.1k
      if (yych <= 'x') {
8985
5.57k
        if (yych <= '`') goto yy295;
8986
5.23k
        goto yy472;
8987
8.52k
      } else {
8988
8.52k
        if (yych <= 'y') goto yy515;
8989
7.35k
        if (yych <= 'z') goto yy472;
8990
6.16k
        goto yy295;
8991
7.35k
      }
8992
14.1k
    }
8993
26.1k
  }
8994
118k
yy336:
8995
118k
  YYDEBUG(336, *YYCURSOR);
8996
118k
  yyaccept = 7;
8997
118k
  yych = *(YYMARKER = ++YYCURSOR);
8998
118k
  if (yych <= '/') {
8999
81.1k
    if (yych <= '(') {
9000
9.92k
      if (yych <= '\t') {
9001
6.91k
        if (yych <= 0x08) goto yy295;
9002
1.95k
        goto yy142;
9003
6.91k
      } else {
9004
3.01k
        if (yych == ' ') goto yy142;
9005
822
        goto yy295;
9006
3.01k
      }
9007
71.2k
    } else {
9008
71.2k
      if (yych <= ',') {
9009
2.96k
        if (yych <= ')') goto yy115;
9010
1.53k
        goto yy295;
9011
68.2k
      } else {
9012
68.2k
        if (yych <= '-') goto yy473;
9013
62.1k
        if (yych <= '.') goto yy142;
9014
59.2k
        goto yy295;
9015
62.1k
      }
9016
71.2k
    }
9017
81.1k
  } else {
9018
37.1k
    if (yych <= 'Z') {
9019
18.2k
      if (yych <= '@') {
9020
9.56k
        if (yych <= '9') goto yy142;
9021
1.67k
        goto yy295;
9022
9.56k
      } else {
9023
8.72k
        if (yych == 'E') goto yy515;
9024
4.21k
        goto yy472;
9025
8.72k
      }
9026
18.8k
    } else {
9027
18.8k
      if (yych <= 'd') {
9028
4.86k
        if (yych <= '`') goto yy295;
9029
3.60k
        goto yy472;
9030
14.0k
      } else {
9031
14.0k
        if (yych <= 'e') goto yy515;
9032
9.97k
        if (yych <= 'z') goto yy472;
9033
5.49k
        goto yy295;
9034
9.97k
      }
9035
18.8k
    }
9036
37.1k
  }
9037
132k
yy337:
9038
132k
  YYDEBUG(337, *YYCURSOR);
9039
132k
  yyaccept = 7;
9040
132k
  yych = *(YYMARKER = ++YYCURSOR);
9041
132k
  if (yych <= '9') {
9042
21.4k
    if (yych <= '(') {
9043
5.39k
      if (yych <= '\t') {
9044
2.28k
        if (yych <= 0x08) goto yy295;
9045
667
        goto yy142;
9046
3.10k
      } else {
9047
3.10k
        if (yych == ' ') goto yy142;
9048
1.62k
        goto yy295;
9049
3.10k
      }
9050
16.1k
    } else {
9051
16.1k
      if (yych <= '-') {
9052
8.58k
        if (yych <= ')') goto yy115;
9053
7.17k
        if (yych <= ',') goto yy295;
9054
6.75k
        goto yy479;
9055
7.51k
      } else {
9056
7.51k
        if (yych == '/') goto yy297;
9057
4.29k
        goto yy142;
9058
7.51k
      }
9059
16.1k
    }
9060
111k
  } else {
9061
111k
    if (yych <= '^') {
9062
24.2k
      if (yych <= 'T') {
9063
2.45k
        if (yych <= '@') goto yy295;
9064
1.76k
        goto yy472;
9065
21.7k
      } else {
9066
21.7k
        if (yych <= 'U') goto yy514;
9067
3.49k
        if (yych <= 'Z') goto yy472;
9068
2.17k
        goto yy295;
9069
3.49k
      }
9070
87.1k
    } else {
9071
87.1k
      if (yych <= 't') {
9072
6.28k
        if (yych <= '_') goto yy297;
9073
4.80k
        if (yych <= '`') goto yy295;
9074
3.78k
        goto yy478;
9075
80.8k
      } else {
9076
80.8k
        if (yych <= 'u') goto yy516;
9077
7.68k
        if (yych <= 'z') goto yy478;
9078
4.27k
        goto yy295;
9079
7.68k
      }
9080
87.1k
    }
9081
111k
  }
9082
74.2k
yy338:
9083
74.2k
  YYDEBUG(338, *YYCURSOR);
9084
74.2k
  yyaccept = 7;
9085
74.2k
  yych = *(YYMARKER = ++YYCURSOR);
9086
74.2k
  if (yych <= '9') {
9087
31.0k
    if (yych <= '(') {
9088
9.62k
      if (yych <= '\t') {
9089
1.67k
        if (yych <= 0x08) goto yy295;
9090
581
        goto yy142;
9091
7.94k
      } else {
9092
7.94k
        if (yych == ' ') goto yy142;
9093
6.74k
        goto yy295;
9094
7.94k
      }
9095
21.4k
    } else {
9096
21.4k
      if (yych <= '-') {
9097
11.4k
        if (yych <= ')') goto yy115;
9098
10.3k
        if (yych <= ',') goto yy295;
9099
8.42k
        goto yy479;
9100
10.3k
      } else {
9101
10.0k
        if (yych == '/') goto yy297;
9102
6.01k
        goto yy142;
9103
10.0k
      }
9104
21.4k
    }
9105
43.2k
  } else {
9106
43.2k
    if (yych <= '^') {
9107
16.8k
      if (yych <= 'X') {
9108
13.8k
        if (yych <= '@') goto yy295;
9109
1.43k
        goto yy472;
9110
13.8k
      } else {
9111
2.96k
        if (yych <= 'Y') goto yy515;
9112
2.58k
        if (yych <= 'Z') goto yy472;
9113
1.04k
        goto yy295;
9114
2.58k
      }
9115
26.4k
    } else {
9116
26.4k
      if (yych <= 'x') {
9117
5.19k
        if (yych <= '_') goto yy297;
9118
3.03k
        if (yych <= '`') goto yy295;
9119
1.10k
        goto yy478;
9120
21.2k
      } else {
9121
21.2k
        if (yych <= 'y') goto yy517;
9122
12.2k
        if (yych <= 'z') goto yy478;
9123
7.25k
        goto yy295;
9124
12.2k
      }
9125
26.4k
    }
9126
43.2k
  }
9127
71.3k
yy339:
9128
71.3k
  YYDEBUG(339, *YYCURSOR);
9129
71.3k
  yyaccept = 7;
9130
71.3k
  yych = *(YYMARKER = ++YYCURSOR);
9131
71.3k
  if (yych <= '9') {
9132
32.3k
    if (yych <= '(') {
9133
20.9k
      if (yych <= '\t') {
9134
7.57k
        if (yych <= 0x08) goto yy295;
9135
4.46k
        goto yy142;
9136
13.3k
      } else {
9137
13.3k
        if (yych == ' ') goto yy142;
9138
10.6k
        goto yy295;
9139
13.3k
      }
9140
20.9k
    } else {
9141
11.4k
      if (yych <= '-') {
9142
5.32k
        if (yych <= ')') goto yy115;
9143
4.21k
        if (yych <= ',') goto yy295;
9144
2.58k
        goto yy479;
9145
6.12k
      } else {
9146
6.12k
        if (yych == '/') goto yy297;
9147
5.71k
        goto yy142;
9148
6.12k
      }
9149
11.4k
    }
9150
38.9k
  } else {
9151
38.9k
    if (yych <= '^') {
9152
13.8k
      if (yych <= 'D') {
9153
8.68k
        if (yych <= '@') goto yy295;
9154
4.44k
        goto yy472;
9155
8.68k
      } else {
9156
5.18k
        if (yych <= 'E') goto yy515;
9157
754
        if (yych <= 'Z') goto yy472;
9158
229
        goto yy295;
9159
754
      }
9160
25.0k
    } else {
9161
25.0k
      if (yych <= 'd') {
9162
3.03k
        if (yych <= '_') goto yy297;
9163
2.52k
        if (yych <= '`') goto yy295;
9164
2.16k
        goto yy478;
9165
22.0k
      } else {
9166
22.0k
        if (yych <= 'e') goto yy517;
9167
7.29k
        if (yych <= 'z') goto yy478;
9168
1.64k
        goto yy295;
9169
7.29k
      }
9170
25.0k
    }
9171
38.9k
  }
9172
335k
yy340:
9173
335k
  YYDEBUG(340, *YYCURSOR);
9174
335k
  yych = *++YYCURSOR;
9175
335k
  if (yych <= 'T') {
9176
31.4k
    if (yych <= ')') {
9177
6.83k
      if (yych <= '(') goto yy20;
9178
2.72k
      goto yy115;
9179
24.6k
    } else {
9180
24.6k
      if (yych <= '@') goto yy20;
9181
5.71k
      if (yych <= 'S') goto yy472;
9182
3.78k
      goto yy518;
9183
5.71k
    }
9184
303k
  } else {
9185
303k
    if (yych <= 's') {
9186
20.7k
      if (yych <= 'Z') goto yy472;
9187
11.0k
      if (yych <= '`') goto yy20;
9188
9.87k
      goto yy472;
9189
283k
    } else {
9190
283k
      if (yych <= 't') goto yy518;
9191
12.9k
      if (yych <= 'z') goto yy472;
9192
9.64k
      goto yy20;
9193
12.9k
    }
9194
303k
  }
9195
97.3k
yy341:
9196
97.3k
  YYDEBUG(341, *YYCURSOR);
9197
97.3k
  yyaccept = 2;
9198
97.3k
  yych = *(YYMARKER = ++YYCURSOR);
9199
97.3k
  if (yych <= 'S') {
9200
13.4k
    if (yych <= '-') {
9201
3.77k
      if (yych == ')') goto yy115;
9202
2.36k
      if (yych <= ',') goto yy20;
9203
1.07k
      goto yy297;
9204
9.70k
    } else {
9205
9.70k
      if (yych == '/') goto yy297;
9206
9.50k
      if (yych <= '@') goto yy20;
9207
4.07k
      goto yy472;
9208
9.50k
    }
9209
83.9k
  } else {
9210
83.9k
    if (yych <= '_') {
9211
4.40k
      if (yych <= 'T') goto yy518;
9212
3.01k
      if (yych <= 'Z') goto yy472;
9213
1.46k
      if (yych <= '^') goto yy20;
9214
386
      goto yy297;
9215
79.5k
    } else {
9216
79.5k
      if (yych <= 's') {
9217
4.98k
        if (yych <= '`') goto yy20;
9218
2.95k
        goto yy478;
9219
74.5k
      } else {
9220
74.5k
        if (yych <= 't') goto yy519;
9221
5.75k
        if (yych <= 'z') goto yy478;
9222
4.84k
        goto yy20;
9223
5.75k
      }
9224
79.5k
    }
9225
83.9k
  }
9226
67.0k
yy342:
9227
67.0k
  YYDEBUG(342, *YYCURSOR);
9228
67.0k
  yyaccept = 7;
9229
67.0k
  yych = *(YYMARKER = ++YYCURSOR);
9230
67.0k
  if (yych <= '/') {
9231
27.7k
    if (yych <= '(') {
9232
14.4k
      if (yych <= '\t') {
9233
5.24k
        if (yych <= 0x08) goto yy295;
9234
1.09k
        goto yy142;
9235
9.20k
      } else {
9236
9.20k
        if (yych == ' ') goto yy142;
9237
3.72k
        goto yy295;
9238
9.20k
      }
9239
14.4k
    } else {
9240
13.3k
      if (yych <= ',') {
9241
1.82k
        if (yych <= ')') goto yy115;
9242
1.10k
        goto yy295;
9243
11.4k
      } else {
9244
11.4k
        if (yych <= '-') goto yy473;
9245
4.31k
        if (yych <= '.') goto yy142;
9246
3.48k
        goto yy295;
9247
4.31k
      }
9248
13.3k
    }
9249
39.3k
  } else {
9250
39.3k
    if (yych <= 'Z') {
9251
18.6k
      if (yych <= '@') {
9252
10.1k
        if (yych <= '9') goto yy142;
9253
530
        goto yy295;
9254
10.1k
      } else {
9255
8.54k
        if (yych == 'C') goto yy520;
9256
3.53k
        goto yy472;
9257
8.54k
      }
9258
20.6k
    } else {
9259
20.6k
      if (yych <= 'b') {
9260
5.98k
        if (yych <= '`') goto yy295;
9261
4.56k
        goto yy472;
9262
14.6k
      } else {
9263
14.6k
        if (yych <= 'c') goto yy520;
9264
3.50k
        if (yych <= 'z') goto yy472;
9265
2.00k
        goto yy295;
9266
3.50k
      }
9267
20.6k
    }
9268
39.3k
  }
9269
53.5k
yy343:
9270
53.5k
  YYDEBUG(343, *YYCURSOR);
9271
53.5k
  yyaccept = 7;
9272
53.5k
  yych = *(YYMARKER = ++YYCURSOR);
9273
53.5k
  if (yych <= '-') {
9274
33.6k
    if (yych <= ' ') {
9275
3.93k
      if (yych == '\t') goto yy142;
9276
2.18k
      if (yych <= 0x1F) goto yy295;
9277
469
      goto yy142;
9278
29.7k
    } else {
9279
29.7k
      if (yych == ')') goto yy115;
9280
29.3k
      if (yych <= ',') goto yy295;
9281
27.9k
      goto yy473;
9282
29.3k
    }
9283
33.6k
  } else {
9284
19.8k
    if (yych <= '@') {
9285
9.89k
      if (yych == '/') goto yy295;
9286
8.27k
      if (yych <= '9') goto yy142;
9287
463
      goto yy295;
9288
9.93k
    } else {
9289
9.93k
      if (yych <= 'Z') goto yy472;
9290
6.37k
      if (yych <= '`') goto yy295;
9291
4.68k
      if (yych <= 'z') goto yy472;
9292
2.70k
      goto yy295;
9293
4.68k
    }
9294
19.8k
  }
9295
55.2k
yy344:
9296
55.2k
  YYDEBUG(344, *YYCURSOR);
9297
55.2k
  yych = *++YYCURSOR;
9298
55.2k
  if (yych <= 'N') {
9299
31.9k
    if (yych <= ')') {
9300
11.9k
      if (yych <= '(') goto yy20;
9301
955
      goto yy115;
9302
19.9k
    } else {
9303
19.9k
      if (yych <= '@') goto yy20;
9304
18.1k
      if (yych <= 'M') goto yy472;
9305
13.3k
      goto yy521;
9306
18.1k
    }
9307
31.9k
  } else {
9308
23.3k
    if (yych <= 'm') {
9309
7.17k
      if (yych <= 'Z') goto yy472;
9310
5.53k
      if (yych <= '`') goto yy20;
9311
4.58k
      goto yy472;
9312
16.2k
    } else {
9313
16.2k
      if (yych <= 'n') goto yy521;
9314
2.05k
      if (yych <= 'z') goto yy472;
9315
1.46k
      goto yy20;
9316
2.05k
    }
9317
23.3k
  }
9318
103k
yy345:
9319
103k
  YYDEBUG(345, *YYCURSOR);
9320
103k
  yyaccept = 7;
9321
103k
  yych = *(YYMARKER = ++YYCURSOR);
9322
103k
  if (yych <= '9') {
9323
39.0k
    if (yych <= '(') {
9324
8.37k
      if (yych <= '\t') {
9325
1.95k
        if (yych <= 0x08) goto yy295;
9326
354
        goto yy142;
9327
6.41k
      } else {
9328
6.41k
        if (yych == ' ') goto yy142;
9329
4.23k
        goto yy295;
9330
6.41k
      }
9331
30.6k
    } else {
9332
30.6k
      if (yych <= '-') {
9333
24.5k
        if (yych <= ')') goto yy115;
9334
22.3k
        if (yych <= ',') goto yy295;
9335
20.9k
        goto yy479;
9336
22.3k
      } else {
9337
6.12k
        if (yych == '/') goto yy297;
9338
5.73k
        goto yy142;
9339
6.12k
      }
9340
30.6k
    }
9341
64.6k
  } else {
9342
64.6k
    if (yych <= '^') {
9343
28.7k
      if (yych <= 'B') {
9344
8.11k
        if (yych <= '@') goto yy295;
9345
1.69k
        goto yy472;
9346
20.5k
      } else {
9347
20.5k
        if (yych <= 'C') goto yy520;
9348
2.30k
        if (yych <= 'Z') goto yy472;
9349
287
        goto yy295;
9350
2.30k
      }
9351
35.9k
    } else {
9352
35.9k
      if (yych <= 'b') {
9353
4.66k
        if (yych <= '_') goto yy297;
9354
3.71k
        if (yych <= '`') goto yy295;
9355
2.68k
        goto yy478;
9356
31.2k
      } else {
9357
31.2k
        if (yych <= 'c') goto yy522;
9358
5.63k
        if (yych <= 'z') goto yy478;
9359
3.22k
        goto yy295;
9360
5.63k
      }
9361
35.9k
    }
9362
64.6k
  }
9363
34.9k
yy346:
9364
34.9k
  YYDEBUG(346, *YYCURSOR);
9365
34.9k
  yyaccept = 7;
9366
34.9k
  yych = *(YYMARKER = ++YYCURSOR);
9367
34.9k
  if (yych <= '.') {
9368
12.7k
    if (yych <= ' ') {
9369
3.58k
      if (yych == '\t') goto yy142;
9370
3.20k
      if (yych <= 0x1F) goto yy295;
9371
2.52k
      goto yy142;
9372
9.20k
    } else {
9373
9.20k
      if (yych <= ')') {
9374
2.39k
        if (yych <= '(') goto yy295;
9375
1.15k
        goto yy115;
9376
6.81k
      } else {
9377
6.81k
        if (yych <= ',') goto yy295;
9378
5.50k
        if (yych <= '-') goto yy479;
9379
2.31k
        goto yy142;
9380
5.50k
      }
9381
9.20k
    }
9382
22.1k
  } else {
9383
22.1k
    if (yych <= 'Z') {
9384
9.39k
      if (yych <= '/') goto yy297;
9385
9.11k
      if (yych <= '9') goto yy142;
9386
1.39k
      if (yych <= '@') goto yy295;
9387
702
      goto yy472;
9388
12.7k
    } else {
9389
12.7k
      if (yych <= '_') {
9390
1.91k
        if (yych <= '^') goto yy295;
9391
709
        goto yy297;
9392
10.8k
      } else {
9393
10.8k
        if (yych <= '`') goto yy295;
9394
10.6k
        if (yych <= 'z') goto yy478;
9395
3.23k
        goto yy295;
9396
10.6k
      }
9397
12.7k
    }
9398
22.1k
  }
9399
130k
yy347:
9400
130k
  YYDEBUG(347, *YYCURSOR);
9401
130k
  yyaccept = 2;
9402
130k
  yych = *(YYMARKER = ++YYCURSOR);
9403
130k
  if (yych <= 'M') {
9404
17.8k
    if (yych <= '-') {
9405
4.04k
      if (yych == ')') goto yy115;
9406
3.02k
      if (yych <= ',') goto yy20;
9407
655
      goto yy297;
9408
13.8k
    } else {
9409
13.8k
      if (yych == '/') goto yy297;
9410
10.6k
      if (yych <= '@') goto yy20;
9411
3.03k
      goto yy472;
9412
10.6k
    }
9413
112k
  } else {
9414
112k
    if (yych <= '_') {
9415
8.16k
      if (yych <= 'N') goto yy521;
9416
4.14k
      if (yych <= 'Z') goto yy472;
9417
3.41k
      if (yych <= '^') goto yy20;
9418
2.84k
      goto yy297;
9419
103k
    } else {
9420
103k
      if (yych <= 'm') {
9421
4.59k
        if (yych <= '`') goto yy20;
9422
4.43k
        goto yy478;
9423
99.3k
      } else {
9424
99.3k
        if (yych <= 'n') goto yy523;
9425
9.71k
        if (yych <= 'z') goto yy478;
9426
6.94k
        goto yy20;
9427
9.71k
      }
9428
103k
    }
9429
112k
  }
9430
108k
yy348:
9431
108k
  YYDEBUG(348, *YYCURSOR);
9432
108k
  yych = *++YYCURSOR;
9433
108k
  if (yych <= 'T') {
9434
17.0k
    if (yych <= ')') {
9435
5.28k
      if (yych <= '(') goto yy20;
9436
1.59k
      goto yy115;
9437
11.7k
    } else {
9438
11.7k
      if (yych <= '@') goto yy20;
9439
4.19k
      if (yych <= 'S') goto yy472;
9440
1.59k
      goto yy524;
9441
4.19k
    }
9442
91.4k
  } else {
9443
91.4k
    if (yych <= 's') {
9444
8.62k
      if (yych <= 'Z') goto yy472;
9445
5.43k
      if (yych <= '`') goto yy20;
9446
2.72k
      goto yy472;
9447
82.8k
    } else {
9448
82.8k
      if (yych <= 't') goto yy524;
9449
6.64k
      if (yych <= 'z') goto yy472;
9450
3.93k
      goto yy20;
9451
6.64k
    }
9452
91.4k
  }
9453
37.1k
yy349:
9454
37.1k
  YYDEBUG(349, *YYCURSOR);
9455
37.1k
  yych = *++YYCURSOR;
9456
37.1k
  if (yych <= 'N') {
9457
14.6k
    if (yych <= ')') {
9458
6.91k
      if (yych <= '(') goto yy20;
9459
1.11k
      goto yy115;
9460
7.75k
    } else {
9461
7.75k
      if (yych <= '@') goto yy20;
9462
3.66k
      if (yych <= 'M') goto yy472;
9463
2.48k
      goto yy525;
9464
3.66k
    }
9465
22.4k
  } else {
9466
22.4k
    if (yych <= 'm') {
9467
5.07k
      if (yych <= 'Z') goto yy472;
9468
4.50k
      if (yych <= '`') goto yy20;
9469
2.85k
      goto yy472;
9470
17.4k
    } else {
9471
17.4k
      if (yych <= 'n') goto yy525;
9472
7.15k
      if (yych <= 'z') goto yy472;
9473
2.68k
      goto yy20;
9474
7.15k
    }
9475
22.4k
  }
9476
15.0k
yy350:
9477
15.0k
  YYDEBUG(350, *YYCURSOR);
9478
15.0k
  yych = *++YYCURSOR;
9479
15.0k
  if (yych <= '@') {
9480
4.09k
    if (yych == ')') goto yy115;
9481
10.9k
  } else {
9482
10.9k
    if (yych <= 'Z') goto yy472;
9483
9.98k
    if (yych <= '`') goto yy351;
9484
9.86k
    if (yych <= 'z') goto yy472;
9485
9.86k
  }
9486
30.6k
yy351:
9487
30.6k
  YYDEBUG(351, *YYCURSOR);
9488
30.6k
#line 1178 "ext/date/lib/parse_date.re"
9489
30.6k
  {
9490
30.6k
    DEBUG_OUTPUT("now");
9491
30.6k
    TIMELIB_INIT;
9492
9493
30.6k
    TIMELIB_DEINIT;
9494
30.6k
    return TIMELIB_RELATIVE;
9495
15.0k
  }
9496
0
#line 9497 "ext/date/lib/parse_date.c"
9497
107k
yy352:
9498
107k
  YYDEBUG(352, *YYCURSOR);
9499
107k
  yyaccept = 2;
9500
107k
  yych = *(YYMARKER = ++YYCURSOR);
9501
107k
  if (yych <= 'S') {
9502
17.8k
    if (yych <= '-') {
9503
10.4k
      if (yych == ')') goto yy115;
9504
9.96k
      if (yych <= ',') goto yy20;
9505
5.72k
      goto yy297;
9506
9.96k
    } else {
9507
7.41k
      if (yych == '/') goto yy297;
9508
4.79k
      if (yych <= '@') goto yy20;
9509
2.92k
      goto yy472;
9510
4.79k
    }
9511
89.9k
  } else {
9512
89.9k
    if (yych <= '_') {
9513
24.4k
      if (yych <= 'T') goto yy524;
9514
3.45k
      if (yych <= 'Z') goto yy472;
9515
2.18k
      if (yych <= '^') goto yy20;
9516
874
      goto yy297;
9517
65.5k
    } else {
9518
65.5k
      if (yych <= 's') {
9519
4.96k
        if (yych <= '`') goto yy20;
9520
3.63k
        goto yy478;
9521
60.6k
      } else {
9522
60.6k
        if (yych <= 't') goto yy527;
9523
4.76k
        if (yych <= 'z') goto yy478;
9524
2.21k
        goto yy20;
9525
4.76k
      }
9526
65.5k
    }
9527
89.9k
  }
9528
66.4k
yy353:
9529
66.4k
  YYDEBUG(353, *YYCURSOR);
9530
66.4k
  yyaccept = 2;
9531
66.4k
  yych = *(YYMARKER = ++YYCURSOR);
9532
66.4k
  if (yych <= 'M') {
9533
23.4k
    if (yych <= '-') {
9534
12.6k
      if (yych == ')') goto yy115;
9535
6.69k
      if (yych <= ',') goto yy20;
9536
2.14k
      goto yy297;
9537
10.7k
    } else {
9538
10.7k
      if (yych == '/') goto yy297;
9539
5.94k
      if (yych <= '@') goto yy20;
9540
2.53k
      goto yy472;
9541
5.94k
    }
9542
42.9k
  } else {
9543
42.9k
    if (yych <= '_') {
9544
9.86k
      if (yych <= 'N') goto yy525;
9545
5.40k
      if (yych <= 'Z') goto yy472;
9546
4.20k
      if (yych <= '^') goto yy20;
9547
443
      goto yy297;
9548
33.1k
    } else {
9549
33.1k
      if (yych <= 'm') {
9550
4.25k
        if (yych <= '`') goto yy20;
9551
2.65k
        goto yy478;
9552
28.8k
      } else {
9553
28.8k
        if (yych <= 'n') goto yy528;
9554
6.31k
        if (yych <= 'z') goto yy478;
9555
2.58k
        goto yy20;
9556
6.31k
      }
9557
33.1k
    }
9558
42.9k
  }
9559
25.9k
yy354:
9560
25.9k
  YYDEBUG(354, *YYCURSOR);
9561
25.9k
  yyaccept = 11;
9562
25.9k
  yych = *(YYMARKER = ++YYCURSOR);
9563
25.9k
  if (yych <= '/') {
9564
8.23k
    if (yych <= ',') {
9565
3.42k
      if (yych == ')') goto yy115;
9566
1.73k
      goto yy351;
9567
4.81k
    } else {
9568
4.81k
      if (yych == '.') goto yy351;
9569
4.41k
      goto yy297;
9570
4.81k
    }
9571
17.7k
  } else {
9572
17.7k
    if (yych <= '^') {
9573
7.20k
      if (yych <= '@') goto yy351;
9574
2.18k
      if (yych <= 'Z') goto yy472;
9575
1.87k
      goto yy351;
9576
10.5k
    } else {
9577
10.5k
      if (yych <= '_') goto yy297;
9578
8.10k
      if (yych <= '`') goto yy351;
9579
6.84k
      if (yych <= 'z') goto yy478;
9580
5.99k
      goto yy351;
9581
6.84k
    }
9582
17.7k
  }
9583
72.9k
yy355:
9584
72.9k
  YYDEBUG(355, *YYCURSOR);
9585
72.9k
  yyaccept = 7;
9586
72.9k
  yych = *(YYMARKER = ++YYCURSOR);
9587
72.9k
  if (yych <= '/') {
9588
19.3k
    if (yych <= '(') {
9589
6.24k
      if (yych <= '\t') {
9590
2.29k
        if (yych <= 0x08) goto yy295;
9591
825
        goto yy142;
9592
3.95k
      } else {
9593
3.95k
        if (yych == ' ') goto yy142;
9594
3.00k
        goto yy295;
9595
3.95k
      }
9596
13.1k
    } else {
9597
13.1k
      if (yych <= ',') {
9598
1.87k
        if (yych <= ')') goto yy115;
9599
1.01k
        goto yy295;
9600
11.2k
      } else {
9601
11.2k
        if (yych <= '-') goto yy473;
9602
4.63k
        if (yych <= '.') goto yy142;
9603
566
        goto yy295;
9604
4.63k
      }
9605
13.1k
    }
9606
53.5k
  } else {
9607
53.5k
    if (yych <= 'Z') {
9608
10.3k
      if (yych <= '@') {
9609
3.42k
        if (yych <= '9') goto yy142;
9610
2.30k
        goto yy295;
9611
6.89k
      } else {
9612
6.89k
        if (yych == 'O') goto yy529;
9613
1.49k
        goto yy472;
9614
6.89k
      }
9615
43.2k
    } else {
9616
43.2k
      if (yych <= 'n') {
9617
7.18k
        if (yych <= '`') goto yy295;
9618
4.71k
        goto yy472;
9619
36.0k
      } else {
9620
36.0k
        if (yych <= 'o') goto yy529;
9621
3.65k
        if (yych <= 'z') goto yy472;
9622
2.31k
        goto yy295;
9623
3.65k
      }
9624
43.2k
    }
9625
53.5k
  }
9626
126k
yy356:
9627
126k
  YYDEBUG(356, *YYCURSOR);
9628
126k
  yyaccept = 7;
9629
126k
  yych = *(YYMARKER = ++YYCURSOR);
9630
126k
  if (yych <= '9') {
9631
26.7k
    if (yych <= '(') {
9632
11.0k
      if (yych <= '\t') {
9633
5.81k
        if (yych <= 0x08) goto yy295;
9634
2.46k
        goto yy142;
9635
5.81k
      } else {
9636
5.20k
        if (yych == ' ') goto yy142;
9637
1.64k
        goto yy295;
9638
5.20k
      }
9639
15.6k
    } else {
9640
15.6k
      if (yych <= '-') {
9641
7.69k
        if (yych <= ')') goto yy115;
9642
4.36k
        if (yych <= ',') goto yy295;
9643
2.38k
        goto yy479;
9644
7.98k
      } else {
9645
7.98k
        if (yych == '/') goto yy297;
9646
5.57k
        goto yy142;
9647
7.98k
      }
9648
15.6k
    }
9649
100k
  } else {
9650
100k
    if (yych <= '^') {
9651
14.0k
      if (yych <= 'N') {
9652
8.93k
        if (yych <= '@') goto yy295;
9653
2.65k
        goto yy472;
9654
8.93k
      } else {
9655
5.07k
        if (yych <= 'O') goto yy529;
9656
2.90k
        if (yych <= 'Z') goto yy472;
9657
445
        goto yy295;
9658
2.90k
      }
9659
86.0k
    } else {
9660
86.0k
      if (yych <= 'n') {
9661
5.34k
        if (yych <= '_') goto yy297;
9662
4.49k
        if (yych <= '`') goto yy295;
9663
3.03k
        goto yy478;
9664
80.7k
      } else {
9665
80.7k
        if (yych <= 'o') goto yy530;
9666
9.60k
        if (yych <= 'z') goto yy478;
9667
3.70k
        goto yy295;
9668
9.60k
      }
9669
86.0k
    }
9670
100k
  }
9671
138k
yy357:
9672
138k
  YYDEBUG(357, *YYCURSOR);
9673
138k
  yych = *++YYCURSOR;
9674
138k
  if (yych <= 'V') {
9675
12.8k
    if (yych <= ')') {
9676
4.52k
      if (yych <= '(') goto yy20;
9677
854
      goto yy115;
9678
8.30k
    } else {
9679
8.30k
      if (yych <= '@') goto yy20;
9680
3.10k
      if (yych <= 'U') goto yy472;
9681
1.30k
      goto yy531;
9682
3.10k
    }
9683
125k
  } else {
9684
125k
    if (yych <= 'u') {
9685
17.5k
      if (yych <= 'Z') goto yy472;
9686
15.2k
      if (yych <= '`') goto yy20;
9687
14.6k
      goto yy472;
9688
108k
    } else {
9689
108k
      if (yych <= 'v') goto yy531;
9690
6.54k
      if (yych <= 'z') goto yy472;
9691
5.34k
      goto yy20;
9692
6.54k
    }
9693
125k
  }
9694
121k
yy358:
9695
121k
  YYDEBUG(358, *YYCURSOR);
9696
121k
  yyaccept = 2;
9697
121k
  yych = *(YYMARKER = ++YYCURSOR);
9698
121k
  if (yych <= 'U') {
9699
20.7k
    if (yych <= '-') {
9700
7.97k
      if (yych == ')') goto yy115;
9701
7.76k
      if (yych <= ',') goto yy20;
9702
4.54k
      goto yy297;
9703
12.7k
    } else {
9704
12.7k
      if (yych == '/') goto yy297;
9705
11.5k
      if (yych <= '@') goto yy20;
9706
8.04k
      goto yy472;
9707
11.5k
    }
9708
100k
  } else {
9709
100k
    if (yych <= '_') {
9710
10.6k
      if (yych <= 'V') goto yy531;
9711
4.19k
      if (yych <= 'Z') goto yy472;
9712
2.13k
      if (yych <= '^') goto yy20;
9713
1.27k
      goto yy297;
9714
90.0k
    } else {
9715
90.0k
      if (yych <= 'u') {
9716
7.13k
        if (yych <= '`') goto yy20;
9717
6.25k
        goto yy478;
9718
82.9k
      } else {
9719
82.9k
        if (yych <= 'v') goto yy532;
9720
8.82k
        if (yych <= 'z') goto yy478;
9721
6.89k
        goto yy20;
9722
8.82k
      }
9723
90.0k
    }
9724
100k
  }
9725
47.7k
yy359:
9726
47.7k
  YYDEBUG(359, *YYCURSOR);
9727
47.7k
  yych = *++YYCURSOR;
9728
47.7k
  if (yych <= 'U') {
9729
16.9k
    if (yych <= ')') {
9730
8.71k
      if (yych <= '(') goto yy315;
9731
2.57k
      goto yy115;
9732
8.71k
    } else {
9733
8.28k
      if (yych <= '@') goto yy315;
9734
4.54k
      if (yych <= 'T') goto yy472;
9735
3.33k
      goto yy533;
9736
4.54k
    }
9737
30.7k
  } else {
9738
30.7k
    if (yych <= 't') {
9739
7.41k
      if (yych <= 'Z') goto yy472;
9740
5.94k
      if (yych <= '`') goto yy315;
9741
4.87k
      goto yy472;
9742
23.3k
    } else {
9743
23.3k
      if (yych <= 'u') goto yy533;
9744
6.74k
      if (yych <= 'z') goto yy472;
9745
4.19k
      goto yy315;
9746
6.74k
    }
9747
30.7k
  }
9748
58.2k
yy360:
9749
58.2k
  YYDEBUG(360, *YYCURSOR);
9750
58.2k
  yych = *++YYCURSOR;
9751
58.2k
  if (yych <= 'O') {
9752
16.0k
    if (yych <= ')') {
9753
2.84k
      if (yych <= '(') goto yy20;
9754
1.42k
      goto yy115;
9755
13.1k
    } else {
9756
13.1k
      if (yych <= '@') goto yy20;
9757
7.59k
      if (yych <= 'N') goto yy472;
9758
3.59k
      goto yy534;
9759
7.59k
    }
9760
42.1k
  } else {
9761
42.1k
    if (yych <= 'n') {
9762
8.05k
      if (yych <= 'Z') goto yy472;
9763
6.81k
      if (yych <= '`') goto yy20;
9764
6.07k
      goto yy472;
9765
34.1k
    } else {
9766
34.1k
      if (yych <= 'o') goto yy534;
9767
5.92k
      if (yych <= 'z') goto yy472;
9768
1.52k
      goto yy20;
9769
5.92k
    }
9770
42.1k
  }
9771
131k
yy361:
9772
131k
  YYDEBUG(361, *YYCURSOR);
9773
131k
  yyaccept = 7;
9774
131k
  yych = *(YYMARKER = ++YYCURSOR);
9775
131k
  if (yych <= '/') {
9776
24.8k
    if (yych <= '(') {
9777
7.36k
      if (yych <= '\t') {
9778
3.87k
        if (yych <= 0x08) goto yy295;
9779
1.54k
        goto yy142;
9780
3.87k
      } else {
9781
3.49k
        if (yych == ' ') goto yy142;
9782
3.22k
        goto yy295;
9783
3.49k
      }
9784
17.4k
    } else {
9785
17.4k
      if (yych <= ',') {
9786
5.55k
        if (yych <= ')') goto yy115;
9787
4.05k
        goto yy295;
9788
11.9k
      } else {
9789
11.9k
        if (yych <= '-') goto yy473;
9790
8.11k
        if (yych <= '.') goto yy142;
9791
4.38k
        goto yy295;
9792
8.11k
      }
9793
17.4k
    }
9794
106k
  } else {
9795
106k
    if (yych <= 'Z') {
9796
23.1k
      if (yych <= '@') {
9797
10.0k
        if (yych <= '9') goto yy142;
9798
4.31k
        goto yy295;
9799
13.1k
      } else {
9800
13.1k
        if (yych == 'T') goto yy535;
9801
6.43k
        goto yy472;
9802
13.1k
      }
9803
83.0k
    } else {
9804
83.0k
      if (yych <= 's') {
9805
6.43k
        if (yych <= '`') goto yy295;
9806
4.88k
        goto yy472;
9807
76.6k
      } else {
9808
76.6k
        if (yych <= 't') goto yy535;
9809
15.4k
        if (yych <= 'z') goto yy472;
9810
14.2k
        goto yy295;
9811
15.4k
      }
9812
83.0k
    }
9813
106k
  }
9814
35.7k
yy362:
9815
35.7k
  YYDEBUG(362, *YYCURSOR);
9816
35.7k
  yych = *++YYCURSOR;
9817
35.7k
  if (yych <= 'E') {
9818
15.4k
    if (yych <= ')') {
9819
8.47k
      if (yych <= '(') goto yy20;
9820
1.89k
      goto yy115;
9821
8.47k
    } else {
9822
6.95k
      if (yych <= '@') goto yy20;
9823
3.83k
      if (yych <= 'D') goto yy472;
9824
2.38k
      goto yy536;
9825
3.83k
    }
9826
20.3k
  } else {
9827
20.3k
    if (yych <= 'd') {
9828
3.73k
      if (yych <= 'Z') goto yy472;
9829
2.66k
      if (yych <= '`') goto yy20;
9830
754
      goto yy472;
9831
16.6k
    } else {
9832
16.6k
      if (yych <= 'e') goto yy536;
9833
6.59k
      if (yych <= 'z') goto yy472;
9834
4.73k
      goto yy20;
9835
6.59k
    }
9836
20.3k
  }
9837
154k
yy363:
9838
154k
  YYDEBUG(363, *YYCURSOR);
9839
154k
  yyaccept = 9;
9840
154k
  yych = *(YYMARKER = ++YYCURSOR);
9841
154k
  if (yych <= 'T') {
9842
30.5k
    if (yych <= '-') {
9843
13.6k
      if (yych == ')') goto yy115;
9844
9.27k
      if (yych <= ',') goto yy315;
9845
2.97k
      goto yy297;
9846
16.8k
    } else {
9847
16.8k
      if (yych == '/') goto yy297;
9848
15.4k
      if (yych <= '@') goto yy315;
9849
6.86k
      goto yy472;
9850
15.4k
    }
9851
123k
  } else {
9852
123k
    if (yych <= '_') {
9853
30.9k
      if (yych <= 'U') goto yy533;
9854
10.8k
      if (yych <= 'Z') goto yy472;
9855
9.85k
      if (yych <= '^') goto yy315;
9856
8.39k
      goto yy297;
9857
92.5k
    } else {
9858
92.5k
      if (yych <= 't') {
9859
7.05k
        if (yych <= '`') goto yy315;
9860
2.93k
        goto yy478;
9861
85.5k
      } else {
9862
85.5k
        if (yych <= 'u') goto yy537;
9863
27.3k
        if (yych <= 'z') goto yy478;
9864
25.9k
        goto yy315;
9865
27.3k
      }
9866
92.5k
    }
9867
123k
  }
9868
180k
yy364:
9869
180k
  YYDEBUG(364, *YYCURSOR);
9870
180k
  yyaccept = 2;
9871
180k
  yych = *(YYMARKER = ++YYCURSOR);
9872
180k
  if (yych <= 'N') {
9873
37.4k
    if (yych <= '-') {
9874
18.3k
      if (yych == ')') goto yy115;
9875
13.2k
      if (yych <= ',') goto yy20;
9876
1.54k
      goto yy297;
9877
19.0k
    } else {
9878
19.0k
      if (yych == '/') goto yy297;
9879
17.7k
      if (yych <= '@') goto yy20;
9880
7.58k
      goto yy472;
9881
17.7k
    }
9882
143k
  } else {
9883
143k
    if (yych <= '_') {
9884
25.6k
      if (yych <= 'O') goto yy534;
9885
16.6k
      if (yych <= 'Z') goto yy472;
9886
1.19k
      if (yych <= '^') goto yy20;
9887
592
      goto yy297;
9888
117k
    } else {
9889
117k
      if (yych <= 'n') {
9890
9.81k
        if (yych <= '`') goto yy20;
9891
8.14k
        goto yy478;
9892
107k
      } else {
9893
107k
        if (yych <= 'o') goto yy538;
9894
19.7k
        if (yych <= 'z') goto yy478;
9895
11.8k
        goto yy20;
9896
19.7k
      }
9897
117k
    }
9898
143k
  }
9899
135k
yy365:
9900
135k
  YYDEBUG(365, *YYCURSOR);
9901
135k
  yyaccept = 7;
9902
135k
  yych = *(YYMARKER = ++YYCURSOR);
9903
135k
  if (yych <= '9') {
9904
18.3k
    if (yych <= '(') {
9905
6.99k
      if (yych <= '\t') {
9906
3.68k
        if (yych <= 0x08) goto yy295;
9907
2.02k
        goto yy142;
9908
3.68k
      } else {
9909
3.30k
        if (yych == ' ') goto yy142;
9910
2.08k
        goto yy295;
9911
3.30k
      }
9912
11.3k
    } else {
9913
11.3k
      if (yych <= '-') {
9914
6.02k
        if (yych <= ')') goto yy115;
9915
4.80k
        if (yych <= ',') goto yy295;
9916
2.75k
        goto yy479;
9917
5.31k
      } else {
9918
5.31k
        if (yych == '/') goto yy297;
9919
5.02k
        goto yy142;
9920
5.31k
      }
9921
11.3k
    }
9922
117k
  } else {
9923
117k
    if (yych <= '^') {
9924
15.0k
      if (yych <= 'S') {
9925
6.43k
        if (yych <= '@') goto yy295;
9926
3.47k
        goto yy472;
9927
8.64k
      } else {
9928
8.64k
        if (yych <= 'T') goto yy535;
9929
5.04k
        if (yych <= 'Z') goto yy472;
9930
4.17k
        goto yy295;
9931
5.04k
      }
9932
102k
    } else {
9933
102k
      if (yych <= 's') {
9934
3.31k
        if (yych <= '_') goto yy297;
9935
3.22k
        if (yych <= '`') goto yy295;
9936
2.58k
        goto yy478;
9937
98.7k
      } else {
9938
98.7k
        if (yych <= 't') goto yy539;
9939
5.20k
        if (yych <= 'z') goto yy478;
9940
4.61k
        goto yy295;
9941
5.20k
      }
9942
102k
    }
9943
117k
  }
9944
112k
yy366:
9945
112k
  YYDEBUG(366, *YYCURSOR);
9946
112k
  yyaccept = 2;
9947
112k
  yych = *(YYMARKER = ++YYCURSOR);
9948
112k
  if (yych <= 'D') {
9949
22.6k
    if (yych <= '-') {
9950
6.36k
      if (yych == ')') goto yy115;
9951
4.39k
      if (yych <= ',') goto yy20;
9952
693
      goto yy297;
9953
16.2k
    } else {
9954
16.2k
      if (yych == '/') goto yy297;
9955
9.94k
      if (yych <= '@') goto yy20;
9956
1.56k
      goto yy472;
9957
9.94k
    }
9958
90.3k
  } else {
9959
90.3k
    if (yych <= '_') {
9960
19.6k
      if (yych <= 'E') goto yy536;
9961
2.48k
      if (yych <= 'Z') goto yy472;
9962
1.45k
      if (yych <= '^') goto yy20;
9963
273
      goto yy297;
9964
70.7k
    } else {
9965
70.7k
      if (yych <= 'd') {
9966
4.25k
        if (yych <= '`') goto yy20;
9967
2.93k
        goto yy478;
9968
66.4k
      } else {
9969
66.4k
        if (yych <= 'e') goto yy540;
9970
6.58k
        if (yych <= 'z') goto yy478;
9971
3.37k
        goto yy20;
9972
6.58k
      }
9973
70.7k
    }
9974
90.3k
  }
9975
272k
yy367:
9976
272k
  YYDEBUG(367, *YYCURSOR);
9977
272k
  yyaccept = 4;
9978
272k
  yych = *(YYMARKER = ++YYCURSOR);
9979
272k
  if (yych <= '/') {
9980
23.6k
    if (yych == '.') goto yy75;
9981
20.7k
    goto yy177;
9982
248k
  } else {
9983
248k
    if (yych <= '5') goto yy541;
9984
175k
    if (yych == ':') goto yy75;
9985
72.7k
    goto yy177;
9986
175k
  }
9987
38.4k
yy368:
9988
38.4k
  YYDEBUG(368, *YYCURSOR);
9989
38.4k
  yych = *++YYCURSOR;
9990
38.4k
  if (yych <= 'S') {
9991
14.3k
    if (yych <= '@') {
9992
5.62k
      if (yych == ')') goto yy115;
9993
5.03k
      goto yy20;
9994
8.71k
    } else {
9995
8.71k
      if (yych <= 'Q') goto yy472;
9996
5.00k
      if (yych <= 'R') goto yy542;
9997
4.33k
      goto yy524;
9998
5.00k
    }
9999
24.1k
  } else {
10000
24.1k
    if (yych <= 'q') {
10001
6.24k
      if (yych <= 'Z') goto yy472;
10002
4.94k
      if (yych <= '`') goto yy20;
10003
3.99k
      goto yy472;
10004
17.8k
    } else {
10005
17.8k
      if (yych <= 'r') goto yy542;
10006
4.29k
      if (yych <= 's') goto yy524;
10007
2.11k
      if (yych <= 'z') goto yy472;
10008
770
      goto yy20;
10009
2.11k
    }
10010
24.1k
  }
10011
57.3k
yy369:
10012
57.3k
  YYDEBUG(369, *YYCURSOR);
10013
57.3k
  yych = *++YYCURSOR;
10014
57.3k
  if (yych <= 'R') {
10015
26.8k
    if (yych <= ')') {
10016
9.16k
      if (yych <= '(') goto yy315;
10017
518
      goto yy115;
10018
17.6k
    } else {
10019
17.6k
      if (yych <= '@') goto yy315;
10020
15.3k
      if (yych <= 'Q') goto yy472;
10021
13.1k
      goto yy543;
10022
15.3k
    }
10023
30.5k
  } else {
10024
30.5k
    if (yych <= 'q') {
10025
12.6k
      if (yych <= 'Z') goto yy472;
10026
10.5k
      if (yych <= '`') goto yy315;
10027
4.59k
      goto yy472;
10028
17.8k
    } else {
10029
17.8k
      if (yych <= 'r') goto yy543;
10030
7.72k
      if (yych <= 'z') goto yy472;
10031
6.81k
      goto yy315;
10032
7.72k
    }
10033
30.5k
  }
10034
28.6k
yy370:
10035
28.6k
  YYDEBUG(370, *YYCURSOR);
10036
28.6k
  yych = *++YYCURSOR;
10037
28.6k
  if (yych <= 'A') {
10038
5.03k
    if (yych == ')') goto yy115;
10039
4.93k
    if (yych <= '@') goto yy20;
10040
2.97k
    goto yy544;
10041
23.5k
  } else {
10042
23.5k
    if (yych <= '`') {
10043
4.85k
      if (yych <= 'Z') goto yy472;
10044
1.99k
      goto yy20;
10045
18.7k
    } else {
10046
18.7k
      if (yych <= 'a') goto yy544;
10047
3.45k
      if (yych <= 'z') goto yy472;
10048
934
      goto yy20;
10049
3.45k
    }
10050
23.5k
  }
10051
62.8k
yy371:
10052
62.8k
  YYDEBUG(371, *YYCURSOR);
10053
62.8k
  yych = *++YYCURSOR;
10054
62.8k
  if (yych <= 'O') {
10055
22.5k
    if (yych <= ')') {
10056
7.92k
      if (yych <= '(') goto yy20;
10057
1.91k
      goto yy115;
10058
14.5k
    } else {
10059
14.5k
      if (yych <= '@') goto yy20;
10060
10.9k
      if (yych <= 'N') goto yy472;
10061
5.70k
      goto yy545;
10062
10.9k
    }
10063
40.3k
  } else {
10064
40.3k
    if (yych <= 'n') {
10065
3.08k
      if (yych <= 'Z') goto yy472;
10066
1.73k
      if (yych <= '`') goto yy20;
10067
1.33k
      goto yy472;
10068
37.2k
    } else {
10069
37.2k
      if (yych <= 'o') goto yy545;
10070
3.34k
      if (yych <= 'z') goto yy472;
10071
2.85k
      goto yy20;
10072
3.34k
    }
10073
40.3k
  }
10074
47.5k
yy372:
10075
47.5k
  YYDEBUG(372, *YYCURSOR);
10076
47.5k
  yych = *++YYCURSOR;
10077
47.5k
  if (yych <= 'S') {
10078
28.8k
    if (yych <= ')') {
10079
9.21k
      if (yych <= '(') goto yy315;
10080
436
      goto yy115;
10081
19.6k
    } else {
10082
19.6k
      if (yych <= '@') goto yy315;
10083
17.0k
      if (yych <= 'R') goto yy472;
10084
13.6k
      goto yy546;
10085
17.0k
    }
10086
28.8k
  } else {
10087
18.6k
    if (yych <= 'r') {
10088
4.34k
      if (yych <= 'Z') goto yy472;
10089
3.47k
      if (yych <= '`') goto yy315;
10090
2.80k
      goto yy472;
10091
14.3k
    } else {
10092
14.3k
      if (yych <= 's') goto yy546;
10093
8.86k
      if (yych <= 'z') goto yy472;
10094
7.75k
      goto yy315;
10095
8.86k
    }
10096
18.6k
  }
10097
48.9k
yy373:
10098
48.9k
  YYDEBUG(373, *YYCURSOR);
10099
48.9k
  yych = *++YYCURSOR;
10100
48.9k
  if (yych <= 'L') {
10101
26.8k
    if (yych <= ')') {
10102
3.81k
      if (yych <= '(') goto yy20;
10103
2.44k
      goto yy115;
10104
23.0k
    } else {
10105
23.0k
      if (yych <= '@') goto yy20;
10106
18.0k
      if (yych <= 'K') goto yy472;
10107
17.3k
      goto yy547;
10108
18.0k
    }
10109
26.8k
  } else {
10110
22.1k
    if (yych <= 'k') {
10111
5.09k
      if (yych <= 'Z') goto yy472;
10112
3.99k
      if (yych <= '`') goto yy20;
10113
3.42k
      goto yy472;
10114
17.0k
    } else {
10115
17.0k
      if (yych <= 'l') goto yy547;
10116
4.18k
      if (yych <= 'z') goto yy472;
10117
3.23k
      goto yy20;
10118
4.18k
    }
10119
22.1k
  }
10120
102k
yy374:
10121
102k
  YYDEBUG(374, *YYCURSOR);
10122
102k
  yyaccept = 2;
10123
102k
  yych = *(YYMARKER = ++YYCURSOR);
10124
102k
  if (yych <= 'R') {
10125
14.5k
    if (yych <= '-') {
10126
3.83k
      if (yych == ')') goto yy115;
10127
3.24k
      if (yych <= ',') goto yy20;
10128
701
      goto yy297;
10129
10.7k
    } else {
10130
10.7k
      if (yych <= '/') {
10131
1.13k
        if (yych <= '.') goto yy20;
10132
507
        goto yy297;
10133
9.61k
      } else {
10134
9.61k
        if (yych <= '@') goto yy20;
10135
2.85k
        if (yych <= 'Q') goto yy472;
10136
2.07k
        goto yy542;
10137
2.85k
      }
10138
10.7k
    }
10139
88.1k
  } else {
10140
88.1k
    if (yych <= '`') {
10141
5.40k
      if (yych <= 'Z') {
10142
3.51k
        if (yych <= 'S') goto yy524;
10143
1.69k
        goto yy472;
10144
3.51k
      } else {
10145
1.88k
        if (yych == '_') goto yy297;
10146
947
        goto yy20;
10147
1.88k
      }
10148
82.7k
    } else {
10149
82.7k
      if (yych <= 'r') {
10150
48.8k
        if (yych <= 'q') goto yy478;
10151
44.3k
        goto yy548;
10152
48.8k
      } else {
10153
33.9k
        if (yych <= 's') goto yy527;
10154
9.32k
        if (yych <= 'z') goto yy478;
10155
3.72k
        goto yy20;
10156
9.32k
      }
10157
82.7k
    }
10158
88.1k
  }
10159
98.6k
yy375:
10160
98.6k
  YYDEBUG(375, *YYCURSOR);
10161
98.6k
  yyaccept = 9;
10162
98.6k
  yych = *(YYMARKER = ++YYCURSOR);
10163
98.6k
  if (yych <= 'Q') {
10164
16.8k
    if (yych <= '-') {
10165
4.69k
      if (yych == ')') goto yy115;
10166
4.05k
      if (yych <= ',') goto yy315;
10167
658
      goto yy297;
10168
12.1k
    } else {
10169
12.1k
      if (yych == '/') goto yy297;
10170
10.2k
      if (yych <= '@') goto yy315;
10171
2.91k
      goto yy472;
10172
10.2k
    }
10173
81.8k
  } else {
10174
81.8k
    if (yych <= '_') {
10175
6.55k
      if (yych <= 'R') goto yy543;
10176
2.34k
      if (yych <= 'Z') goto yy472;
10177
1.24k
      if (yych <= '^') goto yy315;
10178
905
      goto yy297;
10179
75.3k
    } else {
10180
75.3k
      if (yych <= 'q') {
10181
3.71k
        if (yych <= '`') goto yy315;
10182
3.10k
        goto yy478;
10183
71.5k
      } else {
10184
71.5k
        if (yych <= 'r') goto yy549;
10185
13.2k
        if (yych <= 'z') goto yy478;
10186
10.5k
        goto yy315;
10187
13.2k
      }
10188
75.3k
    }
10189
81.8k
  }
10190
80.4k
yy376:
10191
80.4k
  YYDEBUG(376, *YYCURSOR);
10192
80.4k
  yyaccept = 2;
10193
80.4k
  yych = *(YYMARKER = ++YYCURSOR);
10194
80.4k
  if (yych <= '@') {
10195
12.6k
    if (yych <= ',') {
10196
3.53k
      if (yych == ')') goto yy115;
10197
1.23k
      goto yy20;
10198
9.12k
    } else {
10199
9.12k
      if (yych == '.') goto yy20;
10200
6.37k
      if (yych <= '/') goto yy297;
10201
4.75k
      goto yy20;
10202
6.37k
    }
10203
67.8k
  } else {
10204
67.8k
    if (yych <= '_') {
10205
15.5k
      if (yych <= 'A') goto yy544;
10206
5.69k
      if (yych <= 'Z') goto yy472;
10207
2.75k
      if (yych <= '^') goto yy20;
10208
1.44k
      goto yy297;
10209
52.2k
    } else {
10210
52.2k
      if (yych <= '`') goto yy20;
10211
51.5k
      if (yych <= 'a') goto yy550;
10212
8.04k
      if (yych <= 'z') goto yy478;
10213
5.87k
      goto yy20;
10214
8.04k
    }
10215
67.8k
  }
10216
111k
yy377:
10217
111k
  YYDEBUG(377, *YYCURSOR);
10218
111k
  yyaccept = 2;
10219
111k
  yych = *(YYMARKER = ++YYCURSOR);
10220
111k
  if (yych <= 'N') {
10221
14.3k
    if (yych <= '-') {
10222
6.19k
      if (yych == ')') goto yy115;
10223
5.74k
      if (yych <= ',') goto yy20;
10224
974
      goto yy297;
10225
8.12k
    } else {
10226
8.12k
      if (yych == '/') goto yy297;
10227
7.38k
      if (yych <= '@') goto yy20;
10228
1.36k
      goto yy472;
10229
7.38k
    }
10230
97.4k
  } else {
10231
97.4k
    if (yych <= '_') {
10232
14.7k
      if (yych <= 'O') goto yy545;
10233
6.75k
      if (yych <= 'Z') goto yy472;
10234
3.70k
      if (yych <= '^') goto yy20;
10235
2.09k
      goto yy297;
10236
82.6k
    } else {
10237
82.6k
      if (yych <= 'n') {
10238
4.09k
        if (yych <= '`') goto yy20;
10239
3.16k
        goto yy478;
10240
78.5k
      } else {
10241
78.5k
        if (yych <= 'o') goto yy551;
10242
10.4k
        if (yych <= 'z') goto yy478;
10243
6.64k
        goto yy20;
10244
10.4k
      }
10245
82.6k
    }
10246
97.4k
  }
10247
28.0k
yy378:
10248
28.0k
  YYDEBUG(378, *YYCURSOR);
10249
28.0k
  yyaccept = 9;
10250
28.0k
  yych = *(YYMARKER = ++YYCURSOR);
10251
28.0k
  if (yych <= 'R') {
10252
10.6k
    if (yych <= '-') {
10253
3.84k
      if (yych == ')') goto yy115;
10254
2.73k
      if (yych <= ',') goto yy315;
10255
1.02k
      goto yy297;
10256
6.79k
    } else {
10257
6.79k
      if (yych == '/') goto yy297;
10258
6.30k
      if (yych <= '@') goto yy315;
10259
2.74k
      goto yy472;
10260
6.30k
    }
10261
17.4k
  } else {
10262
17.4k
    if (yych <= '_') {
10263
3.32k
      if (yych <= 'S') goto yy546;
10264
2.09k
      if (yych <= 'Z') goto yy472;
10265
1.83k
      if (yych <= '^') goto yy315;
10266
1.09k
      goto yy297;
10267
14.0k
    } else {
10268
14.0k
      if (yych <= 'r') {
10269
3.60k
        if (yych <= '`') goto yy315;
10270
2.51k
        goto yy478;
10271
10.4k
      } else {
10272
10.4k
        if (yych <= 's') goto yy552;
10273
4.63k
        if (yych <= 'z') goto yy478;
10274
2.22k
        goto yy315;
10275
4.63k
      }
10276
14.0k
    }
10277
17.4k
  }
10278
70.9k
yy379:
10279
70.9k
  YYDEBUG(379, *YYCURSOR);
10280
70.9k
  yyaccept = 2;
10281
70.9k
  yych = *(YYMARKER = ++YYCURSOR);
10282
70.9k
  if (yych <= 'K') {
10283
11.4k
    if (yych <= '-') {
10284
5.36k
      if (yych == ')') goto yy115;
10285
3.75k
      if (yych <= ',') goto yy20;
10286
1.46k
      goto yy297;
10287
6.04k
    } else {
10288
6.04k
      if (yych == '/') goto yy297;
10289
5.30k
      if (yych <= '@') goto yy20;
10290
1.32k
      goto yy472;
10291
5.30k
    }
10292
59.5k
  } else {
10293
59.5k
    if (yych <= '_') {
10294
13.6k
      if (yych <= 'L') goto yy547;
10295
3.80k
      if (yych <= 'Z') goto yy472;
10296
1.88k
      if (yych <= '^') goto yy20;
10297
586
      goto yy297;
10298
45.8k
    } else {
10299
45.8k
      if (yych <= 'k') {
10300
3.90k
        if (yych <= '`') goto yy20;
10301
3.19k
        goto yy478;
10302
41.9k
      } else {
10303
41.9k
        if (yych <= 'l') goto yy553;
10304
4.79k
        if (yych <= 'z') goto yy478;
10305
2.40k
        goto yy20;
10306
4.79k
      }
10307
45.8k
    }
10308
59.5k
  }
10309
79.5k
yy380:
10310
79.5k
  YYDEBUG(380, *YYCURSOR);
10311
79.5k
  yyaccept = 2;
10312
79.5k
  yych = *(YYMARKER = ++YYCURSOR);
10313
79.5k
  if (yych <= '.') {
10314
13.7k
    if (yych <= ' ') {
10315
6.05k
      if (yych == '\t') goto yy142;
10316
5.34k
      if (yych <= 0x1F) goto yy20;
10317
1.06k
      goto yy142;
10318
7.72k
    } else {
10319
7.72k
      if (yych == ')') goto yy115;
10320
3.62k
      if (yych <= ',') goto yy20;
10321
1.39k
      goto yy142;
10322
3.62k
    }
10323
65.7k
  } else {
10324
65.7k
    if (yych <= 'H') {
10325
24.2k
      if (yych <= '/') goto yy20;
10326
17.4k
      if (yych <= '9') goto yy142;
10327
7.04k
      if (yych <= '@') goto yy20;
10328
3.78k
      goto yy472;
10329
41.4k
    } else {
10330
41.4k
      if (yych <= 'Z') {
10331
26.0k
        if (yych <= 'I') goto yy554;
10332
1.61k
        goto yy472;
10333
26.0k
      } else {
10334
15.3k
        if (yych <= '`') goto yy20;
10335
10.0k
        if (yych <= 'z') goto yy472;
10336
5.17k
        goto yy20;
10337
10.0k
      }
10338
41.4k
    }
10339
65.7k
  }
10340
69.8k
yy381:
10341
69.8k
  YYDEBUG(381, *YYCURSOR);
10342
69.8k
  yych = *++YYCURSOR;
10343
69.8k
  if (yych <= 'N') {
10344
33.9k
    if (yych <= ')') {
10345
10.5k
      if (yych <= '(') goto yy315;
10346
212
      goto yy115;
10347
23.4k
    } else {
10348
23.4k
      if (yych <= '@') goto yy315;
10349
8.46k
      if (yych <= 'M') goto yy472;
10350
5.37k
      goto yy555;
10351
8.46k
    }
10352
35.8k
  } else {
10353
35.8k
    if (yych <= 'm') {
10354
4.80k
      if (yych <= 'Z') goto yy472;
10355
4.31k
      if (yych <= '`') goto yy315;
10356
3.10k
      goto yy472;
10357
31.0k
    } else {
10358
31.0k
      if (yych <= 'n') goto yy555;
10359
12.1k
      if (yych <= 'z') goto yy472;
10360
6.72k
      goto yy315;
10361
12.1k
    }
10362
35.8k
  }
10363
64.5k
yy382:
10364
64.5k
  YYDEBUG(382, *YYCURSOR);
10365
64.5k
  yych = *++YYCURSOR;
10366
64.5k
  if (yych <= 'K') {
10367
27.9k
    if (yych <= ')') {
10368
4.65k
      if (yych <= '(') goto yy20;
10369
955
      goto yy115;
10370
23.2k
    } else {
10371
23.2k
      if (yych <= '@') goto yy20;
10372
15.4k
      if (yych <= 'J') goto yy472;
10373
9.34k
      goto yy546;
10374
15.4k
    }
10375
36.6k
  } else {
10376
36.6k
    if (yych <= 'j') {
10377
10.8k
      if (yych <= 'Z') goto yy472;
10378
7.78k
      if (yych <= '`') goto yy20;
10379
2.98k
      goto yy472;
10380
25.8k
    } else {
10381
25.8k
      if (yych <= 'k') goto yy546;
10382
4.93k
      if (yych <= 'z') goto yy472;
10383
2.78k
      goto yy20;
10384
4.93k
    }
10385
36.6k
  }
10386
128k
yy383:
10387
128k
  YYDEBUG(383, *YYCURSOR);
10388
128k
  yyaccept = 9;
10389
128k
  yych = *(YYMARKER = ++YYCURSOR);
10390
128k
  if (yych <= 'M') {
10391
20.4k
    if (yych <= '-') {
10392
10.4k
      if (yych == ')') goto yy115;
10393
6.60k
      if (yych <= ',') goto yy315;
10394
822
      goto yy297;
10395
10.0k
    } else {
10396
10.0k
      if (yych == '/') goto yy297;
10397
7.17k
      if (yych <= '@') goto yy315;
10398
2.59k
      goto yy472;
10399
7.17k
    }
10400
107k
  } else {
10401
107k
    if (yych <= '_') {
10402
11.3k
      if (yych <= 'N') goto yy555;
10403
4.09k
      if (yych <= 'Z') goto yy472;
10404
2.33k
      if (yych <= '^') goto yy315;
10405
1.15k
      goto yy297;
10406
96.2k
    } else {
10407
96.2k
      if (yych <= 'm') {
10408
7.03k
        if (yych <= '`') goto yy315;
10409
4.63k
        goto yy478;
10410
89.1k
      } else {
10411
89.1k
        if (yych <= 'n') goto yy556;
10412
8.43k
        if (yych <= 'z') goto yy478;
10413
6.60k
        goto yy315;
10414
8.43k
      }
10415
96.2k
    }
10416
107k
  }
10417
119k
yy384:
10418
119k
  YYDEBUG(384, *YYCURSOR);
10419
119k
  yyaccept = 2;
10420
119k
  yych = *(YYMARKER = ++YYCURSOR);
10421
119k
  if (yych <= 'J') {
10422
22.5k
    if (yych <= '-') {
10423
11.7k
      if (yych == ')') goto yy115;
10424
10.0k
      if (yych <= ',') goto yy20;
10425
4.71k
      goto yy297;
10426
10.7k
    } else {
10427
10.7k
      if (yych == '/') goto yy297;
10428
10.4k
      if (yych <= '@') goto yy20;
10429
4.51k
      goto yy472;
10430
10.4k
    }
10431
96.7k
  } else {
10432
96.7k
    if (yych <= '_') {
10433
16.0k
      if (yych <= 'K') goto yy546;
10434
10.3k
      if (yych <= 'Z') goto yy472;
10435
9.37k
      if (yych <= '^') goto yy20;
10436
2.48k
      goto yy297;
10437
80.7k
    } else {
10438
80.7k
      if (yych <= 'j') {
10439
7.22k
        if (yych <= '`') goto yy20;
10440
5.42k
        goto yy478;
10441
73.5k
      } else {
10442
73.5k
        if (yych <= 'k') goto yy552;
10443
8.00k
        if (yych <= 'z') goto yy478;
10444
5.40k
        goto yy20;
10445
8.00k
      }
10446
80.7k
    }
10447
96.7k
  }
10448
50.0k
yy385:
10449
50.0k
  YYDEBUG(385, *YYCURSOR);
10450
50.0k
  yych = *++YYCURSOR;
10451
50.0k
  if (yych <= 'T') {
10452
25.0k
    if (yych <= ')') {
10453
1.14k
      if (yych <= '(') goto yy20;
10454
315
      goto yy115;
10455
23.8k
    } else {
10456
23.8k
      if (yych <= '@') goto yy20;
10457
20.3k
      if (yych <= 'S') goto yy472;
10458
18.4k
      goto yy557;
10459
20.3k
    }
10460
25.0k
  } else {
10461
24.9k
    if (yych <= 's') {
10462
4.86k
      if (yych <= 'Z') goto yy472;
10463
3.87k
      if (yych <= '`') goto yy20;
10464
1.74k
      goto yy472;
10465
20.1k
    } else {
10466
20.1k
      if (yych <= 't') goto yy557;
10467
3.19k
      if (yych <= 'z') goto yy472;
10468
1.44k
      goto yy20;
10469
3.19k
    }
10470
24.9k
  }
10471
157k
yy386:
10472
157k
  YYDEBUG(386, *YYCURSOR);
10473
157k
  yyaccept = 2;
10474
157k
  yych = *(YYMARKER = ++YYCURSOR);
10475
157k
  if (yych <= 'S') {
10476
15.6k
    if (yych <= '-') {
10477
8.82k
      if (yych == ')') goto yy115;
10478
3.97k
      if (yych <= ',') goto yy20;
10479
2.63k
      goto yy297;
10480
6.86k
    } else {
10481
6.86k
      if (yych == '/') goto yy297;
10482
5.96k
      if (yych <= '@') goto yy20;
10483
1.18k
      goto yy472;
10484
5.96k
    }
10485
141k
  } else {
10486
141k
    if (yych <= '_') {
10487
10.8k
      if (yych <= 'T') goto yy557;
10488
1.61k
      if (yych <= 'Z') goto yy472;
10489
944
      if (yych <= '^') goto yy20;
10490
374
      goto yy297;
10491
131k
    } else {
10492
131k
      if (yych <= 's') {
10493
4.11k
        if (yych <= '`') goto yy20;
10494
3.64k
        goto yy478;
10495
126k
      } else {
10496
126k
        if (yych <= 't') goto yy558;
10497
4.62k
        if (yych <= 'z') goto yy478;
10498
3.14k
        goto yy20;
10499
4.62k
      }
10500
131k
    }
10501
141k
  }
10502
100k
yy387:
10503
100k
  YYDEBUG(387, *YYCURSOR);
10504
100k
  ++YYCURSOR;
10505
100k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
10506
100k
  yych = *YYCURSOR;
10507
100k
  if (yych == 0xA0) goto yy193;
10508
34.2k
  goto yy59;
10509
483k
yy388:
10510
483k
  YYDEBUG(388, *YYCURSOR);
10511
483k
  yyaccept = 0;
10512
483k
  YYMARKER = ++YYCURSOR;
10513
483k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
10514
483k
  yych = *YYCURSOR;
10515
483k
  if (yych == 0xE2) goto yy559;
10516
427k
  goto yy8;
10517
780k
yy389:
10518
780k
  YYDEBUG(389, *YYCURSOR);
10519
780k
  yych = *++YYCURSOR;
10520
780k
  if (yych <= 0xC1) {
10521
753k
    if (yych <= '/') goto yy196;
10522
686k
    if (yych <= '9') goto yy560;
10523
94.5k
    goto yy196;
10524
686k
  } else {
10525
27.1k
    if (yych <= 0xC2) goto yy97;
10526
19.4k
    if (yych == 0xE2) goto yy98;
10527
11.6k
    goto yy196;
10528
19.4k
  }
10529
49.3k
yy390:
10530
49.3k
  YYDEBUG(390, *YYCURSOR);
10531
49.3k
  yych = *++YYCURSOR;
10532
49.3k
  if (yych == 'C') goto yy443;
10533
45.0k
  if (yych == 'c') goto yy443;
10534
35.1k
  goto yy59;
10535
615k
yy391:
10536
615k
  YYDEBUG(391, *YYCURSOR);
10537
615k
  yyaccept = 2;
10538
615k
  yych = *(YYMARKER = ++YYCURSOR);
10539
615k
  if (yych <= 'X') {
10540
539k
    if (yych <= 'E') {
10541
504k
      if (yych <= ' ') {
10542
15.6k
        if (yych == '\t') goto yy196;
10543
12.6k
        if (yych <= 0x1F) goto yy20;
10544
1.71k
        goto yy196;
10545
489k
      } else {
10546
489k
        if (yych <= '9') {
10547
461k
          if (yych <= '/') goto yy20;
10548
431k
          goto yy561;
10549
461k
        } else {
10550
27.8k
          if (yych == 'D') goto yy196;
10551
26.7k
          goto yy20;
10552
27.8k
        }
10553
489k
      }
10554
504k
    } else {
10555
34.7k
      if (yych <= 'M') {
10556
18.6k
        if (yych <= 'G') {
10557
8.94k
          if (yych <= 'F') goto yy196;
10558
4.01k
          goto yy20;
10559
9.69k
        } else {
10560
9.69k
          if (yych <= 'H') goto yy196;
10561
8.45k
          if (yych <= 'L') goto yy20;
10562
3.66k
          goto yy196;
10563
8.45k
        }
10564
18.6k
      } else {
10565
16.1k
        if (yych <= 'U') {
10566
11.3k
          if (yych <= 'R') goto yy20;
10567
3.75k
          goto yy196;
10568
11.3k
        } else {
10569
4.84k
          if (yych == 'W') goto yy196;
10570
3.29k
          goto yy20;
10571
4.84k
        }
10572
16.1k
      }
10573
34.7k
    }
10574
539k
  } else {
10575
75.7k
    if (yych <= 'r') {
10576
39.1k
      if (yych <= 'f') {
10577
8.64k
        if (yych <= 'c') {
10578
3.77k
          if (yych <= 'Y') goto yy196;
10579
2.84k
          goto yy20;
10580
4.87k
        } else {
10581
4.87k
          if (yych == 'e') goto yy20;
10582
2.02k
          goto yy196;
10583
4.87k
        }
10584
30.4k
      } else {
10585
30.4k
        if (yych <= 'h') {
10586
1.99k
          if (yych <= 'g') goto yy20;
10587
1.15k
          goto yy196;
10588
28.4k
        } else {
10589
28.4k
          if (yych == 'm') goto yy196;
10590
21.8k
          goto yy20;
10591
28.4k
        }
10592
30.4k
      }
10593
39.1k
    } else {
10594
36.6k
      if (yych <= 'y') {
10595
9.83k
        if (yych <= 'v') {
10596
5.82k
          if (yych <= 'u') goto yy196;
10597
369
          goto yy20;
10598
5.82k
        } else {
10599
4.00k
          if (yych == 'x') goto yy20;
10600
2.69k
          goto yy196;
10601
4.00k
        }
10602
26.7k
      } else {
10603
26.7k
        if (yych <= 0xC2) {
10604
12.2k
          if (yych <= 0xC1) goto yy20;
10605
1.06k
          goto yy97;
10606
14.5k
        } else {
10607
14.5k
          if (yych == 0xE2) goto yy98;
10608
13.7k
          goto yy20;
10609
14.5k
        }
10610
26.7k
      }
10611
36.6k
    }
10612
75.7k
  }
10613
438k
yy392:
10614
438k
  YYDEBUG(392, *YYCURSOR);
10615
438k
  yyaccept = 2;
10616
438k
  yych = *(YYMARKER = ++YYCURSOR);
10617
438k
  if (yych <= 'X') {
10618
384k
    if (yych <= 'E') {
10619
332k
      if (yych <= ' ') {
10620
13.5k
        if (yych == '\t') goto yy196;
10621
10.6k
        if (yych <= 0x1F) goto yy20;
10622
1.51k
        goto yy196;
10623
318k
      } else {
10624
318k
        if (yych <= '9') {
10625
244k
          if (yych <= '/') goto yy20;
10626
223k
          goto yy562;
10627
244k
        } else {
10628
74.3k
          if (yych == 'D') goto yy196;
10629
69.7k
          goto yy20;
10630
74.3k
        }
10631
318k
      }
10632
332k
    } else {
10633
51.9k
      if (yych <= 'M') {
10634
26.3k
        if (yych <= 'G') {
10635
10.1k
          if (yych <= 'F') goto yy196;
10636
5.43k
          goto yy20;
10637
16.1k
        } else {
10638
16.1k
          if (yych <= 'H') goto yy196;
10639
13.8k
          if (yych <= 'L') goto yy20;
10640
5.29k
          goto yy196;
10641
13.8k
        }
10642
26.3k
      } else {
10643
25.6k
        if (yych <= 'U') {
10644
12.4k
          if (yych <= 'R') goto yy20;
10645
6.97k
          goto yy196;
10646
13.1k
        } else {
10647
13.1k
          if (yych == 'W') goto yy196;
10648
11.3k
          goto yy20;
10649
13.1k
        }
10650
25.6k
      }
10651
51.9k
    }
10652
384k
  } else {
10653
54.4k
    if (yych <= 'r') {
10654
31.7k
      if (yych <= 'f') {
10655
11.7k
        if (yych <= 'c') {
10656
8.63k
          if (yych <= 'Y') goto yy196;
10657
4.71k
          goto yy20;
10658
8.63k
        } else {
10659
3.13k
          if (yych == 'e') goto yy20;
10660
1.17k
          goto yy196;
10661
3.13k
        }
10662
19.9k
      } else {
10663
19.9k
        if (yych <= 'h') {
10664
2.42k
          if (yych <= 'g') goto yy20;
10665
1.78k
          goto yy196;
10666
17.5k
        } else {
10667
17.5k
          if (yych == 'm') goto yy196;
10668
13.6k
          goto yy20;
10669
17.5k
        }
10670
19.9k
      }
10671
31.7k
    } else {
10672
22.6k
      if (yych <= 'y') {
10673
7.45k
        if (yych <= 'v') {
10674
4.95k
          if (yych <= 'u') goto yy196;
10675
582
          goto yy20;
10676
4.95k
        } else {
10677
2.49k
          if (yych == 'x') goto yy20;
10678
1.84k
          goto yy196;
10679
2.49k
        }
10680
15.1k
      } else {
10681
15.1k
        if (yych <= 0xC2) {
10682
5.82k
          if (yych <= 0xC1) goto yy20;
10683
2.02k
          goto yy97;
10684
9.37k
        } else {
10685
9.37k
          if (yych == 0xE2) goto yy98;
10686
7.29k
          goto yy20;
10687
9.37k
        }
10688
15.1k
      }
10689
22.6k
    }
10690
54.4k
  }
10691
96.3k
yy393:
10692
96.3k
  YYDEBUG(393, *YYCURSOR);
10693
96.3k
  yych = *++YYCURSOR;
10694
96.3k
  if (yych <= '/') goto yy59;
10695
70.9k
  if (yych <= '5') goto yy563;
10696
27.9k
  if (yych <= '9') goto yy115;
10697
19.4k
  goto yy59;
10698
43.0k
yy394:
10699
43.0k
  YYDEBUG(394, *YYCURSOR);
10700
43.0k
  yych = *++YYCURSOR;
10701
43.0k
  if (yych <= '/') goto yy20;
10702
32.7k
  if (yych <= '9') goto yy115;
10703
16.1k
  goto yy20;
10704
195k
yy395:
10705
195k
  YYDEBUG(395, *YYCURSOR);
10706
195k
  yych = *++YYCURSOR;
10707
195k
  if (yych <= 0xC1) {
10708
187k
    if (yych <= '/') goto yy196;
10709
176k
    if (yych <= '9') goto yy562;
10710
29.8k
    goto yy196;
10711
176k
  } else {
10712
8.40k
    if (yych <= 0xC2) goto yy97;
10713
7.43k
    if (yych == 0xE2) goto yy98;
10714
4.35k
    goto yy196;
10715
7.43k
  }
10716
95.9k
yy396:
10717
95.9k
  YYDEBUG(396, *YYCURSOR);
10718
95.9k
  yych = *++YYCURSOR;
10719
95.9k
  if (yych <= '/') goto yy59;
10720
87.4k
  if (yych <= '9') goto yy564;
10721
24.6k
  goto yy59;
10722
27.3k
yy397:
10723
27.3k
  YYDEBUG(397, *YYCURSOR);
10724
27.3k
  yych = *++YYCURSOR;
10725
27.3k
  if (yych <= '/') goto yy59;
10726
26.3k
  if (yych <= '9') goto yy565;
10727
10.0k
  goto yy59;
10728
200k
yy398:
10729
200k
  YYDEBUG(398, *YYCURSOR);
10730
200k
  yych = *++YYCURSOR;
10731
200k
  if (yych <= '/') goto yy59;
10732
166k
  if (yych <= '2') goto yy566;
10733
100k
  if (yych <= '3') goto yy568;
10734
58.9k
  if (yych <= '9') goto yy569;
10735
43.9k
  goto yy59;
10736
57.6k
yy399:
10737
57.6k
  YYDEBUG(399, *YYCURSOR);
10738
57.6k
  yych = *++YYCURSOR;
10739
57.6k
  if (yych == 'P') goto yy444;
10740
45.6k
  if (yych == 'p') goto yy444;
10741
23.3k
  goto yy59;
10742
54.8k
yy400:
10743
54.8k
  YYDEBUG(400, *YYCURSOR);
10744
54.8k
  yych = *++YYCURSOR;
10745
54.8k
  if (yych <= '/') goto yy59;
10746
49.7k
  if (yych <= '5') goto yy570;
10747
21.7k
  if (yych <= '6') goto yy571;
10748
16.4k
  if (yych <= '9') goto yy572;
10749
12.2k
  goto yy59;
10750
172k
yy401:
10751
172k
  YYDEBUG(401, *YYCURSOR);
10752
172k
  yych = *++YYCURSOR;
10753
172k
  if (yych <= '/') goto yy59;
10754
142k
  if (yych <= '5') goto yy573;
10755
53.8k
  if (yych <= '6') goto yy574;
10756
36.2k
  if (yych <= '9') goto yy575;
10757
31.1k
  goto yy59;
10758
74.2k
yy402:
10759
74.2k
  YYDEBUG(402, *YYCURSOR);
10760
74.2k
  yych = *++YYCURSOR;
10761
74.2k
  if (yych <= '/') goto yy59;
10762
67.3k
  if (yych <= '9') goto yy576;
10763
9.83k
  goto yy59;
10764
21.1k
yy403:
10765
21.1k
  YYDEBUG(403, *YYCURSOR);
10766
21.1k
  yych = *++YYCURSOR;
10767
21.1k
  if (yych == 'd') goto yy577;
10768
15.3k
  goto yy59;
10769
15.3k
yy404:
10770
13.1k
  YYDEBUG(404, *YYCURSOR);
10771
13.1k
  yych = *++YYCURSOR;
10772
13.1k
  if (yych == 't') goto yy577;
10773
8.45k
  goto yy59;
10774
12.5k
yy405:
10775
12.5k
  YYDEBUG(405, *YYCURSOR);
10776
12.5k
  yych = *++YYCURSOR;
10777
12.5k
  if (yych == 'h') goto yy577;
10778
9.70k
  goto yy59;
10779
9.70k
yy406:
10780
7.88k
  YYDEBUG(406, *YYCURSOR);
10781
7.88k
  yych = *++YYCURSOR;
10782
7.88k
  if (yych == 'R') goto yy578;
10783
4.78k
  if (yych == 'r') goto yy578;
10784
3.34k
  goto yy59;
10785
20.2k
yy407:
10786
20.2k
  YYDEBUG(407, *YYCURSOR);
10787
20.2k
  yych = *++YYCURSOR;
10788
20.2k
  if (yych == 'G') goto yy578;
10789
13.0k
  if (yych == 'g') goto yy578;
10790
9.38k
  goto yy59;
10791
22.5k
yy408:
10792
22.5k
  YYDEBUG(408, *YYCURSOR);
10793
22.5k
  yych = *++YYCURSOR;
10794
22.5k
  if (yych == 'C') goto yy578;
10795
15.1k
  if (yych == 'c') goto yy578;
10796
3.98k
  goto yy59;
10797
10.2k
yy409:
10798
10.2k
  YYDEBUG(409, *YYCURSOR);
10799
10.2k
  yych = *++YYCURSOR;
10800
10.2k
  if (yych == 'B') goto yy578;
10801
9.52k
  if (yych == 'b') goto yy578;
10802
3.72k
  goto yy59;
10803
45.0k
yy410:
10804
45.0k
  YYDEBUG(410, *YYCURSOR);
10805
45.0k
  yych = *++YYCURSOR;
10806
45.0k
  if (yych == 'N') goto yy578;
10807
40.1k
  if (yych == 'n') goto yy578;
10808
6.85k
  goto yy59;
10809
206k
yy411:
10810
206k
  YYDEBUG(411, *YYCURSOR);
10811
206k
  yych = *++YYCURSOR;
10812
206k
  if (yych <= 'N') {
10813
19.6k
    if (yych == 'L') goto yy578;
10814
15.5k
    if (yych <= 'M') goto yy59;
10815
5.13k
    goto yy578;
10816
186k
  } else {
10817
186k
    if (yych <= 'l') {
10818
74.5k
      if (yych <= 'k') goto yy59;
10819
67.6k
      goto yy578;
10820
112k
    } else {
10821
112k
      if (yych == 'n') goto yy578;
10822
7.15k
      goto yy59;
10823
112k
    }
10824
186k
  }
10825
57.7k
yy412:
10826
57.7k
  YYDEBUG(412, *YYCURSOR);
10827
57.7k
  yych = *++YYCURSOR;
10828
57.7k
  if (yych <= 'Y') {
10829
12.5k
    if (yych == 'R') goto yy578;
10830
7.10k
    if (yych <= 'X') goto yy59;
10831
4.77k
    goto yy578;
10832
45.2k
  } else {
10833
45.2k
    if (yych <= 'r') {
10834
36.5k
      if (yych <= 'q') goto yy59;
10835
24.0k
      goto yy578;
10836
36.5k
    } else {
10837
8.60k
      if (yych == 'y') goto yy578;
10838
5.04k
      goto yy59;
10839
8.60k
    }
10840
45.2k
  }
10841
18.7k
yy413:
10842
18.7k
  YYDEBUG(413, *YYCURSOR);
10843
18.7k
  yych = *++YYCURSOR;
10844
18.7k
  if (yych == 'V') goto yy578;
10845
7.51k
  if (yych == 'v') goto yy578;
10846
2.89k
  goto yy59;
10847
39.5k
yy414:
10848
39.5k
  YYDEBUG(414, *YYCURSOR);
10849
39.5k
  yych = *++YYCURSOR;
10850
39.5k
  if (yych == 'T') goto yy578;
10851
38.3k
  if (yych == 't') goto yy578;
10852
10.3k
  goto yy59;
10853
46.3k
yy415:
10854
46.3k
  YYDEBUG(415, *YYCURSOR);
10855
46.3k
  yych = *++YYCURSOR;
10856
46.3k
  if (yych == 'P') goto yy579;
10857
21.4k
  if (yych == 'p') goto yy579;
10858
14.0k
  goto yy59;
10859
161k
yy416:
10860
161k
  YYDEBUG(416, *YYCURSOR);
10861
161k
  yych = *++YYCURSOR;
10862
161k
  if (yych <= '.') {
10863
22.9k
    if (yych <= ',') goto yy59;
10864
8.25k
    if (yych <= '-') goto yy398;
10865
2.89k
    goto yy396;
10866
138k
  } else {
10867
138k
    if (yych <= '/') goto yy59;
10868
135k
    if (yych <= '9') goto yy580;
10869
32.1k
    goto yy59;
10870
135k
  }
10871
66.5k
yy417:
10872
66.5k
  YYDEBUG(417, *YYCURSOR);
10873
66.5k
  yych = *++YYCURSOR;
10874
66.5k
  if (yych <= '.') {
10875
21.0k
    if (yych <= ',') goto yy59;
10876
13.1k
    if (yych <= '-') goto yy398;
10877
3.14k
    goto yy396;
10878
45.5k
  } else {
10879
45.5k
    if (yych <= '/') goto yy59;
10880
44.1k
    if (yych <= '2') goto yy580;
10881
20.5k
    goto yy59;
10882
44.1k
  }
10883
414k
yy418:
10884
414k
  YYDEBUG(418, *YYCURSOR);
10885
414k
  yych = *++YYCURSOR;
10886
414k
  switch (yych) {
10887
82.7k
  case '0': goto yy581;
10888
40.5k
  case '1': goto yy582;
10889
26.9k
  case '2':
10890
47.3k
  case '3':
10891
52.8k
  case '4':
10892
64.4k
  case '5':
10893
73.2k
  case '6':
10894
75.3k
  case '7':
10895
81.9k
  case '8':
10896
88.9k
  case '9': goto yy462;
10897
21.5k
  case 'A':
10898
23.6k
  case 'a': goto yy463;
10899
2.41k
  case 'D':
10900
10.4k
  case 'd': goto yy464;
10901
3.48k
  case 'F':
10902
15.8k
  case 'f': goto yy465;
10903
10.8k
  case 'J':
10904
25.6k
  case 'j': goto yy466;
10905
7.01k
  case 'M':
10906
24.3k
  case 'm': goto yy467;
10907
10.4k
  case 'N':
10908
15.4k
  case 'n': goto yy468;
10909
6.41k
  case 'O':
10910
9.16k
  case 'o': goto yy469;
10911
6.96k
  case 'S':
10912
23.5k
  case 's': goto yy470;
10913
54.0k
  default:  goto yy59;
10914
414k
  }
10915
3.19M
yy419:
10916
3.19M
  YYDEBUG(419, *YYCURSOR);
10917
3.19M
  yyaccept = 12;
10918
3.19M
  yych = *(YYMARKER = ++YYCURSOR);
10919
3.19M
  if (yych <= 'O') {
10920
2.89M
    if (yych <= '5') {
10921
2.42M
      if (yych <= '-') {
10922
318k
        if (yych <= 0x1F) {
10923
58.2k
          if (yych == '\t') goto yy584;
10924
259k
        } else {
10925
259k
          if (yych <= ' ') goto yy584;
10926
230k
          if (yych >= '-') goto yy585;
10927
230k
        }
10928
2.10M
      } else {
10929
2.10M
        if (yych <= '0') {
10930
1.41M
          if (yych <= '.') goto yy586;
10931
1.38M
          if (yych <= '/') goto yy587;
10932
1.29M
          goto yy588;
10933
1.38M
        } else {
10934
689k
          if (yych <= '1') goto yy589;
10935
475k
          if (yych <= '2') goto yy590;
10936
329k
          if (yych <= '3') goto yy591;
10937
193k
          goto yy592;
10938
329k
        }
10939
2.10M
      }
10940
2.42M
    } else {
10941
469k
      if (yych <= 'C') {
10942
392k
        if (yych <= ':') {
10943
344k
          if (yych <= '6') goto yy593;
10944
226k
          if (yych <= '9') goto yy594;
10945
94.3k
          goto yy595;
10946
226k
        } else {
10947
47.6k
          if (yych == 'A') goto yy584;
10948
47.6k
        }
10949
392k
      } else {
10950
77.6k
        if (yych <= 'F') {
10951
30.5k
          if (yych != 'E') goto yy584;
10952
47.0k
        } else {
10953
47.0k
          if (yych <= 'G') goto yy420;
10954
43.9k
          if (yych <= 'J') goto yy584;
10955
28.6k
          if (yych >= 'M') goto yy584;
10956
28.6k
        }
10957
77.6k
      }
10958
469k
    }
10959
2.89M
  } else {
10960
298k
    if (yych <= 'i') {
10961
120k
      if (yych <= 'a') {
10962
80.5k
        if (yych <= 'W') {
10963
61.4k
          if (yych <= 'R') goto yy420;
10964
56.8k
          if (yych <= 'V') goto yy584;
10965
22.0k
          goto yy607;
10966
56.8k
        } else {
10967
19.1k
          if (yych <= 'Y') goto yy584;
10968
12.6k
          if (yych >= 'a') goto yy584;
10969
12.6k
        }
10970
80.5k
      } else {
10971
40.2k
        if (yych <= 'e') {
10972
17.6k
          if (yych == 'd') goto yy584;
10973
22.6k
        } else {
10974
22.6k
          if (yych == 'g') goto yy420;
10975
18.6k
          if (yych <= 'h') goto yy584;
10976
18.6k
        }
10977
40.2k
      }
10978
177k
    } else {
10979
177k
      if (yych <= 'w') {
10980
84.9k
        if (yych <= 'o') {
10981
34.7k
          if (yych <= 'j') goto yy584;
10982
25.9k
          if (yych >= 'm') goto yy584;
10983
50.2k
        } else {
10984
50.2k
          if (yych <= 'r') goto yy420;
10985
37.6k
          if (yych != 'v') goto yy584;
10986
37.6k
        }
10987
92.8k
      } else {
10988
92.8k
        if (yych <= 0xC1) {
10989
34.6k
          if (yych == 'y') goto yy584;
10990
58.1k
        } else {
10991
58.1k
          if (yych <= 0xC2) goto yy97;
10992
49.3k
          if (yych == 0xE2) goto yy98;
10993
49.3k
        }
10994
92.8k
      }
10995
177k
    }
10996
298k
  }
10997
1.21M
yy420:
10998
1.21M
  YYDEBUG(420, *YYCURSOR);
10999
1.21M
#line 1415 "ext/date/lib/parse_date.re"
11000
1.21M
  {
11001
1.21M
    DEBUG_OUTPUT("gnunocolon");
11002
1.21M
    TIMELIB_INIT;
11003
1.21M
    switch (s->time->have_time) {
11004
149k
      case 0:
11005
149k
        s->time->h = timelib_get_nr(&ptr, 2);
11006
149k
        s->time->i = timelib_get_nr(&ptr, 2);
11007
149k
        s->time->s = 0;
11008
149k
        break;
11009
274k
      case 1:
11010
274k
        s->time->y = timelib_get_nr(&ptr, 4);
11011
274k
        break;
11012
794k
      default:
11013
794k
        TIMELIB_DEINIT;
11014
794k
        add_error(s, TIMELIB_ERR_DOUBLE_TIME, "Double time specification");
11015
794k
        return TIMELIB_ERROR;
11016
1.21M
    }
11017
424k
    s->time->have_time++;
11018
424k
    TIMELIB_DEINIT;
11019
424k
    return TIMELIB_GNU_NOCOLON;
11020
1.21M
  }
11021
0
#line 11022 "ext/date/lib/parse_date.c"
11022
3.42M
yy421:
11023
3.42M
  YYDEBUG(421, *YYCURSOR);
11024
3.42M
  yyaccept = 13;
11025
3.42M
  yych = *(YYMARKER = ++YYCURSOR);
11026
3.42M
  if (yych <= 'R') {
11027
3.14M
    if (yych <= '3') {
11028
1.63M
      if (yych <= '-') {
11029
510k
        if (yych <= 0x1F) {
11030
46.7k
          if (yych == '\t') goto yy584;
11031
463k
        } else {
11032
463k
          if (yych <= ' ') goto yy584;
11033
443k
          if (yych >= '-') goto yy585;
11034
443k
        }
11035
1.12M
      } else {
11036
1.12M
        if (yych <= '0') {
11037
617k
          if (yych <= '.') goto yy586;
11038
549k
          if (yych <= '/') goto yy587;
11039
502k
          goto yy609;
11040
549k
        } else {
11041
512k
          if (yych <= '1') goto yy610;
11042
362k
          if (yych <= '2') goto yy611;
11043
230k
          goto yy612;
11044
362k
        }
11045
1.12M
      }
11046
1.63M
    } else {
11047
1.50M
      if (yych <= 'D') {
11048
1.40M
        if (yych <= '@') {
11049
1.38M
          if (yych <= '9') goto yy594;
11050
379k
          if (yych <= ':') goto yy595;
11051
379k
        } else {
11052
23.9k
          if (yych <= 'A') goto yy584;
11053
12.6k
          if (yych >= 'D') goto yy584;
11054
12.6k
        }
11055
1.40M
      } else {
11056
91.8k
        if (yych <= 'G') {
11057
25.7k
          if (yych == 'F') goto yy584;
11058
66.1k
        } else {
11059
66.1k
          if (yych <= 'J') goto yy584;
11060
47.7k
          if (yych <= 'L') goto yy422;
11061
44.1k
          if (yych <= 'O') goto yy584;
11062
44.1k
        }
11063
91.8k
      }
11064
1.50M
    }
11065
3.14M
  } else {
11066
286k
    if (yych <= 'j') {
11067
127k
      if (yych <= 'c') {
11068
84.9k
        if (yych <= 'Y') {
11069
69.1k
          if (yych == 'W') goto yy607;
11070
45.8k
          goto yy584;
11071
69.1k
        } else {
11072
15.7k
          if (yych == 'a') goto yy584;
11073
15.7k
        }
11074
84.9k
      } else {
11075
43.0k
        if (yych <= 'f') {
11076
25.7k
          if (yych != 'e') goto yy584;
11077
25.7k
        } else {
11078
17.2k
          if (yych == 'h') goto yy584;
11079
15.3k
          if (yych >= 'j') goto yy584;
11080
15.3k
        }
11081
43.0k
      }
11082
158k
    } else {
11083
158k
      if (yych <= 'w') {
11084
61.1k
        if (yych <= 'r') {
11085
35.3k
          if (yych <= 'l') goto yy422;
11086
30.4k
          if (yych <= 'o') goto yy584;
11087
30.4k
        } else {
11088
25.8k
          if (yych != 'v') goto yy584;
11089
25.8k
        }
11090
97.7k
      } else {
11091
97.7k
        if (yych <= 0xC1) {
11092
32.4k
          if (yych == 'y') goto yy584;
11093
65.2k
        } else {
11094
65.2k
          if (yych <= 0xC2) goto yy97;
11095
56.5k
          if (yych == 0xE2) goto yy98;
11096
56.5k
        }
11097
97.7k
      }
11098
158k
    }
11099
286k
  }
11100
2.42M
yy422:
11101
2.42M
  YYDEBUG(422, *YYCURSOR);
11102
2.42M
#line 1800 "ext/date/lib/parse_date.re"
11103
2.42M
  {
11104
2.42M
    DEBUG_OUTPUT("year4");
11105
2.42M
    TIMELIB_INIT;
11106
2.42M
    s->time->y = timelib_get_nr(&ptr, 4);
11107
2.42M
    TIMELIB_DEINIT;
11108
2.42M
    return TIMELIB_CLF;
11109
3.42M
  }
11110
0
#line 11111 "ext/date/lib/parse_date.c"
11111
33.6k
yy423:
11112
33.6k
  YYDEBUG(423, *YYCURSOR);
11113
33.6k
  yyaccept = 3;
11114
33.6k
  yych = *(YYMARKER = ++YYCURSOR);
11115
33.6k
  if (yych <= '.') {
11116
12.4k
    if (yych <= 0x1F) {
11117
5.96k
      if (yych == '\t') goto yy248;
11118
3.92k
      goto yy81;
11119
6.47k
    } else {
11120
6.47k
      if (yych <= ' ') goto yy248;
11121
5.73k
      if (yych <= ',') goto yy81;
11122
2.63k
      goto yy248;
11123
5.73k
    }
11124
21.2k
  } else {
11125
21.2k
    if (yych <= 'H') {
11126
7.57k
      if (yych <= '/') goto yy81;
11127
5.93k
      if (yych <= '9') goto yy250;
11128
817
      goto yy81;
11129
13.6k
    } else {
11130
13.6k
      if (yych <= 'I') goto yy613;
11131
10.7k
      if (yych == 'i') goto yy613;
11132
3.39k
      goto yy81;
11133
10.7k
    }
11134
21.2k
  }
11135
53.3k
yy424:
11136
53.3k
  YYDEBUG(424, *YYCURSOR);
11137
53.3k
  yyaccept = 3;
11138
53.3k
  yych = *(YYMARKER = ++YYCURSOR);
11139
53.3k
  if (yych <= '.') {
11140
12.1k
    if (yych <= 0x1F) {
11141
4.57k
      if (yych == '\t') goto yy248;
11142
3.08k
      goto yy81;
11143
7.55k
    } else {
11144
7.55k
      if (yych <= ' ') goto yy248;
11145
5.88k
      if (yych <= ',') goto yy81;
11146
2.24k
      goto yy248;
11147
5.88k
    }
11148
41.2k
  } else {
11149
41.2k
    if (yych <= 'T') {
11150
7.47k
      if (yych <= '/') goto yy81;
11151
5.66k
      if (yych <= '9') goto yy250;
11152
2.60k
      goto yy81;
11153
33.7k
    } else {
11154
33.7k
      if (yych <= 'U') goto yy614;
11155
26.5k
      if (yych == 'u') goto yy614;
11156
12.9k
      goto yy81;
11157
26.5k
    }
11158
41.2k
  }
11159
43.1k
yy425:
11160
43.1k
  YYDEBUG(425, *YYCURSOR);
11161
43.1k
  yych = *++YYCURSOR;
11162
43.1k
  if (yych == 'S') goto yy615;
11163
39.5k
  if (yych == 's') goto yy615;
11164
36.0k
  goto yy260;
11165
86.3k
yy426:
11166
86.3k
  YYDEBUG(426, *YYCURSOR);
11167
86.3k
  yyaccept = 3;
11168
86.3k
  yych = *(YYMARKER = ++YYCURSOR);
11169
86.3k
  if (yych <= '.') {
11170
34.2k
    if (yych <= 0x1F) {
11171
10.0k
      if (yych == '\t') goto yy248;
11172
6.25k
      goto yy81;
11173
24.1k
    } else {
11174
24.1k
      if (yych <= ' ') goto yy248;
11175
21.0k
      if (yych <= ',') goto yy81;
11176
16.2k
      goto yy248;
11177
21.0k
    }
11178
52.1k
  } else {
11179
52.1k
    if (yych <= 'D') {
11180
12.0k
      if (yych <= '/') goto yy81;
11181
11.3k
      if (yych <= '9') goto yy250;
11182
4.44k
      goto yy81;
11183
40.0k
    } else {
11184
40.0k
      if (yych <= 'E') goto yy616;
11185
28.9k
      if (yych == 'e') goto yy616;
11186
10.1k
      goto yy81;
11187
28.9k
    }
11188
52.1k
  }
11189
38.0k
yy427:
11190
38.0k
  YYDEBUG(427, *YYCURSOR);
11191
38.0k
  yyaccept = 3;
11192
38.0k
  yych = *(YYMARKER = ++YYCURSOR);
11193
38.0k
  if (yych <= '.') {
11194
13.5k
    if (yych <= 0x1F) {
11195
7.71k
      if (yych == '\t') goto yy248;
11196
5.47k
      goto yy81;
11197
7.71k
    } else {
11198
5.85k
      if (yych <= ' ') goto yy248;
11199
4.34k
      if (yych <= ',') goto yy81;
11200
3.11k
      goto yy248;
11201
4.34k
    }
11202
24.5k
  } else {
11203
24.5k
    if (yych <= 'Q') {
11204
6.11k
      if (yych <= '/') goto yy81;
11205
5.69k
      if (yych <= '9') goto yy250;
11206
3.97k
      goto yy81;
11207
18.3k
    } else {
11208
18.3k
      if (yych <= 'R') goto yy617;
11209
15.6k
      if (yych == 'r') goto yy617;
11210
1.72k
      goto yy81;
11211
15.6k
    }
11212
24.5k
  }
11213
33.7k
yy428:
11214
33.7k
  YYDEBUG(428, *YYCURSOR);
11215
33.7k
  yych = *++YYCURSOR;
11216
33.7k
  if (yych == 'T') goto yy618;
11217
20.2k
  if (yych == 't') goto yy618;
11218
3.38k
  goto yy59;
11219
7.47k
yy429:
11220
7.47k
  YYDEBUG(429, *YYCURSOR);
11221
7.47k
  yyaccept = 6;
11222
7.47k
  yych = *(YYMARKER = ++YYCURSOR);
11223
7.47k
  if (yych == 'D') goto yy198;
11224
6.62k
  if (yych == 'd') goto yy198;
11225
5.75k
  goto yy260;
11226
23.5k
yy430:
11227
23.5k
  YYDEBUG(430, *YYCURSOR);
11228
23.5k
  yych = *++YYCURSOR;
11229
23.5k
  if (yych == 'R') goto yy425;
11230
14.3k
  if (yych == 'r') goto yy425;
11231
10.1k
  goto yy59;
11232
106k
yy431:
11233
106k
  YYDEBUG(431, *YYCURSOR);
11234
106k
  yych = *++YYCURSOR;
11235
106k
  if (yych <= '/') goto yy251;
11236
86.2k
  if (yych <= '9') goto yy619;
11237
38.4k
  goto yy251;
11238
38.4k
yy432:
11239
32.9k
  YYDEBUG(432, *YYCURSOR);
11240
32.9k
  yyaccept = 3;
11241
32.9k
  yych = *(YYMARKER = ++YYCURSOR);
11242
32.9k
  if (yych <= '.') {
11243
9.33k
    if (yych <= 0x1F) {
11244
1.82k
      if (yych == '\t') goto yy248;
11245
1.03k
      goto yy81;
11246
7.51k
    } else {
11247
7.51k
      if (yych <= ' ') goto yy248;
11248
5.27k
      if (yych <= ',') goto yy81;
11249
2.82k
      goto yy248;
11250
5.27k
    }
11251
23.6k
  } else {
11252
23.6k
    if (yych <= 'T') {
11253
7.84k
      if (yych <= '/') goto yy81;
11254
4.75k
      if (yych <= '9') goto yy250;
11255
1.74k
      goto yy81;
11256
15.7k
    } else {
11257
15.7k
      if (yych <= 'U') goto yy620;
11258
9.23k
      if (yych == 'u') goto yy620;
11259
2.39k
      goto yy81;
11260
9.23k
    }
11261
23.6k
  }
11262
29.1k
yy433:
11263
29.1k
  YYDEBUG(433, *YYCURSOR);
11264
29.1k
  yyaccept = 3;
11265
29.1k
  yych = *(YYMARKER = ++YYCURSOR);
11266
29.1k
  if (yych <= '.') {
11267
12.7k
    if (yych <= 0x1F) {
11268
4.45k
      if (yych == '\t') goto yy248;
11269
2.06k
      goto yy81;
11270
8.26k
    } else {
11271
8.26k
      if (yych <= ' ') goto yy248;
11272
7.69k
      if (yych <= ',') goto yy81;
11273
6.15k
      goto yy248;
11274
7.69k
    }
11275
16.4k
  } else {
11276
16.4k
    if (yych <= 'X') {
11277
7.10k
      if (yych <= '/') goto yy81;
11278
5.79k
      if (yych <= '9') goto yy250;
11279
2.52k
      goto yy81;
11280
9.33k
    } else {
11281
9.33k
      if (yych <= 'Y') goto yy253;
11282
7.56k
      if (yych == 'y') goto yy253;
11283
4.86k
      goto yy81;
11284
7.56k
    }
11285
16.4k
  }
11286
30.0k
yy434:
11287
30.0k
  YYDEBUG(434, *YYCURSOR);
11288
30.0k
  yyaccept = 3;
11289
30.0k
  yych = *(YYMARKER = ++YYCURSOR);
11290
30.0k
  if (yych <= '.') {
11291
9.79k
    if (yych <= 0x1F) {
11292
1.83k
      if (yych == '\t') goto yy248;
11293
943
      goto yy81;
11294
7.95k
    } else {
11295
7.95k
      if (yych <= ' ') goto yy248;
11296
5.34k
      if (yych <= ',') goto yy81;
11297
3.17k
      goto yy248;
11298
5.34k
    }
11299
20.2k
  } else {
11300
20.2k
    if (yych <= 'D') {
11301
11.1k
      if (yych <= '/') goto yy81;
11302
7.74k
      if (yych <= '9') goto yy250;
11303
5.39k
      goto yy81;
11304
9.03k
    } else {
11305
9.03k
      if (yych <= 'E') goto yy253;
11306
8.42k
      if (yych == 'e') goto yy253;
11307
6.52k
      goto yy81;
11308
8.42k
    }
11309
20.2k
  }
11310
19.1k
yy435:
11311
19.1k
  YYDEBUG(435, *YYCURSOR);
11312
19.1k
  yyaccept = 3;
11313
19.1k
  yych = *(YYMARKER = ++YYCURSOR);
11314
19.1k
  if (yych <= '.') {
11315
8.98k
    if (yych <= 0x1F) {
11316
4.22k
      if (yych == '\t') goto yy248;
11317
2.99k
      goto yy81;
11318
4.75k
    } else {
11319
4.75k
      if (yych <= ' ') goto yy248;
11320
4.38k
      if (yych <= ',') goto yy81;
11321
3.61k
      goto yy248;
11322
4.38k
    }
11323
10.1k
  } else {
11324
10.1k
    if (yych <= 'B') {
11325
4.42k
      if (yych <= '/') goto yy81;
11326
3.92k
      if (yych <= '9') goto yy250;
11327
2.41k
      goto yy81;
11328
5.72k
    } else {
11329
5.72k
      if (yych <= 'C') goto yy621;
11330
4.91k
      if (yych == 'c') goto yy621;
11331
2.91k
      goto yy81;
11332
4.91k
    }
11333
10.1k
  }
11334
51.9k
yy436:
11335
51.9k
  YYDEBUG(436, *YYCURSOR);
11336
51.9k
  yych = *++YYCURSOR;
11337
51.9k
  if (yych == 'R') goto yy622;
11338
27.3k
  if (yych == 'r') goto yy622;
11339
6.56k
  goto yy59;
11340
8.87k
yy437:
11341
8.87k
  YYDEBUG(437, *YYCURSOR);
11342
8.87k
  yych = *++YYCURSOR;
11343
8.87k
  if (yych == 'L') goto yy623;
11344
3.97k
  if (yych == 'l') goto yy623;
11345
3.45k
  goto yy59;
11346
26.8k
yy438:
11347
26.8k
  YYDEBUG(438, *YYCURSOR);
11348
26.8k
  yyaccept = 6;
11349
26.8k
  yych = *(YYMARKER = ++YYCURSOR);
11350
26.8k
  if (yych <= 'U') {
11351
10.1k
    if (yych == 'S') goto yy615;
11352
9.73k
    if (yych <= 'T') goto yy260;
11353
6.00k
    goto yy624;
11354
16.6k
  } else {
11355
16.6k
    if (yych <= 's') {
11356
2.64k
      if (yych <= 'r') goto yy260;
11357
1.79k
      goto yy615;
11358
14.0k
    } else {
11359
14.0k
      if (yych == 'u') goto yy624;
11360
6.45k
      goto yy260;
11361
14.0k
    }
11362
16.6k
  }
11363
16.4k
yy439:
11364
16.4k
  YYDEBUG(439, *YYCURSOR);
11365
16.4k
  yyaccept = 6;
11366
16.4k
  yych = *(YYMARKER = ++YYCURSOR);
11367
16.4k
  if (yych <= 'T') {
11368
4.99k
    if (yych == 'D') goto yy198;
11369
4.50k
    if (yych <= 'S') goto yy260;
11370
2.09k
    goto yy625;
11371
11.4k
  } else {
11372
11.4k
    if (yych <= 'd') {
11373
8.32k
      if (yych <= 'c') goto yy260;
11374
4.21k
      goto yy198;
11375
8.32k
    } else {
11376
3.14k
      if (yych == 't') goto yy625;
11377
1.67k
      goto yy260;
11378
3.14k
    }
11379
11.4k
  }
11380
12.4k
yy440:
11381
12.4k
  YYDEBUG(440, *YYCURSOR);
11382
12.4k
  yych = *++YYCURSOR;
11383
12.4k
  if (yych == 'C') goto yy425;
11384
11.1k
  if (yych == 'c') goto yy425;
11385
8.66k
  goto yy59;
11386
45.8k
yy441:
11387
45.8k
  YYDEBUG(441, *YYCURSOR);
11388
45.8k
  yyaccept = 3;
11389
45.8k
  yych = *(YYMARKER = ++YYCURSOR);
11390
45.8k
  if (yych <= '.') {
11391
16.2k
    if (yych <= 0x1F) {
11392
7.97k
      if (yych == '\t') goto yy248;
11393
4.01k
      goto yy81;
11394
8.25k
    } else {
11395
8.25k
      if (yych <= ' ') goto yy248;
11396
5.29k
      if (yych <= ',') goto yy81;
11397
2.57k
      goto yy248;
11398
5.29k
    }
11399
29.5k
  } else {
11400
29.5k
    if (yych <= 'N') {
11401
6.22k
      if (yych <= '/') goto yy81;
11402
4.58k
      if (yych <= '9') goto yy250;
11403
2.76k
      goto yy81;
11404
23.3k
    } else {
11405
23.3k
      if (yych <= 'O') goto yy626;
11406
18.4k
      if (yych == 'o') goto yy626;
11407
6.95k
      goto yy81;
11408
18.4k
    }
11409
29.5k
  }
11410
17.9k
yy442:
11411
17.9k
  YYDEBUG(442, *YYCURSOR);
11412
17.9k
  yyaccept = 6;
11413
17.9k
  yych = *(YYMARKER = ++YYCURSOR);
11414
17.9k
  if (yych == 'U') goto yy627;
11415
14.2k
  if (yych == 'u') goto yy627;
11416
7.03k
  goto yy260;
11417
62.7k
yy443:
11418
62.7k
  YYDEBUG(443, *YYCURSOR);
11419
62.7k
  yyaccept = 6;
11420
62.7k
  yych = *(YYMARKER = ++YYCURSOR);
11421
62.7k
  if (yych <= 'S') {
11422
36.9k
    if (yych == 'O') goto yy628;
11423
35.2k
    if (yych <= 'R') goto yy260;
11424
608
    goto yy615;
11425
35.2k
  } else {
11426
25.7k
    if (yych <= 'o') {
11427
21.2k
      if (yych <= 'n') goto yy260;
11428
8.72k
      goto yy628;
11429
21.2k
    } else {
11430
4.52k
      if (yych == 's') goto yy615;
11431
2.93k
      goto yy260;
11432
4.52k
    }
11433
25.7k
  }
11434
75.3k
yy444:
11435
75.3k
  YYDEBUG(444, *YYCURSOR);
11436
75.3k
  yyaccept = 3;
11437
75.3k
  yych = *(YYMARKER = ++YYCURSOR);
11438
75.3k
  if (yych <= '.') {
11439
15.1k
    if (yych <= 0x1F) {
11440
6.42k
      if (yych == '\t') goto yy248;
11441
4.88k
      goto yy81;
11442
8.70k
    } else {
11443
8.70k
      if (yych <= ' ') goto yy248;
11444
7.23k
      if (yych <= ',') goto yy81;
11445
1.74k
      goto yy248;
11446
7.23k
    }
11447
60.1k
  } else {
11448
60.1k
    if (yych <= 'S') {
11449
12.0k
      if (yych <= '/') goto yy81;
11450
10.0k
      if (yych <= '9') goto yy250;
11451
4.68k
      goto yy81;
11452
48.1k
    } else {
11453
48.1k
      if (yych <= 'T') goto yy426;
11454
33.0k
      if (yych == 't') goto yy426;
11455
8.62k
      goto yy81;
11456
33.0k
    }
11457
60.1k
  }
11458
13.7k
yy445:
11459
13.7k
  YYDEBUG(445, *YYCURSOR);
11460
13.7k
  yyaccept = 6;
11461
13.7k
  yych = *(YYMARKER = ++YYCURSOR);
11462
13.7k
  if (yych == 'R') goto yy629;
11463
9.02k
  if (yych == 'r') goto yy629;
11464
5.11k
  goto yy260;
11465
14.4k
yy446:
11466
14.4k
  YYDEBUG(446, *YYCURSOR);
11467
14.4k
  yyaccept = 6;
11468
14.4k
  yych = *(YYMARKER = ++YYCURSOR);
11469
14.4k
  if (yych == 'S') goto yy630;
11470
12.5k
  if (yych == 's') goto yy630;
11471
8.55k
  goto yy260;
11472
31.3k
yy447:
11473
31.3k
  YYDEBUG(447, *YYCURSOR);
11474
31.3k
  yyaccept = 6;
11475
31.3k
  yych = *(YYMARKER = ++YYCURSOR);
11476
31.3k
  if (yych == 'N') goto yy631;
11477
26.5k
  if (yych == 'n') goto yy631;
11478
14.2k
  goto yy260;
11479
44.5k
yy448:
11480
44.5k
  YYDEBUG(448, *YYCURSOR);
11481
44.5k
  yych = *++YYCURSOR;
11482
44.5k
  if (yych == 'K') goto yy632;
11483
41.8k
  if (yych == 'k') goto yy632;
11484
23.0k
  goto yy59;
11485
28.7k
yy449:
11486
28.7k
  YYDEBUG(449, *YYCURSOR);
11487
28.7k
  yych = *++YYCURSOR;
11488
28.7k
  if (yych <= '/') goto yy207;
11489
26.1k
  if (yych <= '0') goto yy633;
11490
14.7k
  if (yych <= '1') goto yy634;
11491
8.89k
  if (yych <= '9') goto yy635;
11492
2.87k
  goto yy207;
11493
276k
yy450:
11494
276k
  YYDEBUG(450, *YYCURSOR);
11495
276k
  ++YYCURSOR;
11496
276k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
11497
276k
  yych = *YYCURSOR;
11498
276k
  if (yych <= 'd') {
11499
148k
    if (yych <= 'R') {
11500
98.4k
      if (yych <= 'F') {
11501
57.6k
        if (yych == 'D') goto yy198;
11502
55.7k
        if (yych <= 'E') goto yy59;
11503
2.01k
        goto yy199;
11504
55.7k
      } else {
11505
40.7k
        if (yych <= 'H') {
11506
8.25k
          if (yych <= 'G') goto yy59;
11507
3.35k
          goto yy79;
11508
32.4k
        } else {
11509
32.4k
          if (yych == 'M') goto yy200;
11510
24.6k
          goto yy59;
11511
32.4k
        }
11512
40.7k
      }
11513
98.4k
    } else {
11514
50.1k
      if (yych <= 'V') {
11515
17.9k
        if (yych <= 'S') goto yy201;
11516
13.7k
        if (yych <= 'T') goto yy87;
11517
11.7k
        if (yych <= 'U') goto yy88;
11518
9.14k
        goto yy59;
11519
32.1k
      } else {
11520
32.1k
        if (yych <= 'X') {
11521
15.2k
          if (yych <= 'W') goto yy90;
11522
7.89k
          goto yy59;
11523
16.9k
        } else {
11524
16.9k
          if (yych <= 'Y') goto yy92;
11525
15.2k
          if (yych <= 'c') goto yy59;
11526
510
          goto yy198;
11527
15.2k
        }
11528
32.1k
      }
11529
50.1k
    }
11530
148k
  } else {
11531
127k
    if (yych <= 't') {
11532
53.5k
      if (yych <= 'h') {
11533
9.34k
        if (yych == 'f') goto yy199;
11534
7.99k
        if (yych <= 'g') goto yy59;
11535
3.05k
        goto yy79;
11536
44.1k
      } else {
11537
44.1k
        if (yych <= 'm') {
11538
17.2k
          if (yych <= 'l') goto yy59;
11539
1.37k
          goto yy200;
11540
26.9k
        } else {
11541
26.9k
          if (yych <= 'r') goto yy59;
11542
11.2k
          if (yych <= 's') goto yy201;
11543
6.01k
          goto yy87;
11544
11.2k
        }
11545
44.1k
      }
11546
74.1k
    } else {
11547
74.1k
      if (yych <= 'y') {
11548
47.8k
        if (yych <= 'v') {
11549
4.42k
          if (yych <= 'u') goto yy88;
11550
701
          goto yy59;
11551
43.4k
        } else {
11552
43.4k
          if (yych <= 'w') goto yy90;
11553
5.34k
          if (yych <= 'x') goto yy59;
11554
1.70k
          goto yy92;
11555
5.34k
        }
11556
47.8k
      } else {
11557
26.2k
        if (yych <= 0xC2) {
11558
8.23k
          if (yych <= 0xC1) goto yy59;
11559
3.84k
          goto yy211;
11560
17.9k
        } else {
11561
17.9k
          if (yych == 0xE2) goto yy98;
11562
3.39k
          goto yy59;
11563
17.9k
        }
11564
26.2k
      }
11565
74.1k
    }
11566
127k
  }
11567
124k
yy451:
11568
124k
  YYDEBUG(451, *YYCURSOR);
11569
124k
  yych = *++YYCURSOR;
11570
124k
  if (yych <= '/') goto yy59;
11571
117k
  if (yych <= '5') goto yy636;
11572
39.4k
  if (yych <= '6') goto yy637;
11573
29.4k
  if (yych <= '9') goto yy572;
11574
18.0k
  goto yy59;
11575
167k
yy452:
11576
167k
  YYDEBUG(452, *YYCURSOR);
11577
167k
  yyaccept = 4;
11578
167k
  yych = *(YYMARKER = ++YYCURSOR);
11579
167k
  if (yych <= 'A') {
11580
134k
    if (yych <= ',') {
11581
26.8k
      if (yych <= '\t') {
11582
4.98k
        if (yych <= 0x08) goto yy177;
11583
2.69k
        goto yy638;
11584
21.8k
      } else {
11585
21.8k
        if (yych == ' ') goto yy638;
11586
7.86k
        goto yy177;
11587
21.8k
      }
11588
107k
    } else {
11589
107k
      if (yych <= '9') {
11590
54.8k
        if (yych <= '-') goto yy396;
11591
53.1k
        if (yych <= '.') goto yy451;
11592
37.0k
        goto yy177;
11593
53.1k
      } else {
11594
53.1k
        if (yych <= ':') goto yy453;
11595
6.46k
        if (yych <= '@') goto yy177;
11596
2.37k
        goto yy106;
11597
6.46k
      }
11598
107k
    }
11599
134k
  } else {
11600
33.1k
    if (yych <= 'o') {
11601
15.0k
      if (yych <= 'P') {
11602
6.09k
        if (yych <= 'O') goto yy177;
11603
1.75k
        goto yy106;
11604
8.99k
      } else {
11605
8.99k
        if (yych == 'a') goto yy106;
11606
7.51k
        goto yy177;
11607
8.99k
      }
11608
18.0k
    } else {
11609
18.0k
      if (yych <= 0xC2) {
11610
8.51k
        if (yych <= 'p') goto yy106;
11611
7.20k
        if (yych <= 0xC1) goto yy177;
11612
2.43k
        goto yy640;
11613
9.52k
      } else {
11614
9.52k
        if (yych == 0xE2) goto yy641;
11615
4.05k
        goto yy177;
11616
9.52k
      }
11617
18.0k
    }
11618
33.1k
  }
11619
206k
yy453:
11620
206k
  YYDEBUG(453, *YYCURSOR);
11621
206k
  yych = *++YYCURSOR;
11622
206k
  if (yych <= '/') goto yy59;
11623
175k
  if (yych <= '5') goto yy642;
11624
49.2k
  if (yych <= '6') goto yy643;
11625
40.3k
  if (yych <= '9') goto yy575;
11626
35.4k
  goto yy59;
11627
95.6k
yy454:
11628
95.6k
  YYDEBUG(454, *YYCURSOR);
11629
95.6k
  yyaccept = 4;
11630
95.6k
  yych = *(YYMARKER = ++YYCURSOR);
11631
95.6k
  if (yych <= 'A') {
11632
46.4k
    if (yych <= '-') {
11633
9.81k
      if (yych <= '\t') {
11634
3.91k
        if (yych <= 0x08) goto yy177;
11635
2.87k
        goto yy638;
11636
5.89k
      } else {
11637
5.89k
        if (yych == ' ') goto yy638;
11638
4.15k
        goto yy177;
11639
5.89k
      }
11640
36.6k
    } else {
11641
36.6k
      if (yych <= '9') {
11642
19.4k
        if (yych <= '.') goto yy453;
11643
15.3k
        goto yy177;
11644
19.4k
      } else {
11645
17.1k
        if (yych <= ':') goto yy453;
11646
8.84k
        if (yych <= '@') goto yy177;
11647
7.34k
        goto yy106;
11648
8.84k
      }
11649
36.6k
    }
11650
49.2k
  } else {
11651
49.2k
    if (yych <= 'o') {
11652
28.9k
      if (yych <= 'P') {
11653
6.32k
        if (yych <= 'O') goto yy177;
11654
2.09k
        goto yy106;
11655
22.6k
      } else {
11656
22.6k
        if (yych == 'a') goto yy106;
11657
20.1k
        goto yy177;
11658
22.6k
      }
11659
28.9k
    } else {
11660
20.2k
      if (yych <= 0xC2) {
11661
13.6k
        if (yych <= 'p') goto yy106;
11662
9.48k
        if (yych <= 0xC1) goto yy177;
11663
2.59k
        goto yy640;
11664
9.48k
      } else {
11665
6.63k
        if (yych == 0xE2) goto yy641;
11666
2.43k
        goto yy177;
11667
6.63k
      }
11668
20.2k
    }
11669
49.2k
  }
11670
492k
yy455:
11671
492k
  YYDEBUG(455, *YYCURSOR);
11672
492k
  yyaccept = 4;
11673
492k
  yych = *(YYMARKER = ++YYCURSOR);
11674
492k
  if (yych <= 'A') {
11675
384k
    if (yych <= '-') {
11676
53.8k
      if (yych <= '\t') {
11677
20.5k
        if (yych <= 0x08) goto yy177;
11678
14.1k
        goto yy638;
11679
33.2k
      } else {
11680
33.2k
        if (yych == ' ') goto yy638;
11681
20.0k
        goto yy177;
11682
33.2k
      }
11683
330k
    } else {
11684
330k
      if (yych <= '9') {
11685
94.8k
        if (yych <= '.') goto yy453;
11686
65.6k
        goto yy177;
11687
236k
      } else {
11688
236k
        if (yych <= ':') goto yy644;
11689
14.5k
        if (yych <= '@') goto yy177;
11690
5.74k
        goto yy106;
11691
14.5k
      }
11692
330k
    }
11693
384k
  } else {
11694
107k
    if (yych <= 'o') {
11695
44.9k
      if (yych <= 'P') {
11696
16.1k
        if (yych <= 'O') goto yy177;
11697
1.71k
        goto yy106;
11698
28.8k
      } else {
11699
28.8k
        if (yych == 'a') goto yy106;
11700
27.8k
        goto yy177;
11701
28.8k
      }
11702
62.6k
    } else {
11703
62.6k
      if (yych <= 0xC2) {
11704
36.1k
        if (yych <= 'p') goto yy106;
11705
33.8k
        if (yych <= 0xC1) goto yy177;
11706
21.0k
        goto yy640;
11707
33.8k
      } else {
11708
26.4k
        if (yych == 0xE2) goto yy641;
11709
14.6k
        goto yy177;
11710
26.4k
      }
11711
62.6k
    }
11712
107k
  }
11713
41.1k
yy456:
11714
41.1k
  YYDEBUG(456, *YYCURSOR);
11715
41.1k
  ++YYCURSOR;
11716
41.1k
  YYDEBUG(457, *YYCURSOR);
11717
41.1k
#line 1349 "ext/date/lib/parse_date.re"
11718
41.1k
  {
11719
41.1k
    DEBUG_OUTPUT("timetiny12 | timeshort12 | timelong12");
11720
41.1k
    TIMELIB_INIT;
11721
41.1k
    TIMELIB_HAVE_TIME();
11722
15.1k
    s->time->h = timelib_get_nr(&ptr, 2);
11723
15.1k
    if (*ptr == ':' || *ptr == '.') {
11724
9.55k
      s->time->i = timelib_get_nr(&ptr, 2);
11725
9.55k
      if (*ptr == ':' || *ptr == '.') {
11726
5.39k
        s->time->s = timelib_get_nr(&ptr, 2);
11727
5.39k
      }
11728
9.55k
    }
11729
15.1k
    timelib_eat_spaces(&ptr);
11730
15.1k
    s->time->h += timelib_meridian(&ptr, s->time->h);
11731
15.1k
    TIMELIB_DEINIT;
11732
15.1k
    return TIMELIB_TIME12;
11733
41.1k
  }
11734
0
#line 11735 "ext/date/lib/parse_date.c"
11735
22.8k
yy458:
11736
22.8k
  YYDEBUG(458, *YYCURSOR);
11737
22.8k
  yych = *++YYCURSOR;
11738
22.8k
  if (yych <= '\t') {
11739
13.9k
    if (yych <= 0x00) goto yy456;
11740
11.8k
    if (yych <= 0x08) goto yy59;
11741
6.50k
    goto yy456;
11742
11.8k
  } else {
11743
8.87k
    if (yych == ' ') goto yy456;
11744
4.20k
    goto yy59;
11745
8.87k
  }
11746
144k
yy459:
11747
144k
  YYDEBUG(459, *YYCURSOR);
11748
144k
  ++YYCURSOR;
11749
144k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
11750
144k
  yych = *YYCURSOR;
11751
144k
  if (yych <= 'a') {
11752
84.2k
    if (yych <= 'O') {
11753
47.0k
      if (yych <= 'E') {
11754
34.4k
        if (yych <= 'A') {
11755
30.2k
          if (yych <= '@') goto yy59;
11756
4.23k
          goto yy106;
11757
30.2k
        } else {
11758
4.22k
          if (yych == 'D') goto yy198;
11759
1.95k
          goto yy59;
11760
4.22k
        }
11761
34.4k
      } else {
11762
12.6k
        if (yych <= 'H') {
11763
4.53k
          if (yych <= 'F') goto yy199;
11764
2.49k
          if (yych <= 'G') goto yy59;
11765
501
          goto yy79;
11766
8.08k
        } else {
11767
8.08k
          if (yych == 'M') goto yy200;
11768
2.90k
          goto yy59;
11769
8.08k
        }
11770
12.6k
      }
11771
47.0k
    } else {
11772
37.1k
      if (yych <= 'U') {
11773
23.1k
        if (yych <= 'R') {
11774
14.2k
          if (yych <= 'P') goto yy106;
11775
991
          goto yy59;
11776
14.2k
        } else {
11777
8.95k
          if (yych <= 'S') goto yy201;
11778
3.87k
          if (yych <= 'T') goto yy87;
11779
794
          goto yy88;
11780
3.87k
        }
11781
23.1k
      } else {
11782
14.0k
        if (yych <= 'X') {
11783
9.07k
          if (yych == 'W') goto yy90;
11784
8.07k
          goto yy59;
11785
9.07k
        } else {
11786
4.92k
          if (yych <= 'Y') goto yy92;
11787
4.46k
          if (yych <= '`') goto yy59;
11788
2.33k
          goto yy106;
11789
4.46k
        }
11790
14.0k
      }
11791
37.1k
    }
11792
84.2k
  } else {
11793
60.6k
    if (yych <= 'r') {
11794
25.7k
      if (yych <= 'g') {
11795
6.76k
        if (yych <= 'd') {
11796
3.85k
          if (yych <= 'c') goto yy59;
11797
856
          goto yy198;
11798
3.85k
        } else {
11799
2.91k
          if (yych == 'f') goto yy199;
11800
664
          goto yy59;
11801
2.91k
        }
11802
18.9k
      } else {
11803
18.9k
        if (yych <= 'm') {
11804
12.5k
          if (yych <= 'h') goto yy79;
11805
3.07k
          if (yych <= 'l') goto yy59;
11806
555
          goto yy200;
11807
6.42k
        } else {
11808
6.42k
          if (yych == 'p') goto yy106;
11809
3.60k
          goto yy59;
11810
6.42k
        }
11811
18.9k
      }
11812
34.9k
    } else {
11813
34.9k
      if (yych <= 'x') {
11814
12.9k
        if (yych <= 'u') {
11815
6.20k
          if (yych <= 's') goto yy201;
11816
3.85k
          if (yych <= 't') goto yy87;
11817
2.69k
          goto yy88;
11818
6.76k
        } else {
11819
6.76k
          if (yych == 'w') goto yy90;
11820
1.22k
          goto yy59;
11821
6.76k
        }
11822
21.9k
      } else {
11823
21.9k
        if (yych <= 0xC2) {
11824
8.55k
          if (yych <= 'y') goto yy92;
11825
7.25k
          if (yych <= 0xC1) goto yy59;
11826
2.57k
          goto yy211;
11827
13.3k
        } else {
11828
13.3k
          if (yych == 0xE2) goto yy108;
11829
4.19k
          goto yy59;
11830
13.3k
        }
11831
21.9k
      }
11832
34.9k
    }
11833
60.6k
  }
11834
79.0k
yy460:
11835
79.0k
  YYDEBUG(460, *YYCURSOR);
11836
79.0k
  yych = *++YYCURSOR;
11837
79.0k
  if (yych == '-') goto yy645;
11838
71.4k
  if (yych <= '/') goto yy59;
11839
67.6k
  if (yych <= '9') goto yy646;
11840
11.0k
  goto yy59;
11841
34.5k
yy461:
11842
34.5k
  YYDEBUG(461, *YYCURSOR);
11843
34.5k
  yych = *++YYCURSOR;
11844
34.5k
  if (yych == '-') goto yy645;
11845
25.8k
  if (yych <= '/') goto yy59;
11846
22.9k
  if (yych <= '2') goto yy646;
11847
11.3k
  goto yy59;
11848
238k
yy462:
11849
238k
  YYDEBUG(462, *YYCURSOR);
11850
238k
  yych = *++YYCURSOR;
11851
238k
  if (yych == '-') goto yy645;
11852
170k
  goto yy59;
11853
170k
yy463:
11854
48.1k
  YYDEBUG(463, *YYCURSOR);
11855
48.1k
  yych = *++YYCURSOR;
11856
48.1k
  if (yych <= 'U') {
11857
13.1k
    if (yych == 'P') goto yy647;
11858
10.0k
    if (yych <= 'T') goto yy59;
11859
1.66k
    goto yy648;
11860
34.9k
  } else {
11861
34.9k
    if (yych <= 'p') {
11862
19.6k
      if (yych <= 'o') goto yy59;
11863
17.7k
      goto yy647;
11864
19.6k
    } else {
11865
15.2k
      if (yych == 'u') goto yy648;
11866
3.91k
      goto yy59;
11867
15.2k
    }
11868
34.9k
  }
11869
21.5k
yy464:
11870
21.5k
  YYDEBUG(464, *YYCURSOR);
11871
21.5k
  yych = *++YYCURSOR;
11872
21.5k
  if (yych == 'E') goto yy649;
11873
17.8k
  if (yych == 'e') goto yy649;
11874
8.83k
  goto yy59;
11875
33.8k
yy465:
11876
33.8k
  YYDEBUG(465, *YYCURSOR);
11877
33.8k
  yych = *++YYCURSOR;
11878
33.8k
  if (yych == 'E') goto yy650;
11879
32.0k
  if (yych == 'e') goto yy650;
11880
14.5k
  goto yy59;
11881
51.3k
yy466:
11882
51.3k
  YYDEBUG(466, *YYCURSOR);
11883
51.3k
  yych = *++YYCURSOR;
11884
51.3k
  if (yych <= 'U') {
11885
14.9k
    if (yych == 'A') goto yy651;
11886
12.6k
    if (yych <= 'T') goto yy59;
11887
9.07k
    goto yy652;
11888
36.4k
  } else {
11889
36.4k
    if (yych <= 'a') {
11890
17.1k
      if (yych <= '`') goto yy59;
11891
13.3k
      goto yy651;
11892
19.3k
    } else {
11893
19.3k
      if (yych == 'u') goto yy652;
11894
3.42k
      goto yy59;
11895
19.3k
    }
11896
36.4k
  }
11897
42.9k
yy467:
11898
42.9k
  YYDEBUG(467, *YYCURSOR);
11899
42.9k
  yych = *++YYCURSOR;
11900
42.9k
  if (yych == 'A') goto yy653;
11901
23.0k
  if (yych == 'a') goto yy653;
11902
9.02k
  goto yy59;
11903
30.7k
yy468:
11904
30.7k
  YYDEBUG(468, *YYCURSOR);
11905
30.7k
  yych = *++YYCURSOR;
11906
30.7k
  if (yych == 'O') goto yy654;
11907
25.7k
  if (yych == 'o') goto yy654;
11908
13.4k
  goto yy59;
11909
20.2k
yy469:
11910
20.2k
  YYDEBUG(469, *YYCURSOR);
11911
20.2k
  yych = *++YYCURSOR;
11912
20.2k
  if (yych == 'C') goto yy655;
11913
14.2k
  if (yych == 'c') goto yy655;
11914
7.66k
  goto yy59;
11915
66.2k
yy470:
11916
66.2k
  YYDEBUG(470, *YYCURSOR);
11917
66.2k
  yych = *++YYCURSOR;
11918
66.2k
  if (yych == 'E') goto yy656;
11919
56.8k
  if (yych == 'e') goto yy656;
11920
17.6k
  goto yy59;
11921
30.2k
yy471:
11922
30.2k
  YYDEBUG(471, *YYCURSOR);
11923
30.2k
  yych = *++YYCURSOR;
11924
30.2k
  if (yych <= '/') goto yy290;
11925
26.2k
  if (yych <= '9') goto yy657;
11926
3.81k
  goto yy290;
11927
6.70M
yy472:
11928
6.70M
  YYDEBUG(472, *YYCURSOR);
11929
6.70M
  yych = *++YYCURSOR;
11930
6.70M
  if (yych <= '@') {
11931
1.53M
    if (yych == ')') goto yy115;
11932
1.48M
    goto yy20;
11933
5.16M
  } else {
11934
5.16M
    if (yych <= 'Z') goto yy658;
11935
3.96M
    if (yych <= '`') goto yy20;
11936
3.26M
    if (yych <= 'z') goto yy658;
11937
358k
    goto yy20;
11938
3.26M
  }
11939
116k
yy473:
11940
116k
  YYDEBUG(473, *YYCURSOR);
11941
116k
  yych = *++YYCURSOR;
11942
116k
  if (yych <= '/') goto yy142;
11943
109k
  if (yych <= '2') goto yy659;
11944
71.2k
  if (yych <= '3') goto yy660;
11945
22.0k
  goto yy142;
11946
33.9k
yy474:
11947
33.9k
  YYDEBUG(474, *YYCURSOR);
11948
33.9k
  yych = *++YYCURSOR;
11949
33.9k
  if (yych <= 'L') {
11950
10.5k
    if (yych <= ')') {
11951
3.02k
      if (yych <= '(') goto yy20;
11952
1.09k
      goto yy115;
11953
7.52k
    } else {
11954
7.52k
      if (yych <= '@') goto yy20;
11955
5.31k
      if (yych <= 'K') goto yy658;
11956
3.19k
      goto yy661;
11957
5.31k
    }
11958
23.4k
  } else {
11959
23.4k
    if (yych <= 'k') {
11960
6.53k
      if (yych <= 'Z') goto yy658;
11961
3.65k
      if (yych <= '`') goto yy20;
11962
2.65k
      goto yy658;
11963
16.9k
    } else {
11964
16.9k
      if (yych <= 'l') goto yy661;
11965
5.84k
      if (yych <= 'z') goto yy658;
11966
1.39k
      goto yy20;
11967
5.84k
    }
11968
23.4k
  }
11969
53.0k
yy475:
11970
53.0k
  YYDEBUG(475, *YYCURSOR);
11971
53.0k
  yych = *++YYCURSOR;
11972
53.0k
  if (yych <= 'S') {
11973
26.4k
    if (yych <= ')') {
11974
1.55k
      if (yych <= '(') goto yy20;
11975
655
      goto yy115;
11976
24.9k
    } else {
11977
24.9k
      if (yych <= '@') goto yy20;
11978
19.2k
      if (yych <= 'R') goto yy658;
11979
16.8k
      goto yy662;
11980
19.2k
    }
11981
26.5k
  } else {
11982
26.5k
    if (yych <= 'r') {
11983
3.19k
      if (yych <= 'Z') goto yy658;
11984
1.88k
      if (yych <= '`') goto yy20;
11985
1.02k
      goto yy658;
11986
23.3k
    } else {
11987
23.3k
      if (yych <= 's') goto yy662;
11988
6.70k
      if (yych <= 'z') goto yy658;
11989
3.45k
      goto yy20;
11990
6.70k
    }
11991
26.5k
  }
11992
1.49M
yy476:
11993
1.49M
  YYDEBUG(476, *YYCURSOR);
11994
1.49M
  yyaccept = 2;
11995
1.49M
  YYMARKER = ++YYCURSOR;
11996
1.49M
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
11997
1.49M
  yych = *YYCURSOR;
11998
1.49M
  YYDEBUG(477, *YYCURSOR);
11999
1.49M
  if (yybm[0+yych] & 64) {
12000
948k
    goto yy476;
12001
948k
  }
12002
547k
  if (yych <= '.') {
12003
211k
    if (yych == '-') goto yy297;
12004
179k
    goto yy20;
12005
335k
  } else {
12006
335k
    if (yych <= '/') goto yy297;
12007
314k
    if (yych == '_') goto yy297;
12008
293k
    goto yy20;
12009
314k
  }
12010
1.32M
yy478:
12011
1.32M
  YYDEBUG(478, *YYCURSOR);
12012
1.32M
  yyaccept = 2;
12013
1.32M
  yych = *(YYMARKER = ++YYCURSOR);
12014
1.32M
  if (yych <= '/') {
12015
216k
    if (yych <= ',') {
12016
153k
      if (yych == ')') goto yy115;
12017
133k
      goto yy20;
12018
153k
    } else {
12019
62.4k
      if (yych == '.') goto yy20;
12020
48.6k
      goto yy297;
12021
62.4k
    }
12022
1.10M
  } else {
12023
1.10M
    if (yych <= '^') {
12024
295k
      if (yych <= '@') goto yy20;
12025
172k
      if (yych <= 'Z') goto yy658;
12026
8.20k
      goto yy20;
12027
809k
    } else {
12028
809k
      if (yych <= '_') goto yy297;
12029
794k
      if (yych <= '`') goto yy20;
12030
787k
      if (yych <= 'z') goto yy663;
12031
92.3k
      goto yy20;
12032
787k
    }
12033
1.10M
  }
12034
114k
yy479:
12035
114k
  YYDEBUG(479, *YYCURSOR);
12036
114k
  yych = *++YYCURSOR;
12037
114k
  if (yybm[0+yych] & 64) {
12038
9.05k
    goto yy476;
12039
9.05k
  }
12040
105k
  if (yych <= '/') goto yy142;
12041
100k
  if (yych <= '2') goto yy659;
12042
38.0k
  if (yych <= '3') goto yy660;
12043
16.8k
  goto yy142;
12044
65.3k
yy480:
12045
65.3k
  YYDEBUG(480, *YYCURSOR);
12046
65.3k
  yyaccept = 2;
12047
65.3k
  yych = *(YYMARKER = ++YYCURSOR);
12048
65.3k
  if (yych <= 'K') {
12049
18.8k
    if (yych <= '-') {
12050
12.3k
      if (yych == ')') goto yy115;
12051
8.32k
      if (yych <= ',') goto yy20;
12052
3.66k
      goto yy297;
12053
8.32k
    } else {
12054
6.48k
      if (yych == '/') goto yy297;
12055
6.36k
      if (yych <= '@') goto yy20;
12056
1.56k
      goto yy658;
12057
6.36k
    }
12058
46.5k
  } else {
12059
46.5k
    if (yych <= '_') {
12060
8.44k
      if (yych <= 'L') goto yy661;
12061
3.20k
      if (yych <= 'Z') goto yy658;
12062
2.53k
      if (yych <= '^') goto yy20;
12063
1.07k
      goto yy297;
12064
38.0k
    } else {
12065
38.0k
      if (yych <= 'k') {
12066
3.11k
        if (yych <= '`') goto yy20;
12067
796
        goto yy663;
12068
34.9k
      } else {
12069
34.9k
        if (yych <= 'l') goto yy664;
12070
3.26k
        if (yych <= 'z') goto yy663;
12071
2.30k
        goto yy20;
12072
3.26k
      }
12073
38.0k
    }
12074
46.5k
  }
12075
101k
yy481:
12076
101k
  YYDEBUG(481, *YYCURSOR);
12077
101k
  yyaccept = 2;
12078
101k
  yych = *(YYMARKER = ++YYCURSOR);
12079
101k
  if (yych <= 'R') {
12080
25.8k
    if (yych <= '-') {
12081
9.39k
      if (yych == ')') goto yy115;
12082
8.39k
      if (yych <= ',') goto yy20;
12083
5.91k
      goto yy297;
12084
16.4k
    } else {
12085
16.4k
      if (yych == '/') goto yy297;
12086
13.9k
      if (yych <= '@') goto yy20;
12087
3.33k
      goto yy658;
12088
13.9k
    }
12089
75.9k
  } else {
12090
75.9k
    if (yych <= '_') {
12091
8.62k
      if (yych <= 'S') goto yy662;
12092
4.50k
      if (yych <= 'Z') goto yy658;
12093
3.90k
      if (yych <= '^') goto yy20;
12094
2.30k
      goto yy297;
12095
67.2k
    } else {
12096
67.2k
      if (yych <= 'r') {
12097
4.54k
        if (yych <= '`') goto yy20;
12098
3.25k
        goto yy663;
12099
62.7k
      } else {
12100
62.7k
        if (yych <= 's') goto yy665;
12101
3.78k
        if (yych <= 'z') goto yy663;
12102
2.69k
        goto yy20;
12103
3.78k
      }
12104
67.2k
    }
12105
75.9k
  }
12106
82.5k
yy482:
12107
82.5k
  YYDEBUG(482, *YYCURSOR);
12108
82.5k
  yyaccept = 2;
12109
82.5k
  yych = *(YYMARKER = ++YYCURSOR);
12110
82.5k
  if (yych <= ')') {
12111
69.2k
    if (yych == ' ') goto yy666;
12112
7.26k
    if (yych <= '(') goto yy20;
12113
2.52k
    goto yy115;
12114
13.2k
  } else {
12115
13.2k
    if (yych <= 'Z') {
12116
3.65k
      if (yych <= '@') goto yy20;
12117
1.08k
      goto yy658;
12118
9.57k
    } else {
12119
9.57k
      if (yych <= '`') goto yy20;
12120
5.82k
      if (yych <= 'z') goto yy658;
12121
2.43k
      goto yy20;
12122
5.82k
    }
12123
13.2k
  }
12124
63.5k
yy483:
12125
63.5k
  YYDEBUG(483, *YYCURSOR);
12126
63.5k
  yyaccept = 2;
12127
63.5k
  yych = *(YYMARKER = ++YYCURSOR);
12128
63.5k
  if (yych <= '.') {
12129
51.1k
    if (yych <= '(') {
12130
47.6k
      if (yych == ' ') goto yy666;
12131
2.34k
      goto yy20;
12132
47.6k
    } else {
12133
3.52k
      if (yych <= ')') goto yy115;
12134
3.36k
      if (yych == '-') goto yy297;
12135
2.05k
      goto yy20;
12136
3.36k
    }
12137
51.1k
  } else {
12138
12.4k
    if (yych <= '^') {
12139
6.11k
      if (yych <= '/') goto yy297;
12140
4.78k
      if (yych <= '@') goto yy20;
12141
1.91k
      if (yych <= 'Z') goto yy658;
12142
327
      goto yy20;
12143
6.30k
    } else {
12144
6.30k
      if (yych <= '_') goto yy297;
12145
4.82k
      if (yych <= '`') goto yy20;
12146
4.45k
      if (yych <= 'z') goto yy663;
12147
2.35k
      goto yy20;
12148
4.45k
    }
12149
12.4k
  }
12150
50.6k
yy484:
12151
50.6k
  YYDEBUG(484, *YYCURSOR);
12152
50.6k
  yych = *++YYCURSOR;
12153
50.6k
  if (yych <= 'M') {
12154
20.0k
    if (yych <= ')') {
12155
1.45k
      if (yych <= '(') goto yy20;
12156
462
      goto yy115;
12157
18.5k
    } else {
12158
18.5k
      if (yych <= '@') goto yy20;
12159
13.6k
      if (yych <= 'L') goto yy658;
12160
12.1k
      goto yy667;
12161
13.6k
    }
12162
30.5k
  } else {
12163
30.5k
    if (yych <= 'l') {
12164
9.53k
      if (yych <= 'Z') goto yy658;
12165
5.32k
      if (yych <= '`') goto yy20;
12166
3.71k
      goto yy658;
12167
21.0k
    } else {
12168
21.0k
      if (yych <= 'm') goto yy667;
12169
9.38k
      if (yych <= 'z') goto yy658;
12170
6.01k
      goto yy20;
12171
9.38k
    }
12172
30.5k
  }
12173
76.4k
yy485:
12174
76.4k
  YYDEBUG(485, *YYCURSOR);
12175
76.4k
  yyaccept = 2;
12176
76.4k
  yych = *(YYMARKER = ++YYCURSOR);
12177
76.4k
  if (yych <= 'L') {
12178
13.9k
    if (yych <= '-') {
12179
10.0k
      if (yych == ')') goto yy115;
12180
7.06k
      if (yych <= ',') goto yy20;
12181
2.57k
      goto yy297;
12182
7.06k
    } else {
12183
3.96k
      if (yych == '/') goto yy297;
12184
2.60k
      if (yych <= '@') goto yy20;
12185
522
      goto yy658;
12186
2.60k
    }
12187
62.5k
  } else {
12188
62.5k
    if (yych <= '_') {
12189
7.24k
      if (yych <= 'M') goto yy667;
12190
2.88k
      if (yych <= 'Z') goto yy658;
12191
2.10k
      if (yych <= '^') goto yy20;
12192
1.05k
      goto yy297;
12193
55.2k
    } else {
12194
55.2k
      if (yych <= 'l') {
12195
2.18k
        if (yych <= '`') goto yy20;
12196
1.85k
        goto yy663;
12197
53.0k
      } else {
12198
53.0k
        if (yych <= 'm') goto yy668;
12199
11.8k
        if (yych <= 'z') goto yy663;
12200
4.49k
        goto yy20;
12201
11.8k
      }
12202
55.2k
    }
12203
62.5k
  }
12204
202k
yy486:
12205
202k
  YYDEBUG(486, *YYCURSOR);
12206
202k
  yych = *++YYCURSOR;
12207
202k
  if (yych <= 'T') {
12208
21.7k
    if (yych <= ')') {
12209
7.07k
      if (yych <= '(') goto yy20;
12210
645
      goto yy115;
12211
14.7k
    } else {
12212
14.7k
      if (yych <= '@') goto yy20;
12213
7.59k
      if (yych <= 'S') goto yy658;
12214
5.05k
      goto yy669;
12215
7.59k
    }
12216
180k
  } else {
12217
180k
    if (yych <= 's') {
12218
9.29k
      if (yych <= 'Z') goto yy658;
12219
7.26k
      if (yych <= '`') goto yy20;
12220
2.04k
      goto yy658;
12221
171k
    } else {
12222
171k
      if (yych <= 't') goto yy669;
12223
9.66k
      if (yych <= 'z') goto yy658;
12224
4.08k
      goto yy20;
12225
9.66k
    }
12226
180k
  }
12227
51.1k
yy487:
12228
51.1k
  YYDEBUG(487, *YYCURSOR);
12229
51.1k
  yych = *++YYCURSOR;
12230
51.1k
  if (yych <= 'E') {
12231
18.8k
    if (yych <= ')') {
12232
3.95k
      if (yych <= '(') goto yy20;
12233
2.74k
      goto yy115;
12234
14.8k
    } else {
12235
14.8k
      if (yych <= '@') goto yy20;
12236
8.88k
      if (yych <= 'D') goto yy658;
12237
8.61k
      goto yy670;
12238
8.88k
    }
12239
32.3k
  } else {
12240
32.3k
    if (yych <= 'd') {
12241
2.02k
      if (yych <= 'Z') goto yy658;
12242
1.31k
      if (yych <= '`') goto yy20;
12243
528
      goto yy658;
12244
30.3k
    } else {
12245
30.3k
      if (yych <= 'e') goto yy670;
12246
4.16k
      if (yych <= 'z') goto yy658;
12247
1.82k
      goto yy20;
12248
4.16k
    }
12249
32.3k
  }
12250
118k
yy488:
12251
118k
  YYDEBUG(488, *YYCURSOR);
12252
118k
  yyaccept = 2;
12253
118k
  yych = *(YYMARKER = ++YYCURSOR);
12254
118k
  if (yych <= 'S') {
12255
27.4k
    if (yych <= '-') {
12256
15.4k
      if (yych == ')') goto yy115;
12257
14.7k
      if (yych <= ',') goto yy20;
12258
10.5k
      goto yy297;
12259
14.7k
    } else {
12260
11.9k
      if (yych == '/') goto yy297;
12261
8.52k
      if (yych <= '@') goto yy20;
12262
2.73k
      goto yy658;
12263
8.52k
    }
12264
91.4k
  } else {
12265
91.4k
    if (yych <= '_') {
12266
6.12k
      if (yych <= 'T') goto yy669;
12267
4.78k
      if (yych <= 'Z') goto yy658;
12268
3.65k
      if (yych <= '^') goto yy20;
12269
327
      goto yy297;
12270
85.3k
    } else {
12271
85.3k
      if (yych <= 's') {
12272
3.21k
        if (yych <= '`') goto yy20;
12273
2.23k
        goto yy663;
12274
82.1k
      } else {
12275
82.1k
        if (yych <= 't') goto yy671;
12276
5.62k
        if (yych <= 'z') goto yy663;
12277
2.61k
        goto yy20;
12278
5.62k
      }
12279
85.3k
    }
12280
91.4k
  }
12281
104k
yy489:
12282
104k
  YYDEBUG(489, *YYCURSOR);
12283
104k
  yyaccept = 2;
12284
104k
  yych = *(YYMARKER = ++YYCURSOR);
12285
104k
  if (yych <= 'D') {
12286
17.9k
    if (yych <= '-') {
12287
6.31k
      if (yych == ')') goto yy115;
12288
4.43k
      if (yych <= ',') goto yy20;
12289
2.69k
      goto yy297;
12290
11.6k
    } else {
12291
11.6k
      if (yych == '/') goto yy297;
12292
9.91k
      if (yych <= '@') goto yy20;
12293
5.24k
      goto yy658;
12294
9.91k
    }
12295
86.6k
  } else {
12296
86.6k
    if (yych <= '_') {
12297
9.80k
      if (yych <= 'E') goto yy670;
12298
3.83k
      if (yych <= 'Z') goto yy658;
12299
2.16k
      if (yych <= '^') goto yy20;
12300
1.57k
      goto yy297;
12301
76.7k
    } else {
12302
76.7k
      if (yych <= 'd') {
12303
6.68k
        if (yych <= '`') goto yy20;
12304
665
        goto yy663;
12305
70.1k
      } else {
12306
70.1k
        if (yych <= 'e') goto yy672;
12307
8.04k
        if (yych <= 'z') goto yy663;
12308
5.80k
        goto yy20;
12309
8.04k
      }
12310
76.7k
    }
12311
86.6k
  }
12312
35.6k
yy490:
12313
35.6k
  YYDEBUG(490, *YYCURSOR);
12314
35.6k
  yych = *++YYCURSOR;
12315
35.6k
  if (yych <= 'U') {
12316
21.3k
    if (yych <= ')') {
12317
7.61k
      if (yych <= '(') goto yy20;
12318
2.89k
      goto yy115;
12319
13.6k
    } else {
12320
13.6k
      if (yych <= '@') goto yy20;
12321
12.0k
      if (yych <= 'T') goto yy658;
12322
10.1k
      goto yy673;
12323
12.0k
    }
12324
21.3k
  } else {
12325
14.3k
    if (yych <= 't') {
12326
4.35k
      if (yych <= 'Z') goto yy658;
12327
4.10k
      if (yych <= '`') goto yy20;
12328
2.34k
      goto yy658;
12329
10.0k
    } else {
12330
10.0k
      if (yych <= 'u') goto yy673;
12331
3.45k
      if (yych <= 'z') goto yy658;
12332
2.50k
      goto yy20;
12333
3.45k
    }
12334
14.3k
  }
12335
106k
yy491:
12336
106k
  YYDEBUG(491, *YYCURSOR);
12337
106k
  yych = *++YYCURSOR;
12338
106k
  if (yych <= 'H') {
12339
91.5k
    if (yych <= ')') {
12340
3.63k
      if (yych <= '(') goto yy20;
12341
867
      goto yy115;
12342
87.9k
    } else {
12343
87.9k
      if (yych <= '@') goto yy20;
12344
77.3k
      if (yych <= 'G') goto yy658;
12345
76.8k
      goto yy674;
12346
77.3k
    }
12347
91.5k
  } else {
12348
14.8k
    if (yych <= 'g') {
12349
3.89k
      if (yych <= 'Z') goto yy658;
12350
1.96k
      if (yych <= '`') goto yy20;
12351
1.43k
      goto yy658;
12352
10.9k
    } else {
12353
10.9k
      if (yych <= 'h') goto yy674;
12354
7.68k
      if (yych <= 'z') goto yy658;
12355
4.61k
      goto yy20;
12356
7.68k
    }
12357
14.8k
  }
12358
109k
yy492:
12359
109k
  YYDEBUG(492, *YYCURSOR);
12360
109k
  yych = *++YYCURSOR;
12361
109k
  if (yych <= 'T') {
12362
11.2k
    if (yych <= ')') {
12363
6.02k
      if (yych <= '(') goto yy20;
12364
1.20k
      goto yy115;
12365
6.02k
    } else {
12366
5.18k
      if (yych <= '@') goto yy20;
12367
2.22k
      if (yych <= 'S') goto yy658;
12368
1.25k
      goto yy675;
12369
2.22k
    }
12370
98.1k
  } else {
12371
98.1k
    if (yych <= 's') {
12372
7.32k
      if (yych <= 'Z') goto yy658;
12373
5.92k
      if (yych <= '`') goto yy20;
12374
4.00k
      goto yy658;
12375
90.8k
    } else {
12376
90.8k
      if (yych <= 't') goto yy675;
12377
9.06k
      if (yych <= 'z') goto yy658;
12378
5.58k
      goto yy20;
12379
9.06k
    }
12380
98.1k
  }
12381
35.7k
yy493:
12382
35.7k
  YYDEBUG(493, *YYCURSOR);
12383
35.7k
  yych = *++YYCURSOR;
12384
35.7k
  if (yych <= 'T') {
12385
19.8k
    if (yych <= ')') {
12386
2.23k
      if (yych <= '(') goto yy20;
12387
1.11k
      goto yy115;
12388
17.5k
    } else {
12389
17.5k
      if (yych <= '@') goto yy20;
12390
10.0k
      if (yych <= 'S') goto yy658;
12391
5.73k
      goto yy676;
12392
10.0k
    }
12393
19.8k
  } else {
12394
15.9k
    if (yych <= 's') {
12395
4.92k
      if (yych <= 'Z') goto yy658;
12396
4.56k
      if (yych <= '`') goto yy20;
12397
4.22k
      goto yy658;
12398
10.9k
    } else {
12399
10.9k
      if (yych <= 't') goto yy676;
12400
2.71k
      if (yych <= 'z') goto yy658;
12401
1.28k
      goto yy20;
12402
2.71k
    }
12403
15.9k
  }
12404
46.7k
yy494:
12405
46.7k
  YYDEBUG(494, *YYCURSOR);
12406
46.7k
  yych = *++YYCURSOR;
12407
46.7k
  if (yych <= 'A') {
12408
14.2k
    if (yych == ')') goto yy115;
12409
14.1k
    if (yych <= '@') goto yy20;
12410
10.2k
    goto yy677;
12411
32.5k
  } else {
12412
32.5k
    if (yych <= '`') {
12413
3.39k
      if (yych <= 'Z') goto yy658;
12414
2.64k
      goto yy20;
12415
29.1k
    } else {
12416
29.1k
      if (yych <= 'a') goto yy677;
12417
12.7k
      if (yych <= 'z') goto yy658;
12418
8.60k
      goto yy20;
12419
12.7k
    }
12420
32.5k
  }
12421
30.5k
yy495:
12422
30.5k
  YYDEBUG(495, *YYCURSOR);
12423
30.5k
  yych = *++YYCURSOR;
12424
30.5k
  if (yych <= 'T') {
12425
8.71k
    if (yych <= ')') {
12426
2.32k
      if (yych <= '(') goto yy20;
12427
314
      goto yy115;
12428
6.39k
    } else {
12429
6.39k
      if (yych <= '@') goto yy20;
12430
1.72k
      if (yych <= 'S') goto yy658;
12431
641
      goto yy678;
12432
1.72k
    }
12433
21.8k
  } else {
12434
21.8k
    if (yych <= 's') {
12435
4.97k
      if (yych <= 'Z') goto yy658;
12436
4.19k
      if (yych <= '`') goto yy20;
12437
3.75k
      goto yy658;
12438
16.8k
    } else {
12439
16.8k
      if (yych <= 't') goto yy678;
12440
2.23k
      if (yych <= 'z') goto yy658;
12441
809
      goto yy20;
12442
2.23k
    }
12443
21.8k
  }
12444
106k
yy496:
12445
106k
  YYDEBUG(496, *YYCURSOR);
12446
106k
  yyaccept = 2;
12447
106k
  yych = *(YYMARKER = ++YYCURSOR);
12448
106k
  if (yych <= 'T') {
12449
21.8k
    if (yych <= '-') {
12450
6.77k
      if (yych == ')') goto yy115;
12451
4.28k
      if (yych <= ',') goto yy20;
12452
1.04k
      goto yy297;
12453
15.0k
    } else {
12454
15.0k
      if (yych == '/') goto yy297;
12455
13.1k
      if (yych <= '@') goto yy20;
12456
984
      goto yy658;
12457
13.1k
    }
12458
85.0k
  } else {
12459
85.0k
    if (yych <= '_') {
12460
13.7k
      if (yych <= 'U') goto yy673;
12461
4.93k
      if (yych <= 'Z') goto yy658;
12462
3.18k
      if (yych <= '^') goto yy20;
12463
2.44k
      goto yy297;
12464
71.2k
    } else {
12465
71.2k
      if (yych <= 't') {
12466
5.12k
        if (yych <= '`') goto yy20;
12467
3.66k
        goto yy663;
12468
66.1k
      } else {
12469
66.1k
        if (yych <= 'u') goto yy679;
12470
13.1k
        if (yych <= 'z') goto yy663;
12471
6.37k
        goto yy20;
12472
13.1k
      }
12473
71.2k
    }
12474
85.0k
  }
12475
36.6k
yy497:
12476
36.6k
  YYDEBUG(497, *YYCURSOR);
12477
36.6k
  yyaccept = 2;
12478
36.6k
  yych = *(YYMARKER = ++YYCURSOR);
12479
36.6k
  if (yych <= 'G') {
12480
6.81k
    if (yych <= '-') {
12481
4.25k
      if (yych == ')') goto yy115;
12482
3.24k
      if (yych <= ',') goto yy20;
12483
1.24k
      goto yy297;
12484
3.24k
    } else {
12485
2.55k
      if (yych == '/') goto yy297;
12486
1.44k
      if (yych <= '@') goto yy20;
12487
183
      goto yy658;
12488
1.44k
    }
12489
29.8k
  } else {
12490
29.8k
    if (yych <= '_') {
12491
13.4k
      if (yych <= 'H') goto yy674;
12492
3.23k
      if (yych <= 'Z') goto yy658;
12493
801
      if (yych <= '^') goto yy20;
12494
197
      goto yy297;
12495
16.3k
    } else {
12496
16.3k
      if (yych <= 'g') {
12497
955
        if (yych <= '`') goto yy20;
12498
621
        goto yy663;
12499
15.4k
      } else {
12500
15.4k
        if (yych <= 'h') goto yy680;
12501
2.23k
        if (yych <= 'z') goto yy663;
12502
728
        goto yy20;
12503
2.23k
      }
12504
16.3k
    }
12505
29.8k
  }
12506
46.4k
yy498:
12507
46.4k
  YYDEBUG(498, *YYCURSOR);
12508
46.4k
  yyaccept = 2;
12509
46.4k
  yych = *(YYMARKER = ++YYCURSOR);
12510
46.4k
  if (yych <= 'S') {
12511
10.1k
    if (yych <= '-') {
12512
3.61k
      if (yych == ')') goto yy115;
12513
1.96k
      if (yych <= ',') goto yy20;
12514
428
      goto yy297;
12515
6.49k
    } else {
12516
6.49k
      if (yych == '/') goto yy297;
12517
4.80k
      if (yych <= '@') goto yy20;
12518
1.61k
      goto yy658;
12519
4.80k
    }
12520
36.3k
  } else {
12521
36.3k
    if (yych <= '_') {
12522
5.95k
      if (yych <= 'T') goto yy675;
12523
3.67k
      if (yych <= 'Z') goto yy658;
12524
1.48k
      if (yych <= '^') goto yy20;
12525
117
      goto yy297;
12526
30.3k
    } else {
12527
30.3k
      if (yych <= 's') {
12528
2.23k
        if (yych <= '`') goto yy20;
12529
1.43k
        goto yy663;
12530
28.1k
      } else {
12531
28.1k
        if (yych <= 't') goto yy681;
12532
3.13k
        if (yych <= 'z') goto yy663;
12533
2.15k
        goto yy20;
12534
3.13k
      }
12535
30.3k
    }
12536
36.3k
  }
12537
34.5k
yy499:
12538
34.5k
  YYDEBUG(499, *YYCURSOR);
12539
34.5k
  yyaccept = 2;
12540
34.5k
  yych = *(YYMARKER = ++YYCURSOR);
12541
34.5k
  if (yych <= 'S') {
12542
9.95k
    if (yych <= '-') {
12543
3.61k
      if (yych == ')') goto yy115;
12544
2.88k
      if (yych <= ',') goto yy20;
12545
1.68k
      goto yy297;
12546
6.33k
    } else {
12547
6.33k
      if (yych == '/') goto yy297;
12548
4.09k
      if (yych <= '@') goto yy20;
12549
526
      goto yy658;
12550
4.09k
    }
12551
24.5k
  } else {
12552
24.5k
    if (yych <= '_') {
12553
3.52k
      if (yych <= 'T') goto yy676;
12554
970
      if (yych <= 'Z') goto yy658;
12555
615
      if (yych <= '^') goto yy20;
12556
449
      goto yy297;
12557
21.0k
    } else {
12558
21.0k
      if (yych <= 's') {
12559
4.03k
        if (yych <= '`') goto yy20;
12560
3.89k
        goto yy663;
12561
17.0k
      } else {
12562
17.0k
        if (yych <= 't') goto yy682;
12563
3.15k
        if (yych <= 'z') goto yy663;
12564
2.10k
        goto yy20;
12565
3.15k
      }
12566
21.0k
    }
12567
24.5k
  }
12568
74.4k
yy500:
12569
74.4k
  YYDEBUG(500, *YYCURSOR);
12570
74.4k
  yyaccept = 2;
12571
74.4k
  yych = *(YYMARKER = ++YYCURSOR);
12572
74.4k
  if (yych <= '@') {
12573
16.2k
    if (yych <= ',') {
12574
4.16k
      if (yych == ')') goto yy115;
12575
1.03k
      goto yy20;
12576
12.0k
    } else {
12577
12.0k
      if (yych == '.') goto yy20;
12578
9.62k
      if (yych <= '/') goto yy297;
12579
5.43k
      goto yy20;
12580
9.62k
    }
12581
58.2k
  } else {
12582
58.2k
    if (yych <= '_') {
12583
10.7k
      if (yych <= 'A') goto yy677;
12584
8.50k
      if (yych <= 'Z') goto yy658;
12585
2.00k
      if (yych <= '^') goto yy20;
12586
927
      goto yy297;
12587
47.5k
    } else {
12588
47.5k
      if (yych <= '`') goto yy20;
12589
46.7k
      if (yych <= 'a') goto yy683;
12590
12.7k
      if (yych <= 'z') goto yy663;
12591
5.31k
      goto yy20;
12592
12.7k
    }
12593
58.2k
  }
12594
86.6k
yy501:
12595
86.6k
  YYDEBUG(501, *YYCURSOR);
12596
86.6k
  yyaccept = 2;
12597
86.6k
  yych = *(YYMARKER = ++YYCURSOR);
12598
86.6k
  if (yych <= 'S') {
12599
21.7k
    if (yych <= '-') {
12600
12.1k
      if (yych == ')') goto yy115;
12601
10.2k
      if (yych <= ',') goto yy20;
12602
5.46k
      goto yy297;
12603
10.2k
    } else {
12604
9.55k
      if (yych == '/') goto yy297;
12605
8.71k
      if (yych <= '@') goto yy20;
12606
2.84k
      goto yy658;
12607
8.71k
    }
12608
64.9k
  } else {
12609
64.9k
    if (yych <= '_') {
12610
8.04k
      if (yych <= 'T') goto yy678;
12611
4.48k
      if (yych <= 'Z') goto yy658;
12612
2.12k
      if (yych <= '^') goto yy20;
12613
1.47k
      goto yy297;
12614
56.8k
    } else {
12615
56.8k
      if (yych <= 's') {
12616
7.46k
        if (yych <= '`') goto yy20;
12617
4.68k
        goto yy663;
12618
49.4k
      } else {
12619
49.4k
        if (yych <= 't') goto yy684;
12620
4.97k
        if (yych <= 'z') goto yy663;
12621
2.14k
        goto yy20;
12622
4.97k
      }
12623
56.8k
    }
12624
64.9k
  }
12625
103k
yy502:
12626
103k
  YYDEBUG(502, *YYCURSOR);
12627
103k
  yych = *++YYCURSOR;
12628
103k
  if (yych <= '/') goto yy59;
12629
94.6k
  if (yych <= '1') goto yy685;
12630
47.6k
  if (yych <= '2') goto yy686;
12631
30.8k
  if (yych <= '9') goto yy687;
12632
15.0k
  goto yy59;
12633
15.0k
yy503:
12634
13.5k
  YYDEBUG(503, *YYCURSOR);
12635
13.5k
  yych = *++YYCURSOR;
12636
13.5k
  if (yych <= '/') {
12637
4.46k
    if (yych == '.') goto yy688;
12638
1.81k
    goto yy59;
12639
9.03k
  } else {
12640
9.03k
    if (yych <= '0') goto yy689;
12641
8.02k
    if (yych <= '9') goto yy506;
12642
4.95k
    if (yych <= ':') goto yy688;
12643
2.32k
    goto yy59;
12644
4.95k
  }
12645
43.4k
yy504:
12646
43.4k
  YYDEBUG(504, *YYCURSOR);
12647
43.4k
  yych = *++YYCURSOR;
12648
43.4k
  if (yych <= '/') {
12649
12.3k
    if (yych == '.') goto yy690;
12650
8.11k
    goto yy59;
12651
31.1k
  } else {
12652
31.1k
    if (yych <= '2') goto yy506;
12653
15.4k
    if (yych <= '9') goto yy689;
12654
14.6k
    if (yych <= ':') goto yy690;
12655
3.60k
    goto yy59;
12656
14.6k
  }
12657
16.8k
yy505:
12658
16.8k
  YYDEBUG(505, *YYCURSOR);
12659
16.8k
  yych = *++YYCURSOR;
12660
16.8k
  if (yych <= '/') {
12661
6.75k
    if (yych == '.') goto yy690;
12662
5.51k
    goto yy59;
12663
10.0k
  } else {
12664
10.0k
    if (yych <= '4') goto yy689;
12665
7.06k
    if (yych == ':') goto yy690;
12666
1.40k
    goto yy59;
12667
7.06k
  }
12668
28.5k
yy506:
12669
28.5k
  YYDEBUG(506, *YYCURSOR);
12670
28.5k
  yych = *++YYCURSOR;
12671
28.5k
  if (yych == '.') goto yy690;
12672
26.2k
  if (yych == ':') goto yy690;
12673
9.51k
  goto yy59;
12674
46.4k
yy507:
12675
46.4k
  YYDEBUG(507, *YYCURSOR);
12676
46.4k
  yych = *++YYCURSOR;
12677
46.4k
  if (yych <= '/') goto yy59;
12678
42.4k
  if (yych <= '1') goto yy691;
12679
27.9k
  if (yych <= '2') goto yy692;
12680
17.5k
  if (yych <= '9') goto yy689;
12681
9.70k
  goto yy59;
12682
206k
yy508:
12683
206k
  YYDEBUG(508, *YYCURSOR);
12684
206k
  yyaccept = 10;
12685
206k
  yych = *(YYMARKER = ++YYCURSOR);
12686
206k
  if (yych <= '/') {
12687
89.7k
    if (yych == '.') goto yy688;
12688
6.58k
    goto yy325;
12689
117k
  } else {
12690
117k
    if (yych <= '0') goto yy693;
12691
84.7k
    if (yych <= '9') goto yy694;
12692
33.3k
    if (yych <= ':') goto yy688;
12693
10.5k
    goto yy325;
12694
33.3k
  }
12695
173k
yy509:
12696
173k
  YYDEBUG(509, *YYCURSOR);
12697
173k
  yyaccept = 10;
12698
173k
  yych = *(YYMARKER = ++YYCURSOR);
12699
173k
  if (yych <= '/') {
12700
59.3k
    if (yych == '.') goto yy690;
12701
10.0k
    goto yy325;
12702
114k
  } else {
12703
114k
    if (yych <= '2') goto yy694;
12704
55.5k
    if (yych <= '9') goto yy693;
12705
39.4k
    if (yych <= ':') goto yy690;
12706
17.7k
    goto yy325;
12707
39.4k
  }
12708
102k
yy510:
12709
102k
  YYDEBUG(510, *YYCURSOR);
12710
102k
  yyaccept = 10;
12711
102k
  yych = *(YYMARKER = ++YYCURSOR);
12712
102k
  if (yych <= '/') {
12713
15.8k
    if (yych == '.') goto yy690;
12714
5.22k
    goto yy325;
12715
86.6k
  } else {
12716
86.6k
    if (yych <= '4') goto yy693;
12717
70.0k
    if (yych <= '9') goto yy695;
12718
63.3k
    if (yych <= ':') goto yy690;
12719
10.1k
    goto yy325;
12720
63.3k
  }
12721
271k
yy511:
12722
271k
  YYDEBUG(511, *YYCURSOR);
12723
271k
  yyaccept = 10;
12724
271k
  yych = *(YYMARKER = ++YYCURSOR);
12725
271k
  if (yych <= '/') {
12726
180k
    if (yych == '.') goto yy690;
12727
8.09k
    goto yy325;
12728
180k
  } else {
12729
90.8k
    if (yych <= '9') goto yy695;
12730
67.0k
    if (yych <= ':') goto yy690;
12731
31.2k
    goto yy325;
12732
67.0k
  }
12733
124k
yy512:
12734
124k
  YYDEBUG(512, *YYCURSOR);
12735
124k
  yych = *++YYCURSOR;
12736
124k
  if (yych <= '/') goto yy59;
12737
97.0k
  if (yych <= '9') goto yy696;
12738
35.6k
  goto yy59;
12739
35.6k
yy513:
12740
9.14k
  YYDEBUG(513, *YYCURSOR);
12741
9.14k
  yyaccept = 10;
12742
9.14k
  yych = *(YYMARKER = ++YYCURSOR);
12743
9.14k
  if (yych <= 0x00) goto yy324;
12744
8.93k
  goto yy327;
12745
33.4k
yy514:
12746
33.4k
  YYDEBUG(514, *YYCURSOR);
12747
33.4k
  yych = *++YYCURSOR;
12748
33.4k
  if (yych <= 'A') {
12749
14.6k
    if (yych == ')') goto yy115;
12750
13.4k
    if (yych <= '@') goto yy20;
12751
11.4k
    goto yy698;
12752
18.7k
  } else {
12753
18.7k
    if (yych <= '`') {
12754
5.83k
      if (yych <= 'Z') goto yy658;
12755
2.23k
      goto yy20;
12756
12.9k
    } else {
12757
12.9k
      if (yych <= 'a') goto yy698;
12758
4.04k
      if (yych <= 'z') goto yy658;
12759
2.25k
      goto yy20;
12760
4.04k
    }
12761
18.7k
  }
12762
18.6k
yy515:
12763
18.6k
  YYDEBUG(515, *YYCURSOR);
12764
18.6k
  yyaccept = 7;
12765
18.6k
  yych = *(YYMARKER = ++YYCURSOR);
12766
18.6k
  if (yych <= ',') {
12767
6.01k
    if (yych <= 0x1F) {
12768
1.89k
      if (yych == '\t') goto yy142;
12769
613
      goto yy295;
12770
4.12k
    } else {
12771
4.12k
      if (yych <= ' ') goto yy142;
12772
2.58k
      if (yych == ')') goto yy115;
12773
1.28k
      goto yy295;
12774
2.58k
    }
12775
12.6k
  } else {
12776
12.6k
    if (yych <= '@') {
12777
5.98k
      if (yych == '/') goto yy295;
12778
5.31k
      if (yych <= '9') goto yy142;
12779
2.10k
      goto yy295;
12780
6.63k
    } else {
12781
6.63k
      if (yych <= 'Z') goto yy658;
12782
5.52k
      if (yych <= '`') goto yy295;
12783
4.57k
      if (yych <= 'z') goto yy658;
12784
786
      goto yy295;
12785
4.57k
    }
12786
12.6k
  }
12787
73.1k
yy516:
12788
73.1k
  YYDEBUG(516, *YYCURSOR);
12789
73.1k
  yyaccept = 2;
12790
73.1k
  yych = *(YYMARKER = ++YYCURSOR);
12791
73.1k
  if (yych <= '@') {
12792
7.95k
    if (yych <= ',') {
12793
2.05k
      if (yych == ')') goto yy115;
12794
1.55k
      goto yy20;
12795
5.89k
    } else {
12796
5.89k
      if (yych == '.') goto yy20;
12797
2.48k
      if (yych <= '/') goto yy297;
12798
2.34k
      goto yy20;
12799
2.48k
    }
12800
65.1k
  } else {
12801
65.1k
    if (yych <= '_') {
12802
8.34k
      if (yych <= 'A') goto yy698;
12803
5.19k
      if (yych <= 'Z') goto yy658;
12804
3.53k
      if (yych <= '^') goto yy20;
12805
1.83k
      goto yy297;
12806
56.8k
    } else {
12807
56.8k
      if (yych <= '`') goto yy20;
12808
56.3k
      if (yych <= 'a') goto yy699;
12809
16.8k
      if (yych <= 'z') goto yy663;
12810
7.22k
      goto yy20;
12811
16.8k
    }
12812
65.1k
  }
12813
23.7k
yy517:
12814
23.7k
  YYDEBUG(517, *YYCURSOR);
12815
23.7k
  yyaccept = 7;
12816
23.7k
  yych = *(YYMARKER = ++YYCURSOR);
12817
23.7k
  if (yych <= '.') {
12818
7.87k
    if (yych <= ' ') {
12819
2.51k
      if (yych == '\t') goto yy142;
12820
2.31k
      if (yych <= 0x1F) goto yy295;
12821
382
      goto yy142;
12822
5.36k
    } else {
12823
5.36k
      if (yych <= ')') {
12824
2.70k
        if (yych <= '(') goto yy295;
12825
2.36k
        goto yy115;
12826
2.70k
      } else {
12827
2.66k
        if (yych <= ',') goto yy295;
12828
1.09k
        if (yych <= '-') goto yy700;
12829
453
        goto yy142;
12830
1.09k
      }
12831
5.36k
    }
12832
15.8k
  } else {
12833
15.8k
    if (yych <= 'Z') {
12834
6.82k
      if (yych <= '/') goto yy297;
12835
3.63k
      if (yych <= '9') goto yy142;
12836
2.26k
      if (yych <= '@') goto yy295;
12837
1.58k
      goto yy658;
12838
9.05k
    } else {
12839
9.05k
      if (yych <= '_') {
12840
4.78k
        if (yych <= '^') goto yy295;
12841
2.27k
        goto yy297;
12842
4.78k
      } else {
12843
4.27k
        if (yych <= '`') goto yy295;
12844
3.25k
        if (yych <= 'z') goto yy663;
12845
2.68k
        goto yy295;
12846
3.25k
      }
12847
9.05k
    }
12848
15.8k
  }
12849
275k
yy518:
12850
275k
  YYDEBUG(518, *YYCURSOR);
12851
275k
  yyaccept = 2;
12852
275k
  yych = *(YYMARKER = ++YYCURSOR);
12853
275k
  if (yych <= '@') {
12854
183k
    if (yych <= 0x1F) {
12855
20.7k
      if (yych == '\t') goto yy701;
12856
9.90k
      goto yy20;
12857
163k
    } else {
12858
163k
      if (yych <= ' ') goto yy703;
12859
10.7k
      if (yych == ')') goto yy115;
12860
10.4k
      goto yy20;
12861
10.7k
    }
12862
183k
  } else {
12863
91.7k
    if (yych <= 0xC1) {
12864
32.4k
      if (yych <= 'Z') goto yy658;
12865
27.6k
      if (yych <= '`') goto yy20;
12866
18.4k
      if (yych <= 'z') goto yy658;
12867
10.0k
      goto yy20;
12868
59.3k
    } else {
12869
59.3k
      if (yych <= 0xC2) goto yy704;
12870
18.4k
      if (yych == 0xE2) goto yy705;
12871
3.05k
      goto yy20;
12872
18.4k
    }
12873
91.7k
  }
12874
68.7k
yy519:
12875
68.7k
  YYDEBUG(519, *YYCURSOR);
12876
68.7k
  yyaccept = 2;
12877
68.7k
  yych = *(YYMARKER = ++YYCURSOR);
12878
68.7k
  if (yych <= '/') {
12879
33.5k
    if (yych <= '(') {
12880
29.7k
      if (yych <= '\t') {
12881
16.4k
        if (yych <= 0x08) goto yy20;
12882
15.0k
        goto yy701;
12883
16.4k
      } else {
12884
13.3k
        if (yych == ' ') goto yy703;
12885
7.36k
        goto yy20;
12886
13.3k
      }
12887
29.7k
    } else {
12888
3.71k
      if (yych <= ',') {
12889
1.83k
        if (yych <= ')') goto yy115;
12890
608
        goto yy20;
12891
1.88k
      } else {
12892
1.88k
        if (yych == '.') goto yy20;
12893
1.15k
        goto yy297;
12894
1.88k
      }
12895
3.71k
    }
12896
35.2k
  } else {
12897
35.2k
    if (yych <= '`') {
12898
16.1k
      if (yych <= 'Z') {
12899
5.03k
        if (yych <= '@') goto yy20;
12900
2.49k
        goto yy658;
12901
11.1k
      } else {
12902
11.1k
        if (yych == '_') goto yy297;
12903
8.37k
        goto yy20;
12904
11.1k
      }
12905
19.1k
    } else {
12906
19.1k
      if (yych <= 0xC2) {
12907
8.17k
        if (yych <= 'z') goto yy663;
12908
6.80k
        if (yych <= 0xC1) goto yy20;
12909
5.22k
        goto yy704;
12910
10.9k
      } else {
12911
10.9k
        if (yych == 0xE2) goto yy705;
12912
697
        goto yy20;
12913
10.9k
      }
12914
19.1k
    }
12915
35.2k
  }
12916
34.4k
yy520:
12917
34.4k
  YYDEBUG(520, *YYCURSOR);
12918
34.4k
  yych = *++YYCURSOR;
12919
34.4k
  if (yych <= 'H') {
12920
18.8k
    if (yych <= ')') {
12921
8.24k
      if (yych <= '(') goto yy20;
12922
6.21k
      goto yy115;
12923
10.6k
    } else {
12924
10.6k
      if (yych <= '@') goto yy20;
12925
7.04k
      if (yych <= 'G') goto yy658;
12926
5.19k
      goto yy661;
12927
7.04k
    }
12928
18.8k
  } else {
12929
15.5k
    if (yych <= 'g') {
12930
8.54k
      if (yych <= 'Z') goto yy658;
12931
8.33k
      if (yych <= '`') goto yy20;
12932
6.15k
      goto yy658;
12933
8.33k
    } else {
12934
7.03k
      if (yych <= 'h') goto yy661;
12935
2.47k
      if (yych <= 'z') goto yy658;
12936
1.25k
      goto yy20;
12937
2.47k
    }
12938
15.5k
  }
12939
31.5k
yy521:
12940
31.5k
  YYDEBUG(521, *YYCURSOR);
12941
31.5k
  yych = *++YYCURSOR;
12942
31.5k
  if (yych <= 'I') {
12943
12.0k
    if (yych <= ')') {
12944
5.61k
      if (yych <= '(') goto yy20;
12945
2.76k
      goto yy115;
12946
6.45k
    } else {
12947
6.45k
      if (yych <= '@') goto yy20;
12948
5.45k
      if (yych <= 'H') goto yy658;
12949
4.45k
      goto yy706;
12950
5.45k
    }
12951
19.4k
  } else {
12952
19.4k
    if (yych <= 'h') {
12953
5.48k
      if (yych <= 'Z') goto yy658;
12954
3.92k
      if (yych <= '`') goto yy20;
12955
1.18k
      goto yy658;
12956
14.0k
    } else {
12957
14.0k
      if (yych <= 'i') goto yy706;
12958
3.91k
      if (yych <= 'z') goto yy658;
12959
2.90k
      goto yy20;
12960
3.91k
    }
12961
19.4k
  }
12962
25.6k
yy522:
12963
25.6k
  YYDEBUG(522, *YYCURSOR);
12964
25.6k
  yyaccept = 2;
12965
25.6k
  yych = *(YYMARKER = ++YYCURSOR);
12966
25.6k
  if (yych <= 'G') {
12967
10.3k
    if (yych <= '-') {
12968
6.42k
      if (yych == ')') goto yy115;
12969
4.32k
      if (yych <= ',') goto yy20;
12970
284
      goto yy297;
12971
4.32k
    } else {
12972
3.93k
      if (yych == '/') goto yy297;
12973
3.47k
      if (yych <= '@') goto yy20;
12974
1.10k
      goto yy658;
12975
3.47k
    }
12976
15.2k
  } else {
12977
15.2k
    if (yych <= '_') {
12978
6.07k
      if (yych <= 'H') goto yy661;
12979
5.73k
      if (yych <= 'Z') goto yy658;
12980
1.84k
      if (yych <= '^') goto yy20;
12981
784
      goto yy297;
12982
9.19k
    } else {
12983
9.19k
      if (yych <= 'g') {
12984
1.50k
        if (yych <= '`') goto yy20;
12985
637
        goto yy663;
12986
7.68k
      } else {
12987
7.68k
        if (yych <= 'h') goto yy664;
12988
4.79k
        if (yych <= 'z') goto yy663;
12989
2.95k
        goto yy20;
12990
4.79k
      }
12991
9.19k
    }
12992
15.2k
  }
12993
89.6k
yy523:
12994
89.6k
  YYDEBUG(523, *YYCURSOR);
12995
89.6k
  yyaccept = 2;
12996
89.6k
  yych = *(YYMARKER = ++YYCURSOR);
12997
89.6k
  if (yych <= 'H') {
12998
21.7k
    if (yych <= '-') {
12999
12.5k
      if (yych == ')') goto yy115;
13000
11.7k
      if (yych <= ',') goto yy20;
13001
9.77k
      goto yy297;
13002
11.7k
    } else {
13003
9.15k
      if (yych == '/') goto yy297;
13004
8.23k
      if (yych <= '@') goto yy20;
13005
3.05k
      goto yy658;
13006
8.23k
    }
13007
67.9k
  } else {
13008
67.9k
    if (yych <= '_') {
13009
12.0k
      if (yych <= 'I') goto yy706;
13010
4.22k
      if (yych <= 'Z') goto yy658;
13011
2.83k
      if (yych <= '^') goto yy20;
13012
1.06k
      goto yy297;
13013
55.8k
    } else {
13014
55.8k
      if (yych <= 'h') {
13015
2.80k
        if (yych <= '`') goto yy20;
13016
1.56k
        goto yy663;
13017
53.0k
      } else {
13018
53.0k
        if (yych <= 'i') goto yy707;
13019
2.05k
        if (yych <= 'z') goto yy663;
13020
1.23k
        goto yy20;
13021
2.05k
      }
13022
55.8k
    }
13023
67.9k
  }
13024
107k
yy524:
13025
107k
  YYDEBUG(524, *YYCURSOR);
13026
107k
  yyaccept = 2;
13027
107k
  yych = *(YYMARKER = ++YYCURSOR);
13028
107k
  if (yych <= '@') {
13029
52.2k
    if (yych <= 0x1F) {
13030
4.21k
      if (yych == '\t') goto yy701;
13031
2.61k
      goto yy20;
13032
47.9k
    } else {
13033
47.9k
      if (yych <= ' ') goto yy701;
13034
6.53k
      if (yych == ')') goto yy115;
13035
5.59k
      goto yy20;
13036
6.53k
    }
13037
54.8k
  } else {
13038
54.8k
    if (yych <= 0xC1) {
13039
11.2k
      if (yych <= 'Z') goto yy658;
13040
7.95k
      if (yych <= '`') goto yy20;
13041
6.49k
      if (yych <= 'z') goto yy658;
13042
2.03k
      goto yy20;
13043
43.5k
    } else {
13044
43.5k
      if (yych <= 0xC2) goto yy704;
13045
42.6k
      if (yych == 0xE2) goto yy705;
13046
6.87k
      goto yy20;
13047
42.6k
    }
13048
54.8k
  }
13049
17.1k
yy525:
13050
17.1k
  YYDEBUG(525, *YYCURSOR);
13051
17.1k
  yych = *++YYCURSOR;
13052
17.1k
  if (yych <= '@') {
13053
5.35k
    if (yych == ')') goto yy115;
13054
11.8k
  } else {
13055
11.8k
    if (yych <= 'Z') goto yy658;
13056
8.96k
    if (yych <= '`') goto yy526;
13057
7.27k
    if (yych <= 'z') goto yy658;
13058
7.27k
  }
13059
27.1k
yy526:
13060
27.1k
  YYDEBUG(526, *YYCURSOR);
13061
27.1k
#line 1187 "ext/date/lib/parse_date.re"
13062
27.1k
  {
13063
27.1k
    DEBUG_OUTPUT("noon");
13064
27.1k
    TIMELIB_INIT;
13065
27.1k
    TIMELIB_UNHAVE_TIME();
13066
27.1k
    TIMELIB_HAVE_TIME();
13067
27.1k
    s->time->h = 12;
13068
13069
27.1k
    TIMELIB_DEINIT;
13070
27.1k
    return TIMELIB_RELATIVE;
13071
27.1k
  }
13072
0
#line 13073 "ext/date/lib/parse_date.c"
13073
80.4k
yy527:
13074
80.4k
  YYDEBUG(527, *YYCURSOR);
13075
80.4k
  yyaccept = 2;
13076
80.4k
  yych = *(YYMARKER = ++YYCURSOR);
13077
80.4k
  if (yych <= '/') {
13078
33.0k
    if (yych <= '(') {
13079
29.4k
      if (yych <= '\t') {
13080
8.00k
        if (yych <= 0x08) goto yy20;
13081
3.43k
        goto yy701;
13082
21.4k
      } else {
13083
21.4k
        if (yych == ' ') goto yy701;
13084
1.23k
        goto yy20;
13085
21.4k
      }
13086
29.4k
    } else {
13087
3.52k
      if (yych <= ',') {
13088
1.70k
        if (yych <= ')') goto yy115;
13089
896
        goto yy20;
13090
1.82k
      } else {
13091
1.82k
        if (yych == '.') goto yy20;
13092
1.06k
        goto yy297;
13093
1.82k
      }
13094
3.52k
    }
13095
47.4k
  } else {
13096
47.4k
    if (yych <= '`') {
13097
16.2k
      if (yych <= 'Z') {
13098
13.8k
        if (yych <= '@') goto yy20;
13099
12.9k
        goto yy658;
13100
13.8k
      } else {
13101
2.38k
        if (yych == '_') goto yy297;
13102
684
        goto yy20;
13103
2.38k
      }
13104
31.2k
    } else {
13105
31.2k
      if (yych <= 0xC2) {
13106
20.4k
        if (yych <= 'z') goto yy663;
13107
17.2k
        if (yych <= 0xC1) goto yy20;
13108
11.0k
        goto yy704;
13109
17.2k
      } else {
13110
10.7k
        if (yych == 0xE2) goto yy705;
13111
3.31k
        goto yy20;
13112
10.7k
      }
13113
31.2k
    }
13114
47.4k
  }
13115
22.5k
yy528:
13116
22.5k
  YYDEBUG(528, *YYCURSOR);
13117
22.5k
  yyaccept = 14;
13118
22.5k
  yych = *(YYMARKER = ++YYCURSOR);
13119
22.5k
  if (yych <= '/') {
13120
6.08k
    if (yych <= ',') {
13121
1.56k
      if (yych == ')') goto yy115;
13122
1.10k
      goto yy526;
13123
4.52k
    } else {
13124
4.52k
      if (yych == '.') goto yy526;
13125
3.61k
      goto yy297;
13126
4.52k
    }
13127
16.4k
  } else {
13128
16.4k
    if (yych <= '^') {
13129
10.1k
      if (yych <= '@') goto yy526;
13130
2.25k
      if (yych <= 'Z') goto yy658;
13131
921
      goto yy526;
13132
6.34k
    } else {
13133
6.34k
      if (yych <= '_') goto yy297;
13134
5.46k
      if (yych <= '`') goto yy526;
13135
5.04k
      if (yych <= 'z') goto yy663;
13136
2.75k
      goto yy526;
13137
5.04k
    }
13138
16.4k
  }
13139
39.9k
yy529:
13140
39.9k
  YYDEBUG(529, *YYCURSOR);
13141
39.9k
  yych = *++YYCURSOR;
13142
39.9k
  if (yych <= 'B') {
13143
13.0k
    if (yych <= ')') {
13144
2.31k
      if (yych <= '(') goto yy20;
13145
879
      goto yy115;
13146
10.7k
    } else {
13147
10.7k
      if (yych <= '@') goto yy20;
13148
6.68k
      if (yych <= 'A') goto yy658;
13149
6.07k
      goto yy708;
13150
6.68k
    }
13151
26.8k
  } else {
13152
26.8k
    if (yych <= 'a') {
13153
3.89k
      if (yych <= 'Z') goto yy658;
13154
1.23k
      if (yych <= '`') goto yy20;
13155
566
      goto yy658;
13156
22.9k
    } else {
13157
22.9k
      if (yych <= 'b') goto yy708;
13158
3.82k
      if (yych <= 'z') goto yy658;
13159
2.56k
      goto yy20;
13160
3.82k
    }
13161
26.8k
  }
13162
71.1k
yy530:
13163
71.1k
  YYDEBUG(530, *YYCURSOR);
13164
71.1k
  yyaccept = 2;
13165
71.1k
  yych = *(YYMARKER = ++YYCURSOR);
13166
71.1k
  if (yych <= 'A') {
13167
16.6k
    if (yych <= '-') {
13168
4.28k
      if (yych == ')') goto yy115;
13169
3.02k
      if (yych <= ',') goto yy20;
13170
1.66k
      goto yy297;
13171
12.3k
    } else {
13172
12.3k
      if (yych == '/') goto yy297;
13173
10.5k
      if (yych <= '@') goto yy20;
13174
826
      goto yy658;
13175
10.5k
    }
13176
54.4k
  } else {
13177
54.4k
    if (yych <= '_') {
13178
6.04k
      if (yych <= 'B') goto yy708;
13179
2.74k
      if (yych <= 'Z') goto yy658;
13180
1.19k
      if (yych <= '^') goto yy20;
13181
523
      goto yy297;
13182
48.3k
    } else {
13183
48.3k
      if (yych <= 'a') {
13184
3.61k
        if (yych <= '`') goto yy20;
13185
968
        goto yy663;
13186
44.7k
      } else {
13187
44.7k
        if (yych <= 'b') goto yy709;
13188
9.39k
        if (yych <= 'z') goto yy663;
13189
7.14k
        goto yy20;
13190
9.39k
      }
13191
48.3k
    }
13192
54.4k
  }
13193
109k
yy531:
13194
109k
  YYDEBUG(531, *YYCURSOR);
13195
109k
  yych = *++YYCURSOR;
13196
109k
  if (yych <= 'I') {
13197
11.7k
    if (yych <= ')') {
13198
2.47k
      if (yych <= '(') goto yy20;
13199
827
      goto yy115;
13200
9.23k
    } else {
13201
9.23k
      if (yych <= '@') goto yy20;
13202
6.50k
      if (yych <= 'H') goto yy658;
13203
4.94k
      goto yy710;
13204
6.50k
    }
13205
97.7k
  } else {
13206
97.7k
    if (yych <= 'h') {
13207
5.04k
      if (yych <= 'Z') goto yy658;
13208
4.73k
      if (yych <= '`') goto yy20;
13209
4.48k
      goto yy658;
13210
92.7k
    } else {
13211
92.7k
      if (yych <= 'i') goto yy710;
13212
4.32k
      if (yych <= 'z') goto yy658;
13213
2.65k
      goto yy20;
13214
4.32k
    }
13215
97.7k
  }
13216
74.1k
yy532:
13217
74.1k
  YYDEBUG(532, *YYCURSOR);
13218
74.1k
  yyaccept = 2;
13219
74.1k
  yych = *(YYMARKER = ++YYCURSOR);
13220
74.1k
  if (yych <= 'H') {
13221
12.6k
    if (yych <= '-') {
13222
6.89k
      if (yych == ')') goto yy115;
13223
6.17k
      if (yych <= ',') goto yy20;
13224
1.38k
      goto yy297;
13225
6.17k
    } else {
13226
5.71k
      if (yych == '/') goto yy297;
13227
3.80k
      if (yych <= '@') goto yy20;
13228
352
      goto yy658;
13229
3.80k
    }
13230
61.4k
  } else {
13231
61.4k
    if (yych <= '_') {
13232
4.96k
      if (yych <= 'I') goto yy710;
13233
3.47k
      if (yych <= 'Z') goto yy658;
13234
2.48k
      if (yych <= '^') goto yy20;
13235
952
      goto yy297;
13236
56.5k
    } else {
13237
56.5k
      if (yych <= 'h') {
13238
2.90k
        if (yych <= '`') goto yy20;
13239
2.16k
        goto yy663;
13240
53.6k
      } else {
13241
53.6k
        if (yych <= 'i') goto yy711;
13242
9.99k
        if (yych <= 'z') goto yy663;
13243
8.10k
        goto yy20;
13244
9.99k
      }
13245
56.5k
    }
13246
61.4k
  }
13247
40.0k
yy533:
13248
40.0k
  YYDEBUG(533, *YYCURSOR);
13249
40.0k
  yych = *++YYCURSOR;
13250
40.0k
  if (yych <= 'R') {
13251
14.5k
    if (yych <= ')') {
13252
1.46k
      if (yych <= '(') goto yy20;
13253
455
      goto yy115;
13254
13.1k
    } else {
13255
13.1k
      if (yych <= '@') goto yy20;
13256
6.44k
      if (yych <= 'Q') goto yy658;
13257
4.67k
      goto yy712;
13258
6.44k
    }
13259
25.5k
  } else {
13260
25.5k
    if (yych <= 'q') {
13261
3.01k
      if (yych <= 'Z') goto yy658;
13262
2.38k
      if (yych <= '`') goto yy20;
13263
1.46k
      goto yy658;
13264
22.5k
    } else {
13265
22.5k
      if (yych <= 'r') goto yy712;
13266
11.7k
      if (yych <= 'z') goto yy658;
13267
8.07k
      goto yy20;
13268
11.7k
    }
13269
25.5k
  }
13270
40.7k
yy534:
13271
40.7k
  YYDEBUG(534, *YYCURSOR);
13272
40.7k
  yych = *++YYCURSOR;
13273
40.7k
  if (yych <= 'N') {
13274
23.7k
    if (yych <= ')') {
13275
3.65k
      if (yych <= '(') goto yy20;
13276
2.58k
      goto yy115;
13277
20.0k
    } else {
13278
20.0k
      if (yych <= '@') goto yy20;
13279
14.2k
      if (yych <= 'M') goto yy658;
13280
12.9k
      goto yy713;
13281
14.2k
    }
13282
23.7k
  } else {
13283
16.9k
    if (yych <= 'm') {
13284
2.20k
      if (yych <= 'Z') goto yy658;
13285
1.96k
      if (yych <= '`') goto yy20;
13286
1.28k
      goto yy658;
13287
14.7k
    } else {
13288
14.7k
      if (yych <= 'n') goto yy713;
13289
4.16k
      if (yych <= 'z') goto yy658;
13290
2.98k
      goto yy20;
13291
4.16k
    }
13292
16.9k
  }
13293
71.5k
yy535:
13294
71.5k
  YYDEBUG(535, *YYCURSOR);
13295
71.5k
  yyaccept = 7;
13296
71.5k
  yych = *(YYMARKER = ++YYCURSOR);
13297
71.5k
  if (yych <= '/') {
13298
18.3k
    if (yych <= '(') {
13299
9.61k
      if (yych <= '\t') {
13300
2.74k
        if (yych <= 0x08) goto yy295;
13301
2.03k
        goto yy142;
13302
6.86k
      } else {
13303
6.86k
        if (yych == ' ') goto yy142;
13304
2.93k
        goto yy295;
13305
6.86k
      }
13306
9.61k
    } else {
13307
8.68k
      if (yych <= ',') {
13308
1.64k
        if (yych <= ')') goto yy115;
13309
1.15k
        goto yy295;
13310
7.04k
      } else {
13311
7.04k
        if (yych <= '-') goto yy473;
13312
3.56k
        if (yych <= '.') goto yy142;
13313
2.74k
        goto yy295;
13314
3.56k
      }
13315
8.68k
    }
13316
53.2k
  } else {
13317
53.2k
    if (yych <= 'Z') {
13318
28.3k
      if (yych <= '@') {
13319
24.2k
        if (yych <= '9') goto yy142;
13320
3.49k
        goto yy295;
13321
24.2k
      } else {
13322
4.05k
        if (yych == 'E') goto yy714;
13323
1.58k
        goto yy658;
13324
4.05k
      }
13325
28.3k
    } else {
13326
24.9k
      if (yych <= 'd') {
13327
1.72k
        if (yych <= '`') goto yy295;
13328
1.15k
        goto yy658;
13329
23.1k
      } else {
13330
23.1k
        if (yych <= 'e') goto yy714;
13331
12.5k
        if (yych <= 'z') goto yy658;
13332
7.82k
        goto yy295;
13333
12.5k
      }
13334
24.9k
    }
13335
53.2k
  }
13336
29.5k
yy536:
13337
29.5k
  YYDEBUG(536, *YYCURSOR);
13338
29.5k
  yych = *++YYCURSOR;
13339
29.5k
  if (yych <= 'N') {
13340
10.9k
    if (yych <= ')') {
13341
6.34k
      if (yych <= '(') goto yy20;
13342
1.38k
      goto yy115;
13343
6.34k
    } else {
13344
4.59k
      if (yych <= '@') goto yy20;
13345
2.54k
      if (yych <= 'M') goto yy658;
13346
624
      goto yy715;
13347
2.54k
    }
13348
18.6k
  } else {
13349
18.6k
    if (yych <= 'm') {
13350
2.63k
      if (yych <= 'Z') goto yy658;
13351
2.29k
      if (yych <= '`') goto yy20;
13352
1.77k
      goto yy658;
13353
15.9k
    } else {
13354
15.9k
      if (yych <= 'n') goto yy715;
13355
5.05k
      if (yych <= 'z') goto yy658;
13356
3.30k
      goto yy20;
13357
5.05k
    }
13358
18.6k
  }
13359
58.1k
yy537:
13360
58.1k
  YYDEBUG(537, *YYCURSOR);
13361
58.1k
  yyaccept = 2;
13362
58.1k
  yych = *(YYMARKER = ++YYCURSOR);
13363
58.1k
  if (yych <= 'Q') {
13364
14.0k
    if (yych <= '-') {
13365
5.93k
      if (yych == ')') goto yy115;
13366
5.52k
      if (yych <= ',') goto yy20;
13367
3.39k
      goto yy297;
13368
8.14k
    } else {
13369
8.14k
      if (yych == '/') goto yy297;
13370
7.60k
      if (yych <= '@') goto yy20;
13371
3.88k
      goto yy658;
13372
7.60k
    }
13373
44.0k
  } else {
13374
44.0k
    if (yych <= '_') {
13375
15.8k
      if (yych <= 'R') goto yy712;
13376
6.50k
      if (yych <= 'Z') goto yy658;
13377
3.87k
      if (yych <= '^') goto yy20;
13378
866
      goto yy297;
13379
28.2k
    } else {
13380
28.2k
      if (yych <= 'q') {
13381
3.58k
        if (yych <= '`') goto yy20;
13382
3.00k
        goto yy663;
13383
24.6k
      } else {
13384
24.6k
        if (yych <= 'r') goto yy716;
13385
8.83k
        if (yych <= 'z') goto yy663;
13386
6.46k
        goto yy20;
13387
8.83k
      }
13388
28.2k
    }
13389
44.0k
  }
13390
87.9k
yy538:
13391
87.9k
  YYDEBUG(538, *YYCURSOR);
13392
87.9k
  yyaccept = 2;
13393
87.9k
  yych = *(YYMARKER = ++YYCURSOR);
13394
87.9k
  if (yych <= 'M') {
13395
17.0k
    if (yych <= '-') {
13396
5.84k
      if (yych == ')') goto yy115;
13397
3.94k
      if (yych <= ',') goto yy20;
13398
861
      goto yy297;
13399
11.1k
    } else {
13400
11.1k
      if (yych == '/') goto yy297;
13401
8.10k
      if (yych <= '@') goto yy20;
13402
1.48k
      goto yy658;
13403
8.10k
    }
13404
70.9k
  } else {
13405
70.9k
    if (yych <= '_') {
13406
19.9k
      if (yych <= 'N') goto yy713;
13407
8.24k
      if (yych <= 'Z') goto yy658;
13408
7.03k
      if (yych <= '^') goto yy20;
13409
719
      goto yy297;
13410
50.9k
    } else {
13411
50.9k
      if (yych <= 'm') {
13412
3.31k
        if (yych <= '`') goto yy20;
13413
3.11k
        goto yy663;
13414
47.6k
      } else {
13415
47.6k
        if (yych <= 'n') goto yy717;
13416
18.3k
        if (yych <= 'z') goto yy663;
13417
9.25k
        goto yy20;
13418
18.3k
      }
13419
50.9k
    }
13420
70.9k
  }
13421
93.5k
yy539:
13422
93.5k
  YYDEBUG(539, *YYCURSOR);
13423
93.5k
  yyaccept = 7;
13424
93.5k
  yych = *(YYMARKER = ++YYCURSOR);
13425
93.5k
  if (yych <= '9') {
13426
13.5k
    if (yych <= '(') {
13427
5.78k
      if (yych <= '\t') {
13428
1.38k
        if (yych <= 0x08) goto yy295;
13429
262
        goto yy142;
13430
4.39k
      } else {
13431
4.39k
        if (yych == ' ') goto yy142;
13432
2.35k
        goto yy295;
13433
4.39k
      }
13434
7.71k
    } else {
13435
7.71k
      if (yych <= '-') {
13436
2.65k
        if (yych <= ')') goto yy115;
13437
1.71k
        if (yych <= ',') goto yy295;
13438
744
        goto yy479;
13439
5.05k
      } else {
13440
5.05k
        if (yych == '/') goto yy297;
13441
3.29k
        goto yy142;
13442
5.05k
      }
13443
7.71k
    }
13444
80.0k
  } else {
13445
80.0k
    if (yych <= '^') {
13446
19.6k
      if (yych <= 'D') {
13447
7.25k
        if (yych <= '@') goto yy295;
13448
352
        goto yy658;
13449
12.3k
      } else {
13450
12.3k
        if (yych <= 'E') goto yy714;
13451
3.26k
        if (yych <= 'Z') goto yy658;
13452
1.47k
        goto yy295;
13453
3.26k
      }
13454
60.4k
    } else {
13455
60.4k
      if (yych <= 'd') {
13456
3.25k
        if (yych <= '_') goto yy297;
13457
605
        if (yych <= '`') goto yy295;
13458
177
        goto yy663;
13459
57.1k
      } else {
13460
57.1k
        if (yych <= 'e') goto yy718;
13461
10.2k
        if (yych <= 'z') goto yy663;
13462
8.59k
        goto yy295;
13463
10.2k
      }
13464
60.4k
    }
13465
80.0k
  }
13466
59.9k
yy540:
13467
59.9k
  YYDEBUG(540, *YYCURSOR);
13468
59.9k
  yyaccept = 2;
13469
59.9k
  yych = *(YYMARKER = ++YYCURSOR);
13470
59.9k
  if (yych <= 'M') {
13471
8.77k
    if (yych <= '-') {
13472
5.52k
      if (yych == ')') goto yy115;
13473
3.79k
      if (yych <= ',') goto yy20;
13474
2.05k
      goto yy297;
13475
3.79k
    } else {
13476
3.24k
      if (yych == '/') goto yy297;
13477
2.61k
      if (yych <= '@') goto yy20;
13478
1.09k
      goto yy658;
13479
2.61k
    }
13480
51.1k
  } else {
13481
51.1k
    if (yych <= '_') {
13482
5.00k
      if (yych <= 'N') goto yy715;
13483
2.54k
      if (yych <= 'Z') goto yy658;
13484
1.26k
      if (yych <= '^') goto yy20;
13485
118
      goto yy297;
13486
46.1k
    } else {
13487
46.1k
      if (yych <= 'm') {
13488
2.90k
        if (yych <= '`') goto yy20;
13489
1.45k
        goto yy663;
13490
43.2k
      } else {
13491
43.2k
        if (yych <= 'n') goto yy719;
13492
2.79k
        if (yych <= 'z') goto yy663;
13493
1.57k
        goto yy20;
13494
2.79k
      }
13495
46.1k
    }
13496
51.1k
  }
13497
73.5k
yy541:
13498
73.5k
  YYDEBUG(541, *YYCURSOR);
13499
73.5k
  yych = *++YYCURSOR;
13500
73.5k
  if (yych <= '/') goto yy59;
13501
52.2k
  if (yych <= '9') goto yy720;
13502
17.5k
  goto yy59;
13503
17.5k
yy542:
13504
16.3k
  YYDEBUG(542, *YYCURSOR);
13505
16.3k
  yych = *++YYCURSOR;
13506
16.3k
  if (yych <= 'D') {
13507
5.56k
    if (yych <= ')') {
13508
2.45k
      if (yych <= '(') goto yy20;
13509
1.44k
      goto yy115;
13510
3.10k
    } else {
13511
3.10k
      if (yych <= '@') goto yy20;
13512
604
      if (yych <= 'C') goto yy658;
13513
286
      goto yy674;
13514
604
    }
13515
10.7k
  } else {
13516
10.7k
    if (yych <= 'c') {
13517
4.49k
      if (yych <= 'Z') goto yy658;
13518
1.44k
      if (yych <= '`') goto yy20;
13519
497
      goto yy658;
13520
6.26k
    } else {
13521
6.26k
      if (yych <= 'd') goto yy674;
13522
2.13k
      if (yych <= 'z') goto yy658;
13523
1.06k
      goto yy20;
13524
2.13k
    }
13525
10.7k
  }
13526
27.5k
yy543:
13527
27.5k
  YYDEBUG(543, *YYCURSOR);
13528
27.5k
  yych = *++YYCURSOR;
13529
27.5k
  if (yych <= 'S') {
13530
7.74k
    if (yych <= ')') {
13531
3.45k
      if (yych <= '(') goto yy20;
13532
1.08k
      goto yy115;
13533
4.28k
    } else {
13534
4.28k
      if (yych <= '@') goto yy20;
13535
3.29k
      if (yych <= 'R') goto yy658;
13536
1.68k
      goto yy712;
13537
3.29k
    }
13538
19.7k
  } else {
13539
19.7k
    if (yych <= 'r') {
13540
2.78k
      if (yych <= 'Z') goto yy658;
13541
2.60k
      if (yych <= '`') goto yy20;
13542
2.05k
      goto yy658;
13543
16.9k
    } else {
13544
16.9k
      if (yych <= 's') goto yy712;
13545
3.24k
      if (yych <= 'z') goto yy658;
13546
2.35k
      goto yy20;
13547
3.24k
    }
13548
19.7k
  }
13549
28.1k
yy544:
13550
28.1k
  YYDEBUG(544, *YYCURSOR);
13551
28.1k
  yych = *++YYCURSOR;
13552
28.1k
  if (yych <= 'Y') {
13553
18.5k
    if (yych <= ')') {
13554
8.96k
      if (yych <= '(') goto yy20;
13555
4.65k
      goto yy115;
13556
9.57k
    } else {
13557
9.57k
      if (yych <= '@') goto yy20;
13558
5.43k
      if (yych <= 'X') goto yy658;
13559
4.01k
      goto yy721;
13560
5.43k
    }
13561
18.5k
  } else {
13562
9.61k
    if (yych <= 'x') {
13563
3.63k
      if (yych <= 'Z') goto yy658;
13564
3.30k
      if (yych <= '`') goto yy20;
13565
2.36k
      goto yy658;
13566
5.98k
    } else {
13567
5.98k
      if (yych <= 'y') goto yy721;
13568
2.23k
      if (yych <= 'z') goto yy658;
13569
1.47k
      goto yy20;
13570
2.23k
    }
13571
9.61k
  }
13572
47.6k
yy545:
13573
47.6k
  YYDEBUG(545, *YYCURSOR);
13574
47.6k
  yych = *++YYCURSOR;
13575
47.6k
  if (yych <= 'R') {
13576
18.4k
    if (yych <= ')') {
13577
9.26k
      if (yych <= '(') goto yy20;
13578
2.96k
      goto yy115;
13579
9.26k
    } else {
13580
9.21k
      if (yych <= '@') goto yy20;
13581
3.29k
      if (yych <= 'Q') goto yy658;
13582
3.06k
      goto yy723;
13583
3.29k
    }
13584
29.1k
  } else {
13585
29.1k
    if (yych <= 'q') {
13586
5.26k
      if (yych <= 'Z') goto yy658;
13587
4.12k
      if (yych <= '`') goto yy20;
13588
3.24k
      goto yy658;
13589
23.9k
    } else {
13590
23.9k
      if (yych <= 'r') goto yy723;
13591
3.56k
      if (yych <= 'z') goto yy658;
13592
2.23k
      goto yy20;
13593
3.56k
    }
13594
29.1k
  }
13595
56.2k
yy546:
13596
56.2k
  YYDEBUG(546, *YYCURSOR);
13597
56.2k
  yych = *++YYCURSOR;
13598
56.2k
  if (yych <= 'D') {
13599
19.9k
    if (yych <= ')') {
13600
6.09k
      if (yych <= '(') goto yy20;
13601
1.84k
      goto yy115;
13602
13.8k
    } else {
13603
13.8k
      if (yych <= '@') goto yy20;
13604
9.13k
      if (yych <= 'C') goto yy658;
13605
7.86k
      goto yy724;
13606
9.13k
    }
13607
36.3k
  } else {
13608
36.3k
    if (yych <= 'c') {
13609
15.0k
      if (yych <= 'Z') goto yy658;
13610
4.72k
      if (yych <= '`') goto yy20;
13611
3.28k
      goto yy658;
13612
21.2k
    } else {
13613
21.2k
      if (yych <= 'd') goto yy724;
13614
7.12k
      if (yych <= 'z') goto yy658;
13615
2.29k
      goto yy20;
13616
7.12k
    }
13617
36.3k
  }
13618
40.0k
yy547:
13619
40.0k
  YYDEBUG(547, *YYCURSOR);
13620
40.0k
  yych = *++YYCURSOR;
13621
40.0k
  if (yych <= 'F') {
13622
26.5k
    if (yych <= ')') {
13623
10.6k
      if (yych <= '(') goto yy20;
13624
5.00k
      goto yy115;
13625
15.9k
    } else {
13626
15.9k
      if (yych <= '@') goto yy20;
13627
14.5k
      if (yych <= 'E') goto yy658;
13628
3.35k
      goto yy715;
13629
14.5k
    }
13630
26.5k
  } else {
13631
13.5k
    if (yych <= 'e') {
13632
4.60k
      if (yych <= 'Z') goto yy658;
13633
1.87k
      if (yych <= '`') goto yy20;
13634
1.58k
      goto yy658;
13635
8.90k
    } else {
13636
8.90k
      if (yych <= 'f') goto yy715;
13637
6.70k
      if (yych <= 'z') goto yy658;
13638
5.42k
      goto yy20;
13639
6.70k
    }
13640
13.5k
  }
13641
44.3k
yy548:
13642
44.3k
  YYDEBUG(548, *YYCURSOR);
13643
44.3k
  yyaccept = 2;
13644
44.3k
  yych = *(YYMARKER = ++YYCURSOR);
13645
44.3k
  if (yych <= 'C') {
13646
8.91k
    if (yych <= '-') {
13647
6.27k
      if (yych == ')') goto yy115;
13648
5.27k
      if (yych <= ',') goto yy20;
13649
1.32k
      goto yy297;
13650
5.27k
    } else {
13651
2.64k
      if (yych == '/') goto yy297;
13652
1.98k
      if (yych <= '@') goto yy20;
13653
654
      goto yy658;
13654
1.98k
    }
13655
35.3k
  } else {
13656
35.3k
    if (yych <= '_') {
13657
6.38k
      if (yych <= 'D') goto yy674;
13658
2.79k
      if (yych <= 'Z') goto yy658;
13659
766
      if (yych <= '^') goto yy20;
13660
137
      goto yy297;
13661
28.9k
    } else {
13662
28.9k
      if (yych <= 'c') {
13663
3.65k
        if (yych <= '`') goto yy20;
13664
2.93k
        goto yy663;
13665
25.3k
      } else {
13666
25.3k
        if (yych <= 'd') goto yy680;
13667
4.81k
        if (yych <= 'z') goto yy663;
13668
3.26k
        goto yy20;
13669
4.81k
      }
13670
28.9k
    }
13671
35.3k
  }
13672
58.3k
yy549:
13673
58.3k
  YYDEBUG(549, *YYCURSOR);
13674
58.3k
  yyaccept = 2;
13675
58.3k
  yych = *(YYMARKER = ++YYCURSOR);
13676
58.3k
  if (yych <= 'R') {
13677
9.42k
    if (yych <= '-') {
13678
5.54k
      if (yych == ')') goto yy115;
13679
4.90k
      if (yych <= ',') goto yy20;
13680
1.43k
      goto yy297;
13681
4.90k
    } else {
13682
3.88k
      if (yych == '/') goto yy297;
13683
3.49k
      if (yych <= '@') goto yy20;
13684
2.73k
      goto yy658;
13685
3.49k
    }
13686
48.8k
  } else {
13687
48.8k
    if (yych <= '_') {
13688
8.91k
      if (yych <= 'S') goto yy712;
13689
6.78k
      if (yych <= 'Z') goto yy658;
13690
4.92k
      if (yych <= '^') goto yy20;
13691
1.82k
      goto yy297;
13692
39.9k
    } else {
13693
39.9k
      if (yych <= 'r') {
13694
2.18k
        if (yych <= '`') goto yy20;
13695
1.64k
        goto yy663;
13696
37.7k
      } else {
13697
37.7k
        if (yych <= 's') goto yy716;
13698
10.4k
        if (yych <= 'z') goto yy663;
13699
3.63k
        goto yy20;
13700
10.4k
      }
13701
39.9k
    }
13702
48.8k
  }
13703
43.5k
yy550:
13704
43.5k
  YYDEBUG(550, *YYCURSOR);
13705
43.5k
  yyaccept = 2;
13706
43.5k
  yych = *(YYMARKER = ++YYCURSOR);
13707
43.5k
  if (yych <= 'X') {
13708
7.99k
    if (yych <= '-') {
13709
5.68k
      if (yych == ')') goto yy115;
13710
3.92k
      if (yych <= ',') goto yy20;
13711
594
      goto yy297;
13712
3.92k
    } else {
13713
2.30k
      if (yych == '/') goto yy297;
13714
1.83k
      if (yych <= '@') goto yy20;
13715
487
      goto yy658;
13716
1.83k
    }
13717
35.5k
  } else {
13718
35.5k
    if (yych <= '_') {
13719
7.57k
      if (yych <= 'Y') goto yy721;
13720
2.53k
      if (yych <= 'Z') goto yy658;
13721
1.35k
      if (yych <= '^') goto yy20;
13722
1.00k
      goto yy297;
13723
27.9k
    } else {
13724
27.9k
      if (yych <= 'x') {
13725
5.90k
        if (yych <= '`') goto yy20;
13726
5.81k
        goto yy663;
13727
22.0k
      } else {
13728
22.0k
        if (yych <= 'y') goto yy725;
13729
2.93k
        if (yych <= 'z') goto yy663;
13730
1.53k
        goto yy20;
13731
2.93k
      }
13732
27.9k
    }
13733
35.5k
  }
13734
68.0k
yy551:
13735
68.0k
  YYDEBUG(551, *YYCURSOR);
13736
68.0k
  yyaccept = 2;
13737
68.0k
  yych = *(YYMARKER = ++YYCURSOR);
13738
68.0k
  if (yych <= 'Q') {
13739
8.73k
    if (yych <= '-') {
13740
3.64k
      if (yych == ')') goto yy115;
13741
3.27k
      if (yych <= ',') goto yy20;
13742
1.19k
      goto yy297;
13743
5.09k
    } else {
13744
5.09k
      if (yych == '/') goto yy297;
13745
4.10k
      if (yych <= '@') goto yy20;
13746
861
      goto yy658;
13747
4.10k
    }
13748
59.3k
  } else {
13749
59.3k
    if (yych <= '_') {
13750
7.17k
      if (yych <= 'R') goto yy723;
13751
2.37k
      if (yych <= 'Z') goto yy658;
13752
1.61k
      if (yych <= '^') goto yy20;
13753
831
      goto yy297;
13754
52.1k
    } else {
13755
52.1k
      if (yych <= 'q') {
13756
5.10k
        if (yych <= '`') goto yy20;
13757
4.95k
        goto yy663;
13758
47.0k
      } else {
13759
47.0k
        if (yych <= 'r') goto yy726;
13760
3.86k
        if (yych <= 'z') goto yy663;
13761
2.63k
        goto yy20;
13762
3.86k
      }
13763
52.1k
    }
13764
59.3k
  }
13765
71.3k
yy552:
13766
71.3k
  YYDEBUG(552, *YYCURSOR);
13767
71.3k
  yyaccept = 2;
13768
71.3k
  yych = *(YYMARKER = ++YYCURSOR);
13769
71.3k
  if (yych <= 'C') {
13770
12.2k
    if (yych <= '-') {
13771
5.63k
      if (yych == ')') goto yy115;
13772
3.17k
      if (yych <= ',') goto yy20;
13773
633
      goto yy297;
13774
6.63k
    } else {
13775
6.63k
      if (yych == '/') goto yy297;
13776
4.35k
      if (yych <= '@') goto yy20;
13777
1.10k
      goto yy658;
13778
4.35k
    }
13779
59.1k
  } else {
13780
59.1k
    if (yych <= '_') {
13781
9.58k
      if (yych <= 'D') goto yy724;
13782
5.69k
      if (yych <= 'Z') goto yy658;
13783
3.20k
      if (yych <= '^') goto yy20;
13784
1.38k
      goto yy297;
13785
49.5k
    } else {
13786
49.5k
      if (yych <= 'c') {
13787
3.86k
        if (yych <= '`') goto yy20;
13788
2.43k
        goto yy663;
13789
45.6k
      } else {
13790
45.6k
        if (yych <= 'd') goto yy727;
13791
7.97k
        if (yych <= 'z') goto yy663;
13792
2.75k
        goto yy20;
13793
7.97k
      }
13794
49.5k
    }
13795
59.1k
  }
13796
37.1k
yy553:
13797
37.1k
  YYDEBUG(553, *YYCURSOR);
13798
37.1k
  yyaccept = 2;
13799
37.1k
  yych = *(YYMARKER = ++YYCURSOR);
13800
37.1k
  if (yych <= 'E') {
13801
13.0k
    if (yych <= '-') {
13802
6.53k
      if (yych == ')') goto yy115;
13803
4.44k
      if (yych <= ',') goto yy20;
13804
826
      goto yy297;
13805
6.55k
    } else {
13806
6.55k
      if (yych == '/') goto yy297;
13807
6.05k
      if (yych <= '@') goto yy20;
13808
2.78k
      goto yy658;
13809
6.05k
    }
13810
24.0k
  } else {
13811
24.0k
    if (yych <= '_') {
13812
6.50k
      if (yych <= 'F') goto yy715;
13813
4.66k
      if (yych <= 'Z') goto yy658;
13814
2.82k
      if (yych <= '^') goto yy20;
13815
1.43k
      goto yy297;
13816
17.5k
    } else {
13817
17.5k
      if (yych <= 'e') {
13818
2.77k
        if (yych <= '`') goto yy20;
13819
1.82k
        goto yy663;
13820
14.8k
      } else {
13821
14.8k
        if (yych <= 'f') goto yy719;
13822
4.20k
        if (yych <= 'z') goto yy663;
13823
1.85k
        goto yy20;
13824
4.20k
      }
13825
17.5k
    }
13826
24.0k
  }
13827
24.4k
yy554:
13828
24.4k
  YYDEBUG(554, *YYCURSOR);
13829
24.4k
  yyaccept = 2;
13830
24.4k
  yych = *(YYMARKER = ++YYCURSOR);
13831
24.4k
  if (yych <= ',') {
13832
9.75k
    if (yych <= 0x1F) {
13833
5.25k
      if (yych == '\t') goto yy142;
13834
533
      goto yy20;
13835
5.25k
    } else {
13836
4.50k
      if (yych <= ' ') goto yy142;
13837
1.66k
      if (yych == ')') goto yy115;
13838
857
      goto yy20;
13839
1.66k
    }
13840
14.6k
  } else {
13841
14.6k
    if (yych <= '@') {
13842
6.19k
      if (yych == '/') goto yy20;
13843
5.65k
      if (yych <= '9') goto yy142;
13844
2.88k
      goto yy20;
13845
8.49k
    } else {
13846
8.49k
      if (yych <= 'Z') goto yy658;
13847
6.73k
      if (yych <= '`') goto yy20;
13848
6.07k
      if (yych <= 'z') goto yy658;
13849
5.08k
      goto yy20;
13850
6.07k
    }
13851
14.6k
  }
13852
31.5k
yy555:
13853
31.5k
  YYDEBUG(555, *YYCURSOR);
13854
31.5k
  yych = *++YYCURSOR;
13855
31.5k
  if (yych <= 'E') {
13856
12.0k
    if (yych <= ')') {
13857
3.02k
      if (yych <= '(') goto yy20;
13858
1.05k
      goto yy115;
13859
9.01k
    } else {
13860
9.01k
      if (yych <= '@') goto yy20;
13861
6.92k
      if (yych <= 'D') goto yy658;
13862
5.25k
      goto yy728;
13863
6.92k
    }
13864
19.5k
  } else {
13865
19.5k
    if (yych <= 'd') {
13866
4.68k
      if (yych <= 'Z') goto yy658;
13867
3.52k
      if (yych <= '`') goto yy20;
13868
1.65k
      goto yy658;
13869
14.8k
    } else {
13870
14.8k
      if (yych <= 'e') goto yy728;
13871
2.96k
      if (yych <= 'z') goto yy658;
13872
1.36k
      goto yy20;
13873
2.96k
    }
13874
19.5k
  }
13875
80.7k
yy556:
13876
80.7k
  YYDEBUG(556, *YYCURSOR);
13877
80.7k
  yyaccept = 2;
13878
80.7k
  yych = *(YYMARKER = ++YYCURSOR);
13879
80.7k
  if (yych <= 'D') {
13880
11.2k
    if (yych <= '-') {
13881
5.93k
      if (yych == ')') goto yy115;
13882
4.54k
      if (yych <= ',') goto yy20;
13883
3.60k
      goto yy297;
13884
5.28k
    } else {
13885
5.28k
      if (yych == '/') goto yy297;
13886
4.15k
      if (yych <= '@') goto yy20;
13887
1.37k
      goto yy658;
13888
4.15k
    }
13889
69.5k
  } else {
13890
69.5k
    if (yych <= '_') {
13891
11.9k
      if (yych <= 'E') goto yy728;
13892
6.27k
      if (yych <= 'Z') goto yy658;
13893
5.08k
      if (yych <= '^') goto yy20;
13894
4.15k
      goto yy297;
13895
57.6k
    } else {
13896
57.6k
      if (yych <= 'd') {
13897
1.93k
        if (yych <= '`') goto yy20;
13898
1.08k
        goto yy663;
13899
55.6k
      } else {
13900
55.6k
        if (yych <= 'e') goto yy729;
13901
3.65k
        if (yych <= 'z') goto yy663;
13902
2.04k
        goto yy20;
13903
3.65k
      }
13904
57.6k
    }
13905
69.5k
  }
13906
44.6k
yy557:
13907
44.6k
  YYDEBUG(557, *YYCURSOR);
13908
44.6k
  yych = *++YYCURSOR;
13909
44.6k
  if (yych <= 'E') {
13910
10.6k
    if (yych <= ')') {
13911
3.56k
      if (yych <= '(') goto yy20;
13912
418
      goto yy115;
13913
7.09k
    } else {
13914
7.09k
      if (yych <= '@') goto yy20;
13915
3.02k
      if (yych <= 'D') goto yy658;
13916
1.83k
      goto yy730;
13917
3.02k
    }
13918
33.9k
  } else {
13919
33.9k
    if (yych <= 'd') {
13920
1.80k
      if (yych <= 'Z') goto yy658;
13921
1.54k
      if (yych <= '`') goto yy20;
13922
1.17k
      goto yy658;
13923
32.1k
    } else {
13924
32.1k
      if (yych <= 'e') goto yy730;
13925
7.00k
      if (yych <= 'z') goto yy658;
13926
905
      goto yy20;
13927
7.00k
    }
13928
33.9k
  }
13929
122k
yy558:
13930
122k
  YYDEBUG(558, *YYCURSOR);
13931
122k
  yyaccept = 2;
13932
122k
  yych = *(YYMARKER = ++YYCURSOR);
13933
122k
  if (yych <= 'D') {
13934
14.2k
    if (yych <= '-') {
13935
6.56k
      if (yych == ')') goto yy115;
13936
2.67k
      if (yych <= ',') goto yy20;
13937
401
      goto yy297;
13938
7.67k
    } else {
13939
7.67k
      if (yych == '/') goto yy297;
13940
5.31k
      if (yych <= '@') goto yy20;
13941
2.17k
      goto yy658;
13942
5.31k
    }
13943
108k
  } else {
13944
108k
    if (yych <= '_') {
13945
27.4k
      if (yych <= 'E') goto yy730;
13946
5.20k
      if (yych <= 'Z') goto yy658;
13947
3.07k
      if (yych <= '^') goto yy20;
13948
2.44k
      goto yy297;
13949
80.6k
    } else {
13950
80.6k
      if (yych <= 'd') {
13951
6.38k
        if (yych <= '`') goto yy20;
13952
5.11k
        goto yy663;
13953
74.2k
      } else {
13954
74.2k
        if (yych <= 'e') goto yy731;
13955
5.25k
        if (yych <= 'z') goto yy663;
13956
2.47k
        goto yy20;
13957
5.25k
      }
13958
80.6k
    }
13959
108k
  }
13960
56.0k
yy559:
13961
56.0k
  YYDEBUG(559, *YYCURSOR);
13962
56.0k
  ++YYCURSOR;
13963
56.0k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
13964
56.0k
  yych = *YYCURSOR;
13965
56.0k
  if (yych == 0x80) goto yy194;
13966
13.8k
  goto yy59;
13967
592k
yy560:
13968
592k
  YYDEBUG(560, *YYCURSOR);
13969
592k
  yych = *++YYCURSOR;
13970
592k
  if (yych <= 0xC1) {
13971
571k
    if (yych <= '/') goto yy196;
13972
529k
    if (yych <= '9') goto yy594;
13973
57.8k
    goto yy196;
13974
529k
  } else {
13975
20.6k
    if (yych <= 0xC2) goto yy97;
13976
15.9k
    if (yych == 0xE2) goto yy98;
13977
9.77k
    goto yy196;
13978
15.9k
  }
13979
431k
yy561:
13980
431k
  YYDEBUG(561, *YYCURSOR);
13981
431k
  yyaccept = 2;
13982
431k
  yych = *(YYMARKER = ++YYCURSOR);
13983
431k
  if (yych <= 'V') {
13984
376k
    if (yych <= '9') {
13985
325k
      if (yych <= ',') {
13986
17.3k
        if (yych <= '\t') {
13987
7.60k
          if (yych <= 0x08) goto yy20;
13988
2.90k
          goto yy196;
13989
9.72k
        } else {
13990
9.72k
          if (yych == ' ') goto yy196;
13991
6.26k
          goto yy20;
13992
9.72k
        }
13993
308k
      } else {
13994
308k
        if (yych <= '/') {
13995
36.2k
          if (yych <= '-') goto yy732;
13996
3.18k
          goto yy20;
13997
272k
        } else {
13998
272k
          if (yych <= '5') goto yy733;
13999
68.2k
          if (yych <= '6') goto yy734;
14000
22.8k
          goto yy735;
14001
68.2k
        }
14002
308k
      }
14003
325k
    } else {
14004
51.2k
      if (yych <= 'G') {
14005
21.7k
        if (yych <= 'D') {
14006
17.0k
          if (yych <= 'C') goto yy20;
14007
1.55k
          goto yy196;
14008
17.0k
        } else {
14009
4.67k
          if (yych == 'F') goto yy196;
14010
1.57k
          goto yy20;
14011
4.67k
        }
14012
29.4k
      } else {
14013
29.4k
        if (yych <= 'M') {
14014
9.62k
          if (yych <= 'H') goto yy196;
14015
6.58k
          if (yych <= 'L') goto yy20;
14016
875
          goto yy196;
14017
19.8k
        } else {
14018
19.8k
          if (yych <= 'R') goto yy20;
14019
17.6k
          if (yych <= 'U') goto yy196;
14020
1.24k
          goto yy20;
14021
17.6k
        }
14022
29.4k
      }
14023
51.2k
    }
14024
376k
  } else {
14025
54.3k
    if (yych <= 'm') {
14026
18.3k
      if (yych <= 'd') {
14027
8.81k
        if (yych <= 'X') {
14028
3.03k
          if (yych <= 'W') goto yy196;
14029
480
          goto yy20;
14030
5.78k
        } else {
14031
5.78k
          if (yych <= 'Y') goto yy196;
14032
4.88k
          if (yych <= 'c') goto yy20;
14033
1.90k
          goto yy196;
14034
4.88k
        }
14035
9.54k
      } else {
14036
9.54k
        if (yych <= 'g') {
14037
4.37k
          if (yych == 'f') goto yy196;
14038
1.62k
          goto yy20;
14039
5.17k
        } else {
14040
5.17k
          if (yych <= 'h') goto yy196;
14041
3.87k
          if (yych <= 'l') goto yy20;
14042
610
          goto yy196;
14043
3.87k
        }
14044
9.54k
      }
14045
36.0k
    } else {
14046
36.0k
      if (yych <= 'x') {
14047
10.2k
        if (yych <= 'u') {
14048
7.16k
          if (yych <= 'r') goto yy20;
14049
2.41k
          goto yy196;
14050
7.16k
        } else {
14051
3.13k
          if (yych == 'w') goto yy196;
14052
1.28k
          goto yy20;
14053
3.13k
        }
14054
25.7k
      } else {
14055
25.7k
        if (yych <= 0xC2) {
14056
12.9k
          if (yych <= 'y') goto yy196;
14057
11.7k
          if (yych <= 0xC1) goto yy20;
14058
3.70k
          goto yy97;
14059
12.7k
        } else {
14060
12.7k
          if (yych == 0xE2) goto yy98;
14061
9.81k
          goto yy20;
14062
12.7k
        }
14063
25.7k
      }
14064
36.0k
    }
14065
54.3k
  }
14066
370k
yy562:
14067
370k
  YYDEBUG(562, *YYCURSOR);
14068
370k
  yych = *++YYCURSOR;
14069
370k
  if (yych <= '9') {
14070
315k
    if (yych == '-') goto yy732;
14071
258k
    if (yych <= '/') goto yy196;
14072
247k
    goto yy735;
14073
258k
  } else {
14074
54.4k
    if (yych <= 0xC2) {
14075
45.5k
      if (yych <= 0xC1) goto yy196;
14076
4.43k
      goto yy97;
14077
45.5k
    } else {
14078
8.96k
      if (yych == 0xE2) goto yy98;
14079
7.77k
      goto yy196;
14080
8.96k
    }
14081
54.4k
  }
14082
43.0k
yy563:
14083
43.0k
  YYDEBUG(563, *YYCURSOR);
14084
43.0k
  yych = *++YYCURSOR;
14085
43.0k
  if (yych <= '/') goto yy20;
14086
39.0k
  if (yych <= '9') goto yy736;
14087
9.86k
  goto yy20;
14088
62.8k
yy564:
14089
62.8k
  YYDEBUG(564, *YYCURSOR);
14090
62.8k
  yych = *++YYCURSOR;
14091
62.8k
  if (yych <= '/') goto yy59;
14092
53.2k
  if (yych <= '9') goto yy737;
14093
13.7k
  goto yy59;
14094
16.3k
yy565:
14095
16.3k
  YYDEBUG(565, *YYCURSOR);
14096
16.3k
  yych = *++YYCURSOR;
14097
16.3k
  if (yych <= '/') goto yy59;
14098
14.8k
  if (yych <= '9') goto yy738;
14099
7.68k
  goto yy59;
14100
66.4k
yy566:
14101
66.4k
  YYDEBUG(566, *YYCURSOR);
14102
66.4k
  yyaccept = 15;
14103
66.4k
  yych = *(YYMARKER = ++YYCURSOR);
14104
66.4k
  if (yych <= 'n') {
14105
53.9k
    if (yych <= '/') goto yy567;
14106
43.1k
    if (yych <= '9') goto yy740;
14107
11.4k
    if (yych >= 'n') goto yy741;
14108
12.4k
  } else {
14109
12.4k
    if (yych <= 'r') {
14110
4.77k
      if (yych >= 'r') goto yy741;
14111
7.64k
    } else {
14112
7.64k
      if (yych <= 's') goto yy742;
14113
6.60k
      if (yych <= 't') goto yy743;
14114
6.60k
    }
14115
12.4k
  }
14116
371k
yy567:
14117
371k
  YYDEBUG(567, *YYCURSOR);
14118
371k
#line 1549 "ext/date/lib/parse_date.re"
14119
371k
  {
14120
371k
    int length = 0;
14121
371k
    DEBUG_OUTPUT("gnudateshort");
14122
371k
    TIMELIB_INIT;
14123
371k
    TIMELIB_HAVE_DATE();
14124
26.3k
    s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
14125
26.3k
    s->time->m = timelib_get_nr(&ptr, 2);
14126
26.3k
    s->time->d = timelib_get_nr(&ptr, 2);
14127
26.3k
    TIMELIB_PROCESS_YEAR(s->time->y, length);
14128
26.3k
    TIMELIB_DEINIT;
14129
26.3k
    return TIMELIB_ISO_DATE;
14130
371k
  }
14131
0
#line 14132 "ext/date/lib/parse_date.c"
14132
41.4k
yy568:
14133
41.4k
  YYDEBUG(568, *YYCURSOR);
14134
41.4k
  yyaccept = 15;
14135
41.4k
  yych = *(YYMARKER = ++YYCURSOR);
14136
41.4k
  if (yych <= 'n') {
14137
24.3k
    if (yych <= '1') {
14138
10.9k
      if (yych <= '/') goto yy567;
14139
6.63k
      goto yy740;
14140
13.3k
    } else {
14141
13.3k
      if (yych <= '9') goto yy737;
14142
7.18k
      if (yych <= 'm') goto yy567;
14143
2.03k
      goto yy741;
14144
7.18k
    }
14145
24.3k
  } else {
14146
17.1k
    if (yych <= 'r') {
14147
10.4k
      if (yych <= 'q') goto yy567;
14148
8.37k
      goto yy741;
14149
10.4k
    } else {
14150
6.73k
      if (yych <= 's') goto yy742;
14151
5.33k
      if (yych <= 't') goto yy743;
14152
2.60k
      goto yy567;
14153
5.33k
    }
14154
17.1k
  }
14155
20.7k
yy569:
14156
20.7k
  YYDEBUG(569, *YYCURSOR);
14157
20.7k
  yyaccept = 15;
14158
20.7k
  yych = *(YYMARKER = ++YYCURSOR);
14159
20.7k
  if (yych <= 'n') {
14160
12.7k
    if (yych <= '/') goto yy567;
14161
8.55k
    if (yych <= '9') goto yy737;
14162
3.10k
    if (yych <= 'm') goto yy567;
14163
1.32k
    goto yy741;
14164
8.01k
  } else {
14165
8.01k
    if (yych <= 'r') {
14166
2.19k
      if (yych <= 'q') goto yy567;
14167
1.51k
      goto yy741;
14168
5.82k
    } else {
14169
5.82k
      if (yych <= 's') goto yy742;
14170
5.09k
      if (yych <= 't') goto yy743;
14171
2.44k
      goto yy567;
14172
5.09k
    }
14173
8.01k
  }
14174
28.0k
yy570:
14175
28.0k
  YYDEBUG(570, *YYCURSOR);
14176
28.0k
  yyaccept = 4;
14177
28.0k
  yych = *(YYMARKER = ++YYCURSOR);
14178
28.0k
  if (yych == '.') goto yy744;
14179
22.7k
  if (yych <= '/') goto yy177;
14180
20.8k
  if (yych <= '9') goto yy745;
14181
7.80k
  goto yy177;
14182
7.80k
yy571:
14183
5.37k
  YYDEBUG(571, *YYCURSOR);
14184
5.37k
  yyaccept = 4;
14185
5.37k
  yych = *(YYMARKER = ++YYCURSOR);
14186
5.37k
  if (yych <= '/') {
14187
2.63k
    if (yych == '.') goto yy744;
14188
643
    goto yy177;
14189
2.74k
  } else {
14190
2.74k
    if (yych <= '0') goto yy745;
14191
1.15k
    if (yych <= '9') goto yy738;
14192
336
    goto yy177;
14193
1.15k
  }
14194
15.5k
yy572:
14195
15.5k
  YYDEBUG(572, *YYCURSOR);
14196
15.5k
  yyaccept = 4;
14197
15.5k
  yych = *(YYMARKER = ++YYCURSOR);
14198
15.5k
  if (yych == '.') goto yy744;
14199
13.3k
  if (yych <= '/') goto yy177;
14200
10.8k
  if (yych <= '9') goto yy738;
14201
4.14k
  goto yy177;
14202
88.7k
yy573:
14203
88.7k
  YYDEBUG(573, *YYCURSOR);
14204
88.7k
  yyaccept = 4;
14205
88.7k
  yych = *(YYMARKER = ++YYCURSOR);
14206
88.7k
  if (yych == '.') goto yy744;
14207
85.8k
  if (yych <= '/') goto yy177;
14208
76.9k
  if (yych <= '9') goto yy575;
14209
17.0k
  goto yy177;
14210
17.5k
yy574:
14211
17.5k
  YYDEBUG(574, *YYCURSOR);
14212
17.5k
  yyaccept = 4;
14213
17.5k
  yych = *(YYMARKER = ++YYCURSOR);
14214
17.5k
  if (yych == '.') goto yy744;
14215
15.1k
  if (yych != '0') goto yy177;
14216
81.2k
yy575:
14217
81.2k
  YYDEBUG(575, *YYCURSOR);
14218
81.2k
  yyaccept = 4;
14219
81.2k
  yych = *(YYMARKER = ++YYCURSOR);
14220
81.2k
  if (yych == '.') goto yy744;
14221
61.2k
  goto yy177;
14222
61.2k
yy576:
14223
57.5k
  YYDEBUG(576, *YYCURSOR);
14224
57.5k
  yych = *++YYCURSOR;
14225
57.5k
  if (yych <= '/') goto yy224;
14226
51.6k
  if (yych <= '9') goto yy746;
14227
26.8k
  goto yy224;
14228
26.8k
yy577:
14229
13.2k
  YYDEBUG(577, *YYCURSOR);
14230
13.2k
  yyaccept = 5;
14231
13.2k
  yych = *(YYMARKER = ++YYCURSOR);
14232
13.2k
  if (yych == '/') goto yy402;
14233
12.3k
  goto yy224;
14234
355k
yy578:
14235
355k
  YYDEBUG(578, *YYCURSOR);
14236
355k
  yych = *++YYCURSOR;
14237
355k
  if (yych == '/') goto yy747;
14238
178k
  goto yy59;
14239
178k
yy579:
14240
32.2k
  YYDEBUG(579, *YYCURSOR);
14241
32.2k
  yych = *++YYCURSOR;
14242
32.2k
  if (yych <= 'S') {
14243
15.4k
    if (yych == '/') goto yy747;
14244
11.8k
    goto yy59;
14245
16.8k
  } else {
14246
16.8k
    if (yych <= 'T') goto yy578;
14247
15.0k
    if (yych == 't') goto yy578;
14248
5.10k
    goto yy59;
14249
15.0k
  }
14250
127k
yy580:
14251
127k
  YYDEBUG(580, *YYCURSOR);
14252
127k
  yych = *++YYCURSOR;
14253
127k
  if (yych <= ',') goto yy59;
14254
119k
  if (yych <= '-') goto yy748;
14255
40.6k
  if (yych <= '.') goto yy396;
14256
40.0k
  goto yy59;
14257
82.7k
yy581:
14258
82.7k
  YYDEBUG(581, *YYCURSOR);
14259
82.7k
  yych = *++YYCURSOR;
14260
82.7k
  if (yych == '-') goto yy645;
14261
78.3k
  if (yych <= '/') goto yy59;
14262
66.5k
  if (yych <= '9') goto yy462;
14263
12.0k
  goto yy59;
14264
40.5k
yy582:
14265
40.5k
  YYDEBUG(582, *YYCURSOR);
14266
40.5k
  yych = *++YYCURSOR;
14267
40.5k
  if (yych == '-') goto yy645;
14268
31.9k
  if (yych <= '/') goto yy59;
14269
25.8k
  if (yych <= '2') goto yy462;
14270
11.0k
  goto yy59;
14271
89.3k
yy583:
14272
89.3k
  YYDEBUG(583, *YYCURSOR);
14273
89.3k
  ++YYCURSOR;
14274
89.3k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
14275
89.3k
  yych = *YYCURSOR;
14276
599k
yy584:
14277
599k
  YYDEBUG(584, *YYCURSOR);
14278
599k
  if (yych <= 'W') {
14279
382k
    if (yych <= 'G') {
14280
206k
      if (yych <= '.') {
14281
103k
        if (yych <= 0x1F) {
14282
40.9k
          if (yych == '\t') goto yy583;
14283
4.86k
          goto yy59;
14284
63.0k
        } else {
14285
63.0k
          if (yych <= ' ') goto yy583;
14286
9.66k
          if (yych <= ',') goto yy59;
14287
4.41k
          goto yy749;
14288
9.66k
        }
14289
103k
      } else {
14290
102k
        if (yych <= 'C') {
14291
51.1k
          if (yych == 'A') goto yy596;
14292
26.5k
          goto yy59;
14293
51.4k
        } else {
14294
51.4k
          if (yych <= 'D') goto yy597;
14295
39.9k
          if (yych == 'F') goto yy598;
14296
1.21k
          goto yy59;
14297
39.9k
        }
14298
102k
      }
14299
206k
    } else {
14300
175k
      if (yych <= 'N') {
14301
79.6k
        if (yych <= 'J') {
14302
34.4k
          if (yych <= 'H') goto yy79;
14303
29.1k
          if (yych <= 'I') goto yy599;
14304
19.9k
          goto yy601;
14305
45.1k
        } else {
14306
45.1k
          if (yych <= 'L') goto yy59;
14307
44.8k
          if (yych <= 'M') goto yy602;
14308
22.9k
          goto yy603;
14309
44.8k
        }
14310
95.9k
      } else {
14311
95.9k
        if (yych <= 'S') {
14312
56.2k
          if (yych <= 'O') goto yy604;
14313
40.4k
          if (yych <= 'R') goto yy59;
14314
38.8k
          goto yy605;
14315
40.4k
        } else {
14316
39.7k
          if (yych <= 'T') goto yy87;
14317
18.7k
          if (yych <= 'U') goto yy88;
14318
15.2k
          if (yych <= 'V') goto yy606;
14319
975
          goto yy90;
14320
15.2k
        }
14321
95.9k
      }
14322
175k
    }
14323
382k
  } else {
14324
217k
    if (yych <= 'l') {
14325
94.5k
      if (yych <= 'd') {
14326
48.4k
        if (yych <= '`') {
14327
12.7k
          if (yych <= 'X') goto yy608;
14328
6.31k
          if (yych <= 'Y') goto yy92;
14329
353
          goto yy59;
14330
35.7k
        } else {
14331
35.7k
          if (yych <= 'a') goto yy596;
14332
17.4k
          if (yych <= 'c') goto yy59;
14333
17.1k
          goto yy597;
14334
17.4k
        }
14335
48.4k
      } else {
14336
46.0k
        if (yych <= 'g') {
14337
26.6k
          if (yych == 'f') goto yy598;
14338
1.71k
          goto yy59;
14339
26.6k
        } else {
14340
19.4k
          if (yych <= 'h') goto yy79;
14341
15.2k
          if (yych == 'j') goto yy601;
14342
733
          goto yy59;
14343
15.2k
        }
14344
46.0k
      }
14345
123k
    } else {
14346
123k
      if (yych <= 'u') {
14347
95.7k
        if (yych <= 'o') {
14348
45.0k
          if (yych <= 'm') goto yy602;
14349
23.4k
          if (yych <= 'n') goto yy603;
14350
10.9k
          goto yy604;
14351
50.7k
        } else {
14352
50.7k
          if (yych <= 'r') goto yy59;
14353
47.9k
          if (yych <= 's') goto yy605;
14354
26.3k
          if (yych <= 't') goto yy87;
14355
6.56k
          goto yy88;
14356
26.3k
        }
14357
95.7k
      } else {
14358
27.2k
        if (yych <= 'x') {
14359
14.1k
          if (yych == 'w') goto yy90;
14360
2.36k
          goto yy59;
14361
14.1k
        } else {
14362
13.1k
          if (yych <= 'y') goto yy92;
14363
5.46k
          if (yych == 0xC2) goto yy211;
14364
4.83k
          goto yy59;
14365
5.46k
        }
14366
27.2k
      }
14367
123k
    }
14368
217k
  }
14369
592k
yy585:
14370
592k
  YYDEBUG(585, *YYCURSOR);
14371
592k
  yych = *++YYCURSOR;
14372
592k
  switch (yych) {
14373
202k
  case '0': goto yy751;
14374
47.8k
  case '1': goto yy753;
14375
33.7k
  case '2': goto yy754;
14376
22.8k
  case '3': goto yy755;
14377
1.83k
  case '4':
14378
14.5k
  case '5':
14379
25.4k
  case '6':
14380
28.9k
  case '7':
14381
31.6k
  case '8':
14382
37.6k
  case '9': goto yy756;
14383
34.1k
  case 'A':
14384
37.3k
  case 'a': goto yy757;
14385
1.27k
  case 'D':
14386
10.9k
  case 'd': goto yy758;
14387
14.3k
  case 'F':
14388
18.5k
  case 'f': goto yy759;
14389
17.1k
  case 'J':
14390
36.0k
  case 'j': goto yy760;
14391
4.48k
  case 'M':
14392
20.6k
  case 'm': goto yy761;
14393
10.8k
  case 'N':
14394
16.3k
  case 'n': goto yy762;
14395
10.9k
  case 'O':
14396
14.9k
  case 'o': goto yy763;
14397
5.02k
  case 'S':
14398
12.8k
  case 's': goto yy764;
14399
18.1k
  case 'W': goto yy765;
14400
61.6k
  default:  goto yy750;
14401
592k
  }
14402
102k
yy586:
14403
102k
  YYDEBUG(586, *YYCURSOR);
14404
102k
  yych = *++YYCURSOR;
14405
102k
  if (yych <= '/') goto yy750;
14406
90.1k
  if (yych <= '0') goto yy766;
14407
65.7k
  if (yych <= '2') goto yy767;
14408
54.0k
  if (yych <= '3') goto yy768;
14409
49.0k
  goto yy750;
14410
136k
yy587:
14411
136k
  YYDEBUG(587, *YYCURSOR);
14412
136k
  yych = *++YYCURSOR;
14413
136k
  if (yych <= '/') goto yy59;
14414
129k
  if (yych <= '0') goto yy773;
14415
116k
  if (yych <= '1') goto yy774;
14416
40.1k
  if (yych <= '9') goto yy775;
14417
19.2k
  goto yy59;
14418
1.29M
yy588:
14419
1.29M
  YYDEBUG(588, *YYCURSOR);
14420
1.29M
  yych = *++YYCURSOR;
14421
1.29M
  if (yych <= 0xC1) {
14422
1.27M
    if (yych <= '/') goto yy196;
14423
1.22M
    if (yych <= '0') goto yy776;
14424
261k
    if (yych <= '9') goto yy778;
14425
73.1k
    goto yy196;
14426
261k
  } else {
14427
21.4k
    if (yych <= 0xC2) goto yy97;
14428
19.1k
    if (yych == 0xE2) goto yy98;
14429
18.2k
    goto yy196;
14430
19.1k
  }
14431
214k
yy589:
14432
214k
  YYDEBUG(589, *YYCURSOR);
14433
214k
  yych = *++YYCURSOR;
14434
214k
  if (yych <= 0xC1) {
14435
208k
    if (yych <= '/') goto yy196;
14436
190k
    if (yych <= '2') goto yy778;
14437
73.6k
    if (yych <= '9') goto yy779;
14438
16.6k
    goto yy196;
14439
73.6k
  } else {
14440
5.64k
    if (yych <= 0xC2) goto yy97;
14441
4.20k
    if (yych == 0xE2) goto yy98;
14442
3.64k
    goto yy196;
14443
4.20k
  }
14444
145k
yy590:
14445
145k
  YYDEBUG(590, *YYCURSOR);
14446
145k
  yych = *++YYCURSOR;
14447
145k
  if (yych <= 0xC1) {
14448
138k
    if (yych <= '/') goto yy196;
14449
123k
    if (yych <= '9') goto yy779;
14450
16.3k
    goto yy196;
14451
123k
  } else {
14452
6.84k
    if (yych <= 0xC2) goto yy97;
14453
4.14k
    if (yych == 0xE2) goto yy98;
14454
2.40k
    goto yy196;
14455
4.14k
  }
14456
136k
yy591:
14457
136k
  YYDEBUG(591, *YYCURSOR);
14458
136k
  yych = *++YYCURSOR;
14459
136k
  if (yych <= '9') {
14460
119k
    if (yych <= '/') goto yy196;
14461
112k
    if (yych <= '5') goto yy779;
14462
70.8k
    if (yych <= '6') goto yy780;
14463
30.0k
    goto yy781;
14464
70.8k
  } else {
14465
16.7k
    if (yych <= 0xC2) {
14466
13.2k
      if (yych <= 0xC1) goto yy196;
14467
3.67k
      goto yy97;
14468
13.2k
    } else {
14469
3.47k
      if (yych == 0xE2) goto yy98;
14470
2.30k
      goto yy196;
14471
3.47k
    }
14472
16.7k
  }
14473
193k
yy592:
14474
193k
  YYDEBUG(592, *YYCURSOR);
14475
193k
  yych = *++YYCURSOR;
14476
193k
  if (yych <= 0xC1) {
14477
181k
    if (yych <= '/') goto yy196;
14478
175k
    if (yych <= '9') goto yy781;
14479
15.4k
    goto yy196;
14480
175k
  } else {
14481
11.2k
    if (yych <= 0xC2) goto yy97;
14482
8.77k
    if (yych == 0xE2) goto yy98;
14483
4.55k
    goto yy196;
14484
8.77k
  }
14485
118k
yy593:
14486
118k
  YYDEBUG(593, *YYCURSOR);
14487
118k
  yych = *++YYCURSOR;
14488
118k
  if (yych <= 0xC1) {
14489
111k
    if (yych <= '/') goto yy196;
14490
106k
    if (yych <= '0') goto yy781;
14491
74.9k
    if (yych <= '9') goto yy782;
14492
28.2k
    goto yy196;
14493
74.9k
  } else {
14494
6.16k
    if (yych <= 0xC2) goto yy97;
14495
4.92k
    if (yych == 0xE2) goto yy98;
14496
2.88k
    goto yy196;
14497
4.92k
  }
14498
1.60M
yy594:
14499
1.60M
  YYDEBUG(594, *YYCURSOR);
14500
1.60M
  yych = *++YYCURSOR;
14501
1.60M
  if (yych <= 0xC1) {
14502
1.55M
    if (yych <= '/') goto yy196;
14503
1.48M
    if (yych <= '9') goto yy782;
14504
170k
    goto yy196;
14505
1.48M
  } else {
14506
59.1k
    if (yych <= 0xC2) goto yy97;
14507
48.5k
    if (yych == 0xE2) goto yy98;
14508
23.6k
    goto yy196;
14509
48.5k
  }
14510
364k
yy595:
14511
364k
  YYDEBUG(595, *YYCURSOR);
14512
364k
  yych = *++YYCURSOR;
14513
364k
  if (yych <= '/') goto yy59;
14514
174k
  if (yych <= '0') goto yy783;
14515
159k
  if (yych <= '1') goto yy784;
14516
48.4k
  goto yy59;
14517
62.6k
yy596:
14518
62.6k
  YYDEBUG(596, *YYCURSOR);
14519
62.6k
  yych = *++YYCURSOR;
14520
62.6k
  if (yych <= 'U') {
14521
17.1k
    if (yych == 'P') goto yy785;
14522
14.4k
    if (yych <= 'T') goto yy59;
14523
3.53k
    goto yy786;
14524
45.5k
  } else {
14525
45.5k
    if (yych <= 'p') {
14526
20.0k
      if (yych <= 'o') goto yy59;
14527
4.55k
      goto yy785;
14528
25.5k
    } else {
14529
25.5k
      if (yych == 'u') goto yy786;
14530
12.2k
      goto yy59;
14531
25.5k
    }
14532
45.5k
  }
14533
28.5k
yy597:
14534
28.5k
  YYDEBUG(597, *YYCURSOR);
14535
28.5k
  yych = *++YYCURSOR;
14536
28.5k
  if (yych <= 'E') {
14537
14.0k
    if (yych == 'A') goto yy242;
14538
13.0k
    if (yych <= 'D') goto yy59;
14539
2.31k
    goto yy787;
14540
14.5k
  } else {
14541
14.5k
    if (yych <= 'a') {
14542
5.14k
      if (yych <= '`') goto yy59;
14543
3.01k
      goto yy242;
14544
9.38k
    } else {
14545
9.38k
      if (yych == 'e') goto yy787;
14546
6.30k
      goto yy59;
14547
9.38k
    }
14548
14.5k
  }
14549
63.6k
yy598:
14550
63.6k
  YYDEBUG(598, *YYCURSOR);
14551
63.6k
  yych = *++YYCURSOR;
14552
63.6k
  if (yych <= 'R') {
14553
22.4k
    if (yych <= 'N') {
14554
15.6k
      if (yych == 'E') goto yy788;
14555
14.8k
      goto yy59;
14556
15.6k
    } else {
14557
6.85k
      if (yych <= 'O') goto yy245;
14558
5.30k
      if (yych <= 'Q') goto yy59;
14559
4.36k
      goto yy246;
14560
5.30k
    }
14561
41.2k
  } else {
14562
41.2k
    if (yych <= 'n') {
14563
27.2k
      if (yych == 'e') goto yy788;
14564
14.4k
      goto yy59;
14565
27.2k
    } else {
14566
13.9k
      if (yych <= 'o') goto yy245;
14567
9.81k
      if (yych == 'r') goto yy246;
14568
6.27k
      goto yy59;
14569
9.81k
    }
14570
41.2k
  }
14571
12.8k
yy599:
14572
12.8k
  YYDEBUG(599, *YYCURSOR);
14573
12.8k
  yych = *++YYCURSOR;
14574
12.8k
  if (yych <= 'U') {
14575
7.27k
    if (yych == 'I') goto yy789;
14576
7.27k
  } else {
14577
5.55k
    if (yych == 'W') goto yy600;
14578
5.14k
    if (yych <= 'X') goto yy790;
14579
5.14k
  }
14580
199k
yy600:
14581
199k
  YYDEBUG(600, *YYCURSOR);
14582
199k
#line 1618 "ext/date/lib/parse_date.re"
14583
199k
  {
14584
199k
    int length = 0;
14585
199k
    DEBUG_OUTPUT("datenodayrev");
14586
199k
    TIMELIB_INIT;
14587
199k
    TIMELIB_HAVE_DATE();
14588
10.6k
    s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
14589
10.6k
    s->time->m = timelib_get_month(&ptr);
14590
10.6k
    s->time->d = 1;
14591
10.6k
    TIMELIB_PROCESS_YEAR(s->time->y, length);
14592
10.6k
    TIMELIB_DEINIT;
14593
10.6k
    return TIMELIB_DATE_NO_DAY;
14594
199k
  }
14595
0
#line 14596 "ext/date/lib/parse_date.c"
14596
38.0k
yy601:
14597
38.0k
  YYDEBUG(601, *YYCURSOR);
14598
38.0k
  yych = *++YYCURSOR;
14599
38.0k
  if (yych <= 'U') {
14600
15.4k
    if (yych == 'A') goto yy791;
14601
14.4k
    if (yych <= 'T') goto yy59;
14602
10.2k
    goto yy792;
14603
22.6k
  } else {
14604
22.6k
    if (yych <= 'a') {
14605
10.3k
      if (yych <= '`') goto yy59;
14606
8.44k
      goto yy791;
14607
12.2k
    } else {
14608
12.2k
      if (yych == 'u') goto yy792;
14609
2.82k
      goto yy59;
14610
12.2k
    }
14611
22.6k
  }
14612
43.5k
yy602:
14613
43.5k
  YYDEBUG(602, *YYCURSOR);
14614
43.5k
  yych = *++YYCURSOR;
14615
43.5k
  if (yych <= 'S') {
14616
19.9k
    if (yych <= 'I') {
14617
13.2k
      if (yych == 'A') goto yy793;
14618
10.6k
      if (yych <= 'H') goto yy59;
14619
3.64k
      goto yy257;
14620
10.6k
    } else {
14621
6.74k
      if (yych == 'O') goto yy258;
14622
5.99k
      if (yych <= 'R') goto yy59;
14623
962
      goto yy259;
14624
5.99k
    }
14625
23.5k
  } else {
14626
23.5k
    if (yych <= 'i') {
14627
15.2k
      if (yych == 'a') goto yy793;
14628
7.28k
      if (yych <= 'h') goto yy59;
14629
3.94k
      goto yy257;
14630
8.32k
    } else {
14631
8.32k
      if (yych <= 'o') {
14632
3.40k
        if (yych <= 'n') goto yy59;
14633
2.46k
        goto yy258;
14634
4.91k
      } else {
14635
4.91k
        if (yych == 's') goto yy259;
14636
2.33k
        goto yy59;
14637
4.91k
      }
14638
8.32k
    }
14639
23.5k
  }
14640
40.7k
yy603:
14641
40.7k
  YYDEBUG(603, *YYCURSOR);
14642
40.7k
  yych = *++YYCURSOR;
14643
40.7k
  if (yych == 'O') goto yy794;
14644
40.2k
  if (yych == 'o') goto yy794;
14645
26.1k
  goto yy59;
14646
30.4k
yy604:
14647
30.4k
  YYDEBUG(604, *YYCURSOR);
14648
30.4k
  yych = *++YYCURSOR;
14649
30.4k
  if (yych == 'C') goto yy795;
14650
27.2k
  if (yych == 'c') goto yy795;
14651
20.6k
  goto yy59;
14652
60.4k
yy605:
14653
60.4k
  YYDEBUG(605, *YYCURSOR);
14654
60.4k
  yych = *++YYCURSOR;
14655
60.4k
  if (yych <= 'U') {
14656
24.8k
    if (yych <= 'D') {
14657
11.1k
      if (yych == 'A') goto yy263;
14658
10.1k
      goto yy59;
14659
13.6k
    } else {
14660
13.6k
      if (yych <= 'E') goto yy796;
14661
1.56k
      if (yych <= 'T') goto yy59;
14662
524
      goto yy265;
14663
1.56k
    }
14664
35.6k
  } else {
14665
35.6k
    if (yych <= 'd') {
14666
3.05k
      if (yych == 'a') goto yy263;
14667
1.44k
      goto yy59;
14668
32.5k
    } else {
14669
32.5k
      if (yych <= 'e') goto yy796;
14670
3.38k
      if (yych == 'u') goto yy265;
14671
3.01k
      goto yy59;
14672
3.38k
    }
14673
35.6k
  }
14674
16.8k
yy606:
14675
16.8k
  YYDEBUG(606, *YYCURSOR);
14676
16.8k
  yych = *++YYCURSOR;
14677
16.8k
  if (yych == 'I') goto yy608;
14678
13.1k
  goto yy600;
14679
45.3k
yy607:
14680
45.3k
  YYDEBUG(607, *YYCURSOR);
14681
45.3k
  yych = *++YYCURSOR;
14682
45.3k
  if (yych <= '5') {
14683
31.0k
    if (yych <= '/') goto yy59;
14684
27.9k
    if (yych <= '0') goto yy797;
14685
20.8k
    if (yych <= '4') goto yy798;
14686
3.50k
    goto yy799;
14687
20.8k
  } else {
14688
14.3k
    if (yych <= 'E') {
14689
9.20k
      if (yych <= 'D') goto yy59;
14690
3.99k
      goto yy269;
14691
9.20k
    } else {
14692
5.09k
      if (yych == 'e') goto yy269;
14693
3.12k
      goto yy59;
14694
5.09k
    }
14695
14.3k
  }
14696
10.2k
yy608:
14697
10.2k
  YYDEBUG(608, *YYCURSOR);
14698
10.2k
  yych = *++YYCURSOR;
14699
10.2k
  if (yych == 'I') goto yy789;
14700
6.69k
  goto yy600;
14701
502k
yy609:
14702
502k
  YYDEBUG(609, *YYCURSOR);
14703
502k
  yych = *++YYCURSOR;
14704
502k
  if (yych <= 0xC1) {
14705
491k
    if (yych <= '/') goto yy196;
14706
467k
    if (yych <= '0') goto yy800;
14707
221k
    if (yych <= '9') goto yy801;
14708
40.8k
    goto yy196;
14709
221k
  } else {
14710
11.5k
    if (yych <= 0xC2) goto yy97;
14711
7.63k
    if (yych == 0xE2) goto yy98;
14712
4.66k
    goto yy196;
14713
7.63k
  }
14714
149k
yy610:
14715
149k
  YYDEBUG(610, *YYCURSOR);
14716
149k
  yych = *++YYCURSOR;
14717
149k
  if (yych <= 0xC1) {
14718
139k
    if (yych <= '/') goto yy196;
14719
127k
    if (yych <= '2') goto yy801;
14720
79.7k
    if (yych <= '9') goto yy802;
14721
15.9k
    goto yy196;
14722
79.7k
  } else {
14723
10.4k
    if (yych <= 0xC2) goto yy97;
14724
7.85k
    if (yych == 0xE2) goto yy98;
14725
6.37k
    goto yy196;
14726
7.85k
  }
14727
132k
yy611:
14728
132k
  YYDEBUG(611, *YYCURSOR);
14729
132k
  yych = *++YYCURSOR;
14730
132k
  if (yych <= 0xC1) {
14731
126k
    if (yych <= '/') goto yy196;
14732
114k
    if (yych <= '9') goto yy802;
14733
31.0k
    goto yy196;
14734
114k
  } else {
14735
5.17k
    if (yych <= 0xC2) goto yy97;
14736
3.57k
    if (yych == 0xE2) goto yy98;
14737
1.29k
    goto yy196;
14738
3.57k
  }
14739
230k
yy612:
14740
230k
  YYDEBUG(612, *YYCURSOR);
14741
230k
  yych = *++YYCURSOR;
14742
230k
  if (yych <= '9') {
14743
200k
    if (yych <= '/') goto yy196;
14744
194k
    if (yych <= '5') goto yy802;
14745
93.0k
    if (yych <= '6') goto yy803;
14746
56.7k
    goto yy782;
14747
93.0k
  } else {
14748
29.9k
    if (yych <= 0xC2) {
14749
24.8k
      if (yych <= 0xC1) goto yy196;
14750
3.89k
      goto yy97;
14751
24.8k
    } else {
14752
5.02k
      if (yych == 0xE2) goto yy98;
14753
4.31k
      goto yy196;
14754
5.02k
    }
14755
29.9k
  }
14756
10.2k
yy613:
14757
10.2k
  YYDEBUG(613, *YYCURSOR);
14758
10.2k
  yych = *++YYCURSOR;
14759
10.2k
  if (yych == 'L') goto yy253;
14760
7.13k
  if (yych == 'l') goto yy253;
14761
5.43k
  goto yy59;
14762
20.7k
yy614:
14763
20.7k
  YYDEBUG(614, *YYCURSOR);
14764
20.7k
  yych = *++YYCURSOR;
14765
20.7k
  if (yych == 'S') goto yy804;
14766
13.6k
  if (yych == 's') goto yy804;
14767
6.32k
  goto yy59;
14768
15.8k
yy615:
14769
15.8k
  YYDEBUG(615, *YYCURSOR);
14770
15.8k
  ++YYCURSOR;
14771
15.8k
  goto yy260;
14772
29.9k
yy616:
14773
29.9k
  YYDEBUG(616, *YYCURSOR);
14774
29.9k
  yych = *++YYCURSOR;
14775
29.9k
  if (yych == 'M') goto yy626;
14776
21.7k
  if (yych == 'm') goto yy626;
14777
8.14k
  goto yy59;
14778
16.6k
yy617:
14779
16.6k
  YYDEBUG(617, *YYCURSOR);
14780
16.6k
  yych = *++YYCURSOR;
14781
16.6k
  if (yych == 'U') goto yy620;
14782
14.7k
  if (yych == 'u') goto yy620;
14783
8.27k
  goto yy59;
14784
30.3k
yy618:
14785
30.3k
  YYDEBUG(618, *YYCURSOR);
14786
30.3k
  yych = *++YYCURSOR;
14787
30.3k
  if (yych <= 'N') {
14788
19.5k
    if (yych == 'H') goto yy805;
14789
16.1k
    if (yych <= 'M') goto yy59;
14790
4.42k
    goto yy806;
14791
16.1k
  } else {
14792
10.7k
    if (yych <= 'h') {
14793
7.34k
      if (yych <= 'g') goto yy59;
14794
5.69k
      goto yy805;
14795
7.34k
    } else {
14796
3.45k
      if (yych == 'n') goto yy806;
14797
2.24k
      goto yy59;
14798
3.45k
    }
14799
10.7k
  }
14800
47.7k
yy619:
14801
47.7k
  YYDEBUG(619, *YYCURSOR);
14802
47.7k
  yych = *++YYCURSOR;
14803
47.7k
  if (yych <= '/') goto yy251;
14804
40.1k
  if (yych <= '9') goto yy807;
14805
17.9k
  goto yy251;
14806
21.7k
yy620:
14807
21.7k
  YYDEBUG(620, *YYCURSOR);
14808
21.7k
  yych = *++YYCURSOR;
14809
21.7k
  if (yych == 'A') goto yy808;
14810
14.8k
  if (yych == 'a') goto yy808;
14811
3.84k
  goto yy59;
14812
3.84k
yy621:
14813
2.81k
  YYDEBUG(621, *YYCURSOR);
14814
2.81k
  yych = *++YYCURSOR;
14815
2.81k
  if (yych == 'H') goto yy253;
14816
2.04k
  if (yych == 'h') goto yy253;
14817
1.03k
  goto yy59;
14818
45.4k
yy622:
14819
45.4k
  YYDEBUG(622, *YYCURSOR);
14820
45.4k
  yych = *++YYCURSOR;
14821
45.4k
  if (yych == 'O') goto yy809;
14822
22.3k
  if (yych == 'o') goto yy809;
14823
6.47k
  goto yy59;
14824
6.47k
yy623:
14825
5.41k
  YYDEBUG(623, *YYCURSOR);
14826
5.41k
  yych = *++YYCURSOR;
14827
5.41k
  if (yych == 'I') goto yy809;
14828
3.75k
  if (yych == 'i') goto yy809;
14829
1.11k
  goto yy59;
14830
13.5k
yy624:
14831
13.5k
  YYDEBUG(624, *YYCURSOR);
14832
13.5k
  yych = *++YYCURSOR;
14833
13.5k
  if (yych == 'T') goto yy810;
14834
10.7k
  if (yych == 't') goto yy810;
14835
6.28k
  goto yy59;
14836
6.28k
yy625:
14837
3.56k
  YYDEBUG(625, *YYCURSOR);
14838
3.56k
  yych = *++YYCURSOR;
14839
3.56k
  if (yych == 'H') goto yy425;
14840
3.38k
  if (yych == 'h') goto yy425;
14841
2.14k
  goto yy59;
14842
38.2k
yy626:
14843
38.2k
  YYDEBUG(626, *YYCURSOR);
14844
38.2k
  yych = *++YYCURSOR;
14845
38.2k
  if (yych == 'B') goto yy811;
14846
32.1k
  if (yych == 'b') goto yy811;
14847
21.2k
  goto yy59;
14848
21.2k
yy627:
14849
10.8k
  YYDEBUG(627, *YYCURSOR);
14850
10.8k
  yych = *++YYCURSOR;
14851
10.8k
  if (yych == 'R') goto yy630;
14852
7.99k
  if (yych == 'r') goto yy630;
14853
4.60k
  goto yy59;
14854
19.3k
yy628:
14855
19.3k
  YYDEBUG(628, *YYCURSOR);
14856
19.3k
  yych = *++YYCURSOR;
14857
19.3k
  if (yych == 'N') goto yy812;
14858
18.4k
  if (yych == 'n') goto yy812;
14859
5.71k
  goto yy59;
14860
17.3k
yy629:
14861
17.3k
  YYDEBUG(629, *YYCURSOR);
14862
17.3k
  yych = *++YYCURSOR;
14863
17.3k
  if (yych == 'S') goto yy630;
14864
15.7k
  if (yych != 's') goto yy59;
14865
24.9k
yy630:
14866
24.9k
  YYDEBUG(630, *YYCURSOR);
14867
24.9k
  yych = *++YYCURSOR;
14868
24.9k
  if (yych == 'D') goto yy198;
14869
20.0k
  if (yych == 'd') goto yy198;
14870
14.3k
  goto yy59;
14871
17.1k
yy631:
14872
17.1k
  YYDEBUG(631, *YYCURSOR);
14873
17.1k
  yych = *++YYCURSOR;
14874
17.1k
  if (yych == 'E') goto yy629;
14875
14.6k
  if (yych == 'e') goto yy629;
14876
8.41k
  goto yy59;
14877
21.5k
yy632:
14878
21.5k
  YYDEBUG(632, *YYCURSOR);
14879
21.5k
  yyaccept = 6;
14880
21.5k
  yych = *(YYMARKER = ++YYCURSOR);
14881
21.5k
  if (yych <= 'S') {
14882
9.17k
    if (yych == 'D') goto yy198;
14883
5.85k
    if (yych <= 'R') goto yy260;
14884
543
    goto yy615;
14885
12.4k
  } else {
14886
12.4k
    if (yych <= 'd') {
14887
7.87k
      if (yych <= 'c') goto yy260;
14888
4.35k
      goto yy198;
14889
7.87k
    } else {
14890
4.52k
      if (yych == 's') goto yy615;
14891
699
      goto yy260;
14892
4.52k
    }
14893
12.4k
  }
14894
11.3k
yy633:
14895
11.3k
  YYDEBUG(633, *YYCURSOR);
14896
11.3k
  yych = *++YYCURSOR;
14897
11.3k
  if (yych <= ',') goto yy59;
14898
10.3k
  if (yych <= '.') goto yy396;
14899
9.09k
  if (yych <= '/') goto yy59;
14900
8.74k
  if (yych <= '9') goto yy635;
14901
4.49k
  goto yy59;
14902
5.89k
yy634:
14903
5.89k
  YYDEBUG(634, *YYCURSOR);
14904
5.89k
  yych = *++YYCURSOR;
14905
5.89k
  if (yych <= ',') goto yy59;
14906
4.97k
  if (yych <= '.') goto yy396;
14907
4.66k
  if (yych <= '/') goto yy59;
14908
3.73k
  if (yych >= '3') goto yy59;
14909
10.5k
yy635:
14910
10.5k
  YYDEBUG(635, *YYCURSOR);
14911
10.5k
  yych = *++YYCURSOR;
14912
10.5k
  if (yych <= ',') goto yy59;
14913
10.2k
  if (yych <= '.') goto yy396;
14914
8.27k
  goto yy59;
14915
77.5k
yy636:
14916
77.5k
  YYDEBUG(636, *YYCURSOR);
14917
77.5k
  yyaccept = 4;
14918
77.5k
  yych = *(YYMARKER = ++YYCURSOR);
14919
77.5k
  if (yych == '.') goto yy744;
14920
73.9k
  if (yych <= '/') goto yy177;
14921
68.3k
  if (yych <= '9') goto yy813;
14922
13.8k
  goto yy177;
14923
13.8k
yy637:
14924
10.0k
  YYDEBUG(637, *YYCURSOR);
14925
10.0k
  yyaccept = 4;
14926
10.0k
  yych = *(YYMARKER = ++YYCURSOR);
14927
10.0k
  if (yych <= '/') {
14928
1.07k
    if (yych == '.') goto yy744;
14929
827
    goto yy177;
14930
8.93k
  } else {
14931
8.93k
    if (yych <= '0') goto yy813;
14932
8.09k
    if (yych <= '9') goto yy738;
14933
2.69k
    goto yy177;
14934
8.09k
  }
14935
255k
yy638:
14936
255k
  YYDEBUG(638, *YYCURSOR);
14937
255k
  ++YYCURSOR;
14938
255k
  if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
14939
255k
  yych = *YYCURSOR;
14940
255k
  YYDEBUG(639, *YYCURSOR);
14941
255k
  if (yych <= 'A') {
14942
224k
    if (yych <= 0x1F) {
14943
146k
      if (yych == '\t') goto yy638;
14944
10.4k
      goto yy59;
14945
146k
    } else {
14946
78.0k
      if (yych <= ' ') goto yy638;
14947
42.0k
      if (yych <= '@') goto yy59;
14948
9.00k
      goto yy106;
14949
42.0k
    }
14950
224k
  } else {
14951
31.2k
    if (yych <= '`') {
14952
10.9k
      if (yych == 'P') goto yy106;
14953
9.88k
      goto yy59;
14954
20.2k
    } else {
14955
20.2k
      if (yych <= 'a') goto yy106;
14956
13.2k
      if (yych == 'p') goto yy106;
14957
11.9k
      goto yy59;
14958
13.2k
    }
14959
31.2k
  }
14960
60.5k
yy640:
14961
60.5k
  YYDEBUG(640, *YYCURSOR);
14962
60.5k
  ++YYCURSOR;
14963
60.5k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
14964
60.5k
  yych = *YYCURSOR;
14965
60.5k
  if (yych == 0xA0) goto yy814;
14966
10.3k
  goto yy59;
14967
43.9k
yy641:
14968
43.9k
  YYDEBUG(641, *YYCURSOR);
14969
43.9k
  ++YYCURSOR;
14970
43.9k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
14971
43.9k
  yych = *YYCURSOR;
14972
43.9k
  if (yych == 0x80) goto yy815;
14973
8.41k
  goto yy59;
14974
126k
yy642:
14975
126k
  YYDEBUG(642, *YYCURSOR);
14976
126k
  yyaccept = 4;
14977
126k
  yych = *(YYMARKER = ++YYCURSOR);
14978
126k
  if (yych == '.') goto yy744;
14979
116k
  if (yych <= '/') goto yy177;
14980
100k
  if (yych <= '9') goto yy816;
14981
15.7k
  goto yy177;
14982
15.7k
yy643:
14983
8.93k
  YYDEBUG(643, *YYCURSOR);
14984
8.93k
  yyaccept = 4;
14985
8.93k
  yych = *(YYMARKER = ++YYCURSOR);
14986
8.93k
  if (yych == '.') goto yy744;
14987
6.01k
  if (yych == '0') goto yy816;
14988
3.05k
  goto yy177;
14989
221k
yy644:
14990
221k
  YYDEBUG(644, *YYCURSOR);
14991
221k
  yych = *++YYCURSOR;
14992
221k
  if (yych <= '/') goto yy59;
14993
207k
  if (yych <= '5') goto yy817;
14994
37.1k
  if (yych <= '6') goto yy818;
14995
24.1k
  if (yych <= '9') goto yy575;
14996
20.7k
  goto yy59;
14997
97.0k
yy645:
14998
97.0k
  YYDEBUG(645, *YYCURSOR);
14999
97.0k
  yych = *++YYCURSOR;
15000
97.0k
  if (yych <= '/') goto yy59;
15001
86.5k
  if (yych <= '2') goto yy819;
15002
46.1k
  if (yych <= '3') goto yy820;
15003
15.9k
  if (yych <= '9') goto yy821;
15004
11.8k
  goto yy59;
15005
68.1k
yy646:
15006
68.1k
  YYDEBUG(646, *YYCURSOR);
15007
68.1k
  yych = *++YYCURSOR;
15008
68.1k
  if (yych == '-') goto yy822;
15009
22.0k
  goto yy59;
15010
22.0k
yy647:
15011
20.9k
  YYDEBUG(647, *YYCURSOR);
15012
20.9k
  yych = *++YYCURSOR;
15013
20.9k
  if (yych == 'R') goto yy823;
15014
17.0k
  if (yych == 'r') goto yy823;
15015
13.5k
  goto yy59;
15016
13.5k
yy648:
15017
13.0k
  YYDEBUG(648, *YYCURSOR);
15018
13.0k
  yych = *++YYCURSOR;
15019
13.0k
  if (yych == 'G') goto yy823;
15020
11.4k
  if (yych == 'g') goto yy823;
15021
9.59k
  goto yy59;
15022
12.7k
yy649:
15023
12.7k
  YYDEBUG(649, *YYCURSOR);
15024
12.7k
  yych = *++YYCURSOR;
15025
12.7k
  if (yych == 'C') goto yy823;
15026
9.07k
  if (yych == 'c') goto yy823;
15027
5.03k
  goto yy59;
15028
19.2k
yy650:
15029
19.2k
  YYDEBUG(650, *YYCURSOR);
15030
19.2k
  yych = *++YYCURSOR;
15031
19.2k
  if (yych == 'B') goto yy823;
15032
16.7k
  if (yych == 'b') goto yy823;
15033
9.39k
  goto yy59;
15034
15.5k
yy651:
15035
15.5k
  YYDEBUG(651, *YYCURSOR);
15036
15.5k
  yych = *++YYCURSOR;
15037
15.5k
  if (yych == 'N') goto yy823;
15038
13.6k
  if (yych == 'n') goto yy823;
15039
5.71k
  goto yy59;
15040
24.9k
yy652:
15041
24.9k
  YYDEBUG(652, *YYCURSOR);
15042
24.9k
  yych = *++YYCURSOR;
15043
24.9k
  if (yych <= 'N') {
15044
8.28k
    if (yych == 'L') goto yy823;
15045
4.87k
    if (yych <= 'M') goto yy59;
15046
1.33k
    goto yy823;
15047
16.6k
  } else {
15048
16.6k
    if (yych <= 'l') {
15049
7.48k
      if (yych <= 'k') goto yy59;
15050
2.56k
      goto yy823;
15051
9.20k
    } else {
15052
9.20k
      if (yych == 'n') goto yy823;
15053
5.66k
      goto yy59;
15054
9.20k
    }
15055
16.6k
  }
15056
33.9k
yy653:
15057
33.9k
  YYDEBUG(653, *YYCURSOR);
15058
33.9k
  yych = *++YYCURSOR;
15059
33.9k
  if (yych <= 'Y') {
15060
16.5k
    if (yych == 'R') goto yy823;
15061
11.4k
    if (yych <= 'X') goto yy59;
15062
5.59k
    goto yy823;
15063
17.3k
  } else {
15064
17.3k
    if (yych <= 'r') {
15065
5.73k
      if (yych <= 'q') goto yy59;
15066
3.30k
      goto yy823;
15067
11.6k
    } else {
15068
11.6k
      if (yych == 'y') goto yy823;
15069
3.44k
      goto yy59;
15070
11.6k
    }
15071
17.3k
  }
15072
17.2k
yy654:
15073
17.2k
  YYDEBUG(654, *YYCURSOR);
15074
17.2k
  yych = *++YYCURSOR;
15075
17.2k
  if (yych == 'V') goto yy823;
15076
15.1k
  if (yych == 'v') goto yy823;
15077
13.1k
  goto yy59;
15078
13.1k
yy655:
15079
12.5k
  YYDEBUG(655, *YYCURSOR);
15080
12.5k
  yych = *++YYCURSOR;
15081
12.5k
  if (yych == 'T') goto yy823;
15082
4.33k
  if (yych == 't') goto yy823;
15083
1.61k
  goto yy59;
15084
48.5k
yy656:
15085
48.5k
  YYDEBUG(656, *YYCURSOR);
15086
48.5k
  yych = *++YYCURSOR;
15087
48.5k
  if (yych == 'P') goto yy824;
15088
33.8k
  if (yych == 'p') goto yy824;
15089
13.9k
  goto yy59;
15090
22.3k
yy657:
15091
22.3k
  YYDEBUG(657, *YYCURSOR);
15092
22.3k
  yych = *++YYCURSOR;
15093
22.3k
  if (yych <= '/') goto yy290;
15094
19.7k
  if (yych <= '9') goto yy825;
15095
2.69k
  goto yy290;
15096
4.64M
yy658:
15097
4.64M
  YYDEBUG(658, *YYCURSOR);
15098
4.64M
  yych = *++YYCURSOR;
15099
4.64M
  if (yych <= '@') {
15100
1.02M
    if (yych == ')') goto yy115;
15101
989k
    goto yy20;
15102
3.62M
  } else {
15103
3.62M
    if (yych <= 'Z') goto yy826;
15104
3.07M
    if (yych <= '`') goto yy20;
15105
2.95M
    if (yych <= 'z') goto yy826;
15106
195k
    goto yy20;
15107
2.95M
  }
15108
100k
yy659:
15109
100k
  YYDEBUG(659, *YYCURSOR);
15110
100k
  yych = *++YYCURSOR;
15111
100k
  if (yych <= '9') {
15112
63.6k
    if (yych <= ' ') {
15113
18.5k
      if (yych <= 0x08) {
15114
7.68k
        if (yych <= 0x00) goto yy324;
15115
5.51k
        goto yy59;
15116
10.8k
      } else {
15117
10.8k
        if (yych <= '\t') goto yy326;
15118
9.27k
        if (yych <= 0x1F) goto yy59;
15119
917
        goto yy326;
15120
9.27k
      }
15121
45.0k
    } else {
15122
45.0k
      if (yych <= '-') {
15123
5.56k
        if (yych == ',') goto yy326;
15124
2.51k
        goto yy59;
15125
39.5k
      } else {
15126
39.5k
        if (yych <= '.') goto yy326;
15127
38.7k
        if (yych <= '/') goto yy59;
15128
38.0k
        goto yy827;
15129
38.7k
      }
15130
45.0k
    }
15131
63.6k
  } else {
15132
36.9k
    if (yych <= 'm') {
15133
17.0k
      if (yych <= 'd') {
15134
14.5k
        if (yych <= 'c') goto yy59;
15135
5.20k
        goto yy326;
15136
14.5k
      } else {
15137
2.42k
        if (yych == 'h') goto yy326;
15138
842
        goto yy59;
15139
2.42k
      }
15140
19.9k
    } else {
15141
19.9k
      if (yych <= 'r') {
15142
7.72k
        if (yych <= 'n') goto yy329;
15143
6.63k
        if (yych <= 'q') goto yy59;
15144
619
        goto yy329;
15145
12.1k
      } else {
15146
12.1k
        if (yych <= 's') goto yy330;
15147
9.78k
        if (yych <= 't') goto yy331;
15148
7.65k
        goto yy59;
15149
9.78k
      }
15150
19.9k
    }
15151
36.9k
  }
15152
70.3k
yy660:
15153
70.3k
  YYDEBUG(660, *YYCURSOR);
15154
70.3k
  yych = *++YYCURSOR;
15155
70.3k
  if (yych <= '1') {
15156
40.2k
    if (yych <= ' ') {
15157
5.26k
      if (yych <= 0x08) {
15158
1.63k
        if (yych <= 0x00) goto yy324;
15159
977
        goto yy59;
15160
3.62k
      } else {
15161
3.62k
        if (yych <= '\t') goto yy326;
15162
3.45k
        if (yych <= 0x1F) goto yy59;
15163
2.46k
        goto yy326;
15164
3.45k
      }
15165
34.9k
    } else {
15166
34.9k
      if (yych <= '-') {
15167
5.73k
        if (yych == ',') goto yy326;
15168
5.17k
        goto yy59;
15169
29.2k
      } else {
15170
29.2k
        if (yych <= '.') goto yy326;
15171
28.7k
        if (yych <= '/') goto yy59;
15172
28.3k
        goto yy827;
15173
28.7k
      }
15174
34.9k
    }
15175
40.2k
  } else {
15176
30.1k
    if (yych <= 'm') {
15177
15.6k
      if (yych <= 'd') {
15178
11.6k
        if (yych <= '9') goto yy332;
15179
6.49k
        if (yych <= 'c') goto yy59;
15180
2.29k
        goto yy326;
15181
6.49k
      } else {
15182
3.99k
        if (yych == 'h') goto yy326;
15183
2.79k
        goto yy59;
15184
3.99k
      }
15185
15.6k
    } else {
15186
14.5k
      if (yych <= 'r') {
15187
7.02k
        if (yych <= 'n') goto yy329;
15188
3.46k
        if (yych <= 'q') goto yy59;
15189
3.13k
        goto yy329;
15190
7.49k
      } else {
15191
7.49k
        if (yych <= 's') goto yy330;
15192
6.16k
        if (yych <= 't') goto yy331;
15193
4.42k
        goto yy59;
15194
6.16k
      }
15195
14.5k
    }
15196
30.1k
  }
15197
29.5k
yy661:
15198
29.5k
  YYDEBUG(661, *YYCURSOR);
15199
29.5k
  yyaccept = 7;
15200
29.5k
  yych = *(YYMARKER = ++YYCURSOR);
15201
29.5k
  if (yych <= ',') {
15202
9.84k
    if (yych <= 0x1F) {
15203
3.73k
      if (yych == '\t') goto yy142;
15204
2.34k
      goto yy295;
15205
6.10k
    } else {
15206
6.10k
      if (yych <= ' ') goto yy142;
15207
4.45k
      if (yych == ')') goto yy115;
15208
3.23k
      goto yy295;
15209
4.45k
    }
15210
19.7k
  } else {
15211
19.7k
    if (yych <= '@') {
15212
7.10k
      if (yych == '/') goto yy295;
15213
4.30k
      if (yych <= '9') goto yy142;
15214
1.02k
      goto yy295;
15215
12.6k
    } else {
15216
12.6k
      if (yych <= 'Z') goto yy826;
15217
11.3k
      if (yych <= '`') goto yy295;
15218
10.3k
      if (yych <= 'z') goto yy826;
15219
7.66k
      goto yy295;
15220
10.3k
    }
15221
19.7k
  }
15222
37.5k
yy662:
15223
37.5k
  YYDEBUG(662, *YYCURSOR);
15224
37.5k
  yych = *++YYCURSOR;
15225
37.5k
  if (yych <= 'T') {
15226
16.9k
    if (yych <= ')') {
15227
5.33k
      if (yych <= '(') goto yy20;
15228
4.64k
      goto yy115;
15229
11.6k
    } else {
15230
11.6k
      if (yych <= '@') goto yy20;
15231
11.0k
      if (yych <= 'S') goto yy826;
15232
10.3k
      goto yy828;
15233
11.0k
    }
15234
20.5k
  } else {
15235
20.5k
    if (yych <= 's') {
15236
8.61k
      if (yych <= 'Z') goto yy826;
15237
5.42k
      if (yych <= '`') goto yy20;
15238
4.24k
      goto yy826;
15239
11.9k
    } else {
15240
11.9k
      if (yych <= 't') goto yy828;
15241
9.12k
      if (yych <= 'z') goto yy826;
15242
3.71k
      goto yy20;
15243
9.12k
    }
15244
20.5k
  }
15245
855k
yy663:
15246
855k
  YYDEBUG(663, *YYCURSOR);
15247
855k
  yyaccept = 2;
15248
855k
  yych = *(YYMARKER = ++YYCURSOR);
15249
855k
  if (yych <= '/') {
15250
216k
    if (yych <= ',') {
15251
178k
      if (yych == ')') goto yy115;
15252
168k
      goto yy20;
15253
178k
    } else {
15254
38.7k
      if (yych == '.') goto yy20;
15255
30.5k
      goto yy297;
15256
38.7k
    }
15257
638k
  } else {
15258
638k
    if (yych <= '^') {
15259
159k
      if (yych <= '@') goto yy20;
15260
73.4k
      if (yych <= 'Z') goto yy826;
15261
12.4k
      goto yy20;
15262
479k
    } else {
15263
479k
      if (yych <= '_') goto yy297;
15264
460k
      if (yych <= '`') goto yy20;
15265
449k
      if (yych <= 'z') goto yy829;
15266
35.6k
      goto yy20;
15267
449k
    }
15268
638k
  }
15269
34.6k
yy664:
15270
34.6k
  YYDEBUG(664, *YYCURSOR);
15271
34.6k
  yyaccept = 7;
15272
34.6k
  yych = *(YYMARKER = ++YYCURSOR);
15273
34.6k
  if (yych <= '.') {
15274
11.5k
    if (yych <= ' ') {
15275
6.41k
      if (yych == '\t') goto yy142;
15276
966
      if (yych <= 0x1F) goto yy295;
15277
313
      goto yy142;
15278
5.12k
    } else {
15279
5.12k
      if (yych <= ')') {
15280
3.51k
        if (yych <= '(') goto yy295;
15281
1.49k
        goto yy115;
15282
3.51k
      } else {
15283
1.61k
        if (yych <= ',') goto yy295;
15284
1.06k
        if (yych <= '-') goto yy700;
15285
580
        goto yy142;
15286
1.06k
      }
15287
5.12k
    }
15288
23.0k
  } else {
15289
23.0k
    if (yych <= 'Z') {
15290
8.29k
      if (yych <= '/') goto yy297;
15291
6.84k
      if (yych <= '9') goto yy142;
15292
2.30k
      if (yych <= '@') goto yy295;
15293
1.71k
      goto yy826;
15294
14.7k
    } else {
15295
14.7k
      if (yych <= '_') {
15296
1.55k
        if (yych <= '^') goto yy295;
15297
536
        goto yy297;
15298
13.2k
      } else {
15299
13.2k
        if (yych <= '`') goto yy295;
15300
10.6k
        if (yych <= 'z') goto yy829;
15301
7.72k
        goto yy295;
15302
10.6k
      }
15303
14.7k
    }
15304
23.0k
  }
15305
58.9k
yy665:
15306
58.9k
  YYDEBUG(665, *YYCURSOR);
15307
58.9k
  yyaccept = 2;
15308
58.9k
  yych = *(YYMARKER = ++YYCURSOR);
15309
58.9k
  if (yych <= 'S') {
15310
10.3k
    if (yych <= '-') {
15311
3.00k
      if (yych == ')') goto yy115;
15312
2.39k
      if (yych <= ',') goto yy20;
15313
551
      goto yy297;
15314
7.38k
    } else {
15315
7.38k
      if (yych == '/') goto yy297;
15316
4.56k
      if (yych <= '@') goto yy20;
15317
1.53k
      goto yy826;
15318
4.56k
    }
15319
48.5k
  } else {
15320
48.5k
    if (yych <= '_') {
15321
14.8k
      if (yych <= 'T') goto yy828;
15322
11.1k
      if (yych <= 'Z') goto yy826;
15323
6.78k
      if (yych <= '^') goto yy20;
15324
431
      goto yy297;
15325
33.6k
    } else {
15326
33.6k
      if (yych <= 's') {
15327
4.49k
        if (yych <= '`') goto yy20;
15328
4.28k
        goto yy829;
15329
29.2k
      } else {
15330
29.2k
        if (yych <= 't') goto yy830;
15331
6.76k
        if (yych <= 'z') goto yy829;
15332
2.22k
        goto yy20;
15333
6.76k
      }
15334
33.6k
    }
15335
48.5k
  }
15336
140k
yy666:
15337
140k
  YYDEBUG(666, *YYCURSOR);
15338
140k
  yych = *++YYCURSOR;
15339
140k
  if (yych == 'O') goto yy831;
15340
134k
  if (yych == 'o') goto yy831;
15341
17.8k
  goto yy59;
15342
28.1k
yy667:
15343
28.1k
  YYDEBUG(667, *YYCURSOR);
15344
28.1k
  yych = *++YYCURSOR;
15345
28.1k
  if (yych <= 'B') {
15346
11.6k
    if (yych <= ')') {
15347
5.86k
      if (yych <= '(') goto yy20;
15348
1.98k
      goto yy115;
15349
5.86k
    } else {
15350
5.80k
      if (yych <= '@') goto yy20;
15351
1.99k
      if (yych <= 'A') goto yy826;
15352
1.06k
      goto yy832;
15353
1.99k
    }
15354
16.5k
  } else {
15355
16.5k
    if (yych <= 'a') {
15356
6.86k
      if (yych <= 'Z') goto yy826;
15357
3.26k
      if (yych <= '`') goto yy20;
15358
2.38k
      goto yy826;
15359
9.65k
    } else {
15360
9.65k
      if (yych <= 'b') goto yy832;
15361
4.01k
      if (yych <= 'z') goto yy826;
15362
2.65k
      goto yy20;
15363
4.01k
    }
15364
16.5k
  }
15365
41.2k
yy668:
15366
41.2k
  YYDEBUG(668, *YYCURSOR);
15367
41.2k
  yyaccept = 2;
15368
41.2k
  yych = *(YYMARKER = ++YYCURSOR);
15369
41.2k
  if (yych <= 'A') {
15370
5.89k
    if (yych <= '-') {
15371
3.11k
      if (yych == ')') goto yy115;
15372
2.61k
      if (yych <= ',') goto yy20;
15373
1.94k
      goto yy297;
15374
2.77k
    } else {
15375
2.77k
      if (yych == '/') goto yy297;
15376
1.84k
      if (yych <= '@') goto yy20;
15377
400
      goto yy826;
15378
1.84k
    }
15379
35.3k
  } else {
15380
35.3k
    if (yych <= '_') {
15381
6.81k
      if (yych <= 'B') goto yy832;
15382
5.66k
      if (yych <= 'Z') goto yy826;
15383
4.32k
      if (yych <= '^') goto yy20;
15384
3.14k
      goto yy297;
15385
28.5k
    } else {
15386
28.5k
      if (yych <= 'a') {
15387
1.10k
        if (yych <= '`') goto yy20;
15388
49
        goto yy829;
15389
27.4k
      } else {
15390
27.4k
        if (yych <= 'b') goto yy833;
15391
5.10k
        if (yych <= 'z') goto yy829;
15392
1.09k
        goto yy20;
15393
5.10k
      }
15394
28.5k
    }
15395
35.3k
  }
15396
168k
yy669:
15397
168k
  YYDEBUG(669, *YYCURSOR);
15398
168k
  yyaccept = 2;
15399
168k
  yych = *(YYMARKER = ++YYCURSOR);
15400
168k
  if (yych <= 'H') {
15401
78.7k
    if (yych <= ' ') {
15402
52.6k
      if (yych == '\t') goto yy834;
15403
16.7k
      if (yych <= 0x1F) goto yy20;
15404
13.4k
      goto yy834;
15405
26.0k
    } else {
15406
26.0k
      if (yych <= ')') {
15407
4.06k
        if (yych <= '(') goto yy20;
15408
1.06k
        goto yy115;
15409
21.9k
      } else {
15410
21.9k
        if (yych <= '@') goto yy20;
15411
14.8k
        if (yych <= 'G') goto yy826;
15412
12.0k
        goto yy836;
15413
14.8k
      }
15414
26.0k
    }
15415
89.4k
  } else {
15416
89.4k
    if (yych <= 'z') {
15417
70.1k
      if (yych <= '`') {
15418
6.33k
        if (yych <= 'Z') goto yy826;
15419
3.42k
        goto yy20;
15420
63.8k
      } else {
15421
63.8k
        if (yych == 'h') goto yy836;
15422
5.51k
        goto yy826;
15423
63.8k
      }
15424
70.1k
    } else {
15425
19.2k
      if (yych <= 0xC2) {
15426
10.1k
        if (yych <= 0xC1) goto yy20;
15427
5.14k
        goto yy837;
15428
10.1k
      } else {
15429
9.07k
        if (yych == 0xE2) goto yy838;
15430
3.61k
        goto yy20;
15431
9.07k
      }
15432
19.2k
    }
15433
89.4k
  }
15434
40.7k
yy670:
15435
40.7k
  YYDEBUG(670, *YYCURSOR);
15436
40.7k
  yych = *++YYCURSOR;
15437
40.7k
  if (yych <= 'N') {
15438
16.8k
    if (yych <= ')') {
15439
8.09k
      if (yych <= '(') goto yy20;
15440
3.81k
      goto yy115;
15441
8.72k
    } else {
15442
8.72k
      if (yych <= '@') goto yy20;
15443
4.16k
      if (yych <= 'M') goto yy826;
15444
1.18k
      goto yy839;
15445
4.16k
    }
15446
23.9k
  } else {
15447
23.9k
    if (yych <= 'm') {
15448
8.91k
      if (yych <= 'Z') goto yy826;
15449
6.09k
      if (yych <= '`') goto yy20;
15450
792
      goto yy826;
15451
15.0k
    } else {
15452
15.0k
      if (yych <= 'n') goto yy839;
15453
5.41k
      if (yych <= 'z') goto yy826;
15454
671
      goto yy20;
15455
5.41k
    }
15456
23.9k
  }
15457
76.4k
yy671:
15458
76.4k
  YYDEBUG(671, *YYCURSOR);
15459
76.4k
  yyaccept = 2;
15460
76.4k
  yych = *(YYMARKER = ++YYCURSOR);
15461
76.4k
  if (yych <= 'G') {
15462
25.6k
    if (yych <= ')') {
15463
15.9k
      if (yych <= 0x1F) {
15464
3.66k
        if (yych == '\t') goto yy834;
15465
2.49k
        goto yy20;
15466
12.3k
      } else {
15467
12.3k
        if (yych <= ' ') goto yy834;
15468
2.48k
        if (yych <= '(') goto yy20;
15469
744
        goto yy115;
15470
2.48k
      }
15471
15.9k
    } else {
15472
9.69k
      if (yych <= '.') {
15473
7.52k
        if (yych == '-') goto yy297;
15474
1.24k
        goto yy20;
15475
7.52k
      } else {
15476
2.17k
        if (yych <= '/') goto yy297;
15477
1.84k
        if (yych <= '@') goto yy20;
15478
467
        goto yy826;
15479
1.84k
      }
15480
9.69k
    }
15481
50.7k
  } else {
15482
50.7k
    if (yych <= 'g') {
15483
14.1k
      if (yych <= '^') {
15484
5.96k
        if (yych <= 'H') goto yy836;
15485
5.68k
        if (yych <= 'Z') goto yy826;
15486
659
        goto yy20;
15487
8.17k
      } else {
15488
8.17k
        if (yych <= '_') goto yy297;
15489
5.86k
        if (yych <= '`') goto yy20;
15490
4.20k
        goto yy829;
15491
5.86k
      }
15492
36.6k
    } else {
15493
36.6k
      if (yych <= 0xC1) {
15494
26.1k
        if (yych <= 'h') goto yy840;
15495
1.87k
        if (yych <= 'z') goto yy829;
15496
652
        goto yy20;
15497
10.4k
      } else {
15498
10.4k
        if (yych <= 0xC2) goto yy837;
15499
8.07k
        if (yych == 0xE2) goto yy838;
15500
6.87k
        goto yy20;
15501
8.07k
      }
15502
36.6k
    }
15503
50.7k
  }
15504
62.0k
yy672:
15505
62.0k
  YYDEBUG(672, *YYCURSOR);
15506
62.0k
  yyaccept = 2;
15507
62.0k
  yych = *(YYMARKER = ++YYCURSOR);
15508
62.0k
  if (yych <= 'M') {
15509
5.81k
    if (yych <= '-') {
15510
3.01k
      if (yych == ')') goto yy115;
15511
2.16k
      if (yych <= ',') goto yy20;
15512
1.55k
      goto yy297;
15513
2.79k
    } else {
15514
2.79k
      if (yych == '/') goto yy297;
15515
2.23k
      if (yych <= '@') goto yy20;
15516
1.08k
      goto yy826;
15517
2.23k
    }
15518
56.2k
  } else {
15519
56.2k
    if (yych <= '_') {
15520
4.34k
      if (yych <= 'N') goto yy839;
15521
3.92k
      if (yych <= 'Z') goto yy826;
15522
2.75k
      if (yych <= '^') goto yy20;
15523
1.95k
      goto yy297;
15524
51.9k
    } else {
15525
51.9k
      if (yych <= 'm') {
15526
7.57k
        if (yych <= '`') goto yy20;
15527
5.54k
        goto yy829;
15528
44.3k
      } else {
15529
44.3k
        if (yych <= 'n') goto yy841;
15530
9.81k
        if (yych <= 'z') goto yy829;
15531
2.56k
        goto yy20;
15532
9.81k
      }
15533
51.9k
    }
15534
56.2k
  }
15535
25.6k
yy673:
15536
25.6k
  YYDEBUG(673, *YYCURSOR);
15537
25.6k
  yych = *++YYCURSOR;
15538
25.6k
  if (yych <= 'A') {
15539
14.0k
    if (yych == ')') goto yy115;
15540
11.3k
    if (yych <= '@') goto yy20;
15541
2.50k
    goto yy842;
15542
11.6k
  } else {
15543
11.6k
    if (yych <= '`') {
15544
4.92k
      if (yych <= 'Z') goto yy826;
15545
3.58k
      goto yy20;
15546
6.68k
    } else {
15547
6.68k
      if (yych <= 'a') goto yy842;
15548
4.23k
      if (yych <= 'z') goto yy826;
15549
3.54k
      goto yy20;
15550
4.23k
    }
15551
11.6k
  }
15552
98.2k
yy674:
15553
98.2k
  YYDEBUG(674, *YYCURSOR);
15554
98.2k
  yyaccept = 2;
15555
98.2k
  yych = *(YYMARKER = ++YYCURSOR);
15556
98.2k
  if (yych <= '@') {
15557
46.7k
    if (yych <= 0x1F) {
15558
41.4k
      if (yych == '\t') goto yy834;
15559
2.78k
      goto yy20;
15560
41.4k
    } else {
15561
5.36k
      if (yych <= ' ') goto yy834;
15562
4.49k
      if (yych == ')') goto yy115;
15563
2.21k
      goto yy20;
15564
4.49k
    }
15565
51.4k
  } else {
15566
51.4k
    if (yych <= 0xC1) {
15567
12.3k
      if (yych <= 'Z') goto yy826;
15568
7.57k
      if (yych <= '`') goto yy20;
15569
7.15k
      if (yych <= 'z') goto yy826;
15570
2.78k
      goto yy20;
15571
39.1k
    } else {
15572
39.1k
      if (yych <= 0xC2) goto yy837;
15573
4.07k
      if (yych == 0xE2) goto yy838;
15574
3.77k
      goto yy20;
15575
4.07k
    }
15576
51.4k
  }
15577
85.3k
yy675:
15578
85.3k
  YYDEBUG(675, *YYCURSOR);
15579
85.3k
  yyaccept = 2;
15580
85.3k
  yych = *(YYMARKER = ++YYCURSOR);
15581
85.3k
  if (yych <= '@') {
15582
72.9k
    if (yych <= 0x1F) {
15583
7.17k
      if (yych == '\t') goto yy834;
15584
2.19k
      goto yy20;
15585
65.7k
    } else {
15586
65.7k
      if (yych <= ' ') goto yy843;
15587
5.50k
      if (yych == ')') goto yy115;
15588
5.22k
      goto yy20;
15589
5.50k
    }
15590
72.9k
  } else {
15591
12.3k
    if (yych <= 0xC1) {
15592
8.38k
      if (yych <= 'Z') goto yy826;
15593
6.70k
      if (yych <= '`') goto yy20;
15594
6.29k
      if (yych <= 'z') goto yy826;
15595
3.26k
      goto yy20;
15596
6.29k
    } else {
15597
3.97k
      if (yych <= 0xC2) goto yy837;
15598
2.76k
      if (yych == 0xE2) goto yy838;
15599
1.45k
      goto yy20;
15600
2.76k
    }
15601
12.3k
  }
15602
16.5k
yy676:
15603
16.5k
  YYDEBUG(676, *YYCURSOR);
15604
16.5k
  yych = *++YYCURSOR;
15605
16.5k
  if (yych <= 'H') {
15606
8.33k
    if (yych <= ')') {
15607
3.01k
      if (yych <= '(') goto yy20;
15608
1.52k
      goto yy115;
15609
5.31k
    } else {
15610
5.31k
      if (yych <= '@') goto yy20;
15611
1.90k
      if (yych <= 'G') goto yy826;
15612
322
      goto yy836;
15613
1.90k
    }
15614
8.33k
  } else {
15615
8.22k
    if (yych <= 'g') {
15616
3.37k
      if (yych <= 'Z') goto yy826;
15617
1.81k
      if (yych <= '`') goto yy20;
15618
1.17k
      goto yy826;
15619
4.85k
    } else {
15620
4.85k
      if (yych <= 'h') goto yy836;
15621
3.17k
      if (yych <= 'z') goto yy826;
15622
1.88k
      goto yy20;
15623
3.17k
    }
15624
8.22k
  }
15625
28.8k
yy677:
15626
28.8k
  YYDEBUG(677, *YYCURSOR);
15627
28.8k
  yych = *++YYCURSOR;
15628
28.8k
  if (yych <= 'Y') {
15629
15.0k
    if (yych <= ')') {
15630
4.02k
      if (yych <= '(') goto yy20;
15631
2.42k
      goto yy115;
15632
11.0k
    } else {
15633
11.0k
      if (yych <= '@') goto yy20;
15634
9.31k
      if (yych <= 'X') goto yy826;
15635
7.69k
      goto yy844;
15636
9.31k
    }
15637
15.0k
  } else {
15638
13.8k
    if (yych <= 'x') {
15639
4.02k
      if (yych <= 'Z') goto yy826;
15640
2.80k
      if (yych <= '`') goto yy20;
15641
1.20k
      goto yy826;
15642
9.83k
    } else {
15643
9.83k
      if (yych <= 'y') goto yy844;
15644
2.76k
      if (yych <= 'z') goto yy826;
15645
2.08k
      goto yy20;
15646
2.76k
    }
15647
13.8k
  }
15648
18.8k
yy678:
15649
18.8k
  YYDEBUG(678, *YYCURSOR);
15650
18.8k
  yyaccept = 2;
15651
18.8k
  yych = *(YYMARKER = ++YYCURSOR);
15652
18.8k
  if (yych <= ')') {
15653
11.5k
    if (yych == ' ') goto yy666;
15654
3.06k
    if (yych <= '(') goto yy20;
15655
2.34k
    goto yy115;
15656
7.33k
  } else {
15657
7.33k
    if (yych <= 'Z') {
15658
3.31k
      if (yych <= '@') goto yy20;
15659
757
      goto yy826;
15660
4.02k
    } else {
15661
4.02k
      if (yych <= '`') goto yy20;
15662
3.01k
      if (yych <= 'z') goto yy826;
15663
2.23k
      goto yy20;
15664
3.01k
    }
15665
7.33k
  }
15666
53.0k
yy679:
15667
53.0k
  YYDEBUG(679, *YYCURSOR);
15668
53.0k
  yyaccept = 2;
15669
53.0k
  yych = *(YYMARKER = ++YYCURSOR);
15670
53.0k
  if (yych <= '@') {
15671
13.3k
    if (yych <= ',') {
15672
4.23k
      if (yych == ')') goto yy115;
15673
1.31k
      goto yy20;
15674
9.07k
    } else {
15675
9.07k
      if (yych == '.') goto yy20;
15676
8.97k
      if (yych <= '/') goto yy297;
15677
6.39k
      goto yy20;
15678
8.97k
    }
15679
39.6k
  } else {
15680
39.6k
    if (yych <= '_') {
15681
4.04k
      if (yych <= 'A') goto yy842;
15682
3.66k
      if (yych <= 'Z') goto yy826;
15683
2.43k
      if (yych <= '^') goto yy20;
15684
524
      goto yy297;
15685
35.6k
    } else {
15686
35.6k
      if (yych <= '`') goto yy20;
15687
35.0k
      if (yych <= 'a') goto yy845;
15688
4.13k
      if (yych <= 'z') goto yy829;
15689
3.01k
      goto yy20;
15690
4.13k
    }
15691
39.6k
  }
15692
33.7k
yy680:
15693
33.7k
  YYDEBUG(680, *YYCURSOR);
15694
33.7k
  yyaccept = 2;
15695
33.7k
  yych = *(YYMARKER = ++YYCURSOR);
15696
33.7k
  if (yych <= '/') {
15697
8.92k
    if (yych <= '(') {
15698
5.64k
      if (yych <= '\t') {
15699
4.02k
        if (yych <= 0x08) goto yy20;
15700
2.16k
        goto yy834;
15701
4.02k
      } else {
15702
1.62k
        if (yych == ' ') goto yy834;
15703
1.10k
        goto yy20;
15704
1.62k
      }
15705
5.64k
    } else {
15706
3.28k
      if (yych <= ',') {
15707
1.95k
        if (yych <= ')') goto yy115;
15708
1.16k
        goto yy20;
15709
1.95k
      } else {
15710
1.33k
        if (yych == '.') goto yy20;
15711
207
        goto yy297;
15712
1.33k
      }
15713
3.28k
    }
15714
24.8k
  } else {
15715
24.8k
    if (yych <= '`') {
15716
13.2k
      if (yych <= 'Z') {
15717
7.35k
        if (yych <= '@') goto yy20;
15718
5.13k
        goto yy826;
15719
7.35k
      } else {
15720
5.84k
        if (yych == '_') goto yy297;
15721
4.76k
        goto yy20;
15722
5.84k
      }
15723
13.2k
    } else {
15724
11.5k
      if (yych <= 0xC2) {
15725
10.1k
        if (yych <= 'z') goto yy829;
15726
8.03k
        if (yych <= 0xC1) goto yy20;
15727
6.69k
        goto yy837;
15728
8.03k
      } else {
15729
1.42k
        if (yych == 0xE2) goto yy838;
15730
1.26k
        goto yy20;
15731
1.42k
      }
15732
11.5k
    }
15733
24.8k
  }
15734
25.0k
yy681:
15735
25.0k
  YYDEBUG(681, *YYCURSOR);
15736
25.0k
  yyaccept = 2;
15737
25.0k
  yych = *(YYMARKER = ++YYCURSOR);
15738
25.0k
  if (yych <= '/') {
15739
15.3k
    if (yych <= '(') {
15740
11.0k
      if (yych <= '\t') {
15741
8.02k
        if (yych <= 0x08) goto yy20;
15742
5.00k
        goto yy834;
15743
8.02k
      } else {
15744
2.97k
        if (yych == ' ') goto yy843;
15745
1.48k
        goto yy20;
15746
2.97k
      }
15747
11.0k
    } else {
15748
4.38k
      if (yych <= ',') {
15749
1.25k
        if (yych <= ')') goto yy115;
15750
1.02k
        goto yy20;
15751
3.13k
      } else {
15752
3.13k
        if (yych == '.') goto yy20;
15753
2.70k
        goto yy297;
15754
3.13k
      }
15755
4.38k
    }
15756
15.3k
  } else {
15757
9.62k
    if (yych <= '`') {
15758
4.70k
      if (yych <= 'Z') {
15759
2.29k
        if (yych <= '@') goto yy20;
15760
353
        goto yy826;
15761
2.41k
      } else {
15762
2.41k
        if (yych == '_') goto yy297;
15763
1.52k
        goto yy20;
15764
2.41k
      }
15765
4.92k
    } else {
15766
4.92k
      if (yych <= 0xC2) {
15767
3.47k
        if (yych <= 'z') goto yy829;
15768
1.98k
        if (yych <= 0xC1) goto yy20;
15769
725
        goto yy837;
15770
1.98k
      } else {
15771
1.45k
        if (yych == 0xE2) goto yy838;
15772
880
        goto yy20;
15773
1.45k
      }
15774
4.92k
    }
15775
9.62k
  }
15776
13.8k
yy682:
15777
13.8k
  YYDEBUG(682, *YYCURSOR);
15778
13.8k
  yyaccept = 2;
15779
13.8k
  yych = *(YYMARKER = ++YYCURSOR);
15780
13.8k
  if (yych <= 'G') {
15781
6.20k
    if (yych <= '-') {
15782
3.27k
      if (yych == ')') goto yy115;
15783
2.89k
      if (yych <= ',') goto yy20;
15784
2.23k
      goto yy297;
15785
2.93k
    } else {
15786
2.93k
      if (yych == '/') goto yy297;
15787
2.41k
      if (yych <= '@') goto yy20;
15788
1.07k
      goto yy826;
15789
2.41k
    }
15790
7.64k
  } else {
15791
7.64k
    if (yych <= '_') {
15792
873
      if (yych <= 'H') goto yy836;
15793
577
      if (yych <= 'Z') goto yy826;
15794
320
      if (yych <= '^') goto yy20;
15795
236
      goto yy297;
15796
6.77k
    } else {
15797
6.77k
      if (yych <= 'g') {
15798
874
        if (yych <= '`') goto yy20;
15799
455
        goto yy829;
15800
5.90k
      } else {
15801
5.90k
        if (yych <= 'h') goto yy840;
15802
1.91k
        if (yych <= 'z') goto yy829;
15803
952
        goto yy20;
15804
1.91k
      }
15805
6.77k
    }
15806
7.64k
  }
15807
34.0k
yy683:
15808
34.0k
  YYDEBUG(683, *YYCURSOR);
15809
34.0k
  yyaccept = 2;
15810
34.0k
  yych = *(YYMARKER = ++YYCURSOR);
15811
34.0k
  if (yych <= 'X') {
15812
9.86k
    if (yych <= '-') {
15813
4.09k
      if (yych == ')') goto yy115;
15814
3.49k
      if (yych <= ',') goto yy20;
15815
2.04k
      goto yy297;
15816
5.77k
    } else {
15817
5.77k
      if (yych == '/') goto yy297;
15818
5.58k
      if (yych <= '@') goto yy20;
15819
1.49k
      goto yy826;
15820
5.58k
    }
15821
24.1k
  } else {
15822
24.1k
    if (yych <= '_') {
15823
5.37k
      if (yych <= 'Y') goto yy844;
15824
1.36k
      if (yych <= 'Z') goto yy826;
15825
572
      if (yych <= '^') goto yy20;
15826
381
      goto yy297;
15827
18.7k
    } else {
15828
18.7k
      if (yych <= 'x') {
15829
3.53k
        if (yych <= '`') goto yy20;
15830
2.40k
        goto yy829;
15831
15.2k
      } else {
15832
15.2k
        if (yych <= 'y') goto yy846;
15833
1.86k
        if (yych <= 'z') goto yy829;
15834
1.59k
        goto yy20;
15835
1.86k
      }
15836
18.7k
    }
15837
24.1k
  }
15838
44.4k
yy684:
15839
44.4k
  YYDEBUG(684, *YYCURSOR);
15840
44.4k
  yyaccept = 2;
15841
44.4k
  yych = *(YYMARKER = ++YYCURSOR);
15842
44.4k
  if (yych <= '.') {
15843
34.8k
    if (yych <= '(') {
15844
28.0k
      if (yych == ' ') goto yy666;
15845
3.59k
      goto yy20;
15846
28.0k
    } else {
15847
6.77k
      if (yych <= ')') goto yy115;
15848
5.91k
      if (yych == '-') goto yy297;
15849
956
      goto yy20;
15850
5.91k
    }
15851
34.8k
  } else {
15852
9.62k
    if (yych <= '^') {
15853
4.93k
      if (yych <= '/') goto yy297;
15854
3.07k
      if (yych <= '@') goto yy20;
15855
1.33k
      if (yych <= 'Z') goto yy826;
15856
685
      goto yy20;
15857
4.69k
    } else {
15858
4.69k
      if (yych <= '_') goto yy297;
15859
4.05k
      if (yych <= '`') goto yy20;
15860
3.83k
      if (yych <= 'z') goto yy829;
15861
727
      goto yy20;
15862
3.83k
    }
15863
9.62k
  }
15864
46.9k
yy685:
15865
46.9k
  YYDEBUG(685, *YYCURSOR);
15866
46.9k
  yyaccept = 2;
15867
46.9k
  yych = *(YYMARKER = ++YYCURSOR);
15868
46.9k
  if (yych <= '/') goto yy20;
15869
45.4k
  if (yych <= '9') goto yy847;
15870
3.70k
  if (yych <= ':') goto yy203;
15871
2.99k
  goto yy20;
15872
16.8k
yy686:
15873
16.8k
  YYDEBUG(686, *YYCURSOR);
15874
16.8k
  yyaccept = 2;
15875
16.8k
  yych = *(YYMARKER = ++YYCURSOR);
15876
16.8k
  if (yych <= '5') {
15877
10.4k
    if (yych <= '/') goto yy20;
15878
8.78k
    if (yych <= '4') goto yy847;
15879
645
    goto yy394;
15880
8.78k
  } else {
15881
6.40k
    if (yych <= '9') goto yy115;
15882
5.17k
    if (yych <= ':') goto yy203;
15883
1.17k
    goto yy20;
15884
5.17k
  }
15885
15.8k
yy687:
15886
15.8k
  YYDEBUG(687, *YYCURSOR);
15887
15.8k
  yyaccept = 2;
15888
15.8k
  yych = *(YYMARKER = ++YYCURSOR);
15889
15.8k
  if (yych <= '/') goto yy20;
15890
14.2k
  if (yych <= '5') goto yy394;
15891
7.39k
  if (yych <= '9') goto yy115;
15892
5.86k
  if (yych <= ':') goto yy203;
15893
5.19k
  goto yy20;
15894
178k
yy688:
15895
178k
  YYDEBUG(688, *YYCURSOR);
15896
178k
  yych = *++YYCURSOR;
15897
178k
  if (yych <= '/') goto yy59;
15898
165k
  if (yych <= '5') goto yy848;
15899
21.4k
  if (yych <= '9') goto yy850;
15900
10.7k
  goto yy59;
15901
13.8k
yy689:
15902
13.8k
  YYDEBUG(689, *YYCURSOR);
15903
13.8k
  yych = *++YYCURSOR;
15904
13.8k
  if (yych == '.') goto yy688;
15905
10.6k
  if (yych == ':') goto yy688;
15906
9.04k
  goto yy59;
15907
471k
yy690:
15908
471k
  YYDEBUG(690, *YYCURSOR);
15909
471k
  yych = *++YYCURSOR;
15910
471k
  if (yych <= '/') goto yy59;
15911
459k
  if (yych <= '5') goto yy851;
15912
46.6k
  if (yych <= '9') goto yy852;
15913
25.5k
  goto yy59;
15914
25.5k
yy691:
15915
14.4k
  YYDEBUG(691, *YYCURSOR);
15916
14.4k
  yych = *++YYCURSOR;
15917
14.4k
  if (yych <= '/') {
15918
9.12k
    if (yych == '.') goto yy688;
15919
2.09k
    goto yy59;
15920
9.12k
  } else {
15921
5.37k
    if (yych <= '9') goto yy689;
15922
4.40k
    if (yych <= ':') goto yy688;
15923
2.06k
    goto yy59;
15924
4.40k
  }
15925
10.4k
yy692:
15926
10.4k
  YYDEBUG(692, *YYCURSOR);
15927
10.4k
  yych = *++YYCURSOR;
15928
10.4k
  if (yych <= '/') {
15929
3.59k
    if (yych == '.') goto yy688;
15930
2.59k
    goto yy59;
15931
6.86k
  } else {
15932
6.86k
    if (yych <= '4') goto yy689;
15933
6.64k
    if (yych == ':') goto yy688;
15934
1.84k
    goto yy59;
15935
6.64k
  }
15936
65.1k
yy693:
15937
65.1k
  YYDEBUG(693, *YYCURSOR);
15938
65.1k
  yyaccept = 10;
15939
65.1k
  yych = *(YYMARKER = ++YYCURSOR);
15940
65.1k
  if (yych <= '/') {
15941
16.7k
    if (yych == '.') goto yy688;
15942
3.13k
    goto yy325;
15943
48.4k
  } else {
15944
48.4k
    if (yych <= '9') goto yy853;
15945
37.7k
    if (yych <= ':') goto yy688;
15946
3.81k
    goto yy325;
15947
37.7k
  }
15948
109k
yy694:
15949
109k
  YYDEBUG(694, *YYCURSOR);
15950
109k
  yyaccept = 10;
15951
109k
  yych = *(YYMARKER = ++YYCURSOR);
15952
109k
  if (yych <= '/') {
15953
32.5k
    if (yych == '.') goto yy690;
15954
5.86k
    goto yy325;
15955
77.3k
  } else {
15956
77.3k
    if (yych <= '9') goto yy853;
15957
66.5k
    if (yych <= ':') goto yy690;
15958
5.51k
    goto yy325;
15959
66.5k
  }
15960
30.6k
yy695:
15961
30.6k
  YYDEBUG(695, *YYCURSOR);
15962
30.6k
  yych = *++YYCURSOR;
15963
30.6k
  if (yych <= '/') goto yy325;
15964
24.8k
  if (yych <= '9') goto yy853;
15965
6.17k
  goto yy325;
15966
61.4k
yy696:
15967
61.4k
  YYDEBUG(696, *YYCURSOR);
15968
61.4k
  ++YYCURSOR;
15969
61.4k
  YYDEBUG(697, *YYCURSOR);
15970
61.4k
#line 1604 "ext/date/lib/parse_date.re"
15971
61.4k
  {
15972
61.4k
    int length = 0;
15973
61.4k
    DEBUG_OUTPUT("datenoday");
15974
61.4k
    TIMELIB_INIT;
15975
61.4k
    TIMELIB_HAVE_DATE();
15976
4.04k
    s->time->m = timelib_get_month(&ptr);
15977
4.04k
    s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
15978
4.04k
    s->time->d = 1;
15979
4.04k
    TIMELIB_PROCESS_YEAR(s->time->y, length);
15980
4.04k
    TIMELIB_DEINIT;
15981
4.04k
    return TIMELIB_DATE_NO_DAY;
15982
61.4k
  }
15983
0
#line 15984 "ext/date/lib/parse_date.c"
15984
23.4k
yy698:
15985
23.4k
  YYDEBUG(698, *YYCURSOR);
15986
23.4k
  yych = *++YYCURSOR;
15987
23.4k
  if (yych <= 'R') {
15988
9.17k
    if (yych <= ')') {
15989
4.06k
      if (yych <= '(') goto yy20;
15990
1.10k
      goto yy115;
15991
5.11k
    } else {
15992
5.11k
      if (yych <= '@') goto yy20;
15993
4.21k
      if (yych <= 'Q') goto yy826;
15994
3.43k
      goto yy854;
15995
4.21k
    }
15996
14.2k
  } else {
15997
14.2k
    if (yych <= 'q') {
15998
4.48k
      if (yych <= 'Z') goto yy826;
15999
2.66k
      if (yych <= '`') goto yy20;
16000
1.10k
      goto yy826;
16001
9.80k
    } else {
16002
9.80k
      if (yych <= 'r') goto yy854;
16003
7.20k
      if (yych <= 'z') goto yy826;
16004
5.77k
      goto yy20;
16005
7.20k
    }
16006
14.2k
  }
16007
39.5k
yy699:
16008
39.5k
  YYDEBUG(699, *YYCURSOR);
16009
39.5k
  yyaccept = 2;
16010
39.5k
  yych = *(YYMARKER = ++YYCURSOR);
16011
39.5k
  if (yych <= 'Q') {
16012
7.35k
    if (yych <= '-') {
16013
4.71k
      if (yych == ')') goto yy115;
16014
2.96k
      if (yych <= ',') goto yy20;
16015
128
      goto yy297;
16016
2.96k
    } else {
16017
2.64k
      if (yych == '/') goto yy297;
16018
1.43k
      if (yych <= '@') goto yy20;
16019
929
      goto yy826;
16020
1.43k
    }
16021
32.1k
  } else {
16022
32.1k
    if (yych <= '_') {
16023
4.82k
      if (yych <= 'R') goto yy854;
16024
2.85k
      if (yych <= 'Z') goto yy826;
16025
1.36k
      if (yych <= '^') goto yy20;
16026
1.09k
      goto yy297;
16027
27.3k
    } else {
16028
27.3k
      if (yych <= 'q') {
16029
5.79k
        if (yych <= '`') goto yy20;
16030
553
        goto yy829;
16031
21.5k
      } else {
16032
21.5k
        if (yych <= 'r') goto yy855;
16033
2.12k
        if (yych <= 'z') goto yy829;
16034
660
        goto yy20;
16035
2.12k
      }
16036
27.3k
    }
16037
32.1k
  }
16038
7.58k
yy700:
16039
7.58k
  YYDEBUG(700, *YYCURSOR);
16040
7.58k
  yych = *++YYCURSOR;
16041
7.58k
  if (yybm[0+yych] & 64) {
16042
6.12k
    goto yy476;
16043
6.12k
  }
16044
1.46k
  goto yy142;
16045
180k
yy701:
16046
180k
  YYDEBUG(701, *YYCURSOR);
16047
180k
  ++YYCURSOR;
16048
180k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
16049
180k
  yych = *YYCURSOR;
16050
321k
yy702:
16051
321k
  YYDEBUG(702, *YYCURSOR);
16052
321k
  if (yych <= 'X') {
16053
206k
    if (yych <= 'G') {
16054
118k
      if (yych <= ' ') {
16055
86.9k
        if (yych == '\t') goto yy701;
16056
74.0k
        if (yych <= 0x1F) goto yy59;
16057
68.5k
        goto yy701;
16058
74.0k
      } else {
16059
31.3k
        if (yych <= 'D') {
16060
13.6k
          if (yych <= 'C') goto yy59;
16061
1.52k
          goto yy856;
16062
17.6k
        } else {
16063
17.6k
          if (yych == 'F') goto yy857;
16064
2.15k
          goto yy59;
16065
17.6k
        }
16066
31.3k
      }
16067
118k
    } else {
16068
87.8k
      if (yych <= 'S') {
16069
30.3k
        if (yych <= 'L') {
16070
3.40k
          if (yych <= 'H') goto yy858;
16071
2.35k
          goto yy59;
16072
26.9k
        } else {
16073
26.9k
          if (yych <= 'M') goto yy859;
16074
19.2k
          if (yych <= 'R') goto yy59;
16075
15.1k
          goto yy860;
16076
19.2k
        }
16077
57.5k
      } else {
16078
57.5k
        if (yych <= 'U') {
16079
2.62k
          if (yych <= 'T') goto yy861;
16080
438
          goto yy862;
16081
54.8k
        } else {
16082
54.8k
          if (yych == 'W') goto yy863;
16083
2.23k
          goto yy59;
16084
54.8k
        }
16085
57.5k
      }
16086
87.8k
    }
16087
206k
  } else {
16088
115k
    if (yych <= 'r') {
16089
63.8k
      if (yych <= 'f') {
16090
23.9k
        if (yych <= 'c') {
16091
17.8k
          if (yych <= 'Y') goto yy864;
16092
14.9k
          goto yy59;
16093
17.8k
        } else {
16094
6.12k
          if (yych <= 'd') goto yy856;
16095
5.62k
          if (yych <= 'e') goto yy59;
16096
1.39k
          goto yy857;
16097
5.62k
        }
16098
39.8k
      } else {
16099
39.8k
        if (yych <= 'h') {
16100
2.03k
          if (yych <= 'g') goto yy59;
16101
1.05k
          goto yy858;
16102
37.8k
        } else {
16103
37.8k
          if (yych == 'm') goto yy859;
16104
2.96k
          goto yy59;
16105
37.8k
        }
16106
39.8k
      }
16107
63.8k
    } else {
16108
51.9k
      if (yych <= 'w') {
16109
34.8k
        if (yych <= 't') {
16110
30.4k
          if (yych <= 's') goto yy860;
16111
12.7k
          goto yy861;
16112
30.4k
        } else {
16113
4.41k
          if (yych <= 'u') goto yy862;
16114
3.28k
          if (yych <= 'v') goto yy59;
16115
2.65k
          goto yy863;
16116
3.28k
        }
16117
34.8k
      } else {
16118
17.0k
        if (yych <= 'y') {
16119
5.74k
          if (yych <= 'x') goto yy59;
16120
4.85k
          goto yy864;
16121
11.3k
        } else {
16122
11.3k
          if (yych == 0xC2) goto yy865;
16123
8.08k
          goto yy59;
16124
11.3k
        }
16125
17.0k
      }
16126
51.9k
    }
16127
115k
  }
16128
158k
yy703:
16129
158k
  YYDEBUG(703, *YYCURSOR);
16130
158k
  yych = *++YYCURSOR;
16131
158k
  if (yych == 'D') goto yy866;
16132
153k
  if (yych == 'd') goto yy866;
16133
141k
  goto yy702;
16134
141k
yy704:
16135
60.3k
  YYDEBUG(704, *YYCURSOR);
16136
60.3k
  yych = *++YYCURSOR;
16137
60.3k
  if (yych == 0xA0) goto yy867;
16138
9.49k
  goto yy59;
16139
78.2k
yy705:
16140
78.2k
  YYDEBUG(705, *YYCURSOR);
16141
78.2k
  ++YYCURSOR;
16142
78.2k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
16143
78.2k
  yych = *YYCURSOR;
16144
78.2k
  if (yych == 0x80) goto yy868;
16145
4.18k
  goto yy59;
16146
22.4k
yy706:
16147
22.4k
  YYDEBUG(706, *YYCURSOR);
16148
22.4k
  yych = *++YYCURSOR;
16149
22.4k
  if (yych <= 'G') {
16150
9.40k
    if (yych <= ')') {
16151
1.79k
      if (yych <= '(') goto yy20;
16152
306
      goto yy115;
16153
7.60k
    } else {
16154
7.60k
      if (yych <= '@') goto yy20;
16155
5.59k
      if (yych <= 'F') goto yy826;
16156
4.77k
      goto yy869;
16157
5.59k
    }
16158
13.0k
  } else {
16159
13.0k
    if (yych <= 'f') {
16160
4.42k
      if (yych <= 'Z') goto yy826;
16161
2.62k
      if (yych <= '`') goto yy20;
16162
1.04k
      goto yy826;
16163
8.58k
    } else {
16164
8.58k
      if (yych <= 'g') goto yy869;
16165
4.05k
      if (yych <= 'z') goto yy826;
16166
651
      goto yy20;
16167
4.05k
    }
16168
13.0k
  }
16169
50.9k
yy707:
16170
50.9k
  YYDEBUG(707, *YYCURSOR);
16171
50.9k
  yyaccept = 2;
16172
50.9k
  yych = *(YYMARKER = ++YYCURSOR);
16173
50.9k
  if (yych <= 'F') {
16174
8.54k
    if (yych <= '-') {
16175
3.38k
      if (yych == ')') goto yy115;
16176
2.57k
      if (yych <= ',') goto yy20;
16177
979
      goto yy297;
16178
5.16k
    } else {
16179
5.16k
      if (yych == '/') goto yy297;
16180
4.87k
      if (yych <= '@') goto yy20;
16181
3.00k
      goto yy826;
16182
4.87k
    }
16183
42.4k
  } else {
16184
42.4k
    if (yych <= '_') {
16185
5.75k
      if (yych <= 'G') goto yy869;
16186
4.35k
      if (yych <= 'Z') goto yy826;
16187
1.31k
      if (yych <= '^') goto yy20;
16188
630
      goto yy297;
16189
36.6k
    } else {
16190
36.6k
      if (yych <= 'f') {
16191
3.95k
        if (yych <= '`') goto yy20;
16192
2.67k
        goto yy829;
16193
32.7k
      } else {
16194
32.7k
        if (yych <= 'g') goto yy870;
16195
8.72k
        if (yych <= 'z') goto yy829;
16196
1.80k
        goto yy20;
16197
8.72k
      }
16198
36.6k
    }
16199
42.4k
  }
16200
28.5k
yy708:
16201
28.5k
  YYDEBUG(708, *YYCURSOR);
16202
28.5k
  yych = *++YYCURSOR;
16203
28.5k
  if (yych <= 'E') {
16204
11.2k
    if (yych <= ')') {
16205
2.48k
      if (yych <= '(') goto yy20;
16206
648
      goto yy115;
16207
8.80k
    } else {
16208
8.80k
      if (yych <= '@') goto yy20;
16209
3.63k
      if (yych <= 'D') goto yy826;
16210
3.32k
      goto yy871;
16211
3.63k
    }
16212
17.2k
  } else {
16213
17.2k
    if (yych <= 'd') {
16214
5.88k
      if (yych <= 'Z') goto yy826;
16215
2.41k
      if (yych <= '`') goto yy20;
16216
1.27k
      goto yy826;
16217
11.3k
    } else {
16218
11.3k
      if (yych <= 'e') goto yy871;
16219
5.82k
      if (yych <= 'z') goto yy826;
16220
1.19k
      goto yy20;
16221
5.82k
    }
16222
17.2k
  }
16223
35.3k
yy709:
16224
35.3k
  YYDEBUG(709, *YYCURSOR);
16225
35.3k
  yyaccept = 2;
16226
35.3k
  yych = *(YYMARKER = ++YYCURSOR);
16227
35.3k
  if (yych <= 'D') {
16228
6.84k
    if (yych <= '-') {
16229
1.73k
      if (yych == ')') goto yy115;
16230
1.13k
      if (yych <= ',') goto yy20;
16231
702
      goto yy297;
16232
5.11k
    } else {
16233
5.11k
      if (yych == '/') goto yy297;
16234
3.50k
      if (yych <= '@') goto yy20;
16235
2.08k
      goto yy826;
16236
3.50k
    }
16237
28.5k
  } else {
16238
28.5k
    if (yych <= '_') {
16239
3.15k
      if (yych <= 'E') goto yy871;
16240
2.15k
      if (yych <= 'Z') goto yy826;
16241
1.03k
      if (yych <= '^') goto yy20;
16242
602
      goto yy297;
16243
25.3k
    } else {
16244
25.3k
      if (yych <= 'd') {
16245
1.47k
        if (yych <= '`') goto yy20;
16246
1.05k
        goto yy829;
16247
23.9k
      } else {
16248
23.9k
        if (yych <= 'e') goto yy872;
16249
1.06k
        if (yych <= 'z') goto yy829;
16250
379
        goto yy20;
16251
1.06k
      }
16252
25.3k
    }
16253
28.5k
  }
16254
94.8k
yy710:
16255
94.8k
  YYDEBUG(710, *YYCURSOR);
16256
94.8k
  yych = *++YYCURSOR;
16257
94.8k
  if (yych <= 'O') {
16258
12.4k
    if (yych <= ')') {
16259
5.22k
      if (yych <= '(') goto yy20;
16260
650
      goto yy115;
16261
7.18k
    } else {
16262
7.18k
      if (yych <= '@') goto yy20;
16263
5.58k
      if (yych <= 'N') goto yy826;
16264
2.44k
      goto yy873;
16265
5.58k
    }
16266
82.4k
  } else {
16267
82.4k
    if (yych <= 'n') {
16268
3.97k
      if (yych <= 'Z') goto yy826;
16269
2.19k
      if (yych <= '`') goto yy20;
16270
465
      goto yy826;
16271
78.4k
    } else {
16272
78.4k
      if (yych <= 'o') goto yy873;
16273
5.41k
      if (yych <= 'z') goto yy826;
16274
3.12k
      goto yy20;
16275
5.41k
    }
16276
82.4k
  }
16277
43.6k
yy711:
16278
43.6k
  YYDEBUG(711, *YYCURSOR);
16279
43.6k
  yyaccept = 2;
16280
43.6k
  yych = *(YYMARKER = ++YYCURSOR);
16281
43.6k
  if (yych <= 'N') {
16282
10.8k
    if (yych <= '-') {
16283
4.87k
      if (yych == ')') goto yy115;
16284
3.66k
      if (yych <= ',') goto yy20;
16285
1.14k
      goto yy297;
16286
6.00k
    } else {
16287
6.00k
      if (yych == '/') goto yy297;
16288
5.67k
      if (yych <= '@') goto yy20;
16289
4.16k
      goto yy826;
16290
5.67k
    }
16291
32.7k
  } else {
16292
32.7k
    if (yych <= '_') {
16293
7.05k
      if (yych <= 'O') goto yy873;
16294
5.71k
      if (yych <= 'Z') goto yy826;
16295
4.09k
      if (yych <= '^') goto yy20;
16296
928
      goto yy297;
16297
25.6k
    } else {
16298
25.6k
      if (yych <= 'n') {
16299
1.14k
        if (yych <= '`') goto yy20;
16300
651
        goto yy829;
16301
24.5k
      } else {
16302
24.5k
        if (yych <= 'o') goto yy874;
16303
3.90k
        if (yych <= 'z') goto yy829;
16304
1.53k
        goto yy20;
16305
3.90k
      }
16306
25.6k
    }
16307
32.7k
  }
16308
42.2k
yy712:
16309
42.2k
  YYDEBUG(712, *YYCURSOR);
16310
42.2k
  yych = *++YYCURSOR;
16311
42.2k
  if (yych <= 'D') {
16312
11.3k
    if (yych <= ')') {
16313
4.92k
      if (yych <= '(') goto yy20;
16314
948
      goto yy115;
16315
6.43k
    } else {
16316
6.43k
      if (yych <= '@') goto yy20;
16317
3.73k
      if (yych <= 'C') goto yy826;
16318
2.92k
      goto yy875;
16319
3.73k
    }
16320
30.9k
  } else {
16321
30.9k
    if (yych <= 'c') {
16322
9.25k
      if (yych <= 'Z') goto yy826;
16323
6.82k
      if (yych <= '`') goto yy20;
16324
3.46k
      goto yy826;
16325
21.6k
    } else {
16326
21.6k
      if (yych <= 'd') goto yy875;
16327
6.42k
      if (yych <= 'z') goto yy826;
16328
5.58k
      goto yy20;
16329
6.42k
    }
16330
30.9k
  }
16331
35.2k
yy713:
16332
35.2k
  YYDEBUG(713, *YYCURSOR);
16333
35.2k
  yych = *++YYCURSOR;
16334
35.2k
  if (yych <= 'D') {
16335
20.7k
    if (yych <= ')') {
16336
4.29k
      if (yych <= '(') goto yy20;
16337
1.81k
      goto yy115;
16338
16.4k
    } else {
16339
16.4k
      if (yych <= '@') goto yy20;
16340
14.0k
      if (yych <= 'C') goto yy826;
16341
13.7k
      goto yy836;
16342
14.0k
    }
16343
20.7k
  } else {
16344
14.5k
    if (yych <= 'c') {
16345
6.33k
      if (yych <= 'Z') goto yy826;
16346
4.44k
      if (yych <= '`') goto yy20;
16347
1.55k
      goto yy826;
16348
8.22k
    } else {
16349
8.22k
      if (yych <= 'd') goto yy836;
16350
2.68k
      if (yych <= 'z') goto yy826;
16351
705
      goto yy20;
16352
2.68k
    }
16353
14.5k
  }
16354
22.1k
yy714:
16355
22.1k
  YYDEBUG(714, *YYCURSOR);
16356
22.1k
  yych = *++YYCURSOR;
16357
22.1k
  if (yych <= 'M') {
16358
12.0k
    if (yych <= ')') {
16359
3.61k
      if (yych <= '(') goto yy20;
16360
655
      goto yy115;
16361
8.43k
    } else {
16362
8.43k
      if (yych <= '@') goto yy20;
16363
5.59k
      if (yych <= 'L') goto yy826;
16364
5.01k
      goto yy876;
16365
5.59k
    }
16366
12.0k
  } else {
16367
10.0k
    if (yych <= 'l') {
16368
4.13k
      if (yych <= 'Z') goto yy826;
16369
3.20k
      if (yych <= '`') goto yy20;
16370
1.95k
      goto yy826;
16371
5.95k
    } else {
16372
5.95k
      if (yych <= 'm') goto yy876;
16373
2.01k
      if (yych <= 'z') goto yy826;
16374
1.44k
      goto yy20;
16375
2.01k
    }
16376
10.0k
  }
16377
21.3k
yy715:
16378
21.3k
  YYDEBUG(715, *YYCURSOR);
16379
21.3k
  yych = *++YYCURSOR;
16380
21.3k
  if (yych <= 'T') {
16381
4.96k
    if (yych <= ')') {
16382
1.66k
      if (yych <= '(') goto yy20;
16383
787
      goto yy115;
16384
3.30k
    } else {
16385
3.30k
      if (yych <= '@') goto yy20;
16386
2.02k
      if (yych <= 'S') goto yy826;
16387
581
      goto yy877;
16388
2.02k
    }
16389
16.4k
  } else {
16390
16.4k
    if (yych <= 's') {
16391
3.27k
      if (yych <= 'Z') goto yy826;
16392
2.82k
      if (yych <= '`') goto yy20;
16393
1.60k
      goto yy826;
16394
13.1k
    } else {
16395
13.1k
      if (yych <= 't') goto yy877;
16396
4.29k
      if (yych <= 'z') goto yy826;
16397
1.30k
      goto yy20;
16398
4.29k
    }
16399
16.4k
  }
16400
43.1k
yy716:
16401
43.1k
  YYDEBUG(716, *YYCURSOR);
16402
43.1k
  yyaccept = 2;
16403
43.1k
  yych = *(YYMARKER = ++YYCURSOR);
16404
43.1k
  if (yych <= 'C') {
16405
8.43k
    if (yych <= '-') {
16406
2.04k
      if (yych == ')') goto yy115;
16407
1.59k
      if (yych <= ',') goto yy20;
16408
552
      goto yy297;
16409
6.38k
    } else {
16410
6.38k
      if (yych == '/') goto yy297;
16411
5.48k
      if (yych <= '@') goto yy20;
16412
3.11k
      goto yy826;
16413
5.48k
    }
16414
34.7k
  } else {
16415
34.7k
    if (yych <= '_') {
16416
5.42k
      if (yych <= 'D') goto yy875;
16417
4.37k
      if (yych <= 'Z') goto yy826;
16418
2.11k
      if (yych <= '^') goto yy20;
16419
1.56k
      goto yy297;
16420
29.3k
    } else {
16421
29.3k
      if (yych <= 'c') {
16422
745
        if (yych <= '`') goto yy20;
16423
554
        goto yy829;
16424
28.5k
      } else {
16425
28.5k
        if (yych <= 'd') goto yy878;
16426
4.03k
        if (yych <= 'z') goto yy829;
16427
2.94k
        goto yy20;
16428
4.03k
      }
16429
29.3k
    }
16430
34.7k
  }
16431
29.3k
yy717:
16432
29.3k
  YYDEBUG(717, *YYCURSOR);
16433
29.3k
  yyaccept = 2;
16434
29.3k
  yych = *(YYMARKER = ++YYCURSOR);
16435
29.3k
  if (yych <= 'C') {
16436
14.2k
    if (yych <= '-') {
16437
9.16k
      if (yych == ')') goto yy115;
16438
5.06k
      if (yych <= ',') goto yy20;
16439
2.38k
      goto yy297;
16440
5.12k
    } else {
16441
5.12k
      if (yych == '/') goto yy297;
16442
2.89k
      if (yych <= '@') goto yy20;
16443
822
      goto yy826;
16444
2.89k
    }
16445
15.0k
  } else {
16446
15.0k
    if (yych <= '_') {
16447
6.74k
      if (yych <= 'D') goto yy836;
16448
2.62k
      if (yych <= 'Z') goto yy826;
16449
1.61k
      if (yych <= '^') goto yy20;
16450
739
      goto yy297;
16451
8.29k
    } else {
16452
8.29k
      if (yych <= 'c') {
16453
1.86k
        if (yych <= '`') goto yy20;
16454
1.20k
        goto yy829;
16455
6.43k
      } else {
16456
6.43k
        if (yych <= 'd') goto yy840;
16457
3.09k
        if (yych <= 'z') goto yy829;
16458
935
        goto yy20;
16459
3.09k
      }
16460
8.29k
    }
16461
15.0k
  }
16462
46.8k
yy718:
16463
46.8k
  YYDEBUG(718, *YYCURSOR);
16464
46.8k
  yyaccept = 2;
16465
46.8k
  yych = *(YYMARKER = ++YYCURSOR);
16466
46.8k
  if (yych <= 'L') {
16467
6.28k
    if (yych <= '-') {
16468
3.46k
      if (yych == ')') goto yy115;
16469
1.80k
      if (yych <= ',') goto yy20;
16470
596
      goto yy297;
16471
2.82k
    } else {
16472
2.82k
      if (yych == '/') goto yy297;
16473
1.72k
      if (yych <= '@') goto yy20;
16474
184
      goto yy826;
16475
1.72k
    }
16476
40.5k
  } else {
16477
40.5k
    if (yych <= '_') {
16478
8.10k
      if (yych <= 'M') goto yy876;
16479
4.28k
      if (yych <= 'Z') goto yy826;
16480
3.75k
      if (yych <= '^') goto yy20;
16481
728
      goto yy297;
16482
32.4k
    } else {
16483
32.4k
      if (yych <= 'l') {
16484
2.79k
        if (yych <= '`') goto yy20;
16485
2.53k
        goto yy829;
16486
29.6k
      } else {
16487
29.6k
        if (yych <= 'm') goto yy879;
16488
4.89k
        if (yych <= 'z') goto yy829;
16489
1.93k
        goto yy20;
16490
4.89k
      }
16491
32.4k
    }
16492
40.5k
  }
16493
51.0k
yy719:
16494
51.0k
  YYDEBUG(719, *YYCURSOR);
16495
51.0k
  yyaccept = 2;
16496
51.0k
  yych = *(YYMARKER = ++YYCURSOR);
16497
51.0k
  if (yych <= 'S') {
16498
6.57k
    if (yych <= '-') {
16499
4.28k
      if (yych == ')') goto yy115;
16500
3.64k
      if (yych <= ',') goto yy20;
16501
636
      goto yy297;
16502
3.64k
    } else {
16503
2.29k
      if (yych == '/') goto yy297;
16504
1.54k
      if (yych <= '@') goto yy20;
16505
988
      goto yy826;
16506
1.54k
    }
16507
44.4k
  } else {
16508
44.4k
    if (yych <= '_') {
16509
3.14k
      if (yych <= 'T') goto yy877;
16510
2.39k
      if (yych <= 'Z') goto yy826;
16511
806
      if (yych <= '^') goto yy20;
16512
401
      goto yy297;
16513
41.3k
    } else {
16514
41.3k
      if (yych <= 's') {
16515
3.64k
        if (yych <= '`') goto yy20;
16516
1.24k
        goto yy829;
16517
37.6k
      } else {
16518
37.6k
        if (yych <= 't') goto yy880;
16519
4.23k
        if (yych <= 'z') goto yy829;
16520
3.02k
        goto yy20;
16521
4.23k
      }
16522
41.3k
    }
16523
44.4k
  }
16524
34.7k
yy720:
16525
34.7k
  YYDEBUG(720, *YYCURSOR);
16526
34.7k
  yyaccept = 12;
16527
34.7k
  yych = *(YYMARKER = ++YYCURSOR);
16528
34.7k
  if (yych <= '/') goto yy420;
16529
29.3k
  if (yych <= '5') goto yy881;
16530
16.7k
  if (yych <= '6') goto yy882;
16531
11.8k
  goto yy420;
16532
12.8k
yy721:
16533
12.8k
  YYDEBUG(721, *YYCURSOR);
16534
12.8k
  yych = *++YYCURSOR;
16535
12.8k
  if (yych <= '@') {
16536
2.87k
    if (yych == ')') goto yy115;
16537
9.93k
  } else {
16538
9.93k
    if (yych <= 'Z') goto yy826;
16539
7.80k
    if (yych <= '`') goto yy722;
16540
4.55k
    if (yych <= 'z') goto yy826;
16541
4.55k
  }
16542
29.6k
yy722:
16543
29.6k
  YYDEBUG(722, *YYCURSOR);
16544
29.6k
#line 1199 "ext/date/lib/parse_date.re"
16545
29.6k
  {
16546
29.6k
    DEBUG_OUTPUT("midnight | today");
16547
29.6k
    TIMELIB_INIT;
16548
29.6k
    TIMELIB_UNHAVE_TIME();
16549
16550
29.6k
    TIMELIB_DEINIT;
16551
29.6k
    return TIMELIB_RELATIVE;
16552
12.8k
  }
16553
0
#line 16554 "ext/date/lib/parse_date.c"
16554
28.2k
yy723:
16555
28.2k
  YYDEBUG(723, *YYCURSOR);
16556
28.2k
  yych = *++YYCURSOR;
16557
28.2k
  if (yych <= 'R') {
16558
10.7k
    if (yych <= ')') {
16559
6.85k
      if (yych <= '(') goto yy20;
16560
550
      goto yy115;
16561
6.85k
    } else {
16562
3.88k
      if (yych <= '@') goto yy20;
16563
2.11k
      if (yych <= 'Q') goto yy826;
16564
626
      goto yy883;
16565
2.11k
    }
16566
17.4k
  } else {
16567
17.4k
    if (yych <= 'q') {
16568
6.30k
      if (yych <= 'Z') goto yy826;
16569
5.65k
      if (yych <= '`') goto yy20;
16570
2.86k
      goto yy826;
16571
11.1k
    } else {
16572
11.1k
      if (yych <= 'r') goto yy883;
16573
6.92k
      if (yych <= 'z') goto yy826;
16574
5.50k
      goto yy20;
16575
6.92k
    }
16576
17.4k
  }
16577
25.8k
yy724:
16578
25.8k
  YYDEBUG(724, *YYCURSOR);
16579
25.8k
  yych = *++YYCURSOR;
16580
25.8k
  if (yych <= 'A') {
16581
9.61k
    if (yych == ')') goto yy115;
16582
8.87k
    if (yych <= '@') goto yy20;
16583
5.08k
    goto yy884;
16584
16.2k
  } else {
16585
16.2k
    if (yych <= '`') {
16586
3.64k
      if (yych <= 'Z') goto yy826;
16587
2.35k
      goto yy20;
16588
12.6k
    } else {
16589
12.6k
      if (yych <= 'a') goto yy884;
16590
4.70k
      if (yych <= 'z') goto yy826;
16591
2.25k
      goto yy20;
16592
4.70k
    }
16593
16.2k
  }
16594
19.0k
yy725:
16595
19.0k
  YYDEBUG(725, *YYCURSOR);
16596
19.0k
  yyaccept = 16;
16597
19.0k
  yych = *(YYMARKER = ++YYCURSOR);
16598
19.0k
  if (yych <= '/') {
16599
6.38k
    if (yych <= ',') {
16600
1.94k
      if (yych == ')') goto yy115;
16601
785
      goto yy722;
16602
4.44k
    } else {
16603
4.44k
      if (yych == '.') goto yy722;
16604
1.80k
      goto yy297;
16605
4.44k
    }
16606
12.7k
  } else {
16607
12.7k
    if (yych <= '^') {
16608
4.74k
      if (yych <= '@') goto yy722;
16609
4.16k
      if (yych <= 'Z') goto yy826;
16610
687
      goto yy722;
16611
7.96k
    } else {
16612
7.96k
      if (yych <= '_') goto yy297;
16613
4.92k
      if (yych <= '`') goto yy722;
16614
1.75k
      if (yych <= 'z') goto yy829;
16615
1.13k
      goto yy722;
16616
1.75k
    }
16617
12.7k
  }
16618
43.1k
yy726:
16619
43.1k
  YYDEBUG(726, *YYCURSOR);
16620
43.1k
  yyaccept = 2;
16621
43.1k
  yych = *(YYMARKER = ++YYCURSOR);
16622
43.1k
  if (yych <= 'Q') {
16623
10.9k
    if (yych <= '-') {
16624
7.65k
      if (yych == ')') goto yy115;
16625
6.26k
      if (yych <= ',') goto yy20;
16626
824
      goto yy297;
16627
6.26k
    } else {
16628
3.34k
      if (yych == '/') goto yy297;
16629
2.79k
      if (yych <= '@') goto yy20;
16630
1.18k
      goto yy826;
16631
2.79k
    }
16632
32.1k
  } else {
16633
32.1k
    if (yych <= '_') {
16634
10.7k
      if (yych <= 'R') goto yy883;
16635
4.57k
      if (yych <= 'Z') goto yy826;
16636
3.56k
      if (yych <= '^') goto yy20;
16637
2.06k
      goto yy297;
16638
21.4k
    } else {
16639
21.4k
      if (yych <= 'q') {
16640
2.49k
        if (yych <= '`') goto yy20;
16641
1.72k
        goto yy829;
16642
18.9k
      } else {
16643
18.9k
        if (yych <= 'r') goto yy885;
16644
1.22k
        if (yych <= 'z') goto yy829;
16645
620
        goto yy20;
16646
1.22k
      }
16647
21.4k
    }
16648
32.1k
  }
16649
37.6k
yy727:
16650
37.6k
  YYDEBUG(727, *YYCURSOR);
16651
37.6k
  yyaccept = 2;
16652
37.6k
  yych = *(YYMARKER = ++YYCURSOR);
16653
37.6k
  if (yych <= '@') {
16654
5.03k
    if (yych <= ',') {
16655
930
      if (yych == ')') goto yy115;
16656
681
      goto yy20;
16657
4.10k
    } else {
16658
4.10k
      if (yych == '.') goto yy20;
16659
3.52k
      if (yych <= '/') goto yy297;
16660
2.84k
      goto yy20;
16661
3.52k
    }
16662
32.6k
  } else {
16663
32.6k
    if (yych <= '_') {
16664
4.18k
      if (yych <= 'A') goto yy884;
16665
3.90k
      if (yych <= 'Z') goto yy826;
16666
1.09k
      if (yych <= '^') goto yy20;
16667
322
      goto yy297;
16668
28.4k
    } else {
16669
28.4k
      if (yych <= '`') goto yy20;
16670
27.8k
      if (yych <= 'a') goto yy886;
16671
2.12k
      if (yych <= 'z') goto yy829;
16672
798
      goto yy20;
16673
2.12k
    }
16674
32.6k
  }
16675
22.8k
yy728:
16676
22.8k
  YYDEBUG(728, *YYCURSOR);
16677
22.8k
  yych = *++YYCURSOR;
16678
22.8k
  if (yych <= 'S') {
16679
12.7k
    if (yych <= ')') {
16680
3.08k
      if (yych <= '(') goto yy20;
16681
653
      goto yy115;
16682
9.64k
    } else {
16683
9.64k
      if (yych <= '@') goto yy20;
16684
6.81k
      if (yych <= 'R') goto yy826;
16685
4.45k
      goto yy887;
16686
6.81k
    }
16687
12.7k
  } else {
16688
10.0k
    if (yych <= 'r') {
16689
2.93k
      if (yych <= 'Z') goto yy826;
16690
2.67k
      if (yych <= '`') goto yy20;
16691
924
      goto yy826;
16692
7.15k
    } else {
16693
7.15k
      if (yych <= 's') goto yy887;
16694
2.35k
      if (yych <= 'z') goto yy826;
16695
840
      goto yy20;
16696
2.35k
    }
16697
10.0k
  }
16698
52.0k
yy729:
16699
52.0k
  YYDEBUG(729, *YYCURSOR);
16700
52.0k
  yyaccept = 2;
16701
52.0k
  yych = *(YYMARKER = ++YYCURSOR);
16702
52.0k
  if (yych <= 'R') {
16703
14.5k
    if (yych <= '-') {
16704
4.14k
      if (yych == ')') goto yy115;
16705
1.69k
      if (yych <= ',') goto yy20;
16706
179
      goto yy297;
16707
10.4k
    } else {
16708
10.4k
      if (yych == '/') goto yy297;
16709
5.80k
      if (yych <= '@') goto yy20;
16710
1.65k
      goto yy826;
16711
5.80k
    }
16712
37.4k
  } else {
16713
37.4k
    if (yych <= '_') {
16714
4.21k
      if (yych <= 'S') goto yy887;
16715
3.58k
      if (yych <= 'Z') goto yy826;
16716
1.28k
      if (yych <= '^') goto yy20;
16717
628
      goto yy297;
16718
33.2k
    } else {
16719
33.2k
      if (yych <= 'r') {
16720
2.23k
        if (yych <= '`') goto yy20;
16721
1.25k
        goto yy829;
16722
31.0k
      } else {
16723
31.0k
        if (yych <= 's') goto yy888;
16724
3.23k
        if (yych <= 'z') goto yy829;
16725
928
        goto yy20;
16726
3.23k
      }
16727
33.2k
    }
16728
37.4k
  }
16729
49.2k
yy730:
16730
49.2k
  YYDEBUG(730, *YYCURSOR);
16731
49.2k
  yych = *++YYCURSOR;
16732
49.2k
  if (yych <= 'R') {
16733
21.4k
    if (yych <= ')') {
16734
4.92k
      if (yych <= '(') goto yy20;
16735
2.92k
      goto yy115;
16736
16.5k
    } else {
16737
16.5k
      if (yych <= '@') goto yy20;
16738
3.95k
      if (yych <= 'Q') goto yy826;
16739
2.40k
      goto yy889;
16740
3.95k
    }
16741
27.7k
  } else {
16742
27.7k
    if (yych <= 'q') {
16743
2.79k
      if (yych <= 'Z') goto yy826;
16744
1.09k
      if (yych <= '`') goto yy20;
16745
505
      goto yy826;
16746
25.0k
    } else {
16747
25.0k
      if (yych <= 'r') goto yy889;
16748
13.1k
      if (yych <= 'z') goto yy826;
16749
12.3k
      goto yy20;
16750
13.1k
    }
16751
27.7k
  }
16752
69.0k
yy731:
16753
69.0k
  YYDEBUG(731, *YYCURSOR);
16754
69.0k
  yyaccept = 2;
16755
69.0k
  yych = *(YYMARKER = ++YYCURSOR);
16756
69.0k
  if (yych <= 'Q') {
16757
25.8k
    if (yych <= '-') {
16758
14.7k
      if (yych == ')') goto yy115;
16759
4.73k
      if (yych <= ',') goto yy20;
16760
3.18k
      goto yy297;
16761
11.1k
    } else {
16762
11.1k
      if (yych == '/') goto yy297;
16763
11.0k
      if (yych <= '@') goto yy20;
16764
1.36k
      goto yy826;
16765
11.0k
    }
16766
43.1k
  } else {
16767
43.1k
    if (yych <= '_') {
16768
4.96k
      if (yych <= 'R') goto yy889;
16769
2.08k
      if (yych <= 'Z') goto yy826;
16770
1.78k
      if (yych <= '^') goto yy20;
16771
1.04k
      goto yy297;
16772
38.1k
    } else {
16773
38.1k
      if (yych <= 'q') {
16774
2.50k
        if (yych <= '`') goto yy20;
16775
1.18k
        goto yy829;
16776
35.6k
      } else {
16777
35.6k
        if (yych <= 'r') goto yy890;
16778
5.51k
        if (yych <= 'z') goto yy829;
16779
4.28k
        goto yy20;
16780
5.51k
      }
16781
38.1k
    }
16782
43.1k
  }
16783
90.1k
yy732:
16784
90.1k
  YYDEBUG(732, *YYCURSOR);
16785
90.1k
  yych = *++YYCURSOR;
16786
90.1k
  if (yych <= '/') goto yy59;
16787
80.9k
  if (yych <= '0') goto yy891;
16788
48.1k
  if (yych <= '1') goto yy892;
16789
15.1k
  goto yy59;
16790
203k
yy733:
16791
203k
  YYDEBUG(733, *YYCURSOR);
16792
203k
  yych = *++YYCURSOR;
16793
203k
  if (yych <= '9') {
16794
177k
    if (yych == '-') goto yy893;
16795
167k
    if (yych <= '/') goto yy196;
16796
158k
    goto yy894;
16797
167k
  } else {
16798
26.3k
    if (yych <= 0xC2) {
16799
19.4k
      if (yych <= 0xC1) goto yy196;
16800
2.50k
      goto yy97;
16801
19.4k
    } else {
16802
6.86k
      if (yych == 0xE2) goto yy98;
16803
5.79k
      goto yy196;
16804
6.86k
    }
16805
26.3k
  }
16806
45.4k
yy734:
16807
45.4k
  YYDEBUG(734, *YYCURSOR);
16808
45.4k
  yych = *++YYCURSOR;
16809
45.4k
  if (yych <= '9') {
16810
36.5k
    if (yych <= '-') {
16811
7.20k
      if (yych <= ',') goto yy196;
16812
3.44k
      goto yy893;
16813
29.3k
    } else {
16814
29.3k
      if (yych <= '/') goto yy196;
16815
28.3k
      if (yych <= '0') goto yy894;
16816
8.70k
      goto yy895;
16817
28.3k
    }
16818
36.5k
  } else {
16819
8.88k
    if (yych <= 0xC2) {
16820
4.72k
      if (yych <= 0xC1) goto yy196;
16821
795
      goto yy97;
16822
4.72k
    } else {
16823
4.15k
      if (yych == 0xE2) goto yy98;
16824
2.55k
      goto yy196;
16825
4.15k
    }
16826
8.88k
  }
16827
270k
yy735:
16828
270k
  YYDEBUG(735, *YYCURSOR);
16829
270k
  yych = *++YYCURSOR;
16830
270k
  if (yych <= '9') {
16831
238k
    if (yych == '-') goto yy893;
16832
222k
    if (yych <= '/') goto yy196;
16833
214k
    goto yy895;
16834
222k
  } else {
16835
31.4k
    if (yych <= 0xC2) {
16836
25.7k
      if (yych <= 0xC1) goto yy196;
16837
3.22k
      goto yy97;
16838
25.7k
    } else {
16839
5.71k
      if (yych == 0xE2) goto yy98;
16840
3.54k
      goto yy196;
16841
5.71k
    }
16842
31.4k
  }
16843
29.1k
yy736:
16844
29.1k
  YYDEBUG(736, *YYCURSOR);
16845
29.1k
  yyaccept = 2;
16846
29.1k
  yych = *(YYMARKER = ++YYCURSOR);
16847
29.1k
  if (yych == ':') goto yy896;
16848
9.01k
  goto yy20;
16849
53.6k
yy737:
16850
53.6k
  YYDEBUG(737, *YYCURSOR);
16851
53.6k
  yych = *++YYCURSOR;
16852
53.6k
  if (yych <= '/') goto yy59;
16853
49.0k
  if (yych <= '9') goto yy897;
16854
24.1k
  goto yy59;
16855
24.1k
yy738:
16856
20.1k
  YYDEBUG(738, *YYCURSOR);
16857
20.1k
  yyaccept = 17;
16858
20.1k
  yych = *(YYMARKER = ++YYCURSOR);
16859
20.1k
  if (yych <= '/') goto yy739;
16860
11.3k
  if (yych <= '9') goto yy897;
16861
17.2k
yy739:
16862
17.2k
  YYDEBUG(739, *YYCURSOR);
16863
17.2k
#line 1590 "ext/date/lib/parse_date.re"
16864
17.2k
  {
16865
17.2k
    int length = 0;
16866
17.2k
    DEBUG_OUTPUT("pointed date YY");
16867
17.2k
    TIMELIB_INIT;
16868
17.2k
    TIMELIB_HAVE_DATE();
16869
862
    s->time->d = timelib_get_nr(&ptr, 2);
16870
862
    s->time->m = timelib_get_nr(&ptr, 2);
16871
862
    s->time->y = timelib_get_nr_ex(&ptr, 2, &length);
16872
862
    TIMELIB_PROCESS_YEAR(s->time->y, length);
16873
862
    TIMELIB_DEINIT;
16874
862
    return TIMELIB_DATE_FULL_POINTED;
16875
17.2k
  }
16876
0
#line 16877 "ext/date/lib/parse_date.c"
16877
38.3k
yy740:
16878
38.3k
  YYDEBUG(740, *YYCURSOR);
16879
38.3k
  yyaccept = 15;
16880
38.3k
  yych = *(YYMARKER = ++YYCURSOR);
16881
38.3k
  if (yych <= 'n') {
16882
26.1k
    if (yych <= '/') goto yy567;
16883
21.8k
    if (yych <= '9') goto yy897;
16884
11.4k
    if (yych <= 'm') goto yy567;
16885
12.2k
  } else {
16886
12.2k
    if (yych <= 'r') {
16887
1.78k
      if (yych <= 'q') goto yy567;
16888
10.4k
    } else {
16889
10.4k
      if (yych <= 's') goto yy742;
16890
7.57k
      if (yych <= 't') goto yy743;
16891
5.10k
      goto yy567;
16892
7.57k
    }
16893
12.2k
  }
16894
60.9k
yy741:
16895
60.9k
  YYDEBUG(741, *YYCURSOR);
16896
60.9k
  yych = *++YYCURSOR;
16897
60.9k
  if (yych == 'd') goto yy898;
16898
56.4k
  goto yy59;
16899
56.4k
yy742:
16900
26.3k
  YYDEBUG(742, *YYCURSOR);
16901
26.3k
  yych = *++YYCURSOR;
16902
26.3k
  if (yych == 't') goto yy898;
16903
14.9k
  goto yy59;
16904
26.0k
yy743:
16905
26.0k
  YYDEBUG(743, *YYCURSOR);
16906
26.0k
  yych = *++YYCURSOR;
16907
26.0k
  if (yych == 'h') goto yy898;
16908
19.7k
  goto yy59;
16909
60.0k
yy744:
16910
60.0k
  YYDEBUG(744, *YYCURSOR);
16911
60.0k
  yych = *++YYCURSOR;
16912
60.0k
  if (yych <= '/') goto yy59;
16913
52.8k
  if (yych <= '9') goto yy899;
16914
9.15k
  goto yy59;
16915
14.6k
yy745:
16916
14.6k
  YYDEBUG(745, *YYCURSOR);
16917
14.6k
  yyaccept = 4;
16918
14.6k
  yych = *(YYMARKER = ++YYCURSOR);
16919
14.6k
  if (yych == '.') goto yy744;
16920
14.0k
  if (yych <= '/') goto yy177;
16921
11.7k
  if (yych <= '9') goto yy897;
16922
10.6k
  goto yy177;
16923
24.8k
yy746:
16924
24.8k
  YYDEBUG(746, *YYCURSOR);
16925
24.8k
  yych = *++YYCURSOR;
16926
24.8k
  if (yych <= '/') goto yy224;
16927
19.8k
  if (yych <= '9') goto yy901;
16928
8.32k
  goto yy224;
16929
180k
yy747:
16930
180k
  YYDEBUG(747, *YYCURSOR);
16931
180k
  yych = *++YYCURSOR;
16932
180k
  if (yych <= '/') goto yy59;
16933
170k
  if (yych <= '9') goto yy902;
16934
12.5k
  goto yy59;
16935
78.8k
yy748:
16936
78.8k
  YYDEBUG(748, *YYCURSOR);
16937
78.8k
  yych = *++YYCURSOR;
16938
78.8k
  if (yych <= '/') goto yy59;
16939
72.9k
  if (yych <= '2') goto yy903;
16940
41.6k
  if (yych <= '3') goto yy904;
16941
11.1k
  if (yych <= '9') goto yy569;
16942
5.43k
  goto yy59;
16943
70.7k
yy749:
16944
70.7k
  YYDEBUG(749, *YYCURSOR);
16945
70.7k
  ++YYCURSOR;
16946
70.7k
  if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
16947
70.7k
  yych = *YYCURSOR;
16948
193k
yy750:
16949
193k
  YYDEBUG(750, *YYCURSOR);
16950
193k
  switch (yych) {
16951
7.83k
  case '\t':
16952
27.3k
  case ' ':
16953
57.0k
  case '-':
16954
66.3k
  case '.': goto yy749;
16955
17.2k
  case 'A':
16956
19.7k
  case 'a': goto yy596;
16957
1.27k
  case 'D':
16958
2.76k
  case 'd': goto yy769;
16959
1.24k
  case 'F':
16960
7.96k
  case 'f': goto yy770;
16961
3.55k
  case 'I': goto yy599;
16962
1.11k
  case 'J':
16963
3.61k
  case 'j': goto yy601;
16964
3.44k
  case 'M':
16965
5.11k
  case 'm': goto yy771;
16966
4.61k
  case 'N':
16967
5.41k
  case 'n': goto yy603;
16968
2.48k
  case 'O':
16969
3.70k
  case 'o': goto yy604;
16970
2.14k
  case 'S':
16971
6.17k
  case 's': goto yy772;
16972
2.57k
  case 'V': goto yy606;
16973
190
  case 'X': goto yy608;
16974
66.7k
  default:  goto yy59;
16975
193k
  }
16976
202k
yy751:
16977
202k
  YYDEBUG(751, *YYCURSOR);
16978
202k
  yyaccept = 18;
16979
202k
  yych = *(YYMARKER = ++YYCURSOR);
16980
202k
  if (yych <= '/') {
16981
15.9k
    if (yych == '-') goto yy905;
16982
186k
  } else {
16983
186k
    if (yych <= '0') goto yy906;
16984
52.0k
    if (yych <= '9') goto yy907;
16985
52.0k
  }
16986
105k
yy752:
16987
105k
  YYDEBUG(752, *YYCURSOR);
16988
105k
#line 1535 "ext/date/lib/parse_date.re"
16989
105k
  {
16990
105k
    int length = 0;
16991
105k
    DEBUG_OUTPUT("gnudateshorter");
16992
105k
    TIMELIB_INIT;
16993
105k
    TIMELIB_HAVE_DATE();
16994
6.75k
    s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
16995
6.75k
    s->time->m = timelib_get_nr(&ptr, 2);
16996
6.75k
    s->time->d = 1;
16997
6.75k
    TIMELIB_PROCESS_YEAR(s->time->y, length);
16998
6.75k
    TIMELIB_DEINIT;
16999
6.75k
    return TIMELIB_ISO_DATE;
17000
105k
  }
17001
0
#line 17002 "ext/date/lib/parse_date.c"
17002
47.8k
yy753:
17003
47.8k
  YYDEBUG(753, *YYCURSOR);
17004
47.8k
  yyaccept = 18;
17005
47.8k
  yych = *(YYMARKER = ++YYCURSOR);
17006
47.8k
  if (yych <= '/') {
17007
11.5k
    if (yych == '-') goto yy905;
17008
3.35k
    goto yy752;
17009
36.2k
  } else {
17010
36.2k
    if (yych <= '2') goto yy907;
17011
14.8k
    if (yych <= '9') goto yy908;
17012
9.63k
    goto yy752;
17013
14.8k
  }
17014
33.7k
yy754:
17015
33.7k
  YYDEBUG(754, *YYCURSOR);
17016
33.7k
  yyaccept = 18;
17017
33.7k
  yych = *(YYMARKER = ++YYCURSOR);
17018
33.7k
  if (yych == '-') goto yy905;
17019
13.5k
  if (yych <= '/') goto yy752;
17020
11.2k
  if (yych <= '9') goto yy908;
17021
6.05k
  goto yy752;
17022
22.8k
yy755:
17023
22.8k
  YYDEBUG(755, *YYCURSOR);
17024
22.8k
  yyaccept = 18;
17025
22.8k
  yych = *(YYMARKER = ++YYCURSOR);
17026
22.8k
  if (yych <= '/') {
17027
10.4k
    if (yych == '-') goto yy905;
17028
2.70k
    goto yy752;
17029
12.4k
  } else {
17030
12.4k
    if (yych <= '5') goto yy908;
17031
8.58k
    if (yych <= '6') goto yy909;
17032
3.70k
    goto yy752;
17033
8.58k
  }
17034
37.6k
yy756:
17035
37.6k
  YYDEBUG(756, *YYCURSOR);
17036
37.6k
  yyaccept = 18;
17037
37.6k
  yych = *(YYMARKER = ++YYCURSOR);
17038
37.6k
  if (yych == '-') goto yy905;
17039
18.5k
  goto yy752;
17040
37.3k
yy757:
17041
37.3k
  YYDEBUG(757, *YYCURSOR);
17042
37.3k
  yych = *++YYCURSOR;
17043
37.3k
  if (yych <= 'U') {
17044
11.1k
    if (yych == 'P') goto yy910;
17045
10.0k
    if (yych <= 'T') goto yy59;
17046
5.96k
    goto yy911;
17047
26.2k
  } else {
17048
26.2k
    if (yych <= 'p') {
17049
15.0k
      if (yych <= 'o') goto yy59;
17050
13.2k
      goto yy910;
17051
15.0k
    } else {
17052
11.1k
      if (yych == 'u') goto yy911;
17053
3.26k
      goto yy59;
17054
11.1k
    }
17055
26.2k
  }
17056
10.9k
yy758:
17057
10.9k
  YYDEBUG(758, *YYCURSOR);
17058
10.9k
  yych = *++YYCURSOR;
17059
10.9k
  if (yych == 'E') goto yy912;
17060
8.05k
  if (yych == 'e') goto yy912;
17061
2.26k
  goto yy59;
17062
18.5k
yy759:
17063
18.5k
  YYDEBUG(759, *YYCURSOR);
17064
18.5k
  yych = *++YYCURSOR;
17065
18.5k
  if (yych == 'E') goto yy913;
17066
7.82k
  if (yych == 'e') goto yy913;
17067
2.25k
  goto yy59;
17068
36.0k
yy760:
17069
36.0k
  YYDEBUG(760, *YYCURSOR);
17070
36.0k
  yych = *++YYCURSOR;
17071
36.0k
  if (yych <= 'U') {
17072
12.1k
    if (yych == 'A') goto yy914;
17073
9.77k
    if (yych <= 'T') goto yy59;
17074
7.33k
    goto yy915;
17075
23.9k
  } else {
17076
23.9k
    if (yych <= 'a') {
17077
3.90k
      if (yych <= '`') goto yy59;
17078
3.40k
      goto yy914;
17079
20.0k
    } else {
17080
20.0k
      if (yych == 'u') goto yy915;
17081
4.85k
      goto yy59;
17082
20.0k
    }
17083
23.9k
  }
17084
20.6k
yy761:
17085
20.6k
  YYDEBUG(761, *YYCURSOR);
17086
20.6k
  yych = *++YYCURSOR;
17087
20.6k
  if (yych == 'A') goto yy916;
17088
13.3k
  if (yych == 'a') goto yy916;
17089
8.27k
  goto yy59;
17090
16.3k
yy762:
17091
16.3k
  YYDEBUG(762, *YYCURSOR);
17092
16.3k
  yych = *++YYCURSOR;
17093
16.3k
  if (yych == 'O') goto yy917;
17094
13.4k
  if (yych == 'o') goto yy917;
17095
4.22k
  goto yy59;
17096
14.9k
yy763:
17097
14.9k
  YYDEBUG(763, *YYCURSOR);
17098
14.9k
  yych = *++YYCURSOR;
17099
14.9k
  if (yych == 'C') goto yy918;
17100
8.26k
  if (yych == 'c') goto yy918;
17101
5.30k
  goto yy59;
17102
12.8k
yy764:
17103
12.8k
  YYDEBUG(764, *YYCURSOR);
17104
12.8k
  yych = *++YYCURSOR;
17105
12.8k
  if (yych == 'E') goto yy919;
17106
11.3k
  if (yych == 'e') goto yy919;
17107
2.90k
  goto yy59;
17108
18.1k
yy765:
17109
18.1k
  YYDEBUG(765, *YYCURSOR);
17110
18.1k
  yych = *++YYCURSOR;
17111
18.1k
  if (yych <= '/') goto yy59;
17112
17.6k
  if (yych <= '0') goto yy797;
17113
16.7k
  if (yych <= '4') goto yy798;
17114
5.57k
  if (yych <= '5') goto yy799;
17115
1.53k
  goto yy59;
17116
24.3k
yy766:
17117
24.3k
  YYDEBUG(766, *YYCURSOR);
17118
24.3k
  yych = *++YYCURSOR;
17119
24.3k
  if (yych <= '/') goto yy59;
17120
19.9k
  if (yych <= '0') goto yy920;
17121
6.26k
  if (yych <= '9') goto yy908;
17122
2.61k
  goto yy59;
17123
11.7k
yy767:
17124
11.7k
  YYDEBUG(767, *YYCURSOR);
17125
11.7k
  yych = *++YYCURSOR;
17126
11.7k
  if (yych <= '/') goto yy59;
17127
8.84k
  if (yych <= '9') goto yy908;
17128
6.30k
  goto yy59;
17129
6.30k
yy768:
17130
4.96k
  YYDEBUG(768, *YYCURSOR);
17131
4.96k
  yych = *++YYCURSOR;
17132
4.96k
  if (yych <= '/') goto yy59;
17133
4.02k
  if (yych <= '5') goto yy908;
17134
1.63k
  if (yych <= '6') goto yy909;
17135
978
  goto yy59;
17136
2.76k
yy769:
17137
2.76k
  YYDEBUG(769, *YYCURSOR);
17138
2.76k
  yych = *++YYCURSOR;
17139
2.76k
  if (yych == 'E') goto yy787;
17140
1.64k
  if (yych == 'e') goto yy787;
17141
908
  goto yy59;
17142
7.96k
yy770:
17143
7.96k
  YYDEBUG(770, *YYCURSOR);
17144
7.96k
  yych = *++YYCURSOR;
17145
7.96k
  if (yych == 'E') goto yy788;
17146
4.81k
  if (yych == 'e') goto yy788;
17147
3.25k
  goto yy59;
17148
5.11k
yy771:
17149
5.11k
  YYDEBUG(771, *YYCURSOR);
17150
5.11k
  yych = *++YYCURSOR;
17151
5.11k
  if (yych == 'A') goto yy793;
17152
3.90k
  if (yych == 'a') goto yy793;
17153
2.04k
  goto yy59;
17154
6.17k
yy772:
17155
6.17k
  YYDEBUG(772, *YYCURSOR);
17156
6.17k
  yych = *++YYCURSOR;
17157
6.17k
  if (yych == 'E') goto yy921;
17158
5.21k
  if (yych == 'e') goto yy921;
17159
2.60k
  goto yy59;
17160
13.3k
yy773:
17161
13.3k
  YYDEBUG(773, *YYCURSOR);
17162
13.3k
  yych = *++YYCURSOR;
17163
13.3k
  if (yych <= '.') goto yy59;
17164
12.6k
  if (yych <= '/') goto yy922;
17165
6.83k
  if (yych <= '9') goto yy923;
17166
1.39k
  goto yy59;
17167
76.0k
yy774:
17168
76.0k
  YYDEBUG(774, *YYCURSOR);
17169
76.0k
  yych = *++YYCURSOR;
17170
76.0k
  if (yych <= '.') goto yy59;
17171
74.3k
  if (yych <= '/') goto yy922;
17172
53.0k
  if (yych <= '2') goto yy923;
17173
8.52k
  goto yy59;
17174
20.9k
yy775:
17175
20.9k
  YYDEBUG(775, *YYCURSOR);
17176
20.9k
  yych = *++YYCURSOR;
17177
20.9k
  if (yych == '/') goto yy922;
17178
7.39k
  goto yy59;
17179
961k
yy776:
17180
961k
  YYDEBUG(776, *YYCURSOR);
17181
961k
  yyaccept = 19;
17182
961k
  yych = *(YYMARKER = ++YYCURSOR);
17183
961k
  if (yych <= 'W') {
17184
922k
    if (yych <= 'C') {
17185
903k
      if (yych <= '/') {
17186
28.0k
        if (yych <= '\t') {
17187
12.7k
          if (yych >= '\t') goto yy196;
17188
15.2k
        } else {
17189
15.2k
          if (yych == ' ') goto yy196;
17190
15.2k
        }
17191
875k
      } else {
17192
875k
        if (yych <= '2') {
17193
803k
          if (yych <= '0') goto yy924;
17194
29.1k
          goto yy925;
17195
803k
        } else {
17196
72.0k
          if (yych <= '3') goto yy927;
17197
53.5k
          if (yych <= '9') goto yy928;
17198
53.5k
        }
17199
875k
      }
17200
903k
    } else {
17201
18.9k
      if (yych <= 'H') {
17202
7.22k
        if (yych <= 'E') {
17203
3.81k
          if (yych <= 'D') goto yy196;
17204
3.81k
        } else {
17205
3.40k
          if (yych != 'G') goto yy196;
17206
3.40k
        }
17207
11.7k
      } else {
17208
11.7k
        if (yych <= 'R') {
17209
3.62k
          if (yych == 'M') goto yy196;
17210
8.12k
        } else {
17211
8.12k
          if (yych != 'V') goto yy196;
17212
8.12k
        }
17213
11.7k
      }
17214
18.9k
    }
17215
922k
  } else {
17216
38.7k
    if (yych <= 'm') {
17217
10.4k
      if (yych <= 'e') {
17218
7.58k
        if (yych <= 'Y') {
17219
2.06k
          if (yych >= 'Y') goto yy196;
17220
5.52k
        } else {
17221
5.52k
          if (yych == 'd') goto yy196;
17222
5.52k
        }
17223
7.58k
      } else {
17224
2.84k
        if (yych <= 'g') {
17225
813
          if (yych <= 'f') goto yy196;
17226
2.02k
        } else {
17227
2.02k
          if (yych <= 'h') goto yy196;
17228
1.13k
          if (yych >= 'm') goto yy196;
17229
1.13k
        }
17230
2.84k
      }
17231
28.3k
    } else {
17232
28.3k
      if (yych <= 'x') {
17233
9.34k
        if (yych <= 'u') {
17234
8.63k
          if (yych >= 's') goto yy196;
17235
8.63k
        } else {
17236
708
          if (yych == 'w') goto yy196;
17237
708
        }
17238
19.0k
      } else {
17239
19.0k
        if (yych <= 0xC2) {
17240
8.63k
          if (yych <= 'y') goto yy196;
17241
6.85k
          if (yych >= 0xC2) goto yy97;
17242
10.3k
        } else {
17243
10.3k
          if (yych == 0xE2) goto yy98;
17244
10.3k
        }
17245
19.0k
      }
17246
28.3k
    }
17247
38.7k
  }
17248
591k
yy777:
17249
591k
  YYDEBUG(777, *YYCURSOR);
17250
591k
#line 1461 "ext/date/lib/parse_date.re"
17251
591k
  {
17252
591k
    int tz_not_found;
17253
591k
    DEBUG_OUTPUT("iso8601nocolon");
17254
591k
    TIMELIB_INIT;
17255
591k
    TIMELIB_HAVE_TIME();
17256
59.2k
    s->time->h = timelib_get_nr(&ptr, 2);
17257
59.2k
    s->time->i = timelib_get_nr(&ptr, 2);
17258
59.2k
    s->time->s = timelib_get_nr(&ptr, 2);
17259
17260
59.2k
    if (*ptr != '\0') {
17261
0
      s->time->z = timelib_parse_zone(&ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
17262
0
      if (tz_not_found) {
17263
0
        add_error(s, TIMELIB_ERR_TZID_NOT_FOUND, "The timezone could not be found in the database");
17264
0
      }
17265
0
    }
17266
59.2k
    TIMELIB_DEINIT;
17267
59.2k
    return TIMELIB_ISO_NOCOLON;
17268
591k
  }
17269
0
#line 17270 "ext/date/lib/parse_date.c"
17270
305k
yy778:
17271
305k
  YYDEBUG(778, *YYCURSOR);
17272
305k
  yyaccept = 19;
17273
305k
  yych = *(YYMARKER = ++YYCURSOR);
17274
305k
  if (yych <= 'W') {
17275
265k
    if (yych <= 'D') {
17276
256k
      if (yych <= '/') {
17277
26.8k
        if (yych <= '\t') {
17278
4.40k
          if (yych <= 0x08) goto yy777;
17279
1.70k
          goto yy196;
17280
22.4k
        } else {
17281
22.4k
          if (yych == ' ') goto yy196;
17282
20.5k
          goto yy777;
17283
22.4k
        }
17284
229k
      } else {
17285
229k
        if (yych <= '3') {
17286
146k
          if (yych <= '2') goto yy925;
17287
22.8k
          goto yy927;
17288
146k
        } else {
17289
82.4k
          if (yych <= '9') goto yy928;
17290
25.8k
          if (yych <= 'C') goto yy777;
17291
2.43k
          goto yy196;
17292
25.8k
        }
17293
229k
      }
17294
256k
    } else {
17295
9.15k
      if (yych <= 'L') {
17296
3.73k
        if (yych <= 'F') {
17297
1.98k
          if (yych <= 'E') goto yy777;
17298
1.08k
          goto yy196;
17299
1.98k
        } else {
17300
1.75k
          if (yych == 'H') goto yy196;
17301
1.24k
          goto yy777;
17302
1.75k
        }
17303
5.41k
      } else {
17304
5.41k
        if (yych <= 'R') {
17305
3.64k
          if (yych <= 'M') goto yy196;
17306
1.78k
          goto yy777;
17307
3.64k
        } else {
17308
1.77k
          if (yych == 'V') goto yy777;
17309
1.42k
          goto yy196;
17310
1.77k
        }
17311
5.41k
      }
17312
9.15k
    }
17313
265k
  } else {
17314
40.0k
    if (yych <= 'm') {
17315
17.1k
      if (yych <= 'e') {
17316
8.59k
        if (yych <= 'Y') {
17317
5.42k
          if (yych <= 'X') goto yy777;
17318
2.90k
          goto yy196;
17319
5.42k
        } else {
17320
3.17k
          if (yych == 'd') goto yy196;
17321
1.77k
          goto yy777;
17322
3.17k
        }
17323
8.59k
      } else {
17324
8.55k
        if (yych <= 'g') {
17325
2.77k
          if (yych <= 'f') goto yy196;
17326
2.08k
          goto yy777;
17327
5.78k
        } else {
17328
5.78k
          if (yych <= 'h') goto yy196;
17329
5.12k
          if (yych <= 'l') goto yy777;
17330
577
          goto yy196;
17331
5.12k
        }
17332
8.55k
      }
17333
22.9k
    } else {
17334
22.9k
      if (yych <= 'x') {
17335
8.92k
        if (yych <= 'u') {
17336
4.19k
          if (yych <= 'r') goto yy777;
17337
1.71k
          goto yy196;
17338
4.73k
        } else {
17339
4.73k
          if (yych == 'w') goto yy196;
17340
3.49k
          goto yy777;
17341
4.73k
        }
17342
14.0k
      } else {
17343
14.0k
        if (yych <= 0xC2) {
17344
9.03k
          if (yych <= 'y') goto yy196;
17345
7.50k
          if (yych <= 0xC1) goto yy777;
17346
4.04k
          goto yy97;
17347
7.50k
        } else {
17348
4.98k
          if (yych == 0xE2) goto yy98;
17349
4.01k
          goto yy777;
17350
4.98k
        }
17351
14.0k
      }
17352
22.9k
    }
17353
40.0k
  }
17354
206k
yy779:
17355
206k
  YYDEBUG(779, *YYCURSOR);
17356
206k
  yyaccept = 19;
17357
206k
  yych = *(YYMARKER = ++YYCURSOR);
17358
206k
  if (yych <= 'X') {
17359
170k
    if (yych <= 'E') {
17360
141k
      if (yych <= ' ') {
17361
11.3k
        if (yych == '\t') goto yy196;
17362
7.57k
        if (yych <= 0x1F) goto yy777;
17363
3.42k
        goto yy196;
17364
129k
      } else {
17365
129k
        if (yych <= '9') {
17366
123k
          if (yych <= '/') goto yy777;
17367
120k
          goto yy928;
17368
123k
        } else {
17369
5.95k
          if (yych == 'D') goto yy196;
17370
5.79k
          goto yy777;
17371
5.95k
        }
17372
129k
      }
17373
141k
    } else {
17374
29.1k
      if (yych <= 'M') {
17375
15.4k
        if (yych <= 'G') {
17376
7.65k
          if (yych <= 'F') goto yy196;
17377
1.87k
          goto yy777;
17378
7.82k
        } else {
17379
7.82k
          if (yych <= 'H') goto yy196;
17380
5.02k
          if (yych <= 'L') goto yy777;
17381
4.00k
          goto yy196;
17382
5.02k
        }
17383
15.4k
      } else {
17384
13.6k
        if (yych <= 'U') {
17385
11.2k
          if (yych <= 'R') goto yy777;
17386
8.38k
          goto yy196;
17387
11.2k
        } else {
17388
2.44k
          if (yych == 'W') goto yy196;
17389
1.15k
          goto yy777;
17390
2.44k
        }
17391
13.6k
      }
17392
29.1k
    }
17393
170k
  } else {
17394
36.0k
    if (yych <= 'r') {
17395
18.8k
      if (yych <= 'f') {
17396
12.2k
        if (yych <= 'c') {
17397
8.16k
          if (yych <= 'Y') goto yy196;
17398
2.68k
          goto yy777;
17399
8.16k
        } else {
17400
4.07k
          if (yych == 'e') goto yy777;
17401
229
          goto yy196;
17402
4.07k
        }
17403
12.2k
      } else {
17404
6.60k
        if (yych <= 'h') {
17405
2.68k
          if (yych <= 'g') goto yy777;
17406
1.57k
          goto yy196;
17407
3.91k
        } else {
17408
3.91k
          if (yych == 'm') goto yy196;
17409
3.22k
          goto yy777;
17410
3.91k
        }
17411
6.60k
      }
17412
18.8k
    } else {
17413
17.2k
      if (yych <= 'y') {
17414
5.70k
        if (yych <= 'v') {
17415
3.63k
          if (yych <= 'u') goto yy196;
17416
828
          goto yy777;
17417
3.63k
        } else {
17418
2.07k
          if (yych == 'x') goto yy777;
17419
1.21k
          goto yy196;
17420
2.07k
        }
17421
11.5k
      } else {
17422
11.5k
        if (yych <= 0xC2) {
17423
6.77k
          if (yych <= 0xC1) goto yy777;
17424
979
          goto yy97;
17425
6.77k
        } else {
17426
4.77k
          if (yych == 0xE2) goto yy98;
17427
1.75k
          goto yy777;
17428
4.77k
        }
17429
11.5k
      }
17430
17.2k
    }
17431
36.0k
  }
17432
40.8k
yy780:
17433
40.8k
  YYDEBUG(780, *YYCURSOR);
17434
40.8k
  yyaccept = 19;
17435
40.8k
  yych = *(YYMARKER = ++YYCURSOR);
17436
40.8k
  if (yych <= 'X') {
17437
24.0k
    if (yych <= 'E') {
17438
13.6k
      if (yych <= '/') {
17439
4.82k
        if (yych <= '\t') {
17440
1.85k
          if (yych <= 0x08) goto yy777;
17441
520
          goto yy196;
17442
2.96k
        } else {
17443
2.96k
          if (yych == ' ') goto yy196;
17444
1.30k
          goto yy777;
17445
2.96k
        }
17446
8.83k
      } else {
17447
8.83k
        if (yych <= '9') {
17448
5.33k
          if (yych <= '6') goto yy928;
17449
987
          goto yy929;
17450
5.33k
        } else {
17451
3.50k
          if (yych == 'D') goto yy196;
17452
1.64k
          goto yy777;
17453
3.50k
        }
17454
8.83k
      }
17455
13.6k
    } else {
17456
10.3k
      if (yych <= 'M') {
17457
5.90k
        if (yych <= 'G') {
17458
3.83k
          if (yych <= 'F') goto yy196;
17459
2.02k
          goto yy777;
17460
3.83k
        } else {
17461
2.06k
          if (yych <= 'H') goto yy196;
17462
1.80k
          if (yych <= 'L') goto yy777;
17463
406
          goto yy196;
17464
1.80k
        }
17465
5.90k
      } else {
17466
4.44k
        if (yych <= 'U') {
17467
2.40k
          if (yych <= 'R') goto yy777;
17468
1.77k
          goto yy196;
17469
2.40k
        } else {
17470
2.03k
          if (yych == 'W') goto yy196;
17471
1.57k
          goto yy777;
17472
2.03k
        }
17473
4.44k
      }
17474
10.3k
    }
17475
24.0k
  } else {
17476
16.8k
    if (yych <= 'r') {
17477
5.94k
      if (yych <= 'f') {
17478
3.09k
        if (yych <= 'c') {
17479
1.10k
          if (yych <= 'Y') goto yy196;
17480
676
          goto yy777;
17481
1.98k
        } else {
17482
1.98k
          if (yych == 'e') goto yy777;
17483
1.12k
          goto yy196;
17484
1.98k
        }
17485
3.09k
      } else {
17486
2.85k
        if (yych <= 'h') {
17487
1.54k
          if (yych <= 'g') goto yy777;
17488
836
          goto yy196;
17489
1.54k
        } else {
17490
1.30k
          if (yych == 'm') goto yy196;
17491
503
          goto yy777;
17492
1.30k
        }
17493
2.85k
      }
17494
10.9k
    } else {
17495
10.9k
      if (yych <= 'y') {
17496
6.17k
        if (yych <= 'v') {
17497
4.23k
          if (yych <= 'u') goto yy196;
17498
2.04k
          goto yy777;
17499
4.23k
        } else {
17500
1.94k
          if (yych == 'x') goto yy777;
17501
1.34k
          goto yy196;
17502
1.94k
        }
17503
6.17k
      } else {
17504
4.72k
        if (yych <= 0xC2) {
17505
1.43k
          if (yych <= 0xC1) goto yy777;
17506
316
          goto yy97;
17507
3.29k
        } else {
17508
3.29k
          if (yych == 0xE2) goto yy98;
17509
2.82k
          goto yy777;
17510
3.29k
        }
17511
4.72k
      }
17512
10.9k
    }
17513
16.8k
  }
17514
221k
yy781:
17515
221k
  YYDEBUG(781, *YYCURSOR);
17516
221k
  yyaccept = 19;
17517
221k
  yych = *(YYMARKER = ++YYCURSOR);
17518
221k
  if (yych <= 'X') {
17519
188k
    if (yych <= 'E') {
17520
173k
      if (yych <= ' ') {
17521
4.83k
        if (yych == '\t') goto yy196;
17522
3.85k
        if (yych <= 0x1F) goto yy777;
17523
1.17k
        goto yy196;
17524
168k
      } else {
17525
168k
        if (yych <= '9') {
17526
163k
          if (yych <= '/') goto yy777;
17527
157k
          goto yy929;
17528
163k
        } else {
17529
5.80k
          if (yych == 'D') goto yy196;
17530
4.83k
          goto yy777;
17531
5.80k
        }
17532
168k
      }
17533
173k
    } else {
17534
14.4k
      if (yych <= 'M') {
17535
5.51k
        if (yych <= 'G') {
17536
3.58k
          if (yych <= 'F') goto yy196;
17537
1.71k
          goto yy777;
17538
3.58k
        } else {
17539
1.93k
          if (yych <= 'H') goto yy196;
17540
1.16k
          if (yych <= 'L') goto yy777;
17541
679
          goto yy196;
17542
1.16k
        }
17543
8.91k
      } else {
17544
8.91k
        if (yych <= 'U') {
17545
4.70k
          if (yych <= 'R') goto yy777;
17546
1.17k
          goto yy196;
17547
4.70k
        } else {
17548
4.20k
          if (yych == 'W') goto yy196;
17549
2.62k
          goto yy777;
17550
4.20k
        }
17551
8.91k
      }
17552
14.4k
    }
17553
188k
  } else {
17554
33.5k
    if (yych <= 'r') {
17555
20.2k
      if (yych <= 'f') {
17556
13.0k
        if (yych <= 'c') {
17557
9.81k
          if (yych <= 'Y') goto yy196;
17558
2.57k
          goto yy777;
17559
9.81k
        } else {
17560
3.23k
          if (yych == 'e') goto yy777;
17561
1.68k
          goto yy196;
17562
3.23k
        }
17563
13.0k
      } else {
17564
7.24k
        if (yych <= 'h') {
17565
1.77k
          if (yych <= 'g') goto yy777;
17566
695
          goto yy196;
17567
5.47k
        } else {
17568
5.47k
          if (yych == 'm') goto yy196;
17569
2.46k
          goto yy777;
17570
5.47k
        }
17571
7.24k
      }
17572
20.2k
    } else {
17573
13.2k
      if (yych <= 'y') {
17574
5.71k
        if (yych <= 'v') {
17575
3.55k
          if (yych <= 'u') goto yy196;
17576
1.15k
          goto yy777;
17577
3.55k
        } else {
17578
2.15k
          if (yych == 'x') goto yy777;
17579
1.70k
          goto yy196;
17580
2.15k
        }
17581
7.51k
      } else {
17582
7.51k
        if (yych <= 0xC2) {
17583
4.10k
          if (yych <= 0xC1) goto yy777;
17584
1.72k
          goto yy97;
17585
4.10k
        } else {
17586
3.41k
          if (yych == 0xE2) goto yy98;
17587
2.19k
          goto yy777;
17588
3.41k
        }
17589
7.51k
      }
17590
13.2k
    }
17591
33.5k
  }
17592
1.41M
yy782:
17593
1.41M
  YYDEBUG(782, *YYCURSOR);
17594
1.41M
  yych = *++YYCURSOR;
17595
1.41M
  if (yych <= 0xC1) {
17596
1.39M
    if (yych <= '/') goto yy196;
17597
1.33M
    if (yych <= '9') goto yy929;
17598
140k
    goto yy196;
17599
1.33M
  } else {
17600
25.5k
    if (yych <= 0xC2) goto yy97;
17601
19.7k
    if (yych == 0xE2) goto yy98;
17602
9.82k
    goto yy196;
17603
19.7k
  }
17604
15.5k
yy783:
17605
15.5k
  YYDEBUG(783, *YYCURSOR);
17606
15.5k
  yych = *++YYCURSOR;
17607
15.5k
  if (yych <= '/') goto yy59;
17608
9.96k
  if (yych <= '9') goto yy930;
17609
2.98k
  goto yy59;
17610
110k
yy784:
17611
110k
  YYDEBUG(784, *YYCURSOR);
17612
110k
  yych = *++YYCURSOR;
17613
110k
  if (yych <= '/') goto yy59;
17614
102k
  if (yych <= '2') goto yy930;
17615
12.2k
  goto yy59;
17616
12.2k
yy785:
17617
7.24k
  YYDEBUG(785, *YYCURSOR);
17618
7.24k
  yych = *++YYCURSOR;
17619
7.24k
  if (yych == 'R') goto yy931;
17620
6.12k
  if (yych == 'r') goto yy931;
17621
3.06k
  goto yy59;
17622
16.7k
yy786:
17623
16.7k
  YYDEBUG(786, *YYCURSOR);
17624
16.7k
  yych = *++YYCURSOR;
17625
16.7k
  if (yych == 'G') goto yy932;
17626
12.7k
  if (yych == 'g') goto yy932;
17627
7.07k
  goto yy59;
17628
7.25k
yy787:
17629
7.25k
  YYDEBUG(787, *YYCURSOR);
17630
7.25k
  yych = *++YYCURSOR;
17631
7.25k
  if (yych == 'C') goto yy933;
17632
6.49k
  if (yych == 'c') goto yy933;
17633
4.61k
  goto yy59;
17634
18.1k
yy788:
17635
18.1k
  YYDEBUG(788, *YYCURSOR);
17636
18.1k
  yych = *++YYCURSOR;
17637
18.1k
  if (yych == 'B') goto yy934;
17638
17.5k
  if (yych == 'b') goto yy934;
17639
4.90k
  goto yy59;
17640
7.75k
yy789:
17641
7.75k
  YYDEBUG(789, *YYCURSOR);
17642
7.75k
  yych = *++YYCURSOR;
17643
7.75k
  if (yych != 'I') goto yy600;
17644
23.0k
yy790:
17645
23.0k
  YYDEBUG(790, *YYCURSOR);
17646
23.0k
  ++YYCURSOR;
17647
23.0k
  goto yy600;
17648
9.49k
yy791:
17649
9.49k
  YYDEBUG(791, *YYCURSOR);
17650
9.49k
  yych = *++YYCURSOR;
17651
9.49k
  if (yych == 'N') goto yy935;
17652
6.64k
  if (yych == 'n') goto yy935;
17653
2.72k
  goto yy59;
17654
19.7k
yy792:
17655
19.7k
  YYDEBUG(792, *YYCURSOR);
17656
19.7k
  yych = *++YYCURSOR;
17657
19.7k
  if (yych <= 'N') {
17658
7.47k
    if (yych == 'L') goto yy936;
17659
6.55k
    if (yych <= 'M') goto yy59;
17660
1.52k
    goto yy937;
17661
12.2k
  } else {
17662
12.2k
    if (yych <= 'l') {
17663
3.93k
      if (yych <= 'k') goto yy59;
17664
1.58k
      goto yy936;
17665
8.32k
    } else {
17666
8.32k
      if (yych == 'n') goto yy937;
17667
3.25k
      goto yy59;
17668
8.32k
    }
17669
12.2k
  }
17670
13.6k
yy793:
17671
13.6k
  YYDEBUG(793, *YYCURSOR);
17672
13.6k
  yych = *++YYCURSOR;
17673
13.6k
  if (yych <= 'Y') {
17674
6.82k
    if (yych == 'R') goto yy938;
17675
4.33k
    if (yych <= 'X') goto yy59;
17676
334
    goto yy790;
17677
6.80k
  } else {
17678
6.80k
    if (yych <= 'r') {
17679
4.41k
      if (yych <= 'q') goto yy59;
17680
3.16k
      goto yy938;
17681
4.41k
    } else {
17682
2.39k
      if (yych == 'y') goto yy790;
17683
1.88k
      goto yy59;
17684
2.39k
    }
17685
6.80k
  }
17686
14.6k
yy794:
17687
14.6k
  YYDEBUG(794, *YYCURSOR);
17688
14.6k
  yych = *++YYCURSOR;
17689
14.6k
  if (yych == 'V') goto yy933;
17690
11.8k
  if (yych == 'v') goto yy933;
17691
7.32k
  goto yy59;
17692
9.79k
yy795:
17693
9.79k
  YYDEBUG(795, *YYCURSOR);
17694
9.79k
  yych = *++YYCURSOR;
17695
9.79k
  if (yych == 'T') goto yy939;
17696
7.86k
  if (yych == 't') goto yy939;
17697
5.44k
  goto yy59;
17698
41.2k
yy796:
17699
41.2k
  YYDEBUG(796, *YYCURSOR);
17700
41.2k
  yych = *++YYCURSOR;
17701
41.2k
  if (yych <= 'P') {
17702
27.5k
    if (yych == 'C') goto yy443;
17703
6.04k
    if (yych <= 'O') goto yy59;
17704
3.11k
    goto yy940;
17705
13.6k
  } else {
17706
13.6k
    if (yych <= 'c') {
17707
2.81k
      if (yych <= 'b') goto yy59;
17708
2.35k
      goto yy443;
17709
10.8k
    } else {
17710
10.8k
      if (yych == 'p') goto yy940;
17711
2.38k
      goto yy59;
17712
10.8k
    }
17713
13.6k
  }
17714
8.01k
yy797:
17715
8.01k
  YYDEBUG(797, *YYCURSOR);
17716
8.01k
  yych = *++YYCURSOR;
17717
8.01k
  if (yych <= '0') goto yy59;
17718
6.56k
  if (yych <= '9') goto yy941;
17719
1.19k
  goto yy59;
17720
28.5k
yy798:
17721
28.5k
  YYDEBUG(798, *YYCURSOR);
17722
28.5k
  yych = *++YYCURSOR;
17723
28.5k
  if (yych <= '/') goto yy59;
17724
24.3k
  if (yych <= '9') goto yy941;
17725
4.29k
  goto yy59;
17726
7.54k
yy799:
17727
7.54k
  YYDEBUG(799, *YYCURSOR);
17728
7.54k
  yych = *++YYCURSOR;
17729
7.54k
  if (yych <= '/') goto yy59;
17730
6.19k
  if (yych <= '3') goto yy941;
17731
1.11k
  goto yy59;
17732
245k
yy800:
17733
245k
  YYDEBUG(800, *YYCURSOR);
17734
245k
  yych = *++YYCURSOR;
17735
245k
  if (yych <= '9') {
17736
225k
    if (yych <= '0') {
17737
172k
      if (yych <= '/') goto yy196;
17738
160k
      goto yy924;
17739
172k
    } else {
17740
53.6k
      if (yych <= '2') goto yy925;
17741
33.2k
      if (yych <= '3') goto yy927;
17742
15.8k
      goto yy928;
17743
33.2k
    }
17744
225k
  } else {
17745
20.0k
    if (yych <= 0xC2) {
17746
16.3k
      if (yych <= 0xC1) goto yy196;
17747
305
      goto yy97;
17748
16.3k
    } else {
17749
3.67k
      if (yych == 0xE2) goto yy98;
17750
2.11k
      goto yy196;
17751
3.67k
    }
17752
20.0k
  }
17753
228k
yy801:
17754
228k
  YYDEBUG(801, *YYCURSOR);
17755
228k
  yych = *++YYCURSOR;
17756
228k
  if (yych <= '9') {
17757
192k
    if (yych <= '/') goto yy196;
17758
178k
    if (yych <= '2') goto yy925;
17759
105k
    if (yych <= '3') goto yy927;
17760
52.9k
    goto yy928;
17761
105k
  } else {
17762
36.0k
    if (yych <= 0xC2) {
17763
24.5k
      if (yych <= 0xC1) goto yy196;
17764
4.15k
      goto yy97;
17765
24.5k
    } else {
17766
11.5k
      if (yych == 0xE2) goto yy98;
17767
6.69k
      goto yy196;
17768
11.5k
    }
17769
36.0k
  }
17770
249k
yy802:
17771
249k
  YYDEBUG(802, *YYCURSOR);
17772
249k
  yych = *++YYCURSOR;
17773
249k
  if (yych <= 0xC1) {
17774
240k
    if (yych <= '/') goto yy196;
17775
222k
    if (yych <= '9') goto yy928;
17776
36.9k
    goto yy196;
17777
222k
  } else {
17778
8.68k
    if (yych <= 0xC2) goto yy97;
17779
6.22k
    if (yych == 0xE2) goto yy98;
17780
3.48k
    goto yy196;
17781
6.22k
  }
17782
36.3k
yy803:
17783
36.3k
  YYDEBUG(803, *YYCURSOR);
17784
36.3k
  yych = *++YYCURSOR;
17785
36.3k
  if (yych <= 0xC1) {
17786
29.3k
    if (yych <= '/') goto yy196;
17787
27.5k
    if (yych <= '6') goto yy928;
17788
18.8k
    if (yych <= '9') goto yy929;
17789
6.29k
    goto yy196;
17790
18.8k
  } else {
17791
6.93k
    if (yych <= 0xC2) goto yy97;
17792
6.54k
    if (yych == 0xE2) goto yy98;
17793
3.33k
    goto yy196;
17794
6.54k
  }
17795
14.4k
yy804:
17796
14.4k
  YYDEBUG(804, *YYCURSOR);
17797
14.4k
  yych = *++YYCURSOR;
17798
14.4k
  if (yych == 'T') goto yy253;
17799
9.07k
  if (yych == 't') goto yy253;
17800
7.57k
  goto yy59;
17801
9.08k
yy805:
17802
9.08k
  YYDEBUG(805, *YYCURSOR);
17803
9.08k
  yych = *++YYCURSOR;
17804
9.08k
  if (yych == 'N') goto yy806;
17805
5.84k
  if (yych != 'n') goto yy59;
17806
13.5k
yy806:
17807
13.5k
  YYDEBUG(806, *YYCURSOR);
17808
13.5k
  yych = *++YYCURSOR;
17809
13.5k
  if (yych == 'I') goto yy943;
17810
6.96k
  if (yych == 'i') goto yy943;
17811
3.78k
  goto yy59;
17812
22.2k
yy807:
17813
22.2k
  YYDEBUG(807, *YYCURSOR);
17814
22.2k
  ++YYCURSOR;
17815
22.2k
  goto yy251;
17816
17.9k
yy808:
17817
17.9k
  YYDEBUG(808, *YYCURSOR);
17818
17.9k
  yych = *++YYCURSOR;
17819
17.9k
  if (yych == 'R') goto yy944;
17820
11.1k
  if (yych == 'r') goto yy944;
17821
6.66k
  goto yy59;
17822
43.2k
yy809:
17823
43.2k
  YYDEBUG(809, *YYCURSOR);
17824
43.2k
  yych = *++YYCURSOR;
17825
43.2k
  if (yych == 'S') goto yy945;
17826
33.3k
  if (yych == 's') goto yy945;
17827
16.1k
  goto yy59;
17828
16.1k
yy810:
17829
7.28k
  YYDEBUG(810, *YYCURSOR);
17830
7.28k
  yych = *++YYCURSOR;
17831
7.28k
  if (yych == 'E') goto yy425;
17832
6.21k
  if (yych == 'e') goto yy425;
17833
2.91k
  goto yy59;
17834
16.9k
yy811:
17835
16.9k
  YYDEBUG(811, *YYCURSOR);
17836
16.9k
  yych = *++YYCURSOR;
17837
16.9k
  if (yych == 'E') goto yy946;
17838
13.5k
  if (yych == 'e') goto yy946;
17839
5.96k
  goto yy59;
17840
13.5k
yy812:
17841
13.5k
  YYDEBUG(812, *YYCURSOR);
17842
13.5k
  yych = *++YYCURSOR;
17843
13.5k
  if (yych == 'D') goto yy425;
17844
12.8k
  if (yych == 'd') goto yy425;
17845
11.8k
  goto yy59;
17846
55.2k
yy813:
17847
55.2k
  YYDEBUG(813, *YYCURSOR);
17848
55.2k
  yyaccept = 4;
17849
55.2k
  yych = *(YYMARKER = ++YYCURSOR);
17850
55.2k
  if (yych <= 'A') {
17851
31.9k
    if (yych <= '-') {
17852
8.02k
      if (yych <= '\t') {
17853
2.14k
        if (yych <= 0x08) goto yy177;
17854
730
        goto yy638;
17855
5.87k
      } else {
17856
5.87k
        if (yych == ' ') goto yy638;
17857
5.59k
        goto yy177;
17858
5.87k
      }
17859
23.9k
    } else {
17860
23.9k
      if (yych <= '/') {
17861
5.45k
        if (yych <= '.') goto yy744;
17862
3.70k
        goto yy177;
17863
18.4k
      } else {
17864
18.4k
        if (yych <= '9') goto yy897;
17865
15.2k
        if (yych <= '@') goto yy177;
17866
4.26k
        goto yy106;
17867
15.2k
      }
17868
23.9k
    }
17869
31.9k
  } else {
17870
23.3k
    if (yych <= 'o') {
17871
8.35k
      if (yych <= 'P') {
17872
5.07k
        if (yych <= 'O') goto yy177;
17873
273
        goto yy106;
17874
5.07k
      } else {
17875
3.27k
        if (yych == 'a') goto yy106;
17876
2.21k
        goto yy177;
17877
3.27k
      }
17878
14.9k
    } else {
17879
14.9k
      if (yych <= 0xC2) {
17880
7.88k
        if (yych <= 'p') goto yy106;
17881
6.16k
        if (yych <= 0xC1) goto yy177;
17882
1.09k
        goto yy640;
17883
7.07k
      } else {
17884
7.07k
        if (yych == 0xE2) goto yy641;
17885
4.50k
        goto yy177;
17886
7.07k
      }
17887
14.9k
    }
17888
23.3k
  }
17889
50.2k
yy814:
17890
50.2k
  YYDEBUG(814, *YYCURSOR);
17891
50.2k
  ++YYCURSOR;
17892
50.2k
  if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
17893
50.2k
  yych = *YYCURSOR;
17894
50.2k
  if (yych <= '`') {
17895
35.8k
    if (yych <= 'A') {
17896
10.0k
      if (yych <= '@') goto yy59;
17897
1.05k
      goto yy106;
17898
25.8k
    } else {
17899
25.8k
      if (yych == 'P') goto yy106;
17900
23.5k
      goto yy59;
17901
25.8k
    }
17902
35.8k
  } else {
17903
14.3k
    if (yych <= 'p') {
17904
3.26k
      if (yych <= 'a') goto yy106;
17905
2.31k
      if (yych <= 'o') goto yy59;
17906
1.29k
      goto yy106;
17907
11.1k
    } else {
17908
11.1k
      if (yych == 0xC2) goto yy640;
17909
4.02k
      goto yy59;
17910
11.1k
    }
17911
14.3k
  }
17912
35.5k
yy815:
17913
35.5k
  YYDEBUG(815, *YYCURSOR);
17914
35.5k
  ++YYCURSOR;
17915
35.5k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
17916
35.5k
  yych = *YYCURSOR;
17917
35.5k
  if (yych == 0xAF) goto yy947;
17918
5.34k
  goto yy59;
17919
87.9k
yy816:
17920
87.9k
  YYDEBUG(816, *YYCURSOR);
17921
87.9k
  yyaccept = 4;
17922
87.9k
  yych = *(YYMARKER = ++YYCURSOR);
17923
87.9k
  if (yych <= 'O') {
17924
56.9k
    if (yych <= ' ') {
17925
12.3k
      if (yych == '\t') goto yy638;
17926
9.16k
      if (yych <= 0x1F) goto yy177;
17927
6.71k
      goto yy638;
17928
44.5k
    } else {
17929
44.5k
      if (yych <= '.') {
17930
17.2k
        if (yych <= '-') goto yy177;
17931
3.91k
        goto yy744;
17932
27.2k
      } else {
17933
27.2k
        if (yych == 'A') goto yy106;
17934
24.2k
        goto yy177;
17935
27.2k
      }
17936
44.5k
    }
17937
56.9k
  } else {
17938
31.0k
    if (yych <= 'p') {
17939
10.0k
      if (yych <= '`') {
17940
6.53k
        if (yych <= 'P') goto yy106;
17941
4.11k
        goto yy177;
17942
6.53k
      } else {
17943
3.47k
        if (yych <= 'a') goto yy106;
17944
2.88k
        if (yych <= 'o') goto yy177;
17945
457
        goto yy106;
17946
2.88k
      }
17947
21.0k
    } else {
17948
21.0k
      if (yych <= 0xC2) {
17949
9.60k
        if (yych <= 0xC1) goto yy177;
17950
7.96k
        goto yy640;
17951
11.4k
      } else {
17952
11.4k
        if (yych == 0xE2) goto yy641;
17953
2.94k
        goto yy177;
17954
11.4k
      }
17955
21.0k
    }
17956
31.0k
  }
17957
170k
yy817:
17958
170k
  YYDEBUG(817, *YYCURSOR);
17959
170k
  yyaccept = 4;
17960
170k
  yych = *(YYMARKER = ++YYCURSOR);
17961
170k
  if (yych == '.') goto yy744;
17962
168k
  if (yych <= '/') goto yy177;
17963
159k
  if (yych <= '9') goto yy948;
17964
13.7k
  goto yy177;
17965
13.7k
yy818:
17966
12.9k
  YYDEBUG(818, *YYCURSOR);
17967
12.9k
  yyaccept = 4;
17968
12.9k
  yych = *(YYMARKER = ++YYCURSOR);
17969
12.9k
  if (yych == '.') goto yy744;
17970
12.7k
  if (yych == '0') goto yy948;
17971
2.65k
  goto yy177;
17972
40.4k
yy819:
17973
40.4k
  YYDEBUG(819, *YYCURSOR);
17974
40.4k
  yyaccept = 15;
17975
40.4k
  yych = *(YYMARKER = ++YYCURSOR);
17976
40.4k
  if (yych <= 'n') {
17977
29.9k
    if (yych <= '/') goto yy567;
17978
24.2k
    if (yych <= '9') goto yy821;
17979
12.0k
    if (yych <= 'm') goto yy567;
17980
6.75k
    goto yy741;
17981
12.0k
  } else {
17982
10.4k
    if (yych <= 'r') {
17983
5.47k
      if (yych <= 'q') goto yy567;
17984
4.25k
      goto yy741;
17985
5.47k
    } else {
17986
5.01k
      if (yych <= 's') goto yy742;
17987
4.42k
      if (yych <= 't') goto yy743;
17988
2.27k
      goto yy567;
17989
4.42k
    }
17990
10.4k
  }
17991
30.1k
yy820:
17992
30.1k
  YYDEBUG(820, *YYCURSOR);
17993
30.1k
  yyaccept = 15;
17994
30.1k
  yych = *(YYMARKER = ++YYCURSOR);
17995
30.1k
  if (yych <= 'n') {
17996
18.9k
    if (yych <= '/') goto yy567;
17997
14.1k
    if (yych <= '1') goto yy821;
17998
5.47k
    if (yych <= 'm') goto yy567;
17999
1.66k
    goto yy741;
18000
11.1k
  } else {
18001
11.1k
    if (yych <= 'r') {
18002
1.98k
      if (yych <= 'q') goto yy567;
18003
1.56k
      goto yy741;
18004
9.13k
    } else {
18005
9.13k
      if (yych <= 's') goto yy742;
18006
5.64k
      if (yych <= 't') goto yy743;
18007
5.00k
      goto yy567;
18008
5.64k
    }
18009
11.1k
  }
18010
26.7k
yy821:
18011
26.7k
  YYDEBUG(821, *YYCURSOR);
18012
26.7k
  yyaccept = 15;
18013
26.7k
  yych = *(YYMARKER = ++YYCURSOR);
18014
26.7k
  if (yych <= 'q') {
18015
18.5k
    if (yych == 'n') goto yy741;
18016
16.0k
    goto yy567;
18017
18.5k
  } else {
18018
8.20k
    if (yych <= 'r') goto yy741;
18019
6.73k
    if (yych <= 's') goto yy742;
18020
5.04k
    if (yych <= 't') goto yy743;
18021
2.43k
    goto yy567;
18022
5.04k
  }
18023
46.1k
yy822:
18024
46.1k
  YYDEBUG(822, *YYCURSOR);
18025
46.1k
  yych = *++YYCURSOR;
18026
46.1k
  if (yych <= '/') goto yy59;
18027
44.9k
  if (yych <= '2') goto yy949;
18028
26.7k
  if (yych <= '3') goto yy950;
18029
6.41k
  if (yych <= '9') goto yy821;
18030
4.69k
  goto yy59;
18031
104k
yy823:
18032
104k
  YYDEBUG(823, *YYCURSOR);
18033
104k
  yych = *++YYCURSOR;
18034
104k
  if (yych == '-') goto yy951;
18035
71.5k
  goto yy59;
18036
71.5k
yy824:
18037
34.6k
  YYDEBUG(824, *YYCURSOR);
18038
34.6k
  yych = *++YYCURSOR;
18039
34.6k
  if (yych <= 'S') {
18040
11.4k
    if (yych == '-') goto yy951;
18041
8.37k
    goto yy59;
18042
23.2k
  } else {
18043
23.2k
    if (yych <= 'T') goto yy823;
18044
8.09k
    if (yych == 't') goto yy823;
18045
5.15k
    goto yy59;
18046
8.09k
  }
18047
17.0k
yy825:
18048
17.0k
  YYDEBUG(825, *YYCURSOR);
18049
17.0k
  yych = *++YYCURSOR;
18050
17.0k
  if (yych <= '/') goto yy290;
18051
12.2k
  if (yych <= '9') goto yy952;
18052
1.23k
  goto yy290;
18053
3.59M
yy826:
18054
3.59M
  YYDEBUG(826, *YYCURSOR);
18055
3.59M
  yych = *++YYCURSOR;
18056
3.59M
  if (yych == ')') goto yy115;
18057
3.57M
  goto yy20;
18058
3.57M
yy827:
18059
66.3k
  YYDEBUG(827, *YYCURSOR);
18060
66.3k
  yych = *++YYCURSOR;
18061
66.3k
  if (yych <= '9') {
18062
43.7k
    if (yych <= ' ') {
18063
4.07k
      if (yych <= 0x08) {
18064
1.04k
        if (yych <= 0x00) goto yy324;
18065
267
        goto yy59;
18066
3.02k
      } else {
18067
3.02k
        if (yych <= '\t') goto yy326;
18068
2.27k
        if (yych <= 0x1F) goto yy59;
18069
1.84k
        goto yy326;
18070
2.27k
      }
18071
39.6k
    } else {
18072
39.6k
      if (yych <= '-') {
18073
28.9k
        if (yych <= '+') goto yy59;
18074
28.7k
        if (yych <= ',') goto yy326;
18075
25.0k
        goto yy953;
18076
28.7k
      } else {
18077
10.7k
        if (yych <= '.') goto yy326;
18078
10.5k
        if (yych <= '/') goto yy59;
18079
9.05k
        goto yy512;
18080
10.5k
      }
18081
39.6k
    }
18082
43.7k
  } else {
18083
22.6k
    if (yych <= 'm') {
18084
8.38k
      if (yych <= 'd') {
18085
5.52k
        if (yych <= 'c') goto yy59;
18086
2.64k
        goto yy326;
18087
5.52k
      } else {
18088
2.86k
        if (yych == 'h') goto yy326;
18089
2.43k
        goto yy59;
18090
2.86k
      }
18091
14.2k
    } else {
18092
14.2k
      if (yych <= 'r') {
18093
7.84k
        if (yych <= 'n') goto yy329;
18094
7.49k
        if (yych <= 'q') goto yy59;
18095
4.91k
        goto yy329;
18096
7.49k
      } else {
18097
6.39k
        if (yych <= 's') goto yy330;
18098
5.24k
        if (yych <= 't') goto yy331;
18099
1.90k
        goto yy59;
18100
5.24k
      }
18101
14.2k
    }
18102
22.6k
  }
18103
16.9k
yy828:
18104
16.9k
  YYDEBUG(828, *YYCURSOR);
18105
16.9k
  yyaccept = 7;
18106
16.9k
  yych = *(YYMARKER = ++YYCURSOR);
18107
16.9k
  if (yych <= '(') {
18108
6.35k
    if (yych <= '\t') {
18109
3.32k
      if (yych <= 0x08) goto yy295;
18110
817
      goto yy142;
18111
3.32k
    } else {
18112
3.03k
      if (yych == ' ') goto yy142;
18113
2.68k
      goto yy295;
18114
3.03k
    }
18115
10.5k
  } else {
18116
10.5k
    if (yych <= '.') {
18117
4.23k
      if (yych <= ')') goto yy115;
18118
2.58k
      if (yych <= ',') goto yy295;
18119
1.09k
      goto yy142;
18120
6.35k
    } else {
18121
6.35k
      if (yych <= '/') goto yy295;
18122
5.99k
      if (yych <= '9') goto yy142;
18123
2.97k
      goto yy295;
18124
5.99k
    }
18125
10.5k
  }
18126
499k
yy829:
18127
499k
  YYDEBUG(829, *YYCURSOR);
18128
499k
  yyaccept = 2;
18129
499k
  yych = *(YYMARKER = ++YYCURSOR);
18130
499k
  if (yybm[0+yych] & 128) {
18131
258k
    goto yy954;
18132
258k
  }
18133
240k
  if (yych <= '-') {
18134
76.1k
    if (yych == ')') goto yy115;
18135
69.2k
    if (yych <= ',') goto yy20;
18136
10.7k
    goto yy297;
18137
164k
  } else {
18138
164k
    if (yych <= '/') {
18139
35.9k
      if (yych <= '.') goto yy20;
18140
4.08k
      goto yy297;
18141
128k
    } else {
18142
128k
      if (yych == '_') goto yy297;
18143
117k
      goto yy20;
18144
128k
    }
18145
164k
  }
18146
22.4k
yy830:
18147
22.4k
  YYDEBUG(830, *YYCURSOR);
18148
22.4k
  yyaccept = 7;
18149
22.4k
  yych = *(YYMARKER = ++YYCURSOR);
18150
22.4k
  if (yybm[0+yych] & 128) {
18151
1.49k
    goto yy954;
18152
1.49k
  }
18153
20.9k
  if (yych <= ',') {
18154
6.14k
    if (yych <= 0x1F) {
18155
1.30k
      if (yych == '\t') goto yy142;
18156
912
      goto yy295;
18157
4.84k
    } else {
18158
4.84k
      if (yych <= ' ') goto yy142;
18159
948
      if (yych == ')') goto yy115;
18160
531
      goto yy295;
18161
948
    }
18162
14.7k
  } else {
18163
14.7k
    if (yych <= '/') {
18164
9.92k
      if (yych <= '-') goto yy700;
18165
6.20k
      if (yych <= '.') goto yy142;
18166
5.42k
      goto yy297;
18167
6.20k
    } else {
18168
4.87k
      if (yych <= '9') goto yy142;
18169
3.96k
      if (yych == '_') goto yy297;
18170
1.77k
      goto yy295;
18171
3.96k
    }
18172
14.7k
  }
18173
122k
yy831:
18174
122k
  YYDEBUG(831, *YYCURSOR);
18175
122k
  yych = *++YYCURSOR;
18176
122k
  if (yych == 'F') goto yy956;
18177
107k
  if (yych == 'f') goto yy956;
18178
8.98k
  goto yy59;
18179
8.98k
yy832:
18180
7.85k
  YYDEBUG(832, *YYCURSOR);
18181
7.85k
  yyaccept = 2;
18182
7.85k
  yych = *(YYMARKER = ++YYCURSOR);
18183
7.85k
  if (yych <= 'D') {
18184
2.98k
    if (yych == ')') goto yy115;
18185
1.10k
    goto yy20;
18186
4.86k
  } else {
18187
4.86k
    if (yych <= 'E') goto yy957;
18188
3.59k
    if (yych == 'e') goto yy957;
18189
1.15k
    goto yy20;
18190
3.59k
  }
18191
22.3k
yy833:
18192
22.3k
  YYDEBUG(833, *YYCURSOR);
18193
22.3k
  yyaccept = 2;
18194
22.3k
  yych = *(YYMARKER = ++YYCURSOR);
18195
22.3k
  if (yych <= 'D') {
18196
5.00k
    if (yych <= ',') {
18197
778
      if (yych == ')') goto yy115;
18198
624
      goto yy20;
18199
4.23k
    } else {
18200
4.23k
      if (yych == '.') goto yy20;
18201
2.99k
      if (yych <= '/') goto yy297;
18202
2.92k
      goto yy20;
18203
2.99k
    }
18204
17.3k
  } else {
18205
17.3k
    if (yych <= '`') {
18206
2.78k
      if (yych <= 'E') goto yy957;
18207
2.58k
      if (yych == '_') goto yy297;
18208
1.77k
      goto yy20;
18209
14.5k
    } else {
18210
14.5k
      if (yych == 'e') goto yy958;
18211
5.15k
      if (yych <= 'z') goto yy954;
18212
4.64k
      goto yy20;
18213
5.15k
    }
18214
17.3k
  }
18215
212k
yy834:
18216
212k
  YYDEBUG(834, *YYCURSOR);
18217
212k
  ++YYCURSOR;
18218
212k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
18219
212k
  yych = *YYCURSOR;
18220
259k
yy835:
18221
259k
  YYDEBUG(835, *YYCURSOR);
18222
259k
  if (yych <= 'X') {
18223
172k
    if (yych <= 'G') {
18224
67.4k
      if (yych <= ' ') {
18225
38.0k
        if (yych == '\t') goto yy834;
18226
26.6k
        if (yych <= 0x1F) goto yy59;
18227
20.7k
        goto yy834;
18228
29.3k
      } else {
18229
29.3k
        if (yych <= 'D') {
18230
13.8k
          if (yych <= 'C') goto yy59;
18231
736
          goto yy856;
18232
15.5k
        } else {
18233
15.5k
          if (yych == 'F') goto yy857;
18234
1.62k
          goto yy59;
18235
15.5k
        }
18236
29.3k
      }
18237
105k
    } else {
18238
105k
      if (yych <= 'S') {
18239
72.6k
        if (yych <= 'L') {
18240
4.34k
          if (yych <= 'H') goto yy858;
18241
3.11k
          goto yy59;
18242
68.3k
        } else {
18243
68.3k
          if (yych <= 'M') goto yy859;
18244
34.9k
          if (yych <= 'R') goto yy59;
18245
34.0k
          goto yy860;
18246
34.9k
        }
18247
72.6k
      } else {
18248
32.5k
        if (yych <= 'U') {
18249
4.63k
          if (yych <= 'T') goto yy861;
18250
1.10k
          goto yy862;
18251
27.8k
        } else {
18252
27.8k
          if (yych == 'W') goto yy959;
18253
1.16k
          goto yy59;
18254
27.8k
        }
18255
32.5k
      }
18256
105k
    }
18257
172k
  } else {
18258
87.1k
    if (yych <= 'r') {
18259
29.1k
      if (yych <= 'f') {
18260
17.5k
        if (yych <= 'c') {
18261
7.52k
          if (yych <= 'Y') goto yy864;
18262
6.75k
          goto yy59;
18263
9.98k
        } else {
18264
9.98k
          if (yych <= 'd') goto yy856;
18265
7.84k
          if (yych <= 'e') goto yy59;
18266
5.08k
          goto yy857;
18267
7.84k
        }
18268
17.5k
      } else {
18269
11.6k
        if (yych <= 'h') {
18270
1.69k
          if (yych <= 'g') goto yy59;
18271
1.46k
          goto yy858;
18272
9.98k
        } else {
18273
9.98k
          if (yych == 'm') goto yy859;
18274
5.34k
          goto yy59;
18275
9.98k
        }
18276
11.6k
      }
18277
57.9k
    } else {
18278
57.9k
      if (yych <= 'w') {
18279
48.2k
        if (yych <= 't') {
18280
40.3k
          if (yych <= 's') goto yy860;
18281
37.5k
          goto yy861;
18282
40.3k
        } else {
18283
7.90k
          if (yych <= 'u') goto yy862;
18284
7.29k
          if (yych <= 'v') goto yy59;
18285
6.40k
          goto yy959;
18286
7.29k
        }
18287
48.2k
      } else {
18288
9.67k
        if (yych <= 'y') {
18289
3.60k
          if (yych <= 'x') goto yy59;
18290
2.00k
          goto yy864;
18291
6.07k
        } else {
18292
6.07k
          if (yych == 0xC2) goto yy865;
18293
4.87k
          goto yy59;
18294
6.07k
        }
18295
9.67k
      }
18296
57.9k
    }
18297
87.1k
  }
18298
96.4k
yy836:
18299
96.4k
  YYDEBUG(836, *YYCURSOR);
18300
96.4k
  yyaccept = 2;
18301
96.4k
  yych = *(YYMARKER = ++YYCURSOR);
18302
96.4k
  if (yych <= '(') {
18303
39.8k
    if (yych <= '\t') {
18304
16.1k
      if (yych <= 0x08) goto yy20;
18305
13.6k
      goto yy834;
18306
23.7k
    } else {
18307
23.7k
      if (yych == ' ') goto yy834;
18308
1.19k
      goto yy20;
18309
23.7k
    }
18310
56.5k
  } else {
18311
56.5k
    if (yych <= 0xC2) {
18312
17.0k
      if (yych <= ')') goto yy115;
18313
14.8k
      if (yych <= 0xC1) goto yy20;
18314
39.4k
    } else {
18315
39.4k
      if (yych == 0xE2) goto yy838;
18316
2.11k
      goto yy20;
18317
39.4k
    }
18318
56.5k
  }
18319
59.4k
yy837:
18320
59.4k
  YYDEBUG(837, *YYCURSOR);
18321
59.4k
  yych = *++YYCURSOR;
18322
59.4k
  if (yych == 0xA0) goto yy960;
18323
11.8k
  goto yy59;
18324
56.4k
yy838:
18325
56.4k
  YYDEBUG(838, *YYCURSOR);
18326
56.4k
  ++YYCURSOR;
18327
56.4k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
18328
56.4k
  yych = *YYCURSOR;
18329
56.4k
  if (yych == 0x80) goto yy961;
18330
6.15k
  goto yy59;
18331
11.1k
yy839:
18332
11.1k
  YYDEBUG(839, *YYCURSOR);
18333
11.1k
  yyaccept = 2;
18334
11.1k
  yych = *(YYMARKER = ++YYCURSOR);
18335
11.1k
  if (yych <= 'S') {
18336
1.87k
    if (yych == ')') goto yy115;
18337
1.68k
    goto yy20;
18338
9.32k
  } else {
18339
9.32k
    if (yych <= 'T') goto yy962;
18340
5.45k
    if (yych == 't') goto yy962;
18341
2.86k
    goto yy20;
18342
5.45k
  }
18343
31.6k
yy840:
18344
31.6k
  YYDEBUG(840, *YYCURSOR);
18345
31.6k
  yyaccept = 2;
18346
31.6k
  yych = *(YYMARKER = ++YYCURSOR);
18347
31.6k
  if (yybm[0+yych] & 128) {
18348
1.01k
    goto yy954;
18349
1.01k
  }
18350
30.6k
  if (yych <= '-') {
18351
20.8k
    if (yych <= ' ') {
18352
18.9k
      if (yych == '\t') goto yy834;
18353
17.9k
      if (yych <= 0x1F) goto yy20;
18354
16.0k
      goto yy834;
18355
17.9k
    } else {
18356
1.91k
      if (yych == ')') goto yy115;
18357
876
      if (yych <= ',') goto yy20;
18358
638
      goto yy297;
18359
876
    }
18360
20.8k
  } else {
18361
9.77k
    if (yych <= '_') {
18362
4.33k
      if (yych == '/') goto yy297;
18363
3.99k
      if (yych <= '^') goto yy20;
18364
955
      goto yy297;
18365
5.44k
    } else {
18366
5.44k
      if (yych <= 0xC2) {
18367
3.28k
        if (yych <= 0xC1) goto yy20;
18368
2.67k
        goto yy837;
18369
3.28k
      } else {
18370
2.15k
        if (yych == 0xE2) goto yy838;
18371
1.24k
        goto yy20;
18372
2.15k
      }
18373
5.44k
    }
18374
9.77k
  }
18375
34.5k
yy841:
18376
34.5k
  YYDEBUG(841, *YYCURSOR);
18377
34.5k
  yyaccept = 2;
18378
34.5k
  yych = *(YYMARKER = ++YYCURSOR);
18379
34.5k
  if (yych <= 'S') {
18380
12.3k
    if (yych <= ',') {
18381
5.04k
      if (yych == ')') goto yy115;
18382
626
      goto yy20;
18383
7.32k
    } else {
18384
7.32k
      if (yych == '.') goto yy20;
18385
3.89k
      if (yych <= '/') goto yy297;
18386
3.36k
      goto yy20;
18387
3.89k
    }
18388
22.1k
  } else {
18389
22.1k
    if (yych <= '`') {
18390
9.30k
      if (yych <= 'T') goto yy962;
18391
8.98k
      if (yych == '_') goto yy297;
18392
7.11k
      goto yy20;
18393
12.8k
    } else {
18394
12.8k
      if (yych == 't') goto yy963;
18395
4.74k
      if (yych <= 'z') goto yy954;
18396
820
      goto yy20;
18397
4.74k
    }
18398
22.1k
  }
18399
5.34k
yy842:
18400
5.34k
  YYDEBUG(842, *YYCURSOR);
18401
5.34k
  yyaccept = 2;
18402
5.34k
  yych = *(YYMARKER = ++YYCURSOR);
18403
5.34k
  if (yych <= 'Q') {
18404
420
    if (yych == ')') goto yy115;
18405
296
    goto yy20;
18406
4.92k
  } else {
18407
4.92k
    if (yych <= 'R') goto yy964;
18408
3.48k
    if (yych == 'r') goto yy964;
18409
1.80k
    goto yy20;
18410
3.48k
  }
18411
61.7k
yy843:
18412
61.7k
  YYDEBUG(843, *YYCURSOR);
18413
61.7k
  yych = *++YYCURSOR;
18414
61.7k
  if (yych == 'D') goto yy866;
18415
57.5k
  if (yych == 'd') goto yy866;
18416
46.9k
  goto yy835;
18417
46.9k
yy844:
18418
18.7k
  YYDEBUG(844, *YYCURSOR);
18419
18.7k
  yych = *++YYCURSOR;
18420
18.7k
  if (yych <= 'R') {
18421
10.3k
    if (yych == ')') goto yy115;
18422
6.42k
    goto yy315;
18423
10.3k
  } else {
18424
8.37k
    if (yych <= 'S') goto yy965;
18425
4.95k
    if (yych == 's') goto yy965;
18426
3.72k
    goto yy315;
18427
4.95k
  }
18428
30.9k
yy845:
18429
30.9k
  YYDEBUG(845, *YYCURSOR);
18430
30.9k
  yyaccept = 2;
18431
30.9k
  yych = *(YYMARKER = ++YYCURSOR);
18432
30.9k
  if (yych <= 'Q') {
18433
15.8k
    if (yych <= ',') {
18434
7.51k
      if (yych == ')') goto yy115;
18435
2.50k
      goto yy20;
18436
8.37k
    } else {
18437
8.37k
      if (yych == '.') goto yy20;
18438
5.68k
      if (yych <= '/') goto yy297;
18439
2.93k
      goto yy20;
18440
5.68k
    }
18441
15.8k
  } else {
18442
15.0k
    if (yych <= '`') {
18443
5.01k
      if (yych <= 'R') goto yy964;
18444
3.47k
      if (yych == '_') goto yy297;
18445
2.31k
      goto yy20;
18446
10.0k
    } else {
18447
10.0k
      if (yych == 'r') goto yy966;
18448
5.63k
      if (yych <= 'z') goto yy954;
18449
4.21k
      goto yy20;
18450
5.63k
    }
18451
15.0k
  }
18452
13.3k
yy846:
18453
13.3k
  YYDEBUG(846, *YYCURSOR);
18454
13.3k
  yyaccept = 9;
18455
13.3k
  yych = *(YYMARKER = ++YYCURSOR);
18456
13.3k
  if (yych <= 'R') {
18457
8.10k
    if (yych <= ',') {
18458
4.63k
      if (yych == ')') goto yy115;
18459
3.05k
      goto yy315;
18460
4.63k
    } else {
18461
3.46k
      if (yych == '.') goto yy315;
18462
2.80k
      if (yych <= '/') goto yy297;
18463
1.72k
      goto yy315;
18464
2.80k
    }
18465
8.10k
  } else {
18466
5.26k
    if (yych <= '`') {
18467
2.08k
      if (yych <= 'S') goto yy965;
18468
1.53k
      if (yych == '_') goto yy297;
18469
404
      goto yy315;
18470
3.18k
    } else {
18471
3.18k
      if (yych == 's') goto yy967;
18472
1.55k
      if (yych <= 'z') goto yy954;
18473
622
      goto yy315;
18474
1.55k
    }
18475
5.26k
  }
18476
49.8k
yy847:
18477
49.8k
  YYDEBUG(847, *YYCURSOR);
18478
49.8k
  yyaccept = 2;
18479
49.8k
  yych = *(YYMARKER = ++YYCURSOR);
18480
49.8k
  if (yych <= '/') goto yy20;
18481
48.3k
  if (yych <= '5') goto yy968;
18482
20.0k
  if (yych <= '9') goto yy115;
18483
16.8k
  if (yych <= ':') goto yy393;
18484
9.60k
  goto yy20;
18485
143k
yy848:
18486
143k
  YYDEBUG(848, *YYCURSOR);
18487
143k
  yyaccept = 20;
18488
143k
  yych = *(YYMARKER = ++YYCURSOR);
18489
143k
  if (yych <= '/') {
18490
15.9k
    if (yych == '.') goto yy969;
18491
127k
  } else {
18492
127k
    if (yych <= '9') goto yy850;
18493
37.3k
    if (yych <= ':') goto yy969;
18494
37.3k
  }
18495
566k
yy849:
18496
566k
  YYDEBUG(849, *YYCURSOR);
18497
566k
#line 1938 "ext/date/lib/parse_date.re"
18498
566k
  {
18499
566k
    int tz_not_found;
18500
566k
    DEBUG_OUTPUT("dateshortwithtimeshort | dateshortwithtimelong | dateshortwithtimelongtz");
18501
566k
    TIMELIB_INIT;
18502
566k
    TIMELIB_HAVE_DATE();
18503
149k
    s->time->m = timelib_get_month(&ptr);
18504
149k
    s->time->d = timelib_get_nr(&ptr, 2);
18505
18506
149k
    TIMELIB_HAVE_TIME();
18507
137k
    s->time->h = timelib_get_nr(&ptr, 2);
18508
137k
    s->time->i = timelib_get_nr(&ptr, 2);
18509
137k
    if (*ptr == ':') {
18510
92.6k
      s->time->s = timelib_get_nr(&ptr, 2);
18511
18512
92.6k
      if (*ptr == '.') {
18513
0
        s->time->us = timelib_get_frac_nr(&ptr);
18514
0
      }
18515
92.6k
    }
18516
18517
137k
    if (*ptr != '\0') {
18518
96.5k
      s->time->z = timelib_parse_zone(&ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
18519
96.5k
      if (tz_not_found) {
18520
56.5k
        add_error(s, TIMELIB_ERR_TZID_NOT_FOUND, "The timezone could not be found in the database");
18521
56.5k
      }
18522
96.5k
    }
18523
137k
    TIMELIB_DEINIT;
18524
137k
    return TIMELIB_SHORTDATE_WITH_TIME;
18525
149k
  }
18526
0
#line 18527 "ext/date/lib/parse_date.c"
18527
101k
yy850:
18528
101k
  YYDEBUG(850, *YYCURSOR);
18529
101k
  yyaccept = 20;
18530
101k
  yych = *(YYMARKER = ++YYCURSOR);
18531
101k
  if (yych == '.') goto yy969;
18532
81.6k
  if (yych == ':') goto yy969;
18533
14.9k
  goto yy849;
18534
413k
yy851:
18535
413k
  YYDEBUG(851, *YYCURSOR);
18536
413k
  yyaccept = 20;
18537
413k
  yych = *(YYMARKER = ++YYCURSOR);
18538
413k
  if (yych <= '/') {
18539
41.4k
    if (yych == '.') goto yy970;
18540
7.92k
    goto yy849;
18541
371k
  } else {
18542
371k
    if (yych <= '9') goto yy971;
18543
93.2k
    if (yych <= ':') goto yy970;
18544
10.0k
    goto yy849;
18545
93.2k
  }
18546
21.0k
yy852:
18547
21.0k
  YYDEBUG(852, *YYCURSOR);
18548
21.0k
  yyaccept = 20;
18549
21.0k
  yych = *(YYMARKER = ++YYCURSOR);
18550
21.0k
  if (yych == '.') goto yy970;
18551
13.0k
  if (yych == ':') goto yy970;
18552
7.33k
  goto yy849;
18553
40.1k
yy853:
18554
40.1k
  YYDEBUG(853, *YYCURSOR);
18555
40.1k
  yych = *++YYCURSOR;
18556
40.1k
  if (yych <= '/') goto yy325;
18557
34.2k
  if (yych <= '9') goto yy972;
18558
9.37k
  goto yy325;
18559
9.37k
yy854:
18560
8.01k
  YYDEBUG(854, *YYCURSOR);
18561
8.01k
  yych = *++YYCURSOR;
18562
8.01k
  if (yych <= 'X') {
18563
3.28k
    if (yych == ')') goto yy115;
18564
2.13k
    goto yy20;
18565
4.72k
  } else {
18566
4.72k
    if (yych <= 'Y') goto yy973;
18567
2.86k
    if (yych == 'y') goto yy973;
18568
1.53k
    goto yy20;
18569
2.86k
  }
18570
19.4k
yy855:
18571
19.4k
  YYDEBUG(855, *YYCURSOR);
18572
19.4k
  yyaccept = 2;
18573
19.4k
  yych = *(YYMARKER = ++YYCURSOR);
18574
19.4k
  if (yych <= 'X') {
18575
8.93k
    if (yych <= ',') {
18576
1.47k
      if (yych == ')') goto yy115;
18577
1.09k
      goto yy20;
18578
7.45k
    } else {
18579
7.45k
      if (yych == '.') goto yy20;
18580
824
      if (yych <= '/') goto yy297;
18581
541
      goto yy20;
18582
824
    }
18583
10.4k
  } else {
18584
10.4k
    if (yych <= '`') {
18585
6.01k
      if (yych <= 'Y') goto yy973;
18586
2.25k
      if (yych == '_') goto yy297;
18587
1.25k
      goto yy20;
18588
4.47k
    } else {
18589
4.47k
      if (yych == 'y') goto yy974;
18590
1.64k
      if (yych <= 'z') goto yy954;
18591
440
      goto yy20;
18592
1.64k
    }
18593
10.4k
  }
18594
26.1k
yy856:
18595
26.1k
  YYDEBUG(856, *YYCURSOR);
18596
26.1k
  yych = *++YYCURSOR;
18597
26.1k
  if (yych == 'A') goto yy975;
18598
23.8k
  if (yych == 'a') goto yy975;
18599
14.4k
  goto yy59;
18600
43.9k
yy857:
18601
43.9k
  YYDEBUG(857, *YYCURSOR);
18602
43.9k
  yych = *++YYCURSOR;
18603
43.9k
  if (yych <= 'R') {
18604
26.4k
    if (yych == 'O') goto yy976;
18605
5.90k
    if (yych <= 'Q') goto yy59;
18606
2.80k
    goto yy977;
18607
17.4k
  } else {
18608
17.4k
    if (yych <= 'o') {
18609
4.38k
      if (yych <= 'n') goto yy59;
18610
567
      goto yy976;
18611
13.1k
    } else {
18612
13.1k
      if (yych == 'r') goto yy977;
18613
4.51k
      goto yy59;
18614
13.1k
    }
18615
17.4k
  }
18616
14.3k
yy858:
18617
14.3k
  YYDEBUG(858, *YYCURSOR);
18618
14.3k
  yych = *++YYCURSOR;
18619
14.3k
  if (yych == 'O') goto yy978;
18620
13.4k
  if (yych == 'o') goto yy978;
18621
12.8k
  goto yy59;
18622
91.6k
yy859:
18623
91.6k
  YYDEBUG(859, *YYCURSOR);
18624
91.6k
  yych = *++YYCURSOR;
18625
91.6k
  if (yych <= 'S') {
18626
39.7k
    if (yych <= 'N') {
18627
34.6k
      if (yych == 'I') goto yy979;
18628
9.82k
      goto yy59;
18629
34.6k
    } else {
18630
5.10k
      if (yych <= 'O') goto yy980;
18631
3.65k
      if (yych <= 'R') goto yy59;
18632
2.88k
      goto yy981;
18633
3.65k
    }
18634
51.8k
  } else {
18635
51.8k
    if (yych <= 'n') {
18636
16.0k
      if (yych == 'i') goto yy979;
18637
2.24k
      goto yy59;
18638
35.8k
    } else {
18639
35.8k
      if (yych <= 'o') goto yy980;
18640
4.03k
      if (yych == 's') goto yy981;
18641
3.49k
      goto yy59;
18642
4.03k
    }
18643
51.8k
  }
18644
86.6k
yy860:
18645
86.6k
  YYDEBUG(860, *YYCURSOR);
18646
86.6k
  yych = *++YYCURSOR;
18647
86.6k
  if (yych <= 'U') {
18648
24.9k
    if (yych <= 'D') {
18649
15.3k
      if (yych == 'A') goto yy983;
18650
12.2k
      goto yy59;
18651
15.3k
    } else {
18652
9.67k
      if (yych <= 'E') goto yy984;
18653
3.54k
      if (yych <= 'T') goto yy59;
18654
1.90k
      goto yy985;
18655
3.54k
    }
18656
61.6k
  } else {
18657
61.6k
    if (yych <= 'd') {
18658
26.6k
      if (yych == 'a') goto yy983;
18659
3.22k
      goto yy59;
18660
35.0k
    } else {
18661
35.0k
      if (yych <= 'e') goto yy984;
18662
22.0k
      if (yych == 'u') goto yy985;
18663
7.21k
      goto yy59;
18664
22.0k
    }
18665
61.6k
  }
18666
64.6k
yy861:
18667
64.6k
  YYDEBUG(861, *YYCURSOR);
18668
64.6k
  yych = *++YYCURSOR;
18669
64.6k
  if (yych <= 'U') {
18670
40.5k
    if (yych == 'H') goto yy986;
18671
35.7k
    if (yych <= 'T') goto yy59;
18672
25.1k
    goto yy987;
18673
35.7k
  } else {
18674
24.0k
    if (yych <= 'h') {
18675
18.8k
      if (yych <= 'g') goto yy59;
18676
15.1k
      goto yy986;
18677
18.8k
    } else {
18678
5.25k
      if (yych == 'u') goto yy987;
18679
4.20k
      goto yy59;
18680
5.25k
    }
18681
24.0k
  }
18682
14.5k
yy862:
18683
14.5k
  YYDEBUG(862, *YYCURSOR);
18684
14.5k
  yych = *++YYCURSOR;
18685
14.5k
  if (yych == 'S') goto yy988;
18686
9.29k
  if (yych == 's') goto yy988;
18687
7.45k
  goto yy59;
18688
65.3k
yy863:
18689
65.3k
  YYDEBUG(863, *YYCURSOR);
18690
65.3k
  yych = *++YYCURSOR;
18691
65.3k
  if (yych == 'E') goto yy989;
18692
59.5k
  if (yych == 'e') goto yy989;
18693
4.69k
  goto yy59;
18694
22.0k
yy864:
18695
22.0k
  YYDEBUG(864, *YYCURSOR);
18696
22.0k
  yych = *++YYCURSOR;
18697
22.0k
  if (yych == 'E') goto yy990;
18698
21.2k
  if (yych == 'e') goto yy990;
18699
13.6k
  goto yy59;
18700
13.6k
yy865:
18701
8.66k
  YYDEBUG(865, *YYCURSOR);
18702
8.66k
  yych = *++YYCURSOR;
18703
8.66k
  if (yych == 0xB5) goto yy991;
18704
5.91k
  goto yy59;
18705
31.8k
yy866:
18706
31.8k
  YYDEBUG(866, *YYCURSOR);
18707
31.8k
  yych = *++YYCURSOR;
18708
31.8k
  if (yych == 'A') goto yy992;
18709
22.7k
  if (yych == 'a') goto yy992;
18710
11.0k
  goto yy59;
18711
69.5k
yy867:
18712
69.5k
  YYDEBUG(867, *YYCURSOR);
18713
69.5k
  ++YYCURSOR;
18714
69.5k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
18715
69.5k
  yych = *YYCURSOR;
18716
69.5k
  if (yych <= 'c') {
18717
28.7k
    if (yych <= 'M') {
18718
9.33k
      if (yych <= 'F') {
18719
3.86k
        if (yych == 'D') goto yy856;
18720
2.66k
        if (yych <= 'E') goto yy59;
18721
889
        goto yy857;
18722
5.46k
      } else {
18723
5.46k
        if (yych == 'H') goto yy858;
18724
4.43k
        if (yych <= 'L') goto yy59;
18725
1.65k
        goto yy859;
18726
4.43k
      }
18727
19.4k
    } else {
18728
19.4k
      if (yych <= 'U') {
18729
5.15k
        if (yych <= 'R') goto yy59;
18730
4.44k
        if (yych <= 'S') goto yy860;
18731
1.83k
        if (yych <= 'T') goto yy861;
18732
418
        goto yy862;
18733
14.2k
      } else {
18734
14.2k
        if (yych <= 'W') {
18735
6.84k
          if (yych <= 'V') goto yy59;
18736
5.73k
          goto yy863;
18737
7.45k
        } else {
18738
7.45k
          if (yych == 'Y') goto yy864;
18739
3.75k
          goto yy59;
18740
7.45k
        }
18741
14.2k
      }
18742
19.4k
    }
18743
40.8k
  } else {
18744
40.8k
    if (yych <= 's') {
18745
10.8k
      if (yych <= 'g') {
18746
3.83k
        if (yych <= 'd') goto yy856;
18747
1.69k
        if (yych == 'f') goto yy857;
18748
1.32k
        goto yy59;
18749
7.04k
      } else {
18750
7.04k
        if (yych <= 'l') {
18751
2.89k
          if (yych <= 'h') goto yy858;
18752
2.35k
          goto yy59;
18753
4.15k
        } else {
18754
4.15k
          if (yych <= 'm') goto yy859;
18755
2.84k
          if (yych <= 'r') goto yy59;
18756
1.19k
          goto yy860;
18757
2.84k
        }
18758
7.04k
      }
18759
29.9k
    } else {
18760
29.9k
      if (yych <= 'w') {
18761
3.78k
        if (yych <= 't') goto yy861;
18762
2.97k
        if (yych <= 'u') goto yy862;
18763
2.73k
        if (yych <= 'v') goto yy59;
18764
676
        goto yy863;
18765
26.1k
      } else {
18766
26.1k
        if (yych <= 'y') {
18767
3.07k
          if (yych <= 'x') goto yy59;
18768
1.04k
          goto yy864;
18769
23.0k
        } else {
18770
23.0k
          if (yych == 0xC2) goto yy993;
18771
1.22k
          goto yy59;
18772
23.0k
        }
18773
26.1k
      }
18774
29.9k
    }
18775
40.8k
  }
18776
74.0k
yy868:
18777
74.0k
  YYDEBUG(868, *YYCURSOR);
18778
74.0k
  ++YYCURSOR;
18779
74.0k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
18780
74.0k
  yych = *YYCURSOR;
18781
74.0k
  if (yych == 0xAF) goto yy994;
18782
7.90k
  goto yy59;
18783
10.6k
yy869:
18784
10.6k
  YYDEBUG(869, *YYCURSOR);
18785
10.6k
  yyaccept = 2;
18786
10.6k
  yych = *(YYMARKER = ++YYCURSOR);
18787
10.6k
  if (yych <= 'G') {
18788
3.62k
    if (yych == ')') goto yy115;
18789
2.11k
    goto yy20;
18790
7.07k
  } else {
18791
7.07k
    if (yych <= 'H') goto yy995;
18792
3.86k
    if (yych == 'h') goto yy995;
18793
2.24k
    goto yy20;
18794
3.86k
  }
18795
23.9k
yy870:
18796
23.9k
  YYDEBUG(870, *YYCURSOR);
18797
23.9k
  yyaccept = 2;
18798
23.9k
  yych = *(YYMARKER = ++YYCURSOR);
18799
23.9k
  if (yych <= 'G') {
18800
10.3k
    if (yych <= ',') {
18801
2.18k
      if (yych == ')') goto yy115;
18802
1.07k
      goto yy20;
18803
8.14k
    } else {
18804
8.14k
      if (yych == '.') goto yy20;
18805
6.72k
      if (yych <= '/') goto yy297;
18806
6.08k
      goto yy20;
18807
6.72k
    }
18808
13.6k
  } else {
18809
13.6k
    if (yych <= '`') {
18810
6.17k
      if (yych <= 'H') goto yy995;
18811
3.41k
      if (yych == '_') goto yy297;
18812
2.92k
      goto yy20;
18813
7.48k
    } else {
18814
7.48k
      if (yych == 'h') goto yy996;
18815
2.07k
      if (yych <= 'z') goto yy954;
18816
1.10k
      goto yy20;
18817
2.07k
    }
18818
13.6k
  }
18819
9.89k
yy871:
18820
9.89k
  YYDEBUG(871, *YYCURSOR);
18821
9.89k
  yych = *++YYCURSOR;
18822
9.89k
  if (yych <= 'Q') {
18823
3.53k
    if (yych == ')') goto yy115;
18824
2.82k
    goto yy20;
18825
6.35k
  } else {
18826
6.35k
    if (yych <= 'R') goto yy973;
18827
5.63k
    if (yych == 'r') goto yy973;
18828
2.33k
    goto yy20;
18829
5.63k
  }
18830
22.8k
yy872:
18831
22.8k
  YYDEBUG(872, *YYCURSOR);
18832
22.8k
  yyaccept = 2;
18833
22.8k
  yych = *(YYMARKER = ++YYCURSOR);
18834
22.8k
  if (yych <= 'Q') {
18835
3.30k
    if (yych <= ',') {
18836
908
      if (yych == ')') goto yy115;
18837
578
      goto yy20;
18838
2.40k
    } else {
18839
2.40k
      if (yych == '.') goto yy20;
18840
2.05k
      if (yych <= '/') goto yy297;
18841
1.27k
      goto yy20;
18842
2.05k
    }
18843
19.5k
  } else {
18844
19.5k
    if (yych <= '`') {
18845
7.35k
      if (yych <= 'R') goto yy973;
18846
1.86k
      if (yych == '_') goto yy297;
18847
761
      goto yy20;
18848
12.1k
    } else {
18849
12.1k
      if (yych == 'r') goto yy974;
18850
6.52k
      if (yych <= 'z') goto yy954;
18851
4.51k
      goto yy20;
18852
6.52k
    }
18853
19.5k
  }
18854
76.8k
yy873:
18855
76.8k
  YYDEBUG(873, *YYCURSOR);
18856
76.8k
  yyaccept = 2;
18857
76.8k
  yych = *(YYMARKER = ++YYCURSOR);
18858
76.8k
  if (yych <= 'T') {
18859
3.95k
    if (yych == ')') goto yy115;
18860
2.62k
    goto yy20;
18861
72.8k
  } else {
18862
72.8k
    if (yych <= 'U') goto yy997;
18863
72.5k
    if (yych == 'u') goto yy997;
18864
2.73k
    goto yy20;
18865
72.5k
  }
18866
20.6k
yy874:
18867
20.6k
  YYDEBUG(874, *YYCURSOR);
18868
20.6k
  yyaccept = 2;
18869
20.6k
  yych = *(YYMARKER = ++YYCURSOR);
18870
20.6k
  if (yych <= 'T') {
18871
5.68k
    if (yych <= ',') {
18872
2.99k
      if (yych == ')') goto yy115;
18873
971
      goto yy20;
18874
2.99k
    } else {
18875
2.69k
      if (yych == '.') goto yy20;
18876
1.99k
      if (yych <= '/') goto yy297;
18877
1.31k
      goto yy20;
18878
1.99k
    }
18879
14.9k
  } else {
18880
14.9k
    if (yych <= '`') {
18881
3.17k
      if (yych <= 'U') goto yy997;
18882
359
      if (yych == '_') goto yy297;
18883
317
      goto yy20;
18884
11.7k
    } else {
18885
11.7k
      if (yych == 'u') goto yy998;
18886
963
      if (yych <= 'z') goto yy954;
18887
521
      goto yy20;
18888
963
    }
18889
14.9k
  }
18890
19.2k
yy875:
18891
19.2k
  YYDEBUG(875, *YYCURSOR);
18892
19.2k
  yyaccept = 2;
18893
19.2k
  yych = *(YYMARKER = ++YYCURSOR);
18894
19.2k
  if (yych <= '@') {
18895
3.98k
    if (yych == ')') goto yy115;
18896
2.96k
    goto yy20;
18897
15.2k
  } else {
18898
15.2k
    if (yych <= 'A') goto yy999;
18899
8.51k
    if (yych == 'a') goto yy999;
18900
4.49k
    goto yy20;
18901
8.51k
  }
18902
12.7k
yy876:
18903
12.7k
  YYDEBUG(876, *YYCURSOR);
18904
12.7k
  yyaccept = 2;
18905
12.7k
  yych = *(YYMARKER = ++YYCURSOR);
18906
12.7k
  if (yych <= 'A') {
18907
4.92k
    if (yych == ')') goto yy115;
18908
4.54k
    goto yy20;
18909
7.85k
  } else {
18910
7.85k
    if (yych <= 'B') goto yy1000;
18911
3.71k
    if (yych == 'b') goto yy1000;
18912
1.63k
    goto yy20;
18913
3.71k
  }
18914
10.1k
yy877:
18915
10.1k
  YYDEBUG(877, *YYCURSOR);
18916
10.1k
  yyaccept = 2;
18917
10.1k
  yych = *(YYMARKER = ++YYCURSOR);
18918
10.1k
  if (yych <= 'G') {
18919
1.21k
    if (yych == ')') goto yy115;
18920
946
    goto yy20;
18921
8.97k
  } else {
18922
8.97k
    if (yych <= 'H') goto yy1001;
18923
7.03k
    if (yych == 'h') goto yy1001;
18924
1.73k
    goto yy20;
18925
7.03k
  }
18926
24.5k
yy878:
18927
24.5k
  YYDEBUG(878, *YYCURSOR);
18928
24.5k
  yyaccept = 2;
18929
24.5k
  yych = *(YYMARKER = ++YYCURSOR);
18930
24.5k
  if (yych <= '@') {
18931
8.20k
    if (yych <= ',') {
18932
3.66k
      if (yych == ')') goto yy115;
18933
1.65k
      goto yy20;
18934
4.54k
    } else {
18935
4.54k
      if (yych == '.') goto yy20;
18936
1.80k
      if (yych <= '/') goto yy297;
18937
527
      goto yy20;
18938
1.80k
    }
18939
16.3k
  } else {
18940
16.3k
    if (yych <= '_') {
18941
4.39k
      if (yych <= 'A') goto yy999;
18942
4.01k
      if (yych <= '^') goto yy20;
18943
2.55k
      goto yy297;
18944
11.9k
    } else {
18945
11.9k
      if (yych <= '`') goto yy20;
18946
10.5k
      if (yych <= 'a') goto yy1002;
18947
7.28k
      if (yych <= 'z') goto yy954;
18948
1.25k
      goto yy20;
18949
7.28k
    }
18950
16.3k
  }
18951
24.7k
yy879:
18952
24.7k
  YYDEBUG(879, *YYCURSOR);
18953
24.7k
  yyaccept = 2;
18954
24.7k
  yych = *(YYMARKER = ++YYCURSOR);
18955
24.7k
  if (yych <= 'A') {
18956
8.99k
    if (yych <= ',') {
18957
2.19k
      if (yych == ')') goto yy115;
18958
340
      goto yy20;
18959
6.80k
    } else {
18960
6.80k
      if (yych == '.') goto yy20;
18961
5.95k
      if (yych <= '/') goto yy297;
18962
4.60k
      goto yy20;
18963
5.95k
    }
18964
15.7k
  } else {
18965
15.7k
    if (yych <= '`') {
18966
4.90k
      if (yych <= 'B') goto yy1000;
18967
3.98k
      if (yych == '_') goto yy297;
18968
1.58k
      goto yy20;
18969
10.8k
    } else {
18970
10.8k
      if (yych == 'b') goto yy1003;
18971
3.74k
      if (yych <= 'z') goto yy954;
18972
2.15k
      goto yy20;
18973
3.74k
    }
18974
15.7k
  }
18975
33.4k
yy880:
18976
33.4k
  YYDEBUG(880, *YYCURSOR);
18977
33.4k
  yyaccept = 2;
18978
33.4k
  yych = *(YYMARKER = ++YYCURSOR);
18979
33.4k
  if (yych <= 'G') {
18980
11.2k
    if (yych <= ',') {
18981
6.61k
      if (yych == ')') goto yy115;
18982
3.88k
      goto yy20;
18983
6.61k
    } else {
18984
4.63k
      if (yych == '.') goto yy20;
18985
3.05k
      if (yych <= '/') goto yy297;
18986
2.17k
      goto yy20;
18987
3.05k
    }
18988
22.1k
  } else {
18989
22.1k
    if (yych <= '`') {
18990
6.83k
      if (yych <= 'H') goto yy1001;
18991
3.09k
      if (yych == '_') goto yy297;
18992
2.83k
      goto yy20;
18993
15.3k
    } else {
18994
15.3k
      if (yych == 'h') goto yy1004;
18995
2.62k
      if (yych <= 'z') goto yy954;
18996
283
      goto yy20;
18997
2.62k
    }
18998
22.1k
  }
18999
12.5k
yy881:
19000
12.5k
  YYDEBUG(881, *YYCURSOR);
19001
12.5k
  yych = *++YYCURSOR;
19002
12.5k
  if (yych <= '/') goto yy59;
19003
9.39k
  if (yych <= '9') goto yy1005;
19004
2.62k
  goto yy59;
19005
4.94k
yy882:
19006
4.94k
  YYDEBUG(882, *YYCURSOR);
19007
4.94k
  yych = *++YYCURSOR;
19008
4.94k
  if (yych == '0') goto yy1005;
19009
4.81k
  goto yy59;
19010
11.0k
yy883:
19011
11.0k
  YYDEBUG(883, *YYCURSOR);
19012
11.0k
  yyaccept = 2;
19013
11.0k
  yych = *(YYMARKER = ++YYCURSOR);
19014
11.0k
  if (yych <= 'N') {
19015
1.98k
    if (yych == ')') goto yy115;
19016
975
    goto yy20;
19017
9.08k
  } else {
19018
9.08k
    if (yych <= 'O') goto yy1006;
19019
8.17k
    if (yych == 'o') goto yy1006;
19020
5.35k
    goto yy20;
19021
8.17k
  }
19022
13.2k
yy884:
19023
13.2k
  YYDEBUG(884, *YYCURSOR);
19024
13.2k
  yych = *++YYCURSOR;
19025
13.2k
  if (yych <= 'X') {
19026
3.62k
    if (yych == ')') goto yy115;
19027
1.68k
    goto yy20;
19028
9.64k
  } else {
19029
9.64k
    if (yych <= 'Y') goto yy1007;
19030
5.89k
    if (yych == 'y') goto yy1007;
19031
1.80k
    goto yy20;
19032
5.89k
  }
19033
17.6k
yy885:
19034
17.6k
  YYDEBUG(885, *YYCURSOR);
19035
17.6k
  yyaccept = 2;
19036
17.6k
  yych = *(YYMARKER = ++YYCURSOR);
19037
17.6k
  if (yych <= 'N') {
19038
4.60k
    if (yych <= ',') {
19039
2.94k
      if (yych == ')') goto yy115;
19040
1.63k
      goto yy20;
19041
2.94k
    } else {
19042
1.65k
      if (yych == '.') goto yy20;
19043
761
      if (yych <= '/') goto yy297;
19044
657
      goto yy20;
19045
761
    }
19046
13.0k
  } else {
19047
13.0k
    if (yych <= '`') {
19048
3.35k
      if (yych <= 'O') goto yy1006;
19049
2.80k
      if (yych == '_') goto yy297;
19050
2.15k
      goto yy20;
19051
9.73k
    } else {
19052
9.73k
      if (yych == 'o') goto yy1008;
19053
3.70k
      if (yych <= 'z') goto yy954;
19054
547
      goto yy20;
19055
3.70k
    }
19056
13.0k
  }
19057
25.7k
yy886:
19058
25.7k
  YYDEBUG(886, *YYCURSOR);
19059
25.7k
  yyaccept = 2;
19060
25.7k
  yych = *(YYMARKER = ++YYCURSOR);
19061
25.7k
  if (yych <= 'X') {
19062
5.93k
    if (yych <= ',') {
19063
3.02k
      if (yych == ')') goto yy115;
19064
734
      goto yy20;
19065
3.02k
    } else {
19066
2.90k
      if (yych == '.') goto yy20;
19067
2.52k
      if (yych <= '/') goto yy297;
19068
1.47k
      goto yy20;
19069
2.52k
    }
19070
19.7k
  } else {
19071
19.7k
    if (yych <= '`') {
19072
5.16k
      if (yych <= 'Y') goto yy1007;
19073
1.61k
      if (yych == '_') goto yy297;
19074
1.30k
      goto yy20;
19075
14.6k
    } else {
19076
14.6k
      if (yych == 'y') goto yy1009;
19077
2.46k
      if (yych <= 'z') goto yy954;
19078
1.05k
      goto yy20;
19079
2.46k
    }
19080
19.7k
  }
19081
9.88k
yy887:
19082
9.88k
  YYDEBUG(887, *YYCURSOR);
19083
9.88k
  yyaccept = 2;
19084
9.88k
  yych = *(YYMARKER = ++YYCURSOR);
19085
9.88k
  if (yych <= 'C') {
19086
3.27k
    if (yych == ')') goto yy115;
19087
3.12k
    goto yy20;
19088
6.61k
  } else {
19089
6.61k
    if (yych <= 'D') goto yy1010;
19090
4.61k
    if (yych == 'd') goto yy1010;
19091
761
    goto yy20;
19092
4.61k
  }
19093
27.7k
yy888:
19094
27.7k
  YYDEBUG(888, *YYCURSOR);
19095
27.7k
  yyaccept = 2;
19096
27.7k
  yych = *(YYMARKER = ++YYCURSOR);
19097
27.7k
  if (yych <= 'C') {
19098
5.61k
    if (yych <= ',') {
19099
2.90k
      if (yych == ')') goto yy115;
19100
2.31k
      goto yy20;
19101
2.90k
    } else {
19102
2.70k
      if (yych == '.') goto yy20;
19103
1.96k
      if (yych <= '/') goto yy297;
19104
1.46k
      goto yy20;
19105
1.96k
    }
19106
22.1k
  } else {
19107
22.1k
    if (yych <= '`') {
19108
3.94k
      if (yych <= 'D') goto yy1010;
19109
1.77k
      if (yych == '_') goto yy297;
19110
1.07k
      goto yy20;
19111
18.2k
    } else {
19112
18.2k
      if (yych == 'd') goto yy1011;
19113
3.67k
      if (yych <= 'z') goto yy954;
19114
1.41k
      goto yy20;
19115
3.67k
    }
19116
22.1k
  }
19117
17.1k
yy889:
19118
17.1k
  YYDEBUG(889, *YYCURSOR);
19119
17.1k
  yyaccept = 2;
19120
17.1k
  yych = *(YYMARKER = ++YYCURSOR);
19121
17.1k
  if (yych <= 'C') {
19122
4.29k
    if (yych == ')') goto yy115;
19123
2.93k
    goto yy20;
19124
12.8k
  } else {
19125
12.8k
    if (yych <= 'D') goto yy1012;
19126
11.3k
    if (yych == 'd') goto yy1012;
19127
4.57k
    goto yy20;
19128
11.3k
  }
19129
30.1k
yy890:
19130
30.1k
  YYDEBUG(890, *YYCURSOR);
19131
30.1k
  yyaccept = 2;
19132
30.1k
  yych = *(YYMARKER = ++YYCURSOR);
19133
30.1k
  if (yych <= 'C') {
19134
10.8k
    if (yych <= ',') {
19135
1.12k
      if (yych == ')') goto yy115;
19136
509
      goto yy20;
19137
9.69k
    } else {
19138
9.69k
      if (yych == '.') goto yy20;
19139
9.15k
      if (yych <= '/') goto yy297;
19140
8.94k
      goto yy20;
19141
9.15k
    }
19142
19.3k
  } else {
19143
19.3k
    if (yych <= '`') {
19144
5.13k
      if (yych <= 'D') goto yy1012;
19145
1.83k
      if (yych == '_') goto yy297;
19146
1.52k
      goto yy20;
19147
14.2k
    } else {
19148
14.2k
      if (yych == 'd') goto yy1013;
19149
6.22k
      if (yych <= 'z') goto yy954;
19150
2.77k
      goto yy20;
19151
6.22k
    }
19152
19.3k
  }
19153
32.7k
yy891:
19154
32.7k
  YYDEBUG(891, *YYCURSOR);
19155
32.7k
  yych = *++YYCURSOR;
19156
32.7k
  if (yych <= '/') goto yy59;
19157
30.7k
  if (yych <= '9') goto yy1014;
19158
4.13k
  goto yy59;
19159
33.0k
yy892:
19160
33.0k
  YYDEBUG(892, *YYCURSOR);
19161
33.0k
  yych = *++YYCURSOR;
19162
33.0k
  if (yych <= '/') goto yy59;
19163
32.1k
  if (yych <= '2') goto yy1014;
19164
5.59k
  goto yy59;
19165
97.4k
yy893:
19166
97.4k
  YYDEBUG(893, *YYCURSOR);
19167
97.4k
  yych = *++YYCURSOR;
19168
97.4k
  if (yych <= '/') goto yy59;
19169
90.8k
  if (yych <= '0') goto yy1015;
19170
71.0k
  if (yych <= '1') goto yy1016;
19171
42.5k
  goto yy59;
19172
178k
yy894:
19173
178k
  YYDEBUG(894, *YYCURSOR);
19174
178k
  yyaccept = 2;
19175
178k
  yych = *(YYMARKER = ++YYCURSOR);
19176
178k
  if (yych <= 'W') {
19177
149k
    if (yych <= 'D') {
19178
137k
      if (yych <= ',') {
19179
8.82k
        if (yych <= '\t') {
19180
3.12k
          if (yych <= 0x08) goto yy20;
19181
1.61k
          goto yy196;
19182
5.70k
        } else {
19183
5.70k
          if (yych == ' ') goto yy196;
19184
4.45k
          goto yy20;
19185
5.70k
        }
19186
128k
      } else {
19187
128k
        if (yych <= '/') {
19188
9.75k
          if (yych <= '-') goto yy893;
19189
945
          goto yy20;
19190
118k
        } else {
19191
118k
          if (yych <= '9') goto yy1017;
19192
5.64k
          if (yych <= 'C') goto yy20;
19193
900
          goto yy196;
19194
5.64k
        }
19195
128k
      }
19196
137k
    } else {
19197
12.4k
      if (yych <= 'L') {
19198
5.18k
        if (yych <= 'F') {
19199
3.70k
          if (yych <= 'E') goto yy20;
19200
513
          goto yy196;
19201
3.70k
        } else {
19202
1.48k
          if (yych == 'H') goto yy196;
19203
973
          goto yy20;
19204
1.48k
        }
19205
7.30k
      } else {
19206
7.30k
        if (yych <= 'R') {
19207
2.37k
          if (yych <= 'M') goto yy196;
19208
1.80k
          goto yy20;
19209
4.92k
        } else {
19210
4.92k
          if (yych == 'V') goto yy20;
19211
3.38k
          goto yy196;
19212
4.92k
        }
19213
7.30k
      }
19214
12.4k
    }
19215
149k
  } else {
19216
29.0k
    if (yych <= 'm') {
19217
14.4k
      if (yych <= 'e') {
19218
6.58k
        if (yych <= 'Y') {
19219
3.65k
          if (yych <= 'X') goto yy20;
19220
3.01k
          goto yy196;
19221
3.65k
        } else {
19222
2.92k
          if (yych == 'd') goto yy196;
19223
2.54k
          goto yy20;
19224
2.92k
        }
19225
7.84k
      } else {
19226
7.84k
        if (yych <= 'g') {
19227
1.19k
          if (yych <= 'f') goto yy196;
19228
730
          goto yy20;
19229
6.64k
        } else {
19230
6.64k
          if (yych <= 'h') goto yy196;
19231
835
          if (yych <= 'l') goto yy20;
19232
408
          goto yy196;
19233
835
        }
19234
7.84k
      }
19235
14.5k
    } else {
19236
14.5k
      if (yych <= 'x') {
19237
6.09k
        if (yych <= 'u') {
19238
5.32k
          if (yych <= 'r') goto yy20;
19239
3.15k
          goto yy196;
19240
5.32k
        } else {
19241
773
          if (yych == 'w') goto yy196;
19242
486
          goto yy20;
19243
773
        }
19244
8.48k
      } else {
19245
8.48k
        if (yych <= 0xC2) {
19246
4.08k
          if (yych <= 'y') goto yy196;
19247
3.22k
          if (yych <= 0xC1) goto yy20;
19248
656
          goto yy97;
19249
4.39k
        } else {
19250
4.39k
          if (yych == 0xE2) goto yy98;
19251
3.35k
          goto yy20;
19252
4.39k
        }
19253
8.48k
      }
19254
14.5k
    }
19255
29.0k
  }
19256
223k
yy895:
19257
223k
  YYDEBUG(895, *YYCURSOR);
19258
223k
  yych = *++YYCURSOR;
19259
223k
  if (yych <= '9') {
19260
198k
    if (yych == '-') goto yy893;
19261
190k
    if (yych <= '/') goto yy196;
19262
182k
    goto yy1017;
19263
190k
  } else {
19264
24.6k
    if (yych <= 0xC2) {
19265
20.4k
      if (yych <= 0xC1) goto yy196;
19266
993
      goto yy97;
19267
20.4k
    } else {
19268
4.15k
      if (yych == 0xE2) goto yy98;
19269
2.40k
      goto yy196;
19270
4.15k
    }
19271
24.6k
  }
19272
20.1k
yy896:
19273
20.1k
  YYDEBUG(896, *YYCURSOR);
19274
20.1k
  yych = *++YYCURSOR;
19275
20.1k
  if (yych <= '/') goto yy59;
19276
16.7k
  if (yych <= '5') goto yy1018;
19277
8.49k
  if (yych <= '6') goto yy1019;
19278
4.37k
  goto yy59;
19279
45.8k
yy897:
19280
45.8k
  YYDEBUG(897, *YYCURSOR);
19281
45.8k
  yych = *++YYCURSOR;
19282
45.8k
  if (yych <= '/') goto yy59;
19283
41.9k
  if (yych <= '9') goto yy1020;
19284
14.9k
  goto yy59;
19285
22.3k
yy898:
19286
22.3k
  YYDEBUG(898, *YYCURSOR);
19287
22.3k
  ++YYCURSOR;
19288
22.3k
  goto yy567;
19289
80.9k
yy899:
19290
80.9k
  YYDEBUG(899, *YYCURSOR);
19291
80.9k
  ++YYCURSOR;
19292
80.9k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
19293
80.9k
  yych = *YYCURSOR;
19294
80.9k
  YYDEBUG(900, *YYCURSOR);
19295
80.9k
  if (yych <= '/') goto yy177;
19296
61.6k
  if (yych <= '9') goto yy899;
19297
24.3k
  goto yy177;
19298
24.3k
yy901:
19299
11.5k
  YYDEBUG(901, *YYCURSOR);
19300
11.5k
  yych = *++YYCURSOR;
19301
11.5k
  if (yych <= '/') goto yy224;
19302
9.43k
  if (yych <= '9') goto yy1022;
19303
1.48k
  goto yy224;
19304
158k
yy902:
19305
158k
  YYDEBUG(902, *YYCURSOR);
19306
158k
  yych = *++YYCURSOR;
19307
158k
  if (yych <= '/') goto yy59;
19308
154k
  if (yych <= '9') goto yy1023;
19309
4.45k
  goto yy59;
19310
31.3k
yy903:
19311
31.3k
  YYDEBUG(903, *YYCURSOR);
19312
31.3k
  yyaccept = 15;
19313
31.3k
  yych = *(YYMARKER = ++YYCURSOR);
19314
31.3k
  if (yych <= 'n') {
19315
21.1k
    if (yych <= '/') goto yy567;
19316
17.8k
    if (yych <= '9') goto yy1024;
19317
5.32k
    if (yych <= 'm') goto yy567;
19318
2.20k
    goto yy741;
19319
10.1k
  } else {
19320
10.1k
    if (yych <= 'r') {
19321
3.79k
      if (yych <= 'q') goto yy567;
19322
1.50k
      goto yy741;
19323
6.38k
    } else {
19324
6.38k
      if (yych <= 's') goto yy742;
19325
3.85k
      if (yych <= 't') goto yy743;
19326
2.09k
      goto yy567;
19327
3.85k
    }
19328
10.1k
  }
19329
30.4k
yy904:
19330
30.4k
  YYDEBUG(904, *YYCURSOR);
19331
30.4k
  yyaccept = 15;
19332
30.4k
  yych = *(YYMARKER = ++YYCURSOR);
19333
30.4k
  if (yych <= 'n') {
19334
14.2k
    if (yych <= '1') {
19335
6.25k
      if (yych <= '/') goto yy567;
19336
3.97k
      goto yy1024;
19337
7.95k
    } else {
19338
7.95k
      if (yych <= '9') goto yy737;
19339
5.44k
      if (yych <= 'm') goto yy567;
19340
849
      goto yy741;
19341
5.44k
    }
19342
16.2k
  } else {
19343
16.2k
    if (yych <= 'r') {
19344
5.73k
      if (yych <= 'q') goto yy567;
19345
3.81k
      goto yy741;
19346
10.5k
    } else {
19347
10.5k
      if (yych <= 's') goto yy742;
19348
3.77k
      if (yych <= 't') goto yy743;
19349
2.89k
      goto yy567;
19350
3.77k
    }
19351
16.2k
  }
19352
68.3k
yy905:
19353
68.3k
  YYDEBUG(905, *YYCURSOR);
19354
68.3k
  yych = *++YYCURSOR;
19355
68.3k
  if (yych <= '/') goto yy59;
19356
64.8k
  if (yych <= '2') goto yy1026;
19357
33.7k
  if (yych <= '3') goto yy1027;
19358
12.3k
  if (yych <= '9') goto yy1028;
19359
6.86k
  goto yy59;
19360
134k
yy906:
19361
134k
  YYDEBUG(906, *YYCURSOR);
19362
134k
  yyaccept = 18;
19363
134k
  yych = *(YYMARKER = ++YYCURSOR);
19364
134k
  if (yych == '-') goto yy1029;
19365
15.3k
  if (yych <= '0') goto yy752;
19366
9.68k
  if (yych <= '9') goto yy1030;
19367
7.79k
  goto yy752;
19368
66.4k
yy907:
19369
66.4k
  YYDEBUG(907, *YYCURSOR);
19370
66.4k
  yyaccept = 18;
19371
66.4k
  yych = *(YYMARKER = ++YYCURSOR);
19372
66.4k
  if (yych == '-') goto yy1029;
19373
14.3k
  if (yych <= '/') goto yy752;
19374
13.5k
  if (yych <= '9') goto yy1030;
19375
5.38k
  goto yy752;
19376
22.8k
yy908:
19377
22.8k
  YYDEBUG(908, *YYCURSOR);
19378
22.8k
  yych = *++YYCURSOR;
19379
22.8k
  if (yych <= '/') goto yy59;
19380
17.5k
  if (yych <= '9') goto yy1030;
19381
5.74k
  goto yy59;
19382
5.74k
yy909:
19383
5.53k
  YYDEBUG(909, *YYCURSOR);
19384
5.53k
  yych = *++YYCURSOR;
19385
5.53k
  if (yych <= '/') goto yy59;
19386
4.40k
  if (yych <= '6') goto yy1030;
19387
1.53k
  goto yy59;
19388
14.3k
yy910:
19389
14.3k
  YYDEBUG(910, *YYCURSOR);
19390
14.3k
  yych = *++YYCURSOR;
19391
14.3k
  if (yych == 'R') goto yy1031;
19392
13.5k
  if (yych == 'r') goto yy1031;
19393
2.93k
  goto yy59;
19394
13.8k
yy911:
19395
13.8k
  YYDEBUG(911, *YYCURSOR);
19396
13.8k
  yych = *++YYCURSOR;
19397
13.8k
  if (yych == 'G') goto yy1032;
19398
11.4k
  if (yych == 'g') goto yy1032;
19399
3.91k
  goto yy59;
19400
8.71k
yy912:
19401
8.71k
  YYDEBUG(912, *YYCURSOR);
19402
8.71k
  yych = *++YYCURSOR;
19403
8.71k
  if (yych == 'C') goto yy1033;
19404
7.98k
  if (yych == 'c') goto yy1033;
19405
2.33k
  goto yy59;
19406
16.3k
yy913:
19407
16.3k
  YYDEBUG(913, *YYCURSOR);
19408
16.3k
  yych = *++YYCURSOR;
19409
16.3k
  if (yych == 'B') goto yy1034;
19410
13.7k
  if (yych == 'b') goto yy1034;
19411
3.59k
  goto yy59;
19412
5.73k
yy914:
19413
5.73k
  YYDEBUG(914, *YYCURSOR);
19414
5.73k
  yych = *++YYCURSOR;
19415
5.73k
  if (yych == 'N') goto yy1035;
19416
4.32k
  if (yych == 'n') goto yy1035;
19417
2.24k
  goto yy59;
19418
22.5k
yy915:
19419
22.5k
  YYDEBUG(915, *YYCURSOR);
19420
22.5k
  yych = *++YYCURSOR;
19421
22.5k
  if (yych <= 'N') {
19422
9.79k
    if (yych == 'L') goto yy1036;
19423
6.87k
    if (yych <= 'M') goto yy59;
19424
4.44k
    goto yy1037;
19425
12.7k
  } else {
19426
12.7k
    if (yych <= 'l') {
19427
3.73k
      if (yych <= 'k') goto yy59;
19428
2.55k
      goto yy1036;
19429
8.98k
    } else {
19430
8.98k
      if (yych == 'n') goto yy1037;
19431
4.50k
      goto yy59;
19432
8.98k
    }
19433
12.7k
  }
19434
12.3k
yy916:
19435
12.3k
  YYDEBUG(916, *YYCURSOR);
19436
12.3k
  yych = *++YYCURSOR;
19437
12.3k
  if (yych <= 'Y') {
19438
7.75k
    if (yych == 'R') goto yy1038;
19439
5.89k
    if (yych <= 'X') goto yy59;
19440
227
    goto yy1039;
19441
5.89k
  } else {
19442
4.63k
    if (yych <= 'r') {
19443
2.79k
      if (yych <= 'q') goto yy59;
19444
2.05k
      goto yy1038;
19445
2.79k
    } else {
19446
1.84k
      if (yych == 'y') goto yy1039;
19447
112
      goto yy59;
19448
1.84k
    }
19449
4.63k
  }
19450
12.1k
yy917:
19451
12.1k
  YYDEBUG(917, *YYCURSOR);
19452
12.1k
  yych = *++YYCURSOR;
19453
12.1k
  if (yych == 'V') goto yy1033;
19454
11.4k
  if (yych == 'v') goto yy1033;
19455
3.58k
  goto yy59;
19456
9.67k
yy918:
19457
9.67k
  YYDEBUG(918, *YYCURSOR);
19458
9.67k
  yych = *++YYCURSOR;
19459
9.67k
  if (yych == 'T') goto yy1040;
19460
6.22k
  if (yych == 't') goto yy1040;
19461
1.54k
  goto yy59;
19462
9.92k
yy919:
19463
9.92k
  YYDEBUG(919, *YYCURSOR);
19464
9.92k
  yych = *++YYCURSOR;
19465
9.92k
  if (yych == 'P') goto yy1041;
19466
6.74k
  if (yych == 'p') goto yy1041;
19467
3.04k
  goto yy59;
19468
13.7k
yy920:
19469
13.7k
  YYDEBUG(920, *YYCURSOR);
19470
13.7k
  yych = *++YYCURSOR;
19471
13.7k
  if (yych <= '0') goto yy59;
19472
1.72k
  if (yych <= '9') goto yy1030;
19473
1.14k
  goto yy59;
19474
3.56k
yy921:
19475
3.56k
  YYDEBUG(921, *YYCURSOR);
19476
3.56k
  yych = *++YYCURSOR;
19477
3.56k
  if (yych == 'P') goto yy940;
19478
2.16k
  if (yych == 'p') goto yy940;
19479
1.88k
  goto yy59;
19480
40.7k
yy922:
19481
40.7k
  YYDEBUG(922, *YYCURSOR);
19482
40.7k
  yych = *++YYCURSOR;
19483
40.7k
  if (yych <= '/') goto yy59;
19484
38.5k
  if (yych <= '2') goto yy1042;
19485
17.9k
  if (yych <= '3') goto yy1044;
19486
6.34k
  if (yych <= '9') goto yy1045;
19487
3.05k
  goto yy59;
19488
49.9k
yy923:
19489
49.9k
  YYDEBUG(923, *YYCURSOR);
19490
49.9k
  yych = *++YYCURSOR;
19491
49.9k
  if (yych == '/') goto yy1046;
19492
11.0k
  goto yy59;
19493
935k
yy924:
19494
935k
  YYDEBUG(924, *YYCURSOR);
19495
935k
  yych = *++YYCURSOR;
19496
935k
  if (yych <= 0xC1) {
19497
926k
    if (yych <= '/') goto yy196;
19498
909k
    if (yych <= '9') goto yy1047;
19499
30.6k
    goto yy196;
19500
909k
  } else {
19501
9.08k
    if (yych <= 0xC2) goto yy97;
19502
8.62k
    if (yych == 0xE2) goto yy98;
19503
5.18k
    goto yy196;
19504
8.62k
  }
19505
246k
yy925:
19506
246k
  YYDEBUG(925, *YYCURSOR);
19507
246k
  yyaccept = 21;
19508
246k
  yych = *(YYMARKER = ++YYCURSOR);
19509
246k
  if (yych <= 'X') {
19510
216k
    if (yych <= 'E') {
19511
195k
      if (yych <= ' ') {
19512
7.98k
        if (yych == '\t') goto yy196;
19513
4.64k
        if (yych >= ' ') goto yy196;
19514
188k
      } else {
19515
188k
        if (yych <= '9') {
19516
175k
          if (yych >= '0') goto yy1047;
19517
175k
        } else {
19518
12.3k
          if (yych == 'D') goto yy196;
19519
12.3k
        }
19520
188k
      }
19521
195k
    } else {
19522
20.2k
      if (yych <= 'M') {
19523
7.60k
        if (yych <= 'G') {
19524
3.86k
          if (yych <= 'F') goto yy196;
19525
3.86k
        } else {
19526
3.73k
          if (yych <= 'H') goto yy196;
19527
3.10k
          if (yych >= 'M') goto yy196;
19528
3.10k
        }
19529
12.6k
      } else {
19530
12.6k
        if (yych <= 'U') {
19531
8.39k
          if (yych >= 'S') goto yy196;
19532
8.39k
        } else {
19533
4.27k
          if (yych == 'W') goto yy196;
19534
4.27k
        }
19535
12.6k
      }
19536
20.2k
    }
19537
216k
  } else {
19538
30.5k
    if (yych <= 'r') {
19539
13.3k
      if (yych <= 'f') {
19540
4.09k
        if (yych <= 'c') {
19541
2.23k
          if (yych <= 'Y') goto yy196;
19542
2.23k
        } else {
19543
1.85k
          if (yych != 'e') goto yy196;
19544
1.85k
        }
19545
9.30k
      } else {
19546
9.30k
        if (yych <= 'h') {
19547
3.67k
          if (yych >= 'h') goto yy196;
19548
5.62k
        } else {
19549
5.62k
          if (yych == 'm') goto yy196;
19550
5.62k
        }
19551
9.30k
      }
19552
17.1k
    } else {
19553
17.1k
      if (yych <= 'y') {
19554
7.55k
        if (yych <= 'v') {
19555
2.18k
          if (yych <= 'u') goto yy196;
19556
5.37k
        } else {
19557
5.37k
          if (yych != 'x') goto yy196;
19558
5.37k
        }
19559
9.57k
      } else {
19560
9.57k
        if (yych <= 0xC2) {
19561
6.79k
          if (yych >= 0xC2) goto yy97;
19562
6.79k
        } else {
19563
2.78k
          if (yych == 0xE2) goto yy98;
19564
2.78k
        }
19565
9.57k
      }
19566
17.1k
    }
19567
30.5k
  }
19568
669k
yy926:
19569
669k
  YYDEBUG(926, *YYCURSOR);
19570
669k
#line 1696 "ext/date/lib/parse_date.re"
19571
669k
  {
19572
669k
    int length = 0;
19573
669k
    DEBUG_OUTPUT("pgydotd");
19574
669k
    TIMELIB_INIT;
19575
669k
    TIMELIB_HAVE_DATE();
19576
29.4k
    s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
19577
29.4k
    s->time->d = timelib_get_nr(&ptr, 3);
19578
29.4k
    s->time->m = 1;
19579
29.4k
    TIMELIB_PROCESS_YEAR(s->time->y, length);
19580
29.4k
    TIMELIB_DEINIT;
19581
29.4k
    return TIMELIB_PG_YEARDAY;
19582
669k
  }
19583
0
#line 19584 "ext/date/lib/parse_date.c"
19584
110k
yy927:
19585
110k
  YYDEBUG(927, *YYCURSOR);
19586
110k
  yyaccept = 21;
19587
110k
  yych = *(YYMARKER = ++YYCURSOR);
19588
110k
  if (yych <= 'X') {
19589
87.3k
    if (yych <= 'E') {
19590
69.8k
      if (yych <= '/') {
19591
8.77k
        if (yych <= '\t') {
19592
2.69k
          if (yych <= 0x08) goto yy926;
19593
1.82k
          goto yy196;
19594
6.07k
        } else {
19595
6.07k
          if (yych == ' ') goto yy196;
19596
4.04k
          goto yy926;
19597
6.07k
        }
19598
61.1k
      } else {
19599
61.1k
        if (yych <= '9') {
19600
58.2k
          if (yych <= '1') goto yy1047;
19601
36.2k
          goto yy1049;
19602
58.2k
        } else {
19603
2.88k
          if (yych == 'D') goto yy196;
19604
1.16k
          goto yy926;
19605
2.88k
        }
19606
61.1k
      }
19607
69.8k
    } else {
19608
17.4k
      if (yych <= 'M') {
19609
10.8k
        if (yych <= 'G') {
19610
1.11k
          if (yych <= 'F') goto yy196;
19611
223
          goto yy926;
19612
9.76k
        } else {
19613
9.76k
          if (yych <= 'H') goto yy196;
19614
8.96k
          if (yych <= 'L') goto yy926;
19615
3.13k
          goto yy196;
19616
8.96k
        }
19617
10.8k
      } else {
19618
6.56k
        if (yych <= 'U') {
19619
3.48k
          if (yych <= 'R') goto yy926;
19620
581
          goto yy196;
19621
3.48k
        } else {
19622
3.08k
          if (yych == 'W') goto yy196;
19623
2.20k
          goto yy926;
19624
3.08k
        }
19625
6.56k
      }
19626
17.4k
    }
19627
87.3k
  } else {
19628
23.5k
    if (yych <= 'r') {
19629
15.2k
      if (yych <= 'f') {
19630
10.2k
        if (yych <= 'c') {
19631
6.85k
          if (yych <= 'Y') goto yy196;
19632
1.93k
          goto yy926;
19633
6.85k
        } else {
19634
3.34k
          if (yych == 'e') goto yy926;
19635
1.59k
          goto yy196;
19636
3.34k
        }
19637
10.2k
      } else {
19638
5.03k
        if (yych <= 'h') {
19639
1.77k
          if (yych <= 'g') goto yy926;
19640
827
          goto yy196;
19641
3.25k
        } else {
19642
3.25k
          if (yych == 'm') goto yy196;
19643
1.32k
          goto yy926;
19644
3.25k
        }
19645
5.03k
      }
19646
15.2k
    } else {
19647
8.35k
      if (yych <= 'y') {
19648
3.31k
        if (yych <= 'v') {
19649
1.02k
          if (yych <= 'u') goto yy196;
19650
286
          goto yy926;
19651
2.28k
        } else {
19652
2.28k
          if (yych == 'x') goto yy926;
19653
1.31k
          goto yy196;
19654
2.28k
        }
19655
5.04k
      } else {
19656
5.04k
        if (yych <= 0xC2) {
19657
3.39k
          if (yych <= 0xC1) goto yy926;
19658
2.27k
          goto yy97;
19659
3.39k
        } else {
19660
1.65k
          if (yych == 0xE2) goto yy98;
19661
1.11k
          goto yy926;
19662
1.65k
        }
19663
5.04k
      }
19664
8.35k
    }
19665
23.5k
  }
19666
479k
yy928:
19667
479k
  YYDEBUG(928, *YYCURSOR);
19668
479k
  yyaccept = 21;
19669
479k
  yych = *(YYMARKER = ++YYCURSOR);
19670
479k
  if (yych <= 'X') {
19671
438k
    if (yych <= 'E') {
19672
416k
      if (yych <= ' ') {
19673
12.7k
        if (yych == '\t') goto yy196;
19674
8.22k
        if (yych <= 0x1F) goto yy926;
19675
1.71k
        goto yy196;
19676
403k
      } else {
19677
403k
        if (yych <= '9') {
19678
374k
          if (yych <= '/') goto yy926;
19679
360k
          goto yy1049;
19680
374k
        } else {
19681
29.2k
          if (yych == 'D') goto yy196;
19682
27.5k
          goto yy926;
19683
29.2k
        }
19684
403k
      }
19685
416k
    } else {
19686
22.7k
      if (yych <= 'M') {
19687
14.3k
        if (yych <= 'G') {
19688
9.17k
          if (yych <= 'F') goto yy196;
19689
2.49k
          goto yy926;
19690
9.17k
        } else {
19691
5.19k
          if (yych <= 'H') goto yy196;
19692
3.97k
          if (yych <= 'L') goto yy926;
19693
2.90k
          goto yy196;
19694
3.97k
        }
19695
14.3k
      } else {
19696
8.34k
        if (yych <= 'U') {
19697
5.33k
          if (yych <= 'R') goto yy926;
19698
2.11k
          goto yy196;
19699
5.33k
        } else {
19700
3.01k
          if (yych == 'W') goto yy196;
19701
1.31k
          goto yy926;
19702
3.01k
        }
19703
8.34k
      }
19704
22.7k
    }
19705
438k
  } else {
19706
40.9k
    if (yych <= 'r') {
19707
18.6k
      if (yych <= 'f') {
19708
5.27k
        if (yych <= 'c') {
19709
3.06k
          if (yych <= 'Y') goto yy196;
19710
1.46k
          goto yy926;
19711
3.06k
        } else {
19712
2.20k
          if (yych == 'e') goto yy926;
19713
751
          goto yy196;
19714
2.20k
        }
19715
13.3k
      } else {
19716
13.3k
        if (yych <= 'h') {
19717
3.28k
          if (yych <= 'g') goto yy926;
19718
2.80k
          goto yy196;
19719
10.0k
        } else {
19720
10.0k
          if (yych == 'm') goto yy196;
19721
3.44k
          goto yy926;
19722
10.0k
        }
19723
13.3k
      }
19724
22.2k
    } else {
19725
22.2k
      if (yych <= 'y') {
19726
7.39k
        if (yych <= 'v') {
19727
2.94k
          if (yych <= 'u') goto yy196;
19728
541
          goto yy926;
19729
4.44k
        } else {
19730
4.44k
          if (yych == 'x') goto yy926;
19731
2.33k
          goto yy196;
19732
4.44k
        }
19733
14.8k
      } else {
19734
14.8k
        if (yych <= 0xC2) {
19735
7.91k
          if (yych <= 0xC1) goto yy926;
19736
4.25k
          goto yy97;
19737
7.91k
        } else {
19738
6.96k
          if (yych == 0xE2) goto yy98;
19739
5.28k
          goto yy926;
19740
6.96k
        }
19741
14.8k
      }
19742
22.2k
    }
19743
40.9k
  }
19744
1.36M
yy929:
19745
1.36M
  YYDEBUG(929, *YYCURSOR);
19746
1.36M
  yych = *++YYCURSOR;
19747
1.36M
  if (yych <= 0xC1) {
19748
1.31M
    if (yych <= '/') goto yy196;
19749
1.26M
    if (yych <= '9') goto yy1049;
19750
108k
    goto yy196;
19751
1.26M
  } else {
19752
42.3k
    if (yych <= 0xC2) goto yy97;
19753
31.0k
    if (yych == 0xE2) goto yy98;
19754
13.6k
    goto yy196;
19755
31.0k
  }
19756
97.3k
yy930:
19757
97.3k
  YYDEBUG(930, *YYCURSOR);
19758
97.3k
  yych = *++YYCURSOR;
19759
97.3k
  if (yych == ':') goto yy1050;
19760
15.8k
  goto yy59;
19761
15.8k
yy931:
19762
4.18k
  YYDEBUG(931, *YYCURSOR);
19763
4.18k
  yyaccept = 22;
19764
4.18k
  yych = *(YYMARKER = ++YYCURSOR);
19765
4.18k
  if (yych == 'I') goto yy1051;
19766
3.43k
  if (yych == 'i') goto yy1051;
19767
1.44k
  goto yy600;
19768
9.72k
yy932:
19769
9.72k
  YYDEBUG(932, *YYCURSOR);
19770
9.72k
  yyaccept = 22;
19771
9.72k
  yych = *(YYMARKER = ++YYCURSOR);
19772
9.72k
  if (yych == 'U') goto yy1052;
19773
8.95k
  if (yych == 'u') goto yy1052;
19774
3.78k
  goto yy600;
19775
21.4k
yy933:
19776
21.4k
  YYDEBUG(933, *YYCURSOR);
19777
21.4k
  yyaccept = 22;
19778
21.4k
  yych = *(YYMARKER = ++YYCURSOR);
19779
21.4k
  if (yych == 'E') goto yy1053;
19780
16.8k
  if (yych == 'e') goto yy1053;
19781
9.18k
  goto yy600;
19782
13.2k
yy934:
19783
13.2k
  YYDEBUG(934, *YYCURSOR);
19784
13.2k
  yyaccept = 22;
19785
13.2k
  yych = *(YYMARKER = ++YYCURSOR);
19786
13.2k
  if (yych == 'R') goto yy1054;
19787
9.29k
  if (yych == 'r') goto yy1054;
19788
3.78k
  goto yy600;
19789
6.77k
yy935:
19790
6.77k
  YYDEBUG(935, *YYCURSOR);
19791
6.77k
  yyaccept = 22;
19792
6.77k
  yych = *(YYMARKER = ++YYCURSOR);
19793
6.77k
  if (yych == 'U') goto yy1055;
19794
4.20k
  if (yych == 'u') goto yy1055;
19795
1.40k
  goto yy600;
19796
2.49k
yy936:
19797
2.49k
  YYDEBUG(936, *YYCURSOR);
19798
2.49k
  yych = *++YYCURSOR;
19799
2.49k
  if (yych == 'Y') goto yy790;
19800
1.83k
  if (yych == 'y') goto yy790;
19801
1.07k
  goto yy600;
19802
6.59k
yy937:
19803
6.59k
  YYDEBUG(937, *YYCURSOR);
19804
6.59k
  yych = *++YYCURSOR;
19805
6.59k
  if (yych == 'E') goto yy790;
19806
5.35k
  if (yych == 'e') goto yy790;
19807
4.67k
  goto yy600;
19808
5.65k
yy938:
19809
5.65k
  YYDEBUG(938, *YYCURSOR);
19810
5.65k
  yyaccept = 22;
19811
5.65k
  yych = *(YYMARKER = ++YYCURSOR);
19812
5.65k
  if (yych == 'C') goto yy1056;
19813
3.56k
  if (yych == 'c') goto yy1056;
19814
2.30k
  goto yy600;
19815
4.34k
yy939:
19816
4.34k
  YYDEBUG(939, *YYCURSOR);
19817
4.34k
  yyaccept = 22;
19818
4.34k
  yych = *(YYMARKER = ++YYCURSOR);
19819
4.34k
  if (yych == 'O') goto yy1057;
19820
2.86k
  if (yych == 'o') goto yy1057;
19821
2.02k
  goto yy600;
19822
13.2k
yy940:
19823
13.2k
  YYDEBUG(940, *YYCURSOR);
19824
13.2k
  yych = *++YYCURSOR;
19825
13.2k
  if (yych == 'T') goto yy933;
19826
12.7k
  if (yych == 't') goto yy933;
19827
1.84k
  goto yy600;
19828
30.4k
yy941:
19829
30.4k
  YYDEBUG(941, *YYCURSOR);
19830
30.4k
  yyaccept = 23;
19831
30.4k
  yych = *(YYMARKER = ++YYCURSOR);
19832
30.4k
  if (yych == '-') goto yy1058;
19833
24.9k
  if (yych <= '/') goto yy942;
19834
24.0k
  if (yych <= '7') goto yy1059;
19835
24.6k
yy942:
19836
24.6k
  YYDEBUG(942, *YYCURSOR);
19837
24.6k
#line 1729 "ext/date/lib/parse_date.re"
19838
24.6k
  {
19839
24.6k
    timelib_sll w, d;
19840
24.6k
    DEBUG_OUTPUT("isoweek");
19841
24.6k
    TIMELIB_INIT;
19842
24.6k
    TIMELIB_HAVE_DATE();
19843
3.44k
    TIMELIB_HAVE_RELATIVE();
19844
19845
3.44k
    s->time->y = timelib_get_nr(&ptr, 4);
19846
3.44k
    w = timelib_get_nr(&ptr, 2);
19847
3.44k
    d = 1;
19848
3.44k
    s->time->m = 1;
19849
3.44k
    s->time->d = 1;
19850
3.44k
    s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d);
19851
19852
3.44k
    TIMELIB_DEINIT;
19853
3.44k
    return TIMELIB_ISO_WEEK;
19854
24.6k
  }
19855
0
#line 19856 "ext/date/lib/parse_date.c"
19856
9.77k
yy943:
19857
9.77k
  YYDEBUG(943, *YYCURSOR);
19858
9.77k
  yych = *++YYCURSOR;
19859
9.77k
  if (yych == 'G') goto yy1061;
19860
7.92k
  if (yych == 'g') goto yy1061;
19861
4.97k
  goto yy59;
19862
11.2k
yy944:
19863
11.2k
  YYDEBUG(944, *YYCURSOR);
19864
11.2k
  yych = *++YYCURSOR;
19865
11.2k
  if (yych == 'Y') goto yy253;
19866
8.14k
  if (yych == 'y') goto yy253;
19867
7.47k
  goto yy59;
19868
27.0k
yy945:
19869
27.0k
  YYDEBUG(945, *YYCURSOR);
19870
27.0k
  yych = *++YYCURSOR;
19871
27.0k
  if (yych == 'E') goto yy1062;
19872
26.0k
  if (yych == 'e') goto yy1062;
19873
13.7k
  goto yy59;
19874
13.7k
yy946:
19875
10.9k
  YYDEBUG(946, *YYCURSOR);
19876
10.9k
  yych = *++YYCURSOR;
19877
10.9k
  if (yych == 'R') goto yy253;
19878
9.90k
  if (yych == 'r') goto yy253;
19879
4.05k
  goto yy59;
19880
30.1k
yy947:
19881
30.1k
  YYDEBUG(947, *YYCURSOR);
19882
30.1k
  ++YYCURSOR;
19883
30.1k
  if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
19884
30.1k
  yych = *YYCURSOR;
19885
30.1k
  if (yych <= '`') {
19886
15.5k
    if (yych <= 'A') {
19887
8.16k
      if (yych <= '@') goto yy59;
19888
556
      goto yy106;
19889
8.16k
    } else {
19890
7.37k
      if (yych == 'P') goto yy106;
19891
6.08k
      goto yy59;
19892
7.37k
    }
19893
15.5k
  } else {
19894
14.6k
    if (yych <= 'p') {
19895
6.18k
      if (yych <= 'a') goto yy106;
19896
4.43k
      if (yych <= 'o') goto yy59;
19897
3.92k
      goto yy106;
19898
8.46k
    } else {
19899
8.46k
      if (yych == 0xE2) goto yy641;
19900
4.07k
      goto yy59;
19901
8.46k
    }
19902
14.6k
  }
19903
155k
yy948:
19904
155k
  YYDEBUG(948, *YYCURSOR);
19905
155k
  yyaccept = 4;
19906
155k
  yych = *(YYMARKER = ++YYCURSOR);
19907
155k
  if (yych <= 'A') {
19908
114k
    if (yych <= '-') {
19909
36.0k
      if (yych <= '\t') {
19910
31.1k
        if (yych <= 0x08) goto yy177;
19911
22.5k
        goto yy638;
19912
31.1k
      } else {
19913
4.90k
        if (yych == ' ') goto yy638;
19914
3.34k
        goto yy177;
19915
4.90k
      }
19916
78.5k
    } else {
19917
78.5k
      if (yych <= '9') {
19918
27.8k
        if (yych <= '.') goto yy1063;
19919
4.59k
        goto yy177;
19920
50.7k
      } else {
19921
50.7k
        if (yych <= ':') goto yy1064;
19922
13.4k
        if (yych <= '@') goto yy177;
19923
9.82k
        goto yy106;
19924
13.4k
      }
19925
78.5k
    }
19926
114k
  } else {
19927
40.7k
    if (yych <= 'o') {
19928
7.64k
      if (yych <= 'P') {
19929
4.71k
        if (yych <= 'O') goto yy177;
19930
2.33k
        goto yy106;
19931
4.71k
      } else {
19932
2.92k
        if (yych == 'a') goto yy106;
19933
1.62k
        goto yy177;
19934
2.92k
      }
19935
33.1k
    } else {
19936
33.1k
      if (yych <= 0xC2) {
19937
22.3k
        if (yych <= 'p') goto yy106;
19938
21.1k
        if (yych <= 0xC1) goto yy177;
19939
18.3k
        goto yy640;
19940
21.1k
      } else {
19941
10.7k
        if (yych == 0xE2) goto yy641;
19942
3.79k
        goto yy177;
19943
10.7k
      }
19944
33.1k
    }
19945
40.7k
  }
19946
18.1k
yy949:
19947
18.1k
  YYDEBUG(949, *YYCURSOR);
19948
18.1k
  yyaccept = 15;
19949
18.1k
  yych = *(YYMARKER = ++YYCURSOR);
19950
18.1k
  if (yych <= 'n') {
19951
11.8k
    if (yych <= '/') goto yy567;
19952
8.59k
    if (yych <= '9') goto yy1065;
19953
3.82k
    if (yych <= 'm') goto yy567;
19954
2.30k
    goto yy741;
19955
6.38k
  } else {
19956
6.38k
    if (yych <= 'r') {
19957
1.81k
      if (yych <= 'q') goto yy567;
19958
1.49k
      goto yy741;
19959
4.57k
    } else {
19960
4.57k
      if (yych <= 's') goto yy742;
19961
3.96k
      if (yych <= 't') goto yy743;
19962
1.69k
      goto yy567;
19963
3.96k
    }
19964
6.38k
  }
19965
20.3k
yy950:
19966
20.3k
  YYDEBUG(950, *YYCURSOR);
19967
20.3k
  yyaccept = 15;
19968
20.3k
  yych = *(YYMARKER = ++YYCURSOR);
19969
20.3k
  if (yych <= 'n') {
19970
12.0k
    if (yych <= '/') goto yy567;
19971
8.27k
    if (yych <= '1') goto yy1065;
19972
2.03k
    if (yych <= 'm') goto yy567;
19973
1.08k
    goto yy741;
19974
8.31k
  } else {
19975
8.31k
    if (yych <= 'r') {
19976
846
      if (yych <= 'q') goto yy567;
19977
392
      goto yy741;
19978
7.47k
    } else {
19979
7.47k
      if (yych <= 's') goto yy742;
19980
5.01k
      if (yych <= 't') goto yy743;
19981
2.57k
      goto yy567;
19982
5.01k
    }
19983
8.31k
  }
19984
53.4k
yy951:
19985
53.4k
  YYDEBUG(951, *YYCURSOR);
19986
53.4k
  yych = *++YYCURSOR;
19987
53.4k
  if (yych <= '/') goto yy59;
19988
38.8k
  if (yych <= '2') goto yy1066;
19989
29.5k
  if (yych <= '3') goto yy1067;
19990
19.3k
  goto yy59;
19991
19.3k
yy952:
19992
10.9k
  YYDEBUG(952, *YYCURSOR);
19993
10.9k
  yych = *++YYCURSOR;
19994
10.9k
  if (yych <= '/') goto yy290;
19995
10.3k
  if (yych <= '9') goto yy1068;
19996
256
  goto yy290;
19997
25.0k
yy953:
19998
25.0k
  YYDEBUG(953, *YYCURSOR);
19999
25.0k
  yych = *++YYCURSOR;
20000
25.0k
  if (yych <= '/') goto yy59;
20001
21.0k
  if (yych <= '9') goto yy1069;
20002
1.88k
  goto yy59;
20003
593k
yy954:
20004
593k
  YYDEBUG(954, *YYCURSOR);
20005
593k
  ++YYCURSOR;
20006
593k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
20007
593k
  yych = *YYCURSOR;
20008
616k
yy955:
20009
616k
  YYDEBUG(955, *YYCURSOR);
20010
616k
  if (yybm[0+yych] & 128) {
20011
293k
    goto yy954;
20012
293k
  }
20013
322k
  if (yych <= '.') {
20014
170k
    if (yych == '-') goto yy297;
20015
102k
    goto yy59;
20016
170k
  } else {
20017
152k
    if (yych <= '/') goto yy297;
20018
148k
    if (yych == '_') goto yy297;
20019
135k
    goto yy59;
20020
148k
  }
20021
113k
yy956:
20022
113k
  YYDEBUG(956, *YYCURSOR);
20023
113k
  yych = *++YYCURSOR;
20024
113k
  if (yych == ' ') goto yy1071;
20025
10.6k
  goto yy59;
20026
10.6k
yy957:
20027
9.12k
  YYDEBUG(957, *YYCURSOR);
20028
9.12k
  yych = *++YYCURSOR;
20029
9.12k
  if (yych == 'R') goto yy973;
20030
7.10k
  if (yych == 'r') goto yy973;
20031
4.53k
  goto yy59;
20032
14.7k
yy958:
20033
14.7k
  YYDEBUG(958, *YYCURSOR);
20034
14.7k
  yych = *++YYCURSOR;
20035
14.7k
  if (yych == 'R') goto yy973;
20036
12.9k
  if (yych == 'r') goto yy974;
20037
3.53k
  goto yy955;
20038
38.4k
yy959:
20039
38.4k
  YYDEBUG(959, *YYCURSOR);
20040
38.4k
  yych = *++YYCURSOR;
20041
38.4k
  if (yych == 'E') goto yy1072;
20042
23.8k
  if (yych == 'e') goto yy1072;
20043
12.6k
  goto yy59;
20044
55.8k
yy960:
20045
55.8k
  YYDEBUG(960, *YYCURSOR);
20046
55.8k
  ++YYCURSOR;
20047
55.8k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
20048
55.8k
  yych = *YYCURSOR;
20049
55.8k
  if (yych <= 'c') {
20050
22.0k
    if (yych <= 'M') {
20051
9.39k
      if (yych <= 'F') {
20052
6.02k
        if (yych == 'D') goto yy856;
20053
4.40k
        if (yych <= 'E') goto yy59;
20054
952
        goto yy857;
20055
4.40k
      } else {
20056
3.37k
        if (yych == 'H') goto yy858;
20057
2.65k
        if (yych <= 'L') goto yy59;
20058
1.73k
        goto yy859;
20059
2.65k
      }
20060
12.6k
    } else {
20061
12.6k
      if (yych <= 'U') {
20062
6.22k
        if (yych <= 'R') goto yy59;
20063
3.35k
        if (yych <= 'S') goto yy860;
20064
2.27k
        if (yych <= 'T') goto yy861;
20065
2.13k
        goto yy862;
20066
6.42k
      } else {
20067
6.42k
        if (yych <= 'W') {
20068
1.83k
          if (yych <= 'V') goto yy59;
20069
1.12k
          goto yy959;
20070
4.58k
        } else {
20071
4.58k
          if (yych == 'Y') goto yy864;
20072
3.96k
          goto yy59;
20073
4.58k
        }
20074
6.42k
      }
20075
12.6k
    }
20076
33.8k
  } else {
20077
33.8k
    if (yych <= 's') {
20078
10.3k
      if (yych <= 'g') {
20079
2.48k
        if (yych <= 'd') goto yy856;
20080
1.75k
        if (yych == 'f') goto yy857;
20081
819
        goto yy59;
20082
7.85k
      } else {
20083
7.85k
        if (yych <= 'l') {
20084
2.70k
          if (yych <= 'h') goto yy858;
20085
1.30k
          goto yy59;
20086
5.15k
        } else {
20087
5.15k
          if (yych <= 'm') goto yy859;
20088
2.92k
          if (yych <= 'r') goto yy59;
20089
2.55k
          goto yy860;
20090
2.92k
        }
20091
7.85k
      }
20092
23.4k
    } else {
20093
23.4k
      if (yych <= 'w') {
20094
5.79k
        if (yych <= 't') goto yy861;
20095
4.85k
        if (yych <= 'u') goto yy862;
20096
1.57k
        if (yych <= 'v') goto yy59;
20097
982
        goto yy959;
20098
17.6k
      } else {
20099
17.6k
        if (yych <= 'y') {
20100
3.89k
          if (yych <= 'x') goto yy59;
20101
3.05k
          goto yy864;
20102
13.7k
        } else {
20103
13.7k
          if (yych == 0xC2) goto yy1073;
20104
2.61k
          goto yy59;
20105
13.7k
        }
20106
17.6k
      }
20107
23.4k
    }
20108
33.8k
  }
20109
50.3k
yy961:
20110
50.3k
  YYDEBUG(961, *YYCURSOR);
20111
50.3k
  ++YYCURSOR;
20112
50.3k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
20113
50.3k
  yych = *YYCURSOR;
20114
50.3k
  if (yych == 0xAF) goto yy1074;
20115
4.73k
  goto yy59;
20116
6.78k
yy962:
20117
6.78k
  YYDEBUG(962, *YYCURSOR);
20118
6.78k
  yych = *++YYCURSOR;
20119
6.78k
  if (yych == 'H') goto yy1001;
20120
5.24k
  if (yych == 'h') goto yy1001;
20121
2.07k
  goto yy59;
20122
8.08k
yy963:
20123
8.08k
  YYDEBUG(963, *YYCURSOR);
20124
8.08k
  yych = *++YYCURSOR;
20125
8.08k
  if (yych == 'H') goto yy1001;
20126
3.20k
  if (yych == 'h') goto yy1004;
20127
1.28k
  goto yy955;
20128
4.65k
yy964:
20129
4.65k
  YYDEBUG(964, *YYCURSOR);
20130
4.65k
  yych = *++YYCURSOR;
20131
4.65k
  if (yych == 'Y') goto yy973;
20132
3.13k
  if (yych == 'y') goto yy973;
20133
1.77k
  goto yy59;
20134
18.0k
yy965:
20135
18.0k
  YYDEBUG(965, *YYCURSOR);
20136
18.0k
  ++YYCURSOR;
20137
18.0k
  goto yy315;
20138
4.37k
yy966:
20139
4.37k
  YYDEBUG(966, *YYCURSOR);
20140
4.37k
  yych = *++YYCURSOR;
20141
4.37k
  if (yych == 'Y') goto yy973;
20142
3.08k
  if (yych == 'y') goto yy974;
20143
512
  goto yy955;
20144
5.89k
yy967:
20145
5.89k
  YYDEBUG(967, *YYCURSOR);
20146
5.89k
  yyaccept = 9;
20147
5.89k
  yych = *(YYMARKER = ++YYCURSOR);
20148
5.89k
  if (yybm[0+yych] & 128) {
20149
2.35k
    goto yy954;
20150
2.35k
  }
20151
3.54k
  if (yych <= '.') {
20152
1.14k
    if (yych == '-') goto yy297;
20153
639
    goto yy315;
20154
2.40k
  } else {
20155
2.40k
    if (yych <= '/') goto yy297;
20156
2.29k
    if (yych == '_') goto yy297;
20157
2.06k
    goto yy315;
20158
2.29k
  }
20159
28.2k
yy968:
20160
28.2k
  YYDEBUG(968, *YYCURSOR);
20161
28.2k
  yych = *++YYCURSOR;
20162
28.2k
  if (yych <= '/') goto yy20;
20163
24.8k
  if (yych <= '9') goto yy1075;
20164
3.23k
  goto yy20;
20165
129k
yy969:
20166
129k
  YYDEBUG(969, *YYCURSOR);
20167
129k
  yych = *++YYCURSOR;
20168
129k
  if (yych <= '/') goto yy59;
20169
125k
  if (yych <= '5') goto yy1076;
20170
21.0k
  if (yych <= '6') goto yy1077;
20171
4.92k
  if (yych <= '9') goto yy1078;
20172
3.26k
  goto yy59;
20173
326k
yy970:
20174
326k
  YYDEBUG(970, *YYCURSOR);
20175
326k
  yych = *++YYCURSOR;
20176
326k
  if (yych <= '/') goto yy59;
20177
315k
  if (yych <= '5') goto yy1079;
20178
40.3k
  if (yych <= '6') goto yy1080;
20179
6.85k
  if (yych <= '9') goto yy1078;
20180
5.39k
  goto yy59;
20181
278k
yy971:
20182
278k
  YYDEBUG(971, *YYCURSOR);
20183
278k
  yyaccept = 20;
20184
278k
  yych = *(YYMARKER = ++YYCURSOR);
20185
278k
  if (yych <= 'A') {
20186
233k
    if (yych <= '-') {
20187
20.8k
      if (yych <= '\t') {
20188
5.26k
        if (yych <= 0x08) goto yy849;
20189
3.34k
        goto yy1081;
20190
15.5k
      } else {
20191
15.5k
        if (yych == ' ') goto yy1081;
20192
5.16k
        goto yy849;
20193
15.5k
      }
20194
212k
    } else {
20195
212k
      if (yych <= '9') {
20196
12.2k
        if (yych <= '.') goto yy970;
20197
9.00k
        goto yy849;
20198
200k
      } else {
20199
200k
        if (yych <= ':') goto yy970;
20200
7.65k
        if (yych <= '@') goto yy849;
20201
6.59k
        goto yy1083;
20202
7.65k
      }
20203
212k
    }
20204
233k
  } else {
20205
44.9k
    if (yych <= 'o') {
20206
13.4k
      if (yych <= 'P') {
20207
10.2k
        if (yych <= 'O') goto yy849;
20208
4.57k
        goto yy1083;
20209
10.2k
      } else {
20210
3.23k
        if (yych == 'a') goto yy1083;
20211
2.07k
        goto yy849;
20212
3.23k
      }
20213
31.4k
    } else {
20214
31.4k
      if (yych <= 0xC2) {
20215
15.3k
        if (yych <= 'p') goto yy1083;
20216
15.0k
        if (yych <= 0xC1) goto yy849;
20217
12.5k
        goto yy1084;
20218
16.1k
      } else {
20219
16.1k
        if (yych == 0xE2) goto yy1085;
20220
2.18k
        goto yy849;
20221
16.1k
      }
20222
31.4k
    }
20223
44.9k
  }
20224
24.8k
yy972:
20225
24.8k
  YYDEBUG(972, *YYCURSOR);
20226
24.8k
  ++YYCURSOR;
20227
24.8k
  goto yy325;
20228
27.0k
yy973:
20229
27.0k
  YYDEBUG(973, *YYCURSOR);
20230
27.0k
  yyaccept = 7;
20231
27.0k
  yych = *(YYMARKER = ++YYCURSOR);
20232
27.0k
  if (yych <= ' ') {
20233
3.71k
    if (yych == '\t') goto yy142;
20234
3.35k
    if (yych <= 0x1F) goto yy295;
20235
1.57k
    goto yy142;
20236
23.3k
  } else {
20237
23.3k
    if (yych <= '.') {
20238
1.92k
      if (yych <= ',') goto yy295;
20239
446
      goto yy142;
20240
21.3k
    } else {
20241
21.3k
      if (yych <= '/') goto yy295;
20242
19.9k
      if (yych <= '9') goto yy142;
20243
17.8k
      goto yy295;
20244
19.9k
    }
20245
23.3k
  }
20246
20.4k
yy974:
20247
20.4k
  YYDEBUG(974, *YYCURSOR);
20248
20.4k
  yyaccept = 7;
20249
20.4k
  yych = *(YYMARKER = ++YYCURSOR);
20250
20.4k
  if (yybm[0+yych] & 128) {
20251
1.02k
    goto yy954;
20252
1.02k
  }
20253
19.4k
  if (yych <= '-') {
20254
10.7k
    if (yych <= 0x1F) {
20255
1.37k
      if (yych == '\t') goto yy142;
20256
707
      goto yy295;
20257
9.39k
    } else {
20258
9.39k
      if (yych <= ' ') goto yy142;
20259
5.48k
      if (yych <= ',') goto yy295;
20260
2.74k
      goto yy700;
20261
5.48k
    }
20262
10.7k
  } else {
20263
8.69k
    if (yych <= '9') {
20264
5.46k
      if (yych == '/') goto yy297;
20265
5.30k
      goto yy142;
20266
5.46k
    } else {
20267
3.23k
      if (yych == '_') goto yy297;
20268
2.71k
      goto yy295;
20269
3.23k
    }
20270
8.69k
  }
20271
11.6k
yy975:
20272
11.6k
  YYDEBUG(975, *YYCURSOR);
20273
11.6k
  yych = *++YYCURSOR;
20274
11.6k
  if (yych == 'Y') goto yy1086;
20275
9.54k
  if (yych == 'y') goto yy1086;
20276
4.80k
  goto yy59;
20277
21.1k
yy976:
20278
21.1k
  YYDEBUG(976, *YYCURSOR);
20279
21.1k
  yych = *++YYCURSOR;
20280
21.1k
  if (yych == 'R') goto yy1087;
20281
3.06k
  if (yych == 'r') goto yy1087;
20282
2.34k
  goto yy59;
20283
11.3k
yy977:
20284
11.3k
  YYDEBUG(977, *YYCURSOR);
20285
11.3k
  yych = *++YYCURSOR;
20286
11.3k
  if (yych == 'I') goto yy1088;
20287
10.0k
  if (yych == 'i') goto yy1088;
20288
5.44k
  goto yy59;
20289
5.44k
yy978:
20290
1.51k
  YYDEBUG(978, *YYCURSOR);
20291
1.51k
  yych = *++YYCURSOR;
20292
1.51k
  if (yych == 'U') goto yy1089;
20293
1.23k
  if (yych == 'u') goto yy1089;
20294
1.13k
  goto yy59;
20295
38.6k
yy979:
20296
38.6k
  YYDEBUG(979, *YYCURSOR);
20297
38.6k
  yych = *++YYCURSOR;
20298
38.6k
  if (yych <= 'N') {
20299
20.9k
    if (yych <= 'K') {
20300
10.4k
      if (yych == 'C') goto yy1090;
20301
7.40k
      goto yy59;
20302
10.4k
    } else {
20303
10.4k
      if (yych <= 'L') goto yy1091;
20304
6.10k
      if (yych <= 'M') goto yy59;
20305
5.26k
      goto yy1092;
20306
6.10k
    }
20307
20.9k
  } else {
20308
17.7k
    if (yych <= 'k') {
20309
7.77k
      if (yych == 'c') goto yy1090;
20310
2.82k
      goto yy59;
20311
9.96k
    } else {
20312
9.96k
      if (yych <= 'l') goto yy1091;
20313
8.63k
      if (yych == 'n') goto yy1092;
20314
1.85k
      goto yy59;
20315
8.63k
    }
20316
17.7k
  }
20317
33.2k
yy980:
20318
33.2k
  YYDEBUG(980, *YYCURSOR);
20319
33.2k
  yych = *++YYCURSOR;
20320
33.2k
  if (yych == 'N') goto yy1093;
20321
25.3k
  if (yych == 'n') goto yy1093;
20322
4.50k
  goto yy59;
20323
5.69k
yy981:
20324
5.69k
  YYDEBUG(981, *YYCURSOR);
20325
5.69k
  yyaccept = 24;
20326
5.69k
  yych = *(YYMARKER = ++YYCURSOR);
20327
5.69k
  if (yych == 'E') goto yy1094;
20328
4.22k
  if (yych == 'e') goto yy1094;
20329
196k
yy982:
20330
196k
  YYDEBUG(982, *YYCURSOR);
20331
196k
#line 1872 "ext/date/lib/parse_date.re"
20332
196k
  {
20333
196k
    timelib_sll i;
20334
196k
    int         behavior = 0;
20335
196k
    DEBUG_OUTPUT("relativetext");
20336
196k
    TIMELIB_INIT;
20337
196k
    TIMELIB_HAVE_RELATIVE();
20338
20339
393k
    while(*ptr) {
20340
196k
      i = timelib_get_relative_text(&ptr, &behavior);
20341
196k
      timelib_eat_spaces(&ptr);
20342
196k
      timelib_set_relative(&ptr, i, behavior, s, TIMELIB_TIME_PART_DONT_KEEP);
20343
196k
    }
20344
196k
    TIMELIB_DEINIT;
20345
196k
    return TIMELIB_RELATIVE;
20346
4.22k
  }
20347
0
#line 20348 "ext/date/lib/parse_date.c"
20348
26.5k
yy983:
20349
26.5k
  YYDEBUG(983, *YYCURSOR);
20350
26.5k
  yych = *++YYCURSOR;
20351
26.5k
  if (yych == 'T') goto yy1095;
20352
20.5k
  if (yych == 't') goto yy1095;
20353
4.87k
  goto yy59;
20354
19.0k
yy984:
20355
19.0k
  YYDEBUG(984, *YYCURSOR);
20356
19.0k
  yych = *++YYCURSOR;
20357
19.0k
  if (yych == 'C') goto yy1096;
20358
13.8k
  if (yych == 'c') goto yy1096;
20359
3.71k
  goto yy59;
20360
16.7k
yy985:
20361
16.7k
  YYDEBUG(985, *YYCURSOR);
20362
16.7k
  yych = *++YYCURSOR;
20363
16.7k
  if (yych == 'N') goto yy1088;
20364
10.3k
  if (yych == 'n') goto yy1088;
20365
2.90k
  goto yy59;
20366
19.9k
yy986:
20367
19.9k
  YYDEBUG(986, *YYCURSOR);
20368
19.9k
  yych = *++YYCURSOR;
20369
19.9k
  if (yych == 'U') goto yy1097;
20370
8.93k
  if (yych == 'u') goto yy1097;
20371
5.36k
  goto yy59;
20372
26.1k
yy987:
20373
26.1k
  YYDEBUG(987, *YYCURSOR);
20374
26.1k
  yych = *++YYCURSOR;
20375
26.1k
  if (yych == 'E') goto yy1098;
20376
12.4k
  if (yych == 'e') goto yy1098;
20377
2.04k
  goto yy59;
20378
7.09k
yy988:
20379
7.09k
  YYDEBUG(988, *YYCURSOR);
20380
7.09k
  yych = *++YYCURSOR;
20381
7.09k
  if (yych == 'E') goto yy1094;
20382
5.03k
  if (yych == 'e') goto yy1094;
20383
2.06k
  goto yy59;
20384
60.6k
yy989:
20385
60.6k
  YYDEBUG(989, *YYCURSOR);
20386
60.6k
  yych = *++YYCURSOR;
20387
60.6k
  if (yych <= 'E') {
20388
7.95k
    if (yych <= 'C') goto yy59;
20389
4.27k
    if (yych <= 'D') goto yy1099;
20390
1.20k
    goto yy1100;
20391
52.6k
  } else {
20392
52.6k
    if (yych <= 'c') goto yy59;
20393
50.4k
    if (yych <= 'd') goto yy1099;
20394
27.3k
    if (yych <= 'e') goto yy1100;
20395
5.80k
    goto yy59;
20396
27.3k
  }
20397
8.34k
yy990:
20398
8.34k
  YYDEBUG(990, *YYCURSOR);
20399
8.34k
  yych = *++YYCURSOR;
20400
8.34k
  if (yych == 'A') goto yy1089;
20401
7.26k
  if (yych == 'a') goto yy1089;
20402
4.35k
  goto yy59;
20403
4.35k
yy991:
20404
4.22k
  YYDEBUG(991, *YYCURSOR);
20405
4.22k
  yych = *++YYCURSOR;
20406
4.22k
  if (yych == 'S') goto yy981;
20407
3.54k
  if (yych == 's') goto yy981;
20408
1.94k
  goto yy59;
20409
20.7k
yy992:
20410
20.7k
  YYDEBUG(992, *YYCURSOR);
20411
20.7k
  yych = *++YYCURSOR;
20412
20.7k
  if (yych == 'Y') goto yy1101;
20413
16.2k
  if (yych == 'y') goto yy1101;
20414
9.44k
  goto yy59;
20415
21.8k
yy993:
20416
21.8k
  YYDEBUG(993, *YYCURSOR);
20417
21.8k
  ++YYCURSOR;
20418
21.8k
  if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
20419
21.8k
  yych = *YYCURSOR;
20420
21.8k
  if (yych == 0xA0) goto yy867;
20421
3.11k
  if (yych == 0xB5) goto yy991;
20422
2.51k
  goto yy59;
20423
66.1k
yy994:
20424
66.1k
  YYDEBUG(994, *YYCURSOR);
20425
66.1k
  ++YYCURSOR;
20426
66.1k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
20427
66.1k
  yych = *YYCURSOR;
20428
66.1k
  if (yych <= 'd') {
20429
27.2k
    if (yych <= 'R') {
20430
16.5k
      if (yych <= 'F') {
20431
3.71k
        if (yych == 'D') goto yy856;
20432
3.08k
        if (yych <= 'E') goto yy59;
20433
1.61k
        goto yy857;
20434
12.8k
      } else {
20435
12.8k
        if (yych <= 'H') {
20436
6.64k
          if (yych <= 'G') goto yy59;
20437
2.39k
          goto yy858;
20438
6.64k
        } else {
20439
6.20k
          if (yych == 'M') goto yy859;
20440
4.80k
          goto yy59;
20441
6.20k
        }
20442
12.8k
      }
20443
16.5k
    } else {
20444
10.7k
      if (yych <= 'V') {
20445
4.27k
        if (yych <= 'S') goto yy860;
20446
4.14k
        if (yych <= 'T') goto yy861;
20447
3.11k
        if (yych <= 'U') goto yy862;
20448
1.90k
        goto yy59;
20449
6.45k
      } else {
20450
6.45k
        if (yych <= 'X') {
20451
1.74k
          if (yych <= 'W') goto yy863;
20452
1.27k
          goto yy59;
20453
4.70k
        } else {
20454
4.70k
          if (yych <= 'Y') goto yy864;
20455
2.92k
          if (yych <= 'c') goto yy59;
20456
882
          goto yy856;
20457
2.92k
        }
20458
6.45k
      }
20459
10.7k
    }
20460
38.8k
  } else {
20461
38.8k
    if (yych <= 't') {
20462
16.2k
      if (yych <= 'h') {
20463
2.05k
        if (yych == 'f') goto yy857;
20464
1.46k
        if (yych <= 'g') goto yy59;
20465
786
        goto yy858;
20466
14.2k
      } else {
20467
14.2k
        if (yych <= 'm') {
20468
2.57k
          if (yych <= 'l') goto yy59;
20469
726
          goto yy859;
20470
11.6k
        } else {
20471
11.6k
          if (yych <= 'r') goto yy59;
20472
9.71k
          if (yych <= 's') goto yy860;
20473
2.69k
          goto yy861;
20474
9.71k
        }
20475
14.2k
      }
20476
22.6k
    } else {
20477
22.6k
      if (yych <= 'y') {
20478
8.09k
        if (yych <= 'v') {
20479
3.42k
          if (yych <= 'u') goto yy862;
20480
1.65k
          goto yy59;
20481
4.67k
        } else {
20482
4.67k
          if (yych <= 'w') goto yy863;
20483
1.53k
          if (yych <= 'x') goto yy59;
20484
516
          goto yy864;
20485
1.53k
        }
20486
14.5k
      } else {
20487
14.5k
        if (yych <= 0xC2) {
20488
4.80k
          if (yych <= 0xC1) goto yy59;
20489
3.11k
          goto yy865;
20490
9.70k
        } else {
20491
9.70k
          if (yych == 0xE2) goto yy705;
20492
1.86k
          goto yy59;
20493
9.70k
        }
20494
14.5k
      }
20495
22.6k
    }
20496
38.8k
  }
20497
7.58k
yy995:
20498
7.58k
  YYDEBUG(995, *YYCURSOR);
20499
7.58k
  yych = *++YYCURSOR;
20500
7.58k
  if (yych == 'T') goto yy1102;
20501
5.65k
  if (yych == 't') goto yy1102;
20502
3.20k
  goto yy59;
20503
5.41k
yy996:
20504
5.41k
  YYDEBUG(996, *YYCURSOR);
20505
5.41k
  yych = *++YYCURSOR;
20506
5.41k
  if (yych == 'T') goto yy1102;
20507
4.43k
  if (yych == 't') goto yy1103;
20508
300
  goto yy955;
20509
72.9k
yy997:
20510
72.9k
  YYDEBUG(997, *YYCURSOR);
20511
72.9k
  yych = *++YYCURSOR;
20512
72.9k
  if (yych == 'S') goto yy1104;
20513
71.5k
  if (yych == 's') goto yy1104;
20514
6.77k
  goto yy59;
20515
10.8k
yy998:
20516
10.8k
  YYDEBUG(998, *YYCURSOR);
20517
10.8k
  yych = *++YYCURSOR;
20518
10.8k
  if (yych == 'S') goto yy1104;
20519
9.48k
  if (yych == 's') goto yy1105;
20520
704
  goto yy955;
20521
20.4k
yy999:
20522
20.4k
  YYDEBUG(999, *YYCURSOR);
20523
20.4k
  yych = *++YYCURSOR;
20524
20.4k
  if (yych == 'Y') goto yy1007;
20525
19.4k
  if (yych == 'y') goto yy1007;
20526
6.47k
  goto yy59;
20527
7.13k
yy1000:
20528
7.13k
  YYDEBUG(1000, *YYCURSOR);
20529
7.13k
  yych = *++YYCURSOR;
20530
7.13k
  if (yych == 'E') goto yy957;
20531
5.80k
  if (yych == 'e') goto yy957;
20532
3.02k
  goto yy59;
20533
20.5k
yy1001:
20534
20.5k
  YYDEBUG(1001, *YYCURSOR);
20535
20.5k
  yych = *++YYCURSOR;
20536
20.5k
  if (yych <= ' ') {
20537
9.05k
    if (yych == '\t') goto yy834;
20538
7.71k
    if (yych <= 0x1F) goto yy59;
20539
5.04k
    goto yy834;
20540
11.5k
  } else {
20541
11.5k
    if (yych <= 0xC2) {
20542
10.0k
      if (yych <= 0xC1) goto yy59;
20543
2.58k
      goto yy837;
20544
10.0k
    } else {
20545
1.50k
      if (yych == 0xE2) goto yy838;
20546
541
      goto yy59;
20547
1.50k
    }
20548
11.5k
  }
20549
11.5k
yy1002:
20550
11.5k
  YYDEBUG(1002, *YYCURSOR);
20551
11.5k
  yych = *++YYCURSOR;
20552
11.5k
  if (yych == 'Y') goto yy1007;
20553
9.57k
  if (yych == 'y') goto yy1009;
20554
1.77k
  goto yy955;
20555
7.13k
yy1003:
20556
7.13k
  YYDEBUG(1003, *YYCURSOR);
20557
7.13k
  yych = *++YYCURSOR;
20558
7.13k
  if (yych == 'E') goto yy957;
20559
6.04k
  if (yych == 'e') goto yy958;
20560
702
  goto yy955;
20561
14.6k
yy1004:
20562
14.6k
  YYDEBUG(1004, *YYCURSOR);
20563
14.6k
  yych = *++YYCURSOR;
20564
14.6k
  if (yych <= ' ') {
20565
9.30k
    if (yych == '\t') goto yy834;
20566
3.06k
    if (yych <= 0x1F) goto yy955;
20567
2.40k
    goto yy834;
20568
5.33k
  } else {
20569
5.33k
    if (yych <= 0xC2) {
20570
4.28k
      if (yych <= 0xC1) goto yy955;
20571
1.52k
      goto yy837;
20572
4.28k
    } else {
20573
1.05k
      if (yych == 0xE2) goto yy838;
20574
755
      goto yy955;
20575
1.05k
    }
20576
5.33k
  }
20577
6.90k
yy1005:
20578
6.90k
  YYDEBUG(1005, *YYCURSOR);
20579
6.90k
  ++YYCURSOR;
20580
6.90k
  goto yy777;
20581
4.28k
yy1006:
20582
4.28k
  YYDEBUG(1006, *YYCURSOR);
20583
4.28k
  yych = *++YYCURSOR;
20584
4.28k
  if (yych == 'W') goto yy1106;
20585
3.53k
  if (yych == 'w') goto yy1106;
20586
1.66k
  goto yy59;
20587
27.3k
yy1007:
20588
27.3k
  YYDEBUG(1007, *YYCURSOR);
20589
27.3k
  yych = *++YYCURSOR;
20590
27.3k
  if (yych == 'S') goto yy965;
20591
22.8k
  if (yych == 's') goto yy965;
20592
17.5k
  goto yy315;
20593
17.5k
yy1008:
20594
6.03k
  YYDEBUG(1008, *YYCURSOR);
20595
6.03k
  yych = *++YYCURSOR;
20596
6.03k
  if (yych == 'W') goto yy1106;
20597
5.92k
  if (yych == 'w') goto yy1108;
20598
1.67k
  goto yy955;
20599
19.9k
yy1009:
20600
19.9k
  YYDEBUG(1009, *YYCURSOR);
20601
19.9k
  yyaccept = 9;
20602
19.9k
  yych = *(YYMARKER = ++YYCURSOR);
20603
19.9k
  if (yych <= 'S') {
20604
7.88k
    if (yych <= '.') {
20605
3.16k
      if (yych == '-') goto yy297;
20606
2.98k
      goto yy315;
20607
4.72k
    } else {
20608
4.72k
      if (yych <= '/') goto yy297;
20609
3.79k
      if (yych <= 'R') goto yy315;
20610
3.02k
      goto yy965;
20611
3.79k
    }
20612
12.0k
  } else {
20613
12.0k
    if (yych <= '`') {
20614
3.91k
      if (yych == '_') goto yy297;
20615
1.01k
      goto yy315;
20616
8.15k
    } else {
20617
8.15k
      if (yych == 's') goto yy967;
20618
3.88k
      if (yych <= 'z') goto yy954;
20619
2.07k
      goto yy315;
20620
3.88k
    }
20621
12.0k
  }
20622
8.02k
yy1010:
20623
8.02k
  YYDEBUG(1010, *YYCURSOR);
20624
8.02k
  yych = *++YYCURSOR;
20625
8.02k
  if (yych == 'A') goto yy999;
20626
5.21k
  if (yych == 'a') goto yy999;
20627
3.70k
  goto yy59;
20628
14.5k
yy1011:
20629
14.5k
  YYDEBUG(1011, *YYCURSOR);
20630
14.5k
  yych = *++YYCURSOR;
20631
14.5k
  if (yych == 'A') goto yy999;
20632
9.49k
  if (yych == 'a') goto yy1002;
20633
1.19k
  goto yy955;
20634
11.5k
yy1012:
20635
11.5k
  YYDEBUG(1012, *YYCURSOR);
20636
11.5k
  yych = *++YYCURSOR;
20637
11.5k
  if (yych == 'A') goto yy1109;
20638
9.43k
  if (yych == 'a') goto yy1109;
20639
4.28k
  goto yy59;
20640
7.98k
yy1013:
20641
7.98k
  YYDEBUG(1013, *YYCURSOR);
20642
7.98k
  yych = *++YYCURSOR;
20643
7.98k
  if (yych == 'A') goto yy1109;
20644
7.48k
  if (yych == 'a') goto yy1110;
20645
1.82k
  goto yy955;
20646
53.2k
yy1014:
20647
53.2k
  YYDEBUG(1014, *YYCURSOR);
20648
53.2k
  yych = *++YYCURSOR;
20649
53.2k
  if (yych == '-') goto yy1111;
20650
21.2k
  goto yy59;
20651
21.2k
yy1015:
20652
19.8k
  YYDEBUG(1015, *YYCURSOR);
20653
19.8k
  yych = *++YYCURSOR;
20654
19.8k
  if (yych <= '/') goto yy59;
20655
17.5k
  if (yych <= '9') goto yy1112;
20656
2.51k
  goto yy59;
20657
28.5k
yy1016:
20658
28.5k
  YYDEBUG(1016, *YYCURSOR);
20659
28.5k
  yych = *++YYCURSOR;
20660
28.5k
  if (yych <= '/') goto yy59;
20661
23.3k
  if (yych <= '2') goto yy1112;
20662
12.6k
  goto yy59;
20663
295k
yy1017:
20664
295k
  YYDEBUG(1017, *YYCURSOR);
20665
295k
  yych = *++YYCURSOR;
20666
295k
  if (yych <= '9') {
20667
260k
    if (yych == '-') goto yy893;
20668
245k
    if (yych <= '/') goto yy196;
20669
229k
    goto yy1113;
20670
245k
  } else {
20671
34.8k
    if (yych <= 0xC2) {
20672
27.0k
      if (yych <= 0xC1) goto yy196;
20673
2.42k
      goto yy97;
20674
27.0k
    } else {
20675
7.87k
      if (yych == 0xE2) goto yy98;
20676
5.51k
      goto yy196;
20677
7.87k
    }
20678
34.8k
  }
20679
22.9k
yy1018:
20680
22.9k
  YYDEBUG(1018, *YYCURSOR);
20681
22.9k
  yych = *++YYCURSOR;
20682
22.9k
  if (yych <= '/') goto yy59;
20683
21.2k
  if (yych <= '9') goto yy115;
20684
6.02k
  goto yy59;
20685
7.66k
yy1019:
20686
7.66k
  YYDEBUG(1019, *YYCURSOR);
20687
7.66k
  yych = *++YYCURSOR;
20688
7.66k
  if (yych == '0') goto yy115;
20689
3.94k
  goto yy59;
20690
27.0k
yy1020:
20691
27.0k
  YYDEBUG(1020, *YYCURSOR);
20692
27.0k
  ++YYCURSOR;
20693
27.0k
  YYDEBUG(1021, *YYCURSOR);
20694
27.0k
#line 1578 "ext/date/lib/parse_date.re"
20695
27.0k
  {
20696
27.0k
    DEBUG_OUTPUT("pointed date YYYY");
20697
27.0k
    TIMELIB_INIT;
20698
27.0k
    TIMELIB_HAVE_DATE();
20699
5.98k
    s->time->d = timelib_get_nr(&ptr, 2);
20700
5.98k
    s->time->m = timelib_get_nr(&ptr, 2);
20701
5.98k
    s->time->y = timelib_get_nr(&ptr, 4);
20702
5.98k
    TIMELIB_DEINIT;
20703
5.98k
    return TIMELIB_DATE_FULL_POINTED;
20704
27.0k
  }
20705
0
#line 20706 "ext/date/lib/parse_date.c"
20706
7.95k
yy1022:
20707
7.95k
  YYDEBUG(1022, *YYCURSOR);
20708
7.95k
  ++YYCURSOR;
20709
7.95k
  goto yy224;
20710
150k
yy1023:
20711
150k
  YYDEBUG(1023, *YYCURSOR);
20712
150k
  yych = *++YYCURSOR;
20713
150k
  if (yych <= '/') goto yy59;
20714
145k
  if (yych <= '9') goto yy1114;
20715
6.00k
  goto yy59;
20716
16.4k
yy1024:
20717
16.4k
  YYDEBUG(1024, *YYCURSOR);
20718
16.4k
  yyaccept = 25;
20719
16.4k
  yych = *(YYMARKER = ++YYCURSOR);
20720
16.4k
  if (yych <= 'n') {
20721
10.6k
    if (yych <= '/') goto yy1025;
20722
9.35k
    if (yych <= '9') goto yy897;
20723
7.02k
    if (yych >= 'n') goto yy741;
20724
7.02k
  } else {
20725
5.84k
    if (yych <= 'r') {
20726
2.64k
      if (yych >= 'r') goto yy741;
20727
3.19k
    } else {
20728
3.19k
      if (yych <= 's') goto yy742;
20729
1.95k
      if (yych <= 't') goto yy743;
20730
1.95k
    }
20731
5.84k
  }
20732
25.7k
yy1025:
20733
25.7k
  YYDEBUG(1025, *YYCURSOR);
20734
25.7k
#line 1509 "ext/date/lib/parse_date.re"
20735
25.7k
  {
20736
25.7k
    int length = 0;
20737
25.7k
    DEBUG_OUTPUT("iso8601date2");
20738
25.7k
    TIMELIB_INIT;
20739
25.7k
    TIMELIB_HAVE_DATE();
20740
2.95k
    s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
20741
2.95k
    s->time->m = timelib_get_nr(&ptr, 2);
20742
2.95k
    s->time->d = timelib_get_nr(&ptr, 2);
20743
2.95k
    TIMELIB_PROCESS_YEAR(s->time->y, length);
20744
2.95k
    TIMELIB_DEINIT;
20745
2.95k
    return TIMELIB_ISO_DATE;
20746
25.7k
  }
20747
0
#line 20748 "ext/date/lib/parse_date.c"
20748
31.0k
yy1026:
20749
31.0k
  YYDEBUG(1026, *YYCURSOR);
20750
31.0k
  yyaccept = 15;
20751
31.0k
  yych = *(YYMARKER = ++YYCURSOR);
20752
31.0k
  if (yych <= 'm') {
20753
22.6k
    if (yych <= '9') {
20754
15.0k
      if (yych <= '/') goto yy567;
20755
13.4k
      goto yy1028;
20756
15.0k
    } else {
20757
7.61k
      if (yych == 'T') goto yy1115;
20758
6.27k
      goto yy567;
20759
7.61k
    }
20760
22.6k
  } else {
20761
8.37k
    if (yych <= 'r') {
20762
4.17k
      if (yych <= 'n') goto yy1116;
20763
2.52k
      if (yych <= 'q') goto yy567;
20764
2.31k
      goto yy1116;
20765
4.20k
    } else {
20766
4.20k
      if (yych <= 's') goto yy1117;
20767
3.04k
      if (yych <= 't') goto yy1118;
20768
1.78k
      goto yy567;
20769
3.04k
    }
20770
8.37k
  }
20771
21.3k
yy1027:
20772
21.3k
  YYDEBUG(1027, *YYCURSOR);
20773
21.3k
  yyaccept = 15;
20774
21.3k
  yych = *(YYMARKER = ++YYCURSOR);
20775
21.3k
  if (yych <= 'm') {
20776
16.8k
    if (yych <= '1') {
20777
10.6k
      if (yych <= '/') goto yy567;
20778
10.6k
    } else {
20779
6.19k
      if (yych == 'T') goto yy1115;
20780
5.17k
      goto yy567;
20781
6.19k
    }
20782
16.8k
  } else {
20783
4.59k
    if (yych <= 'r') {
20784
2.08k
      if (yych <= 'n') goto yy1116;
20785
1.74k
      if (yych <= 'q') goto yy567;
20786
177
      goto yy1116;
20787
2.50k
    } else {
20788
2.50k
      if (yych <= 's') goto yy1117;
20789
1.37k
      if (yych <= 't') goto yy1118;
20790
973
      goto yy567;
20791
1.37k
    }
20792
4.59k
  }
20793
26.4k
yy1028:
20794
26.4k
  YYDEBUG(1028, *YYCURSOR);
20795
26.4k
  yyaccept = 15;
20796
26.4k
  yych = *(YYMARKER = ++YYCURSOR);
20797
26.4k
  if (yych <= 'n') {
20798
21.9k
    if (yych == 'T') goto yy1115;
20799
10.3k
    if (yych <= 'm') goto yy567;
20800
1.55k
    goto yy1116;
20801
10.3k
  } else {
20802
4.51k
    if (yych <= 'r') {
20803
1.22k
      if (yych <= 'q') goto yy567;
20804
744
      goto yy1116;
20805
3.29k
    } else {
20806
3.29k
      if (yych <= 's') goto yy1117;
20807
2.03k
      if (yych <= 't') goto yy1118;
20808
828
      goto yy567;
20809
2.03k
    }
20810
4.51k
  }
20811
171k
yy1029:
20812
171k
  YYDEBUG(1029, *YYCURSOR);
20813
171k
  yych = *++YYCURSOR;
20814
171k
  if (yych <= '/') goto yy59;
20815
167k
  if (yych <= '2') goto yy1119;
20816
36.1k
  if (yych <= '3') goto yy1120;
20817
8.65k
  if (yych <= '9') goto yy1028;
20818
5.33k
  goto yy59;
20819
25.3k
yy1030:
20820
25.3k
  YYDEBUG(1030, *YYCURSOR);
20821
25.3k
  ++YYCURSOR;
20822
25.3k
  goto yy926;
20823
11.3k
yy1031:
20824
11.3k
  YYDEBUG(1031, *YYCURSOR);
20825
11.3k
  yyaccept = 22;
20826
11.3k
  yych = *(YYMARKER = ++YYCURSOR);
20827
11.3k
  if (yych <= 'H') {
20828
5.12k
    if (yych == '-') goto yy951;
20829
1.46k
    goto yy600;
20830
6.26k
  } else {
20831
6.26k
    if (yych <= 'I') goto yy1051;
20832
5.98k
    if (yych == 'i') goto yy1051;
20833
3.08k
    goto yy600;
20834
5.98k
  }
20835
9.94k
yy1032:
20836
9.94k
  YYDEBUG(1032, *YYCURSOR);
20837
9.94k
  yyaccept = 22;
20838
9.94k
  yych = *(YYMARKER = ++YYCURSOR);
20839
9.94k
  if (yych <= 'T') {
20840
2.46k
    if (yych == '-') goto yy951;
20841
1.42k
    goto yy600;
20842
7.48k
  } else {
20843
7.48k
    if (yych <= 'U') goto yy1052;
20844
5.89k
    if (yych == 'u') goto yy1052;
20845
1.66k
    goto yy600;
20846
5.89k
  }
20847
19.8k
yy1033:
20848
19.8k
  YYDEBUG(1033, *YYCURSOR);
20849
19.8k
  yyaccept = 22;
20850
19.8k
  yych = *(YYMARKER = ++YYCURSOR);
20851
19.8k
  if (yych <= 'D') {
20852
10.7k
    if (yych == '-') goto yy951;
20853
5.95k
    goto yy600;
20854
10.7k
  } else {
20855
9.04k
    if (yych <= 'E') goto yy1053;
20856
2.41k
    if (yych == 'e') goto yy1053;
20857
1.90k
    goto yy600;
20858
2.41k
  }
20859
12.7k
yy1034:
20860
12.7k
  YYDEBUG(1034, *YYCURSOR);
20861
12.7k
  yyaccept = 22;
20862
12.7k
  yych = *(YYMARKER = ++YYCURSOR);
20863
12.7k
  if (yych <= 'Q') {
20864
3.16k
    if (yych == '-') goto yy951;
20865
2.86k
    goto yy600;
20866
9.54k
  } else {
20867
9.54k
    if (yych <= 'R') goto yy1054;
20868
8.36k
    if (yych == 'r') goto yy1054;
20869
989
    goto yy600;
20870
8.36k
  }
20871
3.48k
yy1035:
20872
3.48k
  YYDEBUG(1035, *YYCURSOR);
20873
3.48k
  yyaccept = 22;
20874
3.48k
  yych = *(YYMARKER = ++YYCURSOR);
20875
3.48k
  if (yych <= 'T') {
20876
1.91k
    if (yych == '-') goto yy951;
20877
1.22k
    goto yy600;
20878
1.91k
  } else {
20879
1.57k
    if (yych <= 'U') goto yy1055;
20880
791
    if (yych == 'u') goto yy1055;
20881
692
    goto yy600;
20882
791
  }
20883
5.47k
yy1036:
20884
5.47k
  YYDEBUG(1036, *YYCURSOR);
20885
5.47k
  yyaccept = 22;
20886
5.47k
  yych = *(YYMARKER = ++YYCURSOR);
20887
5.47k
  if (yych <= 'X') {
20888
1.98k
    if (yych == '-') goto yy951;
20889
329
    goto yy600;
20890
3.49k
  } else {
20891
3.49k
    if (yych <= 'Y') goto yy790;
20892
2.40k
    if (yych == 'y') goto yy790;
20893
1.77k
    goto yy600;
20894
2.40k
  }
20895
8.91k
yy1037:
20896
8.91k
  YYDEBUG(1037, *YYCURSOR);
20897
8.91k
  yyaccept = 22;
20898
8.91k
  yych = *(YYMARKER = ++YYCURSOR);
20899
8.91k
  if (yych <= 'D') {
20900
4.98k
    if (yych == '-') goto yy951;
20901
4.00k
    goto yy600;
20902
4.98k
  } else {
20903
3.93k
    if (yych <= 'E') goto yy790;
20904
3.03k
    if (yych == 'e') goto yy790;
20905
2.54k
    goto yy600;
20906
3.03k
  }
20907
3.91k
yy1038:
20908
3.91k
  YYDEBUG(1038, *YYCURSOR);
20909
3.91k
  yyaccept = 22;
20910
3.91k
  yych = *(YYMARKER = ++YYCURSOR);
20911
3.91k
  if (yych <= 'B') {
20912
2.01k
    if (yych == '-') goto yy951;
20913
790
    goto yy600;
20914
2.01k
  } else {
20915
1.89k
    if (yych <= 'C') goto yy1056;
20916
1.57k
    if (yych == 'c') goto yy1056;
20917
989
    goto yy600;
20918
1.57k
  }
20919
1.95k
yy1039:
20920
1.95k
  YYDEBUG(1039, *YYCURSOR);
20921
1.95k
  yyaccept = 22;
20922
1.95k
  yych = *(YYMARKER = ++YYCURSOR);
20923
1.95k
  if (yych == '-') goto yy951;
20924
126
  goto yy600;
20925
8.12k
yy1040:
20926
8.12k
  YYDEBUG(1040, *YYCURSOR);
20927
8.12k
  yyaccept = 22;
20928
8.12k
  yych = *(YYMARKER = ++YYCURSOR);
20929
8.12k
  if (yych <= 'N') {
20930
2.22k
    if (yych == '-') goto yy951;
20931
1.32k
    goto yy600;
20932
5.89k
  } else {
20933
5.89k
    if (yych <= 'O') goto yy1057;
20934
5.22k
    if (yych == 'o') goto yy1057;
20935
2.36k
    goto yy600;
20936
5.22k
  }
20937
6.87k
yy1041:
20938
6.87k
  YYDEBUG(1041, *YYCURSOR);
20939
6.87k
  yyaccept = 22;
20940
6.87k
  yych = *(YYMARKER = ++YYCURSOR);
20941
6.87k
  if (yych <= 'S') {
20942
1.77k
    if (yych == '-') goto yy951;
20943
1.33k
    goto yy600;
20944
5.10k
  } else {
20945
5.10k
    if (yych <= 'T') goto yy1033;
20946
2.29k
    if (yych == 't') goto yy1033;
20947
217
    goto yy600;
20948
2.29k
  }
20949
20.5k
yy1042:
20950
20.5k
  YYDEBUG(1042, *YYCURSOR);
20951
20.5k
  yyaccept = 26;
20952
20.5k
  yych = *(YYMARKER = ++YYCURSOR);
20953
20.5k
  if (yych <= 'n') {
20954
9.45k
    if (yych <= '/') goto yy1043;
20955
7.12k
    if (yych <= '9') goto yy1045;
20956
2.05k
    if (yych >= 'n') goto yy1121;
20957
11.1k
  } else {
20958
11.1k
    if (yych <= 'r') {
20959
1.55k
      if (yych >= 'r') goto yy1121;
20960
9.55k
    } else {
20961
9.55k
      if (yych <= 's') goto yy1122;
20962
3.51k
      if (yych <= 't') goto yy1123;
20963
3.51k
    }
20964
11.1k
  }
20965
132k
yy1043:
20966
132k
  YYDEBUG(1043, *YYCURSOR);
20967
132k
#line 1497 "ext/date/lib/parse_date.re"
20968
132k
  {
20969
132k
    DEBUG_OUTPUT("iso8601date4 | iso8601date2 | iso8601dateslash | dateslash");
20970
132k
    TIMELIB_INIT;
20971
132k
    TIMELIB_HAVE_DATE();
20972
8.43k
    s->time->y = timelib_get_signed_nr(s, &ptr, 4);
20973
8.43k
    s->time->m = timelib_get_nr(&ptr, 2);
20974
8.43k
    s->time->d = timelib_get_nr(&ptr, 2);
20975
8.43k
    TIMELIB_DEINIT;
20976
8.43k
    return TIMELIB_ISO_DATE;
20977
132k
  }
20978
0
#line 20979 "ext/date/lib/parse_date.c"
20979
11.6k
yy1044:
20980
11.6k
  YYDEBUG(1044, *YYCURSOR);
20981
11.6k
  yyaccept = 26;
20982
11.6k
  yych = *(YYMARKER = ++YYCURSOR);
20983
11.6k
  if (yych <= 'n') {
20984
7.37k
    if (yych <= '/') goto yy1043;
20985
4.78k
    if (yych <= '1') goto yy1045;
20986
3.36k
    if (yych <= 'm') goto yy1043;
20987
2.25k
    goto yy1121;
20988
4.26k
  } else {
20989
4.26k
    if (yych <= 'r') {
20990
2.14k
      if (yych <= 'q') goto yy1043;
20991
273
      goto yy1121;
20992
2.14k
    } else {
20993
2.12k
      if (yych <= 's') goto yy1122;
20994
1.43k
      if (yych <= 't') goto yy1123;
20995
539
      goto yy1043;
20996
1.43k
    }
20997
4.26k
  }
20998
10.3k
yy1045:
20999
10.3k
  YYDEBUG(1045, *YYCURSOR);
21000
10.3k
  yyaccept = 26;
21001
10.3k
  yych = *(YYMARKER = ++YYCURSOR);
21002
10.3k
  if (yych <= 'q') {
21003
3.30k
    if (yych == 'n') goto yy1121;
21004
2.34k
    goto yy1043;
21005
7.03k
  } else {
21006
7.03k
    if (yych <= 'r') goto yy1121;
21007
6.86k
    if (yych <= 's') goto yy1122;
21008
5.36k
    if (yych <= 't') goto yy1123;
21009
2.23k
    goto yy1043;
21010
5.36k
  }
21011
38.9k
yy1046:
21012
38.9k
  YYDEBUG(1046, *YYCURSOR);
21013
38.9k
  yych = *++YYCURSOR;
21014
38.9k
  if (yych <= '/') goto yy59;
21015
36.7k
  if (yych <= '2') goto yy1124;
21016
14.4k
  if (yych <= '3') goto yy1125;
21017
3.13k
  if (yych <= '9') goto yy1045;
21018
2.56k
  goto yy59;
21019
1.07M
yy1047:
21020
1.07M
  YYDEBUG(1047, *YYCURSOR);
21021
1.07M
  yyaccept = 27;
21022
1.07M
  yych = *(YYMARKER = ++YYCURSOR);
21023
1.07M
  if (yych <= 'X') {
21024
1.01M
    if (yych <= 'F') {
21025
942k
      if (yych <= '/') {
21026
21.4k
        if (yych <= '\t') {
21027
5.60k
          if (yych >= '\t') goto yy195;
21028
15.8k
        } else {
21029
15.8k
          if (yych == ' ') goto yy195;
21030
15.8k
        }
21031
920k
      } else {
21032
920k
        if (yych <= 'C') {
21033
914k
          if (yych <= '9') goto yy1126;
21034
914k
        } else {
21035
6.03k
          if (yych <= 'D') goto yy198;
21036
3.69k
          if (yych >= 'F') goto yy199;
21037
3.69k
        }
21038
920k
      }
21039
942k
    } else {
21040
68.9k
      if (yych <= 'R') {
21041
11.1k
        if (yych <= 'H') {
21042
1.73k
          if (yych >= 'H') goto yy79;
21043
9.36k
        } else {
21044
9.36k
          if (yych == 'M') goto yy200;
21045
9.36k
        }
21046
57.8k
      } else {
21047
57.8k
        if (yych <= 'U') {
21048
53.5k
          if (yych <= 'S') goto yy201;
21049
53.0k
          if (yych <= 'T') goto yy1127;
21050
3.38k
          goto yy88;
21051
53.0k
        } else {
21052
4.22k
          if (yych == 'W') goto yy90;
21053
4.22k
        }
21054
57.8k
      }
21055
68.9k
    }
21056
1.01M
  } else {
21057
59.1k
    if (yych <= 's') {
21058
12.6k
      if (yych <= 'f') {
21059
5.34k
        if (yych <= 'c') {
21060
2.47k
          if (yych <= 'Y') goto yy92;
21061
2.87k
        } else {
21062
2.87k
          if (yych <= 'd') goto yy198;
21063
2.01k
          if (yych >= 'f') goto yy199;
21064
2.01k
        }
21065
7.29k
      } else {
21066
7.29k
        if (yych <= 'l') {
21067
1.46k
          if (yych == 'h') goto yy79;
21068
5.82k
        } else {
21069
5.82k
          if (yych <= 'm') goto yy200;
21070
5.23k
          if (yych >= 's') goto yy201;
21071
5.23k
        }
21072
7.29k
      }
21073
46.5k
    } else {
21074
46.5k
      if (yych <= 'x') {
21075
29.0k
        if (yych <= 'u') {
21076
26.6k
          if (yych <= 't') goto yy1128;
21077
833
          goto yy88;
21078
26.6k
        } else {
21079
2.46k
          if (yych == 'w') goto yy90;
21080
2.46k
        }
21081
29.0k
      } else {
21082
17.4k
        if (yych <= 0xC2) {
21083
9.77k
          if (yych <= 'y') goto yy92;
21084
8.74k
          if (yych >= 0xC2) goto yy97;
21085
8.74k
        } else {
21086
7.66k
          if (yych == 0xE2) goto yy98;
21087
7.66k
        }
21088
17.4k
      }
21089
46.5k
    }
21090
59.1k
  }
21091
1.06M
yy1048:
21092
1.06M
  YYDEBUG(1048, *YYCURSOR);
21093
1.06M
#line 1658 "ext/date/lib/parse_date.re"
21094
1.06M
  {
21095
1.06M
    DEBUG_OUTPUT("datenocolon");
21096
1.06M
    TIMELIB_INIT;
21097
1.06M
    TIMELIB_HAVE_DATE();
21098
21.2k
    s->time->y = timelib_get_nr(&ptr, 4);
21099
21.2k
    s->time->m = timelib_get_nr(&ptr, 2);
21100
21.2k
    s->time->d = timelib_get_nr(&ptr, 2);
21101
21.2k
    TIMELIB_DEINIT;
21102
21.2k
    return TIMELIB_DATE_NOCOLON;
21103
1.06M
  }
21104
0
#line 21105 "ext/date/lib/parse_date.c"
21105
1.55M
yy1049:
21106
1.55M
  YYDEBUG(1049, *YYCURSOR);
21107
1.55M
  yych = *++YYCURSOR;
21108
1.55M
  if (yych <= 0xC1) {
21109
1.52M
    if (yych <= '/') goto yy196;
21110
1.47M
    if (yych <= '9') goto yy1126;
21111
167k
    goto yy196;
21112
1.47M
  } else {
21113
28.3k
    if (yych <= 0xC2) goto yy97;
21114
23.3k
    if (yych == 0xE2) goto yy98;
21115
18.8k
    goto yy196;
21116
23.3k
  }
21117
81.4k
yy1050:
21118
81.4k
  YYDEBUG(1050, *YYCURSOR);
21119
81.4k
  yych = *++YYCURSOR;
21120
81.4k
  if (yych <= '/') goto yy59;
21121
77.8k
  if (yych <= '2') goto yy1129;
21122
16.6k
  if (yych <= '3') goto yy1130;
21123
11.4k
  goto yy59;
21124
11.4k
yy1051:
21125
5.91k
  YYDEBUG(1051, *YYCURSOR);
21126
5.91k
  yych = *++YYCURSOR;
21127
5.91k
  if (yych == 'L') goto yy790;
21128
5.49k
  if (yych == 'l') goto yy790;
21129
3.24k
  goto yy59;
21130
11.7k
yy1052:
21131
11.7k
  YYDEBUG(1052, *YYCURSOR);
21132
11.7k
  yych = *++YYCURSOR;
21133
11.7k
  if (yych == 'S') goto yy1131;
21134
2.27k
  if (yych == 's') goto yy1131;
21135
1.62k
  goto yy59;
21136
19.3k
yy1053:
21137
19.3k
  YYDEBUG(1053, *YYCURSOR);
21138
19.3k
  yych = *++YYCURSOR;
21139
19.3k
  if (yych == 'M') goto yy1057;
21140
15.2k
  if (yych == 'm') goto yy1057;
21141
9.08k
  goto yy59;
21142
18.0k
yy1054:
21143
18.0k
  YYDEBUG(1054, *YYCURSOR);
21144
18.0k
  yych = *++YYCURSOR;
21145
18.0k
  if (yych == 'U') goto yy1055;
21146
15.6k
  if (yych != 'u') goto yy59;
21147
15.0k
yy1055:
21148
15.0k
  YYDEBUG(1055, *YYCURSOR);
21149
15.0k
  yych = *++YYCURSOR;
21150
15.0k
  if (yych == 'A') goto yy1132;
21151
13.0k
  if (yych == 'a') goto yy1132;
21152
8.01k
  goto yy59;
21153
8.01k
yy1056:
21154
4.25k
  YYDEBUG(1056, *YYCURSOR);
21155
4.25k
  yych = *++YYCURSOR;
21156
4.25k
  if (yych == 'H') goto yy790;
21157
4.09k
  if (yych == 'h') goto yy790;
21158
2.10k
  goto yy59;
21159
16.1k
yy1057:
21160
16.1k
  YYDEBUG(1057, *YYCURSOR);
21161
16.1k
  yych = *++YYCURSOR;
21162
16.1k
  if (yych == 'B') goto yy1133;
21163
11.0k
  if (yych == 'b') goto yy1133;
21164
5.50k
  goto yy59;
21165
5.57k
yy1058:
21166
5.57k
  YYDEBUG(1058, *YYCURSOR);
21167
5.57k
  yych = *++YYCURSOR;
21168
5.57k
  if (yych <= '/') goto yy59;
21169
2.27k
  if (yych >= '8') goto yy59;
21170
5.81k
yy1059:
21171
5.81k
  YYDEBUG(1059, *YYCURSOR);
21172
5.81k
  ++YYCURSOR;
21173
5.81k
  YYDEBUG(1060, *YYCURSOR);
21174
5.81k
#line 1710 "ext/date/lib/parse_date.re"
21175
5.81k
  {
21176
5.81k
    timelib_sll w, d;
21177
5.81k
    DEBUG_OUTPUT("isoweekday");
21178
5.81k
    TIMELIB_INIT;
21179
5.81k
    TIMELIB_HAVE_DATE();
21180
3.08k
    TIMELIB_HAVE_RELATIVE();
21181
21182
3.08k
    s->time->y = timelib_get_nr(&ptr, 4);
21183
3.08k
    w = timelib_get_nr(&ptr, 2);
21184
3.08k
    d = timelib_get_nr(&ptr, 1);
21185
3.08k
    s->time->m = 1;
21186
3.08k
    s->time->d = 1;
21187
3.08k
    s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d);
21188
21189
3.08k
    TIMELIB_DEINIT;
21190
3.08k
    return TIMELIB_ISO_WEEK;
21191
5.81k
  }
21192
0
#line 21193 "ext/date/lib/parse_date.c"
21193
4.79k
yy1061:
21194
4.79k
  YYDEBUG(1061, *YYCURSOR);
21195
4.79k
  yych = *++YYCURSOR;
21196
4.79k
  if (yych == 'H') goto yy1134;
21197
3.33k
  if (yych == 'h') goto yy1134;
21198
1.42k
  goto yy59;
21199
13.3k
yy1062:
21200
13.3k
  YYDEBUG(1062, *YYCURSOR);
21201
13.3k
  yych = *++YYCURSOR;
21202
13.3k
  if (yych == 'C') goto yy1135;
21203
12.1k
  if (yych == 'c') goto yy1135;
21204
3.37k
  goto yy59;
21205
23.2k
yy1063:
21206
23.2k
  YYDEBUG(1063, *YYCURSOR);
21207
23.2k
  yych = *++YYCURSOR;
21208
23.2k
  if (yych <= '/') goto yy59;
21209
20.5k
  if (yych <= '9') goto yy1136;
21210
2.43k
  goto yy59;
21211
37.3k
yy1064:
21212
37.3k
  YYDEBUG(1064, *YYCURSOR);
21213
37.3k
  yych = *++YYCURSOR;
21214
37.3k
  if (yych <= '/') goto yy59;
21215
34.0k
  if (yych <= '9') goto yy1138;
21216
1.22k
  goto yy59;
21217
11.0k
yy1065:
21218
11.0k
  YYDEBUG(1065, *YYCURSOR);
21219
11.0k
  yyaccept = 25;
21220
11.0k
  yych = *(YYMARKER = ++YYCURSOR);
21221
11.0k
  if (yych <= 'q') {
21222
4.11k
    if (yych == 'n') goto yy741;
21223
2.47k
    goto yy1025;
21224
6.90k
  } else {
21225
6.90k
    if (yych <= 'r') goto yy741;
21226
5.35k
    if (yych <= 's') goto yy742;
21227
4.37k
    if (yych <= 't') goto yy743;
21228
3.02k
    goto yy1025;
21229
4.37k
  }
21230
9.31k
yy1066:
21231
9.31k
  YYDEBUG(1066, *YYCURSOR);
21232
9.31k
  yych = *++YYCURSOR;
21233
9.31k
  if (yych <= '/') goto yy59;
21234
5.76k
  if (yych <= '9') goto yy1140;
21235
2.41k
  goto yy59;
21236
10.2k
yy1067:
21237
10.2k
  YYDEBUG(1067, *YYCURSOR);
21238
10.2k
  yych = *++YYCURSOR;
21239
10.2k
  if (yych <= '/') goto yy59;
21240
9.10k
  if (yych <= '1') goto yy1140;
21241
3.38k
  goto yy59;
21242
10.1k
yy1068:
21243
10.1k
  YYDEBUG(1068, *YYCURSOR);
21244
10.1k
  yych = *++YYCURSOR;
21245
10.1k
  if (yych <= '/') goto yy290;
21246
9.02k
  if (yych <= '9') goto yy1142;
21247
3.95k
  goto yy290;
21248
19.1k
yy1069:
21249
19.1k
  YYDEBUG(1069, *YYCURSOR);
21250
19.1k
  yych = *++YYCURSOR;
21251
19.1k
  if (yych <= '/') goto yy1070;
21252
17.4k
  if (yych <= '9') goto yy1143;
21253
19.1k
yy1070:
21254
19.1k
  YYDEBUG(1070, *YYCURSOR);
21255
19.1k
#line 1748 "ext/date/lib/parse_date.re"
21256
19.1k
  {
21257
19.1k
    int length = 0;
21258
19.1k
    DEBUG_OUTPUT("pgtextshort");
21259
19.1k
    TIMELIB_INIT;
21260
19.1k
    TIMELIB_HAVE_DATE();
21261
4.82k
    s->time->m = timelib_get_month(&ptr);
21262
4.82k
    s->time->d = timelib_get_nr(&ptr, 2);
21263
4.82k
    s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
21264
4.82k
    TIMELIB_PROCESS_YEAR(s->time->y, length);
21265
4.82k
    TIMELIB_DEINIT;
21266
4.82k
    return TIMELIB_PG_TEXT;
21267
19.1k
  }
21268
0
#line 21269 "ext/date/lib/parse_date.c"
21269
102k
yy1071:
21270
102k
  YYDEBUG(1071, *YYCURSOR);
21271
102k
  yych = *++YYCURSOR;
21272
102k
  if (yych <= '/') goto yy59;
21273
100k
  if (yych <= '1') goto yy1144;
21274
54.2k
  if (yych <= '2') goto yy1146;
21275
22.3k
  if (yych <= '9') goto yy1147;
21276
4.64k
  goto yy59;
21277
25.8k
yy1072:
21278
25.8k
  YYDEBUG(1072, *YYCURSOR);
21279
25.8k
  yych = *++YYCURSOR;
21280
25.8k
  if (yych <= 'E') {
21281
12.6k
    if (yych <= 'C') goto yy59;
21282
9.23k
    if (yych <= 'D') goto yy1099;
21283
4.77k
    goto yy1148;
21284
13.2k
  } else {
21285
13.2k
    if (yych <= 'c') goto yy59;
21286
12.1k
    if (yych <= 'd') goto yy1099;
21287
10.4k
    if (yych <= 'e') goto yy1148;
21288
1.58k
    goto yy59;
21289
10.4k
  }
21290
11.1k
yy1073:
21291
11.1k
  YYDEBUG(1073, *YYCURSOR);
21292
11.1k
  ++YYCURSOR;
21293
11.1k
  if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
21294
11.1k
  yych = *YYCURSOR;
21295
11.1k
  if (yych == 0xA0) goto yy960;
21296
2.94k
  if (yych == 0xB5) goto yy991;
21297
2.06k
  goto yy59;
21298
45.5k
yy1074:
21299
45.5k
  YYDEBUG(1074, *YYCURSOR);
21300
45.5k
  ++YYCURSOR;
21301
45.5k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
21302
45.5k
  yych = *YYCURSOR;
21303
45.5k
  if (yych <= 'd') {
21304
16.5k
    if (yych <= 'R') {
21305
7.47k
      if (yych <= 'F') {
21306
4.78k
        if (yych == 'D') goto yy856;
21307
3.23k
        if (yych <= 'E') goto yy59;
21308
1.15k
        goto yy857;
21309
3.23k
      } else {
21310
2.69k
        if (yych <= 'H') {
21311
1.06k
          if (yych <= 'G') goto yy59;
21312
414
          goto yy858;
21313
1.62k
        } else {
21314
1.62k
          if (yych == 'M') goto yy859;
21315
739
          goto yy59;
21316
1.62k
        }
21317
2.69k
      }
21318
9.04k
    } else {
21319
9.04k
      if (yych <= 'V') {
21320
4.05k
        if (yych <= 'S') goto yy860;
21321
3.62k
        if (yych <= 'T') goto yy861;
21322
2.98k
        if (yych <= 'U') goto yy862;
21323
1.03k
        goto yy59;
21324
4.99k
      } else {
21325
4.99k
        if (yych <= 'X') {
21326
2.91k
          if (yych <= 'W') goto yy959;
21327
816
          goto yy59;
21328
2.91k
        } else {
21329
2.07k
          if (yych <= 'Y') goto yy864;
21330
1.69k
          if (yych <= 'c') goto yy59;
21331
1.39k
          goto yy856;
21332
1.69k
        }
21333
4.99k
      }
21334
9.04k
    }
21335
29.0k
  } else {
21336
29.0k
    if (yych <= 't') {
21337
13.6k
      if (yych <= 'h') {
21338
6.02k
        if (yych == 'f') goto yy857;
21339
4.47k
        if (yych <= 'g') goto yy59;
21340
2.27k
        goto yy858;
21341
7.66k
      } else {
21342
7.66k
        if (yych <= 'm') {
21343
2.75k
          if (yych <= 'l') goto yy59;
21344
1.20k
          goto yy859;
21345
4.91k
        } else {
21346
4.91k
          if (yych <= 'r') goto yy59;
21347
2.81k
          if (yych <= 's') goto yy860;
21348
976
          goto yy861;
21349
2.81k
        }
21350
7.66k
      }
21351
15.3k
    } else {
21352
15.3k
      if (yych <= 'y') {
21353
3.25k
        if (yych <= 'v') {
21354
1.40k
          if (yych <= 'u') goto yy862;
21355
1.12k
          goto yy59;
21356
1.85k
        } else {
21357
1.85k
          if (yych <= 'w') goto yy959;
21358
677
          if (yych <= 'x') goto yy59;
21359
345
          goto yy864;
21360
677
        }
21361
12.1k
      } else {
21362
12.1k
        if (yych <= 0xC2) {
21363
3.06k
          if (yych <= 0xC1) goto yy59;
21364
1.11k
          goto yy865;
21365
9.06k
        } else {
21366
9.06k
          if (yych == 0xE2) goto yy838;
21367
1.13k
          goto yy59;
21368
9.06k
        }
21369
12.1k
      }
21370
15.3k
    }
21371
29.0k
  }
21372
21.6k
yy1075:
21373
21.6k
  YYDEBUG(1075, *YYCURSOR);
21374
21.6k
  yyaccept = 2;
21375
21.6k
  yych = *(YYMARKER = ++YYCURSOR);
21376
21.6k
  if (yych <= '/') goto yy20;
21377
20.2k
  if (yych <= '5') goto yy1018;
21378
5.62k
  if (yych <= '6') goto yy1019;
21379
2.06k
  goto yy20;
21380
104k
yy1076:
21381
104k
  YYDEBUG(1076, *YYCURSOR);
21382
104k
  yych = *++YYCURSOR;
21383
104k
  if (yych <= '/') goto yy849;
21384
100k
  if (yych <= '9') goto yy1149;
21385
9.49k
  goto yy849;
21386
16.1k
yy1077:
21387
16.1k
  YYDEBUG(1077, *YYCURSOR);
21388
16.1k
  yych = *++YYCURSOR;
21389
16.1k
  if (yych == '0') goto yy1149;
21390
4.19k
  goto yy849;
21391
36.6k
yy1078:
21392
36.6k
  YYDEBUG(1078, *YYCURSOR);
21393
36.6k
  ++YYCURSOR;
21394
36.6k
  goto yy849;
21395
274k
yy1079:
21396
274k
  YYDEBUG(1079, *YYCURSOR);
21397
274k
  yych = *++YYCURSOR;
21398
274k
  if (yych <= '/') goto yy849;
21399
268k
  if (yych <= '9') goto yy1150;
21400
10.1k
  goto yy849;
21401
33.5k
yy1080:
21402
33.5k
  YYDEBUG(1080, *YYCURSOR);
21403
33.5k
  yych = *++YYCURSOR;
21404
33.5k
  if (yych == '0') goto yy1150;
21405
3.73k
  goto yy849;
21406
26.6k
yy1081:
21407
26.6k
  YYDEBUG(1081, *YYCURSOR);
21408
26.6k
  ++YYCURSOR;
21409
26.6k
  if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
21410
26.6k
  yych = *YYCURSOR;
21411
26.6k
  YYDEBUG(1082, *YYCURSOR);
21412
26.6k
  if (yych <= 'A') {
21413
18.5k
    if (yych <= 0x1F) {
21414
5.86k
      if (yych == '\t') goto yy1081;
21415
502
      goto yy59;
21416
12.6k
    } else {
21417
12.6k
      if (yych <= ' ') goto yy1081;
21418
5.08k
      if (yych <= '@') goto yy59;
21419
5.08k
    }
21420
18.5k
  } else {
21421
8.18k
    if (yych <= '`') {
21422
2.11k
      if (yych != 'P') goto yy59;
21423
6.07k
    } else {
21424
6.07k
      if (yych <= 'a') goto yy1083;
21425
2.45k
      if (yych != 'p') goto yy59;
21426
2.45k
    }
21427
8.18k
  }
21428
30.9k
yy1083:
21429
30.9k
  YYDEBUG(1083, *YYCURSOR);
21430
30.9k
  yych = *++YYCURSOR;
21431
30.9k
  if (yych <= 'L') {
21432
12.5k
    if (yych == '.') goto yy1151;
21433
5.36k
    goto yy59;
21434
18.3k
  } else {
21435
18.3k
    if (yych <= 'M') goto yy1152;
21436
7.83k
    if (yych == 'm') goto yy1152;
21437
5.86k
    goto yy59;
21438
7.83k
  }
21439
16.1k
yy1084:
21440
16.1k
  YYDEBUG(1084, *YYCURSOR);
21441
16.1k
  ++YYCURSOR;
21442
16.1k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
21443
16.1k
  yych = *YYCURSOR;
21444
16.1k
  if (yych == 0xA0) goto yy1153;
21445
2.25k
  goto yy59;
21446
16.6k
yy1085:
21447
16.6k
  YYDEBUG(1085, *YYCURSOR);
21448
16.6k
  ++YYCURSOR;
21449
16.6k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
21450
16.6k
  yych = *YYCURSOR;
21451
16.6k
  if (yych == 0x80) goto yy1154;
21452
3.01k
  goto yy59;
21453
28.0k
yy1086:
21454
28.0k
  YYDEBUG(1086, *YYCURSOR);
21455
28.0k
  yych = *++YYCURSOR;
21456
28.0k
  if (yych == 'S') goto yy1155;
21457
26.9k
  if (yych == 's') goto yy1155;
21458
22.0k
  goto yy982;
21459
22.0k
yy1087:
21460
18.7k
  YYDEBUG(1087, *YYCURSOR);
21461
18.7k
  yych = *++YYCURSOR;
21462
18.7k
  if (yych == 'T') goto yy1156;
21463
15.4k
  if (yych == 't') goto yy1156;
21464
1.01k
  goto yy59;
21465
19.8k
yy1088:
21466
19.8k
  YYDEBUG(1088, *YYCURSOR);
21467
19.8k
  yyaccept = 24;
21468
19.8k
  yych = *(YYMARKER = ++YYCURSOR);
21469
19.8k
  if (yych <= 'D') {
21470
8.31k
    if (yych <= 0x1F) {
21471
3.50k
      if (yych == '\t') goto yy1157;
21472
1.53k
      goto yy982;
21473
4.80k
    } else {
21474
4.80k
      if (yych <= ' ') goto yy1157;
21475
3.51k
      if (yych <= 'C') goto yy982;
21476
1.46k
      goto yy1159;
21477
3.51k
    }
21478
11.5k
  } else {
21479
11.5k
    if (yych <= 0xC1) {
21480
10.3k
      if (yych == 'd') goto yy1159;
21481
4.65k
      goto yy982;
21482
10.3k
    } else {
21483
1.11k
      if (yych <= 0xC2) goto yy1160;
21484
935
      if (yych == 0xE2) goto yy1161;
21485
618
      goto yy982;
21486
935
    }
21487
11.5k
  }
21488
4.36k
yy1089:
21489
4.36k
  YYDEBUG(1089, *YYCURSOR);
21490
4.36k
  yych = *++YYCURSOR;
21491
4.36k
  if (yych == 'R') goto yy1086;
21492
4.09k
  if (yych == 'r') goto yy1086;
21493
2.07k
  goto yy59;
21494
8.03k
yy1090:
21495
8.03k
  YYDEBUG(1090, *YYCURSOR);
21496
8.03k
  yych = *++YYCURSOR;
21497
8.03k
  if (yych == 'R') goto yy1162;
21498
2.09k
  if (yych == 'r') goto yy1162;
21499
564
  goto yy59;
21500
5.66k
yy1091:
21501
5.66k
  YYDEBUG(1091, *YYCURSOR);
21502
5.66k
  yych = *++YYCURSOR;
21503
5.66k
  if (yych == 'L') goto yy1163;
21504
3.01k
  if (yych == 'l') goto yy1163;
21505
1.81k
  goto yy59;
21506
12.0k
yy1092:
21507
12.0k
  YYDEBUG(1092, *YYCURSOR);
21508
12.0k
  yyaccept = 24;
21509
12.0k
  yych = *(YYMARKER = ++YYCURSOR);
21510
12.0k
  if (yych <= 'U') {
21511
6.31k
    if (yych == 'S') goto yy1155;
21512
5.14k
    if (yych <= 'T') goto yy982;
21513
3.16k
    goto yy1164;
21514
5.73k
  } else {
21515
5.73k
    if (yych <= 's') {
21516
1.89k
      if (yych <= 'r') goto yy982;
21517
1.51k
      goto yy1155;
21518
3.83k
    } else {
21519
3.83k
      if (yych == 'u') goto yy1164;
21520
1.08k
      goto yy982;
21521
3.83k
    }
21522
5.73k
  }
21523
28.7k
yy1093:
21524
28.7k
  YYDEBUG(1093, *YYCURSOR);
21525
28.7k
  yyaccept = 24;
21526
28.7k
  yych = *(YYMARKER = ++YYCURSOR);
21527
28.7k
  if (yych <= 'T') {
21528
14.8k
    if (yych <= ' ') {
21529
3.26k
      if (yych == '\t') goto yy1157;
21530
1.49k
      if (yych <= 0x1F) goto yy982;
21531
407
      goto yy1157;
21532
11.5k
    } else {
21533
11.5k
      if (yych == 'D') goto yy1159;
21534
4.82k
      if (yych <= 'S') goto yy982;
21535
3.76k
      goto yy1165;
21536
4.82k
    }
21537
14.8k
  } else {
21538
13.9k
    if (yych <= 't') {
21539
6.27k
      if (yych == 'd') goto yy1159;
21540
3.32k
      if (yych <= 's') goto yy982;
21541
2.62k
      goto yy1165;
21542
7.65k
    } else {
21543
7.65k
      if (yych <= 0xC2) {
21544
2.45k
        if (yych <= 0xC1) goto yy982;
21545
1.31k
        goto yy1160;
21546
5.19k
      } else {
21547
5.19k
        if (yych == 0xE2) goto yy1161;
21548
4.44k
        goto yy982;
21549
5.19k
      }
21550
7.65k
    }
21551
13.9k
  }
21552
8.88k
yy1094:
21553
8.88k
  YYDEBUG(1094, *YYCURSOR);
21554
8.88k
  yych = *++YYCURSOR;
21555
8.88k
  if (yych == 'C') goto yy1086;
21556
6.36k
  if (yych == 'c') goto yy1086;
21557
5.52k
  goto yy59;
21558
21.6k
yy1095:
21559
21.6k
  YYDEBUG(1095, *YYCURSOR);
21560
21.6k
  yyaccept = 24;
21561
21.6k
  yych = *(YYMARKER = ++YYCURSOR);
21562
21.6k
  if (yych <= 'U') {
21563
4.76k
    if (yych <= 0x1F) {
21564
471
      if (yych == '\t') goto yy1157;
21565
72
      goto yy982;
21566
4.29k
    } else {
21567
4.29k
      if (yych <= ' ') goto yy1157;
21568
3.26k
      if (yych <= 'T') goto yy982;
21569
2.13k
      goto yy1166;
21570
3.26k
    }
21571
16.8k
  } else {
21572
16.8k
    if (yych <= 0xC1) {
21573
12.2k
      if (yych == 'u') goto yy1166;
21574
5.51k
      goto yy982;
21575
12.2k
    } else {
21576
4.62k
      if (yych <= 0xC2) goto yy1160;
21577
227
      if (yych == 0xE2) goto yy1161;
21578
166
      goto yy982;
21579
227
    }
21580
16.8k
  }
21581
15.3k
yy1096:
21582
15.3k
  YYDEBUG(1096, *YYCURSOR);
21583
15.3k
  yyaccept = 24;
21584
15.3k
  yych = *(YYMARKER = ++YYCURSOR);
21585
15.3k
  if (yych <= 'S') {
21586
4.55k
    if (yych == 'O') goto yy1167;
21587
2.08k
    if (yych <= 'R') goto yy982;
21588
505
    goto yy1155;
21589
10.7k
  } else {
21590
10.7k
    if (yych <= 'o') {
21591
7.27k
      if (yych <= 'n') goto yy982;
21592
4.87k
      goto yy1167;
21593
7.27k
    } else {
21594
3.51k
      if (yych == 's') goto yy1155;
21595
2.40k
      goto yy982;
21596
3.51k
    }
21597
10.7k
  }
21598
14.5k
yy1097:
21599
14.5k
  YYDEBUG(1097, *YYCURSOR);
21600
14.5k
  yyaccept = 24;
21601
14.5k
  yych = *(YYMARKER = ++YYCURSOR);
21602
14.5k
  if (yych <= 'R') {
21603
9.56k
    if (yych <= 0x1F) {
21604
1.92k
      if (yych == '\t') goto yy1157;
21605
336
      goto yy982;
21606
7.63k
    } else {
21607
7.63k
      if (yych <= ' ') goto yy1157;
21608
5.57k
      if (yych <= 'Q') goto yy982;
21609
4.86k
      goto yy1168;
21610
5.57k
    }
21611
9.56k
  } else {
21612
5.00k
    if (yych <= 0xC1) {
21613
3.16k
      if (yych == 'r') goto yy1168;
21614
741
      goto yy982;
21615
3.16k
    } else {
21616
1.84k
      if (yych <= 0xC2) goto yy1160;
21617
1.65k
      if (yych == 0xE2) goto yy1161;
21618
1.14k
      goto yy982;
21619
1.65k
    }
21620
5.00k
  }
21621
24.1k
yy1098:
21622
24.1k
  YYDEBUG(1098, *YYCURSOR);
21623
24.1k
  yyaccept = 24;
21624
24.1k
  yych = *(YYMARKER = ++YYCURSOR);
21625
24.1k
  if (yych <= 'S') {
21626
10.9k
    if (yych <= 0x1F) {
21627
3.79k
      if (yych == '\t') goto yy1157;
21628
830
      goto yy982;
21629
7.14k
    } else {
21630
7.14k
      if (yych <= ' ') goto yy1157;
21631
5.89k
      if (yych <= 'R') goto yy982;
21632
4.71k
      goto yy1169;
21633
5.89k
    }
21634
13.2k
  } else {
21635
13.2k
    if (yych <= 0xC1) {
21636
2.16k
      if (yych == 's') goto yy1169;
21637
711
      goto yy982;
21638
11.0k
    } else {
21639
11.0k
      if (yych <= 0xC2) goto yy1160;
21640
9.87k
      if (yych == 0xE2) goto yy1161;
21641
3.61k
      goto yy982;
21642
9.87k
    }
21643
13.2k
  }
21644
32.3k
yy1099:
21645
32.3k
  YYDEBUG(1099, *YYCURSOR);
21646
32.3k
  yyaccept = 24;
21647
32.3k
  yych = *(YYMARKER = ++YYCURSOR);
21648
32.3k
  if (yych <= 'N') {
21649
13.0k
    if (yych <= 0x1F) {
21650
4.84k
      if (yych == '\t') goto yy1157;
21651
2.09k
      goto yy982;
21652
8.18k
    } else {
21653
8.18k
      if (yych <= ' ') goto yy1157;
21654
5.84k
      if (yych <= 'M') goto yy982;
21655
3.36k
      goto yy1170;
21656
5.84k
    }
21657
19.3k
  } else {
21658
19.3k
    if (yych <= 0xC1) {
21659
14.7k
      if (yych == 'n') goto yy1170;
21660
2.39k
      goto yy982;
21661
14.7k
    } else {
21662
4.55k
      if (yych <= 0xC2) goto yy1160;
21663
3.91k
      if (yych == 0xE2) goto yy1161;
21664
2.02k
      goto yy982;
21665
3.91k
    }
21666
19.3k
  }
21667
22.7k
yy1100:
21668
22.7k
  YYDEBUG(1100, *YYCURSOR);
21669
22.7k
  yych = *++YYCURSOR;
21670
22.7k
  if (yych == 'K') goto yy1171;
21671
18.1k
  if (yych == 'k') goto yy1171;
21672
6.22k
  goto yy59;
21673
11.3k
yy1101:
21674
11.3k
  YYDEBUG(1101, *YYCURSOR);
21675
11.3k
  yyaccept = 24;
21676
11.3k
  yych = *(YYMARKER = ++YYCURSOR);
21677
11.3k
  if (yych <= 'R') {
21678
5.77k
    if (yych == ' ') goto yy1173;
21679
1.07k
    goto yy982;
21680
5.77k
  } else {
21681
5.57k
    if (yych <= 'S') goto yy1155;
21682
5.36k
    if (yych == 's') goto yy1155;
21683
3.01k
    goto yy982;
21684
5.36k
  }
21685
5.35k
yy1102:
21686
5.35k
  YYDEBUG(1102, *YYCURSOR);
21687
5.35k
  ++YYCURSOR;
21688
5.35k
  goto yy722;
21689
4.13k
yy1103:
21690
4.13k
  YYDEBUG(1103, *YYCURSOR);
21691
4.13k
  yyaccept = 16;
21692
4.13k
  yych = *(YYMARKER = ++YYCURSOR);
21693
4.13k
  if (yybm[0+yych] & 128) {
21694
602
    goto yy954;
21695
602
  }
21696
3.52k
  if (yych <= '.') {
21697
1.28k
    if (yych == '-') goto yy297;
21698
322
    goto yy722;
21699
2.24k
  } else {
21700
2.24k
    if (yych <= '/') goto yy297;
21701
1.60k
    if (yych == '_') goto yy297;
21702
897
    goto yy722;
21703
1.60k
  }
21704
67.5k
yy1104:
21705
67.5k
  YYDEBUG(1104, *YYCURSOR);
21706
67.5k
  yych = *++YYCURSOR;
21707
67.5k
  if (yych <= ' ') {
21708
8.05k
    if (yych == '\t') goto yy701;
21709
5.00k
    if (yych <= 0x1F) goto yy59;
21710
1.44k
    goto yy701;
21711
59.4k
  } else {
21712
59.4k
    if (yych <= 0xC2) {
21713
57.6k
      if (yych <= 0xC1) goto yy59;
21714
124
      goto yy704;
21715
57.6k
    } else {
21716
1.85k
      if (yych == 0xE2) goto yy705;
21717
449
      goto yy59;
21718
1.85k
    }
21719
59.4k
  }
21720
8.78k
yy1105:
21721
8.78k
  YYDEBUG(1105, *YYCURSOR);
21722
8.78k
  yych = *++YYCURSOR;
21723
8.78k
  if (yych <= ' ') {
21724
3.41k
    if (yych == '\t') goto yy701;
21725
2.72k
    if (yych <= 0x1F) goto yy955;
21726
1.55k
    goto yy701;
21727
5.36k
  } else {
21728
5.36k
    if (yych <= 0xC2) {
21729
4.07k
      if (yych <= 0xC1) goto yy955;
21730
2.17k
      goto yy704;
21731
4.07k
    } else {
21732
1.28k
      if (yych == 0xE2) goto yy705;
21733
1.13k
      goto yy955;
21734
1.28k
    }
21735
5.36k
  }
21736
2.72k
yy1106:
21737
2.72k
  YYDEBUG(1106, *YYCURSOR);
21738
2.72k
  ++YYCURSOR;
21739
5.97k
yy1107:
21740
5.97k
  YYDEBUG(1107, *YYCURSOR);
21741
5.97k
#line 1209 "ext/date/lib/parse_date.re"
21742
5.97k
  {
21743
5.97k
    DEBUG_OUTPUT("tomorrow");
21744
5.97k
    TIMELIB_INIT;
21745
5.97k
    TIMELIB_HAVE_RELATIVE();
21746
5.97k
    TIMELIB_UNHAVE_TIME();
21747
21748
5.97k
    s->time->relative.d = 1;
21749
5.97k
    TIMELIB_DEINIT;
21750
5.97k
    return TIMELIB_RELATIVE;
21751
2.72k
  }
21752
0
#line 21753 "ext/date/lib/parse_date.c"
21753
4.25k
yy1108:
21754
4.25k
  YYDEBUG(1108, *YYCURSOR);
21755
4.25k
  yyaccept = 28;
21756
4.25k
  yych = *(YYMARKER = ++YYCURSOR);
21757
4.25k
  if (yybm[0+yych] & 128) {
21758
223
    goto yy954;
21759
223
  }
21760
4.02k
  if (yych <= '.') {
21761
1.74k
    if (yych == '-') goto yy297;
21762
887
    goto yy1107;
21763
2.27k
  } else {
21764
2.27k
    if (yych <= '/') goto yy297;
21765
1.78k
    if (yych == '_') goto yy297;
21766
794
    goto yy1107;
21767
1.78k
  }
21768
7.79k
yy1109:
21769
7.79k
  YYDEBUG(1109, *YYCURSOR);
21770
7.79k
  yych = *++YYCURSOR;
21771
7.79k
  if (yych == 'Y') goto yy1174;
21772
4.41k
  if (yych == 'y') goto yy1174;
21773
3.56k
  goto yy59;
21774
5.65k
yy1110:
21775
5.65k
  YYDEBUG(1110, *YYCURSOR);
21776
5.65k
  yych = *++YYCURSOR;
21777
5.65k
  if (yych == 'Y') goto yy1174;
21778
3.98k
  if (yych == 'y') goto yy1176;
21779
1.51k
  goto yy955;
21780
31.9k
yy1111:
21781
31.9k
  YYDEBUG(1111, *YYCURSOR);
21782
31.9k
  yych = *++YYCURSOR;
21783
31.9k
  if (yych <= '/') goto yy59;
21784
30.0k
  if (yych <= '2') goto yy1177;
21785
16.4k
  if (yych <= '3') goto yy1178;
21786
2.11k
  goto yy59;
21787
25.7k
yy1112:
21788
25.7k
  YYDEBUG(1112, *YYCURSOR);
21789
25.7k
  yych = *++YYCURSOR;
21790
25.7k
  if (yych == '-') goto yy1179;
21791
12.6k
  goto yy59;
21792
229k
yy1113:
21793
229k
  YYDEBUG(1113, *YYCURSOR);
21794
229k
  yych = *++YYCURSOR;
21795
229k
  if (yych <= '9') {
21796
209k
    if (yych == '-') goto yy893;
21797
198k
    if (yych <= '/') goto yy196;
21798
195k
    goto yy1180;
21799
198k
  } else {
21800
20.3k
    if (yych <= 0xC2) {
21801
13.4k
      if (yych <= 0xC1) goto yy196;
21802
1.77k
      goto yy97;
21803
13.4k
    } else {
21804
6.90k
      if (yych == 0xE2) goto yy98;
21805
5.14k
      goto yy196;
21806
6.90k
    }
21807
20.3k
  }
21808
139k
yy1114:
21809
139k
  YYDEBUG(1114, *YYCURSOR);
21810
139k
  yych = *++YYCURSOR;
21811
139k
  if (yych <= '/') goto yy59;
21812
135k
  if (yych <= '9') goto yy1181;
21813
5.37k
  goto yy59;
21814
31.2k
yy1115:
21815
31.2k
  YYDEBUG(1115, *YYCURSOR);
21816
31.2k
  yych = *++YYCURSOR;
21817
31.2k
  if (yych <= '/') goto yy59;
21818
29.0k
  if (yych <= '1') goto yy1182;
21819
10.9k
  if (yych <= '2') goto yy1183;
21820
4.60k
  if (yych <= '9') goto yy1184;
21821
2.67k
  goto yy59;
21822
18.1k
yy1116:
21823
18.1k
  YYDEBUG(1116, *YYCURSOR);
21824
18.1k
  yych = *++YYCURSOR;
21825
18.1k
  if (yych == 'd') goto yy1185;
21826
14.9k
  goto yy59;
21827
14.9k
yy1117:
21828
7.74k
  YYDEBUG(1117, *YYCURSOR);
21829
7.74k
  yych = *++YYCURSOR;
21830
7.74k
  if (yych == 't') goto yy1185;
21831
4.32k
  goto yy59;
21832
11.0k
yy1118:
21833
11.0k
  YYDEBUG(1118, *YYCURSOR);
21834
11.0k
  yych = *++YYCURSOR;
21835
11.0k
  if (yych == 'h') goto yy1185;
21836
7.46k
  goto yy59;
21837
131k
yy1119:
21838
131k
  YYDEBUG(1119, *YYCURSOR);
21839
131k
  yyaccept = 15;
21840
131k
  yych = *(YYMARKER = ++YYCURSOR);
21841
131k
  if (yych <= 'm') {
21842
118k
    if (yych <= '9') {
21843
109k
      if (yych <= '/') goto yy567;
21844
106k
      goto yy1186;
21845
109k
    } else {
21846
8.82k
      if (yych == 'T') goto yy1115;
21847
2.59k
      goto yy567;
21848
8.82k
    }
21849
118k
  } else {
21850
12.2k
    if (yych <= 'r') {
21851
4.65k
      if (yych <= 'n') goto yy1116;
21852
1.03k
      if (yych <= 'q') goto yy567;
21853
583
      goto yy1116;
21854
7.58k
    } else {
21855
7.58k
      if (yych <= 's') goto yy1117;
21856
6.00k
      if (yych <= 't') goto yy1118;
21857
3.31k
      goto yy567;
21858
6.00k
    }
21859
12.2k
  }
21860
27.5k
yy1120:
21861
27.5k
  YYDEBUG(1120, *YYCURSOR);
21862
27.5k
  yyaccept = 15;
21863
27.5k
  yych = *(YYMARKER = ++YYCURSOR);
21864
27.5k
  if (yych <= 'm') {
21865
17.6k
    if (yych <= '1') {
21866
5.66k
      if (yych <= '/') goto yy567;
21867
4.35k
      goto yy1186;
21868
12.0k
    } else {
21869
12.0k
      if (yych == 'T') goto yy1115;
21870
2.12k
      goto yy567;
21871
12.0k
    }
21872
17.6k
  } else {
21873
9.81k
    if (yych <= 'r') {
21874
4.91k
      if (yych <= 'n') goto yy1116;
21875
4.30k
      if (yych <= 'q') goto yy567;
21876
3.46k
      goto yy1116;
21877
4.89k
    } else {
21878
4.89k
      if (yych <= 's') goto yy1117;
21879
3.78k
      if (yych <= 't') goto yy1118;
21880
1.47k
      goto yy567;
21881
3.78k
    }
21882
9.81k
  }
21883
12.1k
yy1121:
21884
12.1k
  YYDEBUG(1121, *YYCURSOR);
21885
12.1k
  yych = *++YYCURSOR;
21886
12.1k
  if (yych == 'd') goto yy1187;
21887
9.99k
  goto yy59;
21888
12.4k
yy1122:
21889
12.4k
  YYDEBUG(1122, *YYCURSOR);
21890
12.4k
  yych = *++YYCURSOR;
21891
12.4k
  if (yych == 't') goto yy1187;
21892
6.64k
  goto yy59;
21893
8.46k
yy1123:
21894
8.46k
  YYDEBUG(1123, *YYCURSOR);
21895
8.46k
  yych = *++YYCURSOR;
21896
8.46k
  if (yych == 'h') goto yy1187;
21897
6.68k
  goto yy59;
21898
22.3k
yy1124:
21899
22.3k
  YYDEBUG(1124, *YYCURSOR);
21900
22.3k
  yyaccept = 26;
21901
22.3k
  yych = *(YYMARKER = ++YYCURSOR);
21902
22.3k
  if (yych <= 'n') {
21903
14.8k
    if (yych <= '/') goto yy1043;
21904
13.0k
    if (yych <= '9') goto yy1188;
21905
3.63k
    if (yych <= 'm') goto yy1043;
21906
182
    goto yy1121;
21907
7.47k
  } else {
21908
7.47k
    if (yych <= 'r') {
21909
3.93k
      if (yych <= 'q') goto yy1043;
21910
1.49k
      goto yy1121;
21911
3.93k
    } else {
21912
3.54k
      if (yych <= 's') goto yy1122;
21913
1.49k
      if (yych <= 't') goto yy1123;
21914
794
      goto yy1043;
21915
1.49k
    }
21916
7.47k
  }
21917
11.2k
yy1125:
21918
11.2k
  YYDEBUG(1125, *YYCURSOR);
21919
11.2k
  yyaccept = 26;
21920
11.2k
  yych = *(YYMARKER = ++YYCURSOR);
21921
11.2k
  if (yych <= 'n') {
21922
5.49k
    if (yych <= '/') goto yy1043;
21923
4.63k
    if (yych <= '1') goto yy1188;
21924
2.54k
    if (yych <= 'm') goto yy1043;
21925
1.61k
    goto yy1121;
21926
5.78k
  } else {
21927
5.78k
    if (yych <= 'r') {
21928
3.44k
      if (yych <= 'q') goto yy1043;
21929
1.30k
      goto yy1121;
21930
3.44k
    } else {
21931
2.34k
      if (yych <= 's') goto yy1122;
21932
959
      if (yych <= 't') goto yy1123;
21933
378
      goto yy1043;
21934
959
    }
21935
5.78k
  }
21936
2.20M
yy1126:
21937
2.20M
  YYDEBUG(1126, *YYCURSOR);
21938
2.20M
  yych = *++YYCURSOR;
21939
2.20M
  if (yych <= 0xC1) {
21940
2.18M
    if (yych <= '/') goto yy196;
21941
2.11M
    if (yych <= '9') goto yy1189;
21942
139k
    goto yy196;
21943
2.11M
  } else {
21944
28.2k
    if (yych <= 0xC2) goto yy97;
21945
20.0k
    if (yych == 0xE2) goto yy98;
21946
12.3k
    goto yy196;
21947
20.0k
  }
21948
49.7k
yy1127:
21949
49.7k
  YYDEBUG(1127, *YYCURSOR);
21950
49.7k
  yych = *++YYCURSOR;
21951
49.7k
  if (yych <= 'H') {
21952
43.4k
    if (yych <= '2') {
21953
38.2k
      if (yych <= '/') goto yy59;
21954
37.4k
      if (yych <= '1') goto yy1190;
21955
19.1k
      goto yy1191;
21956
37.4k
    } else {
21957
5.20k
      if (yych <= '9') goto yy1192;
21958
3.06k
      if (yych <= 'G') goto yy59;
21959
593
      goto yy266;
21960
3.06k
    }
21961
43.4k
  } else {
21962
6.25k
    if (yych <= 'g') {
21963
1.97k
      if (yych == 'U') goto yy267;
21964
524
      goto yy59;
21965
4.27k
    } else {
21966
4.27k
      if (yych <= 'h') goto yy266;
21967
4.07k
      if (yych == 'u') goto yy267;
21968
1.49k
      goto yy59;
21969
4.07k
    }
21970
6.25k
  }
21971
25.7k
yy1128:
21972
25.7k
  YYDEBUG(1128, *YYCURSOR);
21973
25.7k
  yych = *++YYCURSOR;
21974
25.7k
  if (yych <= 'H') {
21975
20.5k
    if (yych <= '2') {
21976
16.7k
      if (yych <= '/') goto yy59;
21977
14.0k
      if (yych <= '1') goto yy1193;
21978
5.58k
      goto yy1194;
21979
14.0k
    } else {
21980
3.83k
      if (yych <= '9') goto yy1195;
21981
999
      if (yych <= 'G') goto yy59;
21982
655
      goto yy266;
21983
999
    }
21984
20.5k
  } else {
21985
5.22k
    if (yych <= 'g') {
21986
2.29k
      if (yych == 'U') goto yy267;
21987
1.06k
      goto yy59;
21988
2.93k
    } else {
21989
2.93k
      if (yych <= 'h') goto yy266;
21990
1.99k
      if (yych == 'u') goto yy267;
21991
1.02k
      goto yy59;
21992
1.99k
    }
21993
5.22k
  }
21994
61.1k
yy1129:
21995
61.1k
  YYDEBUG(1129, *YYCURSOR);
21996
61.1k
  yych = *++YYCURSOR;
21997
61.1k
  if (yych <= '/') goto yy59;
21998
55.0k
  if (yych <= '9') goto yy1196;
21999
3.81k
  goto yy59;
22000
5.24k
yy1130:
22001
5.24k
  YYDEBUG(1130, *YYCURSOR);
22002
5.24k
  yych = *++YYCURSOR;
22003
5.24k
  if (yych <= '/') goto yy59;
22004
4.21k
  if (yych <= '1') goto yy1196;
22005
2.46k
  goto yy59;
22006
10.1k
yy1131:
22007
10.1k
  YYDEBUG(1131, *YYCURSOR);
22008
10.1k
  yych = *++YYCURSOR;
22009
10.1k
  if (yych == 'T') goto yy790;
22010
6.00k
  if (yych == 't') goto yy790;
22011
5.52k
  goto yy59;
22012
7.05k
yy1132:
22013
7.05k
  YYDEBUG(1132, *YYCURSOR);
22014
7.05k
  yych = *++YYCURSOR;
22015
7.05k
  if (yych == 'R') goto yy1197;
22016
4.99k
  if (yych == 'r') goto yy1197;
22017
1.43k
  goto yy59;
22018
10.6k
yy1133:
22019
10.6k
  YYDEBUG(1133, *YYCURSOR);
22020
10.6k
  yych = *++YYCURSOR;
22021
10.6k
  if (yych == 'E') goto yy1198;
22022
9.97k
  if (yych == 'e') goto yy1198;
22023
6.12k
  goto yy59;
22024
6.12k
yy1134:
22025
3.36k
  YYDEBUG(1134, *YYCURSOR);
22026
3.36k
  yych = *++YYCURSOR;
22027
3.36k
  if (yych == 'T') goto yy425;
22028
2.38k
  if (yych == 't') goto yy425;
22029
1.07k
  goto yy59;
22030
9.98k
yy1135:
22031
9.98k
  YYDEBUG(1135, *YYCURSOR);
22032
9.98k
  yych = *++YYCURSOR;
22033
9.98k
  if (yych == 'O') goto yy628;
22034
1.77k
  if (yych == 'o') goto yy628;
22035
1.07k
  goto yy59;
22036
85.4k
yy1136:
22037
85.4k
  YYDEBUG(1136, *YYCURSOR);
22038
85.4k
  yyaccept = 4;
22039
85.4k
  YYMARKER = ++YYCURSOR;
22040
85.4k
  if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
22041
85.4k
  yych = *YYCURSOR;
22042
85.4k
  YYDEBUG(1137, *YYCURSOR);
22043
85.4k
  if (yych <= 'O') {
22044
75.4k
    if (yych <= '9') {
22045
71.7k
      if (yych <= '/') goto yy177;
22046
67.3k
      goto yy1136;
22047
71.7k
    } else {
22048
3.76k
      if (yych == 'A') goto yy1199;
22049
1.46k
      goto yy177;
22050
3.76k
    }
22051
75.4k
  } else {
22052
9.97k
    if (yych <= 'a') {
22053
7.41k
      if (yych <= 'P') goto yy1199;
22054
2.71k
      if (yych <= '`') goto yy177;
22055
541
      goto yy1199;
22056
2.71k
    } else {
22057
2.56k
      if (yych == 'p') goto yy1199;
22058
1.73k
      goto yy177;
22059
2.56k
    }
22060
9.97k
  }
22061
78.5k
yy1138:
22062
78.5k
  YYDEBUG(1138, *YYCURSOR);
22063
78.5k
  ++YYCURSOR;
22064
78.5k
  if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
22065
78.5k
  yych = *YYCURSOR;
22066
78.5k
  YYDEBUG(1139, *YYCURSOR);
22067
78.5k
  if (yych <= 'O') {
22068
66.3k
    if (yych <= '9') {
22069
54.4k
      if (yych <= '/') goto yy59;
22070
45.7k
      goto yy1138;
22071
54.4k
    } else {
22072
11.8k
      if (yych == 'A') goto yy1199;
22073
3.27k
      goto yy59;
22074
11.8k
    }
22075
66.3k
  } else {
22076
12.2k
    if (yych <= 'a') {
22077
3.93k
      if (yych <= 'P') goto yy1199;
22078
3.21k
      if (yych <= '`') goto yy59;
22079
2.13k
      goto yy1199;
22080
8.29k
    } else {
22081
8.29k
      if (yych == 'p') goto yy1199;
22082
6.03k
      goto yy59;
22083
8.29k
    }
22084
12.2k
  }
22085
9.06k
yy1140:
22086
9.06k
  YYDEBUG(1140, *YYCURSOR);
22087
9.06k
  ++YYCURSOR;
22088
9.06k
  YYDEBUG(1141, *YYCURSOR);
22089
9.06k
#line 1762 "ext/date/lib/parse_date.re"
22090
9.06k
  {
22091
9.06k
    int length = 0;
22092
9.06k
    DEBUG_OUTPUT("pgtextreverse");
22093
9.06k
    TIMELIB_INIT;
22094
9.06k
    TIMELIB_HAVE_DATE();
22095
4.07k
    s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
22096
4.07k
    s->time->m = timelib_get_month(&ptr);
22097
4.07k
    s->time->d = timelib_get_nr(&ptr, 2);
22098
4.07k
    TIMELIB_PROCESS_YEAR(s->time->y, length);
22099
4.07k
    TIMELIB_DEINIT;
22100
4.07k
    return TIMELIB_PG_TEXT;
22101
9.06k
  }
22102
0
#line 22103 "ext/date/lib/parse_date.c"
22103
5.07k
yy1142:
22104
5.07k
  YYDEBUG(1142, *YYCURSOR);
22105
5.07k
  ++YYCURSOR;
22106
5.07k
  goto yy290;
22107
15.3k
yy1143:
22108
15.3k
  YYDEBUG(1143, *YYCURSOR);
22109
15.3k
  yych = *++YYCURSOR;
22110
15.3k
  if (yych <= '/') goto yy1070;
22111
10.7k
  if (yych <= '9') goto yy1200;
22112
4.25k
  goto yy1070;
22113
46.7k
yy1144:
22114
46.7k
  YYDEBUG(1144, *YYCURSOR);
22115
46.7k
  yyaccept = 29;
22116
46.7k
  yych = *(YYMARKER = ++YYCURSOR);
22117
46.7k
  if (yych <= 'O') {
22118
19.8k
    if (yych <= ' ') {
22119
12.3k
      if (yych == '\t') goto yy1201;
22120
7.05k
      if (yych >= ' ') goto yy1201;
22121
7.50k
    } else {
22122
7.50k
      if (yych <= '9') {
22123
5.72k
        if (yych >= '0') goto yy1147;
22124
5.72k
      } else {
22125
1.78k
        if (yych == 'A') goto yy1203;
22126
1.78k
      }
22127
7.50k
    }
22128
26.8k
  } else {
22129
26.8k
    if (yych <= 'p') {
22130
6.21k
      if (yych <= '`') {
22131
2.00k
        if (yych <= 'P') goto yy1203;
22132
4.21k
      } else {
22133
4.21k
        if (yych <= 'a') goto yy1203;
22134
1.75k
        if (yych >= 'p') goto yy1203;
22135
1.75k
      }
22136
20.6k
    } else {
22137
20.6k
      if (yych <= 0xC2) {
22138
7.74k
        if (yych >= 0xC2) goto yy1204;
22139
12.8k
      } else {
22140
12.8k
        if (yych == 0xE2) goto yy1205;
22141
12.8k
      }
22142
20.6k
    }
22143
26.8k
  }
22144
96.3k
yy1145:
22145
96.3k
  YYDEBUG(1145, *YYCURSOR);
22146
96.3k
#line 1304 "ext/date/lib/parse_date.re"
22147
96.3k
  {
22148
96.3k
    DEBUG_OUTPUT("backof | frontof");
22149
96.3k
    TIMELIB_INIT;
22150
96.3k
    TIMELIB_UNHAVE_TIME();
22151
96.3k
    TIMELIB_HAVE_TIME();
22152
22153
96.3k
    if (*ptr == 'b') {
22154
3.12k
      s->time->h = timelib_get_nr(&ptr, 2);
22155
3.12k
      s->time->i = 15;
22156
93.1k
    } else {
22157
93.1k
      s->time->h = timelib_get_nr(&ptr, 2) - 1;
22158
93.1k
      s->time->i = 45;
22159
93.1k
    }
22160
96.3k
    if (*ptr != '\0' ) {
22161
14.4k
      timelib_eat_spaces(&ptr);
22162
14.4k
      s->time->h += timelib_meridian(&ptr, s->time->h);
22163
14.4k
    }
22164
22165
96.3k
    TIMELIB_DEINIT;
22166
96.3k
    return TIMELIB_LF_DAY_OF_MONTH;
22167
96.3k
  }
22168
0
#line 22169 "ext/date/lib/parse_date.c"
22169
31.8k
yy1146:
22170
31.8k
  YYDEBUG(1146, *YYCURSOR);
22171
31.8k
  yyaccept = 29;
22172
31.8k
  yych = *(YYMARKER = ++YYCURSOR);
22173
31.8k
  if (yych <= 'O') {
22174
15.9k
    if (yych <= ' ') {
22175
4.89k
      if (yych == '\t') goto yy1201;
22176
4.25k
      if (yych <= 0x1F) goto yy1145;
22177
2.35k
      goto yy1201;
22178
11.0k
    } else {
22179
11.0k
      if (yych <= '4') {
22180
7.44k
        if (yych <= '/') goto yy1145;
22181
7.44k
      } else {
22182
3.63k
        if (yych == 'A') goto yy1203;
22183
2.76k
        goto yy1145;
22184
3.63k
      }
22185
11.0k
    }
22186
15.9k
  } else {
22187
15.8k
    if (yych <= 'p') {
22188
4.39k
      if (yych <= '`') {
22189
1.89k
        if (yych <= 'P') goto yy1203;
22190
723
        goto yy1145;
22191
2.49k
      } else {
22192
2.49k
        if (yych <= 'a') goto yy1203;
22193
1.29k
        if (yych <= 'o') goto yy1145;
22194
1.16k
        goto yy1203;
22195
1.29k
      }
22196
11.4k
    } else {
22197
11.4k
      if (yych <= 0xC2) {
22198
9.59k
        if (yych <= 0xC1) goto yy1145;
22199
8.58k
        goto yy1204;
22200
9.59k
      } else {
22201
1.90k
        if (yych == 0xE2) goto yy1205;
22202
290
        goto yy1145;
22203
1.90k
      }
22204
11.4k
    }
22205
15.8k
  }
22206
28.8k
yy1147:
22207
28.8k
  YYDEBUG(1147, *YYCURSOR);
22208
28.8k
  yyaccept = 29;
22209
28.8k
  yych = *(YYMARKER = ++YYCURSOR);
22210
28.8k
  if (yych <= 'P') {
22211
14.1k
    if (yych <= ' ') {
22212
3.33k
      if (yych == '\t') goto yy1201;
22213
1.89k
      if (yych <= 0x1F) goto yy1145;
22214
957
      goto yy1201;
22215
10.8k
    } else {
22216
10.8k
      if (yych == 'A') goto yy1203;
22217
6.87k
      if (yych <= 'O') goto yy1145;
22218
4.57k
      goto yy1203;
22219
6.87k
    }
22220
14.7k
  } else {
22221
14.7k
    if (yych <= 'p') {
22222
3.50k
      if (yych == 'a') goto yy1203;
22223
1.90k
      if (yych <= 'o') goto yy1145;
22224
798
      goto yy1203;
22225
11.2k
    } else {
22226
11.2k
      if (yych <= 0xC2) {
22227
4.53k
        if (yych <= 0xC1) goto yy1145;
22228
3.56k
        goto yy1204;
22229
6.67k
      } else {
22230
6.67k
        if (yych == 0xE2) goto yy1205;
22231
858
        goto yy1145;
22232
6.67k
      }
22233
11.2k
    }
22234
14.7k
  }
22235
13.6k
yy1148:
22236
13.6k
  YYDEBUG(1148, *YYCURSOR);
22237
13.6k
  yych = *++YYCURSOR;
22238
13.6k
  if (yych == 'K') goto yy1206;
22239
11.5k
  if (yych == 'k') goto yy1206;
22240
1.88k
  goto yy59;
22241
102k
yy1149:
22242
102k
  YYDEBUG(1149, *YYCURSOR);
22243
102k
  yyaccept = 20;
22244
102k
  yych = *(YYMARKER = ++YYCURSOR);
22245
102k
  if (yych <= ',') {
22246
24.9k
    if (yych <= ' ') {
22247
7.15k
      if (yych == '\t') goto yy1208;
22248
5.38k
      if (yych <= 0x1F) goto yy849;
22249
4.23k
      goto yy1208;
22250
17.7k
    } else {
22251
17.7k
      if (yych <= '(') {
22252
6.51k
        if (yych <= '\'') goto yy849;
22253
3.39k
        goto yy1208;
22254
11.2k
      } else {
22255
11.2k
        if (yych == '+') goto yy1208;
22256
3.47k
        goto yy849;
22257
11.2k
      }
22258
17.7k
    }
22259
77.8k
  } else {
22260
77.8k
    if (yych <= 'z') {
22261
34.8k
      if (yych <= '@') {
22262
9.67k
        if (yych <= '-') goto yy1208;
22263
5.19k
        goto yy849;
22264
25.1k
      } else {
22265
25.1k
        if (yych <= 'Z') goto yy1208;
22266
1.93k
        if (yych <= '`') goto yy849;
22267
1.40k
        goto yy1208;
22268
1.93k
      }
22269
43.0k
    } else {
22270
43.0k
      if (yych <= 0xC2) {
22271
21.2k
        if (yych <= 0xC1) goto yy849;
22272
18.9k
        goto yy1214;
22273
21.7k
      } else {
22274
21.7k
        if (yych == 0xE2) goto yy1215;
22275
3.85k
        goto yy849;
22276
21.7k
      }
22277
43.0k
    }
22278
77.8k
  }
22279
287k
yy1150:
22280
287k
  YYDEBUG(1150, *YYCURSOR);
22281
287k
  yyaccept = 20;
22282
287k
  yych = *(YYMARKER = ++YYCURSOR);
22283
287k
  if (yych <= ',') {
22284
50.1k
    if (yych <= ' ') {
22285
35.1k
      if (yych == '\t') goto yy1217;
22286
26.4k
      if (yych <= 0x1F) goto yy849;
22287
21.7k
      goto yy1217;
22288
26.4k
    } else {
22289
15.0k
      if (yych <= '(') {
22290
3.66k
        if (yych <= '\'') goto yy849;
22291
1.86k
        goto yy1217;
22292
11.3k
      } else {
22293
11.3k
        if (yych == '+') goto yy1217;
22294
1.18k
        goto yy849;
22295
11.3k
      }
22296
15.0k
    }
22297
237k
  } else {
22298
237k
    if (yych <= 'z') {
22299
171k
      if (yych <= '@') {
22300
16.2k
        if (yych <= '-') goto yy1217;
22301
6.38k
        goto yy849;
22302
155k
      } else {
22303
155k
        if (yych <= 'Z') goto yy1217;
22304
25.5k
        if (yych <= '`') goto yy849;
22305
24.1k
        goto yy1217;
22306
25.5k
      }
22307
171k
    } else {
22308
65.9k
      if (yych <= 0xC2) {
22309
26.5k
        if (yych <= 0xC1) goto yy849;
22310
25.2k
        goto yy1220;
22311
39.3k
      } else {
22312
39.3k
        if (yych == 0xE2) goto yy1221;
22313
1.42k
        goto yy849;
22314
39.3k
      }
22315
65.9k
    }
22316
237k
  }
22317
17.2k
yy1151:
22318
17.2k
  YYDEBUG(1151, *YYCURSOR);
22319
17.2k
  yych = *++YYCURSOR;
22320
17.2k
  if (yych == 'M') goto yy1152;
22321
12.4k
  if (yych != 'm') goto yy59;
22322
24.7k
yy1152:
22323
24.7k
  YYDEBUG(1152, *YYCURSOR);
22324
24.7k
  yych = *++YYCURSOR;
22325
24.7k
  if (yych <= 0x1F) {
22326
9.18k
    if (yych <= 0x00) goto yy1222;
22327
6.27k
    if (yych == '\t') goto yy1222;
22328
4.61k
    goto yy59;
22329
15.5k
  } else {
22330
15.5k
    if (yych <= ' ') goto yy1222;
22331
13.9k
    if (yych == '.') goto yy1224;
22332
7.48k
    goto yy59;
22333
13.9k
  }
22334
13.9k
yy1153:
22335
13.9k
  YYDEBUG(1153, *YYCURSOR);
22336
13.9k
  ++YYCURSOR;
22337
13.9k
  if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
22338
13.9k
  yych = *YYCURSOR;
22339
13.9k
  if (yych <= '`') {
22340
5.99k
    if (yych <= 'A') {
22341
3.78k
      if (yych <= '@') goto yy59;
22342
2.40k
      goto yy1083;
22343
3.78k
    } else {
22344
2.21k
      if (yych == 'P') goto yy1083;
22345
1.03k
      goto yy59;
22346
2.21k
    }
22347
7.94k
  } else {
22348
7.94k
    if (yych <= 'p') {
22349
2.75k
      if (yych <= 'a') goto yy1083;
22350
1.19k
      if (yych <= 'o') goto yy59;
22351
891
      goto yy1083;
22352
5.19k
    } else {
22353
5.19k
      if (yych == 0xC2) goto yy1084;
22354
1.49k
      goto yy59;
22355
5.19k
    }
22356
7.94k
  }
22357
13.6k
yy1154:
22358
13.6k
  YYDEBUG(1154, *YYCURSOR);
22359
13.6k
  ++YYCURSOR;
22360
13.6k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
22361
13.6k
  yych = *YYCURSOR;
22362
13.6k
  if (yych == 0xAF) goto yy1225;
22363
489
  goto yy59;
22364
16.7k
yy1155:
22365
16.7k
  YYDEBUG(1155, *YYCURSOR);
22366
16.7k
  ++YYCURSOR;
22367
16.7k
  goto yy982;
22368
17.7k
yy1156:
22369
17.7k
  YYDEBUG(1156, *YYCURSOR);
22370
17.7k
  yych = *++YYCURSOR;
22371
17.7k
  if (yych <= 'N') {
22372
4.36k
    if (yych == 'H') goto yy1226;
22373
2.45k
    if (yych <= 'M') goto yy59;
22374
610
    goto yy1227;
22375
13.3k
  } else {
22376
13.3k
    if (yych <= 'h') {
22377
10.1k
      if (yych <= 'g') goto yy59;
22378
9.03k
      goto yy1226;
22379
10.1k
    } else {
22380
3.19k
      if (yych == 'n') goto yy1227;
22381
2.78k
      goto yy59;
22382
3.19k
    }
22383
13.3k
  }
22384
44.2k
yy1157:
22385
44.2k
  YYDEBUG(1157, *YYCURSOR);
22386
44.2k
  ++YYCURSOR;
22387
44.2k
  if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
22388
44.2k
  yych = *YYCURSOR;
22389
44.2k
  YYDEBUG(1158, *YYCURSOR);
22390
44.2k
  if (yych <= ' ') {
22391
20.5k
    if (yych == '\t') goto yy1157;
22392
9.46k
    if (yych <= 0x1F) goto yy59;
22393
5.44k
    goto yy1157;
22394
23.6k
  } else {
22395
23.6k
    if (yych <= 'O') {
22396
9.01k
      if (yych <= 'N') goto yy59;
22397
527
      goto yy1228;
22398
14.6k
    } else {
22399
14.6k
      if (yych == 'o') goto yy1228;
22400
10.4k
      goto yy59;
22401
14.6k
    }
22402
23.6k
  }
22403
33.9k
yy1159:
22404
33.9k
  YYDEBUG(1159, *YYCURSOR);
22405
33.9k
  yych = *++YYCURSOR;
22406
33.9k
  if (yych == 'A') goto yy1229;
22407
25.7k
  if (yych == 'a') goto yy1229;
22408
3.62k
  goto yy59;
22409
11.2k
yy1160:
22410
11.2k
  YYDEBUG(1160, *YYCURSOR);
22411
11.2k
  ++YYCURSOR;
22412
11.2k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
22413
11.2k
  yych = *YYCURSOR;
22414
11.2k
  if (yych == 0xA0) goto yy1230;
22415
5.26k
  goto yy59;
22416
15.7k
yy1161:
22417
15.7k
  YYDEBUG(1161, *YYCURSOR);
22418
15.7k
  ++YYCURSOR;
22419
15.7k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
22420
15.7k
  yych = *YYCURSOR;
22421
15.7k
  if (yych == 0x80) goto yy1231;
22422
7.48k
  goto yy59;
22423
7.48k
yy1162:
22424
7.46k
  YYDEBUG(1162, *YYCURSOR);
22425
7.46k
  yych = *++YYCURSOR;
22426
7.46k
  if (yych == 'O') goto yy1232;
22427
4.14k
  if (yych == 'o') goto yy1232;
22428
1.39k
  goto yy59;
22429
3.84k
yy1163:
22430
3.84k
  YYDEBUG(1163, *YYCURSOR);
22431
3.84k
  yych = *++YYCURSOR;
22432
3.84k
  if (yych == 'I') goto yy1232;
22433
3.15k
  if (yych == 'i') goto yy1232;
22434
1.61k
  goto yy59;
22435
5.92k
yy1164:
22436
5.92k
  YYDEBUG(1164, *YYCURSOR);
22437
5.92k
  yych = *++YYCURSOR;
22438
5.92k
  if (yych == 'T') goto yy1233;
22439
2.91k
  if (yych == 't') goto yy1233;
22440
2.22k
  goto yy59;
22441
6.38k
yy1165:
22442
6.38k
  YYDEBUG(1165, *YYCURSOR);
22443
6.38k
  yych = *++YYCURSOR;
22444
6.38k
  if (yych == 'H') goto yy1086;
22445
4.66k
  if (yych == 'h') goto yy1086;
22446
4.12k
  goto yy59;
22447
8.87k
yy1166:
22448
8.87k
  YYDEBUG(1166, *YYCURSOR);
22449
8.87k
  yych = *++YYCURSOR;
22450
8.87k
  if (yych == 'R') goto yy1169;
22451
7.27k
  if (yych == 'r') goto yy1169;
22452
4.01k
  goto yy59;
22453
9.87k
yy1167:
22454
9.87k
  YYDEBUG(1167, *YYCURSOR);
22455
9.87k
  yych = *++YYCURSOR;
22456
9.87k
  if (yych == 'N') goto yy1234;
22457
4.08k
  if (yych == 'n') goto yy1234;
22458
3.65k
  goto yy59;
22459
19.3k
yy1168:
22460
19.3k
  YYDEBUG(1168, *YYCURSOR);
22461
19.3k
  yych = *++YYCURSOR;
22462
19.3k
  if (yych == 'S') goto yy1169;
22463
18.0k
  if (yych != 's') goto yy59;
22464
22.3k
yy1169:
22465
22.3k
  YYDEBUG(1169, *YYCURSOR);
22466
22.3k
  yych = *++YYCURSOR;
22467
22.3k
  if (yych == 'D') goto yy1159;
22468
20.3k
  if (yych == 'd') goto yy1159;
22469
5.25k
  goto yy59;
22470
15.7k
yy1170:
22471
15.7k
  YYDEBUG(1170, *YYCURSOR);
22472
15.7k
  yych = *++YYCURSOR;
22473
15.7k
  if (yych == 'E') goto yy1168;
22474
14.6k
  if (yych == 'e') goto yy1168;
22475
3.70k
  goto yy59;
22476
16.5k
yy1171:
22477
16.5k
  YYDEBUG(1171, *YYCURSOR);
22478
16.5k
  yyaccept = 30;
22479
16.5k
  yych = *(YYMARKER = ++YYCURSOR);
22480
16.5k
  if (yych <= 'S') {
22481
4.92k
    if (yych == 'D') goto yy856;
22482
2.20k
    if (yych >= 'S') goto yy1155;
22483
11.6k
  } else {
22484
11.6k
    if (yych <= 'd') {
22485
10.4k
      if (yych >= 'd') goto yy856;
22486
10.4k
    } else {
22487
1.11k
      if (yych == 's') goto yy1155;
22488
1.11k
    }
22489
11.6k
  }
22490
11.9k
yy1172:
22491
11.9k
  YYDEBUG(1172, *YYCURSOR);
22492
11.9k
#line 1848 "ext/date/lib/parse_date.re"
22493
11.9k
  {
22494
11.9k
    timelib_sll i;
22495
11.9k
    int         behavior = 0;
22496
11.9k
    DEBUG_OUTPUT("relativetextweek");
22497
11.9k
    TIMELIB_INIT;
22498
11.9k
    TIMELIB_HAVE_RELATIVE();
22499
22500
23.9k
    while(*ptr) {
22501
11.9k
      i = timelib_get_relative_text(&ptr, &behavior);
22502
11.9k
      timelib_eat_spaces(&ptr);
22503
11.9k
      timelib_set_relative(&ptr, i, behavior, s, TIMELIB_TIME_PART_DONT_KEEP);
22504
11.9k
      s->time->relative.weekday_behavior = 2;
22505
22506
      /* to handle the format weekday + last/this/next week */
22507
11.9k
      if (s->time->relative.have_weekday_relative == 0) {
22508
178
        TIMELIB_HAVE_WEEKDAY_RELATIVE();
22509
178
        s->time->relative.weekday = 1;
22510
178
      }
22511
11.9k
    }
22512
11.9k
    TIMELIB_DEINIT;
22513
11.9k
    return TIMELIB_RELATIVE;
22514
16.5k
  }
22515
0
#line 22516 "ext/date/lib/parse_date.c"
22516
4.70k
yy1173:
22517
4.70k
  YYDEBUG(1173, *YYCURSOR);
22518
4.70k
  yych = *++YYCURSOR;
22519
4.70k
  if (yych == 'O') goto yy1235;
22520
3.09k
  if (yych == 'o') goto yy1235;
22521
1.51k
  goto yy59;
22522
5.89k
yy1174:
22523
5.89k
  YYDEBUG(1174, *YYCURSOR);
22524
5.89k
  ++YYCURSOR;
22525
8.32k
yy1175:
22526
8.32k
  YYDEBUG(1175, *YYCURSOR);
22527
8.32k
#line 1166 "ext/date/lib/parse_date.re"
22528
8.32k
  {
22529
8.32k
    DEBUG_OUTPUT("yesterday");
22530
8.32k
    TIMELIB_INIT;
22531
8.32k
    TIMELIB_HAVE_RELATIVE();
22532
8.32k
    TIMELIB_UNHAVE_TIME();
22533
22534
8.32k
    s->time->relative.d = -1;
22535
8.32k
    TIMELIB_DEINIT;
22536
8.32k
    return TIMELIB_RELATIVE;
22537
5.89k
  }
22538
0
#line 22539 "ext/date/lib/parse_date.c"
22539
2.47k
yy1176:
22540
2.47k
  YYDEBUG(1176, *YYCURSOR);
22541
2.47k
  yyaccept = 31;
22542
2.47k
  yych = *(YYMARKER = ++YYCURSOR);
22543
2.47k
  if (yybm[0+yych] & 128) {
22544
389
    goto yy954;
22545
389
  }
22546
2.08k
  if (yych <= '.') {
22547
767
    if (yych == '-') goto yy297;
22548
175
    goto yy1175;
22549
1.32k
  } else {
22550
1.32k
    if (yych <= '/') goto yy297;
22551
1.16k
    if (yych == '_') goto yy297;
22552
248
    goto yy1175;
22553
1.16k
  }
22554
13.5k
yy1177:
22555
13.5k
  YYDEBUG(1177, *YYCURSOR);
22556
13.5k
  yych = *++YYCURSOR;
22557
13.5k
  if (yych <= '/') goto yy59;
22558
8.81k
  if (yych <= '9') goto yy1187;
22559
4.35k
  goto yy59;
22560
14.3k
yy1178:
22561
14.3k
  YYDEBUG(1178, *YYCURSOR);
22562
14.3k
  yych = *++YYCURSOR;
22563
14.3k
  if (yych <= '/') goto yy59;
22564
10.7k
  if (yych <= '1') goto yy1187;
22565
8.28k
  goto yy59;
22566
13.1k
yy1179:
22567
13.1k
  YYDEBUG(1179, *YYCURSOR);
22568
13.1k
  yych = *++YYCURSOR;
22569
13.1k
  if (yych <= '/') goto yy59;
22570
12.3k
  if (yych <= '2') goto yy1236;
22571
7.51k
  if (yych <= '3') goto yy1237;
22572
1.97k
  goto yy59;
22573
195k
yy1180:
22574
195k
  YYDEBUG(1180, *YYCURSOR);
22575
195k
  yych = *++YYCURSOR;
22576
195k
  if (yych <= '9') {
22577
176k
    if (yych == '-') goto yy893;
22578
174k
    if (yych <= '/') goto yy196;
22579
169k
    goto yy1238;
22580
174k
  } else {
22581
19.1k
    if (yych <= 0xC2) {
22582
14.8k
      if (yych <= 0xC1) goto yy196;
22583
806
      goto yy97;
22584
14.8k
    } else {
22585
4.32k
      if (yych == 0xE2) goto yy98;
22586
2.79k
      goto yy196;
22587
4.32k
    }
22588
19.1k
  }
22589
130k
yy1181:
22590
130k
  YYDEBUG(1181, *YYCURSOR);
22591
130k
  yych = *++YYCURSOR;
22592
130k
  if (yych == ':') goto yy1239;
22593
12.4k
  goto yy59;
22594
18.1k
yy1182:
22595
18.1k
  YYDEBUG(1182, *YYCURSOR);
22596
18.1k
  yych = *++YYCURSOR;
22597
18.1k
  if (yych <= '/') goto yy59;
22598
16.4k
  if (yych <= '9') goto yy1184;
22599
8.95k
  if (yych <= ':') goto yy1240;
22600
1.13k
  goto yy59;
22601
6.33k
yy1183:
22602
6.33k
  YYDEBUG(1183, *YYCURSOR);
22603
6.33k
  yych = *++YYCURSOR;
22604
6.33k
  if (yych <= '/') goto yy59;
22605
5.16k
  if (yych <= '4') goto yy1184;
22606
3.97k
  if (yych == ':') goto yy1240;
22607
1.81k
  goto yy59;
22608
12.3k
yy1184:
22609
12.3k
  YYDEBUG(1184, *YYCURSOR);
22610
12.3k
  yych = *++YYCURSOR;
22611
12.3k
  if (yych == ':') goto yy1240;
22612
3.35k
  goto yy59;
22613
10.1k
yy1185:
22614
10.1k
  YYDEBUG(1185, *YYCURSOR);
22615
10.1k
  yyaccept = 15;
22616
10.1k
  yych = *(YYMARKER = ++YYCURSOR);
22617
10.1k
  if (yych == 'T') goto yy1115;
22618
8.99k
  goto yy567;
22619
110k
yy1186:
22620
110k
  YYDEBUG(1186, *YYCURSOR);
22621
110k
  yyaccept = 26;
22622
110k
  yych = *(YYMARKER = ++YYCURSOR);
22623
110k
  if (yych <= 'n') {
22624
98.7k
    if (yych == 'T') goto yy1241;
22625
8.35k
    if (yych <= 'm') goto yy1043;
22626
1.55k
    goto yy1116;
22627
11.6k
  } else {
22628
11.6k
    if (yych <= 'r') {
22629
2.26k
      if (yych <= 'q') goto yy1043;
22630
1.48k
      goto yy1116;
22631
9.37k
    } else {
22632
9.37k
      if (yych <= 's') goto yy1117;
22633
7.86k
      if (yych <= 't') goto yy1118;
22634
4.68k
      goto yy1043;
22635
7.86k
    }
22636
11.6k
  }
22637
17.9k
yy1187:
22638
17.9k
  YYDEBUG(1187, *YYCURSOR);
22639
17.9k
  ++YYCURSOR;
22640
17.9k
  goto yy1043;
22641
11.4k
yy1188:
22642
11.4k
  YYDEBUG(1188, *YYCURSOR);
22643
11.4k
  yyaccept = 26;
22644
11.4k
  yych = *(YYMARKER = ++YYCURSOR);
22645
11.4k
  if (yych <= 'n') {
22646
3.07k
    if (yych == '/') goto yy1187;
22647
1.82k
    if (yych <= 'm') goto yy1043;
22648
359
    goto yy1121;
22649
8.40k
  } else {
22650
8.40k
    if (yych <= 'r') {
22651
2.22k
      if (yych <= 'q') goto yy1043;
22652
1.21k
      goto yy1121;
22653
6.18k
    } else {
22654
6.18k
      if (yych <= 's') goto yy1122;
22655
5.42k
      if (yych <= 't') goto yy1123;
22656
4.10k
      goto yy1043;
22657
5.42k
    }
22658
8.40k
  }
22659
1.97M
yy1189:
22660
1.97M
  YYDEBUG(1189, *YYCURSOR);
22661
1.97M
  yych = *++YYCURSOR;
22662
1.97M
  if (yych <= 0xC1) {
22663
1.94M
    if (yych <= '/') goto yy196;
22664
1.88M
    if (yych <= '9') goto yy1242;
22665
99.9k
    goto yy196;
22666
1.88M
  } else {
22667
24.5k
    if (yych <= 0xC2) goto yy97;
22668
21.3k
    if (yych == 0xE2) goto yy98;
22669
15.6k
    goto yy196;
22670
21.3k
  }
22671
18.2k
yy1190:
22672
18.2k
  YYDEBUG(1190, *YYCURSOR);
22673
18.2k
  yych = *++YYCURSOR;
22674
18.2k
  if (yych <= '/') goto yy59;
22675
17.0k
  if (yych <= '5') goto yy1243;
22676
10.8k
  if (yych <= '9') goto yy1192;
22677
1.77k
  if (yych <= ':') goto yy1244;
22678
1.05k
  goto yy59;
22679
19.1k
yy1191:
22680
19.1k
  YYDEBUG(1191, *YYCURSOR);
22681
19.1k
  yych = *++YYCURSOR;
22682
19.1k
  if (yych <= '5') {
22683
16.5k
    if (yych <= '/') goto yy59;
22684
16.1k
    if (yych <= '4') goto yy1243;
22685
2.05k
    goto yy1245;
22686
16.1k
  } else {
22687
2.59k
    if (yych == ':') goto yy1244;
22688
975
    goto yy59;
22689
2.59k
  }
22690
11.1k
yy1192:
22691
11.1k
  YYDEBUG(1192, *YYCURSOR);
22692
11.1k
  yych = *++YYCURSOR;
22693
11.1k
  if (yych <= '/') goto yy59;
22694
10.4k
  if (yych <= '5') goto yy1245;
22695
4.64k
  if (yych == ':') goto yy1244;
22696
1.88k
  goto yy59;
22697
8.44k
yy1193:
22698
8.44k
  YYDEBUG(1193, *YYCURSOR);
22699
8.44k
  yych = *++YYCURSOR;
22700
8.44k
  if (yych <= '/') goto yy59;
22701
8.02k
  if (yych <= '5') goto yy1246;
22702
1.77k
  if (yych <= '9') goto yy1195;
22703
1.09k
  goto yy59;
22704
5.58k
yy1194:
22705
5.58k
  YYDEBUG(1194, *YYCURSOR);
22706
5.58k
  yych = *++YYCURSOR;
22707
5.58k
  if (yych <= '/') goto yy59;
22708
4.66k
  if (yych <= '4') goto yy1246;
22709
2.53k
  if (yych <= '5') goto yy1245;
22710
1.71k
  goto yy59;
22711
3.51k
yy1195:
22712
3.51k
  YYDEBUG(1195, *YYCURSOR);
22713
3.51k
  yych = *++YYCURSOR;
22714
3.51k
  if (yych <= '/') goto yy59;
22715
2.44k
  if (yych <= '5') goto yy1245;
22716
440
  goto yy59;
22717
53.0k
yy1196:
22718
53.0k
  YYDEBUG(1196, *YYCURSOR);
22719
53.0k
  yych = *++YYCURSOR;
22720
53.0k
  if (yych == ' ') goto yy1247;
22721
46.7k
  goto yy59;
22722
46.7k
yy1197:
22723
5.62k
  YYDEBUG(1197, *YYCURSOR);
22724
5.62k
  yych = *++YYCURSOR;
22725
5.62k
  if (yych == 'Y') goto yy790;
22726
5.39k
  if (yych == 'y') goto yy790;
22727
4.06k
  goto yy59;
22728
4.51k
yy1198:
22729
4.51k
  YYDEBUG(1198, *YYCURSOR);
22730
4.51k
  yych = *++YYCURSOR;
22731
4.51k
  if (yych == 'R') goto yy790;
22732
2.40k
  if (yych == 'r') goto yy790;
22733
2.21k
  goto yy59;
22734
22.0k
yy1199:
22735
22.0k
  YYDEBUG(1199, *YYCURSOR);
22736
22.0k
  yych = *++YYCURSOR;
22737
22.0k
  if (yych <= 'L') {
22738
9.21k
    if (yych == '.') goto yy1248;
22739
5.78k
    goto yy59;
22740
12.8k
  } else {
22741
12.8k
    if (yych <= 'M') goto yy1249;
22742
9.88k
    if (yych == 'm') goto yy1249;
22743
2.19k
    goto yy59;
22744
9.88k
  }
22745
6.53k
yy1200:
22746
6.53k
  YYDEBUG(1200, *YYCURSOR);
22747
6.53k
  yych = *++YYCURSOR;
22748
6.53k
  if (yych <= '/') goto yy1070;
22749
5.70k
  if (yych <= '9') goto yy1250;
22750
2.47k
  goto yy1070;
22751
23.3k
yy1201:
22752
23.3k
  YYDEBUG(1201, *YYCURSOR);
22753
23.3k
  ++YYCURSOR;
22754
23.3k
  if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
22755
23.3k
  yych = *YYCURSOR;
22756
23.3k
  YYDEBUG(1202, *YYCURSOR);
22757
23.3k
  if (yych <= 'A') {
22758
12.6k
    if (yych <= 0x1F) {
22759
6.17k
      if (yych == '\t') goto yy1201;
22760
757
      goto yy59;
22761
6.48k
    } else {
22762
6.48k
      if (yych <= ' ') goto yy1201;
22763
4.02k
      if (yych <= '@') goto yy59;
22764
4.02k
    }
22765
12.6k
  } else {
22766
10.7k
    if (yych <= '`') {
22767
3.21k
      if (yych != 'P') goto yy59;
22768
7.50k
    } else {
22769
7.50k
      if (yych <= 'a') goto yy1203;
22770
5.86k
      if (yych != 'p') goto yy59;
22771
5.86k
    }
22772
10.7k
  }
22773
43.9k
yy1203:
22774
43.9k
  YYDEBUG(1203, *YYCURSOR);
22775
43.9k
  yych = *++YYCURSOR;
22776
43.9k
  if (yych <= 'L') {
22777
12.2k
    if (yych == '.') goto yy1251;
22778
7.65k
    goto yy59;
22779
31.6k
  } else {
22780
31.6k
    if (yych <= 'M') goto yy1252;
22781
24.2k
    if (yych == 'm') goto yy1252;
22782
11.9k
    goto yy59;
22783
24.2k
  }
22784
27.3k
yy1204:
22785
27.3k
  YYDEBUG(1204, *YYCURSOR);
22786
27.3k
  ++YYCURSOR;
22787
27.3k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
22788
27.3k
  yych = *YYCURSOR;
22789
27.3k
  if (yych == 0xA0) goto yy1253;
22790
2.71k
  goto yy59;
22791
38.5k
yy1205:
22792
38.5k
  YYDEBUG(1205, *YYCURSOR);
22793
38.5k
  ++YYCURSOR;
22794
38.5k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
22795
38.5k
  yych = *YYCURSOR;
22796
38.5k
  if (yych == 0x80) goto yy1254;
22797
5.56k
  goto yy59;
22798
11.7k
yy1206:
22799
11.7k
  YYDEBUG(1206, *YYCURSOR);
22800
11.7k
  yych = *++YYCURSOR;
22801
11.7k
  if (yych <= 'S') {
22802
8.34k
    if (yych == 'D') goto yy856;
22803
6.46k
    if (yych <= 'R') goto yy59;
22804
2.77k
    goto yy1155;
22805
6.46k
  } else {
22806
3.39k
    if (yych <= 'd') {
22807
2.15k
      if (yych <= 'c') goto yy59;
22808
125
      goto yy856;
22809
2.15k
    } else {
22810
1.24k
      if (yych == 's') goto yy1155;
22811
638
      goto yy59;
22812
1.24k
    }
22813
3.39k
  }
22814
22.7k
yy1207:
22815
22.7k
  YYDEBUG(1207, *YYCURSOR);
22816
22.7k
  ++YYCURSOR;
22817
22.7k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
22818
22.7k
  yych = *YYCURSOR;
22819
69.0k
yy1208:
22820
69.0k
  YYDEBUG(1208, *YYCURSOR);
22821
69.0k
  if (yych <= '+') {
22822
35.3k
    if (yych <= ' ') {
22823
23.1k
      if (yych == '\t') goto yy1207;
22824
9.95k
      if (yych <= 0x1F) goto yy59;
22825
9.59k
      goto yy1207;
22826
12.2k
    } else {
22827
12.2k
      if (yych == '(') goto yy1209;
22828
8.85k
      if (yych <= '*') goto yy59;
22829
7.79k
      goto yy1210;
22830
8.85k
    }
22831
35.3k
  } else {
22832
33.6k
    if (yych <= 'F') {
22833
17.7k
      if (yych == '-') goto yy1210;
22834
13.2k
      if (yych <= '@') goto yy59;
22835
12.6k
      goto yy1211;
22836
15.8k
    } else {
22837
15.8k
      if (yych <= 'Z') {
22838
12.6k
        if (yych <= 'G') goto yy1212;
22839
5.11k
        goto yy1211;
22840
12.6k
      } else {
22841
3.24k
        if (yych <= '`') goto yy59;
22842
2.12k
        if (yych <= 'z') goto yy1213;
22843
626
        goto yy59;
22844
2.12k
      }
22845
15.8k
    }
22846
33.6k
  }
22847
11.9k
yy1209:
22848
11.9k
  YYDEBUG(1209, *YYCURSOR);
22849
11.9k
  yych = *++YYCURSOR;
22850
11.9k
  if (yych <= '@') goto yy59;
22851
9.40k
  if (yych <= 'Z') goto yy1213;
22852
4.93k
  if (yych <= '`') goto yy59;
22853
3.53k
  if (yych <= 'z') goto yy1213;
22854
2.24k
  goto yy59;
22855
52.8k
yy1210:
22856
52.8k
  YYDEBUG(1210, *YYCURSOR);
22857
52.8k
  yych = *++YYCURSOR;
22858
52.8k
  if (yych <= '/') goto yy59;
22859
41.7k
  if (yych <= '1') goto yy1255;
22860
18.5k
  if (yych <= '2') goto yy1256;
22861
9.43k
  if (yych <= '9') goto yy1257;
22862
4.87k
  goto yy59;
22863
64.1k
yy1211:
22864
64.1k
  YYDEBUG(1211, *YYCURSOR);
22865
64.1k
  yych = *++YYCURSOR;
22866
64.1k
  if (yych <= '@') {
22867
8.79k
    if (yych == ')') goto yy1078;
22868
7.24k
    goto yy849;
22869
55.3k
  } else {
22870
55.3k
    if (yych <= 'Z') goto yy1258;
22871
47.4k
    if (yych <= '`') goto yy849;
22872
47.3k
    if (yych <= 'z') goto yy1259;
22873
1.34k
    goto yy849;
22874
47.3k
  }
22875
52.0k
yy1212:
22876
52.0k
  YYDEBUG(1212, *YYCURSOR);
22877
52.0k
  yych = *++YYCURSOR;
22878
52.0k
  if (yych <= 'L') {
22879
4.34k
    if (yych == ')') goto yy1078;
22880
4.21k
    if (yych <= '@') goto yy849;
22881
1.58k
    goto yy1258;
22882
47.7k
  } else {
22883
47.7k
    if (yych <= 'Z') {
22884
30.0k
      if (yych <= 'M') goto yy1260;
22885
1.92k
      goto yy1258;
22886
30.0k
    } else {
22887
17.6k
      if (yych <= '`') goto yy849;
22888
16.3k
      if (yych <= 'z') goto yy1259;
22889
243
      goto yy849;
22890
16.3k
    }
22891
47.7k
  }
22892
26.5k
yy1213:
22893
26.5k
  YYDEBUG(1213, *YYCURSOR);
22894
26.5k
  yych = *++YYCURSOR;
22895
26.5k
  if (yych <= '@') {
22896
5.90k
    if (yych == ')') goto yy1078;
22897
5.15k
    goto yy849;
22898
20.6k
  } else {
22899
20.6k
    if (yych <= 'Z') goto yy1258;
22900
17.0k
    if (yych <= '`') goto yy849;
22901
14.5k
    if (yych <= 'z') goto yy1258;
22902
2.12k
    goto yy849;
22903
14.5k
  }
22904
20.9k
yy1214:
22905
20.9k
  YYDEBUG(1214, *YYCURSOR);
22906
20.9k
  ++YYCURSOR;
22907
20.9k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
22908
20.9k
  yych = *YYCURSOR;
22909
20.9k
  if (yych == 0xA0) goto yy1261;
22910
1.82k
  goto yy59;
22911
23.5k
yy1215:
22912
23.5k
  YYDEBUG(1215, *YYCURSOR);
22913
23.5k
  ++YYCURSOR;
22914
23.5k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
22915
23.5k
  yych = *YYCURSOR;
22916
23.5k
  if (yych == 0x80) goto yy1262;
22917
2.97k
  goto yy59;
22918
41.4k
yy1216:
22919
41.4k
  YYDEBUG(1216, *YYCURSOR);
22920
41.4k
  ++YYCURSOR;
22921
41.4k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
22922
41.4k
  yych = *YYCURSOR;
22923
247k
yy1217:
22924
247k
  YYDEBUG(1217, *YYCURSOR);
22925
247k
  if (yych <= '@') {
22926
71.5k
    if (yych <= '\'') {
22927
42.7k
      if (yych <= '\t') {
22928
12.9k
        if (yych <= 0x08) goto yy59;
22929
11.8k
        goto yy1216;
22930
29.7k
      } else {
22931
29.7k
        if (yych == ' ') goto yy1216;
22932
156
        goto yy59;
22933
29.7k
      }
22934
42.7k
    } else {
22935
28.8k
      if (yych <= '+') {
22936
13.8k
        if (yych <= '(') goto yy1209;
22937
11.9k
        if (yych <= '*') goto yy59;
22938
10.2k
        goto yy1210;
22939
14.9k
      } else {
22940
14.9k
        if (yych == '-') goto yy1210;
22941
3.36k
        goto yy59;
22942
14.9k
      }
22943
28.8k
    }
22944
176k
  } else {
22945
176k
    if (yych <= 'Z') {
22946
136k
      if (yych <= 'G') {
22947
108k
        if (yych <= 'A') goto yy1218;
22948
59.5k
        if (yych <= 'F') goto yy1211;
22949
38.6k
        goto yy1212;
22950
59.5k
      } else {
22951
28.1k
        if (yych != 'P') goto yy1211;
22952
28.1k
      }
22953
136k
    } else {
22954
40.0k
      if (yych <= 'o') {
22955
29.5k
        if (yych <= '`') goto yy59;
22956
28.8k
        if (yych <= 'a') goto yy1219;
22957
9.29k
        goto yy1213;
22958
28.8k
      } else {
22959
10.4k
        if (yych <= 'p') goto yy1219;
22960
6.81k
        if (yych <= 'z') goto yy1213;
22961
1.63k
        goto yy59;
22962
6.81k
      }
22963
40.0k
    }
22964
176k
  }
22965
76.2k
yy1218:
22966
76.2k
  YYDEBUG(1218, *YYCURSOR);
22967
76.2k
  yyaccept = 20;
22968
76.2k
  yych = *(YYMARKER = ++YYCURSOR);
22969
76.2k
  if (yych <= 'L') {
22970
21.0k
    if (yych <= '-') {
22971
6.12k
      if (yych == ')') goto yy1078;
22972
2.18k
      goto yy849;
22973
14.8k
    } else {
22974
14.8k
      if (yych <= '.') goto yy1151;
22975
5.81k
      if (yych <= '@') goto yy849;
22976
1.97k
      goto yy1258;
22977
5.81k
    }
22978
55.2k
  } else {
22979
55.2k
    if (yych <= '`') {
22980
11.0k
      if (yych <= 'M') goto yy1263;
22981
5.19k
      if (yych <= 'Z') goto yy1258;
22982
1.96k
      goto yy849;
22983
44.1k
    } else {
22984
44.1k
      if (yych == 'm') goto yy1264;
22985
17.4k
      if (yych <= 'z') goto yy1259;
22986
1.28k
      goto yy849;
22987
17.4k
    }
22988
55.2k
  }
22989
31.1k
yy1219:
22990
31.1k
  YYDEBUG(1219, *YYCURSOR);
22991
31.1k
  yyaccept = 20;
22992
31.1k
  yych = *(YYMARKER = ++YYCURSOR);
22993
31.1k
  if (yych <= 'L') {
22994
11.8k
    if (yych <= '-') {
22995
8.15k
      if (yych == ')') goto yy1078;
22996
4.12k
      goto yy849;
22997
8.15k
    } else {
22998
3.73k
      if (yych <= '.') goto yy1151;
22999
2.81k
      if (yych <= '@') goto yy849;
23000
1.39k
      goto yy1258;
23001
2.81k
    }
23002
19.2k
  } else {
23003
19.2k
    if (yych <= '`') {
23004
9.90k
      if (yych <= 'M') goto yy1263;
23005
2.36k
      if (yych <= 'Z') goto yy1258;
23006
1.25k
      goto yy849;
23007
9.32k
    } else {
23008
9.32k
      if (yych == 'm') goto yy1263;
23009
3.89k
      if (yych <= 'z') goto yy1258;
23010
488
      goto yy849;
23011
3.89k
    }
23012
19.2k
  }
23013
31.6k
yy1220:
23014
31.6k
  YYDEBUG(1220, *YYCURSOR);
23015
31.6k
  ++YYCURSOR;
23016
31.6k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
23017
31.6k
  yych = *YYCURSOR;
23018
31.6k
  if (yych == 0xA0) goto yy1265;
23019
1.74k
  goto yy59;
23020
38.0k
yy1221:
23021
38.0k
  YYDEBUG(1221, *YYCURSOR);
23022
38.0k
  ++YYCURSOR;
23023
38.0k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
23024
38.0k
  yych = *YYCURSOR;
23025
38.0k
  if (yych == 0x80) goto yy1266;
23026
2.26k
  goto yy59;
23027
21.9k
yy1222:
23028
21.9k
  YYDEBUG(1222, *YYCURSOR);
23029
21.9k
  ++YYCURSOR;
23030
21.9k
  YYDEBUG(1223, *YYCURSOR);
23031
21.9k
#line 1914 "ext/date/lib/parse_date.re"
23032
21.9k
  {
23033
21.9k
    DEBUG_OUTPUT("dateshortwithtimeshort12 | dateshortwithtimelong12");
23034
21.9k
    TIMELIB_INIT;
23035
21.9k
    TIMELIB_HAVE_DATE();
23036
9.63k
    s->time->m = timelib_get_month(&ptr);
23037
9.63k
    s->time->d = timelib_get_nr(&ptr, 2);
23038
23039
9.63k
    TIMELIB_HAVE_TIME();
23040
8.22k
    s->time->h = timelib_get_nr(&ptr, 2);
23041
8.22k
    s->time->i = timelib_get_nr(&ptr, 2);
23042
8.22k
    if (*ptr == ':' || *ptr == '.') {
23043
2.67k
      s->time->s = timelib_get_nr(&ptr, 2);
23044
23045
2.67k
      if (*ptr == '.') {
23046
0
        s->time->us = timelib_get_frac_nr(&ptr);
23047
0
      }
23048
2.67k
    }
23049
23050
8.22k
    s->time->h += timelib_meridian(&ptr, s->time->h);
23051
8.22k
    TIMELIB_DEINIT;
23052
8.22k
    return TIMELIB_SHORTDATE_WITH_TIME;
23053
9.63k
  }
23054
0
#line 23055 "ext/date/lib/parse_date.c"
23055
12.3k
yy1224:
23056
12.3k
  YYDEBUG(1224, *YYCURSOR);
23057
12.3k
  yych = *++YYCURSOR;
23058
12.3k
  if (yych <= '\t') {
23059
6.69k
    if (yych <= 0x00) goto yy1222;
23060
5.08k
    if (yych <= 0x08) goto yy59;
23061
3.87k
    goto yy1222;
23062
5.62k
  } else {
23063
5.62k
    if (yych == ' ') goto yy1222;
23064
3.50k
    goto yy59;
23065
5.62k
  }
23066
13.1k
yy1225:
23067
13.1k
  YYDEBUG(1225, *YYCURSOR);
23068
13.1k
  ++YYCURSOR;
23069
13.1k
  if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
23070
13.1k
  yych = *YYCURSOR;
23071
13.1k
  if (yych <= '`') {
23072
2.65k
    if (yych <= 'A') {
23073
1.31k
      if (yych <= '@') goto yy59;
23074
416
      goto yy1083;
23075
1.34k
    } else {
23076
1.34k
      if (yych == 'P') goto yy1083;
23077
1.14k
      goto yy59;
23078
1.34k
    }
23079
10.5k
  } else {
23080
10.5k
    if (yych <= 'p') {
23081
7.35k
      if (yych <= 'a') goto yy1083;
23082
7.05k
      if (yych <= 'o') goto yy59;
23083
3.02k
      goto yy1083;
23084
7.05k
    } else {
23085
3.19k
      if (yych == 0xE2) goto yy1085;
23086
431
      goto yy59;
23087
3.19k
    }
23088
10.5k
  }
23089
10.9k
yy1226:
23090
10.9k
  YYDEBUG(1226, *YYCURSOR);
23091
10.9k
  yych = *++YYCURSOR;
23092
10.9k
  if (yych == 'N') goto yy1227;
23093
5.51k
  if (yych != 'n') goto yy59;
23094
10.9k
yy1227:
23095
10.9k
  YYDEBUG(1227, *YYCURSOR);
23096
10.9k
  yych = *++YYCURSOR;
23097
10.9k
  if (yych == 'I') goto yy1267;
23098
5.18k
  if (yych == 'i') goto yy1267;
23099
1.59k
  goto yy59;
23100
8.61k
yy1228:
23101
8.61k
  YYDEBUG(1228, *YYCURSOR);
23102
8.61k
  yych = *++YYCURSOR;
23103
8.61k
  if (yych == 'F') goto yy1268;
23104
5.37k
  if (yych == 'f') goto yy1268;
23105
2.37k
  goto yy59;
23106
30.3k
yy1229:
23107
30.3k
  YYDEBUG(1229, *YYCURSOR);
23108
30.3k
  yych = *++YYCURSOR;
23109
30.3k
  if (yych == 'Y') goto yy1270;
23110
19.4k
  if (yych == 'y') goto yy1270;
23111
6.41k
  goto yy59;
23112
6.41k
yy1230:
23113
6.03k
  YYDEBUG(1230, *YYCURSOR);
23114
6.03k
  ++YYCURSOR;
23115
6.03k
  if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
23116
6.03k
  yych = *YYCURSOR;
23117
6.03k
  if (yych <= 'n') {
23118
2.45k
    if (yych == 'O') goto yy1228;
23119
211
    goto yy59;
23120
3.57k
  } else {
23121
3.57k
    if (yych <= 'o') goto yy1228;
23122
2.98k
    if (yych == 0xC2) goto yy1160;
23123
1.36k
    goto yy59;
23124
2.98k
  }
23125
8.27k
yy1231:
23126
8.27k
  YYDEBUG(1231, *YYCURSOR);
23127
8.27k
  ++YYCURSOR;
23128
8.27k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
23129
8.27k
  yych = *YYCURSOR;
23130
8.27k
  if (yych == 0xAF) goto yy1271;
23131
1.40k
  goto yy59;
23132
8.30k
yy1232:
23133
8.30k
  YYDEBUG(1232, *YYCURSOR);
23134
8.30k
  yych = *++YYCURSOR;
23135
8.30k
  if (yych == 'S') goto yy1272;
23136
4.25k
  if (yych == 's') goto yy1272;
23137
1.54k
  goto yy59;
23138
3.70k
yy1233:
23139
3.70k
  YYDEBUG(1233, *YYCURSOR);
23140
3.70k
  yych = *++YYCURSOR;
23141
3.70k
  if (yych == 'E') goto yy1086;
23142
2.94k
  if (yych == 'e') goto yy1086;
23143
834
  goto yy59;
23144
6.21k
yy1234:
23145
6.21k
  YYDEBUG(1234, *YYCURSOR);
23146
6.21k
  yych = *++YYCURSOR;
23147
6.21k
  if (yych == 'D') goto yy1086;
23148
1.81k
  if (yych == 'd') goto yy1086;
23149
1.45k
  goto yy59;
23150
3.18k
yy1235:
23151
3.18k
  YYDEBUG(1235, *YYCURSOR);
23152
3.18k
  yych = *++YYCURSOR;
23153
3.18k
  if (yych == 'F') goto yy1273;
23154
1.99k
  if (yych == 'f') goto yy1273;
23155
582
  goto yy59;
23156
4.81k
yy1236:
23157
4.81k
  YYDEBUG(1236, *YYCURSOR);
23158
4.81k
  yych = *++YYCURSOR;
23159
4.81k
  if (yych <= '/') goto yy59;
23160
2.74k
  if (yych <= '9') goto yy1275;
23161
1.06k
  goto yy59;
23162
5.54k
yy1237:
23163
5.54k
  YYDEBUG(1237, *YYCURSOR);
23164
5.54k
  yych = *++YYCURSOR;
23165
5.54k
  if (yych <= '/') goto yy59;
23166
5.01k
  if (yych <= '1') goto yy1275;
23167
2.64k
  goto yy59;
23168
169k
yy1238:
23169
169k
  YYDEBUG(1238, *YYCURSOR);
23170
169k
  yych = *++YYCURSOR;
23171
169k
  if (yych <= '9') {
23172
154k
    if (yych == '-') goto yy893;
23173
146k
    if (yych <= '/') goto yy196;
23174
141k
    goto yy1277;
23175
146k
  } else {
23176
14.3k
    if (yych <= 0xC2) {
23177
11.6k
      if (yych <= 0xC1) goto yy196;
23178
1.22k
      goto yy97;
23179
11.6k
    } else {
23180
2.62k
      if (yych == 0xE2) goto yy98;
23181
1.62k
      goto yy196;
23182
2.62k
    }
23183
14.3k
  }
23184
117k
yy1239:
23185
117k
  YYDEBUG(1239, *YYCURSOR);
23186
117k
  yych = *++YYCURSOR;
23187
117k
  if (yych <= '/') goto yy59;
23188
114k
  if (yych <= '1') goto yy1278;
23189
22.1k
  if (yych <= '2') goto yy1279;
23190
5.10k
  goto yy59;
23191
23.9k
yy1240:
23192
23.9k
  YYDEBUG(1240, *YYCURSOR);
23193
23.9k
  yych = *++YYCURSOR;
23194
23.9k
  if (yych <= '/') goto yy59;
23195
20.3k
  if (yych <= '5') goto yy1280;
23196
3.33k
  if (yych <= '9') goto yy1281;
23197
1.86k
  goto yy59;
23198
90.3k
yy1241:
23199
90.3k
  YYDEBUG(1241, *YYCURSOR);
23200
90.3k
  yych = *++YYCURSOR;
23201
90.3k
  if (yych <= '/') goto yy59;
23202
86.6k
  if (yych <= '1') goto yy1282;
23203
17.0k
  if (yych <= '2') goto yy1283;
23204
5.49k
  if (yych <= '9') goto yy1184;
23205
3.76k
  goto yy59;
23206
1.78M
yy1242:
23207
1.78M
  YYDEBUG(1242, *YYCURSOR);
23208
1.78M
  yych = *++YYCURSOR;
23209
1.78M
  if (yych <= 0xC1) {
23210
1.76M
    if (yych <= '/') goto yy196;
23211
1.72M
    if (yych <= '9') goto yy1284;
23212
80.3k
    goto yy196;
23213
1.72M
  } else {
23214
22.5k
    if (yych <= 0xC2) goto yy97;
23215
14.9k
    if (yych == 0xE2) goto yy98;
23216
6.88k
    goto yy196;
23217
14.9k
  }
23218
20.4k
yy1243:
23219
20.4k
  YYDEBUG(1243, *YYCURSOR);
23220
20.4k
  yych = *++YYCURSOR;
23221
20.4k
  if (yych <= '/') goto yy59;
23222
19.7k
  if (yych <= '5') goto yy1285;
23223
13.5k
  if (yych <= '9') goto yy1286;
23224
9.53k
  if (yych >= ';') goto yy59;
23225
14.0k
yy1244:
23226
14.0k
  YYDEBUG(1244, *YYCURSOR);
23227
14.0k
  yych = *++YYCURSOR;
23228
14.0k
  if (yych <= '/') goto yy59;
23229
12.9k
  if (yych <= '5') goto yy1287;
23230
6.08k
  goto yy59;
23231
10.7k
yy1245:
23232
10.7k
  YYDEBUG(1245, *YYCURSOR);
23233
10.7k
  yych = *++YYCURSOR;
23234
10.7k
  if (yych <= '/') goto yy59;
23235
4.21k
  if (yych <= '9') goto yy1286;
23236
1.88k
  goto yy59;
23237
8.37k
yy1246:
23238
8.37k
  YYDEBUG(1246, *YYCURSOR);
23239
8.37k
  yych = *++YYCURSOR;
23240
8.37k
  if (yych <= '/') goto yy59;
23241
8.27k
  if (yych <= '5') goto yy1285;
23242
2.37k
  if (yych <= '9') goto yy1286;
23243
1.09k
  goto yy59;
23244
6.28k
yy1247:
23245
6.28k
  YYDEBUG(1247, *YYCURSOR);
23246
6.28k
  yych = *++YYCURSOR;
23247
6.28k
  if (yych <= '/') goto yy59;
23248
5.49k
  if (yych <= '1') goto yy1288;
23249
3.87k
  if (yych <= '2') goto yy1289;
23250
375
  goto yy59;
23251
3.42k
yy1248:
23252
3.42k
  YYDEBUG(1248, *YYCURSOR);
23253
3.42k
  yych = *++YYCURSOR;
23254
3.42k
  if (yych == 'M') goto yy1249;
23255
2.39k
  if (yych != 'm') goto yy59;
23256
12.8k
yy1249:
23257
12.8k
  YYDEBUG(1249, *YYCURSOR);
23258
12.8k
  yych = *++YYCURSOR;
23259
12.8k
  if (yych <= 0x1F) {
23260
1.90k
    if (yych <= 0x00) goto yy1290;
23261
1.36k
    if (yych == '\t') goto yy1290;
23262
293
    goto yy59;
23263
10.9k
  } else {
23264
10.9k
    if (yych <= ' ') goto yy1290;
23265
7.87k
    if (yych == '.') goto yy1292;
23266
1.09k
    goto yy59;
23267
7.87k
  }
23268
3.22k
yy1250:
23269
3.22k
  YYDEBUG(1250, *YYCURSOR);
23270
3.22k
  ++YYCURSOR;
23271
3.22k
  goto yy1070;
23272
4.59k
yy1251:
23273
4.59k
  YYDEBUG(1251, *YYCURSOR);
23274
4.59k
  yych = *++YYCURSOR;
23275
4.59k
  if (yych == 'M') goto yy1252;
23276
1.84k
  if (yych != 'm') goto yy59;
23277
23.4k
yy1252:
23278
23.4k
  YYDEBUG(1252, *YYCURSOR);
23279
23.4k
  yych = *++YYCURSOR;
23280
23.4k
  if (yych <= 0x1F) {
23281
6.31k
    if (yych <= 0x00) goto yy1293;
23282
3.48k
    if (yych == '\t') goto yy1293;
23283
2.71k
    goto yy59;
23284
17.1k
  } else {
23285
17.1k
    if (yych <= ' ') goto yy1293;
23286
12.8k
    if (yych == '.') goto yy1294;
23287
1.71k
    goto yy59;
23288
12.8k
  }
23289
24.5k
yy1253:
23290
24.5k
  YYDEBUG(1253, *YYCURSOR);
23291
24.5k
  ++YYCURSOR;
23292
24.5k
  if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
23293
24.5k
  yych = *YYCURSOR;
23294
24.5k
  if (yych <= '`') {
23295
7.63k
    if (yych <= 'A') {
23296
3.89k
      if (yych <= '@') goto yy59;
23297
2.18k
      goto yy1203;
23298
3.89k
    } else {
23299
3.73k
      if (yych == 'P') goto yy1203;
23300
2.64k
      goto yy59;
23301
3.73k
    }
23302
16.9k
  } else {
23303
16.9k
    if (yych <= 'p') {
23304
5.60k
      if (yych <= 'a') goto yy1203;
23305
821
      if (yych <= 'o') goto yy59;
23306
574
      goto yy1203;
23307
11.3k
    } else {
23308
11.3k
      if (yych == 0xC2) goto yy1204;
23309
2.12k
      goto yy59;
23310
11.3k
    }
23311
16.9k
  }
23312
32.9k
yy1254:
23313
32.9k
  YYDEBUG(1254, *YYCURSOR);
23314
32.9k
  ++YYCURSOR;
23315
32.9k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
23316
32.9k
  yych = *YYCURSOR;
23317
32.9k
  if (yych == 0xAF) goto yy1295;
23318
2.15k
  goto yy59;
23319
23.1k
yy1255:
23320
23.1k
  YYDEBUG(1255, *YYCURSOR);
23321
23.1k
  yyaccept = 20;
23322
23.1k
  yych = *(YYMARKER = ++YYCURSOR);
23323
23.1k
  if (yych <= '/') goto yy849;
23324
21.0k
  if (yych <= '9') goto yy1296;
23325
3.60k
  if (yych <= ':') goto yy1297;
23326
1.92k
  goto yy849;
23327
9.09k
yy1256:
23328
9.09k
  YYDEBUG(1256, *YYCURSOR);
23329
9.09k
  yyaccept = 20;
23330
9.09k
  yych = *(YYMARKER = ++YYCURSOR);
23331
9.09k
  if (yych <= '5') {
23332
6.33k
    if (yych <= '/') goto yy849;
23333
6.01k
    if (yych <= '4') goto yy1296;
23334
2.22k
    goto yy1298;
23335
6.01k
  } else {
23336
2.75k
    if (yych <= '9') goto yy1078;
23337
1.09k
    if (yych <= ':') goto yy1297;
23338
406
    goto yy849;
23339
1.09k
  }
23340
4.56k
yy1257:
23341
4.56k
  YYDEBUG(1257, *YYCURSOR);
23342
4.56k
  yyaccept = 20;
23343
4.56k
  yych = *(YYMARKER = ++YYCURSOR);
23344
4.56k
  if (yych <= '/') goto yy849;
23345
2.92k
  if (yych <= '5') goto yy1298;
23346
1.91k
  if (yych <= '9') goto yy1078;
23347
1.09k
  if (yych <= ':') goto yy1297;
23348
738
  goto yy849;
23349
38.5k
yy1258:
23350
38.5k
  YYDEBUG(1258, *YYCURSOR);
23351
38.5k
  yych = *++YYCURSOR;
23352
38.5k
  if (yych <= '@') {
23353
8.61k
    if (yych == ')') goto yy1078;
23354
7.85k
    goto yy849;
23355
29.9k
  } else {
23356
29.9k
    if (yych <= 'Z') goto yy1299;
23357
21.0k
    if (yych <= '`') goto yy849;
23358
18.9k
    if (yych <= 'z') goto yy1299;
23359
4.31k
    goto yy849;
23360
18.9k
  }
23361
78.2k
yy1259:
23362
78.2k
  YYDEBUG(1259, *YYCURSOR);
23363
78.2k
  yyaccept = 20;
23364
78.2k
  yych = *(YYMARKER = ++YYCURSOR);
23365
78.2k
  if (yych <= '/') {
23366
8.54k
    if (yych <= ',') {
23367
2.75k
      if (yych == ')') goto yy1078;
23368
2.09k
      goto yy849;
23369
5.79k
    } else {
23370
5.79k
      if (yych == '.') goto yy849;
23371
1.52k
      goto yy1300;
23372
5.79k
    }
23373
69.7k
  } else {
23374
69.7k
    if (yych <= '^') {
23375
10.1k
      if (yych <= '@') goto yy849;
23376
6.23k
      if (yych <= 'Z') goto yy1299;
23377
2.20k
      goto yy849;
23378
59.5k
    } else {
23379
59.5k
      if (yych <= '_') goto yy1300;
23380
56.8k
      if (yych <= '`') goto yy849;
23381
55.0k
      if (yych <= 'z') goto yy1301;
23382
3.99k
      goto yy849;
23383
55.0k
    }
23384
69.7k
  }
23385
28.1k
yy1260:
23386
28.1k
  YYDEBUG(1260, *YYCURSOR);
23387
28.1k
  yych = *++YYCURSOR;
23388
28.1k
  if (yych <= 'S') {
23389
4.44k
    if (yych == ')') goto yy1078;
23390
3.03k
    if (yych <= '@') goto yy849;
23391
1.22k
    goto yy1299;
23392
23.6k
  } else {
23393
23.6k
    if (yych <= 'Z') {
23394
20.6k
      if (yych <= 'T') goto yy1302;
23395
590
      goto yy1299;
23396
20.6k
    } else {
23397
2.98k
      if (yych <= '`') goto yy849;
23398
2.01k
      if (yych <= 'z') goto yy1299;
23399
470
      goto yy849;
23400
2.01k
    }
23401
23.6k
  }
23402
19.1k
yy1261:
23403
19.1k
  YYDEBUG(1261, *YYCURSOR);
23404
19.1k
  ++YYCURSOR;
23405
19.1k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
23406
19.1k
  yych = *YYCURSOR;
23407
19.1k
  if (yych <= '@') {
23408
10.7k
    if (yych <= '*') {
23409
2.66k
      if (yych == '(') goto yy1209;
23410
564
      goto yy59;
23411
8.05k
    } else {
23412
8.05k
      if (yych == ',') goto yy59;
23413
4.44k
      if (yych <= '-') goto yy1210;
23414
1.68k
      goto yy59;
23415
4.44k
    }
23416
10.7k
  } else {
23417
8.45k
    if (yych <= '`') {
23418
4.10k
      if (yych == 'G') goto yy1212;
23419
352
      if (yych <= 'Z') goto yy1211;
23420
135
      goto yy59;
23421
4.35k
    } else {
23422
4.35k
      if (yych <= 'z') goto yy1213;
23423
3.95k
      if (yych == 0xC2) goto yy1214;
23424
1.93k
      goto yy59;
23425
3.95k
    }
23426
8.45k
  }
23427
20.6k
yy1262:
23428
20.6k
  YYDEBUG(1262, *YYCURSOR);
23429
20.6k
  ++YYCURSOR;
23430
20.6k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
23431
20.6k
  yych = *YYCURSOR;
23432
20.6k
  if (yych == 0xAF) goto yy1303;
23433
770
  goto yy59;
23434
18.8k
yy1263:
23435
18.8k
  YYDEBUG(1263, *YYCURSOR);
23436
18.8k
  yyaccept = 20;
23437
18.8k
  yych = *(YYMARKER = ++YYCURSOR);
23438
18.8k
  if (yych <= ')') {
23439
6.53k
    if (yych <= '\t') {
23440
2.85k
      if (yych <= 0x00) goto yy1222;
23441
2.15k
      if (yych <= 0x08) goto yy849;
23442
1.09k
      goto yy1222;
23443
3.68k
    } else {
23444
3.68k
      if (yych == ' ') goto yy1222;
23445
3.24k
      if (yych <= '(') goto yy849;
23446
1.48k
      goto yy1078;
23447
3.24k
    }
23448
12.3k
  } else {
23449
12.3k
    if (yych <= '@') {
23450
5.38k
      if (yych == '.') goto yy1224;
23451
1.36k
      goto yy849;
23452
6.92k
    } else {
23453
6.92k
      if (yych <= 'Z') goto yy1299;
23454
4.94k
      if (yych <= '`') goto yy849;
23455
3.45k
      if (yych <= 'z') goto yy1299;
23456
1.71k
      goto yy849;
23457
3.45k
    }
23458
12.3k
  }
23459
26.7k
yy1264:
23460
26.7k
  YYDEBUG(1264, *YYCURSOR);
23461
26.7k
  yyaccept = 20;
23462
26.7k
  yych = *(YYMARKER = ++YYCURSOR);
23463
26.7k
  if (yych <= '-') {
23464
11.3k
    if (yych <= 0x1F) {
23465
3.72k
      if (yych <= 0x00) goto yy1222;
23466
942
      if (yych == '\t') goto yy1222;
23467
529
      goto yy849;
23468
7.63k
    } else {
23469
7.63k
      if (yych <= '(') {
23470
4.28k
        if (yych <= ' ') goto yy1222;
23471
1.63k
        goto yy849;
23472
4.28k
      } else {
23473
3.35k
        if (yych <= ')') goto yy1078;
23474
2.25k
        if (yych <= ',') goto yy849;
23475
462
        goto yy1300;
23476
2.25k
      }
23477
7.63k
    }
23478
15.3k
  } else {
23479
15.3k
    if (yych <= 'Z') {
23480
6.84k
      if (yych <= '.') goto yy1224;
23481
4.97k
      if (yych <= '/') goto yy1300;
23482
3.97k
      if (yych <= '@') goto yy849;
23483
2.54k
      goto yy1299;
23484
8.51k
    } else {
23485
8.51k
      if (yych <= '_') {
23486
1.34k
        if (yych <= '^') goto yy849;
23487
355
        goto yy1300;
23488
7.17k
      } else {
23489
7.17k
        if (yych <= '`') goto yy849;
23490
6.41k
        if (yych <= 'z') goto yy1301;
23491
2.68k
        goto yy849;
23492
6.41k
      }
23493
8.51k
    }
23494
15.3k
  }
23495
29.8k
yy1265:
23496
29.8k
  YYDEBUG(1265, *YYCURSOR);
23497
29.8k
  ++YYCURSOR;
23498
29.8k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
23499
29.8k
  yych = *YYCURSOR;
23500
29.8k
  if (yych <= 'G') {
23501
12.4k
    if (yych <= ',') {
23502
7.82k
      if (yych <= '(') {
23503
3.52k
        if (yych <= '\'') goto yy59;
23504
901
        goto yy1209;
23505
4.29k
      } else {
23506
4.29k
        if (yych == '+') goto yy1210;
23507
877
        goto yy59;
23508
4.29k
      }
23509
7.82k
    } else {
23510
4.64k
      if (yych <= '@') {
23511
590
        if (yych <= '-') goto yy1210;
23512
195
        goto yy59;
23513
4.05k
      } else {
23514
4.05k
        if (yych <= 'A') goto yy1218;
23515
1.42k
        if (yych <= 'F') goto yy1211;
23516
599
        goto yy1212;
23517
1.42k
      }
23518
4.64k
    }
23519
17.3k
  } else {
23520
17.3k
    if (yych <= 'a') {
23521
8.54k
      if (yych <= 'P') {
23522
5.78k
        if (yych <= 'O') goto yy1211;
23523
3.22k
        goto yy1218;
23524
5.78k
      } else {
23525
2.75k
        if (yych <= 'Z') goto yy1211;
23526
1.92k
        if (yych <= '`') goto yy59;
23527
1.52k
        goto yy1219;
23528
1.92k
      }
23529
8.85k
    } else {
23530
8.85k
      if (yych <= 'z') {
23531
1.43k
        if (yych == 'p') goto yy1219;
23532
1.27k
        goto yy1213;
23533
7.41k
      } else {
23534
7.41k
        if (yych == 0xC2) goto yy1220;
23535
1.06k
        goto yy59;
23536
7.41k
      }
23537
8.85k
    }
23538
17.3k
  }
23539
35.7k
yy1266:
23540
35.7k
  YYDEBUG(1266, *YYCURSOR);
23541
35.7k
  ++YYCURSOR;
23542
35.7k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
23543
35.7k
  yych = *YYCURSOR;
23544
35.7k
  if (yych == 0xAF) goto yy1304;
23545
4.72k
  goto yy59;
23546
9.34k
yy1267:
23547
9.34k
  YYDEBUG(1267, *YYCURSOR);
23548
9.34k
  yych = *++YYCURSOR;
23549
9.34k
  if (yych == 'G') goto yy1305;
23550
4.70k
  if (yych == 'g') goto yy1305;
23551
1.38k
  goto yy59;
23552
6.24k
yy1268:
23553
6.24k
  YYDEBUG(1268, *YYCURSOR);
23554
6.24k
  ++YYCURSOR;
23555
6.24k
  YYDEBUG(1269, *YYCURSOR);
23556
6.24k
#line 1327 "ext/date/lib/parse_date.re"
23557
6.24k
  {
23558
6.24k
    timelib_sll i;
23559
6.24k
    int         behavior = 0;
23560
6.24k
    DEBUG_OUTPUT("weekdayof");
23561
6.24k
    TIMELIB_INIT;
23562
6.24k
    TIMELIB_HAVE_RELATIVE();
23563
6.24k
    TIMELIB_HAVE_SPECIAL_RELATIVE();
23564
23565
6.24k
    i = timelib_get_relative_text(&ptr, &behavior);
23566
6.24k
    timelib_eat_spaces(&ptr);
23567
6.24k
    if (i > 0) { /* first, second... etc */
23568
3.62k
      s->time->relative.special.type = TIMELIB_SPECIAL_DAY_OF_WEEK_IN_MONTH;
23569
3.62k
      timelib_set_relative(&ptr, i, 1, s, TIMELIB_TIME_PART_DONT_KEEP);
23570
3.62k
    } else { /* last */
23571
2.61k
      s->time->relative.special.type = TIMELIB_SPECIAL_LAST_DAY_OF_WEEK_IN_MONTH;
23572
2.61k
      timelib_set_relative(&ptr, i, behavior, s, TIMELIB_TIME_PART_DONT_KEEP);
23573
2.61k
    }
23574
6.24k
    TIMELIB_DEINIT;
23575
6.24k
    return TIMELIB_WEEK_DAY_OF_MONTH;
23576
4.70k
  }
23577
0
#line 23578 "ext/date/lib/parse_date.c"
23578
23.9k
yy1270:
23579
23.9k
  YYDEBUG(1270, *YYCURSOR);
23580
23.9k
  yyaccept = 24;
23581
23.9k
  yych = *(YYMARKER = ++YYCURSOR);
23582
23.9k
  if (yych <= 'S') {
23583
11.8k
    if (yych <= 0x1F) {
23584
3.82k
      if (yych == '\t') goto yy1157;
23585
1.85k
      goto yy982;
23586
8.03k
    } else {
23587
8.03k
      if (yych <= ' ') goto yy1157;
23588
6.01k
      if (yych <= 'R') goto yy982;
23589
3.90k
      goto yy1306;
23590
6.01k
    }
23591
12.0k
  } else {
23592
12.0k
    if (yych <= 0xC1) {
23593
9.21k
      if (yych == 's') goto yy1306;
23594
1.77k
      goto yy982;
23595
9.21k
    } else {
23596
2.83k
      if (yych <= 0xC2) goto yy1160;
23597
2.35k
      if (yych == 0xE2) goto yy1161;
23598
1.17k
      goto yy982;
23599
2.35k
    }
23600
12.0k
  }
23601
6.86k
yy1271:
23602
6.86k
  YYDEBUG(1271, *YYCURSOR);
23603
6.86k
  ++YYCURSOR;
23604
6.86k
  if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
23605
6.86k
  yych = *YYCURSOR;
23606
6.86k
  if (yych <= 'n') {
23607
2.18k
    if (yych == 'O') goto yy1228;
23608
1.91k
    goto yy59;
23609
4.68k
  } else {
23610
4.68k
    if (yych <= 'o') goto yy1228;
23611
3.90k
    if (yych == 0xE2) goto yy1161;
23612
354
    goto yy59;
23613
3.90k
  }
23614
6.76k
yy1272:
23615
6.76k
  YYDEBUG(1272, *YYCURSOR);
23616
6.76k
  yych = *++YYCURSOR;
23617
6.76k
  if (yych == 'E') goto yy1307;
23618
6.18k
  if (yych == 'e') goto yy1307;
23619
1.37k
  goto yy59;
23620
2.60k
yy1273:
23621
2.60k
  YYDEBUG(1273, *YYCURSOR);
23622
2.60k
  ++YYCURSOR;
23623
2.60k
  YYDEBUG(1274, *YYCURSOR);
23624
2.60k
#line 1287 "ext/date/lib/parse_date.re"
23625
2.60k
  {
23626
2.60k
    DEBUG_OUTPUT("firstdayof | lastdayof");
23627
2.60k
    TIMELIB_INIT;
23628
2.60k
    TIMELIB_HAVE_RELATIVE();
23629
23630
    /* skip "last day of" or "first day of" */
23631
2.60k
    if (*ptr == 'l' || *ptr == 'L') {
23632
2.23k
      s->time->relative.first_last_day_of = TIMELIB_SPECIAL_LAST_DAY_OF_MONTH;
23633
2.23k
    } else {
23634
376
      s->time->relative.first_last_day_of = TIMELIB_SPECIAL_FIRST_DAY_OF_MONTH;
23635
376
    }
23636
23637
2.60k
    TIMELIB_DEINIT;
23638
2.60k
    return TIMELIB_LF_DAY_OF_MONTH;
23639
6.18k
  }
23640
0
#line 23641 "ext/date/lib/parse_date.c"
23641
4.05k
yy1275:
23642
4.05k
  YYDEBUG(1275, *YYCURSOR);
23643
4.05k
  ++YYCURSOR;
23644
4.05k
  YYDEBUG(1276, *YYCURSOR);
23645
4.05k
#line 1523 "ext/date/lib/parse_date.re"
23646
4.05k
  {
23647
4.05k
    DEBUG_OUTPUT("iso8601datex");
23648
4.05k
    TIMELIB_INIT;
23649
4.05k
    TIMELIB_HAVE_DATE();
23650
613
    s->time->y = timelib_get_signed_nr(s, &ptr, 19);
23651
613
    s->time->m = timelib_get_nr(&ptr, 2);
23652
613
    s->time->d = timelib_get_nr(&ptr, 2);
23653
613
    TIMELIB_DEINIT;
23654
613
    return TIMELIB_ISO_DATE;
23655
4.05k
  }
23656
0
#line 23657 "ext/date/lib/parse_date.c"
23657
141k
yy1277:
23658
141k
  YYDEBUG(1277, *YYCURSOR);
23659
141k
  yych = *++YYCURSOR;
23660
141k
  if (yych <= '9') {
23661
128k
    if (yych == '-') goto yy893;
23662
127k
    if (yych <= '/') goto yy196;
23663
123k
    goto yy1308;
23664
127k
  } else {
23665
12.2k
    if (yych <= 0xC2) {
23666
10.4k
      if (yych <= 0xC1) goto yy196;
23667
2.31k
      goto yy97;
23668
10.4k
    } else {
23669
1.84k
      if (yych == 0xE2) goto yy98;
23670
1.23k
      goto yy196;
23671
1.84k
    }
23672
12.2k
  }
23673
92.5k
yy1278:
23674
92.5k
  YYDEBUG(1278, *YYCURSOR);
23675
92.5k
  yych = *++YYCURSOR;
23676
92.5k
  if (yych <= '/') goto yy59;
23677
90.4k
  if (yych <= '9') goto yy1309;
23678
3.86k
  goto yy59;
23679
17.0k
yy1279:
23680
17.0k
  YYDEBUG(1279, *YYCURSOR);
23681
17.0k
  yych = *++YYCURSOR;
23682
17.0k
  if (yych <= '/') goto yy59;
23683
14.3k
  if (yych <= '4') goto yy1309;
23684
2.08k
  goto yy59;
23685
16.9k
yy1280:
23686
16.9k
  YYDEBUG(1280, *YYCURSOR);
23687
16.9k
  yych = *++YYCURSOR;
23688
16.9k
  if (yych <= '/') goto yy59;
23689
15.0k
  if (yych <= '9') goto yy1281;
23690
9.67k
  if (yych <= ':') goto yy1310;
23691
2.08k
  goto yy59;
23692
7.13k
yy1281:
23693
7.13k
  YYDEBUG(1281, *YYCURSOR);
23694
7.13k
  yych = *++YYCURSOR;
23695
7.13k
  if (yych == ':') goto yy1310;
23696
5.94k
  goto yy59;
23697
69.5k
yy1282:
23698
69.5k
  YYDEBUG(1282, *YYCURSOR);
23699
69.5k
  yych = *++YYCURSOR;
23700
69.5k
  if (yych <= '/') goto yy59;
23701
68.1k
  if (yych <= '9') goto yy1311;
23702
4.35k
  if (yych <= ':') goto yy1240;
23703
1.72k
  goto yy59;
23704
11.5k
yy1283:
23705
11.5k
  YYDEBUG(1283, *YYCURSOR);
23706
11.5k
  yych = *++YYCURSOR;
23707
11.5k
  if (yych <= '/') goto yy59;
23708
11.0k
  if (yych <= '4') goto yy1311;
23709
3.49k
  if (yych == ':') goto yy1240;
23710
1.14k
  goto yy59;
23711
1.64M
yy1284:
23712
1.64M
  YYDEBUG(1284, *YYCURSOR);
23713
1.64M
  yych = *++YYCURSOR;
23714
1.64M
  if (yych <= 0xC1) {
23715
1.61M
    if (yych <= '/') goto yy196;
23716
1.59M
    if (yych <= '9') goto yy1312;
23717
107k
    goto yy196;
23718
1.59M
  } else {
23719
35.8k
    if (yych <= 0xC2) goto yy97;
23720
32.8k
    if (yych == 0xE2) goto yy98;
23721
10.5k
    goto yy196;
23722
32.8k
  }
23723
12.0k
yy1285:
23724
12.0k
  YYDEBUG(1285, *YYCURSOR);
23725
12.0k
  yych = *++YYCURSOR;
23726
12.0k
  if (yych <= '/') goto yy59;
23727
11.1k
  if (yych <= '5') goto yy1310;
23728
7.66k
  if (yych <= '6') goto yy1313;
23729
2.51k
  if (yych >= ':') goto yy59;
23730
11.0k
yy1286:
23731
11.0k
  YYDEBUG(1286, *YYCURSOR);
23732
11.0k
  yych = *++YYCURSOR;
23733
11.0k
  if (yych <= '/') goto yy59;
23734
7.15k
  if (yych <= '5') goto yy1314;
23735
5.27k
  if (yych <= '6') goto yy1315;
23736
4.17k
  goto yy59;
23737
6.90k
yy1287:
23738
6.90k
  YYDEBUG(1287, *YYCURSOR);
23739
6.90k
  yych = *++YYCURSOR;
23740
6.90k
  if (yych <= '/') goto yy59;
23741
5.28k
  if (yych <= '9') goto yy1316;
23742
4.10k
  goto yy59;
23743
4.10k
yy1288:
23744
1.61k
  YYDEBUG(1288, *YYCURSOR);
23745
1.61k
  yych = *++YYCURSOR;
23746
1.61k
  if (yych <= '/') goto yy59;
23747
1.14k
  if (yych <= '9') goto yy1317;
23748
734
  goto yy59;
23749
3.50k
yy1289:
23750
3.50k
  YYDEBUG(1289, *YYCURSOR);
23751
3.50k
  yych = *++YYCURSOR;
23752
3.50k
  if (yych <= '/') goto yy59;
23753
1.30k
  if (yych <= '4') goto yy1317;
23754
655
  goto yy59;
23755
8.84k
yy1290:
23756
8.84k
  YYDEBUG(1290, *YYCURSOR);
23757
8.84k
  ++YYCURSOR;
23758
8.84k
  YYDEBUG(1291, *YYCURSOR);
23759
8.84k
#line 1367 "ext/date/lib/parse_date.re"
23760
8.84k
  {
23761
8.84k
    DEBUG_OUTPUT("mssqltime");
23762
8.84k
    TIMELIB_INIT;
23763
8.84k
    TIMELIB_HAVE_TIME();
23764
2.46k
    s->time->h = timelib_get_nr(&ptr, 2);
23765
2.46k
    s->time->i = timelib_get_nr(&ptr, 2);
23766
2.46k
    if (*ptr == ':' || *ptr == '.') {
23767
2.46k
      s->time->s = timelib_get_nr(&ptr, 2);
23768
23769
2.46k
      if (*ptr == ':' || *ptr == '.') {
23770
2.46k
        s->time->us = timelib_get_frac_nr(&ptr);
23771
2.46k
      }
23772
2.46k
    }
23773
2.46k
    timelib_eat_spaces(&ptr);
23774
2.46k
    s->time->h += timelib_meridian(&ptr, s->time->h);
23775
2.46k
    TIMELIB_DEINIT;
23776
2.46k
    return TIMELIB_TIME24_WITH_ZONE;
23777
8.84k
  }
23778
0
#line 23779 "ext/date/lib/parse_date.c"
23779
6.77k
yy1292:
23780
6.77k
  YYDEBUG(1292, *YYCURSOR);
23781
6.77k
  yych = *++YYCURSOR;
23782
6.77k
  if (yych <= '\t') {
23783
3.62k
    if (yych <= 0x00) goto yy1290;
23784
2.89k
    if (yych <= 0x08) goto yy59;
23785
1.93k
    goto yy1290;
23786
3.15k
  } else {
23787
3.15k
    if (yych == ' ') goto yy1290;
23788
1.70k
    goto yy59;
23789
3.15k
  }
23790
14.4k
yy1293:
23791
14.4k
  YYDEBUG(1293, *YYCURSOR);
23792
14.4k
  ++YYCURSOR;
23793
14.4k
  goto yy1145;
23794
11.1k
yy1294:
23795
11.1k
  YYDEBUG(1294, *YYCURSOR);
23796
11.1k
  yych = *++YYCURSOR;
23797
11.1k
  if (yych <= '\t') {
23798
6.76k
    if (yych <= 0x00) goto yy1293;
23799
3.10k
    if (yych <= 0x08) goto yy59;
23800
1.05k
    goto yy1293;
23801
4.36k
  } else {
23802
4.36k
    if (yych == ' ') goto yy1293;
23803
2.53k
    goto yy59;
23804
4.36k
  }
23805
30.8k
yy1295:
23806
30.8k
  YYDEBUG(1295, *YYCURSOR);
23807
30.8k
  ++YYCURSOR;
23808
30.8k
  if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
23809
30.8k
  yych = *YYCURSOR;
23810
30.8k
  if (yych <= '`') {
23811
2.21k
    if (yych <= 'A') {
23812
1.45k
      if (yych <= '@') goto yy59;
23813
185
      goto yy1203;
23814
1.45k
    } else {
23815
756
      if (yych == 'P') goto yy1203;
23816
465
      goto yy59;
23817
756
    }
23818
28.5k
  } else {
23819
28.5k
    if (yych <= 'p') {
23820
7.68k
      if (yych <= 'a') goto yy1203;
23821
6.85k
      if (yych <= 'o') goto yy59;
23822
5.30k
      goto yy1203;
23823
20.9k
    } else {
23824
20.9k
      if (yych == 0xE2) goto yy1205;
23825
2.14k
      goto yy59;
23826
20.9k
    }
23827
28.5k
  }
23828
21.2k
yy1296:
23829
21.2k
  YYDEBUG(1296, *YYCURSOR);
23830
21.2k
  yyaccept = 20;
23831
21.2k
  yych = *(YYMARKER = ++YYCURSOR);
23832
21.2k
  if (yych <= '/') goto yy849;
23833
20.1k
  if (yych <= '5') goto yy1318;
23834
10.3k
  if (yych <= '9') goto yy1078;
23835
8.28k
  if (yych <= ':') goto yy1319;
23836
2.42k
  goto yy849;
23837
2.72k
yy1297:
23838
2.72k
  YYDEBUG(1297, *YYCURSOR);
23839
2.72k
  yych = *++YYCURSOR;
23840
2.72k
  if (yych <= '/') goto yy59;
23841
2.62k
  if (yych <= '5') goto yy1298;
23842
1.27k
  if (yych <= '9') goto yy1078;
23843
763
  goto yy59;
23844
4.58k
yy1298:
23845
4.58k
  YYDEBUG(1298, *YYCURSOR);
23846
4.58k
  yych = *++YYCURSOR;
23847
4.58k
  if (yych <= '/') goto yy849;
23848
3.78k
  if (yych <= '9') goto yy1078;
23849
2.88k
  goto yy849;
23850
37.1k
yy1299:
23851
37.1k
  YYDEBUG(1299, *YYCURSOR);
23852
37.1k
  yych = *++YYCURSOR;
23853
37.1k
  if (yych <= '@') {
23854
11.5k
    if (yych == ')') goto yy1078;
23855
10.5k
    goto yy849;
23856
25.6k
  } else {
23857
25.6k
    if (yych <= 'Z') goto yy1320;
23858
19.3k
    if (yych <= '`') goto yy849;
23859
17.6k
    if (yych <= 'z') goto yy1320;
23860
2.31k
    goto yy849;
23861
17.6k
  }
23862
43.0k
yy1300:
23863
43.0k
  YYDEBUG(1300, *YYCURSOR);
23864
43.0k
  ++YYCURSOR;
23865
43.0k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
23866
43.0k
  yych = *YYCURSOR;
23867
43.0k
  if (yych <= '@') goto yy59;
23868
38.0k
  if (yych <= 'Z') goto yy1321;
23869
26.9k
  if (yych <= '`') goto yy59;
23870
26.6k
  if (yych <= 'z') goto yy1321;
23871
2.79k
  goto yy59;
23872
54.7k
yy1301:
23873
54.7k
  YYDEBUG(1301, *YYCURSOR);
23874
54.7k
  yyaccept = 20;
23875
54.7k
  yych = *(YYMARKER = ++YYCURSOR);
23876
54.7k
  if (yych <= '/') {
23877
3.40k
    if (yych <= ',') {
23878
1.61k
      if (yych == ')') goto yy1078;
23879
624
      goto yy849;
23880
1.79k
    } else {
23881
1.79k
      if (yych == '.') goto yy849;
23882
1.28k
      goto yy1300;
23883
1.79k
    }
23884
51.3k
  } else {
23885
51.3k
    if (yych <= '^') {
23886
7.75k
      if (yych <= '@') goto yy849;
23887
6.94k
      if (yych <= 'Z') goto yy1320;
23888
580
      goto yy849;
23889
43.6k
    } else {
23890
43.6k
      if (yych <= '_') goto yy1300;
23891
41.3k
      if (yych <= '`') goto yy849;
23892
40.7k
      if (yych <= 'z') goto yy1323;
23893
502
      goto yy849;
23894
40.7k
    }
23895
51.3k
  }
23896
20.0k
yy1302:
23897
20.0k
  YYDEBUG(1302, *YYCURSOR);
23898
20.0k
  yyaccept = 20;
23899
20.0k
  yych = *(YYMARKER = ++YYCURSOR);
23900
20.0k
  if (yych <= ',') {
23901
10.1k
    if (yych <= ')') {
23902
2.68k
      if (yych <= '(') goto yy849;
23903
1.69k
      goto yy1078;
23904
7.43k
    } else {
23905
7.43k
      if (yych == '+') goto yy1210;
23906
1.18k
      goto yy849;
23907
7.43k
    }
23908
10.1k
  } else {
23909
9.96k
    if (yych <= 'Z') {
23910
4.66k
      if (yych <= '-') goto yy1210;
23911
2.45k
      if (yych <= '@') goto yy849;
23912
417
      goto yy1320;
23913
5.30k
    } else {
23914
5.30k
      if (yych <= '`') goto yy849;
23915
5.19k
      if (yych <= 'z') goto yy1320;
23916
406
      goto yy849;
23917
5.19k
    }
23918
9.96k
  }
23919
19.8k
yy1303:
23920
19.8k
  YYDEBUG(1303, *YYCURSOR);
23921
19.8k
  ++YYCURSOR;
23922
19.8k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
23923
19.8k
  yych = *YYCURSOR;
23924
19.8k
  if (yych <= '@') {
23925
5.66k
    if (yych <= '*') {
23926
2.44k
      if (yych == '(') goto yy1209;
23927
1.96k
      goto yy59;
23928
3.21k
    } else {
23929
3.21k
      if (yych == ',') goto yy59;
23930
2.52k
      if (yych <= '-') goto yy1210;
23931
1.53k
      goto yy59;
23932
2.52k
    }
23933
14.1k
  } else {
23934
14.1k
    if (yych <= '`') {
23935
5.84k
      if (yych == 'G') goto yy1212;
23936
5.66k
      if (yych <= 'Z') goto yy1211;
23937
977
      goto yy59;
23938
8.34k
    } else {
23939
8.34k
      if (yych <= 'z') goto yy1213;
23940
6.79k
      if (yych == 0xE2) goto yy1215;
23941
1.09k
      goto yy59;
23942
6.79k
    }
23943
14.1k
  }
23944
31.0k
yy1304:
23945
31.0k
  YYDEBUG(1304, *YYCURSOR);
23946
31.0k
  ++YYCURSOR;
23947
31.0k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
23948
31.0k
  yych = *YYCURSOR;
23949
31.0k
  if (yych <= 'G') {
23950
18.5k
    if (yych <= ',') {
23951
7.43k
      if (yych <= '(') {
23952
4.24k
        if (yych <= '\'') goto yy59;
23953
3.11k
        goto yy1209;
23954
4.24k
      } else {
23955
3.19k
        if (yych == '+') goto yy1210;
23956
1.82k
        goto yy59;
23957
3.19k
      }
23958
11.1k
    } else {
23959
11.1k
      if (yych <= '@') {
23960
2.33k
        if (yych <= '-') goto yy1210;
23961
1.07k
        goto yy59;
23962
8.79k
      } else {
23963
8.79k
        if (yych <= 'A') goto yy1218;
23964
6.28k
        if (yych <= 'F') goto yy1211;
23965
1.34k
        goto yy1212;
23966
6.28k
      }
23967
11.1k
    }
23968
18.5k
  } else {
23969
12.4k
    if (yych <= 'a') {
23970
3.78k
      if (yych <= 'P') {
23971
2.22k
        if (yych <= 'O') goto yy1211;
23972
2.00k
        goto yy1218;
23973
2.22k
      } else {
23974
1.56k
        if (yych <= 'Z') goto yy1211;
23975
1.08k
        if (yych <= '`') goto yy59;
23976
365
        goto yy1219;
23977
1.08k
      }
23978
8.68k
    } else {
23979
8.68k
      if (yych <= 'z') {
23980
7.46k
        if (yych == 'p') goto yy1219;
23981
1.63k
        goto yy1213;
23982
7.46k
      } else {
23983
1.21k
        if (yych == 0xE2) goto yy1221;
23984
1.14k
        goto yy59;
23985
1.21k
      }
23986
8.68k
    }
23987
12.4k
  }
23988
7.96k
yy1305:
23989
7.96k
  YYDEBUG(1305, *YYCURSOR);
23990
7.96k
  yych = *++YYCURSOR;
23991
7.96k
  if (yych == 'H') goto yy1324;
23992
6.46k
  if (yych == 'h') goto yy1324;
23993
721
  goto yy59;
23994
11.3k
yy1306:
23995
11.3k
  YYDEBUG(1306, *YYCURSOR);
23996
11.3k
  yyaccept = 24;
23997
11.3k
  yych = *(YYMARKER = ++YYCURSOR);
23998
11.3k
  if (yych <= ' ') {
23999
6.01k
    if (yych == '\t') goto yy1157;
24000
3.48k
    if (yych <= 0x1F) goto yy982;
24001
1.35k
    goto yy1157;
24002
5.33k
  } else {
24003
5.33k
    if (yych <= 0xC2) {
24004
3.58k
      if (yych <= 0xC1) goto yy982;
24005
1.30k
      goto yy1160;
24006
3.58k
    } else {
24007
1.75k
      if (yych == 0xE2) goto yy1161;
24008
536
      goto yy982;
24009
1.75k
    }
24010
5.33k
  }
24011
5.38k
yy1307:
24012
5.38k
  YYDEBUG(1307, *YYCURSOR);
24013
5.38k
  yych = *++YYCURSOR;
24014
5.38k
  if (yych == 'C') goto yy1325;
24015
3.24k
  if (yych == 'c') goto yy1325;
24016
1.46k
  goto yy59;
24017
123k
yy1308:
24018
123k
  YYDEBUG(1308, *YYCURSOR);
24019
123k
  yych = *++YYCURSOR;
24020
123k
  if (yych <= '9') {
24021
105k
    if (yych == '-') goto yy893;
24022
102k
    if (yych <= '/') goto yy196;
24023
100k
    goto yy1326;
24024
102k
  } else {
24025
17.6k
    if (yych <= 0xC2) {
24026
14.2k
      if (yych <= 0xC1) goto yy196;
24027
847
      goto yy97;
24028
14.2k
    } else {
24029
3.37k
      if (yych == 0xE2) goto yy98;
24030
443
      goto yy196;
24031
3.37k
    }
24032
17.6k
  }
24033
98.8k
yy1309:
24034
98.8k
  YYDEBUG(1309, *YYCURSOR);
24035
98.8k
  yych = *++YYCURSOR;
24036
98.8k
  if (yych == ':') goto yy1327;
24037
7.91k
  goto yy59;
24038
13.9k
yy1310:
24039
13.9k
  YYDEBUG(1310, *YYCURSOR);
24040
13.9k
  yych = *++YYCURSOR;
24041
13.9k
  if (yych <= '/') goto yy59;
24042
9.85k
  if (yych <= '5') goto yy1328;
24043
7.97k
  if (yych <= '6') goto yy1330;
24044
4.64k
  if (yych <= '9') goto yy1331;
24045
3.52k
  goto yy59;
24046
71.2k
yy1311:
24047
71.2k
  YYDEBUG(1311, *YYCURSOR);
24048
71.2k
  yych = *++YYCURSOR;
24049
71.2k
  if (yych == ':') goto yy1332;
24050
2.04k
  goto yy59;
24051
1.48M
yy1312:
24052
1.48M
  YYDEBUG(1312, *YYCURSOR);
24053
1.48M
  yych = *++YYCURSOR;
24054
1.48M
  if (yych == 0xC2) goto yy97;
24055
1.47M
  if (yych == 0xE2) goto yy98;
24056
1.45M
  goto yy196;
24057
1.45M
yy1313:
24058
5.15k
  YYDEBUG(1313, *YYCURSOR);
24059
5.15k
  yych = *++YYCURSOR;
24060
5.15k
  if (yych <= '/') goto yy59;
24061
4.96k
  if (yych <= '0') goto yy1328;
24062
4.72k
  if (yych <= '5') goto yy1314;
24063
2.86k
  if (yych <= '6') goto yy1315;
24064
481
  goto yy59;
24065
5.04k
yy1314:
24066
5.04k
  YYDEBUG(1314, *YYCURSOR);
24067
5.04k
  yych = *++YYCURSOR;
24068
5.04k
  if (yych <= '/') goto yy59;
24069
3.14k
  if (yych <= '9') goto yy1331;
24070
656
  goto yy59;
24071
4.78k
yy1315:
24072
4.78k
  YYDEBUG(1315, *YYCURSOR);
24073
4.78k
  yych = *++YYCURSOR;
24074
4.78k
  if (yych == '0') goto yy1331;
24075
3.34k
  goto yy59;
24076
3.34k
yy1316:
24077
1.17k
  YYDEBUG(1316, *YYCURSOR);
24078
1.17k
  yych = *++YYCURSOR;
24079
1.17k
  if (yych == ':') goto yy1286;
24080
842
  goto yy59;
24081
1.05k
yy1317:
24082
1.05k
  YYDEBUG(1317, *YYCURSOR);
24083
1.05k
  yych = *++YYCURSOR;
24084
1.05k
  if (yych == ':') goto yy1244;
24085
738
  goto yy59;
24086
9.81k
yy1318:
24087
9.81k
  YYDEBUG(1318, *YYCURSOR);
24088
9.81k
  yych = *++YYCURSOR;
24089
9.81k
  if (yych <= '/') goto yy849;
24090
8.27k
  if (yych <= '9') goto yy1333;
24091
703
  goto yy849;
24092
5.86k
yy1319:
24093
5.86k
  YYDEBUG(1319, *YYCURSOR);
24094
5.86k
  yych = *++YYCURSOR;
24095
5.86k
  if (yych <= '/') goto yy59;
24096
5.43k
  if (yych <= '5') goto yy1334;
24097
1.55k
  if (yych <= '9') goto yy1078;
24098
331
  goto yy59;
24099
33.1k
yy1320:
24100
33.1k
  YYDEBUG(1320, *YYCURSOR);
24101
33.1k
  yych = *++YYCURSOR;
24102
33.1k
  if (yych <= '@') {
24103
5.07k
    if (yych == ')') goto yy1078;
24104
4.02k
    goto yy849;
24105
28.0k
  } else {
24106
28.0k
    if (yych <= 'Z') goto yy1335;
24107
22.5k
    if (yych <= '`') goto yy849;
24108
19.1k
    if (yych <= 'z') goto yy1335;
24109
2.76k
    goto yy849;
24110
19.1k
  }
24111
135k
yy1321:
24112
135k
  YYDEBUG(1321, *YYCURSOR);
24113
135k
  yyaccept = 20;
24114
135k
  YYMARKER = ++YYCURSOR;
24115
135k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
24116
135k
  yych = *YYCURSOR;
24117
135k
  YYDEBUG(1322, *YYCURSOR);
24118
135k
  if (yych <= '@') {
24119
20.4k
    if (yych <= '-') {
24120
13.0k
      if (yych <= ',') goto yy849;
24121
10.2k
      goto yy1300;
24122
13.0k
    } else {
24123
7.32k
      if (yych == '/') goto yy1300;
24124
4.55k
      goto yy849;
24125
7.32k
    }
24126
115k
  } else {
24127
115k
    if (yych <= '_') {
24128
33.3k
      if (yych <= 'Z') goto yy1321;
24129
7.59k
      if (yych <= '^') goto yy849;
24130
6.18k
      goto yy1300;
24131
82.2k
    } else {
24132
82.2k
      if (yych <= '`') goto yy849;
24133
80.7k
      if (yych <= 'z') goto yy1321;
24134
5.41k
      goto yy849;
24135
80.7k
    }
24136
115k
  }
24137
40.2k
yy1323:
24138
40.2k
  YYDEBUG(1323, *YYCURSOR);
24139
40.2k
  yyaccept = 20;
24140
40.2k
  yych = *(YYMARKER = ++YYCURSOR);
24141
40.2k
  if (yych <= '/') {
24142
5.79k
    if (yych <= ',') {
24143
3.81k
      if (yych == ')') goto yy1078;
24144
2.18k
      goto yy849;
24145
3.81k
    } else {
24146
1.97k
      if (yych == '.') goto yy849;
24147
960
      goto yy1300;
24148
1.97k
    }
24149
34.5k
  } else {
24150
34.5k
    if (yych <= '^') {
24151
1.92k
      if (yych <= '@') goto yy849;
24152
861
      if (yych <= 'Z') goto yy1335;
24153
291
      goto yy849;
24154
32.5k
    } else {
24155
32.5k
      if (yych <= '_') goto yy1300;
24156
30.0k
      if (yych <= '`') goto yy849;
24157
29.6k
      if (yych <= 'z') goto yy1336;
24158
1.80k
      goto yy849;
24159
29.6k
    }
24160
34.5k
  }
24161
7.24k
yy1324:
24162
7.24k
  YYDEBUG(1324, *YYCURSOR);
24163
7.24k
  yych = *++YYCURSOR;
24164
7.24k
  if (yych == 'T') goto yy1086;
24165
5.93k
  if (yych == 't') goto yy1086;
24166
1.58k
  goto yy59;
24167
3.92k
yy1325:
24168
3.92k
  YYDEBUG(1325, *YYCURSOR);
24169
3.92k
  yych = *++YYCURSOR;
24170
3.92k
  if (yych == 'O') goto yy1167;
24171
2.54k
  if (yych == 'o') goto yy1167;
24172
1.40k
  goto yy59;
24173
100k
yy1326:
24174
100k
  YYDEBUG(1326, *YYCURSOR);
24175
100k
  yych = *++YYCURSOR;
24176
100k
  if (yych <= '9') {
24177
82.8k
    if (yych == '-') goto yy893;
24178
81.5k
    if (yych <= '/') goto yy196;
24179
79.3k
    goto yy1337;
24180
81.5k
  } else {
24181
17.3k
    if (yych <= 0xC2) {
24182
11.4k
      if (yych <= 0xC1) goto yy196;
24183
3.53k
      goto yy97;
24184
11.4k
    } else {
24185
5.87k
      if (yych == 0xE2) goto yy98;
24186
1.37k
      goto yy196;
24187
5.87k
    }
24188
17.3k
  }
24189
90.9k
yy1327:
24190
90.9k
  YYDEBUG(1327, *YYCURSOR);
24191
90.9k
  yych = *++YYCURSOR;
24192
90.9k
  if (yych <= '/') goto yy59;
24193
89.7k
  if (yych <= '5') goto yy1338;
24194
1.56k
  goto yy59;
24195
5.27k
yy1328:
24196
5.27k
  YYDEBUG(1328, *YYCURSOR);
24197
5.27k
  yych = *++YYCURSOR;
24198
5.27k
  if (yych <= '/') goto yy1329;
24199
4.72k
  if (yych <= '9') goto yy1331;
24200
62.0k
yy1329:
24201
62.0k
  YYDEBUG(1329, *YYCURSOR);
24202
62.0k
#line 1670 "ext/date/lib/parse_date.re"
24203
62.0k
  {
24204
62.0k
    int tz_not_found;
24205
62.0k
    DEBUG_OUTPUT("xmlrpc | xmlrpcnocolon | soap | wddx | exif");
24206
62.0k
    TIMELIB_INIT;
24207
62.0k
    TIMELIB_HAVE_TIME();
24208
9.59k
    TIMELIB_HAVE_DATE();
24209
5.67k
    s->time->y = timelib_get_nr(&ptr, 4);
24210
5.67k
    s->time->m = timelib_get_nr(&ptr, 2);
24211
5.67k
    s->time->d = timelib_get_nr(&ptr, 2);
24212
5.67k
    s->time->h = timelib_get_nr(&ptr, 2);
24213
5.67k
    s->time->i = timelib_get_nr(&ptr, 2);
24214
5.67k
    s->time->s = timelib_get_nr(&ptr, 2);
24215
5.67k
    if (*ptr == '.') {
24216
4.35k
      s->time->us = timelib_get_frac_nr(&ptr);
24217
4.35k
      if (*ptr) { /* timezone is optional */
24218
2.41k
        s->time->z = timelib_parse_zone(&ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
24219
2.41k
        if (tz_not_found) {
24220
0
          add_error(s, TIMELIB_ERR_TZID_NOT_FOUND, "The timezone could not be found in the database");
24221
0
        }
24222
2.41k
      }
24223
4.35k
    }
24224
5.67k
    TIMELIB_DEINIT;
24225
5.67k
    return TIMELIB_XMLRPC_SOAP;
24226
9.59k
  }
24227
0
#line 24228 "ext/date/lib/parse_date.c"
24228
3.33k
yy1330:
24229
3.33k
  YYDEBUG(1330, *YYCURSOR);
24230
3.33k
  yych = *++YYCURSOR;
24231
3.33k
  if (yych != '0') goto yy1329;
24232
15.7k
yy1331:
24233
15.7k
  YYDEBUG(1331, *YYCURSOR);
24234
15.7k
  ++YYCURSOR;
24235
15.7k
  goto yy1329;
24236
69.2k
yy1332:
24237
69.2k
  YYDEBUG(1332, *YYCURSOR);
24238
69.2k
  yych = *++YYCURSOR;
24239
69.2k
  if (yych <= '/') goto yy59;
24240
67.2k
  if (yych <= '5') goto yy1339;
24241
2.72k
  if (yych <= '9') goto yy1281;
24242
2.41k
  goto yy59;
24243
7.57k
yy1333:
24244
7.57k
  YYDEBUG(1333, *YYCURSOR);
24245
7.57k
  yyaccept = 20;
24246
7.57k
  yych = *(YYMARKER = ++YYCURSOR);
24247
7.57k
  if (yych <= '/') goto yy849;
24248
7.36k
  if (yych <= '5') goto yy1340;
24249
4.06k
  if (yych <= '6') goto yy1341;
24250
1.80k
  goto yy849;
24251
3.88k
yy1334:
24252
3.88k
  YYDEBUG(1334, *YYCURSOR);
24253
3.88k
  yych = *++YYCURSOR;
24254
3.88k
  if (yych <= '/') goto yy849;
24255
3.30k
  if (yych <= '9') goto yy1342;
24256
747
  goto yy849;
24257
22.5k
yy1335:
24258
22.5k
  YYDEBUG(1335, *YYCURSOR);
24259
22.5k
  yych = *++YYCURSOR;
24260
22.5k
  if (yych <= '@') {
24261
3.95k
    if (yych == ')') goto yy1078;
24262
3.17k
    goto yy849;
24263
18.5k
  } else {
24264
18.5k
    if (yych <= 'Z') goto yy1343;
24265
16.9k
    if (yych <= '`') goto yy849;
24266
14.2k
    if (yych <= 'z') goto yy1343;
24267
4.64k
    goto yy849;
24268
14.2k
  }
24269
27.8k
yy1336:
24270
27.8k
  YYDEBUG(1336, *YYCURSOR);
24271
27.8k
  yyaccept = 20;
24272
27.8k
  yych = *(YYMARKER = ++YYCURSOR);
24273
27.8k
  if (yych <= '/') {
24274
5.76k
    if (yych <= ',') {
24275
1.56k
      if (yych == ')') goto yy1078;
24276
852
      goto yy849;
24277
4.19k
    } else {
24278
4.19k
      if (yych == '.') goto yy849;
24279
3.36k
      goto yy1300;
24280
4.19k
    }
24281
22.0k
  } else {
24282
22.0k
    if (yych <= '^') {
24283
3.15k
      if (yych <= '@') goto yy849;
24284
1.55k
      if (yych <= 'Z') goto yy1343;
24285
994
      goto yy849;
24286
18.9k
    } else {
24287
18.9k
      if (yych <= '_') goto yy1300;
24288
17.2k
      if (yych <= '`') goto yy849;
24289
16.9k
      if (yych <= 'z') goto yy1344;
24290
1.72k
      goto yy849;
24291
16.9k
    }
24292
22.0k
  }
24293
79.3k
yy1337:
24294
79.3k
  YYDEBUG(1337, *YYCURSOR);
24295
79.3k
  yych = *++YYCURSOR;
24296
79.3k
  if (yych == '-') goto yy893;
24297
77.2k
  if (yych <= '/') goto yy59;
24298
75.5k
  if (yych <= '9') goto yy1345;
24299
3.71k
  goto yy59;
24300
88.1k
yy1338:
24301
88.1k
  YYDEBUG(1338, *YYCURSOR);
24302
88.1k
  yych = *++YYCURSOR;
24303
88.1k
  if (yych <= '/') goto yy59;
24304
86.1k
  if (yych <= '9') goto yy1346;
24305
2.07k
  goto yy59;
24306
64.5k
yy1339:
24307
64.5k
  YYDEBUG(1339, *YYCURSOR);
24308
64.5k
  yych = *++YYCURSOR;
24309
64.5k
  if (yych <= '/') goto yy59;
24310
63.0k
  if (yych <= '9') goto yy1347;
24311
3.69k
  if (yych <= ':') goto yy1310;
24312
1.94k
  goto yy59;
24313
3.94k
yy1340:
24314
3.94k
  YYDEBUG(1340, *YYCURSOR);
24315
3.94k
  yych = *++YYCURSOR;
24316
3.94k
  if (yych <= '/') goto yy59;
24317
3.47k
  if (yych <= '9') goto yy1078;
24318
2.27k
  goto yy59;
24319
2.76k
yy1341:
24320
2.76k
  YYDEBUG(1341, *YYCURSOR);
24321
2.76k
  yych = *++YYCURSOR;
24322
2.76k
  if (yych == '0') goto yy1078;
24323
2.27k
  goto yy59;
24324
2.55k
yy1342:
24325
2.55k
  YYDEBUG(1342, *YYCURSOR);
24326
2.55k
  yyaccept = 20;
24327
2.55k
  yych = *(YYMARKER = ++YYCURSOR);
24328
2.55k
  if (yych == ':') goto yy1348;
24329
403
  goto yy849;
24330
11.7k
yy1343:
24331
11.7k
  YYDEBUG(1343, *YYCURSOR);
24332
11.7k
  yych = *++YYCURSOR;
24333
11.7k
  if (yych == ')') goto yy1078;
24334
11.1k
  goto yy849;
24335
15.2k
yy1344:
24336
15.2k
  YYDEBUG(1344, *YYCURSOR);
24337
15.2k
  yyaccept = 20;
24338
15.2k
  yych = *(YYMARKER = ++YYCURSOR);
24339
15.2k
  if (yych <= '.') {
24340
4.32k
    if (yych <= ')') {
24341
2.24k
      if (yych <= '(') goto yy849;
24342
372
      goto yy1078;
24343
2.24k
    } else {
24344
2.08k
      if (yych == '-') goto yy1300;
24345
429
      goto yy849;
24346
2.08k
    }
24347
10.9k
  } else {
24348
10.9k
    if (yych <= '_') {
24349
1.38k
      if (yych <= '/') goto yy1300;
24350
1.14k
      if (yych <= '^') goto yy849;
24351
419
      goto yy1300;
24352
9.52k
    } else {
24353
9.52k
      if (yych <= '`') goto yy849;
24354
8.29k
      if (yych <= 'z') goto yy1349;
24355
1.94k
      goto yy849;
24356
8.29k
    }
24357
10.9k
  }
24358
71.8k
yy1345:
24359
71.8k
  YYDEBUG(1345, *YYCURSOR);
24360
71.8k
  yych = *++YYCURSOR;
24361
71.8k
  if (yych == '-') goto yy893;
24362
68.9k
  if (yych <= '/') goto yy59;
24363
65.6k
  if (yych <= '9') goto yy1351;
24364
6.25k
  goto yy59;
24365
84.1k
yy1346:
24366
84.1k
  YYDEBUG(1346, *YYCURSOR);
24367
84.1k
  yych = *++YYCURSOR;
24368
84.1k
  if (yych == ':') goto yy1352;
24369
5.22k
  goto yy59;
24370
59.3k
yy1347:
24371
59.3k
  YYDEBUG(1347, *YYCURSOR);
24372
59.3k
  yych = *++YYCURSOR;
24373
59.3k
  if (yych == ':') goto yy1353;
24374
3.22k
  goto yy59;
24375
3.22k
yy1348:
24376
2.15k
  YYDEBUG(1348, *YYCURSOR);
24377
2.15k
  yych = *++YYCURSOR;
24378
2.15k
  if (yych <= '/') goto yy59;
24379
1.49k
  if (yych <= '5') goto yy1340;
24380
844
  if (yych <= '6') goto yy1341;
24381
338
  goto yy59;
24382
18.0k
yy1349:
24383
18.0k
  YYDEBUG(1349, *YYCURSOR);
24384
18.0k
  ++YYCURSOR;
24385
18.0k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
24386
18.0k
  yych = *YYCURSOR;
24387
18.0k
  YYDEBUG(1350, *YYCURSOR);
24388
18.0k
  if (yych <= '/') {
24389
3.26k
    if (yych == '-') goto yy1300;
24390
1.97k
    if (yych <= '.') goto yy59;
24391
898
    goto yy1300;
24392
14.7k
  } else {
24393
14.7k
    if (yych <= '_') {
24394
2.33k
      if (yych <= '^') goto yy59;
24395
1.31k
      goto yy1300;
24396
12.4k
    } else {
24397
12.4k
      if (yych <= '`') goto yy59;
24398
12.0k
      if (yych <= 'z') goto yy1349;
24399
348
      goto yy59;
24400
12.0k
    }
24401
14.7k
  }
24402
59.3k
yy1351:
24403
59.3k
  YYDEBUG(1351, *YYCURSOR);
24404
59.3k
  yych = *++YYCURSOR;
24405
59.3k
  if (yych == '-') goto yy893;
24406
57.3k
  if (yych <= '/') goto yy59;
24407
56.0k
  if (yych <= '9') goto yy1354;
24408
1.75k
  goto yy59;
24409
78.8k
yy1352:
24410
78.8k
  YYDEBUG(1352, *YYCURSOR);
24411
78.8k
  yych = *++YYCURSOR;
24412
78.8k
  if (yych <= '/') goto yy59;
24413
77.0k
  if (yych <= '5') goto yy1355;
24414
4.56k
  if (yych <= '6') goto yy1356;
24415
2.04k
  goto yy59;
24416
56.1k
yy1353:
24417
56.1k
  YYDEBUG(1353, *YYCURSOR);
24418
56.1k
  yych = *++YYCURSOR;
24419
56.1k
  if (yych <= '/') goto yy59;
24420
53.9k
  if (yych <= '5') goto yy1357;
24421
7.73k
  if (yych <= '6') goto yy1358;
24422
3.07k
  if (yych <= '9') goto yy1331;
24423
572
  goto yy59;
24424
54.2k
yy1354:
24425
54.2k
  YYDEBUG(1354, *YYCURSOR);
24426
54.2k
  yych = *++YYCURSOR;
24427
54.2k
  if (yych == '-') goto yy893;
24428
53.2k
  if (yych <= '/') goto yy59;
24429
52.2k
  if (yych <= '9') goto yy1359;
24430
18.9k
  goto yy59;
24431
72.5k
yy1355:
24432
72.5k
  YYDEBUG(1355, *YYCURSOR);
24433
72.5k
  yych = *++YYCURSOR;
24434
72.5k
  if (yych <= '/') goto yy59;
24435
69.5k
  if (yych <= '9') goto yy1360;
24436
1.99k
  goto yy59;
24437
2.52k
yy1356:
24438
2.52k
  YYDEBUG(1356, *YYCURSOR);
24439
2.52k
  yych = *++YYCURSOR;
24440
2.52k
  if (yych == '0') goto yy1360;
24441
448
  goto yy59;
24442
46.2k
yy1357:
24443
46.2k
  YYDEBUG(1357, *YYCURSOR);
24444
46.2k
  yych = *++YYCURSOR;
24445
46.2k
  if (yych <= '/') goto yy1329;
24446
44.0k
  if (yych <= '9') goto yy1361;
24447
1.34k
  goto yy1329;
24448
4.65k
yy1358:
24449
4.65k
  YYDEBUG(1358, *YYCURSOR);
24450
4.65k
  yych = *++YYCURSOR;
24451
4.65k
  if (yych == '0') goto yy1361;
24452
2.76k
  goto yy1329;
24453
33.3k
yy1359:
24454
33.3k
  YYDEBUG(1359, *YYCURSOR);
24455
33.3k
  yych = *++YYCURSOR;
24456
33.3k
  if (yych == '-') goto yy893;
24457
32.9k
  if (yych <= '/') goto yy59;
24458
32.6k
  if (yych <= '9') goto yy1362;
24459
2.55k
  goto yy59;
24460
69.6k
yy1360:
24461
69.6k
  YYDEBUG(1360, *YYCURSOR);
24462
69.6k
  yych = *++YYCURSOR;
24463
69.6k
  if (yych <= ' ') {
24464
38.1k
    if (yych == '\t') goto yy1363;
24465
1.71k
    if (yych <= 0x1F) goto yy59;
24466
485
    goto yy1363;
24467
31.5k
  } else {
24468
31.5k
    if (yych <= 0xC2) {
24469
18.6k
      if (yych <= 0xC1) goto yy59;
24470
16.5k
      goto yy1365;
24471
18.6k
    } else {
24472
12.9k
      if (yych == 0xE2) goto yy1366;
24473
6.32k
      goto yy59;
24474
12.9k
    }
24475
31.5k
  }
24476
44.6k
yy1361:
24477
44.6k
  YYDEBUG(1361, *YYCURSOR);
24478
44.6k
  yyaccept = 32;
24479
44.6k
  yych = *(YYMARKER = ++YYCURSOR);
24480
44.6k
  if (yych == '.') goto yy1367;
24481
2.80k
  goto yy1329;
24482
30.0k
yy1362:
24483
30.0k
  YYDEBUG(1362, *YYCURSOR);
24484
30.0k
  yych = *++YYCURSOR;
24485
30.0k
  if (yych == '-') goto yy893;
24486
29.5k
  goto yy59;
24487
204k
yy1363:
24488
204k
  YYDEBUG(1363, *YYCURSOR);
24489
204k
  ++YYCURSOR;
24490
204k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
24491
204k
  yych = *YYCURSOR;
24492
204k
  YYDEBUG(1364, *YYCURSOR);
24493
204k
  if (yych <= '*') {
24494
173k
    if (yych <= '\t') {
24495
170k
      if (yych <= 0x08) goto yy59;
24496
166k
      goto yy1363;
24497
170k
    } else {
24498
2.56k
      if (yych == ' ') goto yy1363;
24499
1.85k
      goto yy59;
24500
2.56k
    }
24501
173k
  } else {
24502
31.4k
    if (yych <= '-') {
24503
25.1k
      if (yych == ',') goto yy59;
24504
24.3k
      goto yy1368;
24505
25.1k
    } else {
24506
6.26k
      if (yych == 'G') goto yy1369;
24507
4.17k
      goto yy59;
24508
6.26k
    }
24509
31.4k
  }
24510
19.2k
yy1365:
24511
19.2k
  YYDEBUG(1365, *YYCURSOR);
24512
19.2k
  ++YYCURSOR;
24513
19.2k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
24514
19.2k
  yych = *YYCURSOR;
24515
19.2k
  if (yych == 0xA0) goto yy1370;
24516
2.74k
  goto yy59;
24517
7.77k
yy1366:
24518
7.77k
  YYDEBUG(1366, *YYCURSOR);
24519
7.77k
  ++YYCURSOR;
24520
7.77k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
24521
7.77k
  yych = *YYCURSOR;
24522
7.77k
  if (yych == 0x80) goto yy1371;
24523
371
  goto yy59;
24524
41.8k
yy1367:
24525
41.8k
  YYDEBUG(1367, *YYCURSOR);
24526
41.8k
  yych = *++YYCURSOR;
24527
41.8k
  if (yych <= '/') goto yy59;
24528
41.2k
  if (yych <= '9') goto yy1372;
24529
2.10k
  goto yy59;
24530
34.3k
yy1368:
24531
34.3k
  YYDEBUG(1368, *YYCURSOR);
24532
34.3k
  yych = *++YYCURSOR;
24533
34.3k
  if (yych <= '/') goto yy59;
24534
33.1k
  if (yych <= '1') goto yy1374;
24535
21.1k
  if (yych <= '2') goto yy1376;
24536
8.00k
  if (yych <= '9') goto yy1377;
24537
4.36k
  goto yy59;
24538
8.08k
yy1369:
24539
8.08k
  YYDEBUG(1369, *YYCURSOR);
24540
8.08k
  yych = *++YYCURSOR;
24541
8.08k
  if (yych == 'M') goto yy1378;
24542
1.71k
  goto yy59;
24543
16.5k
yy1370:
24544
16.5k
  YYDEBUG(1370, *YYCURSOR);
24545
16.5k
  ++YYCURSOR;
24546
16.5k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
24547
16.5k
  yych = *YYCURSOR;
24548
16.5k
  if (yych <= '-') {
24549
2.69k
    if (yych == '+') goto yy1368;
24550
2.03k
    if (yych <= ',') goto yy59;
24551
1.58k
    goto yy1368;
24552
13.8k
  } else {
24553
13.8k
    if (yych <= 'G') {
24554
8.73k
      if (yych <= 'F') goto yy59;
24555
5.26k
      goto yy1369;
24556
8.73k
    } else {
24557
5.13k
      if (yych == 0xC2) goto yy1365;
24558
2.39k
      goto yy59;
24559
5.13k
    }
24560
13.8k
  }
24561
7.40k
yy1371:
24562
7.40k
  YYDEBUG(1371, *YYCURSOR);
24563
7.40k
  ++YYCURSOR;
24564
7.40k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
24565
7.40k
  yych = *YYCURSOR;
24566
7.40k
  if (yych == 0xAF) goto yy1379;
24567
874
  goto yy59;
24568
61.7k
yy1372:
24569
61.7k
  YYDEBUG(1372, *YYCURSOR);
24570
61.7k
  yyaccept = 32;
24571
61.7k
  YYMARKER = ++YYCURSOR;
24572
61.7k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
24573
61.7k
  yych = *YYCURSOR;
24574
61.7k
  YYDEBUG(1373, *YYCURSOR);
24575
61.7k
  if (yych <= '-') {
24576
31.3k
    if (yych == '+') goto yy1380;
24577
29.8k
    if (yych <= ',') goto yy1329;
24578
29.0k
    goto yy1380;
24579
30.4k
  } else {
24580
30.4k
    if (yych <= '9') {
24581
23.6k
      if (yych <= '/') goto yy1329;
24582
22.5k
      goto yy1372;
24583
23.6k
    } else {
24584
6.76k
      if (yych == 'G') goto yy1381;
24585
3.09k
      goto yy1329;
24586
6.76k
    }
24587
30.4k
  }
24588
12.0k
yy1374:
24589
12.0k
  YYDEBUG(1374, *YYCURSOR);
24590
12.0k
  yyaccept = 33;
24591
12.0k
  yych = *(YYMARKER = ++YYCURSOR);
24592
12.0k
  if (yych <= '/') goto yy1375;
24593
11.0k
  if (yych <= '9') goto yy1382;
24594
1.45k
  if (yych <= ':') goto yy1383;
24595
28.7k
yy1375:
24596
28.7k
  YYDEBUG(1375, *YYCURSOR);
24597
28.7k
#line 1776 "ext/date/lib/parse_date.re"
24598
28.7k
  {
24599
28.7k
    int tz_not_found;
24600
28.7k
    DEBUG_OUTPUT("clf");
24601
28.7k
    TIMELIB_INIT;
24602
28.7k
    TIMELIB_HAVE_TIME();
24603
2.41k
    TIMELIB_HAVE_DATE();
24604
1.47k
    s->time->d = timelib_get_nr(&ptr, 2);
24605
1.47k
    s->time->m = timelib_get_month(&ptr);
24606
1.47k
    s->time->y = timelib_get_nr(&ptr, 4);
24607
1.47k
    s->time->h = timelib_get_nr(&ptr, 2);
24608
1.47k
    s->time->i = timelib_get_nr(&ptr, 2);
24609
1.47k
    s->time->s = timelib_get_nr(&ptr, 2);
24610
24611
1.47k
    timelib_eat_spaces(&ptr);
24612
24613
1.47k
    s->time->z = timelib_parse_zone(&ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
24614
1.47k
    if (tz_not_found) {
24615
0
      add_error(s, TIMELIB_ERR_TZID_NOT_FOUND, "The timezone could not be found in the database");
24616
0
    }
24617
1.47k
    TIMELIB_DEINIT;
24618
1.47k
    return TIMELIB_CLF;
24619
2.41k
  }
24620
0
#line 24621 "ext/date/lib/parse_date.c"
24621
13.1k
yy1376:
24622
13.1k
  YYDEBUG(1376, *YYCURSOR);
24623
13.1k
  yyaccept = 33;
24624
13.1k
  yych = *(YYMARKER = ++YYCURSOR);
24625
13.1k
  if (yych <= '5') {
24626
10.2k
    if (yych <= '/') goto yy1375;
24627
8.81k
    if (yych <= '4') goto yy1382;
24628
2.27k
    goto yy1384;
24629
8.81k
  } else {
24630
2.85k
    if (yych <= '9') goto yy1385;
24631
1.98k
    if (yych <= ':') goto yy1383;
24632
677
    goto yy1375;
24633
1.98k
  }
24634
3.64k
yy1377:
24635
3.64k
  YYDEBUG(1377, *YYCURSOR);
24636
3.64k
  yyaccept = 33;
24637
3.64k
  yych = *(YYMARKER = ++YYCURSOR);
24638
3.64k
  if (yych <= '/') goto yy1375;
24639
3.44k
  if (yych <= '5') goto yy1384;
24640
1.89k
  if (yych <= '9') goto yy1385;
24641
1.72k
  if (yych <= ':') goto yy1383;
24642
555
  goto yy1375;
24643
6.37k
yy1378:
24644
6.37k
  YYDEBUG(1378, *YYCURSOR);
24645
6.37k
  yych = *++YYCURSOR;
24646
6.37k
  if (yych == 'T') goto yy1386;
24647
422
  goto yy59;
24648
6.52k
yy1379:
24649
6.52k
  YYDEBUG(1379, *YYCURSOR);
24650
6.52k
  ++YYCURSOR;
24651
6.52k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
24652
6.52k
  yych = *YYCURSOR;
24653
6.52k
  if (yych <= '-') {
24654
2.91k
    if (yych == '+') goto yy1368;
24655
1.91k
    if (yych <= ',') goto yy59;
24656
1.03k
    goto yy1368;
24657
3.61k
  } else {
24658
3.61k
    if (yych <= 'G') {
24659
1.55k
      if (yych <= 'F') goto yy59;
24660
735
      goto yy1369;
24661
2.05k
    } else {
24662
2.05k
      if (yych == 0xE2) goto yy1366;
24663
889
      goto yy59;
24664
2.05k
    }
24665
3.61k
  }
24666
32.4k
yy1380:
24667
32.4k
  YYDEBUG(1380, *YYCURSOR);
24668
32.4k
  yych = *++YYCURSOR;
24669
32.4k
  if (yych <= '/') goto yy59;
24670
31.3k
  if (yych <= '1') goto yy1387;
24671
22.7k
  if (yych <= '2') goto yy1388;
24672
7.58k
  if (yych <= '9') goto yy1389;
24673
2.28k
  goto yy59;
24674
3.67k
yy1381:
24675
3.67k
  YYDEBUG(1381, *YYCURSOR);
24676
3.67k
  yych = *++YYCURSOR;
24677
3.67k
  if (yych == 'M') goto yy1390;
24678
219
  goto yy59;
24679
16.1k
yy1382:
24680
16.1k
  YYDEBUG(1382, *YYCURSOR);
24681
16.1k
  yyaccept = 33;
24682
16.1k
  yych = *(YYMARKER = ++YYCURSOR);
24683
16.1k
  if (yych <= '/') goto yy1375;
24684
15.3k
  if (yych <= '5') goto yy1391;
24685
11.0k
  if (yych <= '9') goto yy1385;
24686
10.7k
  if (yych <= ':') goto yy1392;
24687
343
  goto yy1375;
24688
3.58k
yy1383:
24689
3.58k
  YYDEBUG(1383, *YYCURSOR);
24690
3.58k
  yych = *++YYCURSOR;
24691
3.58k
  if (yych <= '/') goto yy59;
24692
2.28k
  if (yych <= '5') goto yy1384;
24693
776
  if (yych <= '9') goto yy1385;
24694
458
  goto yy59;
24695
5.33k
yy1384:
24696
5.33k
  YYDEBUG(1384, *YYCURSOR);
24697
5.33k
  yych = *++YYCURSOR;
24698
5.33k
  if (yych <= '/') goto yy1375;
24699
4.76k
  if (yych >= ':') goto yy1375;
24700
6.00k
yy1385:
24701
6.00k
  YYDEBUG(1385, *YYCURSOR);
24702
6.00k
  ++YYCURSOR;
24703
6.00k
  goto yy1375;
24704
5.95k
yy1386:
24705
5.95k
  YYDEBUG(1386, *YYCURSOR);
24706
5.95k
  yych = *++YYCURSOR;
24707
5.95k
  if (yych == '+') goto yy1368;
24708
1.85k
  if (yych == '-') goto yy1368;
24709
307
  goto yy59;
24710
8.52k
yy1387:
24711
8.52k
  YYDEBUG(1387, *YYCURSOR);
24712
8.52k
  yyaccept = 32;
24713
8.52k
  yych = *(YYMARKER = ++YYCURSOR);
24714
8.52k
  if (yych <= '/') goto yy1329;
24715
8.20k
  if (yych <= '9') goto yy1393;
24716
3.04k
  if (yych <= ':') goto yy1394;
24717
624
  goto yy1329;
24718
15.2k
yy1388:
24719
15.2k
  YYDEBUG(1388, *YYCURSOR);
24720
15.2k
  yyaccept = 32;
24721
15.2k
  yych = *(YYMARKER = ++YYCURSOR);
24722
15.2k
  if (yych <= '5') {
24723
13.9k
    if (yych <= '/') goto yy1329;
24724
13.2k
    if (yych <= '4') goto yy1393;
24725
316
    goto yy1328;
24726
13.2k
  } else {
24727
1.28k
    if (yych <= '9') goto yy1331;
24728
927
    if (yych <= ':') goto yy1394;
24729
657
    goto yy1329;
24730
927
  }
24731
5.30k
yy1389:
24732
5.30k
  YYDEBUG(1389, *YYCURSOR);
24733
5.30k
  yyaccept = 32;
24734
5.30k
  yych = *(YYMARKER = ++YYCURSOR);
24735
5.30k
  if (yych <= '/') goto yy1329;
24736
4.62k
  if (yych <= '5') goto yy1328;
24737
3.90k
  if (yych <= '9') goto yy1331;
24738
2.91k
  if (yych <= ':') goto yy1394;
24739
735
  goto yy1329;
24740
3.45k
yy1390:
24741
3.45k
  YYDEBUG(1390, *YYCURSOR);
24742
3.45k
  yych = *++YYCURSOR;
24743
3.45k
  if (yych == 'T') goto yy1395;
24744
756
  goto yy59;
24745
4.25k
yy1391:
24746
4.25k
  YYDEBUG(1391, *YYCURSOR);
24747
4.25k
  yych = *++YYCURSOR;
24748
4.25k
  if (yych <= '/') goto yy1375;
24749
3.96k
  if (yych <= '9') goto yy1396;
24750
451
  goto yy1375;
24751
10.4k
yy1392:
24752
10.4k
  YYDEBUG(1392, *YYCURSOR);
24753
10.4k
  yych = *++YYCURSOR;
24754
10.4k
  if (yych <= '/') goto yy59;
24755
10.2k
  if (yych <= '5') goto yy1397;
24756
1.48k
  if (yych <= '9') goto yy1385;
24757
1.03k
  goto yy59;
24758
18.0k
yy1393:
24759
18.0k
  YYDEBUG(1393, *YYCURSOR);
24760
18.0k
  yyaccept = 32;
24761
18.0k
  yych = *(YYMARKER = ++YYCURSOR);
24762
18.0k
  if (yych <= '/') goto yy1329;
24763
17.1k
  if (yych <= '5') goto yy1398;
24764
10.2k
  if (yych <= '9') goto yy1331;
24765
10.0k
  if (yych <= ':') goto yy1399;
24766
1.69k
  goto yy1329;
24767
4.87k
yy1394:
24768
4.87k
  YYDEBUG(1394, *YYCURSOR);
24769
4.87k
  yych = *++YYCURSOR;
24770
4.87k
  if (yych <= '/') goto yy59;
24771
3.03k
  if (yych <= '5') goto yy1328;
24772
923
  if (yych <= '9') goto yy1331;
24773
240
  goto yy59;
24774
2.69k
yy1395:
24775
2.69k
  YYDEBUG(1395, *YYCURSOR);
24776
2.69k
  yych = *++YYCURSOR;
24777
2.69k
  if (yych == '+') goto yy1380;
24778
1.18k
  if (yych == '-') goto yy1380;
24779
676
  goto yy59;
24780
3.51k
yy1396:
24781
3.51k
  YYDEBUG(1396, *YYCURSOR);
24782
3.51k
  yyaccept = 33;
24783
3.51k
  yych = *(YYMARKER = ++YYCURSOR);
24784
3.51k
  if (yych <= '/') goto yy1375;
24785
3.33k
  if (yych <= '5') goto yy1400;
24786
1.26k
  if (yych <= '6') goto yy1401;
24787
1.00k
  goto yy1375;
24788
8.77k
yy1397:
24789
8.77k
  YYDEBUG(1397, *YYCURSOR);
24790
8.77k
  yych = *++YYCURSOR;
24791
8.77k
  if (yych <= '/') goto yy1375;
24792
6.56k
  if (yych <= '9') goto yy1402;
24793
293
  goto yy1375;
24794
6.91k
yy1398:
24795
6.91k
  YYDEBUG(1398, *YYCURSOR);
24796
6.91k
  yych = *++YYCURSOR;
24797
6.91k
  if (yych <= '/') goto yy1329;
24798
5.64k
  if (yych <= '9') goto yy1403;
24799
672
  goto yy1329;
24800
8.32k
yy1399:
24801
8.32k
  YYDEBUG(1399, *YYCURSOR);
24802
8.32k
  yych = *++YYCURSOR;
24803
8.32k
  if (yych <= '/') goto yy59;
24804
7.94k
  if (yych <= '5') goto yy1404;
24805
813
  if (yych <= '9') goto yy1331;
24806
366
  goto yy59;
24807
2.58k
yy1400:
24808
2.58k
  YYDEBUG(1400, *YYCURSOR);
24809
2.58k
  yych = *++YYCURSOR;
24810
2.58k
  if (yych <= '/') goto yy59;
24811
2.05k
  if (yych <= '9') goto yy1385;
24812
319
  goto yy59;
24813
1.94k
yy1401:
24814
1.94k
  YYDEBUG(1401, *YYCURSOR);
24815
1.94k
  yych = *++YYCURSOR;
24816
1.94k
  if (yych == '0') goto yy1385;
24817
992
  goto yy59;
24818
6.27k
yy1402:
24819
6.27k
  YYDEBUG(1402, *YYCURSOR);
24820
6.27k
  yyaccept = 33;
24821
6.27k
  yych = *(YYMARKER = ++YYCURSOR);
24822
6.27k
  if (yych == ':') goto yy1405;
24823
623
  goto yy1375;
24824
4.97k
yy1403:
24825
4.97k
  YYDEBUG(1403, *YYCURSOR);
24826
4.97k
  yyaccept = 32;
24827
4.97k
  yych = *(YYMARKER = ++YYCURSOR);
24828
4.97k
  if (yych <= '/') goto yy1329;
24829
4.06k
  if (yych <= '5') goto yy1314;
24830
2.75k
  if (yych <= '6') goto yy1315;
24831
1.45k
  goto yy1329;
24832
7.13k
yy1404:
24833
7.13k
  YYDEBUG(1404, *YYCURSOR);
24834
7.13k
  yych = *++YYCURSOR;
24835
7.13k
  if (yych <= '/') goto yy1329;
24836
5.70k
  if (yych <= '9') goto yy1406;
24837
2.32k
  goto yy1329;
24838
5.65k
yy1405:
24839
5.65k
  YYDEBUG(1405, *YYCURSOR);
24840
5.65k
  yych = *++YYCURSOR;
24841
5.65k
  if (yych <= '/') goto yy59;
24842
4.50k
  if (yych <= '5') goto yy1400;
24843
3.98k
  if (yych <= '6') goto yy1401;
24844
2.30k
  goto yy59;
24845
3.37k
yy1406:
24846
3.37k
  YYDEBUG(1406, *YYCURSOR);
24847
3.37k
  yyaccept = 32;
24848
3.37k
  yych = *(YYMARKER = ++YYCURSOR);
24849
3.37k
  if (yych == ':') goto yy1286;
24850
720
  goto yy1329;
24851
3.37k
}
24852
3.37k
#line 2004 "ext/date/lib/parse_date.re"
24853
24854
3.37k
}
24855
24856
62.1k
#define YYMAXFILL 36
24857
24858
24859
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)
24860
31.0k
{
24861
31.0k
  Scanner in;
24862
31.0k
  int t;
24863
31.0k
  const char *e = s + len - 1;
24864
24865
31.0k
  memset(&in, 0, sizeof(in));
24866
31.0k
  in.errors = timelib_malloc(sizeof(timelib_error_container));
24867
31.0k
  in.errors->warning_count = 0;
24868
31.0k
  in.errors->warning_messages = NULL;
24869
31.0k
  in.errors->error_count = 0;
24870
31.0k
  in.errors->error_messages = NULL;
24871
24872
31.0k
  if (len > 0) {
24873
32.0k
    while (isspace((unsigned char)*s) && s < e) {
24874
981
      s++;
24875
981
    }
24876
32.3k
    while (isspace((unsigned char)*e) && e > s) {
24877
1.28k
      e--;
24878
1.28k
    }
24879
31.0k
  }
24880
31.0k
  if (e - s < 0) {
24881
1
    in.time = timelib_time_ctor();
24882
1
    add_error(&in, TIMELIB_ERR_EMPTY_STRING, "Empty string");
24883
1
    if (errors) {
24884
1
      *errors = in.errors;
24885
1
    } else {
24886
0
      timelib_error_container_dtor(in.errors);
24887
0
    }
24888
1
    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;
24889
1
    in.time->is_localtime = in.time->zone_type = 0;
24890
1
    return in.time;
24891
1
  }
24892
31.0k
  e++;
24893
24894
31.0k
  in.str = timelib_malloc((e - s) + YYMAXFILL);
24895
31.0k
  memset(in.str, 0, (e - s) + YYMAXFILL);
24896
31.0k
  memcpy(in.str, s, (e - s));
24897
31.0k
  in.lim = in.str + (e - s) + YYMAXFILL;
24898
31.0k
  in.cur = in.str;
24899
31.0k
  in.time = timelib_time_ctor();
24900
31.0k
  in.time->y = TIMELIB_UNSET;
24901
31.0k
  in.time->d = TIMELIB_UNSET;
24902
31.0k
  in.time->m = TIMELIB_UNSET;
24903
31.0k
  in.time->h = TIMELIB_UNSET;
24904
31.0k
  in.time->i = TIMELIB_UNSET;
24905
31.0k
  in.time->s = TIMELIB_UNSET;
24906
31.0k
  in.time->us = TIMELIB_UNSET;
24907
31.0k
  in.time->z = TIMELIB_UNSET;
24908
31.0k
  in.time->dst = TIMELIB_UNSET;
24909
31.0k
  in.tzdb = tzdb;
24910
31.0k
  in.time->is_localtime = 0;
24911
31.0k
  in.time->zone_type = 0;
24912
31.0k
  in.time->relative.days = TIMELIB_UNSET;
24913
24914
68.5M
  do {
24915
68.5M
    t = scan(&in, tz_get_wrapper);
24916
#ifdef DEBUG_PARSER
24917
    printf("%d\n", t);
24918
#endif
24919
68.5M
  } while(t != EOI);
24920
24921
  /* do funky checking whether the parsed time was valid time */
24922
31.0k
  if (in.time->have_time && !timelib_valid_time( in.time->h, in.time->i, in.time->s)) {
24923
596
    add_warning(&in, TIMELIB_WARN_INVALID_TIME, "The parsed time was invalid");
24924
596
  }
24925
  /* do funky checking whether the parsed date was valid date */
24926
31.0k
  if (in.time->have_date && !timelib_valid_date( in.time->y, in.time->m, in.time->d)) {
24927
12.6k
    add_warning(&in, TIMELIB_WARN_INVALID_DATE, "The parsed date was invalid");
24928
12.6k
  }
24929
24930
31.0k
  timelib_free(in.str);
24931
31.0k
  if (errors) {
24932
31.0k
    *errors = in.errors;
24933
31.0k
  } else {
24934
0
    timelib_error_container_dtor(in.errors);
24935
0
  }
24936
31.0k
  return in.time;
24937
31.0k
}
24938
24939
#define TIMELIB_CHECK_NUMBER                                           \
24940
0
    if (strchr("0123456789", *ptr) == NULL)                        \
24941
0
    {                                                              \
24942
0
      add_pbf_error(s, TIMELIB_ERR_UNEXPECTED_DATA, "Unexpected data found.", string, begin); \
24943
0
    }
24944
#define TIMELIB_CHECK_SIGNED_NUMBER                                    \
24945
0
    if (strchr("+-0123456789", *ptr) == NULL)                      \
24946
0
    {                                                              \
24947
0
      add_pbf_error(s, TIMELIB_ERR_UNEXPECTED_DATA, "Unexpected data found.", string, begin); \
24948
0
    }
24949
24950
static void timelib_time_reset_fields(timelib_time *time)
24951
0
{
24952
0
  assert(time != NULL);
24953
24954
0
  time->y = 1970;
24955
0
  time->m = 1;
24956
0
  time->d = 1;
24957
0
  time->h = time->i = time->s = 0;
24958
0
  time->us = 0;
24959
0
  time->tz_info = NULL;
24960
0
}
24961
24962
static void timelib_time_reset_unset_fields(timelib_time *time)
24963
0
{
24964
0
  assert(time != NULL);
24965
24966
0
  if (time->y == TIMELIB_UNSET ) time->y = 1970;
24967
0
  if (time->m == TIMELIB_UNSET ) time->m = 1;
24968
0
  if (time->d == TIMELIB_UNSET ) time->d = 1;
24969
0
  if (time->h == TIMELIB_UNSET ) time->h = 0;
24970
0
  if (time->i == TIMELIB_UNSET ) time->i = 0;
24971
0
  if (time->s == TIMELIB_UNSET ) time->s = 0;
24972
0
  if (time->us == TIMELIB_UNSET ) time->us = 0;
24973
0
}
24974
24975
static const timelib_format_specifier default_format_map[] = {
24976
  {'+', TIMELIB_FORMAT_ALLOW_EXTRA_CHARACTERS},
24977
  {'#', TIMELIB_FORMAT_ANY_SEPARATOR},
24978
  {'j', TIMELIB_FORMAT_DAY_TWO_DIGIT},
24979
  {'d', TIMELIB_FORMAT_DAY_TWO_DIGIT_PADDED},
24980
  {'z', TIMELIB_FORMAT_DAY_OF_YEAR},
24981
  {'S', TIMELIB_FORMAT_DAY_SUFFIX},
24982
  {'U', TIMELIB_FORMAT_EPOCH_SECONDS},
24983
  {'\\', TIMELIB_FORMAT_ESCAPE},
24984
  {'h', TIMELIB_FORMAT_HOUR_TWO_DIGIT_12_MAX},
24985
  {'g', TIMELIB_FORMAT_HOUR_TWO_DIGIT_12_MAX_PADDED},
24986
  {'H', TIMELIB_FORMAT_HOUR_TWO_DIGIT_24_MAX},
24987
  {'G', TIMELIB_FORMAT_HOUR_TWO_DIGIT_24_MAX_PADDED},
24988
  {'a', TIMELIB_FORMAT_MERIDIAN},
24989
  {'A', TIMELIB_FORMAT_MERIDIAN},
24990
  {'u', TIMELIB_FORMAT_MICROSECOND_SIX_DIGIT},
24991
  {'v', TIMELIB_FORMAT_MILLISECOND_THREE_DIGIT},
24992
  {'i', TIMELIB_FORMAT_MINUTE_TWO_DIGIT},
24993
  {'n', TIMELIB_FORMAT_MONTH_TWO_DIGIT},
24994
  {'m', TIMELIB_FORMAT_MONTH_TWO_DIGIT_PADDED},
24995
  {'?', TIMELIB_FORMAT_RANDOM_CHAR},
24996
  {'!', TIMELIB_FORMAT_RESET_ALL},
24997
  {'|', TIMELIB_FORMAT_RESET_ALL_WHEN_NOT_SET},
24998
  {'s', TIMELIB_FORMAT_SECOND_TWO_DIGIT},
24999
  {';', TIMELIB_FORMAT_SEPARATOR},
25000
  {':', TIMELIB_FORMAT_SEPARATOR},
25001
  {'/', TIMELIB_FORMAT_SEPARATOR},
25002
  {'.', TIMELIB_FORMAT_SEPARATOR},
25003
  {',', TIMELIB_FORMAT_SEPARATOR},
25004
  {'-', TIMELIB_FORMAT_SEPARATOR},
25005
  {'(', TIMELIB_FORMAT_SEPARATOR},
25006
  {')', TIMELIB_FORMAT_SEPARATOR},
25007
  {'*', TIMELIB_FORMAT_SKIP_TO_SEPARATOR},
25008
  {'D', TIMELIB_FORMAT_TEXTUAL_DAY_3_LETTER},
25009
  {'l', TIMELIB_FORMAT_TEXTUAL_DAY_FULL},
25010
  {'M', TIMELIB_FORMAT_TEXTUAL_MONTH_3_LETTER},
25011
  {'F', TIMELIB_FORMAT_TEXTUAL_MONTH_FULL},
25012
  {'e', TIMELIB_FORMAT_TIMEZONE_OFFSET},
25013
  {'P', TIMELIB_FORMAT_TIMEZONE_OFFSET},
25014
  {'p', TIMELIB_FORMAT_TIMEZONE_OFFSET},
25015
  {'T', TIMELIB_FORMAT_TIMEZONE_OFFSET},
25016
  {'O', TIMELIB_FORMAT_TIMEZONE_OFFSET},
25017
  {' ', TIMELIB_FORMAT_WHITESPACE},
25018
  {'y', TIMELIB_FORMAT_YEAR_TWO_DIGIT},
25019
  {'Y', TIMELIB_FORMAT_YEAR_FOUR_DIGIT},
25020
  {'x', TIMELIB_FORMAT_YEAR_EXPANDED},
25021
  {'X', TIMELIB_FORMAT_YEAR_EXPANDED},
25022
  {'\0', TIMELIB_FORMAT_END}
25023
};
25024
25025
static const timelib_format_config default_format_config = {
25026
  default_format_map,
25027
  // No prefix required by default.
25028
  '\0'
25029
};
25030
25031
static timelib_format_specifier_code timelib_lookup_format(char input, const timelib_format_specifier* format_map)
25032
0
{
25033
0
  while (format_map && format_map->specifier != '\0') {
25034
0
    if (format_map->specifier == input) {
25035
0
      return format_map->code;
25036
0
    }
25037
0
    format_map++;
25038
0
  }
25039
0
  return TIMELIB_FORMAT_LITERAL;
25040
0
}
25041
25042
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)
25043
0
{
25044
0
  return timelib_parse_from_format_with_map(format, string, len, errors, tzdb, tz_get_wrapper, &default_format_config);
25045
0
}
25046
25047
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)
25048
0
{
25049
0
  const char  *fptr = format;
25050
0
  const char  *ptr = string;
25051
0
  const char  *begin;
25052
0
  timelib_sll  tmp;
25053
0
  Scanner      in;
25054
0
  Scanner     *s = &in;
25055
0
  bool         allow_extra = false;
25056
0
  bool         prefix_found = false;
25057
0
  int          iso_year = TIMELIB_UNSET;
25058
0
  int          iso_week_of_year = TIMELIB_UNSET;
25059
0
  int          iso_day_of_week = TIMELIB_UNSET;
25060
0
  char         prefix_char = format_config->prefix_char;
25061
0
  const timelib_format_specifier *format_map = format_config->format_map;
25062
25063
0
  memset(&in, 0, sizeof(in));
25064
0
  in.errors = timelib_malloc(sizeof(timelib_error_container));
25065
0
  in.errors->warning_count = 0;
25066
0
  in.errors->warning_messages = NULL;
25067
0
  in.errors->error_count = 0;
25068
0
  in.errors->error_messages = NULL;
25069
25070
0
  in.time = timelib_time_ctor();
25071
0
  in.time->y = TIMELIB_UNSET;
25072
0
  in.time->d = TIMELIB_UNSET;
25073
0
  in.time->m = TIMELIB_UNSET;
25074
0
  in.time->h = TIMELIB_UNSET;
25075
0
  in.time->i = TIMELIB_UNSET;
25076
0
  in.time->s = TIMELIB_UNSET;
25077
0
  in.time->us = TIMELIB_UNSET;
25078
0
  in.time->z = TIMELIB_UNSET;
25079
0
  in.time->dst = TIMELIB_UNSET;
25080
0
  in.tzdb = tzdb;
25081
0
  in.time->is_localtime = 0;
25082
0
  in.time->zone_type = 0;
25083
25084
  /* Loop over the format string */
25085
0
  while (*fptr && *ptr) {
25086
0
    begin = ptr;
25087
25088
0
    if (prefix_char) {
25089
      /* There are 2 cases where the input string and format string
25090
       * should match the next literal:
25091
       *
25092
       * 1. No prefix has been specified yet in the format, so expect 1:1
25093
       *    match.
25094
       * 2. Sequential prefix characters indicating that the second
25095
       *    prefix is escaped. (e.g. "%%" is expecting literal "%")
25096
       */
25097
0
      if ((!prefix_found && *fptr != prefix_char) ||
25098
0
        (prefix_found && *fptr == prefix_char)) {
25099
0
        if (*fptr != *ptr) {
25100
0
          add_pbf_error(s, TIMELIB_ERR_FORMAT_LITERAL_MISMATCH, "Format literal not found", string, begin);
25101
0
        }
25102
0
        ptr++;
25103
0
        fptr++;
25104
0
        prefix_found = false;
25105
0
        continue;
25106
0
      }
25107
25108
0
      if (*fptr == prefix_char) {
25109
0
        fptr++;
25110
0
        prefix_found = true;
25111
0
        continue;
25112
0
      }
25113
25114
      /* Fall through case is that the prefix has been found and the next
25115
       * character is the format specifier. */
25116
0
      prefix_found = false;
25117
0
    }
25118
25119
0
    switch (timelib_lookup_format(*fptr, format_map)) {
25120
0
      case TIMELIB_FORMAT_TEXTUAL_DAY_3_LETTER: /* three letter day */
25121
0
      case TIMELIB_FORMAT_TEXTUAL_DAY_FULL: /* full day */
25122
0
        {
25123
0
          const timelib_relunit* tmprel = 0;
25124
25125
0
          tmprel = timelib_lookup_relunit(&ptr);
25126
0
          if (!tmprel) {
25127
0
            add_pbf_error(s, TIMELIB_ERR_NO_TEXTUAL_DAY, "A textual day could not be found", string, begin);
25128
0
            break;
25129
0
          } else {
25130
0
            in.time->have_relative = 1;
25131
0
            in.time->relative.have_weekday_relative = 1;
25132
0
            in.time->relative.weekday = tmprel->multiplier;
25133
0
            in.time->relative.weekday_behavior = 1;
25134
0
          }
25135
0
        }
25136
0
        break;
25137
0
      case TIMELIB_FORMAT_DAY_TWO_DIGIT: /* two digit day, without leading zero */
25138
0
      case TIMELIB_FORMAT_DAY_TWO_DIGIT_PADDED: /* two digit day, with leading zero */
25139
0
        TIMELIB_CHECK_NUMBER;
25140
0
        if ((s->time->d = timelib_get_nr(&ptr, 2)) == TIMELIB_UNSET) {
25141
0
          add_pbf_error(s, TIMELIB_ERR_NO_TWO_DIGIT_DAY, "A two digit day could not be found", string, begin);
25142
0
          break;
25143
0
        }
25144
25145
0
        s->time->have_date = 1;
25146
0
        break;
25147
0
      case TIMELIB_FORMAT_DAY_SUFFIX: /* day suffix, ignored, nor checked */
25148
0
        timelib_skip_day_suffix(&ptr);
25149
0
        break;
25150
0
      case TIMELIB_FORMAT_DAY_OF_YEAR: /* day of year - resets month (0 based) - also initializes everything else to !TIMELIB_UNSET */
25151
0
        TIMELIB_CHECK_NUMBER;
25152
0
        if (s->time->y == TIMELIB_UNSET) {
25153
0
          add_pbf_error(s, TIMELIB_ERR_MERIDIAN_BEFORE_HOUR, "A 'day of year' can only come after a year has been found", string, begin);
25154
0
        }
25155
0
        if ((tmp = timelib_get_nr(&ptr, 3)) == TIMELIB_UNSET) {
25156
0
          add_pbf_error(s, TIMELIB_ERR_NO_THREE_DIGIT_DAY_OF_YEAR, "A three digit day-of-year could not be found", string, begin);
25157
0
          break;
25158
0
        }
25159
25160
0
        if (s->time->y != TIMELIB_UNSET) {
25161
0
          s->time->have_date = 1;
25162
0
          s->time->m = 1;
25163
0
          s->time->d = tmp + 1;
25164
0
          timelib_do_normalize(s->time);
25165
0
        }
25166
0
        break;
25167
25168
0
      case TIMELIB_FORMAT_MONTH_TWO_DIGIT: /* two digit month, without leading zero */
25169
0
      case TIMELIB_FORMAT_MONTH_TWO_DIGIT_PADDED: /* two digit month, with leading zero */
25170
0
        TIMELIB_CHECK_NUMBER;
25171
0
        if ((s->time->m = timelib_get_nr(&ptr, 2)) == TIMELIB_UNSET) {
25172
0
          add_pbf_error(s, TIMELIB_ERR_NO_TWO_DIGIT_MONTH, "A two digit month could not be found", string, begin);
25173
0
          break;
25174
0
        }
25175
0
        s->time->have_date = 1;
25176
0
        break;
25177
0
      case TIMELIB_FORMAT_TEXTUAL_MONTH_3_LETTER: /* three letter month */
25178
0
      case TIMELIB_FORMAT_TEXTUAL_MONTH_FULL: /* full month */
25179
0
        tmp = timelib_lookup_month(&ptr);
25180
0
        if (!tmp) {
25181
0
          add_pbf_error(s, TIMELIB_ERR_NO_TEXTUAL_MONTH, "A textual month could not be found", string, begin);
25182
0
          break;
25183
0
        }
25184
25185
0
        s->time->have_date = 1;
25186
0
        s->time->m = tmp;
25187
0
        break;
25188
0
      case TIMELIB_FORMAT_YEAR_TWO_DIGIT: /* two digit year */
25189
0
        {
25190
0
          int length = 0;
25191
0
          TIMELIB_CHECK_NUMBER;
25192
0
          if ((s->time->y = timelib_get_nr_ex(&ptr, 2, &length)) == TIMELIB_UNSET) {
25193
0
            add_pbf_error(s, TIMELIB_ERR_NO_TWO_DIGIT_YEAR, "A two digit year could not be found", string, begin);
25194
0
            break;
25195
0
          }
25196
          
25197
0
          s->time->have_date = 1;
25198
0
          TIMELIB_PROCESS_YEAR(s->time->y, length);
25199
0
        }
25200
0
        break;
25201
0
      case TIMELIB_FORMAT_YEAR_FOUR_DIGIT: /* four digit year */
25202
0
        TIMELIB_CHECK_NUMBER;
25203
0
        if ((s->time->y = timelib_get_nr(&ptr, 4)) == TIMELIB_UNSET) {
25204
0
          add_pbf_error(s, TIMELIB_ERR_NO_FOUR_DIGIT_YEAR, "A four digit year could not be found", string, begin);
25205
0
          break;
25206
0
        }
25207
25208
0
        s->time->have_date = 1;
25209
0
        break;
25210
0
      case TIMELIB_FORMAT_YEAR_EXPANDED: /* optional symbol, followed by up to 19 digits */
25211
0
        TIMELIB_CHECK_SIGNED_NUMBER;
25212
0
        if ((s->time->y = timelib_get_signed_nr(s, &ptr, 19)) == TIMELIB_UNSET) {
25213
0
          add_pbf_error(s, TIMELIB_ERR_NO_FOUR_DIGIT_YEAR, "An expanded digit year could not be found", string, begin);
25214
0
          break;
25215
0
        }
25216
25217
0
        s->time->have_date = 1;
25218
0
        break;
25219
0
      case TIMELIB_FORMAT_HOUR_TWO_DIGIT_12_MAX: /* two digit hour, without leading zero */
25220
0
      case TIMELIB_FORMAT_HOUR_TWO_DIGIT_12_MAX_PADDED: /* two digit hour, with leading zero */
25221
0
        TIMELIB_CHECK_NUMBER;
25222
0
        if ((s->time->h = timelib_get_nr(&ptr, 2)) == TIMELIB_UNSET) {
25223
0
          add_pbf_error(s, TIMELIB_ERR_NO_TWO_DIGIT_HOUR, "A two digit hour could not be found", string, begin);
25224
0
          break;
25225
0
        }
25226
0
        if (s->time->h > 12) {
25227
0
          add_pbf_error(s, TIMELIB_ERR_HOUR_LARGER_THAN_12, "Hour cannot be higher than 12", string, begin);
25228
0
          break;
25229
0
        }
25230
25231
0
        s->time->have_time = 1;
25232
0
        break;
25233
0
      case TIMELIB_FORMAT_HOUR_TWO_DIGIT_24_MAX_PADDED: /* two digit hour, with leading zero */
25234
0
      case TIMELIB_FORMAT_HOUR_TWO_DIGIT_24_MAX: /* two digit hour, without leading zero */
25235
0
        TIMELIB_CHECK_NUMBER;
25236
0
        if ((s->time->h = timelib_get_nr(&ptr, 2)) == TIMELIB_UNSET) {
25237
0
          add_pbf_error(s, TIMELIB_ERR_NO_TWO_DIGIT_HOUR, "A two digit hour could not be found", string, begin);
25238
0
          break;
25239
0
        }
25240
25241
0
        s->time->have_time = 1;
25242
0
        break;
25243
0
      case TIMELIB_FORMAT_MERIDIAN: /* am/pm/a.m./p.m. AM/PM/A.M./P.M. */
25244
0
        if (s->time->h == TIMELIB_UNSET) {
25245
0
          add_pbf_error(s, TIMELIB_ERR_MERIDIAN_BEFORE_HOUR, "Meridian can only come after an hour has been found", string, begin);
25246
0
        }
25247
0
        if ((tmp = timelib_meridian_with_check(&ptr, s->time->h)) == TIMELIB_UNSET) {
25248
0
          add_pbf_error(s, TIMELIB_ERR_NO_MERIDIAN, "A meridian could not be found", string, begin);
25249
0
          break;
25250
0
        }
25251
25252
0
        s->time->have_time = 1;
25253
0
        if (s->time->h != TIMELIB_UNSET) {
25254
0
          s->time->h += tmp;
25255
0
        }
25256
0
        break;
25257
0
      case TIMELIB_FORMAT_MINUTE_TWO_DIGIT: /* two digit minute, with leading zero */
25258
0
        {
25259
0
          int length;
25260
0
          timelib_sll min;
25261
25262
0
          TIMELIB_CHECK_NUMBER;
25263
0
          min = timelib_get_nr_ex(&ptr, 2, &length);
25264
0
          if (min == TIMELIB_UNSET || length != 2) {
25265
0
            add_pbf_error(s, TIMELIB_ERR_NO_TWO_DIGIT_MINUTE, "A two digit minute could not be found", string, begin);
25266
0
            break;
25267
0
          }
25268
25269
0
          s->time->have_time = 1;
25270
0
          s->time->i = min;
25271
0
        }
25272
0
        break;
25273
0
      case TIMELIB_FORMAT_SECOND_TWO_DIGIT: /* two digit second, with leading zero */
25274
0
        {
25275
0
          int length;
25276
0
          timelib_sll sec;
25277
25278
0
          TIMELIB_CHECK_NUMBER;
25279
0
          sec = timelib_get_nr_ex(&ptr, 2, &length);
25280
0
          if (sec == TIMELIB_UNSET || length != 2) {
25281
0
            add_pbf_error(s, TIMELIB_ERR_NO_TWO_DIGIT_SECOND, "A two digit second could not be found", string, begin);
25282
0
            break;
25283
0
          }
25284
25285
0
          s->time->have_time = 1;
25286
0
          s->time->s = sec;
25287
0
        }
25288
0
        break;
25289
0
      case TIMELIB_FORMAT_MICROSECOND_SIX_DIGIT: /* up to six digit microsecond */
25290
0
        {
25291
0
          double f;
25292
0
          const char *tptr;
25293
25294
0
          TIMELIB_CHECK_NUMBER;
25295
0
          tptr = ptr;
25296
0
          if ((f = timelib_get_nr(&ptr, 6)) == TIMELIB_UNSET || (ptr - tptr < 1)) {
25297
0
            add_pbf_error(s, TIMELIB_ERR_NO_SIX_DIGIT_MICROSECOND, "A six digit microsecond could not be found", string, begin);
25298
0
            break;
25299
0
          }
25300
25301
0
          s->time->us = (f * pow(10, 6 - (ptr - tptr)));
25302
0
        }
25303
0
        break;
25304
0
      case TIMELIB_FORMAT_MILLISECOND_THREE_DIGIT: /* up to three digit millisecond */
25305
0
        {
25306
0
          double f;
25307
0
          const char *tptr;
25308
25309
0
          TIMELIB_CHECK_NUMBER;
25310
0
          tptr = ptr;
25311
0
          if ((f = timelib_get_nr(&ptr, 3)) == TIMELIB_UNSET || (ptr - tptr < 1)) {
25312
0
            add_pbf_error(s, TIMELIB_ERR_NO_THREE_DIGIT_MILLISECOND, "A three digit millisecond could not be found", string, begin);
25313
0
            break;
25314
0
          }
25315
          
25316
0
          s->time->us = (f * pow(10, 3 - (ptr - tptr)) * 1000);
25317
0
        }
25318
0
        break;
25319
0
      case TIMELIB_FORMAT_WHITESPACE: /* any sort of whitespace (' ' and \t) */
25320
0
        timelib_eat_spaces(&ptr);
25321
0
        break;
25322
0
      case TIMELIB_FORMAT_EPOCH_SECONDS: /* epoch seconds */
25323
0
        TIMELIB_CHECK_SIGNED_NUMBER;
25324
0
        tmp = timelib_get_signed_nr(s, &ptr, 24);
25325
0
        s->time->have_zone = 1;
25326
0
        s->time->sse = tmp;
25327
0
        s->time->is_localtime = 1;
25328
0
        s->time->zone_type = TIMELIB_ZONETYPE_OFFSET;
25329
0
        s->time->z = 0;
25330
0
        s->time->dst = 0;
25331
0
        timelib_update_from_sse(s->time);
25332
0
        break;
25333
25334
0
      case TIMELIB_FORMAT_ANY_SEPARATOR: /* separation symbol */
25335
0
        if (timelib_lookup_format(*ptr, format_map) != TIMELIB_FORMAT_SEPARATOR) {
25336
0
          add_pbf_error(s, TIMELIB_ERR_NO_SEP_SYMBOL, "The separation symbol ([;:/.,-]) could not be found", string, begin);
25337
0
          break;
25338
0
        }
25339
        
25340
0
        ++ptr;
25341
0
        break;
25342
25343
0
      case TIMELIB_FORMAT_SEPARATOR:
25344
0
        if (*ptr != *fptr) {
25345
0
          add_pbf_error(s, TIMELIB_ERR_NO_SEP_SYMBOL, "The separation symbol could not be found", string, begin);
25346
0
          break;
25347
0
        }
25348
25349
0
        ++ptr;
25350
0
        break;
25351
25352
0
      case TIMELIB_FORMAT_RESET_ALL: /* reset all fields to default */
25353
0
        timelib_time_reset_fields(s->time);
25354
0
        break; /* break intentionally not missing */
25355
25356
0
      case TIMELIB_FORMAT_RESET_ALL_WHEN_NOT_SET: /* reset all fields to default when not set */
25357
0
        timelib_time_reset_unset_fields(s->time);
25358
0
        break; /* break intentionally not missing */
25359
25360
0
      case TIMELIB_FORMAT_RANDOM_CHAR: /* random char */
25361
0
        ++ptr;
25362
0
        break;
25363
25364
0
      case TIMELIB_FORMAT_ESCAPE: /* escaped char */
25365
0
        if (!fptr[1]) {
25366
0
          add_pbf_error(s, TIMELIB_ERR_EXPECTED_ESCAPE_CHAR, "Escaped character expected", string, begin);
25367
0
          break;
25368
0
        }
25369
0
        fptr++;
25370
0
        if (*ptr != *fptr) {
25371
0
          add_pbf_error(s, TIMELIB_ERR_NO_ESCAPED_CHAR, "The escaped character could not be found", string, begin);
25372
0
          break;
25373
0
        }
25374
25375
0
        ++ptr;
25376
0
        break;
25377
25378
0
      case TIMELIB_FORMAT_SKIP_TO_SEPARATOR: /* random chars until a separator or number ([ \t.,:;/-0123456789]) */
25379
0
        timelib_eat_until_separator(&ptr);
25380
0
        break;
25381
25382
0
      case TIMELIB_FORMAT_ALLOW_EXTRA_CHARACTERS: /* allow extra chars in the format */
25383
0
        allow_extra = true;
25384
0
        break;
25385
0
      case TIMELIB_FORMAT_YEAR_ISO:
25386
0
        if ((iso_year = timelib_get_nr(&ptr, 4)) == TIMELIB_UNSET) {
25387
0
          add_pbf_error(s, TIMELIB_ERR_NO_FOUR_DIGIT_YEAR_ISO, "A four digit ISO year could not be found", string, begin);
25388
0
          break;
25389
0
        }
25390
25391
0
        s->time->have_date = 1;
25392
0
        break;
25393
0
      case TIMELIB_FORMAT_WEEK_OF_YEAR_ISO:
25394
0
        if ((iso_week_of_year = timelib_get_nr(&ptr, 2)) == TIMELIB_UNSET) {
25395
0
          add_pbf_error(s, TIMELIB_ERR_NO_TWO_DIGIT_WEEK, "A two digit ISO week could not be found", string, begin);
25396
0
          break;
25397
0
        }
25398
        /* Range is 1 - 53  for ISO week of year */
25399
0
        if (iso_week_of_year < 1 || iso_week_of_year > 53) {
25400
0
          add_pbf_error(s, TIMELIB_ERR_INVALID_WEEK, "ISO Week must be between 1 and 53", string, begin);
25401
0
          break;
25402
0
        }
25403
25404
0
        s->time->have_date = 1;
25405
0
        break;
25406
0
      case TIMELIB_FORMAT_DAY_OF_WEEK_ISO:
25407
0
        if ((iso_day_of_week = timelib_get_nr(&ptr, 1)) == TIMELIB_UNSET) {
25408
0
          add_pbf_error(s, TIMELIB_ERR_NO_DAY_OF_WEEK, "A single digit day of week could not be found", string, begin);
25409
0
          break;
25410
0
        }
25411
0
        if (iso_day_of_week < 1 || iso_day_of_week > 7) {
25412
0
          add_pbf_error(s, TIMELIB_ERR_INVALID_DAY_OF_WEEK, "Day of week must be between 1 and 7", string, begin);
25413
0
          break;
25414
0
        }
25415
25416
0
        s->time->have_date = 1;
25417
0
        break;
25418
0
      case TIMELIB_FORMAT_TIMEZONE_OFFSET: /* timezone */
25419
0
        {
25420
0
          int tz_not_found;
25421
25422
0
          s->time->z = timelib_parse_zone(&ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
25423
0
          if (tz_not_found) {
25424
0
            add_pbf_error(s, TIMELIB_ERR_TZID_NOT_FOUND, "The timezone could not be found in the database", string, begin);
25425
0
            break;
25426
0
          }
25427
25428
0
          s->time->have_zone = 1;
25429
0
        }
25430
0
        break;
25431
0
      case TIMELIB_FORMAT_TIMEZONE_OFFSET_MINUTES: /* timezone format +/-mmm */
25432
0
        s->time->z = timelib_parse_tz_minutes(&ptr, s->time);
25433
0
        if (s->time->z == TIMELIB_UNSET) {
25434
0
          add_pbf_error(s, TIMELIB_ERR_INVALID_TZ_OFFSET, "Invalid timezone offset in minutes", string, begin);
25435
0
          break;
25436
0
        }
25437
25438
0
        s->time->have_zone = 1;
25439
0
        break;
25440
0
      case TIMELIB_FORMAT_LITERAL:
25441
0
      default:
25442
0
        if (*fptr != *ptr) {
25443
0
          add_pbf_error(s, TIMELIB_ERR_WRONG_FORMAT_SEP, "The format separator does not match", string, begin);
25444
0
        }
25445
0
        ptr++;
25446
0
    }
25447
0
    fptr++;
25448
0
  }
25449
0
  if (*ptr) {
25450
0
    if (allow_extra) {
25451
0
      add_pbf_warning(s, TIMELIB_WARN_TRAILING_DATA, "Trailing data", string, ptr);
25452
0
    } else {
25453
0
      add_pbf_error(s, TIMELIB_ERR_TRAILING_DATA, "Trailing data", string, ptr);
25454
0
    }
25455
0
  }
25456
25457
0
  if (*fptr) {
25458
    /* Trailing reset specifiers are valid. */
25459
0
    int done = 0;
25460
0
    while (*fptr && !done) {
25461
0
      switch (timelib_lookup_format(*fptr, format_map)) {
25462
0
        case TIMELIB_FORMAT_RESET_ALL: /* reset all fields to default */
25463
0
          timelib_time_reset_fields(s->time);
25464
0
          break;
25465
25466
0
        case TIMELIB_FORMAT_RESET_ALL_WHEN_NOT_SET: /* reset all fields to default when not set */
25467
0
          timelib_time_reset_unset_fields(s->time);
25468
0
          break;
25469
0
        case TIMELIB_FORMAT_ALLOW_EXTRA_CHARACTERS:
25470
0
          break;
25471
25472
0
        default:
25473
0
          add_pbf_error(s, TIMELIB_ERR_DATA_MISSING, "Not enough data available to satisfy format", string, ptr);
25474
0
          done = 1;
25475
0
      }
25476
0
      fptr++;
25477
0
    }
25478
0
  }
25479
25480
  /* clean up a bit */
25481
0
  if (s->time->h != TIMELIB_UNSET || s->time->i != TIMELIB_UNSET || s->time->s != TIMELIB_UNSET || s->time->us != TIMELIB_UNSET) {
25482
0
    if (s->time->h == TIMELIB_UNSET ) {
25483
0
      s->time->h = 0;
25484
0
    }
25485
0
    if (s->time->i == TIMELIB_UNSET ) {
25486
0
      s->time->i = 0;
25487
0
    }
25488
0
    if (s->time->s == TIMELIB_UNSET ) {
25489
0
      s->time->s = 0;
25490
0
    }
25491
0
    if (s->time->us == TIMELIB_UNSET ) {
25492
0
      s->time->us = 0;
25493
0
    }
25494
0
  }
25495
25496
  /* Check for mixing of ISO dates with natural dates. */
25497
0
  if (s->time->y != TIMELIB_UNSET && (iso_week_of_year != TIMELIB_UNSET || iso_year != TIMELIB_UNSET || iso_day_of_week != TIMELIB_UNSET)) {
25498
0
    add_pbf_error(s, TIMELIB_ERR_MIX_ISO_WITH_NATURAL, "Mixing of ISO dates with natural dates is not allowed", string, ptr);
25499
0
  }
25500
0
  if (iso_year != TIMELIB_UNSET && (s->time->y != TIMELIB_UNSET || s->time->m != TIMELIB_UNSET || s->time->d != TIMELIB_UNSET)) {
25501
0
    add_pbf_error(s, TIMELIB_ERR_MIX_ISO_WITH_NATURAL, "Mixing of ISO dates with natural dates is not allowed", string, ptr);
25502
0
  }
25503
25504
  /* Convert ISO values */
25505
0
  if (iso_year != TIMELIB_UNSET) {
25506
    /* Default week of year and day of week to 1. */
25507
0
    if (iso_week_of_year == TIMELIB_UNSET) {
25508
0
      iso_week_of_year = 1;
25509
0
    }
25510
0
    if (iso_day_of_week == TIMELIB_UNSET) {
25511
0
      iso_day_of_week = 1;
25512
0
    }
25513
0
    timelib_date_from_isodate(iso_year, iso_week_of_year, iso_day_of_week, &s->time->y, &s->time->m, &s->time->d);
25514
0
  } else if (iso_week_of_year != TIMELIB_UNSET || iso_day_of_week != TIMELIB_UNSET) {
25515
0
    add_pbf_warning(s, TIMELIB_WARN_INVALID_DATE, "The parsed date was invalid", string, ptr);
25516
0
  }
25517
25518
  /* do funky checking whether the parsed time was valid time */
25519
0
  if (s->time->h != TIMELIB_UNSET && s->time->i != TIMELIB_UNSET &&
25520
0
    s->time->s != TIMELIB_UNSET &&
25521
0
    !timelib_valid_time( s->time->h, s->time->i, s->time->s)) {
25522
0
    add_pbf_warning(s, TIMELIB_WARN_INVALID_TIME, "The parsed time was invalid", string, ptr);
25523
0
  }
25524
  /* do funky checking whether the parsed date was valid date */
25525
0
  if (s->time->y != TIMELIB_UNSET && s->time->m != TIMELIB_UNSET &&
25526
0
    s->time->d != TIMELIB_UNSET &&
25527
0
    !timelib_valid_date( s->time->y, s->time->m, s->time->d)) {
25528
0
    add_pbf_warning(s, TIMELIB_WARN_INVALID_DATE, "The parsed date was invalid", string, ptr);
25529
0
  }
25530
25531
0
  if (errors) {
25532
0
    *errors = in.errors;
25533
0
  } else {
25534
0
    timelib_error_container_dtor(in.errors);
25535
0
  }
25536
0
  return in.time;
25537
0
}
25538
25539
void timelib_fill_holes(timelib_time *parsed, timelib_time *now, int options)
25540
0
{
25541
0
  if (!(options & TIMELIB_OVERRIDE_TIME) && parsed->have_date && !parsed->have_time) {
25542
0
    parsed->h = 0;
25543
0
    parsed->i = 0;
25544
0
    parsed->s = 0;
25545
0
    parsed->us = 0;
25546
0
  }
25547
0
  if (
25548
0
    parsed->y != TIMELIB_UNSET || parsed->m != TIMELIB_UNSET || parsed->d != TIMELIB_UNSET ||
25549
0
    parsed->h != TIMELIB_UNSET || parsed->i != TIMELIB_UNSET || parsed->s != TIMELIB_UNSET
25550
0
  ) {
25551
0
    if (parsed->us == TIMELIB_UNSET) parsed->us = 0;
25552
0
  } else {
25553
0
    if (parsed->us == TIMELIB_UNSET) parsed->us = now->us != TIMELIB_UNSET ? now->us : 0;
25554
0
  }
25555
0
  if (parsed->y == TIMELIB_UNSET) parsed->y = now->y != TIMELIB_UNSET ? now->y : 0;
25556
0
  if (parsed->m == TIMELIB_UNSET) parsed->m = now->m != TIMELIB_UNSET ? now->m : 0;
25557
0
  if (parsed->d == TIMELIB_UNSET) parsed->d = now->d != TIMELIB_UNSET ? now->d : 0;
25558
0
  if (parsed->h == TIMELIB_UNSET) parsed->h = now->h != TIMELIB_UNSET ? now->h : 0;
25559
0
  if (parsed->i == TIMELIB_UNSET) parsed->i = now->i != TIMELIB_UNSET ? now->i : 0;
25560
0
  if (parsed->s == TIMELIB_UNSET) parsed->s = now->s != TIMELIB_UNSET ? now->s : 0;
25561
25562
0
  if (!parsed->tz_info) {
25563
0
    parsed->tz_info = now->tz_info ? (!(options & TIMELIB_NO_CLONE) ? timelib_tzinfo_clone(now->tz_info) : now->tz_info) : NULL;
25564
25565
0
    if (parsed->z == TIMELIB_UNSET) parsed->z = now->z != TIMELIB_UNSET ? now->z : 0;
25566
0
    if (parsed->dst == TIMELIB_UNSET) parsed->dst = now->dst != TIMELIB_UNSET ? now->dst : 0;
25567
25568
0
    if (!parsed->tz_abbr) {
25569
0
      parsed->tz_abbr = now->tz_abbr ? timelib_strdup(now->tz_abbr) : NULL;
25570
0
    }
25571
0
  }
25572
25573
0
  if (parsed->zone_type == 0 && now->zone_type != 0) {
25574
0
    parsed->zone_type = now->zone_type;
25575
/*    parsed->tz_abbr = now->tz_abbr ? timelib_strdup(now->tz_abbr) : NULL;
25576
    parsed->tz_info = now->tz_info ? timelib_tzinfo_clone(now->tz_info) : NULL;
25577
0
*/    parsed->is_localtime = 1;
25578
0
  }
25579
/*  timelib_dump_date(parsed, 2);
25580
  timelib_dump_date(now, 2);
25581
*/
25582
0
}
25583
25584
const char *timelib_timezone_id_from_abbr(const char *abbr, timelib_long gmtoffset, int isdst)
25585
0
{
25586
0
  const timelib_tz_lookup_table *tp;
25587
25588
0
  tp = abbr_search(abbr, gmtoffset, isdst);
25589
0
  if (tp) {
25590
0
    return (tp->full_tz_name);
25591
0
  } else {
25592
0
    return NULL;
25593
0
  }
25594
0
}
25595
25596
const timelib_tz_lookup_table *timelib_timezone_abbreviations_list(void)
25597
0
{
25598
0
  return timelib_timezone_lookup;
25599
0
}
25600
25601
#ifdef DEBUG_PARSER_STUB
25602
int main(void)
25603
{
25604
  timelib_time time = timelib_strtotime("May 12");
25605
25606
  printf ("%04d-%02d-%02d %02d:%02d:%02d.%-5d %+04d %1d",
25607
    time.y, time.m, time.d, time.h, time.i, time.s, time.f, time.z, time.dst);
25608
  if (time.have_relative) {
25609
    printf ("%3dY %3dM %3dD / %3dH %3dM %3dS",
25610
      time.relative.y, time.relative.m, time.relative.d, time.relative.h, time.relative.i, time.relative.s);
25611
  }
25612
  if (time.have_weekday_relative) {
25613
    printf (" / %d", time.relative.weekday);
25614
  }
25615
  if (time.have_weeknr_day) {
25616
    printf(" / %dW%d", time.relative.weeknr_day.weeknr, time.relative.weeknr_day.dayofweek);
25617
  }
25618
  return 0;
25619
}
25620
#endif
25621
25622
/*
25623
 * vim: syntax=c
25624
 */