Coverage Report

Created: 2026-06-13 07:01

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
205M
#define EOI      257
48
#define TIME     258
49
#define DATE     259
50
51
10.2k
#define TIMELIB_XMLRPC_SOAP    260
52
23.0k
#define TIMELIB_TIME12         261
53
#define TIMELIB_TIME24         262
54
1.11M
#define TIMELIB_GNU_NOCOLON    263
55
#define TIMELIB_GNU_NOCOLON_TZ 264
56
155k
#define TIMELIB_ISO_NOCOLON    265
57
58
60.6k
#define TIMELIB_AMERICAN       266
59
84.4k
#define TIMELIB_ISO_DATE       267
60
56.6k
#define TIMELIB_DATE_FULL      268
61
447k
#define TIMELIB_DATE_TEXT      269
62
94.7k
#define TIMELIB_DATE_NOCOLON   270
63
119k
#define TIMELIB_PG_YEARDAY     271
64
13.5k
#define TIMELIB_PG_TEXT        272
65
#define TIMELIB_PG_REVERSE     273
66
5.70M
#define TIMELIB_CLF            274
67
43.8k
#define TIMELIB_DATE_NO_DAY    275
68
195k
#define TIMELIB_SHORTDATE_WITH_TIME 276
69
9.67k
#define TIMELIB_DATE_FULL_POINTED 277
70
689k
#define TIMELIB_TIME24_WITH_ZONE 278
71
9.44k
#define TIMELIB_ISO_WEEK       279
72
164k
#define TIMELIB_LF_DAY_OF_MONTH 280
73
8.89k
#define TIMELIB_WEEK_DAY_OF_MONTH 281
74
75
335k
#define TIMELIB_TIMEZONE       300
76
75.2k
#define TIMELIB_AGO            301
77
78
941k
#define TIMELIB_RELATIVE       310
79
80
194M
#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
1.25G
#define   YYCTYPE      uchar
89
4.71G
#define   YYCURSOR     cursor
90
1.39G
#define   YYLIMIT      s->lim
91
461M
#define   YYMARKER     s->ptr
92
341k
#define   YYFILL(n)    return EOI;
93
94
#define   RET(i)       {s->cur = cursor; return i;}
95
96
205M
#define timelib_string_free timelib_free
97
98
6.34M
#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
2.34M
#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
11.1M
#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
1.26M
#define TIMELIB_UNHAVE_DATE() { s->time->have_date = 0; s->time->d = 0; s->time->m = 0; s->time->y = 0; }
102
2.66M
#define TIMELIB_HAVE_RELATIVE() { s->time->have_relative = 1; }
103
1.00M
#define TIMELIB_HAVE_WEEKDAY_RELATIVE() { s->time->have_relative = 1; s->time->relative.have_weekday_relative = 1; }
104
18.5k
#define TIMELIB_HAVE_SPECIAL_RELATIVE() { s->time->have_relative = 1; s->time->relative.have_special_relative = 1; }
105
177M
#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
205M
#define TIMELIB_INIT  s->cur = cursor; str = timelib_string(s); ptr = str
108
12.7M
#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
433k
#define TIMELIB_PROCESS_YEAR(x, l) { \
112
433k
  if (((x) == TIMELIB_UNSET) || ((l) >= 4)) { \
113
270k
  /*  (x) = 0; */          \
114
270k
  } else if ((x) < 100) {  \
115
140k
    if ((x) < 70) {      \
116
127k
      (x) += 2000;     \
117
127k
    } else {             \
118
13.7k
      (x) += 1900;     \
119
13.7k
    }                    \
120
140k
  }                        \
121
433k
}
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
981k
#  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
898M
{
362
  /* Realloc in power of two increments */
363
898M
  int is_pow2 = (*count & (*count - 1)) == 0;
364
365
898M
  if (is_pow2) {
366
4.46M
    size_t alloc_size = *count ? (*count * 2) : 1;
367
368
4.46M
    *messages = timelib_realloc(*messages, alloc_size * sizeof(timelib_error_message));
369
4.46M
  }
370
898M
  return *messages + (*count)++;
371
898M
}
372
373
static void add_warning(Scanner *s, int error_code, const char *error)
374
480k
{
375
480k
  timelib_error_message *message = alloc_error_message(&s->errors->warning_messages, &s->errors->warning_count);
376
377
480k
  message->error_code = error_code;
378
480k
  message->position = s->tok ? s->tok - s->str : 0;
379
480k
  message->character = s->tok ? *s->tok : 0;
380
480k
  message->message = timelib_strdup(error);
381
480k
}
382
383
static void add_error(Scanner *s, int error_code, const char *error)
384
898M
{
385
898M
  timelib_error_message *message = alloc_error_message(&s->errors->error_messages, &s->errors->error_count);
386
387
898M
  message->error_code = error_code;
388
898M
  message->position = s->tok ? s->tok - s->str : 0;
389
898M
  message->character = s->tok ? *s->tok : 0;
390
898M
  message->message = timelib_strdup(error);
391
898M
}
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
56.2k
{
415
56.2k
  timelib_sll retval = 0;
416
417
64.0k
  while (!strchr("AaPp", **ptr)) {
418
7.86k
    ++*ptr;
419
7.86k
  }
420
56.2k
  if (**ptr == 'a' || **ptr == 'A') {
421
39.5k
    if (h == 12) {
422
3.76k
      retval = -12;
423
3.76k
    }
424
39.5k
  } else if (h != 12) {
425
15.2k
    retval = 12;
426
15.2k
  }
427
56.2k
  ++*ptr;
428
56.2k
  if (**ptr == '.') {
429
11.4k
    ++*ptr;
430
11.4k
  }
431
56.2k
  if (**ptr == 'M' || **ptr == 'm') {
432
51.7k
    ++*ptr;
433
51.7k
  }
434
56.2k
  if (**ptr == '.') {
435
18.7k
    ++*ptr;
436
18.7k
  }
437
56.2k
  return retval;
438
56.2k
}
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
205M
{
478
205M
  char *tmp = timelib_calloc(1, s->cur - s->tok + 1);
479
205M
  memcpy(tmp, s->tok, s->cur - s->tok);
480
481
205M
  return tmp;
482
205M
}
483
484
static timelib_sll timelib_get_nr_ex(const char **ptr, int max_length, int *scanned_length)
485
11.6M
{
486
11.6M
  const char *begin, *end;
487
11.6M
  char *str;
488
11.6M
  timelib_sll tmp_nr = TIMELIB_UNSET;
489
11.6M
  int len = 0;
490
491
14.8M
  while ((**ptr < '0') || (**ptr > '9')) {
492
3.33M
    if (**ptr == '\0') {
493
78.3k
      return TIMELIB_UNSET;
494
78.3k
    }
495
3.25M
    ++*ptr;
496
3.25M
  }
497
498
11.5M
  begin = *ptr;
499
46.2M
  while ((**ptr >= '0') && (**ptr <= '9') && len < max_length) {
500
34.6M
    ++*ptr;
501
34.6M
    ++len;
502
34.6M
  }
503
11.5M
  end = *ptr;
504
11.5M
  if (scanned_length) {
505
377k
    *scanned_length = end - begin;
506
377k
  }
507
11.5M
  str = timelib_calloc(1, end - begin + 1);
508
11.5M
  memcpy(str, begin, end - begin);
509
11.5M
  tmp_nr = strtoll(str, NULL, 10);
510
11.5M
  timelib_free(str);
511
11.5M
  return tmp_nr;
512
11.6M
}
513
514
static timelib_sll timelib_get_nr(const char **ptr, int max_length)
515
11.1M
{
516
11.1M
  return timelib_get_nr_ex(ptr, max_length, NULL);
517
11.1M
}
518
519
static void timelib_skip_day_suffix(const char **ptr)
520
234k
{
521
234k
  if (isspace((unsigned char)**ptr)) {
522
10.7k
    return;
523
10.7k
  }
524
223k
  if (!timelib_strncasecmp(*ptr, "nd", 2) || !timelib_strncasecmp(*ptr, "rd", 2) ||!timelib_strncasecmp(*ptr, "st", 2) || !timelib_strncasecmp(*ptr, "th", 2)) {
525
8.62k
    *ptr += 2;
526
8.62k
  }
527
223k
}
528
529
static timelib_sll timelib_get_frac_nr(const char **ptr)
530
27.4k
{
531
27.4k
  const char *begin, *end;
532
27.4k
  char *str;
533
27.4k
  double tmp_nr = TIMELIB_UNSET;
534
535
27.4k
  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
27.4k
  begin = *ptr;
542
120k
  while ((**ptr == '.') || (**ptr == ':') || ((**ptr >= '0') && (**ptr <= '9'))) {
543
92.7k
    ++*ptr;
544
92.7k
  }
545
27.4k
  end = *ptr;
546
27.4k
  str = timelib_calloc(1, end - begin);
547
27.4k
  memcpy(str, begin + 1, end - begin - 1);
548
27.4k
  tmp_nr = strtod(str, NULL) * pow(10, 7 - (end - begin));
549
27.4k
  timelib_free(str);
550
27.4k
  return tmp_nr;
551
27.4k
}
552
553
static timelib_ull timelib_get_signed_nr(Scanner *s, const char **ptr, int max_length)
554
449k
{
555
449k
  char *str, *str_ptr;
556
449k
  timelib_sll tmp_nr = 0;
557
449k
  int len = 0;
558
559
  /* Skip over non-numeric chars */
560
561
476k
  while (((**ptr < '0') || (**ptr > '9')) && (**ptr != '+') && (**ptr != '-')) {
562
27.2k
    if (**ptr == '\0') {
563
56
      add_error(s, TIMELIB_ERR_UNEXPECTED_DATA, "Found unexpected data");
564
56
      return 0;
565
56
    }
566
27.1k
    ++*ptr;
567
27.1k
  }
568
  
569
  /* Allocate string to feed to strtoll(): sign + length + '\0' */
570
449k
  str = timelib_calloc(1, max_length + 2);
571
449k
  str[0] = '+'; /* First position is the sign */
572
449k
  str_ptr = str + 1;
573
574
522k
  while ((**ptr == '+') || (**ptr == '-')) {
575
73.3k
    if (**ptr == '-') {
576
56.9k
      str[0] = str[0] == '+' ? '-' : '+';
577
56.9k
    }
578
73.3k
    ++*ptr;
579
73.3k
  }
580
581
455k
  while (((**ptr < '0') || (**ptr > '9'))) {
582
6.57k
    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
6.57k
    ++*ptr;
588
6.57k
  }
589
590
1.45M
  while ((**ptr >= '0') && (**ptr <= '9') && len < max_length) {
591
1.00M
    *str_ptr = **ptr;
592
1.00M
    ++*ptr;
593
1.00M
    ++str_ptr;
594
1.00M
    ++len;
595
1.00M
  }
596
597
449k
  errno = 0;
598
449k
  tmp_nr = strtoll(str, NULL, 10);
599
449k
  if (errno == ERANGE) {
600
20
    timelib_free(str);
601
20
    add_error(s, TIMELIB_ERR_NUMBER_OUT_OF_RANGE, "Number out of range");
602
20
    return 0;
603
20
  }
604
605
449k
  timelib_free(str);
606
607
449k
  return tmp_nr;
608
449k
}
609
610
static timelib_sll timelib_lookup_relative_text(const char **ptr, int *behavior)
611
358k
{
612
358k
  char *word;
613
358k
  const char *begin = *ptr, *end;
614
358k
  timelib_sll  value = 0;
615
358k
  const timelib_lookup_table *tp;
616
617
2.02M
  while ((**ptr >= 'A' && **ptr <= 'Z') || (**ptr >= 'a' && **ptr <= 'z')) {
618
1.66M
    ++*ptr;
619
1.66M
  }
620
358k
  end = *ptr;
621
358k
  word = timelib_calloc(1, end - begin + 1);
622
358k
  memcpy(word, begin, end - begin);
623
624
6.45M
  for (tp = timelib_reltext_lookup; tp->name; tp++) {
625
6.09M
    if (timelib_strcasecmp(word, tp->name) == 0) {
626
358k
      value = tp->value;
627
358k
      *behavior = tp->type;
628
358k
    }
629
6.09M
  }
630
631
358k
  timelib_free(word);
632
358k
  return value;
633
358k
}
634
635
static timelib_sll timelib_get_relative_text(const char **ptr, int *behavior)
636
358k
{
637
358k
  while (**ptr == ' ' || **ptr == '\t' || **ptr == '-' || **ptr == '/') {
638
0
    ++*ptr;
639
0
  }
640
358k
  return timelib_lookup_relative_text(ptr, behavior);
641
358k
}
642
643
static timelib_long timelib_lookup_month(const char **ptr)
644
788k
{
645
788k
  char *word;
646
788k
  const char *begin = *ptr, *end;
647
788k
  timelib_long  value = 0;
648
788k
  const timelib_lookup_table *tp;
649
650
2.28M
  while ((**ptr >= 'A' && **ptr <= 'Z') || (**ptr >= 'a' && **ptr <= 'z')) {
651
1.49M
    ++*ptr;
652
1.49M
  }
653
788k
  end = *ptr;
654
788k
  word = timelib_calloc(1, end - begin + 1);
655
788k
  memcpy(word, begin, end - begin);
656
657
29.9M
  for (tp = timelib_month_lookup; tp->name; tp++) {
658
29.1M
    if (timelib_strcasecmp(word, tp->name) == 0) {
659
816k
      value = tp->value;
660
816k
    }
661
29.1M
  }
662
663
788k
  timelib_free(word);
664
788k
  return value;
665
788k
}
666
667
static timelib_long timelib_get_month(const char **ptr)
668
631k
{
669
719k
  while (**ptr == ' ' || **ptr == '\t' || **ptr == '-' || **ptr == '.' || **ptr == '/') {
670
88.1k
    ++*ptr;
671
88.1k
  }
672
631k
  return timelib_lookup_month(ptr);
673
631k
}
674
675
static void timelib_eat_spaces(const char **ptr)
676
1.18M
{
677
1.82M
  do {
678
1.82M
    if (**ptr == ' ' || **ptr == '\t') {
679
548k
      ++*ptr;
680
548k
      continue;
681
548k
    }
682
1.27M
    if ((*ptr)[0] == '\xe2' && (*ptr)[1] == '\x80' && (*ptr)[2] == '\xaf') { // NNBSP
683
36.1k
      *ptr += 3;
684
36.1k
      continue;
685
36.1k
    }
686
1.23M
    if ((*ptr)[0] == '\xc2' && (*ptr)[1] == '\xa0') { // NBSP
687
57.7k
      *ptr += 2;
688
57.7k
      continue;
689
57.7k
    }
690
1.18M
    break;
691
1.23M
  } while (true);
692
1.18M
}
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
1.36M
{
704
1.36M
  char *word;
705
1.36M
  const char *begin = *ptr, *end;
706
1.36M
  const timelib_relunit *tp, *value = NULL;
707
708
6.52M
  while (**ptr != '\0' && **ptr != ' ' && **ptr != ',' && **ptr != '\t' && **ptr != ';' && **ptr != ':' &&
709
5.16M
    **ptr != '/' && **ptr != '.' && **ptr != '-' && **ptr != '(' && **ptr != ')' ) {
710
5.16M
    ++*ptr;
711
5.16M
  }
712
1.36M
  end = *ptr;
713
1.36M
  word = timelib_calloc(1, end - begin + 1);
714
1.36M
  memcpy(word, begin, end - begin);
715
716
51.9M
  for (tp = timelib_relunit_lookup; tp->name; tp++) {
717
51.9M
    if (timelib_strcasecmp(word, tp->name) == 0) {
718
1.36M
      value = tp;
719
1.36M
      break;
720
1.36M
    }
721
51.9M
  }
722
723
1.36M
  timelib_free(word);
724
1.36M
  return value;
725
1.36M
}
726
727
static void add_with_overflow(Scanner *s, timelib_sll *e, timelib_sll amount, int multiplier)
728
346k
{
729
346k
#if TIMELIB_HAVE_BUILTIN_SADDLL_OVERFLOW
730
346k
  if (__builtin_saddll_overflow(*e, amount * multiplier, e)) {
731
13
    add_error(s, TIMELIB_ERR_NUMBER_OUT_OF_RANGE, "Number out of range");
732
13
  }
733
#else
734
  *e += (amount * multiplier);
735
#endif
736
346k
}
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
792k
{
746
792k
  const timelib_relunit* relunit;
747
748
792k
  if (!(relunit = timelib_lookup_relunit(ptr))) {
749
3.43k
    return;
750
3.43k
  }
751
752
788k
  switch (relunit->unit) {
753
62.7k
    case TIMELIB_MICROSEC: add_with_overflow(s, &s->time->relative.us, amount, relunit->multiplier); break;
754
105k
    case TIMELIB_SECOND:   add_with_overflow(s, &s->time->relative.s, amount, relunit->multiplier); break;
755
55.2k
    case TIMELIB_MINUTE:   add_with_overflow(s, &s->time->relative.i, amount, relunit->multiplier); break;
756
12.7k
    case TIMELIB_HOUR:     add_with_overflow(s, &s->time->relative.h, amount, relunit->multiplier); break;
757
99.5k
    case TIMELIB_DAY:      add_with_overflow(s, &s->time->relative.d, amount, relunit->multiplier); break;
758
6.25k
    case TIMELIB_MONTH:    add_with_overflow(s, &s->time->relative.m, amount, relunit->multiplier); break;
759
4.96k
    case TIMELIB_YEAR:     add_with_overflow(s, &s->time->relative.y, amount, relunit->multiplier); break;
760
761
432k
    case TIMELIB_WEEKDAY:
762
432k
      TIMELIB_HAVE_WEEKDAY_RELATIVE();
763
432k
      if (time_part != TIMELIB_TIME_PART_KEEP) {
764
242k
        TIMELIB_UNHAVE_TIME();
765
242k
      }
766
432k
      s->time->relative.d += (amount > 0 ? amount - 1 : amount) * 7;
767
432k
      s->time->relative.weekday = relunit->multiplier;
768
432k
      s->time->relative.weekday_behavior = behavior;
769
432k
      break;
770
771
9.65k
    case TIMELIB_SPECIAL:
772
9.65k
      TIMELIB_HAVE_SPECIAL_RELATIVE();
773
9.65k
      if (time_part != TIMELIB_TIME_PART_KEEP) {
774
4.69k
        TIMELIB_UNHAVE_TIME();
775
4.69k
      }
776
9.65k
      s->time->relative.special.type = relunit->multiplier;
777
9.65k
      s->time->relative.special.amount = amount;
778
788k
  }
779
788k
}
780
781
static const timelib_tz_lookup_table* abbr_search(const char *word, timelib_long gmtoffset, int isdst)
782
458k
{
783
458k
  int first_found = 0;
784
458k
  const timelib_tz_lookup_table  *tp, *first_found_elem = NULL;
785
458k
  const timelib_tz_lookup_table  *fmp;
786
787
458k
  if (timelib_strcasecmp("utc", word) == 0 || timelib_strcasecmp("gmt", word) == 0) {
788
67.7k
    return timelib_timezone_utc;
789
67.7k
  }
790
791
437M
  for (tp = timelib_timezone_lookup; tp->name; tp++) {
792
437M
    if (timelib_strcasecmp(word, tp->name) == 0) {
793
183k
      if (!first_found) {
794
183k
        first_found = 1;
795
183k
        first_found_elem = tp;
796
183k
        if (gmtoffset == -1) {
797
183k
          return tp;
798
183k
        }
799
183k
      }
800
0
      if (tp->gmtoffset == gmtoffset) {
801
0
        return tp;
802
0
      }
803
0
    }
804
437M
  }
805
207k
  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
8.92M
  for (fmp = timelib_timezone_fallbackmap; fmp->name; fmp++) {
812
8.71M
    if (fmp->gmtoffset == gmtoffset && fmp->type == isdst) {
813
0
      return fmp;
814
0
    }
815
8.71M
  }
816
207k
  return NULL;
817
207k
}
818
819
static timelib_long timelib_lookup_abbr(const char **ptr, int *dst, char **tz_abbr, int *found)
820
490k
{
821
490k
  char *word;
822
490k
  const char *begin = *ptr, *end;
823
490k
  timelib_long  value = 0;
824
490k
  const timelib_tz_lookup_table *tp;
825
826
  /* Only include A-Z, a-z, 0-9, /, _, and - in abbreviations/TZ IDs */
827
490k
  while (
828
1.64M
    (**ptr >= 'A' && **ptr <= 'Z') ||
829
1.10M
    (**ptr >= 'a' && **ptr <= 'z') ||
830
513k
    (**ptr >= '0' && **ptr <= '9') ||
831
513k
    **ptr == '/' || **ptr == '_' || **ptr == '-' || **ptr == '+'
832
1.15M
  ) {
833
1.15M
    ++*ptr;
834
1.15M
  }
835
490k
  end = *ptr;
836
490k
  word = timelib_calloc(1, end - begin + 1);
837
490k
  memcpy(word, begin, end - begin);
838
839
490k
  if (end - begin < MAX_ABBR_LEN && (tp = abbr_search(word, -1, 0))) {
840
250k
    value = tp->gmtoffset;
841
250k
    *dst = tp->type;
842
250k
    value -= tp->type * 3600;
843
250k
    *found = 1;
844
250k
  } else {
845
240k
    *found = 0;
846
240k
  }
847
848
490k
  *tz_abbr = word;
849
490k
  return value;
850
490k
}
851
852
40.7k
#define sHOUR(a) (int)(a * 3600)
853
25.4k
#define sMIN(a) (int)(a * 60)
854
855
static timelib_long timelib_parse_tz_cor(const char **ptr, int *tz_not_found)
856
40.7k
{
857
40.7k
  const char *begin = *ptr, *end;
858
40.7k
  timelib_long  tmp;
859
860
40.7k
  *tz_not_found = 1;
861
862
168k
  while (isdigit((unsigned char)**ptr) || **ptr == ':') {
863
128k
    ++*ptr;
864
128k
  }
865
40.7k
  end = *ptr;
866
40.7k
  switch (end - begin) {
867
6.69k
    case 1: /* H */
868
15.3k
    case 2: /* HH */
869
15.3k
      *tz_not_found = 0;
870
15.3k
      return sHOUR(strtol(begin, NULL, 10));
871
872
9.07k
    case 3: /* H:M */
873
18.7k
    case 4: /* H:MM, HH:M, HHMM */
874
18.7k
      if (begin[1] == ':') {
875
1.70k
        *tz_not_found = 0;
876
1.70k
        tmp = sHOUR(strtol(begin, NULL, 10)) + sMIN(strtol(begin + 2, NULL, 10));
877
1.70k
        return tmp;
878
17.0k
      } else if (begin[2] == ':') {
879
3.31k
        *tz_not_found = 0;
880
3.31k
        tmp = sHOUR(strtol(begin, NULL, 10)) + sMIN(strtol(begin + 3, NULL, 10));
881
3.31k
        return tmp;
882
13.7k
      } else {
883
13.7k
        *tz_not_found = 0;
884
13.7k
        tmp = strtol(begin, NULL, 10);
885
13.7k
        return sHOUR(tmp / 100) + sMIN(tmp % 100);
886
13.7k
      }
887
888
3.71k
    case 5: /* HH:MM */
889
3.71k
      if (begin[2] != ':') {
890
0
        break;
891
0
      }
892
893
3.71k
      *tz_not_found = 0;
894
3.71k
      tmp = sHOUR(strtol(begin, NULL, 10)) + sMIN(strtol(begin + 3, NULL, 10));
895
3.71k
      return tmp;
896
897
1.98k
    case 6: /* HHMMSS */
898
1.98k
      *tz_not_found = 0;
899
1.98k
      tmp = strtol(begin, NULL, 10);
900
1.98k
      tmp = sHOUR(tmp / 10000) + sMIN((tmp / 100) % 100) + (tmp % 100);
901
1.98k
      return tmp;
902
903
946
    case 8: /* HH:MM:SS */
904
946
      if (begin[2] != ':' || begin[5] != ':') {
905
0
        break;
906
0
      }
907
908
946
      *tz_not_found = 0;
909
946
      tmp = sHOUR(strtol(begin, NULL, 10)) + sMIN(strtol(begin + 3, NULL, 10)) + strtol(begin + 6, NULL, 10);
910
946
      return tmp;
911
912
40.7k
  }
913
0
  return 0;
914
40.7k
}
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
531k
{
949
531k
  timelib_tzinfo *res;
950
531k
  timelib_long            retval = 0;
951
531k
  size_t paren_count = 0;
952
953
531k
  *tz_not_found = 0;
954
955
552k
  while (**ptr == ' ' || **ptr == '\t' || **ptr == '(') {
956
20.5k
    paren_count += **ptr == '(';
957
20.5k
    ++*ptr;
958
20.5k
  }
959
531k
  if ((*ptr)[0] == 'G' && (*ptr)[1] == 'M' && (*ptr)[2] == 'T' && ((*ptr)[3] == '+' || (*ptr)[3] == '-')) {
960
9.42k
    *ptr += 3;
961
9.42k
  }
962
531k
  if (**ptr == '+') {
963
19.7k
    ++*ptr;
964
19.7k
    t->is_localtime = 1;
965
19.7k
    t->zone_type = TIMELIB_ZONETYPE_OFFSET;
966
19.7k
    t->dst = 0;
967
968
19.7k
    retval = timelib_parse_tz_cor(ptr, tz_not_found);
969
511k
  } else if (**ptr == '-') {
970
21.0k
    ++*ptr;
971
21.0k
    t->is_localtime = 1;
972
21.0k
    t->zone_type = TIMELIB_ZONETYPE_OFFSET;
973
21.0k
    t->dst = 0;
974
975
21.0k
    retval = -1 * timelib_parse_tz_cor(ptr, tz_not_found);
976
490k
  } else {
977
490k
    int found = 0;
978
490k
    timelib_long offset = 0;
979
490k
    char *tz_abbr;
980
981
490k
    t->is_localtime = 1;
982
983
    /* First, we lookup by abbreviation only */
984
490k
    offset = timelib_lookup_abbr(ptr, dst, &tz_abbr, &found);
985
490k
    if (found) {
986
250k
      t->zone_type = TIMELIB_ZONETYPE_ABBR;
987
250k
      t->dst = *dst;
988
250k
      timelib_time_tz_abbr_update(t, tz_abbr);
989
250k
    }
990
991
    /* Otherwise, we look if we have a TimeZone identifier */
992
490k
    if (!found || strcmp("UTC", tz_abbr) == 0) {
993
299k
      int dummy_error_code;
994
995
299k
      if ((res = tz_wrapper(tz_abbr, tzdb, &dummy_error_code)) != NULL) {
996
63.8k
        t->tz_info = res;
997
63.8k
        t->zone_type = TIMELIB_ZONETYPE_ID;
998
63.8k
        found++;
999
63.8k
      }
1000
299k
    }
1001
490k
    timelib_free(tz_abbr);
1002
490k
    *tz_not_found = (found == 0);
1003
490k
    retval = offset;
1004
490k
  }
1005
531k
  while (paren_count > 0 && **ptr == ')') {
1006
222
    ++*ptr;
1007
222
    paren_count--;
1008
222
  }
1009
531k
  return retval;
1010
531k
}
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
205M
{
1024
205M
  uchar *cursor = s->cur;
1025
205M
  char *str;
1026
205M
  const char *ptr = NULL;
1027
1028
1.25G
std:
1029
1.25G
  s->tok = cursor;
1030
1.25G
  s->len = 0;
1031
1.25G
#line 1161 "ext/date/lib/parse_date.re"
1032
1033
1034
1035
1.25G
#line 1036 "ext/date/lib/parse_date.c"
1036
1.25G
{
1037
1.25G
  YYCTYPE yych;
1038
1.25G
  unsigned int yyaccept = 0;
1039
1.25G
  static const unsigned char yybm[] = {
1040
1.25G
      0,   0,   0,   0,   0,   0,   0,   0, 
1041
1.25G
      0,  50,   0,   0,   0,   0,   0,   0, 
1042
1.25G
      0,   0,   0,   0,   0,   0,   0,   0, 
1043
1.25G
      0,   0,   0,   0,   0,   0,   0,   0, 
1044
1.25G
     50,   0,   0,   0,   0,   0,   0,   0, 
1045
1.25G
      0,   0,   0,   4,  32,  20,  48,   0, 
1046
1.25G
      8,   8,   8,   8,   8,   8,   8,   8, 
1047
1.25G
      8,   8,   0,   0,   0,   0,   0,   0, 
1048
1.25G
      0,  64,  64,  64,  64,  64,  64,  64, 
1049
1.25G
     64,  64,  64,  64,  64,  64,  64,  64, 
1050
1.25G
     64,  64,  64,  64,  64,  64,  64,  64, 
1051
1.25G
     64,  64,  64,   0,   0,   0,   0,   0, 
1052
1.25G
      0, 192, 192, 192, 224, 192, 192, 192, 
1053
1.25G
    224, 192, 192, 192, 192, 192, 224, 192, 
1054
1.25G
    192, 192, 224, 224, 224, 192, 192, 192, 
1055
1.25G
    192, 192, 192,   0,   0,   0,   0,   0, 
1056
1.25G
      0,   0,   0,   0,   0,   0,   0,   0, 
1057
1.25G
      0,   0,   0,   0,   0,   0,   0,   0, 
1058
1.25G
      0,   0,   0,   0,   0,   0,   0,   0, 
1059
1.25G
      0,   0,   0,   0,   0,   0,   0,   0, 
1060
1.25G
      0,   0,   0,   0,   0,   0,   0,   0, 
1061
1.25G
      0,   0,   0,   0,   0,   0,   0,   0, 
1062
1.25G
      0,   0,   0,   0,   0,   0,   0,   0, 
1063
1.25G
      0,   0,   0,   0,   0,   0,   0,   0, 
1064
1.25G
      0,   0,   0,   0,   0,   0,   0,   0, 
1065
1.25G
      0,   0,   0,   0,   0,   0,   0,   0, 
1066
1.25G
      0,   0,   0,   0,   0,   0,   0,   0, 
1067
1.25G
      0,   0,   0,   0,   0,   0,   0,   0, 
1068
1.25G
      0,   0,   0,   0,   0,   0,   0,   0, 
1069
1.25G
      0,   0,   0,   0,   0,   0,   0,   0, 
1070
1.25G
      0,   0,   0,   0,   0,   0,   0,   0, 
1071
1.25G
      0,   0,   0,   0,   0,   0,   0,   0, 
1072
1.25G
  };
1073
1.25G
  YYDEBUG(0, *YYCURSOR);
1074
1.25G
  if ((YYLIMIT - YYCURSOR) < 36) YYFILL(36);
1075
1.25G
  yych = *YYCURSOR;
1076
1.25G
  if (yybm[0+yych] & 2) {
1077
49.1M
    goto yy6;
1078
49.1M
  }
1079
1.20G
  if (yych <= 'R') {
1080
808M
    if (yych <= '?') {
1081
739M
      if (yych <= ',') {
1082
521M
        if (yych <= '\'') {
1083
489M
          if (yych <= 0x00) goto yy2;
1084
216M
          if (yych <= 0x08) goto yy4;
1085
150M
          if (yych >= '\v') goto yy4;
1086
150M
        } else {
1087
32.1M
          if (yych <= '(') goto yy9;
1088
22.0M
          if (yych <= '*') goto yy4;
1089
11.4M
          if (yych <= '+') goto yy10;
1090
5.64M
          goto yy11;
1091
11.4M
        }
1092
521M
      } else {
1093
217M
        if (yych <= '0') {
1094
68.2M
          if (yych <= '-') goto yy10;
1095
51.0M
          if (yych <= '.') goto yy11;
1096
43.5M
          if (yych <= '/') goto yy4;
1097
36.2M
          goto yy13;
1098
149M
        } else {
1099
149M
          if (yych <= '2') {
1100
38.1M
            if (yych <= '1') goto yy14;
1101
15.0M
            goto yy15;
1102
111M
          } else {
1103
111M
            if (yych <= '3') goto yy16;
1104
102M
            if (yych <= '9') goto yy17;
1105
57.3M
            goto yy4;
1106
102M
          }
1107
149M
        }
1108
217M
      }
1109
739M
    } else {
1110
69.0M
      if (yych <= 'H') {
1111
42.8M
        if (yych <= 'C') {
1112
25.1M
          if (yych <= '@') goto yy18;
1113
11.0M
          if (yych <= 'A') goto yy19;
1114
5.11M
          if (yych <= 'B') goto yy21;
1115
1.87M
          goto yy22;
1116
17.7M
        } else {
1117
17.7M
          if (yych <= 'E') {
1118
9.13M
            if (yych <= 'D') goto yy23;
1119
4.08M
            goto yy24;
1120
9.13M
          } else {
1121
8.61M
            if (yych <= 'F') goto yy25;
1122
4.71M
            if (yych <= 'G') goto yy26;
1123
3.04M
            goto yy22;
1124
4.71M
          }
1125
17.7M
        }
1126
42.8M
      } else {
1127
26.2M
        if (yych <= 'L') {
1128
9.60M
          if (yych <= 'I') goto yy27;
1129
6.00M
          if (yych <= 'J') goto yy28;
1130
3.06M
          if (yych <= 'K') goto yy22;
1131
1.97M
          goto yy29;
1132
16.6M
        } else {
1133
16.6M
          if (yych <= 'N') {
1134
5.55M
            if (yych <= 'M') goto yy30;
1135
2.57M
            goto yy31;
1136
11.0M
          } else {
1137
11.0M
            if (yych <= 'O') goto yy32;
1138
7.68M
            if (yych <= 'P') goto yy33;
1139
3.76M
            goto yy22;
1140
7.68M
          }
1141
16.6M
        }
1142
26.2M
      }
1143
69.0M
    }
1144
808M
  } else {
1145
396M
    if (yych <= 'k') {
1146
97.9M
      if (yych <= '`') {
1147
54.4M
        if (yych <= 'V') {
1148
14.8M
          if (yych <= 'S') goto yy34;
1149
10.2M
          if (yych <= 'T') goto yy35;
1150
4.24M
          if (yych <= 'U') goto yy22;
1151
2.75M
          goto yy36;
1152
39.6M
        } else {
1153
39.6M
          if (yych <= 'X') {
1154
4.32M
            if (yych <= 'W') goto yy37;
1155
1.99M
            goto yy38;
1156
35.2M
          } else {
1157
35.2M
            if (yych <= 'Y') goto yy39;
1158
33.6M
            if (yych <= 'Z') goto yy22;
1159
32.8M
            goto yy4;
1160
33.6M
          }
1161
39.6M
        }
1162
54.4M
      } else {
1163
43.4M
        if (yych <= 'd') {
1164
18.0M
          if (yych <= 'a') goto yy40;
1165
11.4M
          if (yych <= 'b') goto yy41;
1166
8.92M
          if (yych <= 'c') goto yy42;
1167
6.34M
          goto yy43;
1168
25.3M
        } else {
1169
25.3M
          if (yych <= 'f') {
1170
10.1M
            if (yych <= 'e') goto yy44;
1171
3.26M
            goto yy45;
1172
15.2M
          } else {
1173
15.2M
            if (yych == 'j') goto yy46;
1174
13.3M
            goto yy42;
1175
15.2M
          }
1176
25.3M
        }
1177
43.4M
      }
1178
298M
    } else {
1179
298M
      if (yych <= 'v') {
1180
46.9M
        if (yych <= 'o') {
1181
15.1M
          if (yych <= 'l') goto yy47;
1182
12.2M
          if (yych <= 'm') goto yy48;
1183
9.00M
          if (yych <= 'n') goto yy49;
1184
4.40M
          goto yy50;
1185
31.7M
        } else {
1186
31.7M
          if (yych <= 'r') {
1187
10.8M
            if (yych <= 'p') goto yy51;
1188
6.43M
            goto yy42;
1189
20.9M
          } else {
1190
20.9M
            if (yych <= 's') goto yy52;
1191
12.5M
            if (yych <= 't') goto yy53;
1192
4.87M
            goto yy42;
1193
12.5M
          }
1194
31.7M
        }
1195
251M
      } else {
1196
251M
        if (yych <= 'z') {
1197
7.26M
          if (yych <= 'w') goto yy54;
1198
4.94M
          if (yych == 'y') goto yy55;
1199
2.91M
          goto yy42;
1200
244M
        } else {
1201
244M
          if (yych <= 0xC2) {
1202
113M
            if (yych <= 0xC1) goto yy4;
1203
3.11M
            goto yy56;
1204
131M
          } else {
1205
131M
            if (yych == 0xE2) goto yy57;
1206
129M
            goto yy4;
1207
131M
          }
1208
244M
        }
1209
251M
      }
1210
298M
    }
1211
396M
  }
1212
281M
yy2:
1213
281M
  YYDEBUG(2, *YYCURSOR);
1214
281M
  ++YYCURSOR;
1215
281M
  YYDEBUG(3, *YYCURSOR);
1216
281M
#line 1994 "ext/date/lib/parse_date.re"
1217
281M
  {
1218
281M
    s->pos = cursor; s->line++;
1219
281M
    goto std;
1220
1.20G
  }
1221
0
#line 1222 "ext/date/lib/parse_date.c"
1222
555M
yy4:
1223
555M
  YYDEBUG(4, *YYCURSOR);
1224
555M
  ++YYCURSOR;
1225
704M
yy5:
1226
704M
  YYDEBUG(5, *YYCURSOR);
1227
704M
#line 2000 "ext/date/lib/parse_date.re"
1228
704M
  {
1229
704M
    add_error(s, TIMELIB_ERR_UNEXPECTED_CHARACTER, "Unexpected character");
1230
704M
    goto std;
1231
555M
  }
1232
0
#line 1233 "ext/date/lib/parse_date.c"
1233
70.4M
yy6:
1234
70.4M
  YYDEBUG(6, *YYCURSOR);
1235
70.4M
  yyaccept = 0;
1236
70.4M
  YYMARKER = ++YYCURSOR;
1237
70.4M
  if ((YYLIMIT - YYCURSOR) < 25) YYFILL(25);
1238
70.4M
  yych = *YYCURSOR;
1239
70.4M
  YYDEBUG(7, *YYCURSOR);
1240
70.4M
  if (yybm[0+yych] & 2) {
1241
21.2M
    goto yy6;
1242
21.2M
  }
1243
49.1M
  if (yych <= '/') goto yy8;
1244
25.3M
  if (yych <= '9') goto yy58;
1245
50.6M
yy8:
1246
50.6M
  YYDEBUG(8, *YYCURSOR);
1247
50.6M
#line 1989 "ext/date/lib/parse_date.re"
1248
50.6M
  {
1249
50.6M
    goto std;
1250
25.3M
  }
1251
0
#line 1252 "ext/date/lib/parse_date.c"
1252
10.1M
yy9:
1253
10.1M
  YYDEBUG(9, *YYCURSOR);
1254
10.1M
  yych = *++YYCURSOR;
1255
10.1M
  if (yych <= '@') goto yy5;
1256
2.18M
  if (yych <= 'Z') goto yy42;
1257
1.64M
  if (yych <= '`') goto yy5;
1258
1.46M
  if (yych <= 'z') goto yy42;
1259
555k
  goto yy5;
1260
23.0M
yy10:
1261
23.0M
  YYDEBUG(10, *YYCURSOR);
1262
23.0M
  yyaccept = 1;
1263
23.0M
  yych = *(YYMARKER = ++YYCURSOR);
1264
23.0M
  if (yybm[0+yych] & 4) {
1265
3.89M
    goto yy62;
1266
3.89M
  }
1267
19.1M
  if (yych <= ' ') {
1268
2.45M
    if (yych == '\t') goto yy60;
1269
2.32M
    if (yych <= 0x1F) goto yy5;
1270
460k
    goto yy60;
1271
16.7M
  } else {
1272
16.7M
    if (yych <= '1') {
1273
4.96M
      if (yych <= '/') goto yy5;
1274
3.27M
      goto yy64;
1275
11.7M
    } else {
1276
11.7M
      if (yych <= '2') goto yy65;
1277
10.4M
      if (yych <= '9') goto yy66;
1278
7.59M
      goto yy5;
1279
10.4M
    }
1280
16.7M
  }
1281
13.0M
yy11:
1282
13.0M
  YYDEBUG(11, *YYCURSOR);
1283
13.0M
  ++YYCURSOR;
1284
13.0M
  YYDEBUG(12, *YYCURSOR);
1285
13.0M
#line 1984 "ext/date/lib/parse_date.re"
1286
13.0M
  {
1287
13.0M
    goto std;
1288
19.1M
  }
1289
0
#line 1290 "ext/date/lib/parse_date.c"
1290
36.2M
yy13:
1291
36.2M
  YYDEBUG(13, *YYCURSOR);
1292
36.2M
  yyaccept = 1;
1293
36.2M
  yych = *(YYMARKER = ++YYCURSOR);
1294
36.2M
  if (yych <= 'a') {
1295
31.1M
    if (yych <= '@') {
1296
28.2M
      if (yych <= '-') {
1297
11.4M
        if (yych <= 0x1F) {
1298
4.95M
          if (yych == '\t') goto yy67;
1299
4.76M
          goto yy5;
1300
6.45M
        } else {
1301
6.45M
          if (yych <= ' ') goto yy69;
1302
3.91M
          if (yych <= ',') goto yy5;
1303
878k
          goto yy70;
1304
3.91M
        }
1305
16.7M
      } else {
1306
16.7M
        if (yych <= '0') {
1307
9.16M
          if (yych <= '.') goto yy71;
1308
8.63M
          if (yych <= '/') goto yy72;
1309
8.21M
          goto yy73;
1310
8.63M
        } else {
1311
7.62M
          if (yych <= '9') goto yy74;
1312
2.15M
          if (yych <= ':') goto yy75;
1313
1.27M
          goto yy5;
1314
2.15M
        }
1315
16.7M
      }
1316
28.2M
    } else {
1317
2.96M
      if (yych <= 'G') {
1318
751k
        if (yych <= 'D') {
1319
412k
          if (yych <= 'A') goto yy69;
1320
206k
          if (yych <= 'C') goto yy5;
1321
94.9k
          goto yy69;
1322
339k
        } else {
1323
339k
          if (yych == 'F') goto yy69;
1324
206k
          goto yy5;
1325
339k
        }
1326
2.21M
      } else {
1327
2.21M
        if (yych <= 'O') {
1328
830k
          if (yych <= 'J') goto yy69;
1329
422k
          if (yych <= 'L') goto yy5;
1330
284k
          goto yy69;
1331
1.38M
        } else {
1332
1.38M
          if (yych <= 'R') goto yy5;
1333
1.20M
          if (yych <= 'Y') goto yy69;
1334
556k
          if (yych <= '`') goto yy5;
1335
176k
          goto yy69;
1336
556k
        }
1337
2.21M
      }
1338
2.96M
    }
1339
31.1M
  } else {
1340
5.07M
    if (yych <= 'q') {
1341
1.71M
      if (yych <= 'h') {
1342
769k
        if (yych <= 'e') {
1343
482k
          if (yych == 'd') goto yy69;
1344
325k
          goto yy5;
1345
482k
        } else {
1346
286k
          if (yych == 'g') goto yy5;
1347
213k
          goto yy69;
1348
286k
        }
1349
948k
      } else {
1350
948k
        if (yych <= 'l') {
1351
292k
          if (yych == 'j') goto yy69;
1352
245k
          goto yy5;
1353
655k
        } else {
1354
655k
          if (yych == 'n') goto yy93;
1355
503k
          if (yych <= 'o') goto yy69;
1356
288k
          goto yy5;
1357
503k
        }
1358
948k
      }
1359
3.35M
    } else {
1360
3.35M
      if (yych <= 'w') {
1361
935k
        if (yych <= 't') {
1362
736k
          if (yych <= 'r') goto yy94;
1363
523k
          if (yych <= 's') goto yy95;
1364
370k
          goto yy96;
1365
523k
        } else {
1366
199k
          if (yych == 'v') goto yy5;
1367
122k
          goto yy69;
1368
199k
        }
1369
2.42M
      } else {
1370
2.42M
        if (yych <= 0xC1) {
1371
1.13M
          if (yych == 'y') goto yy69;
1372
1.04M
          goto yy5;
1373
1.28M
        } else {
1374
1.28M
          if (yych <= 0xC2) goto yy97;
1375
1.18M
          if (yych == 0xE2) goto yy98;
1376
1.10M
          goto yy5;
1377
1.18M
        }
1378
2.42M
      }
1379
3.35M
    }
1380
5.07M
  }
1381
23.1M
yy14:
1382
23.1M
  YYDEBUG(14, *YYCURSOR);
1383
23.1M
  yyaccept = 1;
1384
23.1M
  yych = *(YYMARKER = ++YYCURSOR);
1385
23.1M
  if (yych <= 'a') {
1386
20.0M
    if (yych <= '@') {
1387
18.4M
      if (yych <= '-') {
1388
4.69M
        if (yych <= 0x1F) {
1389
2.01M
          if (yych == '\t') goto yy99;
1390
1.90M
          goto yy5;
1391
2.67M
        } else {
1392
2.67M
          if (yych <= ' ') goto yy101;
1393
2.04M
          if (yych <= ',') goto yy5;
1394
577k
          goto yy70;
1395
2.04M
        }
1396
13.7M
      } else {
1397
13.7M
        if (yych <= '2') {
1398
6.70M
          if (yych <= '.') goto yy102;
1399
6.38M
          if (yych <= '/') goto yy72;
1400
6.04M
          goto yy74;
1401
7.03M
        } else {
1402
7.03M
          if (yych <= '9') goto yy103;
1403
3.63M
          if (yych <= ':') goto yy104;
1404
1.11M
          goto yy5;
1405
3.63M
        }
1406
13.7M
      }
1407
18.4M
    } else {
1408
1.57M
      if (yych <= 'G') {
1409
467k
        if (yych <= 'D') {
1410
213k
          if (yych <= 'A') goto yy101;
1411
98.5k
          if (yych <= 'C') goto yy5;
1412
54.5k
          goto yy101;
1413
254k
        } else {
1414
254k
          if (yych == 'F') goto yy101;
1415
162k
          goto yy5;
1416
254k
        }
1417
1.10M
      } else {
1418
1.10M
        if (yych <= 'P') {
1419
407k
          if (yych <= 'J') goto yy101;
1420
283k
          if (yych <= 'L') goto yy5;
1421
217k
          goto yy101;
1422
700k
        } else {
1423
700k
          if (yych <= 'R') goto yy5;
1424
657k
          if (yych <= 'Y') goto yy101;
1425
327k
          if (yych <= '`') goto yy5;
1426
116k
          goto yy101;
1427
327k
        }
1428
1.10M
      }
1429
1.57M
    }
1430
20.0M
  } else {
1431
3.16M
    if (yych <= 'q') {
1432
1.12M
      if (yych <= 'h') {
1433
518k
        if (yych <= 'e') {
1434
303k
          if (yych == 'd') goto yy101;
1435
215k
          goto yy5;
1436
303k
        } else {
1437
214k
          if (yych == 'g') goto yy5;
1438
146k
          goto yy101;
1439
214k
        }
1440
605k
      } else {
1441
605k
        if (yych <= 'l') {
1442
196k
          if (yych == 'j') goto yy101;
1443
167k
          goto yy5;
1444
408k
        } else {
1445
408k
          if (yych == 'n') goto yy93;
1446
287k
          if (yych <= 'p') goto yy101;
1447
63.9k
          goto yy5;
1448
287k
        }
1449
605k
      }
1450
2.04M
    } else {
1451
2.04M
      if (yych <= 'w') {
1452
507k
        if (yych <= 't') {
1453
374k
          if (yych <= 'r') goto yy94;
1454
283k
          if (yych <= 's') goto yy95;
1455
159k
          goto yy96;
1456
283k
        } else {
1457
133k
          if (yych == 'v') goto yy5;
1458
87.3k
          goto yy101;
1459
133k
        }
1460
1.53M
      } else {
1461
1.53M
        if (yych <= 0xC1) {
1462
731k
          if (yych == 'y') goto yy101;
1463
682k
          goto yy5;
1464
802k
        } else {
1465
802k
          if (yych <= 0xC2) goto yy107;
1466
733k
          if (yych == 0xE2) goto yy108;
1467
650k
          goto yy5;
1468
733k
        }
1469
1.53M
      }
1470
2.04M
    }
1471
3.16M
  }
1472
15.0M
yy15:
1473
15.0M
  YYDEBUG(15, *YYCURSOR);
1474
15.0M
  yyaccept = 1;
1475
15.0M
  yych = *(YYMARKER = ++YYCURSOR);
1476
15.0M
  if (yych <= 'a') {
1477
12.5M
    if (yych <= '@') {
1478
11.3M
      if (yych <= '-') {
1479
3.72M
        if (yych <= 0x1F) {
1480
1.62M
          if (yych == '\t') goto yy99;
1481
1.50M
          goto yy5;
1482
2.10M
        } else {
1483
2.10M
          if (yych <= ' ') goto yy101;
1484
1.61M
          if (yych <= ',') goto yy5;
1485
499k
          goto yy70;
1486
1.61M
        }
1487
7.61M
      } else {
1488
7.61M
        if (yych <= '4') {
1489
4.10M
          if (yych <= '.') goto yy102;
1490
3.87M
          if (yych <= '/') goto yy72;
1491
3.69M
          goto yy103;
1492
3.87M
        } else {
1493
3.50M
          if (yych <= '9') goto yy109;
1494
2.26M
          if (yych <= ':') goto yy104;
1495
822k
          goto yy5;
1496
2.26M
        }
1497
7.61M
      }
1498
11.3M
    } else {
1499
1.20M
      if (yych <= 'G') {
1500
315k
        if (yych <= 'D') {
1501
167k
          if (yych <= 'A') goto yy101;
1502
76.2k
          if (yych <= 'C') goto yy5;
1503
34.7k
          goto yy101;
1504
148k
        } else {
1505
148k
          if (yych == 'F') goto yy101;
1506
65.0k
          goto yy5;
1507
148k
        }
1508
884k
      } else {
1509
884k
        if (yych <= 'P') {
1510
306k
          if (yych <= 'J') goto yy101;
1511
202k
          if (yych <= 'L') goto yy5;
1512
166k
          goto yy101;
1513
577k
        } else {
1514
577k
          if (yych <= 'R') goto yy5;
1515
532k
          if (yych <= 'Y') goto yy101;
1516
281k
          if (yych <= '`') goto yy5;
1517
88.3k
          goto yy101;
1518
281k
        }
1519
884k
      }
1520
1.20M
    }
1521
12.5M
  } else {
1522
2.46M
    if (yych <= 'q') {
1523
796k
      if (yych <= 'h') {
1524
399k
        if (yych <= 'e') {
1525
268k
          if (yych == 'd') goto yy101;
1526
194k
          goto yy5;
1527
268k
        } else {
1528
130k
          if (yych == 'g') goto yy5;
1529
91.3k
          goto yy101;
1530
130k
        }
1531
399k
      } else {
1532
397k
        if (yych <= 'l') {
1533
119k
          if (yych == 'j') goto yy101;
1534
96.7k
          goto yy5;
1535
277k
        } else {
1536
277k
          if (yych == 'n') goto yy93;
1537
200k
          if (yych <= 'p') goto yy101;
1538
25.1k
          goto yy5;
1539
200k
        }
1540
397k
      }
1541
1.66M
    } else {
1542
1.66M
      if (yych <= 'w') {
1543
440k
        if (yych <= 't') {
1544
328k
          if (yych <= 'r') goto yy94;
1545
237k
          if (yych <= 's') goto yy95;
1546
151k
          goto yy96;
1547
237k
        } else {
1548
111k
          if (yych == 'v') goto yy5;
1549
67.0k
          goto yy101;
1550
111k
        }
1551
1.22M
      } else {
1552
1.22M
        if (yych <= 0xC1) {
1553
626k
          if (yych == 'y') goto yy101;
1554
598k
          goto yy5;
1555
626k
        } else {
1556
598k
          if (yych <= 0xC2) goto yy107;
1557
489k
          if (yych == 0xE2) goto yy108;
1558
439k
          goto yy5;
1559
489k
        }
1560
1.22M
      }
1561
1.66M
    }
1562
2.46M
  }
1563
8.34M
yy16:
1564
8.34M
  YYDEBUG(16, *YYCURSOR);
1565
8.34M
  yyaccept = 1;
1566
8.34M
  yych = *(YYMARKER = ++YYCURSOR);
1567
8.34M
  if (yych <= 'a') {
1568
6.70M
    if (yych <= '@') {
1569
5.97M
      if (yych <= '-') {
1570
1.88M
        if (yych <= 0x1F) {
1571
848k
          if (yych == '\t') goto yy99;
1572
800k
          goto yy5;
1573
1.03M
        } else {
1574
1.03M
          if (yych <= ' ') goto yy101;
1575
846k
          if (yych <= ',') goto yy5;
1576
271k
          goto yy70;
1577
846k
        }
1578
4.09M
      } else {
1579
4.09M
        if (yych <= '1') {
1580
1.31M
          if (yych <= '.') goto yy102;
1581
1.19M
          if (yych <= '/') goto yy72;
1582
1.03M
          goto yy109;
1583
2.77M
        } else {
1584
2.77M
          if (yych <= '9') goto yy110;
1585
714k
          if (yych <= ':') goto yy104;
1586
376k
          goto yy5;
1587
714k
        }
1588
4.09M
      }
1589
5.97M
    } else {
1590
728k
      if (yych <= 'G') {
1591
200k
        if (yych <= 'D') {
1592
93.7k
          if (yych <= 'A') goto yy101;
1593
52.2k
          if (yych <= 'C') goto yy5;
1594
23.3k
          goto yy101;
1595
107k
        } else {
1596
107k
          if (yych == 'F') goto yy101;
1597
57.6k
          goto yy5;
1598
107k
        }
1599
527k
      } else {
1600
527k
        if (yych <= 'P') {
1601
203k
          if (yych <= 'J') goto yy101;
1602
129k
          if (yych <= 'L') goto yy5;
1603
100k
          goto yy101;
1604
324k
        } else {
1605
324k
          if (yych <= 'R') goto yy5;
1606
299k
          if (yych <= 'Y') goto yy101;
1607
152k
          if (yych <= '`') goto yy5;
1608
47.1k
          goto yy101;
1609
152k
        }
1610
527k
      }
1611
728k
    }
1612
6.70M
  } else {
1613
1.63M
    if (yych <= 'q') {
1614
515k
      if (yych <= 'h') {
1615
233k
        if (yych <= 'e') {
1616
138k
          if (yych == 'd') goto yy101;
1617
107k
          goto yy5;
1618
138k
        } else {
1619
94.7k
          if (yych == 'g') goto yy5;
1620
61.9k
          goto yy101;
1621
94.7k
        }
1622
282k
      } else {
1623
282k
        if (yych <= 'l') {
1624
101k
          if (yych == 'j') goto yy101;
1625
85.0k
          goto yy5;
1626
180k
        } else {
1627
180k
          if (yych == 'n') goto yy93;
1628
134k
          if (yych <= 'p') goto yy101;
1629
19.9k
          goto yy5;
1630
134k
        }
1631
282k
      }
1632
1.12M
    } else {
1633
1.12M
      if (yych <= 'w') {
1634
295k
        if (yych <= 't') {
1635
220k
          if (yych <= 'r') goto yy94;
1636
149k
          if (yych <= 's') goto yy95;
1637
76.4k
          goto yy96;
1638
149k
        } else {
1639
75.5k
          if (yych == 'v') goto yy5;
1640
49.9k
          goto yy101;
1641
75.5k
        }
1642
826k
      } else {
1643
826k
        if (yych <= 0xC1) {
1644
378k
          if (yych == 'y') goto yy101;
1645
347k
          goto yy5;
1646
448k
        } else {
1647
448k
          if (yych <= 0xC2) goto yy107;
1648
401k
          if (yych == 0xE2) goto yy108;
1649
352k
          goto yy5;
1650
401k
        }
1651
826k
      }
1652
1.12M
    }
1653
1.63M
  }
1654
45.4M
yy17:
1655
45.4M
  YYDEBUG(17, *YYCURSOR);
1656
45.4M
  yyaccept = 1;
1657
45.4M
  yych = *(YYMARKER = ++YYCURSOR);
1658
45.4M
  if (yych <= 'c') {
1659
37.8M
    if (yych <= 'A') {
1660
34.3M
      if (yych <= '-') {
1661
11.4M
        if (yych <= 0x1F) {
1662
5.22M
          if (yych == '\t') goto yy99;
1663
4.93M
          goto yy5;
1664
6.23M
        } else {
1665
6.23M
          if (yych <= ' ') goto yy101;
1666
5.00M
          if (yych <= ',') goto yy5;
1667
1.41M
          goto yy70;
1668
5.00M
        }
1669
22.9M
      } else {
1670
22.9M
        if (yych <= '9') {
1671
17.5M
          if (yych <= '.') goto yy102;
1672
16.8M
          if (yych <= '/') goto yy72;
1673
16.2M
          goto yy110;
1674
16.8M
        } else {
1675
5.35M
          if (yych <= ':') goto yy104;
1676
2.43M
          if (yych <= '@') goto yy5;
1677
173k
          goto yy101;
1678
2.43M
        }
1679
22.9M
      }
1680
34.3M
    } else {
1681
3.49M
      if (yych <= 'J') {
1682
1.06M
        if (yych <= 'E') {
1683
524k
          if (yych == 'D') goto yy101;
1684
389k
          goto yy5;
1685
542k
        } else {
1686
542k
          if (yych == 'G') goto yy5;
1687
483k
          goto yy101;
1688
542k
        }
1689
2.42M
      } else {
1690
2.42M
        if (yych <= 'R') {
1691
666k
          if (yych <= 'L') goto yy5;
1692
556k
          if (yych <= 'P') goto yy101;
1693
103k
          goto yy5;
1694
1.76M
        } else {
1695
1.76M
          if (yych <= 'Y') goto yy101;
1696
877k
          if (yych == 'a') goto yy101;
1697
662k
          goto yy5;
1698
877k
        }
1699
2.42M
      }
1700
3.49M
    }
1701
37.8M
  } else {
1702
7.53M
    if (yych <= 'q') {
1703
2.14M
      if (yych <= 'i') {
1704
1.12M
        if (yych <= 'f') {
1705
702k
          if (yych == 'e') goto yy5;
1706
295k
          goto yy101;
1707
702k
        } else {
1708
417k
          if (yych == 'h') goto yy101;
1709
304k
          goto yy5;
1710
417k
        }
1711
1.12M
      } else {
1712
1.02M
        if (yych <= 'm') {
1713
408k
          if (yych <= 'j') goto yy101;
1714
335k
          if (yych <= 'l') goto yy5;
1715
175k
          goto yy101;
1716
614k
        } else {
1717
614k
          if (yych <= 'n') goto yy93;
1718
408k
          if (yych <= 'p') goto yy101;
1719
88.8k
          goto yy5;
1720
408k
        }
1721
1.02M
      }
1722
5.39M
    } else {
1723
5.39M
      if (yych <= 'w') {
1724
1.28M
        if (yych <= 't') {
1725
796k
          if (yych <= 'r') goto yy94;
1726
599k
          if (yych <= 's') goto yy95;
1727
344k
          goto yy96;
1728
599k
        } else {
1729
486k
          if (yych == 'v') goto yy5;
1730
338k
          goto yy101;
1731
486k
        }
1732
4.11M
      } else {
1733
4.11M
        if (yych <= 0xC1) {
1734
2.09M
          if (yych == 'y') goto yy101;
1735
1.97M
          goto yy5;
1736
2.09M
        } else {
1737
2.01M
          if (yych <= 0xC2) goto yy107;
1738
1.80M
          if (yych == 0xE2) goto yy108;
1739
1.64M
          goto yy5;
1740
1.80M
        }
1741
4.11M
      }
1742
5.39M
    }
1743
7.53M
  }
1744
14.0M
yy18:
1745
14.0M
  YYDEBUG(18, *YYCURSOR);
1746
14.0M
  yyaccept = 1;
1747
14.0M
  yych = *(YYMARKER = ++YYCURSOR);
1748
14.0M
  if (yybm[0+yych] & 8) {
1749
1.23M
    goto yy112;
1750
1.23M
  }
1751
12.8M
  if (yych == '-') goto yy111;
1752
12.7M
  goto yy5;
1753
12.7M
yy19:
1754
5.95M
  YYDEBUG(19, *YYCURSOR);
1755
5.95M
  yych = *++YYCURSOR;
1756
5.95M
  if (yych <= 'U') {
1757
3.51M
    if (yych <= 'F') {
1758
2.81M
      if (yych == ')') goto yy115;
1759
2.78M
      if (yych >= 'A') goto yy116;
1760
2.78M
    } else {
1761
694k
      if (yych <= 'O') {
1762
291k
        if (yych <= 'G') goto yy117;
1763
263k
        goto yy116;
1764
403k
      } else {
1765
403k
        if (yych <= 'P') goto yy118;
1766
284k
        if (yych <= 'T') goto yy116;
1767
120k
        goto yy119;
1768
284k
      }
1769
694k
    }
1770
3.51M
  } else {
1771
2.44M
    if (yych <= 'o') {
1772
869k
      if (yych <= '`') {
1773
212k
        if (yych <= 'Z') goto yy116;
1774
656k
      } else {
1775
656k
        if (yych == 'g') goto yy121;
1776
500k
        goto yy120;
1777
656k
      }
1778
1.57M
    } else {
1779
1.57M
      if (yych <= 't') {
1780
569k
        if (yych <= 'p') goto yy122;
1781
214k
        goto yy120;
1782
1.00M
      } else {
1783
1.00M
        if (yych <= 'u') goto yy123;
1784
470k
        if (yych <= 'z') goto yy120;
1785
470k
      }
1786
1.57M
    }
1787
2.44M
  }
1788
176M
yy20:
1789
176M
  YYDEBUG(20, *YYCURSOR);
1790
176M
#line 1899 "ext/date/lib/parse_date.re"
1791
176M
  {
1792
176M
    int tz_not_found;
1793
176M
    DEBUG_OUTPUT("tzcorrection | tz");
1794
176M
    TIMELIB_INIT;
1795
176M
    TIMELIB_HAVE_TZ();
1796
335k
    timelib_eat_spaces(&ptr);
1797
335k
    s->time->z = timelib_parse_zone(&ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
1798
335k
    if (tz_not_found) {
1799
157k
      add_error(s, TIMELIB_ERR_TZID_NOT_FOUND, "The timezone could not be found in the database");
1800
157k
    }
1801
335k
    TIMELIB_DEINIT;
1802
335k
    return TIMELIB_TIMEZONE;
1803
176M
  }
1804
0
#line 1805 "ext/date/lib/parse_date.c"
1805
3.23M
yy21:
1806
3.23M
  YYDEBUG(21, *YYCURSOR);
1807
3.23M
  yych = *++YYCURSOR;
1808
3.23M
  if (yych <= 'A') {
1809
1.43M
    if (yych == ')') goto yy115;
1810
1.40M
    if (yych <= '@') goto yy20;
1811
130k
    goto yy124;
1812
1.80M
  } else {
1813
1.80M
    if (yych <= '`') {
1814
839k
      if (yych <= 'Z') goto yy116;
1815
89.4k
      goto yy20;
1816
969k
    } else {
1817
969k
      if (yych <= 'a') goto yy125;
1818
618k
      if (yych <= 'z') goto yy120;
1819
191k
      goto yy20;
1820
618k
    }
1821
1.80M
  }
1822
12.0M
yy22:
1823
12.0M
  YYDEBUG(22, *YYCURSOR);
1824
12.0M
  yych = *++YYCURSOR;
1825
12.0M
  if (yych <= '@') {
1826
5.04M
    if (yych == ')') goto yy115;
1827
4.94M
    goto yy20;
1828
7.00M
  } else {
1829
7.00M
    if (yych <= 'Z') goto yy116;
1830
3.75M
    if (yych <= '`') goto yy20;
1831
3.39M
    if (yych <= 'z') goto yy120;
1832
1.10M
    goto yy20;
1833
3.39M
  }
1834
5.05M
yy23:
1835
5.05M
  YYDEBUG(23, *YYCURSOR);
1836
5.05M
  yych = *++YYCURSOR;
1837
5.05M
  if (yych <= 'E') {
1838
2.52M
    if (yych <= ')') {
1839
1.14M
      if (yych <= '(') goto yy20;
1840
24.4k
      goto yy115;
1841
1.38M
    } else {
1842
1.38M
      if (yych <= '@') goto yy20;
1843
782k
      if (yych <= 'D') goto yy116;
1844
170k
      goto yy126;
1845
782k
    }
1846
2.52M
  } else {
1847
2.52M
    if (yych <= 'd') {
1848
1.64M
      if (yych <= 'Z') goto yy116;
1849
1.19M
      if (yych <= '`') goto yy20;
1850
1.05M
      goto yy120;
1851
1.19M
    } else {
1852
884k
      if (yych <= 'e') goto yy127;
1853
605k
      if (yych <= 'z') goto yy120;
1854
250k
      goto yy20;
1855
605k
    }
1856
2.52M
  }
1857
4.08M
yy24:
1858
4.08M
  YYDEBUG(24, *YYCURSOR);
1859
4.08M
  yych = *++YYCURSOR;
1860
4.08M
  if (yych <= 'L') {
1861
1.74M
    if (yych <= '@') {
1862
1.18M
      if (yych == ')') goto yy115;
1863
1.15M
      goto yy20;
1864
1.18M
    } else {
1865
561k
      if (yych == 'I') goto yy128;
1866
525k
      if (yych <= 'K') goto yy116;
1867
44.9k
      goto yy129;
1868
525k
    }
1869
2.33M
  } else {
1870
2.33M
    if (yych <= 'i') {
1871
1.18M
      if (yych <= 'Z') goto yy116;
1872
813k
      if (yych <= '`') goto yy20;
1873
693k
      if (yych <= 'h') goto yy120;
1874
486k
      goto yy130;
1875
1.15M
    } else {
1876
1.15M
      if (yych == 'l') goto yy131;
1877
800k
      if (yych <= 'z') goto yy120;
1878
250k
      goto yy20;
1879
800k
    }
1880
2.33M
  }
1881
3.89M
yy25:
1882
3.89M
  YYDEBUG(25, *YYCURSOR);
1883
3.89M
  yych = *++YYCURSOR;
1884
3.89M
  if (yych <= 'R') {
1885
1.49M
    if (yych <= 'E') {
1886
992k
      if (yych <= ')') {
1887
460k
        if (yych <= '(') goto yy20;
1888
20.7k
        goto yy115;
1889
531k
      } else {
1890
531k
        if (yych <= '@') goto yy20;
1891
161k
        if (yych <= 'D') goto yy116;
1892
70.3k
        goto yy132;
1893
161k
      }
1894
992k
    } else {
1895
505k
      if (yych <= 'N') {
1896
250k
        if (yych == 'I') goto yy133;
1897
167k
        goto yy116;
1898
255k
      } else {
1899
255k
        if (yych <= 'O') goto yy134;
1900
97.0k
        if (yych <= 'Q') goto yy116;
1901
73.7k
        goto yy135;
1902
97.0k
      }
1903
505k
    }
1904
2.39M
  } else {
1905
2.39M
    if (yych <= 'i') {
1906
1.05M
      if (yych <= 'd') {
1907
232k
        if (yych <= 'Z') goto yy116;
1908
137k
        if (yych <= '`') goto yy20;
1909
78.0k
        goto yy120;
1910
827k
      } else {
1911
827k
        if (yych <= 'e') goto yy136;
1912
398k
        if (yych <= 'h') goto yy120;
1913
357k
        goto yy137;
1914
398k
      }
1915
1.33M
    } else {
1916
1.33M
      if (yych <= 'q') {
1917
463k
        if (yych == 'o') goto yy138;
1918
72.5k
        goto yy120;
1919
874k
      } else {
1920
874k
        if (yych <= 'r') goto yy139;
1921
337k
        if (yych <= 'z') goto yy120;
1922
260k
        goto yy20;
1923
337k
      }
1924
1.33M
    }
1925
2.39M
  }
1926
1.66M
yy26:
1927
1.66M
  YYDEBUG(26, *YYCURSOR);
1928
1.66M
  yych = *++YYCURSOR;
1929
1.66M
  if (yych <= 'L') {
1930
734k
    if (yych == ')') goto yy115;
1931
727k
    if (yych <= '@') goto yy20;
1932
215k
    goto yy116;
1933
934k
  } else {
1934
934k
    if (yych <= 'Z') {
1935
469k
      if (yych <= 'M') goto yy140;
1936
122k
      goto yy116;
1937
469k
    } else {
1938
464k
      if (yych <= '`') goto yy20;
1939
419k
      if (yych <= 'z') goto yy120;
1940
155k
      goto yy20;
1941
419k
    }
1942
934k
  }
1943
3.59M
yy27:
1944
3.59M
  YYDEBUG(27, *YYCURSOR);
1945
3.59M
  yyaccept = 2;
1946
3.59M
  yych = *(YYMARKER = ++YYCURSOR);
1947
3.59M
  if (yych <= '9') {
1948
1.41M
    if (yych <= '(') {
1949
769k
      if (yych <= '\t') {
1950
416k
        if (yych <= 0x08) goto yy20;
1951
69.9k
        goto yy142;
1952
416k
      } else {
1953
353k
        if (yych == ' ') goto yy142;
1954
251k
        goto yy20;
1955
353k
      }
1956
769k
    } else {
1957
640k
      if (yych <= ',') {
1958
96.4k
        if (yych <= ')') goto yy115;
1959
39.9k
        goto yy20;
1960
543k
      } else {
1961
543k
        if (yych == '/') goto yy20;
1962
526k
        goto yy142;
1963
543k
      }
1964
640k
    }
1965
2.18M
  } else {
1966
2.18M
    if (yych <= 'V') {
1967
1.28M
      if (yych <= 'H') {
1968
320k
        if (yych <= '@') goto yy20;
1969
207k
        goto yy116;
1970
964k
      } else {
1971
964k
        if (yych <= 'I') goto yy146;
1972
358k
        if (yych <= 'U') goto yy116;
1973
82.2k
        goto yy147;
1974
358k
      }
1975
1.28M
    } else {
1976
905k
      if (yych <= 'Z') {
1977
57.5k
        if (yych == 'X') goto yy147;
1978
28.3k
        goto yy116;
1979
847k
      } else {
1980
847k
        if (yych <= '`') goto yy20;
1981
784k
        if (yych <= 'z') goto yy120;
1982
278k
        goto yy20;
1983
784k
      }
1984
905k
    }
1985
2.18M
  }
1986
2.93M
yy28:
1987
2.93M
  YYDEBUG(28, *YYCURSOR);
1988
2.93M
  yych = *++YYCURSOR;
1989
2.93M
  if (yych <= 'U') {
1990
1.35M
    if (yych <= '@') {
1991
724k
      if (yych == ')') goto yy115;
1992
709k
      goto yy20;
1993
724k
    } else {
1994
625k
      if (yych <= 'A') goto yy148;
1995
546k
      if (yych <= 'T') goto yy116;
1996
64.2k
      goto yy149;
1997
546k
    }
1998
1.58M
  } else {
1999
1.58M
    if (yych <= 'a') {
2000
528k
      if (yych <= 'Z') goto yy116;
2001
490k
      if (yych <= '`') goto yy20;
2002
413k
      goto yy150;
2003
1.05M
    } else {
2004
1.05M
      if (yych == 'u') goto yy151;
2005
499k
      if (yych <= 'z') goto yy120;
2006
217k
      goto yy20;
2007
499k
    }
2008
1.58M
  }
2009
1.97M
yy29:
2010
1.97M
  YYDEBUG(29, *YYCURSOR);
2011
1.97M
  yych = *++YYCURSOR;
2012
1.97M
  if (yych <= 'A') {
2013
724k
    if (yych == ')') goto yy115;
2014
710k
    if (yych <= '@') goto yy20;
2015
30.3k
    goto yy152;
2016
1.25M
  } else {
2017
1.25M
    if (yych <= '`') {
2018
462k
      if (yych <= 'Z') goto yy116;
2019
85.2k
      goto yy20;
2020
788k
    } else {
2021
788k
      if (yych <= 'a') goto yy153;
2022
521k
      if (yych <= 'z') goto yy120;
2023
170k
      goto yy20;
2024
521k
    }
2025
1.25M
  }
2026
2.97M
yy30:
2027
2.97M
  YYDEBUG(30, *YYCURSOR);
2028
2.97M
  yych = *++YYCURSOR;
2029
2.97M
  if (yych <= 'O') {
2030
1.28M
    if (yych <= 'A') {
2031
964k
      if (yych == ')') goto yy115;
2032
944k
      if (yych <= '@') goto yy20;
2033
178k
      goto yy154;
2034
944k
    } else {
2035
316k
      if (yych == 'I') goto yy155;
2036
234k
      if (yych <= 'N') goto yy116;
2037
26.0k
      goto yy156;
2038
234k
    }
2039
1.69M
  } else {
2040
1.69M
    if (yych <= 'h') {
2041
736k
      if (yych <= 'Z') goto yy116;
2042
571k
      if (yych <= '`') goto yy20;
2043
512k
      if (yych <= 'a') goto yy157;
2044
87.9k
      goto yy120;
2045
957k
    } else {
2046
957k
      if (yych <= 'n') {
2047
471k
        if (yych <= 'i') goto yy158;
2048
55.9k
        goto yy120;
2049
486k
      } else {
2050
486k
        if (yych <= 'o') goto yy159;
2051
325k
        if (yych <= 'z') goto yy120;
2052
213k
        goto yy20;
2053
325k
      }
2054
957k
    }
2055
1.69M
  }
2056
2.57M
yy31:
2057
2.57M
  YYDEBUG(31, *YYCURSOR);
2058
2.57M
  yych = *++YYCURSOR;
2059
2.57M
  if (yych <= 'O') {
2060
1.05M
    if (yych <= 'D') {
2061
735k
      if (yych == ')') goto yy115;
2062
717k
      if (yych <= '@') goto yy20;
2063
80.9k
      goto yy116;
2064
717k
    } else {
2065
324k
      if (yych <= 'H') {
2066
69.7k
        if (yych <= 'E') goto yy160;
2067
39.1k
        goto yy116;
2068
254k
      } else {
2069
254k
        if (yych <= 'I') goto yy161;
2070
225k
        if (yych <= 'N') goto yy116;
2071
59.3k
        goto yy162;
2072
225k
      }
2073
324k
    }
2074
1.51M
  } else {
2075
1.51M
    if (yych <= 'h') {
2076
498k
      if (yych <= '`') {
2077
148k
        if (yych <= 'Z') goto yy116;
2078
65.2k
        goto yy20;
2079
350k
      } else {
2080
350k
        if (yych == 'e') goto yy163;
2081
101k
        goto yy120;
2082
350k
      }
2083
1.01M
    } else {
2084
1.01M
      if (yych <= 'n') {
2085
109k
        if (yych <= 'i') goto yy164;
2086
52.3k
        goto yy120;
2087
906k
      } else {
2088
906k
        if (yych <= 'o') goto yy165;
2089
322k
        if (yych <= 'z') goto yy120;
2090
197k
        goto yy20;
2091
322k
      }
2092
1.01M
    }
2093
1.51M
  }
2094
3.37M
yy32:
2095
3.37M
  YYDEBUG(32, *YYCURSOR);
2096
3.37M
  yych = *++YYCURSOR;
2097
3.37M
  if (yych <= 'C') {
2098
1.76M
    if (yych <= ')') {
2099
365k
      if (yych <= '(') goto yy20;
2100
11.2k
      goto yy115;
2101
1.40M
    } else {
2102
1.40M
      if (yych <= '@') goto yy20;
2103
171k
      if (yych <= 'B') goto yy116;
2104
126k
      goto yy166;
2105
171k
    }
2106
1.76M
  } else {
2107
1.61M
    if (yych <= 'b') {
2108
630k
      if (yych <= 'Z') goto yy116;
2109
141k
      if (yych <= '`') goto yy20;
2110
51.1k
      goto yy120;
2111
980k
    } else {
2112
980k
      if (yych <= 'c') goto yy167;
2113
609k
      if (yych <= 'z') goto yy120;
2114
256k
      goto yy20;
2115
609k
    }
2116
1.61M
  }
2117
3.92M
yy33:
2118
3.92M
  YYDEBUG(33, *YYCURSOR);
2119
3.92M
  yych = *++YYCURSOR;
2120
3.92M
  if (yych <= 'R') {
2121
2.31M
    if (yych <= ')') {
2122
995k
      if (yych <= '(') goto yy20;
2123
23.8k
      goto yy115;
2124
1.31M
    } else {
2125
1.31M
      if (yych <= '@') goto yy20;
2126
753k
      if (yych <= 'Q') goto yy116;
2127
61.3k
      goto yy168;
2128
753k
    }
2129
2.31M
  } else {
2130
1.61M
    if (yych <= 'q') {
2131
885k
      if (yych <= 'Z') goto yy116;
2132
744k
      if (yych <= '`') goto yy20;
2133
636k
      goto yy120;
2134
744k
    } else {
2135
729k
      if (yych <= 'r') goto yy169;
2136
354k
      if (yych <= 'z') goto yy120;
2137
268k
      goto yy20;
2138
354k
    }
2139
1.61M
  }
2140
4.63M
yy34:
2141
4.63M
  YYDEBUG(34, *YYCURSOR);
2142
4.63M
  yych = *++YYCURSOR;
2143
4.63M
  if (yych <= 'U') {
2144
1.96M
    if (yych <= 'D') {
2145
1.44M
      if (yych <= ')') {
2146
473k
        if (yych <= '(') goto yy20;
2147
15.2k
        goto yy115;
2148
969k
      } else {
2149
969k
        if (yych <= '@') goto yy20;
2150
109k
        if (yych <= 'A') goto yy170;
2151
41.7k
        goto yy116;
2152
109k
      }
2153
1.44M
    } else {
2154
524k
      if (yych <= 'H') {
2155
164k
        if (yych <= 'E') goto yy171;
2156
22.0k
        goto yy116;
2157
360k
      } else {
2158
360k
        if (yych <= 'I') goto yy172;
2159
335k
        if (yych <= 'T') goto yy116;
2160
30.6k
        goto yy156;
2161
335k
      }
2162
524k
    }
2163
2.67M
  } else {
2164
2.67M
    if (yych <= 'e') {
2165
1.71M
      if (yych <= '`') {
2166
140k
        if (yych <= 'Z') goto yy116;
2167
96.2k
        goto yy20;
2168
1.57M
      } else {
2169
1.57M
        if (yych <= 'a') goto yy173;
2170
1.19M
        if (yych <= 'd') goto yy120;
2171
1.12M
        goto yy174;
2172
1.19M
      }
2173
1.71M
    } else {
2174
959k
      if (yych <= 't') {
2175
454k
        if (yych == 'i') goto yy175;
2176
364k
        goto yy120;
2177
505k
      } else {
2178
505k
        if (yych <= 'u') goto yy159;
2179
321k
        if (yych <= 'z') goto yy120;
2180
285k
        goto yy20;
2181
321k
      }
2182
959k
    }
2183
2.67M
  }
2184
5.97M
yy35:
2185
5.97M
  YYDEBUG(35, *YYCURSOR);
2186
5.97M
  yych = *++YYCURSOR;
2187
5.97M
  switch (yych) {
2188
56.5k
  case ')': goto yy115;
2189
168k
  case '0':
2190
450k
  case '1': goto yy176;
2191
151k
  case '2': goto yy178;
2192
27.5k
  case '3':
2193
59.0k
  case '4':
2194
89.5k
  case '5':
2195
112k
  case '6':
2196
138k
  case '7':
2197
155k
  case '8':
2198
191k
  case '9': goto yy179;
2199
54.9k
  case 'A':
2200
71.3k
  case 'B':
2201
93.2k
  case 'C':
2202
150k
  case 'D':
2203
184k
  case 'F':
2204
205k
  case 'G':
2205
285k
  case 'I':
2206
298k
  case 'J':
2207
306k
  case 'K':
2208
327k
  case 'L':
2209
341k
  case 'M':
2210
371k
  case 'N':
2211
434k
  case 'P':
2212
448k
  case 'Q':
2213
473k
  case 'R':
2214
491k
  case 'S':
2215
681k
  case 'T':
2216
704k
  case 'V':
2217
720k
  case 'X':
2218
736k
  case 'Y':
2219
751k
  case 'Z': goto yy116;
2220
60.3k
  case 'E': goto yy161;
2221
142k
  case 'H': goto yy180;
2222
53.5k
  case 'O': goto yy181;
2223
44.1k
  case 'U': goto yy182;
2224
32.8k
  case 'W': goto yy183;
2225
40.6k
  case 'a':
2226
54.5k
  case 'b':
2227
69.7k
  case 'c':
2228
100k
  case 'd':
2229
116k
  case 'f':
2230
138k
  case 'g':
2231
200k
  case 'i':
2232
220k
  case 'j':
2233
228k
  case 'k':
2234
253k
  case 'l':
2235
295k
  case 'm':
2236
328k
  case 'n':
2237
350k
  case 'p':
2238
366k
  case 'q':
2239
402k
  case 'r':
2240
423k
  case 's':
2241
460k
  case 't':
2242
469k
  case 'v':
2243
497k
  case 'x':
2244
569k
  case 'y':
2245
582k
  case 'z': goto yy120;
2246
324k
  case 'e': goto yy164;
2247
666k
  case 'h': goto yy184;
2248
457k
  case 'o': goto yy185;
2249
202k
  case 'u': goto yy186;
2250
227k
  case 'w': goto yy187;
2251
1.58M
  default:  goto yy20;
2252
5.97M
  }
2253
2.75M
yy36:
2254
2.75M
  YYDEBUG(36, *YYCURSOR);
2255
2.75M
  yyaccept = 2;
2256
2.75M
  yych = *(YYMARKER = ++YYCURSOR);
2257
2.75M
  if (yych <= '.') {
2258
517k
    if (yych <= ' ') {
2259
269k
      if (yych == '\t') goto yy142;
2260
258k
      if (yych <= 0x1F) goto yy20;
2261
23.4k
      goto yy142;
2262
258k
    } else {
2263
247k
      if (yych == ')') goto yy115;
2264
235k
      if (yych <= ',') goto yy20;
2265
179k
      goto yy142;
2266
235k
    }
2267
2.23M
  } else {
2268
2.23M
    if (yych <= 'H') {
2269
1.17M
      if (yych <= '/') goto yy20;
2270
1.16M
      if (yych <= '9') goto yy142;
2271
142k
      if (yych <= '@') goto yy20;
2272
93.1k
      goto yy116;
2273
1.06M
    } else {
2274
1.06M
      if (yych <= 'Z') {
2275
545k
        if (yych <= 'I') goto yy188;
2276
285k
        goto yy116;
2277
545k
      } else {
2278
521k
        if (yych <= '`') goto yy20;
2279
462k
        if (yych <= 'z') goto yy120;
2280
213k
        goto yy20;
2281
462k
      }
2282
1.06M
    }
2283
2.23M
  }
2284
2.33M
yy37:
2285
2.33M
  YYDEBUG(37, *YYCURSOR);
2286
2.33M
  yych = *++YYCURSOR;
2287
2.33M
  if (yych <= 'E') {
2288
784k
    if (yych <= ')') {
2289
302k
      if (yych <= '(') goto yy20;
2290
12.9k
      goto yy115;
2291
481k
    } else {
2292
481k
      if (yych <= '@') goto yy20;
2293
193k
      if (yych <= 'D') goto yy116;
2294
148k
      goto yy189;
2295
193k
    }
2296
1.55M
  } else {
2297
1.55M
    if (yych <= 'd') {
2298
521k
      if (yych <= 'Z') goto yy116;
2299
118k
      if (yych <= '`') goto yy20;
2300
41.0k
      goto yy120;
2301
1.03M
    } else {
2302
1.03M
      if (yych <= 'e') goto yy190;
2303
417k
      if (yych <= 'z') goto yy120;
2304
224k
      goto yy20;
2305
417k
    }
2306
1.55M
  }
2307
1.99M
yy38:
2308
1.99M
  YYDEBUG(38, *YYCURSOR);
2309
1.99M
  yyaccept = 2;
2310
1.99M
  yych = *(YYMARKER = ++YYCURSOR);
2311
1.99M
  if (yych <= '.') {
2312
596k
    if (yych <= ' ') {
2313
334k
      if (yych == '\t') goto yy142;
2314
312k
      if (yych <= 0x1F) goto yy20;
2315
29.2k
      goto yy142;
2316
312k
    } else {
2317
262k
      if (yych == ')') goto yy115;
2318
250k
      if (yych <= ',') goto yy20;
2319
173k
      goto yy142;
2320
250k
    }
2321
1.39M
  } else {
2322
1.39M
    if (yych <= 'H') {
2323
690k
      if (yych <= '/') goto yy20;
2324
683k
      if (yych <= '9') goto yy142;
2325
116k
      if (yych <= '@') goto yy20;
2326
63.4k
      goto yy116;
2327
703k
    } else {
2328
703k
      if (yych <= 'Z') {
2329
278k
        if (yych <= 'I') goto yy146;
2330
223k
        goto yy116;
2331
424k
      } else {
2332
424k
        if (yych <= '`') goto yy20;
2333
364k
        if (yych <= 'z') goto yy120;
2334
199k
        goto yy20;
2335
364k
      }
2336
703k
    }
2337
1.39M
  }
2338
1.67M
yy39:
2339
1.67M
  YYDEBUG(39, *YYCURSOR);
2340
1.67M
  yych = *++YYCURSOR;
2341
1.67M
  if (yych <= 'E') {
2342
633k
    if (yych <= ')') {
2343
308k
      if (yych <= '(') goto yy20;
2344
12.8k
      goto yy115;
2345
325k
    } else {
2346
325k
      if (yych <= '@') goto yy20;
2347
75.5k
      if (yych <= 'D') goto yy116;
2348
41.8k
      goto yy191;
2349
75.5k
    }
2350
1.03M
  } else {
2351
1.03M
    if (yych <= 'd') {
2352
340k
      if (yych <= 'Z') goto yy116;
2353
102k
      if (yych <= '`') goto yy20;
2354
31.3k
      goto yy120;
2355
697k
    } else {
2356
697k
      if (yych <= 'e') goto yy192;
2357
306k
      if (yych <= 'z') goto yy120;
2358
173k
      goto yy20;
2359
306k
    }
2360
1.03M
  }
2361
6.63M
yy40:
2362
6.63M
  YYDEBUG(40, *YYCURSOR);
2363
6.63M
  yych = *++YYCURSOR;
2364
6.63M
  if (yych <= 'U') {
2365
3.03M
    if (yych <= 'F') {
2366
2.61M
      if (yych == ')') goto yy115;
2367
2.55M
      if (yych <= '@') goto yy20;
2368
150k
      goto yy116;
2369
2.55M
    } else {
2370
413k
      if (yych <= 'O') {
2371
202k
        if (yych <= 'G') goto yy117;
2372
171k
        goto yy116;
2373
210k
      } else {
2374
210k
        if (yych <= 'P') goto yy118;
2375
164k
        if (yych <= 'T') goto yy116;
2376
23.0k
        goto yy119;
2377
164k
      }
2378
413k
    }
2379
3.60M
  } else {
2380
3.60M
    if (yych <= 'o') {
2381
1.81M
      if (yych <= '`') {
2382
346k
        if (yych <= 'Z') goto yy116;
2383
277k
        goto yy20;
2384
1.47M
      } else {
2385
1.47M
        if (yych == 'g') goto yy117;
2386
1.39M
        goto yy116;
2387
1.47M
      }
2388
1.81M
    } else {
2389
1.78M
      if (yych <= 't') {
2390
1.03M
        if (yych <= 'p') goto yy118;
2391
867k
        goto yy116;
2392
1.03M
      } else {
2393
746k
        if (yych <= 'u') goto yy119;
2394
665k
        if (yych <= 'z') goto yy116;
2395
436k
        goto yy20;
2396
665k
      }
2397
1.78M
    }
2398
3.60M
  }
2399
2.51M
yy41:
2400
2.51M
  YYDEBUG(41, *YYCURSOR);
2401
2.51M
  yych = *++YYCURSOR;
2402
2.51M
  if (yych <= 'A') {
2403
981k
    if (yych == ')') goto yy115;
2404
964k
    if (yych <= '@') goto yy20;
2405
26.8k
    goto yy124;
2406
1.53M
  } else {
2407
1.53M
    if (yych <= '`') {
2408
348k
      if (yych <= 'Z') goto yy116;
2409
147k
      goto yy20;
2410
1.18M
    } else {
2411
1.18M
      if (yych <= 'a') goto yy124;
2412
987k
      if (yych <= 'z') goto yy116;
2413
193k
      goto yy20;
2414
987k
    }
2415
1.53M
  }
2416
31.6M
yy42:
2417
31.6M
  YYDEBUG(42, *YYCURSOR);
2418
31.6M
  yych = *++YYCURSOR;
2419
31.6M
  if (yych <= '@') {
2420
13.0M
    if (yych == ')') goto yy115;
2421
12.8M
    goto yy20;
2422
18.5M
  } else {
2423
18.5M
    if (yych <= 'Z') goto yy116;
2424
15.8M
    if (yych <= '`') goto yy20;
2425
14.9M
    if (yych <= 'z') goto yy116;
2426
3.53M
    goto yy20;
2427
14.9M
  }
2428
6.34M
yy43:
2429
6.34M
  YYDEBUG(43, *YYCURSOR);
2430
6.34M
  yych = *++YYCURSOR;
2431
6.34M
  if (yych <= 'E') {
2432
2.76M
    if (yych <= ')') {
2433
1.17M
      if (yych <= '(') goto yy20;
2434
38.1k
      goto yy115;
2435
1.59M
    } else {
2436
1.59M
      if (yych <= '@') goto yy20;
2437
219k
      if (yych <= 'D') goto yy116;
2438
45.5k
      goto yy126;
2439
219k
    }
2440
3.57M
  } else {
2441
3.57M
    if (yych <= 'd') {
2442
2.02M
      if (yych <= 'Z') goto yy116;
2443
1.74M
      if (yych <= '`') goto yy20;
2444
1.50M
      goto yy116;
2445
1.74M
    } else {
2446
1.54M
      if (yych <= 'e') goto yy126;
2447
1.21M
      if (yych <= 'z') goto yy116;
2448
373k
      goto yy20;
2449
1.21M
    }
2450
3.57M
  }
2451
6.85M
yy44:
2452
6.85M
  YYDEBUG(44, *YYCURSOR);
2453
6.85M
  yych = *++YYCURSOR;
2454
6.85M
  if (yych <= 'L') {
2455
2.62M
    if (yych <= '@') {
2456
2.23M
      if (yych == ')') goto yy115;
2457
2.14M
      goto yy20;
2458
2.23M
    } else {
2459
384k
      if (yych == 'I') goto yy128;
2460
278k
      if (yych <= 'K') goto yy116;
2461
31.5k
      goto yy129;
2462
278k
    }
2463
4.23M
  } else {
2464
4.23M
    if (yych <= 'i') {
2465
2.05M
      if (yych <= 'Z') goto yy116;
2466
1.73M
      if (yych <= '`') goto yy20;
2467
1.40M
      if (yych <= 'h') goto yy116;
2468
309k
      goto yy128;
2469
2.18M
    } else {
2470
2.18M
      if (yych == 'l') goto yy129;
2471
1.98M
      if (yych <= 'z') goto yy116;
2472
514k
      goto yy20;
2473
1.98M
    }
2474
4.23M
  }
2475
3.26M
yy45:
2476
3.26M
  YYDEBUG(45, *YYCURSOR);
2477
3.26M
  yych = *++YYCURSOR;
2478
3.26M
  if (yych <= 'R') {
2479
1.11M
    if (yych <= 'E') {
2480
977k
      if (yych <= ')') {
2481
555k
        if (yych <= '(') goto yy20;
2482
14.3k
        goto yy115;
2483
555k
      } else {
2484
421k
        if (yych <= '@') goto yy20;
2485
75.6k
        if (yych <= 'D') goto yy116;
2486
39.9k
        goto yy132;
2487
75.6k
      }
2488
977k
    } else {
2489
140k
      if (yych <= 'N') {
2490
73.7k
        if (yych == 'I') goto yy133;
2491
55.3k
        goto yy116;
2492
73.7k
      } else {
2493
66.5k
        if (yych <= 'O') goto yy134;
2494
36.9k
        if (yych <= 'Q') goto yy116;
2495
15.8k
        goto yy135;
2496
36.9k
      }
2497
140k
    }
2498
2.14M
  } else {
2499
2.14M
    if (yych <= 'i') {
2500
893k
      if (yych <= 'd') {
2501
270k
        if (yych <= 'Z') goto yy116;
2502
215k
        if (yych <= '`') goto yy20;
2503
144k
        goto yy116;
2504
623k
      } else {
2505
623k
        if (yych <= 'e') goto yy132;
2506
467k
        if (yych <= 'h') goto yy116;
2507
332k
        goto yy133;
2508
467k
      }
2509
1.24M
    } else {
2510
1.24M
      if (yych <= 'q') {
2511
602k
        if (yych == 'o') goto yy134;
2512
154k
        goto yy116;
2513
647k
      } else {
2514
647k
        if (yych <= 'r') goto yy135;
2515
485k
        if (yych <= 'z') goto yy116;
2516
257k
        goto yy20;
2517
485k
      }
2518
1.24M
    }
2519
2.14M
  }
2520
1.87M
yy46:
2521
1.87M
  YYDEBUG(46, *YYCURSOR);
2522
1.87M
  yych = *++YYCURSOR;
2523
1.87M
  if (yych <= 'U') {
2524
979k
    if (yych <= '@') {
2525
543k
      if (yych == ')') goto yy115;
2526
531k
      goto yy20;
2527
543k
    } else {
2528
435k
      if (yych <= 'A') goto yy148;
2529
363k
      if (yych <= 'T') goto yy116;
2530
218k
      goto yy149;
2531
363k
    }
2532
979k
  } else {
2533
900k
    if (yych <= 'a') {
2534
184k
      if (yych <= 'Z') goto yy116;
2535
161k
      if (yych <= '`') goto yy20;
2536
84.7k
      goto yy148;
2537
716k
    } else {
2538
716k
      if (yych == 'u') goto yy149;
2539
581k
      if (yych <= 'z') goto yy116;
2540
183k
      goto yy20;
2541
581k
    }
2542
900k
  }
2543
2.89M
yy47:
2544
2.89M
  YYDEBUG(47, *YYCURSOR);
2545
2.89M
  yych = *++YYCURSOR;
2546
2.89M
  if (yych <= 'A') {
2547
1.04M
    if (yych == ')') goto yy115;
2548
1.02M
    if (yych <= '@') goto yy20;
2549
24.4k
    goto yy152;
2550
1.85M
  } else {
2551
1.85M
    if (yych <= '`') {
2552
355k
      if (yych <= 'Z') goto yy116;
2553
137k
      goto yy20;
2554
1.49M
    } else {
2555
1.49M
      if (yych <= 'a') goto yy152;
2556
1.01M
      if (yych <= 'z') goto yy116;
2557
306k
      goto yy20;
2558
1.01M
    }
2559
1.85M
  }
2560
3.26M
yy48:
2561
3.26M
  YYDEBUG(48, *YYCURSOR);
2562
3.26M
  yych = *++YYCURSOR;
2563
3.26M
  if (yych <= 'O') {
2564
1.44M
    if (yych <= 'A') {
2565
1.21M
      if (yych == ')') goto yy115;
2566
1.17M
      if (yych <= '@') goto yy20;
2567
116k
      goto yy154;
2568
1.17M
    } else {
2569
233k
      if (yych == 'I') goto yy155;
2570
164k
      if (yych <= 'N') goto yy116;
2571
39.4k
      goto yy156;
2572
164k
    }
2573
1.82M
  } else {
2574
1.82M
    if (yych <= 'h') {
2575
672k
      if (yych <= 'Z') goto yy116;
2576
581k
      if (yych <= '`') goto yy20;
2577
496k
      if (yych <= 'a') goto yy154;
2578
331k
      goto yy116;
2579
1.14M
    } else {
2580
1.14M
      if (yych <= 'n') {
2581
368k
        if (yych <= 'i') goto yy155;
2582
188k
        goto yy116;
2583
778k
      } else {
2584
778k
        if (yych <= 'o') goto yy156;
2585
623k
        if (yych <= 'z') goto yy116;
2586
382k
        goto yy20;
2587
623k
      }
2588
1.14M
    }
2589
1.82M
  }
2590
4.60M
yy49:
2591
4.60M
  YYDEBUG(49, *YYCURSOR);
2592
4.60M
  yych = *++YYCURSOR;
2593
4.60M
  if (yych <= 'O') {
2594
1.83M
    if (yych <= 'D') {
2595
1.61M
      if (yych == ')') goto yy115;
2596
1.59M
      if (yych <= '@') goto yy20;
2597
62.0k
      goto yy116;
2598
1.59M
    } else {
2599
221k
      if (yych <= 'H') {
2600
65.4k
        if (yych <= 'E') goto yy160;
2601
30.1k
        goto yy116;
2602
155k
      } else {
2603
155k
        if (yych <= 'I') goto yy161;
2604
123k
        if (yych <= 'N') goto yy116;
2605
54.2k
        goto yy162;
2606
123k
      }
2607
221k
    }
2608
2.76M
  } else {
2609
2.76M
    if (yych <= 'h') {
2610
1.32M
      if (yych <= '`') {
2611
239k
        if (yych <= 'Z') goto yy116;
2612
108k
        goto yy20;
2613
1.08M
      } else {
2614
1.08M
        if (yych == 'e') goto yy160;
2615
569k
        goto yy116;
2616
1.08M
      }
2617
1.43M
    } else {
2618
1.43M
      if (yych <= 'n') {
2619
265k
        if (yych <= 'i') goto yy161;
2620
185k
        goto yy116;
2621
1.17M
      } else {
2622
1.17M
        if (yych <= 'o') goto yy162;
2623
994k
        if (yych <= 'z') goto yy116;
2624
377k
        goto yy20;
2625
994k
      }
2626
1.43M
    }
2627
2.76M
  }
2628
4.40M
yy50:
2629
4.40M
  YYDEBUG(50, *YYCURSOR);
2630
4.40M
  yych = *++YYCURSOR;
2631
4.40M
  if (yych <= 'C') {
2632
1.21M
    if (yych <= ')') {
2633
566k
      if (yych <= '(') goto yy20;
2634
23.8k
      goto yy115;
2635
653k
    } else {
2636
653k
      if (yych <= '@') goto yy20;
2637
73.6k
      if (yych <= 'B') goto yy116;
2638
47.5k
      goto yy166;
2639
73.6k
    }
2640
3.18M
  } else {
2641
3.18M
    if (yych <= 'b') {
2642
603k
      if (yych <= 'Z') goto yy116;
2643
255k
      if (yych <= '`') goto yy20;
2644
158k
      goto yy116;
2645
2.58M
    } else {
2646
2.58M
      if (yych <= 'c') goto yy166;
2647
2.50M
      if (yych <= 'z') goto yy116;
2648
598k
      goto yy20;
2649
2.50M
    }
2650
3.18M
  }
2651
4.43M
yy51:
2652
4.43M
  YYDEBUG(51, *YYCURSOR);
2653
4.43M
  yych = *++YYCURSOR;
2654
4.43M
  if (yych <= 'R') {
2655
2.12M
    if (yych <= ')') {
2656
1.20M
      if (yych <= '(') goto yy20;
2657
29.9k
      goto yy115;
2658
1.20M
    } else {
2659
919k
      if (yych <= '@') goto yy20;
2660
257k
      if (yych <= 'Q') goto yy116;
2661
28.0k
      goto yy168;
2662
257k
    }
2663
2.31M
  } else {
2664
2.31M
    if (yych <= 'q') {
2665
1.25M
      if (yych <= 'Z') goto yy116;
2666
1.16M
      if (yych <= '`') goto yy20;
2667
968k
      goto yy116;
2668
1.16M
    } else {
2669
1.05M
      if (yych <= 'r') goto yy168;
2670
641k
      if (yych <= 'z') goto yy116;
2671
362k
      goto yy20;
2672
641k
    }
2673
2.31M
  }
2674
8.32M
yy52:
2675
8.32M
  YYDEBUG(52, *YYCURSOR);
2676
8.32M
  yych = *++YYCURSOR;
2677
8.32M
  if (yych <= 'U') {
2678
4.57M
    if (yych <= 'D') {
2679
4.26M
      if (yych <= ')') {
2680
1.04M
        if (yych <= '(') goto yy20;
2681
36.7k
        goto yy115;
2682
3.21M
      } else {
2683
3.21M
        if (yych <= '@') goto yy20;
2684
124k
        if (yych <= 'A') goto yy170;
2685
49.3k
        goto yy116;
2686
124k
      }
2687
4.26M
    } else {
2688
317k
      if (yych <= 'H') {
2689
117k
        if (yych <= 'E') goto yy171;
2690
25.4k
        goto yy116;
2691
199k
      } else {
2692
199k
        if (yych <= 'I') goto yy172;
2693
164k
        if (yych <= 'T') goto yy116;
2694
31.5k
        goto yy156;
2695
164k
      }
2696
317k
    }
2697
4.57M
  } else {
2698
3.74M
    if (yych <= 'e') {
2699
888k
      if (yych <= '`') {
2700
176k
        if (yych <= 'Z') goto yy116;
2701
114k
        goto yy20;
2702
712k
      } else {
2703
712k
        if (yych <= 'a') goto yy170;
2704
569k
        if (yych <= 'd') goto yy116;
2705
449k
        goto yy171;
2706
569k
      }
2707
2.85M
    } else {
2708
2.85M
      if (yych <= 't') {
2709
2.09M
        if (yych == 'i') goto yy172;
2710
1.97M
        goto yy116;
2711
2.09M
      } else {
2712
755k
        if (yych <= 'u') goto yy156;
2713
683k
        if (yych <= 'z') goto yy116;
2714
584k
        goto yy20;
2715
683k
      }
2716
2.85M
    }
2717
3.74M
  }
2718
7.71M
yy53:
2719
7.71M
  YYDEBUG(53, *YYCURSOR);
2720
7.71M
  yych = *++YYCURSOR;
2721
7.71M
  switch (yych) {
2722
58.2k
  case ')': goto yy115;
2723
163k
  case '0':
2724
282k
  case '1': goto yy176;
2725
109k
  case '2': goto yy178;
2726
45.4k
  case '3':
2727
94.2k
  case '4':
2728
130k
  case '5':
2729
186k
  case '6':
2730
214k
  case '7':
2731
244k
  case '8':
2732
294k
  case '9': goto yy179;
2733
29.9k
  case 'A':
2734
41.8k
  case 'B':
2735
62.2k
  case 'C':
2736
81.7k
  case 'D':
2737
96.6k
  case 'F':
2738
109k
  case 'G':
2739
141k
  case 'I':
2740
151k
  case 'J':
2741
159k
  case 'K':
2742
172k
  case 'L':
2743
195k
  case 'M':
2744
213k
  case 'N':
2745
236k
  case 'P':
2746
252k
  case 'Q':
2747
278k
  case 'R':
2748
299k
  case 'S':
2749
351k
  case 'T':
2750
373k
  case 'V':
2751
397k
  case 'X':
2752
410k
  case 'Y':
2753
419k
  case 'Z':
2754
575k
  case 'a':
2755
611k
  case 'b':
2756
662k
  case 'c':
2757
717k
  case 'd':
2758
735k
  case 'f':
2759
766k
  case 'g':
2760
1.42M
  case 'i':
2761
1.44M
  case 'j':
2762
1.45M
  case 'k':
2763
1.48M
  case 'l':
2764
1.53M
  case 'm':
2765
1.58M
  case 'n':
2766
1.62M
  case 'p':
2767
1.64M
  case 'q':
2768
1.89M
  case 'r':
2769
1.95M
  case 's':
2770
2.12M
  case 't':
2771
2.15M
  case 'v':
2772
2.17M
  case 'x':
2773
2.22M
  case 'y':
2774
2.23M
  case 'z': goto yy116;
2775
54.5k
  case 'E':
2776
1.27M
  case 'e': goto yy161;
2777
76.7k
  case 'H':
2778
573k
  case 'h': goto yy180;
2779
29.6k
  case 'O':
2780
261k
  case 'o': goto yy181;
2781
108k
  case 'U':
2782
216k
  case 'u': goto yy182;
2783
47.9k
  case 'W':
2784
106k
  case 'w': goto yy183;
2785
2.30M
  default:  goto yy20;
2786
7.71M
  }
2787
2.31M
yy54:
2788
2.31M
  YYDEBUG(54, *YYCURSOR);
2789
2.31M
  yych = *++YYCURSOR;
2790
2.31M
  if (yych <= 'E') {
2791
901k
    if (yych <= ')') {
2792
348k
      if (yych <= '(') goto yy20;
2793
15.4k
      goto yy115;
2794
553k
    } else {
2795
553k
      if (yych <= '@') goto yy20;
2796
89.0k
      if (yych <= 'D') goto yy116;
2797
53.0k
      goto yy189;
2798
89.0k
    }
2799
1.41M
  } else {
2800
1.41M
    if (yych <= 'd') {
2801
242k
      if (yych <= 'Z') goto yy116;
2802
114k
      if (yych <= '`') goto yy20;
2803
64.3k
      goto yy116;
2804
1.16M
    } else {
2805
1.16M
      if (yych <= 'e') goto yy189;
2806
979k
      if (yych <= 'z') goto yy116;
2807
395k
      goto yy20;
2808
979k
    }
2809
1.41M
  }
2810
2.02M
yy55:
2811
2.02M
  YYDEBUG(55, *YYCURSOR);
2812
2.02M
  yych = *++YYCURSOR;
2813
2.02M
  if (yych <= 'E') {
2814
894k
    if (yych <= ')') {
2815
405k
      if (yych <= '(') goto yy20;
2816
14.5k
      goto yy115;
2817
489k
    } else {
2818
489k
      if (yych <= '@') goto yy20;
2819
54.5k
      if (yych <= 'D') goto yy116;
2820
21.9k
      goto yy191;
2821
54.5k
    }
2822
1.13M
  } else {
2823
1.13M
    if (yych <= 'd') {
2824
233k
      if (yych <= 'Z') goto yy116;
2825
100k
      if (yych <= '`') goto yy20;
2826
50.1k
      goto yy116;
2827
901k
    } else {
2828
901k
      if (yych <= 'e') goto yy191;
2829
796k
      if (yych <= 'z') goto yy116;
2830
350k
      goto yy20;
2831
796k
    }
2832
1.13M
  }
2833
3.11M
yy56:
2834
3.11M
  YYDEBUG(56, *YYCURSOR);
2835
3.11M
  yych = *++YYCURSOR;
2836
3.11M
  if (yych == 0xA0) goto yy193;
2837
2.22M
  goto yy5;
2838
2.44M
yy57:
2839
2.44M
  YYDEBUG(57, *YYCURSOR);
2840
2.44M
  yyaccept = 1;
2841
2.44M
  yych = *(YYMARKER = ++YYCURSOR);
2842
2.44M
  if (yych == 0x80) goto yy194;
2843
1.58M
  goto yy5;
2844
8.59M
yy58:
2845
8.59M
  YYDEBUG(58, *YYCURSOR);
2846
8.59M
  yych = *++YYCURSOR;
2847
8.59M
  if (yych <= 0xC1) {
2848
8.38M
    if (yych <= '/') goto yy196;
2849
4.87M
    if (yych <= '9') goto yy197;
2850
1.42M
    goto yy196;
2851
4.87M
  } else {
2852
211k
    if (yych <= 0xC2) goto yy97;
2853
170k
    if (yych == 0xE2) goto yy98;
2854
106k
    goto yy196;
2855
170k
  }
2856
95.0M
yy59:
2857
95.0M
  YYDEBUG(59, *YYCURSOR);
2858
95.0M
  YYCURSOR = YYMARKER;
2859
95.0M
  if (yyaccept <= 16) {
2860
90.8M
    if (yyaccept <= 8) {
2861
83.6M
      if (yyaccept <= 4) {
2862
82.6M
        if (yyaccept <= 2) {
2863
81.1M
          if (yyaccept <= 1) {
2864
73.9M
            if (yyaccept == 0) {
2865
6.94M
              goto yy8;
2866
66.9M
            } else {
2867
66.9M
              goto yy5;
2868
66.9M
            }
2869
73.9M
          } else {
2870
7.19M
            goto yy20;
2871
7.19M
          }
2872
81.1M
        } else {
2873
1.48M
          if (yyaccept == 3) {
2874
392k
            goto yy81;
2875
1.09M
          } else {
2876
1.09M
            goto yy177;
2877
1.09M
          }
2878
1.48M
        }
2879
82.6M
      } else {
2880
983k
        if (yyaccept <= 6) {
2881
216k
          if (yyaccept == 5) {
2882
82.6k
            goto yy224;
2883
133k
          } else {
2884
133k
            goto yy260;
2885
133k
          }
2886
767k
        } else {
2887
767k
          if (yyaccept == 7) {
2888
744k
            goto yy295;
2889
744k
          } else {
2890
22.6k
            goto yy293;
2891
22.6k
          }
2892
767k
        }
2893
983k
      }
2894
83.6M
    } else {
2895
7.20M
      if (yyaccept <= 12) {
2896
2.32M
        if (yyaccept <= 10) {
2897
239k
          if (yyaccept == 9) {
2898
42.2k
            goto yy315;
2899
197k
          } else {
2900
197k
            goto yy325;
2901
197k
          }
2902
2.08M
        } else {
2903
2.08M
          if (yyaccept == 11) {
2904
5.06k
            goto yy351;
2905
2.07M
          } else {
2906
2.07M
            goto yy420;
2907
2.07M
          }
2908
2.08M
        }
2909
4.88M
      } else {
2910
4.88M
        if (yyaccept <= 14) {
2911
4.64M
          if (yyaccept == 13) {
2912
4.63M
            goto yy422;
2913
4.63M
          } else {
2914
5.06k
            goto yy526;
2915
5.06k
          }
2916
4.64M
        } else {
2917
242k
          if (yyaccept == 15) {
2918
229k
            goto yy567;
2919
229k
          } else {
2920
12.7k
            goto yy722;
2921
12.7k
          }
2922
242k
        }
2923
4.88M
      }
2924
7.20M
    }
2925
90.8M
  } else {
2926
4.27M
    if (yyaccept <= 25) {
2927
2.31M
      if (yyaccept <= 21) {
2928
2.01M
        if (yyaccept <= 19) {
2929
727k
          if (yyaccept <= 18) {
2930
59.9k
            if (yyaccept == 17) {
2931
2.63k
              goto yy739;
2932
57.3k
            } else {
2933
57.3k
              goto yy752;
2934
57.3k
            }
2935
667k
          } else {
2936
667k
            goto yy777;
2937
667k
          }
2938
1.28M
        } else {
2939
1.28M
          if (yyaccept == 20) {
2940
284k
            goto yy849;
2941
1.00M
          } else {
2942
1.00M
            goto yy926;
2943
1.00M
          }
2944
1.28M
        }
2945
2.01M
      } else {
2946
299k
        if (yyaccept <= 23) {
2947
130k
          if (yyaccept == 22) {
2948
122k
            goto yy600;
2949
122k
          } else {
2950
7.28k
            goto yy942;
2951
7.28k
          }
2952
169k
        } else {
2953
169k
          if (yyaccept == 24) {
2954
153k
            goto yy982;
2955
153k
          } else {
2956
16.1k
            goto yy1025;
2957
16.1k
          }
2958
169k
        }
2959
299k
      }
2960
2.31M
    } else {
2961
1.96M
      if (yyaccept <= 29) {
2962
1.92M
        if (yyaccept <= 27) {
2963
1.81M
          if (yyaccept == 26) {
2964
102k
            goto yy1043;
2965
1.71M
          } else {
2966
1.71M
            goto yy1048;
2967
1.71M
          }
2968
1.81M
        } else {
2969
105k
          if (yyaccept == 28) {
2970
2.99k
            goto yy1107;
2971
102k
          } else {
2972
102k
            goto yy1145;
2973
102k
          }
2974
105k
        }
2975
1.92M
      } else {
2976
40.1k
        if (yyaccept <= 31) {
2977
10.3k
          if (yyaccept == 30) {
2978
7.67k
            goto yy1172;
2979
7.67k
          } else {
2980
2.64k
            goto yy1175;
2981
2.64k
          }
2982
29.8k
        } else {
2983
29.8k
          if (yyaccept == 32) {
2984
18.4k
            goto yy1329;
2985
18.4k
          } else {
2986
11.3k
            goto yy1375;
2987
11.3k
          }
2988
29.8k
        }
2989
40.1k
      }
2990
1.96M
    }
2991
4.27M
  }
2992
1.00M
yy60:
2993
1.00M
  YYDEBUG(60, *YYCURSOR);
2994
1.00M
  ++YYCURSOR;
2995
1.00M
  if ((YYLIMIT - YYCURSOR) < 25) YYFILL(25);
2996
1.00M
  yych = *YYCURSOR;
2997
1.00M
  YYDEBUG(61, *YYCURSOR);
2998
1.00M
  if (yych <= 0x1F) {
2999
227k
    if (yych == '\t') goto yy60;
3000
141k
    goto yy59;
3001
777k
  } else {
3002
777k
    if (yych <= ' ') goto yy60;
3003
573k
    if (yych <= '/') goto yy59;
3004
395k
    if (yych <= '9') goto yy58;
3005
288k
    goto yy59;
3006
395k
  }
3007
25.9M
yy62:
3008
25.9M
  YYDEBUG(62, *YYCURSOR);
3009
25.9M
  ++YYCURSOR;
3010
25.9M
  if ((YYLIMIT - YYCURSOR) < 25) YYFILL(25);
3011
25.9M
  yych = *YYCURSOR;
3012
25.9M
  YYDEBUG(63, *YYCURSOR);
3013
25.9M
  if (yybm[0+yych] & 4) {
3014
22.0M
    goto yy62;
3015
22.0M
  }
3016
3.89M
  if (yych <= 0x1F) {
3017
389k
    if (yych == '\t') goto yy60;
3018
342k
    goto yy59;
3019
3.50M
  } else {
3020
3.50M
    if (yych <= ' ') goto yy60;
3021
3.41M
    if (yych <= '/') goto yy59;
3022
2.91M
    if (yych <= '9') goto yy58;
3023
1.30M
    goto yy59;
3024
2.91M
  }
3025
3.27M
yy64:
3026
3.27M
  YYDEBUG(64, *YYCURSOR);
3027
3.27M
  yyaccept = 2;
3028
3.27M
  yych = *(YYMARKER = ++YYCURSOR);
3029
3.27M
  if (yych <= 'X') {
3030
2.74M
    if (yych <= 'E') {
3031
2.57M
      if (yych <= '/') {
3032
605k
        if (yych <= '\t') {
3033
136k
          if (yych <= 0x08) goto yy20;
3034
11.8k
          goto yy196;
3035
468k
        } else {
3036
468k
          if (yych == ' ') goto yy196;
3037
416k
          goto yy20;
3038
468k
        }
3039
1.97M
      } else {
3040
1.97M
        if (yych <= ':') {
3041
1.84M
          if (yych <= '9') goto yy202;
3042
86.3k
          goto yy203;
3043
1.84M
        } else {
3044
129k
          if (yych == 'D') goto yy196;
3045
111k
          goto yy20;
3046
129k
        }
3047
1.97M
      }
3048
2.57M
    } else {
3049
169k
      if (yych <= 'M') {
3050
86.1k
        if (yych <= 'G') {
3051
31.7k
          if (yych <= 'F') goto yy196;
3052
6.58k
          goto yy20;
3053
54.4k
        } else {
3054
54.4k
          if (yych <= 'H') goto yy196;
3055
34.1k
          if (yych <= 'L') goto yy20;
3056
9.57k
          goto yy196;
3057
34.1k
        }
3058
86.1k
      } else {
3059
83.5k
        if (yych <= 'U') {
3060
54.3k
          if (yych <= 'R') goto yy20;
3061
29.7k
          goto yy196;
3062
54.3k
        } else {
3063
29.2k
          if (yych == 'W') goto yy196;
3064
23.7k
          goto yy20;
3065
29.2k
        }
3066
83.5k
      }
3067
169k
    }
3068
2.74M
  } else {
3069
532k
    if (yych <= 'r') {
3070
259k
      if (yych <= 'f') {
3071
127k
        if (yych <= 'c') {
3072
75.5k
          if (yych <= 'Y') goto yy196;
3073
47.7k
          goto yy20;
3074
75.5k
        } else {
3075
51.7k
          if (yych == 'e') goto yy20;
3076
35.6k
          goto yy196;
3077
51.7k
        }
3078
132k
      } else {
3079
132k
        if (yych <= 'h') {
3080
20.6k
          if (yych <= 'g') goto yy20;
3081
10.0k
          goto yy196;
3082
111k
        } else {
3083
111k
          if (yych == 'm') goto yy196;
3084
101k
          goto yy20;
3085
111k
        }
3086
132k
      }
3087
273k
    } else {
3088
273k
      if (yych <= 'y') {
3089
72.0k
        if (yych <= 'v') {
3090
54.9k
          if (yych <= 'u') goto yy196;
3091
10.4k
          goto yy20;
3092
54.9k
        } else {
3093
17.0k
          if (yych == 'x') goto yy20;
3094
11.9k
          goto yy196;
3095
17.0k
        }
3096
201k
      } else {
3097
201k
        if (yych <= 0xC2) {
3098
93.1k
          if (yych <= 0xC1) goto yy20;
3099
6.19k
          goto yy97;
3100
108k
        } else {
3101
108k
          if (yych == 0xE2) goto yy98;
3102
102k
          goto yy20;
3103
108k
        }
3104
201k
      }
3105
273k
    }
3106
532k
  }
3107
1.34M
yy65:
3108
1.34M
  YYDEBUG(65, *YYCURSOR);
3109
1.34M
  yyaccept = 2;
3110
1.34M
  yych = *(YYMARKER = ++YYCURSOR);
3111
1.34M
  if (yych <= 'W') {
3112
1.05M
    if (yych <= 'C') {
3113
954k
      if (yych <= '/') {
3114
199k
        if (yych <= '\t') {
3115
56.2k
          if (yych <= 0x08) goto yy20;
3116
13.2k
          goto yy196;
3117
142k
        } else {
3118
142k
          if (yych == ' ') goto yy196;
3119
127k
          goto yy20;
3120
142k
        }
3121
755k
      } else {
3122
755k
        if (yych <= '5') {
3123
543k
          if (yych <= '4') goto yy202;
3124
38.9k
          goto yy204;
3125
543k
        } else {
3126
212k
          if (yych <= '9') goto yy205;
3127
74.5k
          if (yych <= ':') goto yy203;
3128
38.7k
          goto yy20;
3129
74.5k
        }
3130
755k
      }
3131
954k
    } else {
3132
98.2k
      if (yych <= 'H') {
3133
37.6k
        if (yych <= 'E') {
3134
16.5k
          if (yych <= 'D') goto yy196;
3135
7.51k
          goto yy20;
3136
21.1k
        } else {
3137
21.1k
          if (yych == 'G') goto yy20;
3138
15.8k
          goto yy196;
3139
21.1k
        }
3140
60.5k
      } else {
3141
60.5k
        if (yych <= 'R') {
3142
28.0k
          if (yych == 'M') goto yy196;
3143
19.3k
          goto yy20;
3144
32.4k
        } else {
3145
32.4k
          if (yych == 'V') goto yy20;
3146
21.5k
          goto yy196;
3147
32.4k
        }
3148
60.5k
      }
3149
98.2k
    }
3150
1.05M
  } else {
3151
290k
    if (yych <= 'm') {
3152
127k
      if (yych <= 'e') {
3153
69.6k
        if (yych <= 'Y') {
3154
15.3k
          if (yych <= 'X') goto yy20;
3155
9.98k
          goto yy196;
3156
54.2k
        } else {
3157
54.2k
          if (yych == 'd') goto yy196;
3158
35.5k
          goto yy20;
3159
54.2k
        }
3160
69.6k
      } else {
3161
58.1k
        if (yych <= 'g') {
3162
22.7k
          if (yych <= 'f') goto yy196;
3163
9.56k
          goto yy20;
3164
35.4k
        } else {
3165
35.4k
          if (yych <= 'h') goto yy196;
3166
31.7k
          if (yych <= 'l') goto yy20;
3167
16.8k
          goto yy196;
3168
31.7k
        }
3169
58.1k
      }
3170
162k
    } else {
3171
162k
      if (yych <= 'x') {
3172
81.3k
        if (yych <= 'u') {
3173
61.2k
          if (yych <= 'r') goto yy20;
3174
34.8k
          goto yy196;
3175
61.2k
        } else {
3176
20.0k
          if (yych == 'w') goto yy196;
3177
13.8k
          goto yy20;
3178
20.0k
        }
3179
81.3k
      } else {
3180
81.3k
        if (yych <= 0xC2) {
3181
44.8k
          if (yych <= 'y') goto yy196;
3182
37.9k
          if (yych <= 0xC1) goto yy20;
3183
5.52k
          goto yy97;
3184
37.9k
        } else {
3185
36.4k
          if (yych == 0xE2) goto yy98;
3186
32.4k
          goto yy20;
3187
36.4k
        }
3188
81.3k
      }
3189
162k
    }
3190
290k
  }
3191
2.83M
yy66:
3192
2.83M
  YYDEBUG(66, *YYCURSOR);
3193
2.83M
  yyaccept = 2;
3194
2.83M
  yych = *(YYMARKER = ++YYCURSOR);
3195
2.83M
  if (yych <= 'W') {
3196
2.29M
    if (yych <= 'D') {
3197
2.16M
      if (yych <= '/') {
3198
468k
        if (yych <= '\t') {
3199
175k
          if (yych <= 0x08) goto yy20;
3200
11.1k
          goto yy196;
3201
293k
        } else {
3202
293k
          if (yych == ' ') goto yy196;
3203
268k
          goto yy20;
3204
293k
        }
3205
1.69M
      } else {
3206
1.69M
        if (yych <= '9') {
3207
1.55M
          if (yych <= '5') goto yy204;
3208
482k
          goto yy205;
3209
1.55M
        } else {
3210
143k
          if (yych <= ':') goto yy203;
3211
84.5k
          if (yych <= 'C') goto yy20;
3212
9.02k
          goto yy196;
3213
84.5k
        }
3214
1.69M
      }
3215
2.16M
    } else {
3216
137k
      if (yych <= 'L') {
3217
64.4k
        if (yych <= 'F') {
3218
39.7k
          if (yych <= 'E') goto yy20;
3219
22.6k
          goto yy196;
3220
39.7k
        } else {
3221
24.6k
          if (yych == 'H') goto yy196;
3222
17.5k
          goto yy20;
3223
24.6k
        }
3224
72.7k
      } else {
3225
72.7k
        if (yych <= 'R') {
3226
27.6k
          if (yych <= 'M') goto yy196;
3227
19.8k
          goto yy20;
3228
45.1k
        } else {
3229
45.1k
          if (yych == 'V') goto yy20;
3230
26.8k
          goto yy196;
3231
45.1k
        }
3232
72.7k
      }
3233
137k
    }
3234
2.29M
  } else {
3235
538k
    if (yych <= 'm') {
3236
172k
      if (yych <= 'e') {
3237
86.4k
        if (yych <= 'Y') {
3238
22.9k
          if (yych <= 'X') goto yy20;
3239
17.8k
          goto yy196;
3240
63.5k
        } else {
3241
63.5k
          if (yych == 'd') goto yy196;
3242
50.6k
          goto yy20;
3243
63.5k
        }
3244
86.4k
      } else {
3245
86.4k
        if (yych <= 'g') {
3246
32.1k
          if (yych <= 'f') goto yy196;
3247
10.6k
          goto yy20;
3248
54.2k
        } else {
3249
54.2k
          if (yych <= 'h') goto yy196;
3250
44.8k
          if (yych <= 'l') goto yy20;
3251
12.9k
          goto yy196;
3252
44.8k
        }
3253
86.4k
      }
3254
365k
    } else {
3255
365k
      if (yych <= 'x') {
3256
207k
        if (yych <= 'u') {
3257
184k
          if (yych <= 'r') goto yy20;
3258
69.2k
          goto yy196;
3259
184k
        } else {
3260
22.5k
          if (yych == 'w') goto yy196;
3261
14.3k
          goto yy20;
3262
22.5k
        }
3263
207k
      } else {
3264
158k
        if (yych <= 0xC2) {
3265
77.5k
          if (yych <= 'y') goto yy196;
3266
69.7k
          if (yych <= 0xC1) goto yy20;
3267
9.23k
          goto yy97;
3268
80.5k
        } else {
3269
80.5k
          if (yych == 0xE2) goto yy98;
3270
70.0k
          goto yy20;
3271
80.5k
        }
3272
158k
      }
3273
365k
    }
3274
538k
  }
3275
320k
yy67:
3276
320k
  YYDEBUG(67, *YYCURSOR);
3277
320k
  yych = *++YYCURSOR;
3278
320k
  if (yych <= '/') goto yy69;
3279
204k
  if (yych <= '0') goto yy208;
3280
173k
  if (yych <= '1') goto yy209;
3281
146k
  if (yych <= '9') goto yy210;
3282
96.2k
  goto yy69;
3283
4.61M
yy68:
3284
4.61M
  YYDEBUG(68, *YYCURSOR);
3285
4.61M
  ++YYCURSOR;
3286
4.61M
  if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13);
3287
4.61M
  yych = *YYCURSOR;
3288
16.4M
yy69:
3289
16.4M
  YYDEBUG(69, *YYCURSOR);
3290
16.4M
  if (yych <= 'W') {
3291
12.8M
    if (yych <= 'G') {
3292
10.9M
      if (yych <= '.') {
3293
8.34M
        if (yych <= 0x1F) {
3294
2.33M
          if (yych == '\t') goto yy68;
3295
2.22M
          goto yy59;
3296
6.00M
        } else {
3297
6.00M
          if (yych <= ' ') goto yy68;
3298
1.50M
          if (yych <= ',') goto yy59;
3299
61.9k
          goto yy206;
3300
1.50M
        }
3301
8.34M
      } else {
3302
2.60M
        if (yych <= 'C') {
3303
2.10M
          if (yych == 'A') goto yy76;
3304
1.76M
          goto yy59;
3305
2.10M
        } else {
3306
498k
          if (yych <= 'D') goto yy77;
3307
339k
          if (yych == 'F') goto yy78;
3308
118k
          goto yy59;
3309
339k
        }
3310
2.60M
      }
3311
10.9M
    } else {
3312
1.92M
      if (yych <= 'N') {
3313
922k
        if (yych <= 'J') {
3314
533k
          if (yych <= 'H') goto yy79;
3315
283k
          if (yych <= 'I') goto yy80;
3316
141k
          goto yy82;
3317
389k
        } else {
3318
389k
          if (yych <= 'L') goto yy59;
3319
340k
          if (yych <= 'M') goto yy83;
3320
186k
          goto yy84;
3321
340k
        }
3322
1.00M
      } else {
3323
1.00M
        if (yych <= 'S') {
3324
348k
          if (yych <= 'O') goto yy85;
3325
268k
          if (yych <= 'R') goto yy59;
3326
190k
          goto yy86;
3327
654k
        } else {
3328
654k
          if (yych <= 'T') goto yy87;
3329
275k
          if (yych <= 'U') goto yy88;
3330
213k
          if (yych <= 'V') goto yy89;
3331
94.3k
          goto yy90;
3332
213k
        }
3333
1.00M
      }
3334
1.92M
    }
3335
12.8M
  } else {
3336
3.53M
    if (yych <= 'l') {
3337
1.57M
      if (yych <= 'd') {
3338
937k
        if (yych <= '`') {
3339
379k
          if (yych <= 'X') goto yy91;
3340
269k
          if (yych <= 'Y') goto yy92;
3341
179k
          goto yy59;
3342
557k
        } else {
3343
557k
          if (yych <= 'a') goto yy76;
3344
281k
          if (yych <= 'c') goto yy59;
3345
230k
          goto yy77;
3346
281k
        }
3347
937k
      } else {
3348
642k
        if (yych <= 'g') {
3349
327k
          if (yych == 'f') goto yy78;
3350
146k
          goto yy59;
3351
327k
        } else {
3352
314k
          if (yych <= 'h') goto yy79;
3353
167k
          if (yych == 'j') goto yy82;
3354
98.7k
          goto yy59;
3355
167k
        }
3356
642k
      }
3357
1.95M
    } else {
3358
1.95M
      if (yych <= 'u') {
3359
695k
        if (yych <= 'o') {
3360
370k
          if (yych <= 'm') goto yy83;
3361
198k
          if (yych <= 'n') goto yy84;
3362
178k
          goto yy85;
3363
325k
        } else {
3364
325k
          if (yych <= 'r') goto yy59;
3365
168k
          if (yych <= 's') goto yy86;
3366
149k
          if (yych <= 't') goto yy87;
3367
111k
          goto yy88;
3368
149k
        }
3369
1.25M
      } else {
3370
1.25M
        if (yych <= 'x') {
3371
142k
          if (yych == 'w') goto yy90;
3372
56.4k
          goto yy59;
3373
1.11M
        } else {
3374
1.11M
          if (yych <= 'y') goto yy92;
3375
977k
          if (yych == 0xC2) goto yy211;
3376
970k
          goto yy59;
3377
977k
        }
3378
1.25M
      }
3379
1.95M
    }
3380
3.53M
  }
3381
3.64M
yy70:
3382
3.64M
  YYDEBUG(70, *YYCURSOR);
3383
3.64M
  yych = *++YYCURSOR;
3384
3.64M
  if (yych <= '/') goto yy207;
3385
3.11M
  if (yych <= '0') goto yy212;
3386
2.53M
  if (yych <= '1') goto yy213;
3387
2.10M
  if (yych <= '9') goto yy214;
3388
1.19M
  goto yy207;
3389
1.19M
yy71:
3390
737k
  YYDEBUG(71, *YYCURSOR);
3391
737k
  yych = *++YYCURSOR;
3392
737k
  if (yych <= '1') {
3393
389k
    if (yych <= '/') goto yy207;
3394
272k
    if (yych <= '0') goto yy219;
3395
103k
    goto yy220;
3396
347k
  } else {
3397
347k
    if (yych <= '5') goto yy221;
3398
259k
    if (yych <= '9') goto yy222;
3399
184k
    goto yy207;
3400
259k
  }
3401
1.99M
yy72:
3402
1.99M
  YYDEBUG(72, *YYCURSOR);
3403
1.99M
  yych = *++YYCURSOR;
3404
1.99M
  switch (yych) {
3405
113k
  case '0':
3406
267k
  case '1':
3407
333k
  case '2': goto yy223;
3408
89.7k
  case '3': goto yy225;
3409
21.6k
  case '4':
3410
37.9k
  case '5':
3411
60.8k
  case '6':
3412
96.0k
  case '7':
3413
130k
  case '8':
3414
145k
  case '9': goto yy226;
3415
47.9k
  case 'A':
3416
82.3k
  case 'a': goto yy227;
3417
14.1k
  case 'D':
3418
40.6k
  case 'd': goto yy228;
3419
15.8k
  case 'F':
3420
31.3k
  case 'f': goto yy229;
3421
165k
  case 'J':
3422
435k
  case 'j': goto yy230;
3423
28.3k
  case 'M':
3424
79.1k
  case 'm': goto yy231;
3425
24.4k
  case 'N':
3426
57.6k
  case 'n': goto yy232;
3427
48.3k
  case 'O':
3428
85.6k
  case 'o': goto yy233;
3429
61.1k
  case 'S':
3430
94.5k
  case 's': goto yy234;
3431
523k
  default:  goto yy59;
3432
1.99M
  }
3433
8.21M
yy73:
3434
8.21M
  YYDEBUG(73, *YYCURSOR);
3435
8.21M
  yych = *++YYCURSOR;
3436
8.21M
  if (yych <= 'm') {
3437
7.46M
    if (yych <= '.') {
3438
1.95M
      if (yych <= '\t') {
3439
546k
        if (yych <= 0x08) goto yy69;
3440
37.4k
        goto yy67;
3441
1.40M
      } else {
3442
1.40M
        if (yych <= ',') goto yy69;
3443
293k
        if (yych <= '-') goto yy235;
3444
118k
        goto yy71;
3445
293k
      }
3446
5.50M
    } else {
3447
5.50M
      if (yych <= '5') {
3448
4.41M
        if (yych <= '/') goto yy72;
3449
4.33M
        goto yy236;
3450
4.41M
      } else {
3451
1.09M
        if (yych <= '9') goto yy237;
3452
840k
        if (yych <= ':') goto yy75;
3453
747k
        goto yy69;
3454
840k
      }
3455
5.50M
    }
3456
7.46M
  } else {
3457
747k
    if (yych <= 't') {
3458
289k
      if (yych <= 'q') {
3459
112k
        if (yych <= 'n') goto yy93;
3460
79.4k
        goto yy69;
3461
176k
      } else {
3462
176k
        if (yych <= 'r') goto yy94;
3463
156k
        if (yych <= 's') goto yy95;
3464
122k
        goto yy96;
3465
156k
      }
3466
457k
    } else {
3467
457k
      if (yych <= 0xC2) {
3468
221k
        if (yych <= 0xC1) goto yy69;
3469
17.1k
        goto yy97;
3470
236k
      } else {
3471
236k
        if (yych == 0xE2) goto yy98;
3472
217k
        goto yy69;
3473
236k
      }
3474
457k
    }
3475
747k
  }
3476
11.5M
yy74:
3477
11.5M
  YYDEBUG(74, *YYCURSOR);
3478
11.5M
  yych = *++YYCURSOR;
3479
11.5M
  if (yych <= 'm') {
3480
10.3M
    if (yych <= '.') {
3481
2.51M
      if (yych <= '\t') {
3482
601k
        if (yych <= 0x08) goto yy101;
3483
78.2k
        goto yy99;
3484
1.91M
      } else {
3485
1.91M
        if (yych <= ',') goto yy101;
3486
634k
        if (yych <= '-') goto yy235;
3487
196k
        goto yy102;
3488
634k
      }
3489
7.86M
    } else {
3490
7.86M
      if (yych <= '5') {
3491
3.51M
        if (yych <= '/') goto yy72;
3492
3.34M
        goto yy236;
3493
4.34M
      } else {
3494
4.34M
        if (yych <= '9') goto yy237;
3495
3.60M
        if (yych <= ':') goto yy104;
3496
1.31M
        goto yy101;
3497
3.60M
      }
3498
7.86M
    }
3499
10.3M
  } else {
3500
1.12M
    if (yych <= 't') {
3501
317k
      if (yych <= 'q') {
3502
143k
        if (yych <= 'n') goto yy93;
3503
103k
        goto yy101;
3504
173k
      } else {
3505
173k
        if (yych <= 'r') goto yy94;
3506
132k
        if (yych <= 's') goto yy95;
3507
83.1k
        goto yy96;
3508
132k
      }
3509
810k
    } else {
3510
810k
      if (yych <= 0xC2) {
3511
436k
        if (yych <= 0xC1) goto yy101;
3512
76.9k
        goto yy107;
3513
436k
      } else {
3514
373k
        if (yych == 0xE2) goto yy108;
3515
303k
        goto yy101;
3516
373k
      }
3517
810k
    }
3518
1.12M
  }
3519
2.33M
yy75:
3520
2.33M
  YYDEBUG(75, *YYCURSOR);
3521
2.33M
  yych = *++YYCURSOR;
3522
2.33M
  if (yych <= '/') goto yy59;
3523
1.10M
  if (yych <= '5') goto yy238;
3524
572k
  if (yych <= '9') goto yy239;
3525
500k
  goto yy59;
3526
860k
yy76:
3527
860k
  YYDEBUG(76, *YYCURSOR);
3528
860k
  yych = *++YYCURSOR;
3529
860k
  if (yych <= 'U') {
3530
402k
    if (yych == 'P') goto yy240;
3531
385k
    if (yych <= 'T') goto yy59;
3532
31.3k
    goto yy241;
3533
458k
  } else {
3534
458k
    if (yych <= 'p') {
3535
242k
      if (yych <= 'o') goto yy59;
3536
74.1k
      goto yy240;
3537
242k
    } else {
3538
215k
      if (yych == 'u') goto yy241;
3539
154k
      goto yy59;
3540
215k
    }
3541
458k
  }
3542
1.08M
yy77:
3543
1.08M
  YYDEBUG(77, *YYCURSOR);
3544
1.08M
  yych = *++YYCURSOR;
3545
1.08M
  if (yych <= 'E') {
3546
523k
    if (yych == 'A') goto yy242;
3547
506k
    if (yych <= 'D') goto yy59;
3548
22.7k
    goto yy243;
3549
558k
  } else {
3550
558k
    if (yych <= 'a') {
3551
220k
      if (yych <= '`') goto yy59;
3552
99.5k
      goto yy242;
3553
338k
    } else {
3554
338k
      if (yych == 'e') goto yy243;
3555
273k
      goto yy59;
3556
338k
    }
3557
558k
  }
3558
1.25M
yy78:
3559
1.25M
  YYDEBUG(78, *YYCURSOR);
3560
1.25M
  yych = *++YYCURSOR;
3561
1.25M
  if (yych <= 'R') {
3562
485k
    if (yych <= 'N') {
3563
375k
      if (yych == 'E') goto yy244;
3564
345k
      goto yy59;
3565
375k
    } else {
3566
109k
      if (yych <= 'O') goto yy245;
3567
44.4k
      if (yych <= 'Q') goto yy59;
3568
29.8k
      goto yy246;
3569
44.4k
    }
3570
764k
  } else {
3571
764k
    if (yych <= 'n') {
3572
431k
      if (yych == 'e') goto yy244;
3573
345k
      goto yy59;
3574
431k
    } else {
3575
333k
      if (yych <= 'o') goto yy245;
3576
249k
      if (yych == 'r') goto yy246;
3577
113k
      goto yy59;
3578
249k
    }
3579
764k
  }
3580
1.31M
yy79:
3581
1.31M
  YYDEBUG(79, *YYCURSOR);
3582
1.31M
  yych = *++YYCURSOR;
3583
1.31M
  if (yych == 'O') goto yy247;
3584
1.30M
  if (yych == 'o') goto yy247;
3585
1.27M
  goto yy59;
3586
1.27M
yy80:
3587
431k
  YYDEBUG(80, *YYCURSOR);
3588
431k
  yyaccept = 3;
3589
431k
  yych = *(YYMARKER = ++YYCURSOR);
3590
431k
  if (yych <= '/') {
3591
106k
    if (yych <= 0x1F) {
3592
47.2k
      if (yych == '\t') goto yy248;
3593
58.8k
    } else {
3594
58.8k
      if (yych <= ' ') goto yy248;
3595
44.6k
      if (yych <= ',') goto yy81;
3596
20.5k
      if (yych <= '.') goto yy248;
3597
20.5k
    }
3598
325k
  } else {
3599
325k
    if (yych <= 'U') {
3600
203k
      if (yych <= '9') goto yy250;
3601
128k
      if (yych == 'I') goto yy252;
3602
128k
    } else {
3603
121k
      if (yych == 'W') goto yy81;
3604
117k
      if (yych <= 'X') goto yy253;
3605
117k
    }
3606
325k
  }
3607
1.44M
yy81:
3608
1.44M
  YYDEBUG(81, *YYCURSOR);
3609
1.44M
#line 1646 "ext/date/lib/parse_date.re"
3610
1.44M
  {
3611
1.44M
    DEBUG_OUTPUT("datenoyearrev");
3612
1.44M
    TIMELIB_INIT;
3613
1.44M
    TIMELIB_HAVE_DATE();
3614
177k
    s->time->d = timelib_get_nr(&ptr, 2);
3615
177k
    timelib_skip_day_suffix(&ptr);
3616
177k
    s->time->m = timelib_get_month(&ptr);
3617
177k
    TIMELIB_DEINIT;
3618
177k
    return TIMELIB_DATE_TEXT;
3619
1.44M
  }
3620
0
#line 3621 "ext/date/lib/parse_date.c"
3621
861k
yy82:
3622
861k
  YYDEBUG(82, *YYCURSOR);
3623
861k
  yych = *++YYCURSOR;
3624
861k
  if (yych <= 'U') {
3625
386k
    if (yych == 'A') goto yy254;
3626
360k
    if (yych <= 'T') goto yy59;
3627
72.2k
    goto yy255;
3628
475k
  } else {
3629
475k
    if (yych <= 'a') {
3630
146k
      if (yych <= '`') goto yy59;
3631
107k
      goto yy254;
3632
328k
    } else {
3633
328k
      if (yych == 'u') goto yy255;
3634
150k
      goto yy59;
3635
328k
    }
3636
475k
  }
3637
1.05M
yy83:
3638
1.05M
  YYDEBUG(83, *YYCURSOR);
3639
1.05M
  yych = *++YYCURSOR;
3640
1.05M
  if (yych <= 'S') {
3641
513k
    if (yych <= 'I') {
3642
440k
      if (yych == 'A') goto yy256;
3643
406k
      if (yych <= 'H') goto yy59;
3644
36.8k
      goto yy257;
3645
406k
    } else {
3646
72.3k
      if (yych == 'O') goto yy258;
3647
56.9k
      if (yych <= 'R') goto yy59;
3648
9.25k
      goto yy259;
3649
56.9k
    }
3650
539k
  } else {
3651
539k
    if (yych <= 'i') {
3652
329k
      if (yych == 'a') goto yy256;
3653
263k
      if (yych <= 'h') goto yy59;
3654
153k
      goto yy257;
3655
263k
    } else {
3656
210k
      if (yych <= 'o') {
3657
72.4k
        if (yych <= 'n') goto yy59;
3658
45.6k
        goto yy258;
3659
138k
      } else {
3660
138k
        if (yych == 's') goto yy259;
3661
127k
        goto yy59;
3662
138k
      }
3663
210k
    }
3664
539k
  }
3665
646k
yy84:
3666
646k
  YYDEBUG(84, *YYCURSOR);
3667
646k
  yych = *++YYCURSOR;
3668
646k
  if (yych == 'O') goto yy261;
3669
627k
  if (yych == 'o') goto yy261;
3670
452k
  goto yy59;
3671
897k
yy85:
3672
897k
  YYDEBUG(85, *YYCURSOR);
3673
897k
  yych = *++YYCURSOR;
3674
897k
  if (yych == 'C') goto yy262;
3675
862k
  if (yych == 'c') goto yy262;
3676
775k
  goto yy59;
3677
775k
yy86:
3678
578k
  YYDEBUG(86, *YYCURSOR);
3679
578k
  yych = *++YYCURSOR;
3680
578k
  if (yych <= 'U') {
3681
200k
    if (yych <= 'D') {
3682
148k
      if (yych == 'A') goto yy263;
3683
138k
      goto yy59;
3684
148k
    } else {
3685
51.9k
      if (yych <= 'E') goto yy264;
3686
31.6k
      if (yych <= 'T') goto yy59;
3687
3.19k
      goto yy265;
3688
31.6k
    }
3689
378k
  } else {
3690
378k
    if (yych <= 'd') {
3691
68.0k
      if (yych == 'a') goto yy263;
3692
34.2k
      goto yy59;
3693
310k
    } else {
3694
310k
      if (yych <= 'e') goto yy264;
3695
141k
      if (yych == 'u') goto yy265;
3696
119k
      goto yy59;
3697
141k
    }
3698
378k
  }
3699
2.27M
yy87:
3700
2.27M
  YYDEBUG(87, *YYCURSOR);
3701
2.27M
  yych = *++YYCURSOR;
3702
2.27M
  if (yych <= 'U') {
3703
1.25M
    if (yych == 'H') goto yy266;
3704
1.20M
    if (yych <= 'T') goto yy59;
3705
33.9k
    goto yy267;
3706
1.20M
  } else {
3707
1.01M
    if (yych <= 'h') {
3708
420k
      if (yych <= 'g') goto yy59;
3709
182k
      goto yy266;
3710
599k
    } else {
3711
599k
      if (yych == 'u') goto yy267;
3712
567k
      goto yy59;
3713
599k
    }
3714
1.01M
  }
3715
941k
yy88:
3716
941k
  YYDEBUG(88, *YYCURSOR);
3717
941k
  yych = *++YYCURSOR;
3718
941k
  if (yych == 'S') goto yy268;
3719
917k
  if (yych == 's') goto yy268;
3720
883k
  goto yy59;
3721
883k
yy89:
3722
339k
  YYDEBUG(89, *YYCURSOR);
3723
339k
  yyaccept = 3;
3724
339k
  yych = *(YYMARKER = ++YYCURSOR);
3725
339k
  if (yych <= ',') {
3726
45.9k
    if (yych <= '\t') {
3727
13.7k
      if (yych <= 0x08) goto yy81;
3728
2.36k
      goto yy248;
3729
32.2k
    } else {
3730
32.2k
      if (yych == ' ') goto yy248;
3731
24.1k
      goto yy81;
3732
32.2k
    }
3733
293k
  } else {
3734
293k
    if (yych <= '9') {
3735
113k
      if (yych <= '.') goto yy248;
3736
98.1k
      if (yych <= '/') goto yy81;
3737
93.2k
      goto yy250;
3738
179k
    } else {
3739
179k
      if (yych == 'I') goto yy91;
3740
118k
      goto yy81;
3741
179k
    }
3742
293k
  }
3743
1.13M
yy90:
3744
1.13M
  YYDEBUG(90, *YYCURSOR);
3745
1.13M
  yych = *++YYCURSOR;
3746
1.13M
  if (yych == 'E') goto yy269;
3747
1.07M
  if (yych == 'e') goto yy269;
3748
912k
  goto yy59;
3749
912k
yy91:
3750
368k
  YYDEBUG(91, *YYCURSOR);
3751
368k
  yyaccept = 3;
3752
368k
  yych = *(YYMARKER = ++YYCURSOR);
3753
368k
  if (yych <= ',') {
3754
66.0k
    if (yych <= '\t') {
3755
29.2k
      if (yych <= 0x08) goto yy81;
3756
6.71k
      goto yy248;
3757
36.8k
    } else {
3758
36.8k
      if (yych == ' ') goto yy248;
3759
32.0k
      goto yy81;
3760
36.8k
    }
3761
302k
  } else {
3762
302k
    if (yych <= '9') {
3763
126k
      if (yych <= '.') goto yy248;
3764
80.1k
      if (yych <= '/') goto yy81;
3765
73.0k
      goto yy250;
3766
176k
    } else {
3767
176k
      if (yych == 'I') goto yy252;
3768
125k
      goto yy81;
3769
176k
    }
3770
302k
  }
3771
1.15M
yy92:
3772
1.15M
  YYDEBUG(92, *YYCURSOR);
3773
1.15M
  yych = *++YYCURSOR;
3774
1.15M
  if (yych == 'E') goto yy270;
3775
1.12M
  if (yych == 'e') goto yy270;
3776
845k
  goto yy59;
3777
845k
yy93:
3778
721k
  YYDEBUG(93, *YYCURSOR);
3779
721k
  yych = *++YYCURSOR;
3780
721k
  if (yych <= 'c') {
3781
345k
    if (yych == 'O') goto yy261;
3782
339k
    goto yy59;
3783
375k
  } else {
3784
375k
    if (yych <= 'd') goto yy271;
3785
344k
    if (yych == 'o') goto yy261;
3786
316k
    goto yy59;
3787
344k
  }
3788
772k
yy94:
3789
772k
  YYDEBUG(94, *YYCURSOR);
3790
772k
  yych = *++YYCURSOR;
3791
772k
  if (yych == 'd') goto yy271;
3792
730k
  goto yy59;
3793
823k
yy95:
3794
823k
  YYDEBUG(95, *YYCURSOR);
3795
823k
  yych = *++YYCURSOR;
3796
823k
  if (yych <= '`') {
3797
436k
    if (yych <= 'D') {
3798
344k
      if (yych == 'A') goto yy263;
3799
335k
      goto yy59;
3800
344k
    } else {
3801
91.6k
      if (yych <= 'E') goto yy264;
3802
69.5k
      if (yych == 'U') goto yy265;
3803
55.2k
      goto yy59;
3804
69.5k
    }
3805
436k
  } else {
3806
387k
    if (yych <= 'e') {
3807
101k
      if (yych <= 'a') goto yy263;
3808
78.7k
      if (yych <= 'd') goto yy59;
3809
59.0k
      goto yy264;
3810
286k
    } else {
3811
286k
      if (yych <= 's') goto yy59;
3812
203k
      if (yych <= 't') goto yy271;
3813
101k
      if (yych <= 'u') goto yy265;
3814
90.6k
      goto yy59;
3815
101k
    }
3816
387k
  }
3817
1.38M
yy96:
3818
1.38M
  YYDEBUG(96, *YYCURSOR);
3819
1.38M
  yych = *++YYCURSOR;
3820
1.38M
  if (yych <= 'U') {
3821
610k
    if (yych == 'H') goto yy266;
3822
590k
    if (yych <= 'T') goto yy59;
3823
35.1k
    goto yy267;
3824
769k
  } else {
3825
769k
    if (yych <= 'h') {
3826
306k
      if (yych <= 'g') goto yy59;
3827
122k
      goto yy272;
3828
463k
    } else {
3829
463k
      if (yych == 'u') goto yy267;
3830
444k
      goto yy59;
3831
463k
    }
3832
769k
  }
3833
827k
yy97:
3834
827k
  YYDEBUG(97, *YYCURSOR);
3835
827k
  ++YYCURSOR;
3836
827k
  if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
3837
827k
  yych = *YYCURSOR;
3838
827k
  if (yych == 0xA0) goto yy273;
3839
348k
  if (yych == 0xB5) goto yy274;
3840
340k
  goto yy59;
3841
769k
yy98:
3842
769k
  YYDEBUG(98, *YYCURSOR);
3843
769k
  ++YYCURSOR;
3844
769k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
3845
769k
  yych = *YYCURSOR;
3846
769k
  if (yych == 0x80) goto yy275;
3847
262k
  goto yy59;
3848
636k
yy99:
3849
636k
  YYDEBUG(99, *YYCURSOR);
3850
636k
  yych = *++YYCURSOR;
3851
636k
  if (yych <= '/') goto yy101;
3852
394k
  if (yych <= '0') goto yy208;
3853
340k
  if (yych <= '1') goto yy209;
3854
299k
  if (yych <= '9') goto yy210;
3855
221k
  goto yy101;
3856
3.90M
yy100:
3857
3.90M
  YYDEBUG(100, *YYCURSOR);
3858
3.90M
  ++YYCURSOR;
3859
3.90M
  if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13);
3860
3.90M
  yych = *YYCURSOR;
3861
18.3M
yy101:
3862
18.3M
  YYDEBUG(101, *YYCURSOR);
3863
18.3M
  if (yych <= 'W') {
3864
12.8M
    if (yych <= 'G') {
3865
9.48M
      if (yych <= '.') {
3866
6.88M
        if (yych <= 0x1F) {
3867
1.92M
          if (yych == '\t') goto yy100;
3868
1.59M
          goto yy59;
3869
4.96M
        } else {
3870
4.96M
          if (yych <= ' ') goto yy100;
3871
1.38M
          if (yych <= ',') goto yy59;
3872
82.4k
          goto yy206;
3873
1.38M
        }
3874
6.88M
      } else {
3875
2.60M
        if (yych <= 'C') {
3876
1.71M
          if (yych == 'A') goto yy105;
3877
1.18M
          goto yy59;
3878
1.71M
        } else {
3879
881k
          if (yych <= 'D') goto yy77;
3880
591k
          if (yych == 'F') goto yy78;
3881
98.3k
          goto yy59;
3882
591k
        }
3883
2.60M
      }
3884
9.48M
    } else {
3885
3.31M
      if (yych <= 'O') {
3886
1.57M
        if (yych <= 'J') {
3887
707k
          if (yych <= 'H') goto yy79;
3888
533k
          if (yych <= 'I') goto yy80;
3889
267k
          goto yy82;
3890
868k
        } else {
3891
868k
          if (yych <= 'L') goto yy59;
3892
821k
          if (yych <= 'M') goto yy83;
3893
493k
          if (yych <= 'N') goto yy84;
3894
197k
          goto yy85;
3895
493k
        }
3896
1.74M
      } else {
3897
1.74M
        if (yych <= 'S') {
3898
633k
          if (yych <= 'P') goto yy106;
3899
369k
          if (yych <= 'R') goto yy59;
3900
338k
          goto yy86;
3901
1.10M
        } else {
3902
1.10M
          if (yych <= 'T') goto yy87;
3903
533k
          if (yych <= 'U') goto yy88;
3904
397k
          if (yych <= 'V') goto yy89;
3905
206k
          goto yy90;
3906
397k
        }
3907
1.74M
      }
3908
3.31M
    }
3909
12.8M
  } else {
3910
5.51M
    if (yych <= 'm') {
3911
2.92M
      if (yych <= 'e') {
3912
1.62M
        if (yych <= '`') {
3913
533k
          if (yych <= 'X') goto yy91;
3914
353k
          if (yych <= 'Y') goto yy92;
3915
142k
          goto yy59;
3916
1.09M
        } else {
3917
1.09M
          if (yych <= 'a') goto yy105;
3918
532k
          if (yych == 'd') goto yy77;
3919
129k
          goto yy59;
3920
532k
        }
3921
1.62M
      } else {
3922
1.30M
        if (yych <= 'h') {
3923
655k
          if (yych <= 'f') goto yy78;
3924
301k
          if (yych <= 'g') goto yy59;
3925
274k
          goto yy79;
3926
644k
        } else {
3927
644k
          if (yych == 'j') goto yy82;
3928
481k
          if (yych <= 'l') goto yy59;
3929
397k
          goto yy83;
3930
481k
        }
3931
1.30M
      }
3932
2.92M
    } else {
3933
2.58M
      if (yych <= 'u') {
3934
1.24M
        if (yych <= 'p') {
3935
824k
          if (yych <= 'n') goto yy84;
3936
791k
          if (yych <= 'o') goto yy85;
3937
430k
          goto yy106;
3938
791k
        } else {
3939
422k
          if (yych <= 'r') goto yy59;
3940
368k
          if (yych <= 's') goto yy86;
3941
337k
          if (yych <= 't') goto yy87;
3942
302k
          goto yy88;
3943
337k
        }
3944
1.33M
      } else {
3945
1.33M
        if (yych <= 'x') {
3946
332k
          if (yych == 'w') goto yy90;
3947
44.2k
          goto yy59;
3948
1.00M
        } else {
3949
1.00M
          if (yych <= 'y') goto yy92;
3950
747k
          if (yych == 0xC2) goto yy211;
3951
732k
          goto yy59;
3952
747k
        }
3953
1.33M
      }
3954
2.58M
    }
3955
5.51M
  }
3956
1.59M
yy102:
3957
1.59M
  YYDEBUG(102, *YYCURSOR);
3958
1.59M
  yych = *++YYCURSOR;
3959
1.59M
  if (yych <= '1') {
3960
846k
    if (yych <= '/') goto yy207;
3961
609k
    if (yych <= '0') goto yy276;
3962
286k
    goto yy277;
3963
750k
  } else {
3964
750k
    if (yych <= '5') goto yy278;
3965
492k
    if (yych <= '9') goto yy279;
3966
387k
    goto yy207;
3967
492k
  }
3968
7.09M
yy103:
3969
7.09M
  YYDEBUG(103, *YYCURSOR);
3970
7.09M
  yych = *++YYCURSOR;
3971
7.09M
  if (yych <= 'm') {
3972
6.40M
    if (yych <= '.') {
3973
1.37M
      if (yych <= '\t') {
3974
338k
        if (yych <= 0x08) goto yy69;
3975
67.5k
        goto yy67;
3976
1.03M
      } else {
3977
1.03M
        if (yych <= ',') goto yy69;
3978
349k
        if (yych <= '-') goto yy235;
3979
80.6k
        goto yy71;
3980
349k
      }
3981
5.03M
    } else {
3982
5.03M
      if (yych <= '5') {
3983
2.53M
        if (yych <= '/') goto yy280;
3984
2.33M
        goto yy236;
3985
2.53M
      } else {
3986
2.49M
        if (yych <= '9') goto yy237;
3987
1.97M
        if (yych <= ':') goto yy75;
3988
964k
        goto yy69;
3989
1.97M
      }
3990
5.03M
    }
3991
6.40M
  } else {
3992
690k
    if (yych <= 't') {
3993
193k
      if (yych <= 'q') {
3994
77.6k
        if (yych <= 'n') goto yy93;
3995
45.2k
        goto yy69;
3996
115k
      } else {
3997
115k
        if (yych <= 'r') goto yy94;
3998
84.4k
        if (yych <= 's') goto yy95;
3999
47.9k
        goto yy96;
4000
84.4k
      }
4001
497k
    } else {
4002
497k
      if (yych <= 0xC2) {
4003
294k
        if (yych <= 0xC1) goto yy69;
4004
49.4k
        goto yy97;
4005
294k
      } else {
4006
202k
        if (yych == 0xE2) goto yy98;
4007
177k
        goto yy69;
4008
202k
      }
4009
497k
    }
4010
690k
  }
4011
9.49M
yy104:
4012
9.49M
  YYDEBUG(104, *YYCURSOR);
4013
9.49M
  yych = *++YYCURSOR;
4014
9.49M
  if (yych <= '/') goto yy59;
4015
3.66M
  if (yych <= '5') goto yy281;
4016
2.46M
  if (yych <= '9') goto yy282;
4017
2.31M
  goto yy59;
4018
2.31M
yy105:
4019
1.09M
  YYDEBUG(105, *YYCURSOR);
4020
1.09M
  yych = *++YYCURSOR;
4021
1.09M
  if (yych <= 'T') {
4022
502k
    if (yych <= 'L') {
4023
424k
      if (yych == '.') goto yy283;
4024
399k
      goto yy59;
4025
424k
    } else {
4026
78.2k
      if (yych <= 'M') goto yy284;
4027
46.0k
      if (yych == 'P') goto yy240;
4028
34.3k
      goto yy59;
4029
46.0k
    }
4030
594k
  } else {
4031
594k
    if (yych <= 'o') {
4032
313k
      if (yych <= 'U') goto yy241;
4033
275k
      if (yych == 'm') goto yy284;
4034
231k
      goto yy59;
4035
281k
    } else {
4036
281k
      if (yych <= 'p') goto yy240;
4037
235k
      if (yych == 'u') goto yy241;
4038
192k
      goto yy59;
4039
235k
    }
4040
594k
  }
4041
944k
yy106:
4042
944k
  YYDEBUG(106, *YYCURSOR);
4043
944k
  yych = *++YYCURSOR;
4044
944k
  if (yych <= 'L') {
4045
418k
    if (yych == '.') goto yy283;
4046
378k
    goto yy59;
4047
525k
  } else {
4048
525k
    if (yych <= 'M') goto yy284;
4049
490k
    if (yych == 'm') goto yy284;
4050
442k
    goto yy59;
4051
490k
  }
4052
545k
yy107:
4053
545k
  YYDEBUG(107, *YYCURSOR);
4054
545k
  ++YYCURSOR;
4055
545k
  if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
4056
545k
  yych = *YYCURSOR;
4057
545k
  if (yych == 0xA0) goto yy285;
4058
201k
  if (yych == 0xB5) goto yy274;
4059
195k
  goto yy59;
4060
423k
yy108:
4061
423k
  YYDEBUG(108, *YYCURSOR);
4062
423k
  ++YYCURSOR;
4063
423k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
4064
423k
  yych = *YYCURSOR;
4065
423k
  if (yych == 0x80) goto yy286;
4066
154k
  goto yy59;
4067
2.28M
yy109:
4068
2.28M
  YYDEBUG(109, *YYCURSOR);
4069
2.28M
  yych = *++YYCURSOR;
4070
2.28M
  if (yych <= 'n') {
4071
1.97M
    if (yych <= '-') {
4072
447k
      if (yych == '\t') goto yy67;
4073
423k
      if (yych <= ',') goto yy69;
4074
112k
      goto yy235;
4075
1.52M
    } else {
4076
1.52M
      if (yych <= '/') {
4077
107k
        if (yych <= '.') goto yy287;
4078
54.6k
        goto yy280;
4079
1.41M
      } else {
4080
1.41M
        if (yych <= '9') goto yy237;
4081
497k
        if (yych <= 'm') goto yy69;
4082
14.3k
        goto yy93;
4083
497k
      }
4084
1.52M
    }
4085
1.97M
  } else {
4086
308k
    if (yych <= 't') {
4087
77.8k
      if (yych <= 'q') goto yy69;
4088
55.3k
      if (yych <= 'r') goto yy94;
4089
37.3k
      if (yych <= 's') goto yy95;
4090
24.2k
      goto yy96;
4091
230k
    } else {
4092
230k
      if (yych <= 0xC2) {
4093
135k
        if (yych <= 0xC1) goto yy69;
4094
38.7k
        goto yy97;
4095
135k
      } else {
4096
95.0k
        if (yych == 0xE2) goto yy98;
4097
55.8k
        goto yy69;
4098
95.0k
      }
4099
230k
    }
4100
308k
  }
4101
18.2M
yy110:
4102
18.2M
  YYDEBUG(110, *YYCURSOR);
4103
18.2M
  yych = *++YYCURSOR;
4104
18.2M
  if (yych <= '9') {
4105
13.2M
    if (yych == '-') goto yy288;
4106
12.4M
    if (yych <= '/') goto yy196;
4107
9.19M
    goto yy237;
4108
12.4M
  } else {
4109
4.99M
    if (yych <= 0xC2) {
4110
4.37M
      if (yych <= 0xC1) goto yy196;
4111
71.5k
      goto yy97;
4112
4.37M
    } else {
4113
616k
      if (yych == 0xE2) goto yy98;
4114
564k
      goto yy196;
4115
616k
    }
4116
4.99M
  }
4117
93.3k
yy111:
4118
93.3k
  YYDEBUG(111, *YYCURSOR);
4119
93.3k
  yych = *++YYCURSOR;
4120
93.3k
  if (yybm[0+yych] & 8) {
4121
30.1k
    goto yy112;
4122
30.1k
  }
4123
63.2k
  goto yy59;
4124
2.22M
yy112:
4125
2.22M
  YYDEBUG(112, *YYCURSOR);
4126
2.22M
  ++YYCURSOR;
4127
2.22M
  if ((YYLIMIT - YYCURSOR) < 7) YYFILL(7);
4128
2.22M
  yych = *YYCURSOR;
4129
2.22M
  YYDEBUG(113, *YYCURSOR);
4130
2.22M
  if (yybm[0+yych] & 8) {
4131
965k
    goto yy112;
4132
965k
  }
4133
1.26M
  if (yych == '.') goto yy289;
4134
1.18M
  YYDEBUG(114, *YYCURSOR);
4135
1.18M
#line 1221 "ext/date/lib/parse_date.re"
4136
1.18M
  {
4137
1.18M
    timelib_ull i;
4138
4139
1.18M
    TIMELIB_INIT;
4140
1.18M
    TIMELIB_HAVE_RELATIVE();
4141
1.18M
    TIMELIB_UNHAVE_DATE();
4142
1.18M
    TIMELIB_UNHAVE_TIME();
4143
1.18M
    TIMELIB_HAVE_TZ();
4144
4145
1.16k
    i = timelib_get_signed_nr(s, &ptr, 24);
4146
1.16k
    s->time->y = 1970;
4147
1.16k
    s->time->m = 1;
4148
1.16k
    s->time->d = 1;
4149
1.16k
    s->time->h = s->time->i = s->time->s = 0;
4150
1.16k
    s->time->us = 0;
4151
1.16k
    s->time->relative.s += i;
4152
1.16k
    s->time->is_localtime = 1;
4153
1.16k
    s->time->zone_type = TIMELIB_ZONETYPE_OFFSET;
4154
1.16k
    s->time->z = 0;
4155
1.16k
    s->time->dst = 0;
4156
4157
1.16k
    TIMELIB_DEINIT;
4158
1.16k
    return TIMELIB_RELATIVE;
4159
1.18M
  }
4160
0
#line 4161 "ext/date/lib/parse_date.c"
4161
3.35M
yy115:
4162
3.35M
  YYDEBUG(115, *YYCURSOR);
4163
3.35M
  ++YYCURSOR;
4164
3.35M
  goto yy20;
4165
53.0M
yy116:
4166
53.0M
  YYDEBUG(116, *YYCURSOR);
4167
53.0M
  yych = *++YYCURSOR;
4168
53.0M
  if (yych <= '@') {
4169
16.3M
    if (yych == ')') goto yy115;
4170
16.0M
    goto yy20;
4171
36.6M
  } else {
4172
36.6M
    if (yych <= 'Z') goto yy291;
4173
26.1M
    if (yych <= '`') goto yy20;
4174
24.5M
    if (yych <= 'z') goto yy291;
4175
4.22M
    goto yy20;
4176
24.5M
  }
4177
133k
yy117:
4178
133k
  YYDEBUG(117, *YYCURSOR);
4179
133k
  yych = *++YYCURSOR;
4180
133k
  if (yych <= 'O') {
4181
71.8k
    if (yych <= ')') {
4182
23.0k
      if (yych <= '(') goto yy20;
4183
2.48k
      goto yy115;
4184
48.8k
    } else {
4185
48.8k
      if (yych <= '@') goto yy20;
4186
24.8k
      if (yych <= 'N') goto yy291;
4187
12.9k
      goto yy292;
4188
24.8k
    }
4189
71.8k
  } else {
4190
61.9k
    if (yych <= 'n') {
4191
35.5k
      if (yych <= 'Z') goto yy291;
4192
30.1k
      if (yych <= '`') goto yy20;
4193
24.2k
      goto yy291;
4194
30.1k
    } else {
4195
26.3k
      if (yych <= 'o') goto yy292;
4196
18.1k
      if (yych <= 'z') goto yy291;
4197
11.0k
      goto yy20;
4198
18.1k
    }
4199
61.9k
  }
4200
338k
yy118:
4201
338k
  YYDEBUG(118, *YYCURSOR);
4202
338k
  yych = *++YYCURSOR;
4203
338k
  if (yych <= 'R') {
4204
181k
    if (yych <= ')') {
4205
73.3k
      if (yych <= '(') goto yy20;
4206
3.88k
      goto yy115;
4207
108k
    } else {
4208
108k
      if (yych <= '@') goto yy20;
4209
72.4k
      if (yych <= 'Q') goto yy291;
4210
27.5k
      goto yy294;
4211
72.4k
    }
4212
181k
  } else {
4213
156k
    if (yych <= 'q') {
4214
62.6k
      if (yych <= 'Z') goto yy291;
4215
49.4k
      if (yych <= '`') goto yy20;
4216
39.3k
      goto yy291;
4217
94.2k
    } else {
4218
94.2k
      if (yych <= 'r') goto yy294;
4219
26.9k
      if (yych <= 'z') goto yy291;
4220
16.0k
      goto yy20;
4221
26.9k
    }
4222
156k
  }
4223
224k
yy119:
4224
224k
  YYDEBUG(119, *YYCURSOR);
4225
224k
  yych = *++YYCURSOR;
4226
224k
  if (yych <= 'G') {
4227
90.1k
    if (yych <= ')') {
4228
36.6k
      if (yych <= '(') goto yy20;
4229
14.0k
      goto yy115;
4230
53.4k
    } else {
4231
53.4k
      if (yych <= '@') goto yy20;
4232
39.0k
      if (yych <= 'F') goto yy291;
4233
28.5k
      goto yy296;
4234
39.0k
    }
4235
134k
  } else {
4236
134k
    if (yych <= 'f') {
4237
37.3k
      if (yych <= 'Z') goto yy291;
4238
18.6k
      if (yych <= '`') goto yy20;
4239
13.2k
      goto yy291;
4240
96.9k
    } else {
4241
96.9k
      if (yych <= 'g') goto yy296;
4242
42.4k
      if (yych <= 'z') goto yy291;
4243
12.5k
      goto yy20;
4244
42.4k
    }
4245
134k
  }
4246
10.8M
yy120:
4247
10.8M
  YYDEBUG(120, *YYCURSOR);
4248
10.8M
  yyaccept = 2;
4249
10.8M
  yych = *(YYMARKER = ++YYCURSOR);
4250
10.8M
  if (yych <= '/') {
4251
2.08M
    if (yych <= ',') {
4252
1.83M
      if (yych == ')') goto yy115;
4253
1.74M
      goto yy20;
4254
1.83M
    } else {
4255
245k
      if (yych == '.') goto yy20;
4256
159k
      goto yy297;
4257
245k
    }
4258
8.77M
  } else {
4259
8.77M
    if (yych <= '^') {
4260
2.63M
      if (yych <= '@') goto yy20;
4261
1.61M
      if (yych <= 'Z') goto yy291;
4262
122k
      goto yy20;
4263
6.14M
    } else {
4264
6.14M
      if (yych <= '_') goto yy297;
4265
6.07M
      if (yych <= '`') goto yy20;
4266
5.91M
      if (yych <= 'z') goto yy298;
4267
806k
      goto yy20;
4268
5.91M
    }
4269
8.77M
  }
4270
156k
yy121:
4271
156k
  YYDEBUG(121, *YYCURSOR);
4272
156k
  yyaccept = 2;
4273
156k
  yych = *(YYMARKER = ++YYCURSOR);
4274
156k
  if (yych <= 'N') {
4275
34.2k
    if (yych <= '-') {
4276
17.2k
      if (yych == ')') goto yy115;
4277
14.1k
      if (yych <= ',') goto yy20;
4278
2.93k
      goto yy297;
4279
17.0k
    } else {
4280
17.0k
      if (yych == '/') goto yy297;
4281
13.5k
      if (yych <= '@') goto yy20;
4282
2.82k
      goto yy291;
4283
13.5k
    }
4284
121k
  } else {
4285
121k
    if (yych <= '_') {
4286
21.4k
      if (yych <= 'O') goto yy292;
4287
15.9k
      if (yych <= 'Z') goto yy291;
4288
12.5k
      if (yych <= '^') goto yy20;
4289
7.22k
      goto yy297;
4290
100k
    } else {
4291
100k
      if (yych <= 'n') {
4292
16.5k
        if (yych <= '`') goto yy20;
4293
12.4k
        goto yy298;
4294
83.9k
      } else {
4295
83.9k
        if (yych <= 'o') goto yy299;
4296
11.9k
        if (yych <= 'z') goto yy298;
4297
8.21k
        goto yy20;
4298
11.9k
      }
4299
100k
    }
4300
121k
  }
4301
354k
yy122:
4302
354k
  YYDEBUG(122, *YYCURSOR);
4303
354k
  yyaccept = 2;
4304
354k
  yych = *(YYMARKER = ++YYCURSOR);
4305
354k
  if (yych <= 'Q') {
4306
73.4k
    if (yych <= '-') {
4307
31.4k
      if (yych == ')') goto yy115;
4308
28.5k
      if (yych <= ',') goto yy20;
4309
4.87k
      goto yy297;
4310
42.0k
    } else {
4311
42.0k
      if (yych == '/') goto yy297;
4312
36.8k
      if (yych <= '@') goto yy20;
4313
9.09k
      goto yy291;
4314
36.8k
    }
4315
281k
  } else {
4316
281k
    if (yych <= '_') {
4317
31.3k
      if (yych <= 'R') goto yy294;
4318
10.6k
      if (yych <= 'Z') goto yy291;
4319
6.36k
      if (yych <= '^') goto yy20;
4320
2.32k
      goto yy297;
4321
249k
    } else {
4322
249k
      if (yych <= 'q') {
4323
28.7k
        if (yych <= '`') goto yy20;
4324
24.6k
        goto yy298;
4325
221k
      } else {
4326
221k
        if (yych <= 'r') goto yy300;
4327
19.6k
        if (yych <= 'z') goto yy298;
4328
12.8k
        goto yy20;
4329
19.6k
      }
4330
249k
    }
4331
281k
  }
4332
531k
yy123:
4333
531k
  YYDEBUG(123, *YYCURSOR);
4334
531k
  yyaccept = 2;
4335
531k
  yych = *(YYMARKER = ++YYCURSOR);
4336
531k
  if (yych <= 'F') {
4337
64.2k
    if (yych <= '-') {
4338
21.9k
      if (yych == ')') goto yy115;
4339
19.6k
      if (yych <= ',') goto yy20;
4340
4.33k
      goto yy297;
4341
42.3k
    } else {
4342
42.3k
      if (yych == '/') goto yy297;
4343
38.0k
      if (yych <= '@') goto yy20;
4344
5.12k
      goto yy291;
4345
38.0k
    }
4346
467k
  } else {
4347
467k
    if (yych <= '_') {
4348
90.9k
      if (yych <= 'G') goto yy296;
4349
19.2k
      if (yych <= 'Z') goto yy291;
4350
10.7k
      if (yych <= '^') goto yy20;
4351
5.93k
      goto yy297;
4352
376k
    } else {
4353
376k
      if (yych <= 'f') {
4354
18.0k
        if (yych <= '`') goto yy20;
4355
14.7k
        goto yy298;
4356
358k
      } else {
4357
358k
        if (yych <= 'g') goto yy301;
4358
102k
        if (yych <= 'z') goto yy298;
4359
23.1k
        goto yy20;
4360
102k
      }
4361
376k
    }
4362
467k
  }
4363
351k
yy124:
4364
351k
  YYDEBUG(124, *YYCURSOR);
4365
351k
  yych = *++YYCURSOR;
4366
351k
  if (yych <= 'C') {
4367
186k
    if (yych <= ')') {
4368
56.4k
      if (yych <= '(') goto yy20;
4369
4.77k
      goto yy115;
4370
129k
    } else {
4371
129k
      if (yych <= '@') goto yy20;
4372
106k
      if (yych <= 'B') goto yy291;
4373
91.7k
      goto yy302;
4374
106k
    }
4375
186k
  } else {
4376
165k
    if (yych <= 'b') {
4377
58.6k
      if (yych <= 'Z') goto yy291;
4378
20.8k
      if (yych <= '`') goto yy20;
4379
13.9k
      goto yy291;
4380
106k
    } else {
4381
106k
      if (yych <= 'c') goto yy302;
4382
61.4k
      if (yych <= 'z') goto yy291;
4383
9.08k
      goto yy20;
4384
61.4k
    }
4385
165k
  }
4386
350k
yy125:
4387
350k
  YYDEBUG(125, *YYCURSOR);
4388
350k
  yyaccept = 2;
4389
350k
  yych = *(YYMARKER = ++YYCURSOR);
4390
350k
  if (yych <= 'B') {
4391
54.7k
    if (yych <= '-') {
4392
32.8k
      if (yych == ')') goto yy115;
4393
27.0k
      if (yych <= ',') goto yy20;
4394
4.15k
      goto yy297;
4395
27.0k
    } else {
4396
21.8k
      if (yych == '/') goto yy297;
4397
19.6k
      if (yych <= '@') goto yy20;
4398
3.53k
      goto yy291;
4399
19.6k
    }
4400
296k
  } else {
4401
296k
    if (yych <= '_') {
4402
74.0k
      if (yych <= 'C') goto yy302;
4403
18.6k
      if (yych <= 'Z') goto yy291;
4404
5.92k
      if (yych <= '^') goto yy20;
4405
2.13k
      goto yy297;
4406
222k
    } else {
4407
222k
      if (yych <= 'b') {
4408
16.0k
        if (yych <= '`') goto yy20;
4409
9.12k
        goto yy298;
4410
206k
      } else {
4411
206k
        if (yych <= 'c') goto yy303;
4412
63.4k
        if (yych <= 'z') goto yy298;
4413
8.14k
        goto yy20;
4414
63.4k
      }
4415
222k
    }
4416
296k
  }
4417
550k
yy126:
4418
550k
  YYDEBUG(126, *YYCURSOR);
4419
550k
  yych = *++YYCURSOR;
4420
550k
  if (yych <= 'C') {
4421
201k
    if (yych <= ')') {
4422
82.7k
      if (yych <= '(') goto yy20;
4423
4.33k
      goto yy115;
4424
118k
    } else {
4425
118k
      if (yych <= '@') goto yy20;
4426
68.8k
      if (yych <= 'B') goto yy291;
4427
51.5k
      goto yy304;
4428
68.8k
    }
4429
349k
  } else {
4430
349k
    if (yych <= 'b') {
4431
111k
      if (yych <= 'Z') goto yy291;
4432
50.1k
      if (yych <= '`') goto yy20;
4433
23.4k
      goto yy291;
4434
238k
    } else {
4435
238k
      if (yych <= 'c') goto yy304;
4436
153k
      if (yych <= 'z') goto yy291;
4437
30.5k
      goto yy20;
4438
153k
    }
4439
349k
  }
4440
279k
yy127:
4441
279k
  YYDEBUG(127, *YYCURSOR);
4442
279k
  yyaccept = 2;
4443
279k
  yych = *(YYMARKER = ++YYCURSOR);
4444
279k
  if (yych <= 'B') {
4445
73.1k
    if (yych <= '-') {
4446
42.5k
      if (yych == ')') goto yy115;
4447
31.6k
      if (yych <= ',') goto yy20;
4448
3.01k
      goto yy297;
4449
31.6k
    } else {
4450
30.5k
      if (yych == '/') goto yy297;
4451
23.1k
      if (yych <= '@') goto yy20;
4452
4.20k
      goto yy291;
4453
23.1k
    }
4454
205k
  } else {
4455
205k
    if (yych <= '_') {
4456
27.1k
      if (yych <= 'C') goto yy304;
4457
18.3k
      if (yych <= 'Z') goto yy291;
4458
3.60k
      if (yych <= '^') goto yy20;
4459
1.53k
      goto yy297;
4460
178k
    } else {
4461
178k
      if (yych <= 'b') {
4462
24.5k
        if (yych <= '`') goto yy20;
4463
16.9k
        goto yy298;
4464
154k
      } else {
4465
154k
        if (yych <= 'c') goto yy305;
4466
50.6k
        if (yych <= 'z') goto yy298;
4467
10.0k
        goto yy20;
4468
50.6k
      }
4469
178k
    }
4470
205k
  }
4471
450k
yy128:
4472
450k
  YYDEBUG(128, *YYCURSOR);
4473
450k
  yych = *++YYCURSOR;
4474
450k
  if (yych <= 'G') {
4475
108k
    if (yych <= ')') {
4476
39.8k
      if (yych <= '(') goto yy20;
4477
4.11k
      goto yy115;
4478
68.3k
    } else {
4479
68.3k
      if (yych <= '@') goto yy20;
4480
33.6k
      if (yych <= 'F') goto yy291;
4481
26.3k
      goto yy306;
4482
33.6k
    }
4483
342k
  } else {
4484
342k
    if (yych <= 'f') {
4485
32.7k
      if (yych <= 'Z') goto yy291;
4486
19.9k
      if (yych <= '`') goto yy20;
4487
11.5k
      goto yy291;
4488
310k
    } else {
4489
310k
      if (yych <= 'g') goto yy306;
4490
129k
      if (yych <= 'z') goto yy291;
4491
19.9k
      goto yy20;
4492
129k
    }
4493
342k
  }
4494
272k
yy129:
4495
272k
  YYDEBUG(129, *YYCURSOR);
4496
272k
  yych = *++YYCURSOR;
4497
272k
  if (yych <= 'E') {
4498
121k
    if (yych <= ')') {
4499
43.7k
      if (yych <= '(') goto yy20;
4500
3.85k
      goto yy115;
4501
77.9k
    } else {
4502
77.9k
      if (yych <= '@') goto yy20;
4503
35.6k
      if (yych <= 'D') goto yy291;
4504
20.3k
      goto yy307;
4505
35.6k
    }
4506
151k
  } else {
4507
151k
    if (yych <= 'd') {
4508
30.2k
      if (yych <= 'Z') goto yy291;
4509
16.7k
      if (yych <= '`') goto yy20;
4510
10.3k
      goto yy291;
4511
120k
    } else {
4512
120k
      if (yych <= 'e') goto yy307;
4513
50.3k
      if (yych <= 'z') goto yy291;
4514
11.3k
      goto yy20;
4515
50.3k
    }
4516
151k
  }
4517
486k
yy130:
4518
486k
  YYDEBUG(130, *YYCURSOR);
4519
486k
  yyaccept = 2;
4520
486k
  yych = *(YYMARKER = ++YYCURSOR);
4521
486k
  if (yych <= 'F') {
4522
59.6k
    if (yych <= '-') {
4523
39.3k
      if (yych == ')') goto yy115;
4524
36.1k
      if (yych <= ',') goto yy20;
4525
6.05k
      goto yy297;
4526
36.1k
    } else {
4527
20.3k
      if (yych == '/') goto yy297;
4528
16.9k
      if (yych <= '@') goto yy20;
4529
5.01k
      goto yy291;
4530
16.9k
    }
4531
427k
  } else {
4532
427k
    if (yych <= '_') {
4533
55.0k
      if (yych <= 'G') goto yy306;
4534
15.7k
      if (yych <= 'Z') goto yy291;
4535
8.35k
      if (yych <= '^') goto yy20;
4536
3.63k
      goto yy297;
4537
372k
    } else {
4538
372k
      if (yych <= 'f') {
4539
18.2k
        if (yych <= '`') goto yy20;
4540
13.1k
        goto yy298;
4541
353k
      } else {
4542
353k
        if (yych <= 'g') goto yy308;
4543
35.0k
        if (yych <= 'z') goto yy298;
4544
21.2k
        goto yy20;
4545
35.0k
      }
4546
372k
    }
4547
427k
  }
4548
358k
yy131:
4549
358k
  YYDEBUG(131, *YYCURSOR);
4550
358k
  yyaccept = 2;
4551
358k
  yych = *(YYMARKER = ++YYCURSOR);
4552
358k
  if (yych <= 'D') {
4553
39.4k
    if (yych <= '-') {
4554
22.1k
      if (yych == ')') goto yy115;
4555
19.8k
      if (yych <= ',') goto yy20;
4556
2.50k
      goto yy297;
4557
19.8k
    } else {
4558
17.2k
      if (yych == '/') goto yy297;
4559
16.5k
      if (yych <= '@') goto yy20;
4560
2.54k
      goto yy291;
4561
16.5k
    }
4562
318k
  } else {
4563
318k
    if (yych <= '_') {
4564
45.4k
      if (yych <= 'E') goto yy307;
4565
24.2k
      if (yych <= 'Z') goto yy291;
4566
12.2k
      if (yych <= '^') goto yy20;
4567
4.29k
      goto yy297;
4568
273k
    } else {
4569
273k
      if (yych <= 'd') {
4570
13.3k
        if (yych <= '`') goto yy20;
4571
11.3k
        goto yy298;
4572
260k
      } else {
4573
260k
        if (yych <= 'e') goto yy309;
4574
20.6k
        if (yych <= 'z') goto yy298;
4575
6.00k
        goto yy20;
4576
20.6k
      }
4577
273k
    }
4578
318k
  }
4579
265k
yy132:
4580
265k
  YYDEBUG(132, *YYCURSOR);
4581
265k
  yych = *++YYCURSOR;
4582
265k
  if (yych <= 'B') {
4583
85.9k
    if (yych <= ')') {
4584
41.7k
      if (yych <= '(') goto yy20;
4585
4.40k
      goto yy115;
4586
44.2k
    } else {
4587
44.2k
      if (yych <= '@') goto yy20;
4588
21.4k
      if (yych <= 'A') goto yy291;
4589
17.5k
      goto yy310;
4590
21.4k
    }
4591
179k
  } else {
4592
179k
    if (yych <= 'a') {
4593
40.6k
      if (yych <= 'Z') goto yy291;
4594
20.5k
      if (yych <= '`') goto yy20;
4595
1.72k
      goto yy291;
4596
139k
    } else {
4597
139k
      if (yych <= 'b') goto yy310;
4598
60.1k
      if (yych <= 'z') goto yy291;
4599
12.5k
      goto yy20;
4600
60.1k
    }
4601
179k
  }
4602
432k
yy133:
4603
432k
  YYDEBUG(133, *YYCURSOR);
4604
432k
  yych = *++YYCURSOR;
4605
432k
  if (yych <= 'R') {
4606
181k
    if (yych <= '@') {
4607
51.3k
      if (yych == ')') goto yy115;
4608
49.3k
      goto yy20;
4609
130k
    } else {
4610
130k
      if (yych == 'F') goto yy311;
4611
121k
      if (yych <= 'Q') goto yy291;
4612
107k
      goto yy312;
4613
121k
    }
4614
250k
  } else {
4615
250k
    if (yych <= 'f') {
4616
61.9k
      if (yych <= 'Z') goto yy291;
4617
50.4k
      if (yych <= '`') goto yy20;
4618
44.0k
      if (yych <= 'e') goto yy291;
4619
21.9k
      goto yy311;
4620
188k
    } else {
4621
188k
      if (yych == 'r') goto yy312;
4622
123k
      if (yych <= 'z') goto yy291;
4623
16.7k
      goto yy20;
4624
123k
    }
4625
250k
  }
4626
635k
yy134:
4627
635k
  YYDEBUG(134, *YYCURSOR);
4628
635k
  yych = *++YYCURSOR;
4629
635k
  if (yych <= 'U') {
4630
212k
    if (yych <= ')') {
4631
54.6k
      if (yych <= '(') goto yy20;
4632
5.60k
      goto yy115;
4633
158k
    } else {
4634
158k
      if (yych <= '@') goto yy20;
4635
119k
      if (yych <= 'T') goto yy291;
4636
36.7k
      goto yy313;
4637
119k
    }
4638
422k
  } else {
4639
422k
    if (yych <= 't') {
4640
298k
      if (yych <= 'Z') goto yy291;
4641
290k
      if (yych <= '`') goto yy20;
4642
282k
      goto yy291;
4643
290k
    } else {
4644
123k
      if (yych <= 'u') goto yy313;
4645
55.1k
      if (yych <= 'z') goto yy291;
4646
42.3k
      goto yy20;
4647
55.1k
    }
4648
422k
  }
4649
251k
yy135:
4650
251k
  YYDEBUG(135, *YYCURSOR);
4651
251k
  yych = *++YYCURSOR;
4652
251k
  if (yych <= 'O') {
4653
90.2k
    if (yych <= '@') {
4654
33.9k
      if (yych == ')') goto yy115;
4655
31.6k
      goto yy20;
4656
56.3k
    } else {
4657
56.3k
      if (yych == 'I') goto yy314;
4658
33.9k
      if (yych <= 'N') goto yy291;
4659
24.5k
      goto yy316;
4660
33.9k
    }
4661
161k
  } else {
4662
161k
    if (yych <= 'i') {
4663
61.2k
      if (yych <= 'Z') goto yy291;
4664
47.2k
      if (yych <= '`') goto yy20;
4665
35.6k
      if (yych <= 'h') goto yy291;
4666
23.4k
      goto yy314;
4667
99.8k
    } else {
4668
99.8k
      if (yych == 'o') goto yy316;
4669
25.8k
      if (yych <= 'z') goto yy291;
4670
12.1k
      goto yy20;
4671
25.8k
    }
4672
161k
  }
4673
429k
yy136:
4674
429k
  YYDEBUG(136, *YYCURSOR);
4675
429k
  yyaccept = 2;
4676
429k
  yych = *(YYMARKER = ++YYCURSOR);
4677
429k
  if (yych <= 'A') {
4678
75.9k
    if (yych <= '-') {
4679
51.3k
      if (yych == ')') goto yy115;
4680
42.7k
      if (yych <= ',') goto yy20;
4681
5.25k
      goto yy297;
4682
42.7k
    } else {
4683
24.6k
      if (yych == '/') goto yy297;
4684
22.1k
      if (yych <= '@') goto yy20;
4685
3.15k
      goto yy291;
4686
22.1k
    }
4687
353k
  } else {
4688
353k
    if (yych <= '_') {
4689
40.1k
      if (yych <= 'B') goto yy310;
4690
15.7k
      if (yych <= 'Z') goto yy291;
4691
8.24k
      if (yych <= '^') goto yy20;
4692
2.37k
      goto yy297;
4693
312k
    } else {
4694
312k
      if (yych <= 'a') {
4695
9.98k
        if (yych <= '`') goto yy20;
4696
2.76k
        goto yy298;
4697
302k
      } else {
4698
302k
        if (yych <= 'b') goto yy317;
4699
40.4k
        if (yych <= 'z') goto yy298;
4700
19.8k
        goto yy20;
4701
40.4k
      }
4702
312k
    }
4703
353k
  }
4704
357k
yy137:
4705
357k
  YYDEBUG(137, *YYCURSOR);
4706
357k
  yyaccept = 2;
4707
357k
  yych = *(YYMARKER = ++YYCURSOR);
4708
357k
  if (yych <= 'Q') {
4709
74.6k
    if (yych <= '.') {
4710
38.6k
      if (yych <= ')') {
4711
25.6k
        if (yych <= '(') goto yy20;
4712
6.62k
        goto yy115;
4713
25.6k
      } else {
4714
13.0k
        if (yych == '-') goto yy297;
4715
5.99k
        goto yy20;
4716
13.0k
      }
4717
38.6k
    } else {
4718
35.9k
      if (yych <= '@') {
4719
25.2k
        if (yych <= '/') goto yy297;
4720
22.7k
        goto yy20;
4721
25.2k
      } else {
4722
10.7k
        if (yych == 'F') goto yy311;
4723
7.01k
        goto yy291;
4724
10.7k
      }
4725
35.9k
    }
4726
283k
  } else {
4727
283k
    if (yych <= '`') {
4728
30.2k
      if (yych <= 'Z') {
4729
22.6k
        if (yych <= 'R') goto yy312;
4730
4.01k
        goto yy291;
4731
22.6k
      } else {
4732
7.60k
        if (yych == '_') goto yy297;
4733
6.07k
        goto yy20;
4734
7.60k
      }
4735
252k
    } else {
4736
252k
      if (yych <= 'q') {
4737
60.6k
        if (yych == 'f') goto yy318;
4738
49.2k
        goto yy298;
4739
192k
      } else {
4740
192k
        if (yych <= 'r') goto yy319;
4741
17.7k
        if (yych <= 'z') goto yy298;
4742
7.09k
        goto yy20;
4743
17.7k
      }
4744
252k
    }
4745
283k
  }
4746
390k
yy138:
4747
390k
  YYDEBUG(138, *YYCURSOR);
4748
390k
  yyaccept = 2;
4749
390k
  yych = *(YYMARKER = ++YYCURSOR);
4750
390k
  if (yych <= 'T') {
4751
60.3k
    if (yych <= '-') {
4752
19.4k
      if (yych == ')') goto yy115;
4753
17.7k
      if (yych <= ',') goto yy20;
4754
5.16k
      goto yy297;
4755
40.8k
    } else {
4756
40.8k
      if (yych == '/') goto yy297;
4757
37.4k
      if (yych <= '@') goto yy20;
4758
12.7k
      goto yy291;
4759
37.4k
    }
4760
330k
  } else {
4761
330k
    if (yych <= '_') {
4762
27.9k
      if (yych <= 'U') goto yy313;
4763
11.7k
      if (yych <= 'Z') goto yy291;
4764
7.88k
      if (yych <= '^') goto yy20;
4765
2.06k
      goto yy297;
4766
302k
    } else {
4767
302k
      if (yych <= 't') {
4768
67.6k
        if (yych <= '`') goto yy20;
4769
62.3k
        goto yy298;
4770
234k
      } else {
4771
234k
        if (yych <= 'u') goto yy320;
4772
19.4k
        if (yych <= 'z') goto yy298;
4773
13.4k
        goto yy20;
4774
19.4k
      }
4775
302k
    }
4776
330k
  }
4777
537k
yy139:
4778
537k
  YYDEBUG(139, *YYCURSOR);
4779
537k
  yyaccept = 2;
4780
537k
  yych = *(YYMARKER = ++YYCURSOR);
4781
537k
  if (yych <= 'N') {
4782
76.7k
    if (yych <= '.') {
4783
34.3k
      if (yych <= ')') {
4784
22.9k
        if (yych <= '(') goto yy20;
4785
4.37k
        goto yy115;
4786
22.9k
      } else {
4787
11.4k
        if (yych == '-') goto yy297;
4788
5.61k
        goto yy20;
4789
11.4k
      }
4790
42.3k
    } else {
4791
42.3k
      if (yych <= '@') {
4792
25.4k
        if (yych <= '/') goto yy297;
4793
21.0k
        goto yy20;
4794
25.4k
      } else {
4795
16.9k
        if (yych == 'I') goto yy314;
4796
6.57k
        goto yy291;
4797
16.9k
      }
4798
42.3k
    }
4799
460k
  } else {
4800
460k
    if (yych <= '`') {
4801
72.9k
      if (yych <= 'Z') {
4802
67.0k
        if (yych <= 'O') goto yy316;
4803
11.8k
        goto yy291;
4804
67.0k
      } else {
4805
5.86k
        if (yych == '_') goto yy297;
4806
3.30k
        goto yy20;
4807
5.86k
      }
4808
387k
    } else {
4809
387k
      if (yych <= 'n') {
4810
103k
        if (yych == 'i') goto yy321;
4811
22.7k
        goto yy298;
4812
284k
      } else {
4813
284k
        if (yych <= 'o') goto yy322;
4814
33.3k
        if (yych <= 'z') goto yy298;
4815
16.6k
        goto yy20;
4816
33.3k
      }
4817
387k
    }
4818
460k
  }
4819
347k
yy140:
4820
347k
  YYDEBUG(140, *YYCURSOR);
4821
347k
  yych = *++YYCURSOR;
4822
347k
  if (yych <= 'S') {
4823
62.4k
    if (yych == ')') goto yy115;
4824
60.5k
    if (yych <= '@') goto yy20;
4825
12.7k
    goto yy291;
4826
284k
  } else {
4827
284k
    if (yych <= 'Z') {
4828
231k
      if (yych <= 'T') goto yy323;
4829
4.42k
      goto yy291;
4830
231k
    } else {
4831
53.2k
      if (yych <= '`') goto yy20;
4832
46.5k
      if (yych <= 'z') goto yy291;
4833
18.2k
      goto yy20;
4834
46.5k
    }
4835
284k
  }
4836
1.31M
yy141:
4837
1.31M
  YYDEBUG(141, *YYCURSOR);
4838
1.31M
  ++YYCURSOR;
4839
1.31M
  if ((YYLIMIT - YYCURSOR) < 26) YYFILL(26);
4840
1.31M
  yych = *YYCURSOR;
4841
4.94M
yy142:
4842
4.94M
  YYDEBUG(142, *YYCURSOR);
4843
4.94M
  if (yybm[0+yych] & 16) {
4844
1.31M
    goto yy141;
4845
1.31M
  }
4846
3.63M
  if (yych <= '/') goto yy59;
4847
3.41M
  if (yych <= '2') goto yy143;
4848
1.47M
  if (yych <= '3') goto yy144;
4849
1.26M
  if (yych <= '9') goto yy145;
4850
524k
  goto yy59;
4851
1.94M
yy143:
4852
1.94M
  YYDEBUG(143, *YYCURSOR);
4853
1.94M
  yych = *++YYCURSOR;
4854
1.94M
  if (yych <= '9') {
4855
1.37M
    if (yych <= ' ') {
4856
408k
      if (yych <= 0x08) {
4857
192k
        if (yych <= 0x00) goto yy324;
4858
20.4k
        goto yy59;
4859
215k
      } else {
4860
215k
        if (yych <= '\t') goto yy326;
4861
78.2k
        if (yych <= 0x1F) goto yy59;
4862
60.4k
        goto yy326;
4863
78.2k
      }
4864
969k
    } else {
4865
969k
      if (yych <= '-') {
4866
88.8k
        if (yych == ',') goto yy326;
4867
73.2k
        goto yy59;
4868
880k
      } else {
4869
880k
        if (yych <= '.') goto yy326;
4870
565k
        if (yych <= '/') goto yy59;
4871
546k
        goto yy328;
4872
565k
      }
4873
969k
    }
4874
1.37M
  } else {
4875
565k
    if (yych <= 'm') {
4876
192k
      if (yych <= 'd') {
4877
149k
        if (yych <= 'c') goto yy59;
4878
13.9k
        goto yy326;
4879
149k
      } else {
4880
43.3k
        if (yych == 'h') goto yy326;
4881
37.5k
        goto yy59;
4882
43.3k
      }
4883
372k
    } else {
4884
372k
      if (yych <= 'r') {
4885
42.1k
        if (yych <= 'n') goto yy329;
4886
21.5k
        if (yych <= 'q') goto yy59;
4887
10.6k
        goto yy329;
4888
330k
      } else {
4889
330k
        if (yych <= 's') goto yy330;
4890
298k
        if (yych <= 't') goto yy331;
4891
93.2k
        goto yy59;
4892
298k
      }
4893
372k
    }
4894
565k
  }
4895
210k
yy144:
4896
210k
  YYDEBUG(144, *YYCURSOR);
4897
210k
  yych = *++YYCURSOR;
4898
210k
  if (yych <= '1') {
4899
98.3k
    if (yych <= ' ') {
4900
47.4k
      if (yych <= 0x08) {
4901
19.0k
        if (yych <= 0x00) goto yy324;
4902
7.02k
        goto yy59;
4903
28.3k
      } else {
4904
28.3k
        if (yych <= '\t') goto yy326;
4905
15.4k
        if (yych <= 0x1F) goto yy59;
4906
9.40k
        goto yy326;
4907
15.4k
      }
4908
50.9k
    } else {
4909
50.9k
      if (yych <= '-') {
4910
12.3k
        if (yych == ',') goto yy326;
4911
9.30k
        goto yy59;
4912
38.6k
      } else {
4913
38.6k
        if (yych <= '.') goto yy326;
4914
16.7k
        if (yych <= '/') goto yy59;
4915
14.2k
        goto yy328;
4916
16.7k
      }
4917
50.9k
    }
4918
111k
  } else {
4919
111k
    if (yych <= 'm') {
4920
49.4k
      if (yych <= 'd') {
4921
41.7k
        if (yych <= '9') goto yy332;
4922
21.2k
        if (yych <= 'c') goto yy59;
4923
6.38k
        goto yy326;
4924
21.2k
      } else {
4925
7.72k
        if (yych == 'h') goto yy326;
4926
5.41k
        goto yy59;
4927
7.72k
      }
4928
62.2k
    } else {
4929
62.2k
      if (yych <= 'r') {
4930
15.6k
        if (yych <= 'n') goto yy329;
4931
6.54k
        if (yych <= 'q') goto yy59;
4932
3.30k
        goto yy329;
4933
46.6k
      } else {
4934
46.6k
        if (yych <= 's') goto yy330;
4935
41.9k
        if (yych <= 't') goto yy331;
4936
15.2k
        goto yy59;
4937
41.9k
      }
4938
62.2k
    }
4939
111k
  }
4940
736k
yy145:
4941
736k
  YYDEBUG(145, *YYCURSOR);
4942
736k
  yych = *++YYCURSOR;
4943
736k
  if (yych <= '9') {
4944
537k
    if (yych <= ' ') {
4945
119k
      if (yych <= 0x08) {
4946
49.7k
        if (yych <= 0x00) goto yy324;
4947
10.1k
        goto yy59;
4948
69.5k
      } else {
4949
69.5k
        if (yych <= '\t') goto yy326;
4950
37.0k
        if (yych <= 0x1F) goto yy59;
4951
15.2k
        goto yy326;
4952
37.0k
      }
4953
418k
    } else {
4954
418k
      if (yych <= '-') {
4955
59.3k
        if (yych == ',') goto yy326;
4956
31.9k
        goto yy59;
4957
358k
      } else {
4958
358k
        if (yych <= '.') goto yy326;
4959
142k
        if (yych <= '/') goto yy59;
4960
132k
        goto yy332;
4961
142k
      }
4962
418k
    }
4963
537k
  } else {
4964
199k
    if (yych <= 'm') {
4965
108k
      if (yych <= 'd') {
4966
71.2k
        if (yych <= 'c') goto yy59;
4967
5.97k
        goto yy326;
4968
71.2k
      } else {
4969
37.2k
        if (yych == 'h') goto yy326;
4970
26.1k
        goto yy59;
4971
37.2k
      }
4972
108k
    } else {
4973
90.7k
      if (yych <= 'r') {
4974
13.2k
        if (yych <= 'n') goto yy329;
4975
9.92k
        if (yych <= 'q') goto yy59;
4976
5.96k
        goto yy329;
4977
77.5k
      } else {
4978
77.5k
        if (yych <= 's') goto yy330;
4979
67.6k
        if (yych <= 't') goto yy331;
4980
47.1k
        goto yy59;
4981
67.6k
      }
4982
90.7k
    }
4983
199k
  }
4984
661k
yy146:
4985
661k
  YYDEBUG(146, *YYCURSOR);
4986
661k
  yyaccept = 2;
4987
661k
  yych = *(YYMARKER = ++YYCURSOR);
4988
661k
  if (yych <= '.') {
4989
172k
    if (yych <= ' ') {
4990
121k
      if (yych == '\t') goto yy142;
4991
109k
      if (yych <= 0x1F) goto yy20;
4992
9.06k
      goto yy142;
4993
109k
    } else {
4994
51.4k
      if (yych == ')') goto yy115;
4995
36.9k
      if (yych <= ',') goto yy20;
4996
4.21k
      goto yy142;
4997
36.9k
    }
4998
488k
  } else {
4999
488k
    if (yych <= 'H') {
5000
86.9k
      if (yych <= '/') goto yy20;
5001
78.0k
      if (yych <= '9') goto yy142;
5002
37.6k
      if (yych <= '@') goto yy20;
5003
27.3k
      goto yy291;
5004
401k
    } else {
5005
401k
      if (yych <= 'Z') {
5006
264k
        if (yych <= 'I') goto yy333;
5007
27.0k
        goto yy291;
5008
264k
      } else {
5009
137k
        if (yych <= '`') goto yy20;
5010
123k
        if (yych <= 'z') goto yy291;
5011
92.8k
        goto yy20;
5012
123k
      }
5013
401k
    }
5014
488k
  }
5015
111k
yy147:
5016
111k
  YYDEBUG(147, *YYCURSOR);
5017
111k
  yyaccept = 2;
5018
111k
  yych = *(YYMARKER = ++YYCURSOR);
5019
111k
  if (yych <= ',') {
5020
22.7k
    if (yych <= 0x1F) {
5021
9.80k
      if (yych == '\t') goto yy142;
5022
5.53k
      goto yy20;
5023
12.9k
    } else {
5024
12.9k
      if (yych <= ' ') goto yy142;
5025
9.64k
      if (yych == ')') goto yy115;
5026
3.69k
      goto yy20;
5027
9.64k
    }
5028
88.6k
  } else {
5029
88.6k
    if (yych <= '@') {
5030
57.2k
      if (yych == '/') goto yy20;
5031
51.8k
      if (yych <= '9') goto yy142;
5032
8.35k
      goto yy20;
5033
51.8k
    } else {
5034
31.4k
      if (yych <= 'Z') goto yy291;
5035
17.0k
      if (yych <= '`') goto yy20;
5036
14.4k
      if (yych <= 'z') goto yy291;
5037
5.30k
      goto yy20;
5038
14.4k
    }
5039
88.6k
  }
5040
235k
yy148:
5041
235k
  YYDEBUG(148, *YYCURSOR);
5042
235k
  yych = *++YYCURSOR;
5043
235k
  if (yych <= 'N') {
5044
106k
    if (yych <= ')') {
5045
26.9k
      if (yych <= '(') goto yy20;
5046
1.44k
      goto yy115;
5047
79.6k
    } else {
5048
79.6k
      if (yych <= '@') goto yy20;
5049
46.7k
      if (yych <= 'M') goto yy291;
5050
34.8k
      goto yy334;
5051
46.7k
    }
5052
129k
  } else {
5053
129k
    if (yych <= 'm') {
5054
25.6k
      if (yych <= 'Z') goto yy291;
5055
18.9k
      if (yych <= '`') goto yy20;
5056
15.2k
      goto yy291;
5057
103k
    } else {
5058
103k
      if (yych <= 'n') goto yy334;
5059
35.1k
      if (yych <= 'z') goto yy291;
5060
19.1k
      goto yy20;
5061
35.1k
    }
5062
129k
  }
5063
417k
yy149:
5064
417k
  YYDEBUG(149, *YYCURSOR);
5065
417k
  yych = *++YYCURSOR;
5066
417k
  if (yych <= 'N') {
5067
142k
    if (yych <= '@') {
5068
56.5k
      if (yych == ')') goto yy115;
5069
49.4k
      goto yy20;
5070
85.9k
    } else {
5071
85.9k
      if (yych == 'L') goto yy335;
5072
49.1k
      if (yych <= 'M') goto yy291;
5073
36.3k
      goto yy336;
5074
49.1k
    }
5075
275k
  } else {
5076
275k
    if (yych <= 'l') {
5077
117k
      if (yych <= 'Z') goto yy291;
5078
112k
      if (yych <= '`') goto yy20;
5079
105k
      if (yych <= 'k') goto yy291;
5080
81.8k
      goto yy335;
5081
157k
    } else {
5082
157k
      if (yych == 'n') goto yy336;
5083
47.6k
      if (yych <= 'z') goto yy291;
5084
32.0k
      goto yy20;
5085
47.6k
    }
5086
275k
  }
5087
413k
yy150:
5088
413k
  YYDEBUG(150, *YYCURSOR);
5089
413k
  yyaccept = 2;
5090
413k
  yych = *(YYMARKER = ++YYCURSOR);
5091
413k
  if (yych <= 'M') {
5092
59.3k
    if (yych <= '-') {
5093
26.8k
      if (yych == ')') goto yy115;
5094
24.4k
      if (yych <= ',') goto yy20;
5095
3.36k
      goto yy297;
5096
32.4k
    } else {
5097
32.4k
      if (yych == '/') goto yy297;
5098
29.0k
      if (yych <= '@') goto yy20;
5099
10.1k
      goto yy291;
5100
29.0k
    }
5101
354k
  } else {
5102
354k
    if (yych <= '_') {
5103
37.8k
      if (yych <= 'N') goto yy334;
5104
12.9k
      if (yych <= 'Z') goto yy291;
5105
8.51k
      if (yych <= '^') goto yy20;
5106
1.57k
      goto yy297;
5107
316k
    } else {
5108
316k
      if (yych <= 'm') {
5109
18.0k
        if (yych <= '`') goto yy20;
5110
14.9k
        goto yy298;
5111
298k
      } else {
5112
298k
        if (yych <= 'n') goto yy337;
5113
54.4k
        if (yych <= 'z') goto yy298;
5114
42.5k
        goto yy20;
5115
54.4k
      }
5116
316k
    }
5117
354k
  }
5118
558k
yy151:
5119
558k
  YYDEBUG(151, *YYCURSOR);
5120
558k
  yyaccept = 2;
5121
558k
  yych = *(YYMARKER = ++YYCURSOR);
5122
558k
  if (yych <= 'M') {
5123
129k
    if (yych <= '.') {
5124
51.7k
      if (yych <= ')') {
5125
33.7k
        if (yych <= '(') goto yy20;
5126
15.4k
        goto yy115;
5127
33.7k
      } else {
5128
17.9k
        if (yych == '-') goto yy297;
5129
10.0k
        goto yy20;
5130
17.9k
      }
5131
77.5k
    } else {
5132
77.5k
      if (yych <= '@') {
5133
38.2k
        if (yych <= '/') goto yy297;
5134
33.7k
        goto yy20;
5135
39.2k
      } else {
5136
39.2k
        if (yych == 'L') goto yy335;
5137
9.34k
        goto yy291;
5138
39.2k
      }
5139
77.5k
    }
5140
429k
  } else {
5141
429k
    if (yych <= '`') {
5142
116k
      if (yych <= 'Z') {
5143
100k
        if (yych <= 'N') goto yy336;
5144
11.4k
        goto yy291;
5145
100k
      } else {
5146
16.1k
        if (yych == '_') goto yy297;
5147
8.31k
        goto yy20;
5148
16.1k
      }
5149
312k
    } else {
5150
312k
      if (yych <= 'm') {
5151
165k
        if (yych == 'l') goto yy338;
5152
18.3k
        goto yy298;
5153
165k
      } else {
5154
147k
        if (yych <= 'n') goto yy339;
5155
39.6k
        if (yych <= 'z') goto yy298;
5156
25.2k
        goto yy20;
5157
39.6k
      }
5158
312k
    }
5159
429k
  }
5160
535k
yy152:
5161
535k
  YYDEBUG(152, *YYCURSOR);
5162
535k
  yych = *++YYCURSOR;
5163
535k
  if (yych <= 'S') {
5164
90.1k
    if (yych <= ')') {
5165
39.5k
      if (yych <= '(') goto yy20;
5166
7.47k
      goto yy115;
5167
50.5k
    } else {
5168
50.5k
      if (yych <= '@') goto yy20;
5169
22.4k
      if (yych <= 'R') goto yy291;
5170
6.09k
      goto yy340;
5171
22.4k
    }
5172
444k
  } else {
5173
444k
    if (yych <= 'r') {
5174
51.4k
      if (yych <= 'Z') goto yy291;
5175
41.5k
      if (yych <= '`') goto yy20;
5176
32.3k
      goto yy291;
5177
393k
    } else {
5178
393k
      if (yych <= 's') goto yy340;
5179
33.0k
      if (yych <= 'z') goto yy291;
5180
19.3k
      goto yy20;
5181
33.0k
    }
5182
444k
  }
5183
267k
yy153:
5184
267k
  YYDEBUG(153, *YYCURSOR);
5185
267k
  yyaccept = 2;
5186
267k
  yych = *(YYMARKER = ++YYCURSOR);
5187
267k
  if (yych <= 'R') {
5188
46.4k
    if (yych <= '-') {
5189
17.3k
      if (yych == ')') goto yy115;
5190
15.4k
      if (yych <= ',') goto yy20;
5191
2.71k
      goto yy297;
5192
29.0k
    } else {
5193
29.0k
      if (yych == '/') goto yy297;
5194
26.7k
      if (yych <= '@') goto yy20;
5195
8.85k
      goto yy291;
5196
26.7k
    }
5197
220k
  } else {
5198
220k
    if (yych <= '_') {
5199
29.4k
      if (yych <= 'S') goto yy340;
5200
15.6k
      if (yych <= 'Z') goto yy291;
5201
10.2k
      if (yych <= '^') goto yy20;
5202
6.41k
      goto yy297;
5203
191k
    } else {
5204
191k
      if (yych <= 'r') {
5205
23.5k
        if (yych <= '`') goto yy20;
5206
20.0k
        goto yy298;
5207
167k
      } else {
5208
167k
        if (yych <= 's') goto yy341;
5209
20.3k
        if (yych <= 'z') goto yy298;
5210
7.92k
        goto yy20;
5211
20.3k
      }
5212
191k
    }
5213
220k
  }
5214
460k
yy154:
5215
460k
  YYDEBUG(154, *YYCURSOR);
5216
460k
  yych = *++YYCURSOR;
5217
460k
  if (yych <= 'Y') {
5218
209k
    if (yych <= '@') {
5219
79.8k
      if (yych == ')') goto yy115;
5220
77.0k
      goto yy20;
5221
129k
    } else {
5222
129k
      if (yych == 'R') goto yy342;
5223
90.1k
      if (yych <= 'X') goto yy291;
5224
49.1k
      goto yy343;
5225
90.1k
    }
5226
250k
  } else {
5227
250k
    if (yych <= 'r') {
5228
144k
      if (yych <= 'Z') goto yy291;
5229
140k
      if (yych <= '`') goto yy20;
5230
124k
      if (yych <= 'q') goto yy291;
5231
67.5k
      goto yy342;
5232
124k
    } else {
5233
106k
      if (yych == 'y') goto yy343;
5234
59.5k
      if (yych <= 'z') goto yy291;
5235
33.0k
      goto yy20;
5236
59.5k
    }
5237
250k
  }
5238
331k
yy155:
5239
331k
  YYDEBUG(155, *YYCURSOR);
5240
331k
  yych = *++YYCURSOR;
5241
331k
  if (yych <= 'D') {
5242
125k
    if (yych <= ')') {
5243
31.4k
      if (yych <= '(') goto yy20;
5244
9.31k
      goto yy115;
5245
94.3k
    } else {
5246
94.3k
      if (yych <= '@') goto yy20;
5247
38.0k
      if (yych <= 'C') goto yy291;
5248
21.6k
      goto yy344;
5249
38.0k
    }
5250
205k
  } else {
5251
205k
    if (yych <= 'c') {
5252
84.4k
      if (yych <= 'Z') goto yy291;
5253
44.3k
      if (yych <= '`') goto yy20;
5254
37.3k
      goto yy291;
5255
120k
    } else {
5256
120k
      if (yych <= 'd') goto yy344;
5257
83.5k
      if (yych <= 'z') goto yy291;
5258
28.2k
      goto yy20;
5259
83.5k
    }
5260
205k
  }
5261
354k
yy156:
5262
354k
  YYDEBUG(156, *YYCURSOR);
5263
354k
  yych = *++YYCURSOR;
5264
354k
  if (yych <= 'N') {
5265
167k
    if (yych <= ')') {
5266
46.8k
      if (yych <= '(') goto yy20;
5267
8.95k
      goto yy115;
5268
120k
    } else {
5269
120k
      if (yych <= '@') goto yy20;
5270
66.1k
      if (yych <= 'M') goto yy291;
5271
44.8k
      goto yy314;
5272
66.1k
    }
5273
187k
  } else {
5274
187k
    if (yych <= 'm') {
5275
67.3k
      if (yych <= 'Z') goto yy291;
5276
47.8k
      if (yych <= '`') goto yy20;
5277
40.5k
      goto yy291;
5278
120k
    } else {
5279
120k
      if (yych <= 'n') goto yy314;
5280
95.3k
      if (yych <= 'z') goto yy291;
5281
30.7k
      goto yy20;
5282
95.3k
    }
5283
187k
  }
5284
424k
yy157:
5285
424k
  YYDEBUG(157, *YYCURSOR);
5286
424k
  yyaccept = 2;
5287
424k
  yych = *(YYMARKER = ++YYCURSOR);
5288
424k
  if (yych <= 'X') {
5289
94.3k
    if (yych <= '.') {
5290
39.5k
      if (yych <= ')') {
5291
30.3k
        if (yych <= '(') goto yy20;
5292
3.35k
        goto yy115;
5293
30.3k
      } else {
5294
9.12k
        if (yych == '-') goto yy297;
5295
4.15k
        goto yy20;
5296
9.12k
      }
5297
54.7k
    } else {
5298
54.7k
      if (yych <= '@') {
5299
29.7k
        if (yych <= '/') goto yy297;
5300
26.9k
        goto yy20;
5301
29.7k
      } else {
5302
25.0k
        if (yych == 'R') goto yy342;
5303
12.5k
        goto yy291;
5304
25.0k
      }
5305
54.7k
    }
5306
330k
  } else {
5307
330k
    if (yych <= '`') {
5308
17.9k
      if (yych <= 'Z') {
5309
8.89k
        if (yych <= 'Y') goto yy343;
5310
1.39k
        goto yy291;
5311
9.03k
      } else {
5312
9.03k
        if (yych == '_') goto yy297;
5313
6.38k
        goto yy20;
5314
9.03k
      }
5315
312k
    } else {
5316
312k
      if (yych <= 'x') {
5317
227k
        if (yych == 'r') goto yy345;
5318
32.5k
        goto yy298;
5319
227k
      } else {
5320
84.5k
        if (yych <= 'y') goto yy346;
5321
30.9k
        if (yych <= 'z') goto yy298;
5322
21.4k
        goto yy20;
5323
30.9k
      }
5324
312k
    }
5325
330k
  }
5326
415k
yy158:
5327
415k
  YYDEBUG(158, *YYCURSOR);
5328
415k
  yyaccept = 2;
5329
415k
  yych = *(YYMARKER = ++YYCURSOR);
5330
415k
  if (yych <= 'C') {
5331
51.1k
    if (yych <= '-') {
5332
23.2k
      if (yych == ')') goto yy115;
5333
19.2k
      if (yych <= ',') goto yy20;
5334
3.07k
      goto yy297;
5335
27.8k
    } else {
5336
27.8k
      if (yych == '/') goto yy297;
5337
22.5k
      if (yych <= '@') goto yy20;
5338
2.21k
      goto yy291;
5339
22.5k
    }
5340
363k
  } else {
5341
363k
    if (yych <= '_') {
5342
56.4k
      if (yych <= 'D') goto yy344;
5343
19.7k
      if (yych <= 'Z') goto yy291;
5344
8.40k
      if (yych <= '^') goto yy20;
5345
4.07k
      goto yy297;
5346
307k
    } else {
5347
307k
      if (yych <= 'c') {
5348
11.6k
        if (yych <= '`') goto yy20;
5349
8.24k
        goto yy298;
5350
295k
      } else {
5351
295k
        if (yych <= 'd') goto yy347;
5352
31.6k
        if (yych <= 'z') goto yy298;
5353
15.1k
        goto yy20;
5354
31.6k
      }
5355
307k
    }
5356
363k
  }
5357
345k
yy159:
5358
345k
  YYDEBUG(159, *YYCURSOR);
5359
345k
  yyaccept = 2;
5360
345k
  yych = *(YYMARKER = ++YYCURSOR);
5361
345k
  if (yych <= 'M') {
5362
76.5k
    if (yych <= '-') {
5363
25.7k
      if (yych == ')') goto yy115;
5364
23.1k
      if (yych <= ',') goto yy20;
5365
3.50k
      goto yy297;
5366
50.7k
    } else {
5367
50.7k
      if (yych == '/') goto yy297;
5368
39.4k
      if (yych <= '@') goto yy20;
5369
9.63k
      goto yy291;
5370
39.4k
    }
5371
268k
  } else {
5372
268k
    if (yych <= '_') {
5373
62.5k
      if (yych <= 'N') goto yy314;
5374
16.6k
      if (yych <= 'Z') goto yy291;
5375
5.47k
      if (yych <= '^') goto yy20;
5376
1.94k
      goto yy297;
5377
206k
    } else {
5378
206k
      if (yych <= 'm') {
5379
20.5k
        if (yych <= '`') goto yy20;
5380
16.5k
        goto yy298;
5381
185k
      } else {
5382
185k
        if (yych <= 'n') goto yy321;
5383
35.5k
        if (yych <= 'z') goto yy298;
5384
21.3k
        goto yy20;
5385
35.5k
      }
5386
206k
    }
5387
268k
  }
5388
583k
yy160:
5389
583k
  YYDEBUG(160, *YYCURSOR);
5390
583k
  yych = *++YYCURSOR;
5391
583k
  if (yych <= 'X') {
5392
143k
    if (yych <= ')') {
5393
56.6k
      if (yych <= '(') goto yy20;
5394
17.9k
      goto yy115;
5395
86.9k
    } else {
5396
86.9k
      if (yych <= '@') goto yy20;
5397
41.8k
      if (yych <= 'W') goto yy291;
5398
8.88k
      goto yy348;
5399
41.8k
    }
5400
439k
  } else {
5401
439k
    if (yych <= 'w') {
5402
164k
      if (yych <= 'Z') goto yy291;
5403
160k
      if (yych <= '`') goto yy20;
5404
151k
      goto yy291;
5405
275k
    } else {
5406
275k
      if (yych <= 'x') goto yy348;
5407
35.8k
      if (yych <= 'z') goto yy291;
5408
30.3k
      goto yy20;
5409
35.8k
    }
5410
439k
  }
5411
1.47M
yy161:
5412
1.47M
  YYDEBUG(161, *YYCURSOR);
5413
1.47M
  yych = *++YYCURSOR;
5414
1.47M
  if (yych <= 'N') {
5415
237k
    if (yych <= ')') {
5416
88.0k
      if (yych <= '(') goto yy20;
5417
7.90k
      goto yy115;
5418
149k
    } else {
5419
149k
      if (yych <= '@') goto yy20;
5420
67.2k
      if (yych <= 'M') goto yy291;
5421
8.17k
      goto yy311;
5422
67.2k
    }
5423
1.23M
  } else {
5424
1.23M
    if (yych <= 'm') {
5425
290k
      if (yych <= 'Z') goto yy291;
5426
240k
      if (yych <= '`') goto yy20;
5427
105k
      goto yy291;
5428
947k
    } else {
5429
947k
      if (yych <= 'n') goto yy311;
5430
750k
      if (yych <= 'z') goto yy291;
5431
86.1k
      goto yy20;
5432
750k
    }
5433
1.23M
  }
5434
292k
yy162:
5435
292k
  YYDEBUG(162, *YYCURSOR);
5436
292k
  yych = *++YYCURSOR;
5437
292k
  if (yych <= 'W') {
5438
129k
    if (yych <= 'N') {
5439
79.7k
      if (yych == ')') goto yy115;
5440
73.2k
      if (yych <= '@') goto yy20;
5441
14.4k
      goto yy291;
5442
73.2k
    } else {
5443
50.0k
      if (yych <= 'O') goto yy349;
5444
33.4k
      if (yych <= 'U') goto yy291;
5445
28.8k
      if (yych <= 'V') goto yy304;
5446
4.57k
      goto yy350;
5447
28.8k
    }
5448
163k
  } else {
5449
163k
    if (yych <= 'o') {
5450
88.6k
      if (yych <= 'Z') goto yy291;
5451
86.6k
      if (yych <= '`') goto yy20;
5452
77.4k
      if (yych <= 'n') goto yy291;
5453
51.3k
      goto yy349;
5454
77.4k
    } else {
5455
74.4k
      if (yych <= 'v') {
5456
32.1k
        if (yych <= 'u') goto yy291;
5457
19.8k
        goto yy304;
5458
42.2k
      } else {
5459
42.2k
        if (yych <= 'w') goto yy350;
5460
20.7k
        if (yych <= 'z') goto yy291;
5461
18.6k
        goto yy20;
5462
20.7k
      }
5463
74.4k
    }
5464
163k
  }
5465
248k
yy163:
5466
248k
  YYDEBUG(163, *YYCURSOR);
5467
248k
  yyaccept = 2;
5468
248k
  yych = *(YYMARKER = ++YYCURSOR);
5469
248k
  if (yych <= 'W') {
5470
45.1k
    if (yych <= '-') {
5471
22.3k
      if (yych == ')') goto yy115;
5472
18.2k
      if (yych <= ',') goto yy20;
5473
3.74k
      goto yy297;
5474
22.8k
    } else {
5475
22.8k
      if (yych == '/') goto yy297;
5476
16.0k
      if (yych <= '@') goto yy20;
5477
6.98k
      goto yy291;
5478
16.0k
    }
5479
203k
  } else {
5480
203k
    if (yych <= '_') {
5481
11.4k
      if (yych <= 'X') goto yy348;
5482
6.86k
      if (yych <= 'Z') goto yy291;
5483
4.56k
      if (yych <= '^') goto yy20;
5484
2.02k
      goto yy297;
5485
192k
    } else {
5486
192k
      if (yych <= 'w') {
5487
33.5k
        if (yych <= '`') goto yy20;
5488
26.4k
        goto yy298;
5489
158k
      } else {
5490
158k
        if (yych <= 'x') goto yy352;
5491
17.6k
        if (yych <= 'z') goto yy298;
5492
16.3k
        goto yy20;
5493
17.6k
      }
5494
192k
    }
5495
203k
  }
5496
381k
yy164:
5497
381k
  YYDEBUG(164, *YYCURSOR);
5498
381k
  yyaccept = 2;
5499
381k
  yych = *(YYMARKER = ++YYCURSOR);
5500
381k
  if (yych <= 'M') {
5501
110k
    if (yych <= '-') {
5502
40.1k
      if (yych == ')') goto yy115;
5503
34.9k
      if (yych <= ',') goto yy20;
5504
8.86k
      goto yy297;
5505
70.3k
    } else {
5506
70.3k
      if (yych == '/') goto yy297;
5507
65.7k
      if (yych <= '@') goto yy20;
5508
34.5k
      goto yy291;
5509
65.7k
    }
5510
271k
  } else {
5511
271k
    if (yych <= '_') {
5512
35.7k
      if (yych <= 'N') goto yy311;
5513
25.4k
      if (yych <= 'Z') goto yy291;
5514
12.9k
      if (yych <= '^') goto yy20;
5515
4.43k
      goto yy297;
5516
235k
    } else {
5517
235k
      if (yych <= 'm') {
5518
23.6k
        if (yych <= '`') goto yy20;
5519
20.3k
        goto yy298;
5520
211k
      } else {
5521
211k
        if (yych <= 'n') goto yy318;
5522
100k
        if (yych <= 'z') goto yy298;
5523
23.9k
        goto yy20;
5524
100k
      }
5525
235k
    }
5526
271k
  }
5527
584k
yy165:
5528
584k
  YYDEBUG(165, *YYCURSOR);
5529
584k
  yyaccept = 2;
5530
584k
  yych = *(YYMARKER = ++YYCURSOR);
5531
584k
  if (yych <= 'V') {
5532
156k
    if (yych <= '.') {
5533
42.9k
      if (yych <= ')') {
5534
25.9k
        if (yych <= '(') goto yy20;
5535
4.04k
        goto yy115;
5536
25.9k
      } else {
5537
16.9k
        if (yych == '-') goto yy297;
5538
7.33k
        goto yy20;
5539
16.9k
      }
5540
113k
    } else {
5541
113k
      if (yych <= 'N') {
5542
62.2k
        if (yych <= '/') goto yy297;
5543
51.6k
        if (yych <= '@') goto yy20;
5544
21.5k
        goto yy291;
5545
51.6k
      } else {
5546
51.1k
        if (yych <= 'O') goto yy349;
5547
45.1k
        if (yych <= 'U') goto yy291;
5548
29.7k
        goto yy304;
5549
45.1k
      }
5550
113k
    }
5551
428k
  } else {
5552
428k
    if (yych <= 'n') {
5553
45.2k
      if (yych <= '^') {
5554
21.0k
        if (yych <= 'W') goto yy350;
5555
9.32k
        if (yych <= 'Z') goto yy291;
5556
5.55k
        goto yy20;
5557
24.2k
      } else {
5558
24.2k
        if (yych <= '_') goto yy297;
5559
21.3k
        if (yych <= '`') goto yy20;
5560
19.5k
        goto yy298;
5561
21.3k
      }
5562
383k
    } else {
5563
383k
      if (yych <= 'v') {
5564
313k
        if (yych <= 'o') goto yy353;
5565
218k
        if (yych <= 'u') goto yy298;
5566
203k
        goto yy305;
5567
218k
      } else {
5568
69.8k
        if (yych <= 'w') goto yy354;
5569
32.1k
        if (yych <= 'z') goto yy298;
5570
28.9k
        goto yy20;
5571
32.1k
      }
5572
383k
    }
5573
428k
  }
5574
252k
yy166:
5575
252k
  YYDEBUG(166, *YYCURSOR);
5576
252k
  yych = *++YYCURSOR;
5577
252k
  if (yych <= 'T') {
5578
100k
    if (yych <= ')') {
5579
27.1k
      if (yych <= '(') goto yy20;
5580
2.72k
      goto yy115;
5581
73.7k
    } else {
5582
73.7k
      if (yych <= '@') goto yy20;
5583
38.5k
      if (yych <= 'S') goto yy291;
5584
16.4k
      goto yy355;
5585
38.5k
    }
5586
151k
  } else {
5587
151k
    if (yych <= 's') {
5588
40.7k
      if (yych <= 'Z') goto yy291;
5589
35.2k
      if (yych <= '`') goto yy20;
5590
32.5k
      goto yy291;
5591
110k
    } else {
5592
110k
      if (yych <= 't') goto yy355;
5593
18.5k
      if (yych <= 'z') goto yy291;
5594
13.8k
      goto yy20;
5595
18.5k
    }
5596
151k
  }
5597
371k
yy167:
5598
371k
  YYDEBUG(167, *YYCURSOR);
5599
371k
  yyaccept = 2;
5600
371k
  yych = *(YYMARKER = ++YYCURSOR);
5601
371k
  if (yych <= 'S') {
5602
56.3k
    if (yych <= '-') {
5603
28.1k
      if (yych == ')') goto yy115;
5604
24.3k
      if (yych <= ',') goto yy20;
5605
7.89k
      goto yy297;
5606
28.2k
    } else {
5607
28.2k
      if (yych == '/') goto yy297;
5608
24.6k
      if (yych <= '@') goto yy20;
5609
12.1k
      goto yy291;
5610
24.6k
    }
5611
314k
  } else {
5612
314k
    if (yych <= '_') {
5613
43.5k
      if (yych <= 'T') goto yy355;
5614
13.4k
      if (yych <= 'Z') goto yy291;
5615
5.89k
      if (yych <= '^') goto yy20;
5616
2.32k
      goto yy297;
5617
271k
    } else {
5618
271k
      if (yych <= 's') {
5619
21.1k
        if (yych <= '`') goto yy20;
5620
17.5k
        goto yy298;
5621
249k
      } else {
5622
249k
        if (yych <= 't') goto yy356;
5623
17.2k
        if (yych <= 'z') goto yy298;
5624
12.1k
        goto yy20;
5625
17.2k
      }
5626
271k
    }
5627
314k
  }
5628
506k
yy168:
5629
506k
  YYDEBUG(168, *YYCURSOR);
5630
506k
  yych = *++YYCURSOR;
5631
506k
  if (yych <= 'E') {
5632
121k
    if (yych <= ')') {
5633
48.4k
      if (yych <= '(') goto yy20;
5634
5.50k
      goto yy115;
5635
73.4k
    } else {
5636
73.4k
      if (yych <= '@') goto yy20;
5637
26.6k
      if (yych <= 'D') goto yy291;
5638
16.1k
      goto yy357;
5639
26.6k
    }
5640
384k
  } else {
5641
384k
    if (yych <= 'd') {
5642
57.7k
      if (yych <= 'Z') goto yy291;
5643
24.2k
      if (yych <= '`') goto yy20;
5644
15.0k
      goto yy291;
5645
326k
    } else {
5646
326k
      if (yych <= 'e') goto yy357;
5647
137k
      if (yych <= 'z') goto yy291;
5648
17.4k
      goto yy20;
5649
137k
    }
5650
384k
  }
5651
375k
yy169:
5652
375k
  YYDEBUG(169, *YYCURSOR);
5653
375k
  yyaccept = 2;
5654
375k
  yych = *(YYMARKER = ++YYCURSOR);
5655
375k
  if (yych <= 'D') {
5656
50.6k
    if (yych <= '-') {
5657
23.3k
      if (yych == ')') goto yy115;
5658
19.8k
      if (yych <= ',') goto yy20;
5659
4.06k
      goto yy297;
5660
27.3k
    } else {
5661
27.3k
      if (yych == '/') goto yy297;
5662
20.8k
      if (yych <= '@') goto yy20;
5663
3.40k
      goto yy291;
5664
20.8k
    }
5665
324k
  } else {
5666
324k
    if (yych <= '_') {
5667
29.7k
      if (yych <= 'E') goto yy357;
5668
19.1k
      if (yych <= 'Z') goto yy291;
5669
13.4k
      if (yych <= '^') goto yy20;
5670
4.01k
      goto yy297;
5671
294k
    } else {
5672
294k
      if (yych <= 'd') {
5673
14.3k
        if (yych <= '`') goto yy20;
5674
9.58k
        goto yy298;
5675
280k
      } else {
5676
280k
        if (yych <= 'e') goto yy358;
5677
45.6k
        if (yych <= 'z') goto yy298;
5678
15.0k
        goto yy20;
5679
45.6k
      }
5680
294k
    }
5681
324k
  }
5682
285k
yy170:
5683
285k
  YYDEBUG(170, *YYCURSOR);
5684
285k
  yych = *++YYCURSOR;
5685
285k
  if (yych <= 'T') {
5686
134k
    if (yych <= ')') {
5687
37.2k
      if (yych <= '(') goto yy20;
5688
5.58k
      goto yy115;
5689
97.6k
    } else {
5690
97.6k
      if (yych <= '@') goto yy20;
5691
55.1k
      if (yych <= 'S') goto yy291;
5692
18.8k
      goto yy359;
5693
55.1k
    }
5694
150k
  } else {
5695
150k
    if (yych <= 's') {
5696
66.5k
      if (yych <= 'Z') goto yy291;
5697
62.4k
      if (yych <= '`') goto yy20;
5698
51.7k
      goto yy291;
5699
83.9k
    } else {
5700
83.9k
      if (yych <= 't') goto yy359;
5701
25.2k
      if (yych <= 'z') goto yy291;
5702
12.6k
      goto yy20;
5703
25.2k
    }
5704
150k
  }
5705
684k
yy171:
5706
684k
  YYDEBUG(171, *YYCURSOR);
5707
684k
  yych = *++YYCURSOR;
5708
684k
  if (yych <= 'V') {
5709
256k
    if (yych <= 'B') {
5710
108k
      if (yych == ')') goto yy115;
5711
105k
      if (yych <= '@') goto yy20;
5712
10.4k
      goto yy291;
5713
148k
    } else {
5714
148k
      if (yych <= 'O') {
5715
65.7k
        if (yych <= 'C') goto yy360;
5716
22.5k
        goto yy291;
5717
82.2k
      } else {
5718
82.2k
        if (yych <= 'P') goto yy361;
5719
37.2k
        if (yych <= 'U') goto yy291;
5720
16.4k
        goto yy362;
5721
37.2k
      }
5722
148k
    }
5723
428k
  } else {
5724
428k
    if (yych <= 'o') {
5725
145k
      if (yych <= '`') {
5726
23.6k
        if (yych <= 'Z') goto yy291;
5727
18.6k
        goto yy20;
5728
122k
      } else {
5729
122k
        if (yych == 'c') goto yy360;
5730
58.6k
        goto yy291;
5731
122k
      }
5732
282k
    } else {
5733
282k
      if (yych <= 'u') {
5734
170k
        if (yych <= 'p') goto yy361;
5735
80.4k
        goto yy291;
5736
170k
      } else {
5737
112k
        if (yych <= 'v') goto yy362;
5738
60.0k
        if (yych <= 'z') goto yy291;
5739
52.4k
        goto yy20;
5740
60.0k
      }
5741
282k
    }
5742
428k
  }
5743
179k
yy172:
5744
179k
  YYDEBUG(172, *YYCURSOR);
5745
179k
  yych = *++YYCURSOR;
5746
179k
  if (yych <= 'X') {
5747
67.5k
    if (yych <= ')') {
5748
20.0k
      if (yych <= '(') goto yy20;
5749
3.02k
      goto yy115;
5750
47.4k
    } else {
5751
47.4k
      if (yych <= '@') goto yy20;
5752
22.3k
      if (yych <= 'W') goto yy291;
5753
8.11k
      goto yy311;
5754
22.3k
    }
5755
111k
  } else {
5756
111k
    if (yych <= 'w') {
5757
56.6k
      if (yych <= 'Z') goto yy291;
5758
53.7k
      if (yych <= '`') goto yy20;
5759
49.6k
      goto yy291;
5760
54.8k
    } else {
5761
54.8k
      if (yych <= 'x') goto yy311;
5762
17.8k
      if (yych <= 'z') goto yy291;
5763
16.1k
      goto yy20;
5764
17.8k
    }
5765
111k
  }
5766
374k
yy173:
5767
374k
  YYDEBUG(173, *YYCURSOR);
5768
374k
  yyaccept = 2;
5769
374k
  yych = *(YYMARKER = ++YYCURSOR);
5770
374k
  if (yych <= 'S') {
5771
61.6k
    if (yych <= '-') {
5772
28.5k
      if (yych == ')') goto yy115;
5773
25.1k
      if (yych <= ',') goto yy20;
5774
2.29k
      goto yy297;
5775
33.0k
    } else {
5776
33.0k
      if (yych == '/') goto yy297;
5777
30.0k
      if (yych <= '@') goto yy20;
5778
8.57k
      goto yy291;
5779
30.0k
    }
5780
312k
  } else {
5781
312k
    if (yych <= '_') {
5782
33.2k
      if (yych <= 'T') goto yy359;
5783
17.1k
      if (yych <= 'Z') goto yy291;
5784
11.8k
      if (yych <= '^') goto yy20;
5785
5.37k
      goto yy297;
5786
279k
    } else {
5787
279k
      if (yych <= 's') {
5788
42.6k
        if (yych <= '`') goto yy20;
5789
27.0k
        goto yy298;
5790
236k
      } else {
5791
236k
        if (yych <= 't') goto yy363;
5792
30.1k
        if (yych <= 'z') goto yy298;
5793
22.9k
        goto yy20;
5794
30.1k
      }
5795
279k
    }
5796
312k
  }
5797
1.12M
yy174:
5798
1.12M
  YYDEBUG(174, *YYCURSOR);
5799
1.12M
  yyaccept = 2;
5800
1.12M
  yych = *(YYMARKER = ++YYCURSOR);
5801
1.12M
  if (yych <= 'U') {
5802
216k
    if (yych <= '/') {
5803
54.0k
      if (yych <= ',') {
5804
41.1k
        if (yych == ')') goto yy115;
5805
37.8k
        goto yy20;
5806
41.1k
      } else {
5807
12.8k
        if (yych == '.') goto yy20;
5808
9.14k
        goto yy297;
5809
12.8k
      }
5810
162k
    } else {
5811
162k
      if (yych <= 'C') {
5812
65.3k
        if (yych <= '@') goto yy20;
5813
25.5k
        if (yych <= 'B') goto yy291;
5814
22.7k
        goto yy360;
5815
97.0k
      } else {
5816
97.0k
        if (yych == 'P') goto yy361;
5817
15.9k
        goto yy291;
5818
97.0k
      }
5819
162k
    }
5820
912k
  } else {
5821
912k
    if (yych <= 'b') {
5822
69.8k
      if (yych <= '^') {
5823
23.7k
        if (yych <= 'V') goto yy362;
5824
10.3k
        if (yych <= 'Z') goto yy291;
5825
7.30k
        goto yy20;
5826
46.0k
      } else {
5827
46.0k
        if (yych <= '_') goto yy297;
5828
33.7k
        if (yych <= '`') goto yy20;
5829
24.2k
        goto yy298;
5830
33.7k
      }
5831
842k
    } else {
5832
842k
      if (yych <= 'p') {
5833
583k
        if (yych <= 'c') goto yy364;
5834
331k
        if (yych <= 'o') goto yy298;
5835
281k
        goto yy365;
5836
331k
      } else {
5837
258k
        if (yych == 'v') goto yy366;
5838
78.4k
        if (yych <= 'z') goto yy298;
5839
53.5k
        goto yy20;
5840
78.4k
      }
5841
842k
    }
5842
912k
  }
5843
89.7k
yy175:
5844
89.7k
  YYDEBUG(175, *YYCURSOR);
5845
89.7k
  yyaccept = 2;
5846
89.7k
  yych = *(YYMARKER = ++YYCURSOR);
5847
89.7k
  if (yych <= 'W') {
5848
22.3k
    if (yych <= '-') {
5849
10.4k
      if (yych == ')') goto yy115;
5850
8.13k
      if (yych <= ',') goto yy20;
5851
714
      goto yy297;
5852
11.8k
    } else {
5853
11.8k
      if (yych == '/') goto yy297;
5854
9.16k
      if (yych <= '@') goto yy20;
5855
3.10k
      goto yy291;
5856
9.16k
    }
5857
67.4k
  } else {
5858
67.4k
    if (yych <= '_') {
5859
9.22k
      if (yych <= 'X') goto yy311;
5860
8.21k
      if (yych <= 'Z') goto yy291;
5861
4.59k
      if (yych <= '^') goto yy20;
5862
1.97k
      goto yy297;
5863
58.1k
    } else {
5864
58.1k
      if (yych <= 'w') {
5865
22.9k
        if (yych <= '`') goto yy20;
5866
22.2k
        goto yy298;
5867
35.2k
      } else {
5868
35.2k
        if (yych <= 'x') goto yy318;
5869
11.6k
        if (yych <= 'z') goto yy298;
5870
9.87k
        goto yy20;
5871
11.6k
      }
5872
58.1k
    }
5873
67.4k
  }
5874
733k
yy176:
5875
733k
  YYDEBUG(176, *YYCURSOR);
5876
733k
  yyaccept = 4;
5877
733k
  yych = *(YYMARKER = ++YYCURSOR);
5878
733k
  if (yych <= '/') {
5879
123k
    if (yych == '.') goto yy75;
5880
609k
  } else {
5881
609k
    if (yych <= '9') goto yy367;
5882
226k
    if (yych <= ':') goto yy75;
5883
226k
  }
5884
4.48M
yy177:
5885
4.48M
  YYDEBUG(177, *YYCURSOR);
5886
4.48M
#line 1387 "ext/date/lib/parse_date.re"
5887
4.48M
  {
5888
4.48M
    int tz_not_found;
5889
4.48M
    DEBUG_OUTPUT("timetiny24 | timeshort24 | timelong24 | iso8601long");
5890
4.48M
    TIMELIB_INIT;
5891
4.48M
    TIMELIB_HAVE_TIME();
5892
686k
    s->time->h = timelib_get_nr(&ptr, 2);
5893
686k
    if (*ptr == ':' || *ptr == '.') {
5894
490k
      s->time->i = timelib_get_nr(&ptr, 2);
5895
490k
      if (*ptr == ':' || *ptr == '.') {
5896
137k
        s->time->s = timelib_get_nr(&ptr, 2);
5897
5898
137k
        if (*ptr == '.') {
5899
16.8k
          s->time->us = timelib_get_frac_nr(&ptr);
5900
16.8k
        }
5901
137k
      }
5902
490k
    }
5903
5904
686k
    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
686k
    TIMELIB_DEINIT;
5911
686k
    return TIMELIB_TIME24_WITH_ZONE;
5912
4.48M
  }
5913
0
#line 5914 "ext/date/lib/parse_date.c"
5914
260k
yy178:
5915
260k
  YYDEBUG(178, *YYCURSOR);
5916
260k
  yyaccept = 4;
5917
260k
  yych = *(YYMARKER = ++YYCURSOR);
5918
260k
  if (yych <= '/') {
5919
45.7k
    if (yych == '.') goto yy75;
5920
40.4k
    goto yy177;
5921
215k
  } else {
5922
215k
    if (yych <= '4') goto yy367;
5923
118k
    if (yych == ':') goto yy75;
5924
85.8k
    goto yy177;
5925
118k
  }
5926
485k
yy179:
5927
485k
  YYDEBUG(179, *YYCURSOR);
5928
485k
  yyaccept = 4;
5929
485k
  yych = *(YYMARKER = ++YYCURSOR);
5930
485k
  if (yych == '.') goto yy75;
5931
471k
  if (yych == ':') goto yy75;
5932
441k
  goto yy177;
5933
716k
yy180:
5934
716k
  YYDEBUG(180, *YYCURSOR);
5935
716k
  yych = *++YYCURSOR;
5936
716k
  if (yych <= 'U') {
5937
278k
    if (yych <= '@') {
5938
169k
      if (yych == ')') goto yy115;
5939
161k
      goto yy20;
5940
169k
    } else {
5941
109k
      if (yych == 'I') goto yy368;
5942
90.1k
      if (yych <= 'T') goto yy291;
5943
45.2k
      goto yy369;
5944
90.1k
    }
5945
438k
  } else {
5946
438k
    if (yych <= 'i') {
5947
273k
      if (yych <= 'Z') goto yy291;
5948
267k
      if (yych <= '`') goto yy20;
5949
235k
      if (yych <= 'h') goto yy291;
5950
191k
      goto yy368;
5951
235k
    } else {
5952
165k
      if (yych == 'u') goto yy369;
5953
133k
      if (yych <= 'z') goto yy291;
5954
78.7k
      goto yy20;
5955
133k
    }
5956
438k
  }
5957
314k
yy181:
5958
314k
  YYDEBUG(181, *YYCURSOR);
5959
314k
  yych = *++YYCURSOR;
5960
314k
  if (yych <= 'M') {
5961
85.3k
    if (yych <= '@') {
5962
53.1k
      if (yych == ')') goto yy115;
5963
48.4k
      goto yy20;
5964
53.1k
    } else {
5965
32.2k
      if (yych == 'D') goto yy370;
5966
27.6k
      if (yych <= 'L') goto yy291;
5967
14.5k
      goto yy371;
5968
27.6k
    }
5969
229k
  } else {
5970
229k
    if (yych <= 'd') {
5971
69.5k
      if (yych <= 'Z') goto yy291;
5972
57.0k
      if (yych <= '`') goto yy20;
5973
47.5k
      if (yych <= 'c') goto yy291;
5974
25.3k
      goto yy370;
5975
159k
    } else {
5976
159k
      if (yych == 'm') goto yy371;
5977
112k
      if (yych <= 'z') goto yy291;
5978
24.3k
      goto yy20;
5979
112k
    }
5980
229k
  }
5981
260k
yy182:
5982
260k
  YYDEBUG(182, *YYCURSOR);
5983
260k
  yych = *++YYCURSOR;
5984
260k
  if (yych <= 'E') {
5985
90.6k
    if (yych <= ')') {
5986
23.4k
      if (yych <= '(') goto yy20;
5987
4.17k
      goto yy115;
5988
67.1k
    } else {
5989
67.1k
      if (yych <= '@') goto yy20;
5990
34.9k
      if (yych <= 'D') goto yy291;
5991
24.8k
      goto yy372;
5992
34.9k
    }
5993
169k
  } else {
5994
169k
    if (yych <= 'd') {
5995
45.8k
      if (yych <= 'Z') goto yy291;
5996
22.1k
      if (yych <= '`') goto yy20;
5997
8.02k
      goto yy291;
5998
123k
    } else {
5999
123k
      if (yych <= 'e') goto yy372;
6000
74.9k
      if (yych <= 'z') goto yy291;
6001
25.6k
      goto yy20;
6002
74.9k
    }
6003
169k
  }
6004
139k
yy183:
6005
139k
  YYDEBUG(183, *YYCURSOR);
6006
139k
  yych = *++YYCURSOR;
6007
139k
  if (yych <= 'E') {
6008
42.4k
    if (yych <= ')') {
6009
16.4k
      if (yych <= '(') goto yy20;
6010
3.04k
      goto yy115;
6011
25.9k
    } else {
6012
25.9k
      if (yych <= '@') goto yy20;
6013
13.8k
      if (yych <= 'D') goto yy291;
6014
5.21k
      goto yy373;
6015
13.8k
    }
6016
97.3k
  } else {
6017
97.3k
    if (yych <= 'd') {
6018
27.3k
      if (yych <= 'Z') goto yy291;
6019
12.6k
      if (yych <= '`') goto yy20;
6020
6.21k
      goto yy291;
6021
69.9k
    } else {
6022
69.9k
      if (yych <= 'e') goto yy373;
6023
31.6k
      if (yych <= 'z') goto yy291;
6024
13.7k
      goto yy20;
6025
31.6k
    }
6026
97.3k
  }
6027
666k
yy184:
6028
666k
  YYDEBUG(184, *YYCURSOR);
6029
666k
  yyaccept = 2;
6030
666k
  yych = *(YYMARKER = ++YYCURSOR);
6031
666k
  if (yych <= 'T') {
6032
96.9k
    if (yych <= '.') {
6033
44.8k
      if (yych <= ')') {
6034
34.0k
        if (yych <= '(') goto yy20;
6035
3.92k
        goto yy115;
6036
34.0k
      } else {
6037
10.8k
        if (yych == '-') goto yy297;
6038
5.88k
        goto yy20;
6039
10.8k
      }
6040
52.0k
    } else {
6041
52.0k
      if (yych <= '@') {
6042
21.0k
        if (yych <= '/') goto yy297;
6043
18.9k
        goto yy20;
6044
30.9k
      } else {
6045
30.9k
        if (yych == 'I') goto yy368;
6046
12.4k
        goto yy291;
6047
30.9k
      }
6048
52.0k
    }
6049
569k
  } else {
6050
569k
    if (yych <= '`') {
6051
27.4k
      if (yych <= 'Z') {
6052
20.7k
        if (yych <= 'U') goto yy369;
6053
3.72k
        goto yy291;
6054
20.7k
      } else {
6055
6.72k
        if (yych == '_') goto yy297;
6056
5.07k
        goto yy20;
6057
6.72k
      }
6058
541k
    } else {
6059
541k
      if (yych <= 't') {
6060
328k
        if (yych == 'i') goto yy374;
6061
39.8k
        goto yy298;
6062
328k
      } else {
6063
213k
        if (yych <= 'u') goto yy375;
6064
26.0k
        if (yych <= 'z') goto yy298;
6065
16.9k
        goto yy20;
6066
26.0k
      }
6067
541k
    }
6068
569k
  }
6069
457k
yy185:
6070
457k
  YYDEBUG(185, *YYCURSOR);
6071
457k
  yyaccept = 2;
6072
457k
  yych = *(YYMARKER = ++YYCURSOR);
6073
457k
  if (yych <= 'L') {
6074
69.6k
    if (yych <= '.') {
6075
31.6k
      if (yych <= ')') {
6076
19.5k
        if (yych <= '(') goto yy20;
6077
1.80k
        goto yy115;
6078
19.5k
      } else {
6079
12.0k
        if (yych == '-') goto yy297;
6080
6.58k
        goto yy20;
6081
12.0k
      }
6082
38.0k
    } else {
6083
38.0k
      if (yych <= '@') {
6084
18.6k
        if (yych <= '/') goto yy297;
6085
16.9k
        goto yy20;
6086
19.4k
      } else {
6087
19.4k
        if (yych == 'D') goto yy370;
6088
7.82k
        goto yy291;
6089
19.4k
      }
6090
38.0k
    }
6091
388k
  } else {
6092
388k
    if (yych <= '`') {
6093
41.6k
      if (yych <= 'Z') {
6094
30.2k
        if (yych <= 'M') goto yy371;
6095
5.66k
        goto yy291;
6096
30.2k
      } else {
6097
11.3k
        if (yych == '_') goto yy297;
6098
5.41k
        goto yy20;
6099
11.3k
      }
6100
346k
    } else {
6101
346k
      if (yych <= 'l') {
6102
138k
        if (yych == 'd') goto yy376;
6103
10.8k
        goto yy298;
6104
207k
      } else {
6105
207k
        if (yych <= 'm') goto yy377;
6106
25.4k
        if (yych <= 'z') goto yy298;
6107
13.3k
        goto yy20;
6108
25.4k
      }
6109
346k
    }
6110
388k
  }
6111
202k
yy186:
6112
202k
  YYDEBUG(186, *YYCURSOR);
6113
202k
  yyaccept = 2;
6114
202k
  yych = *(YYMARKER = ++YYCURSOR);
6115
202k
  if (yych <= 'D') {
6116
29.2k
    if (yych <= '-') {
6117
12.5k
      if (yych == ')') goto yy115;
6118
11.2k
      if (yych <= ',') goto yy20;
6119
1.53k
      goto yy297;
6120
16.7k
    } else {
6121
16.7k
      if (yych == '/') goto yy297;
6122
15.6k
      if (yych <= '@') goto yy20;
6123
3.13k
      goto yy291;
6124
15.6k
    }
6125
173k
  } else {
6126
173k
    if (yych <= '_') {
6127
38.7k
      if (yych <= 'E') goto yy372;
6128
18.4k
      if (yych <= 'Z') goto yy291;
6129
6.77k
      if (yych <= '^') goto yy20;
6130
3.17k
      goto yy297;
6131
134k
    } else {
6132
134k
      if (yych <= 'd') {
6133
47.3k
        if (yych <= '`') goto yy20;
6134
44.6k
        goto yy298;
6135
87.5k
      } else {
6136
87.5k
        if (yych <= 'e') goto yy378;
6137
25.3k
        if (yych <= 'z') goto yy298;
6138
8.08k
        goto yy20;
6139
25.3k
      }
6140
134k
    }
6141
173k
  }
6142
227k
yy187:
6143
227k
  YYDEBUG(187, *YYCURSOR);
6144
227k
  yyaccept = 2;
6145
227k
  yych = *(YYMARKER = ++YYCURSOR);
6146
227k
  if (yych <= 'D') {
6147
31.9k
    if (yych <= '-') {
6148
15.3k
      if (yych == ')') goto yy115;
6149
13.8k
      if (yych <= ',') goto yy20;
6150
2.11k
      goto yy297;
6151
16.5k
    } else {
6152
16.5k
      if (yych == '/') goto yy297;
6153
14.1k
      if (yych <= '@') goto yy20;
6154
2.26k
      goto yy291;
6155
14.1k
    }
6156
195k
  } else {
6157
195k
    if (yych <= '_') {
6158
49.9k
      if (yych <= 'E') goto yy373;
6159
16.8k
      if (yych <= 'Z') goto yy291;
6160
6.37k
      if (yych <= '^') goto yy20;
6161
1.34k
      goto yy297;
6162
145k
    } else {
6163
145k
      if (yych <= 'd') {
6164
7.56k
        if (yych <= '`') goto yy20;
6165
5.55k
        goto yy298;
6166
138k
      } else {
6167
138k
        if (yych <= 'e') goto yy379;
6168
19.4k
        if (yych <= 'z') goto yy298;
6169
8.95k
        goto yy20;
6170
19.4k
      }
6171
145k
    }
6172
195k
  }
6173
259k
yy188:
6174
259k
  YYDEBUG(188, *YYCURSOR);
6175
259k
  yyaccept = 2;
6176
259k
  yych = *(YYMARKER = ++YYCURSOR);
6177
259k
  if (yych <= '.') {
6178
36.2k
    if (yych <= ' ') {
6179
18.6k
      if (yych == '\t') goto yy142;
6180
15.4k
      if (yych <= 0x1F) goto yy20;
6181
5.82k
      goto yy142;
6182
17.5k
    } else {
6183
17.5k
      if (yych == ')') goto yy115;
6184
14.1k
      if (yych <= ',') goto yy20;
6185
11.1k
      goto yy142;
6186
14.1k
    }
6187
223k
  } else {
6188
223k
    if (yych <= 'H') {
6189
47.7k
      if (yych <= '/') goto yy20;
6190
34.4k
      if (yych <= '9') goto yy142;
6191
8.71k
      if (yych <= '@') goto yy20;
6192
4.92k
      goto yy291;
6193
176k
    } else {
6194
176k
      if (yych <= 'Z') {
6195
134k
        if (yych <= 'I') goto yy380;
6196
8.77k
        goto yy291;
6197
134k
      } else {
6198
41.1k
        if (yych <= '`') goto yy20;
6199
35.8k
        if (yych <= 'z') goto yy291;
6200
14.3k
        goto yy20;
6201
35.8k
      }
6202
176k
    }
6203
223k
  }
6204
391k
yy189:
6205
391k
  YYDEBUG(189, *YYCURSOR);
6206
391k
  yych = *++YYCURSOR;
6207
391k
  if (yych <= 'E') {
6208
140k
    if (yych <= '@') {
6209
65.1k
      if (yych == ')') goto yy115;
6210
62.2k
      goto yy20;
6211
75.6k
    } else {
6212
75.6k
      if (yych <= 'C') goto yy291;
6213
70.5k
      if (yych <= 'D') goto yy381;
6214
20.8k
      goto yy382;
6215
70.5k
    }
6216
250k
  } else {
6217
250k
    if (yych <= 'c') {
6218
43.5k
      if (yych <= 'Z') goto yy291;
6219
21.4k
      if (yych <= '`') goto yy20;
6220
6.63k
      goto yy291;
6221
206k
    } else {
6222
206k
      if (yych <= 'd') goto yy381;
6223
168k
      if (yych <= 'e') goto yy382;
6224
87.7k
      if (yych <= 'z') goto yy291;
6225
31.7k
      goto yy20;
6226
87.7k
    }
6227
250k
  }
6228
616k
yy190:
6229
616k
  YYDEBUG(190, *YYCURSOR);
6230
616k
  yyaccept = 2;
6231
616k
  yych = *(YYMARKER = ++YYCURSOR);
6232
616k
  if (yych <= 'D') {
6233
88.9k
    if (yych <= '-') {
6234
29.4k
      if (yych == ')') goto yy115;
6235
25.7k
      if (yych <= ',') goto yy20;
6236
4.34k
      goto yy297;
6237
59.4k
    } else {
6238
59.4k
      if (yych <= '/') {
6239
9.78k
        if (yych <= '.') goto yy20;
6240
4.96k
        goto yy297;
6241
49.6k
      } else {
6242
49.6k
        if (yych <= '@') goto yy20;
6243
30.1k
        if (yych <= 'C') goto yy291;
6244
28.0k
        goto yy381;
6245
30.1k
      }
6246
59.4k
    }
6247
527k
  } else {
6248
527k
    if (yych <= '`') {
6249
48.9k
      if (yych <= 'Z') {
6250
28.5k
        if (yych <= 'E') goto yy382;
6251
15.1k
        goto yy291;
6252
28.5k
      } else {
6253
20.4k
        if (yych == '_') goto yy297;
6254
16.4k
        goto yy20;
6255
20.4k
      }
6256
478k
    } else {
6257
478k
      if (yych <= 'd') {
6258
238k
        if (yych <= 'c') goto yy298;
6259
216k
        goto yy383;
6260
240k
      } else {
6261
240k
        if (yych <= 'e') goto yy384;
6262
47.2k
        if (yych <= 'z') goto yy298;
6263
21.0k
        goto yy20;
6264
47.2k
      }
6265
478k
    }
6266
527k
  }
6267
168k
yy191:
6268
168k
  YYDEBUG(191, *YYCURSOR);
6269
168k
  yych = *++YYCURSOR;
6270
168k
  if (yych <= 'S') {
6271
49.3k
    if (yych <= ')') {
6272
12.8k
      if (yych <= '(') goto yy20;
6273
2.13k
      goto yy115;
6274
36.4k
    } else {
6275
36.4k
      if (yych <= '@') goto yy20;
6276
16.6k
      if (yych <= 'R') goto yy291;
6277
6.88k
      goto yy385;
6278
16.6k
    }
6279
119k
  } else {
6280
119k
    if (yych <= 'r') {
6281
33.3k
      if (yych <= 'Z') goto yy291;
6282
24.9k
      if (yych <= '`') goto yy20;
6283
16.9k
      goto yy291;
6284
86.2k
    } else {
6285
86.2k
      if (yych <= 's') goto yy385;
6286
25.9k
      if (yych <= 'z') goto yy291;
6287
13.1k
      goto yy20;
6288
25.9k
    }
6289
119k
  }
6290
391k
yy192:
6291
391k
  YYDEBUG(192, *YYCURSOR);
6292
391k
  yyaccept = 2;
6293
391k
  yych = *(YYMARKER = ++YYCURSOR);
6294
391k
  if (yych <= 'R') {
6295
48.8k
    if (yych <= '-') {
6296
24.6k
      if (yych == ')') goto yy115;
6297
22.8k
      if (yych <= ',') goto yy20;
6298
3.89k
      goto yy297;
6299
24.2k
    } else {
6300
24.2k
      if (yych == '/') goto yy297;
6301
22.5k
      if (yych <= '@') goto yy20;
6302
9.89k
      goto yy291;
6303
22.5k
    }
6304
342k
  } else {
6305
342k
    if (yych <= '_') {
6306
47.1k
      if (yych <= 'S') goto yy385;
6307
14.7k
      if (yych <= 'Z') goto yy291;
6308
9.61k
      if (yych <= '^') goto yy20;
6309
3.30k
      goto yy297;
6310
295k
    } else {
6311
295k
      if (yych <= 'r') {
6312
23.6k
        if (yych <= '`') goto yy20;
6313
19.9k
        goto yy298;
6314
271k
      } else {
6315
271k
        if (yych <= 's') goto yy386;
6316
18.8k
        if (yych <= 'z') goto yy298;
6317
11.2k
        goto yy20;
6318
18.8k
      }
6319
295k
    }
6320
342k
  }
6321
986k
yy193:
6322
986k
  YYDEBUG(193, *YYCURSOR);
6323
986k
  yyaccept = 0;
6324
986k
  YYMARKER = ++YYCURSOR;
6325
986k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
6326
986k
  yych = *YYCURSOR;
6327
986k
  if (yych == 0xC2) goto yy387;
6328
836k
  goto yy8;
6329
918k
yy194:
6330
918k
  YYDEBUG(194, *YYCURSOR);
6331
918k
  ++YYCURSOR;
6332
918k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
6333
918k
  yych = *YYCURSOR;
6334
918k
  if (yych == 0xAF) goto yy388;
6335
237k
  goto yy59;
6336
4.28M
yy195:
6337
4.28M
  YYDEBUG(195, *YYCURSOR);
6338
4.28M
  ++YYCURSOR;
6339
4.28M
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
6340
4.28M
  yych = *YYCURSOR;
6341
36.9M
yy196:
6342
36.9M
  YYDEBUG(196, *YYCURSOR);
6343
36.9M
  if (yych <= 'X') {
6344
27.7M
    if (yych <= 'G') {
6345
25.4M
      if (yych <= ' ') {
6346
10.1M
        if (yych == '\t') goto yy195;
6347
9.39M
        if (yych <= 0x1F) goto yy59;
6348
3.54M
        goto yy195;
6349
15.3M
      } else {
6350
15.3M
        if (yych <= 'D') {
6351
14.6M
          if (yych <= 'C') goto yy59;
6352
255k
          goto yy198;
6353
14.6M
        } else {
6354
704k
          if (yych == 'F') goto yy199;
6355
317k
          goto yy59;
6356
704k
        }
6357
15.3M
      }
6358
25.4M
    } else {
6359
2.27M
      if (yych <= 'S') {
6360
1.31M
        if (yych <= 'L') {
6361
503k
          if (yych <= 'H') goto yy79;
6362
332k
          goto yy59;
6363
815k
        } else {
6364
815k
          if (yych <= 'M') goto yy200;
6365
571k
          if (yych <= 'R') goto yy59;
6366
196k
          goto yy201;
6367
571k
        }
6368
1.31M
      } else {
6369
956k
        if (yych <= 'U') {
6370
615k
          if (yych <= 'T') goto yy87;
6371
87.6k
          goto yy88;
6372
615k
        } else {
6373
340k
          if (yych == 'W') goto yy90;
6374
189k
          goto yy59;
6375
340k
        }
6376
956k
      }
6377
2.27M
    }
6378
27.7M
  } else {
6379
9.16M
    if (yych <= 'r') {
6380
3.85M
      if (yych <= 'f') {
6381
1.94M
        if (yych <= 'c') {
6382
1.03M
          if (yych <= 'Y') goto yy92;
6383
843k
          goto yy59;
6384
1.03M
        } else {
6385
907k
          if (yych <= 'd') goto yy198;
6386
640k
          if (yych <= 'e') goto yy59;
6387
214k
          goto yy199;
6388
640k
        }
6389
1.94M
      } else {
6390
1.91M
        if (yych <= 'h') {
6391
354k
          if (yych <= 'g') goto yy59;
6392
214k
          goto yy79;
6393
1.56M
        } else {
6394
1.56M
          if (yych == 'm') goto yy200;
6395
1.19M
          goto yy59;
6396
1.56M
        }
6397
1.91M
      }
6398
5.30M
    } else {
6399
5.30M
      if (yych <= 'w') {
6400
1.43M
        if (yych <= 't') {
6401
933k
          if (yych <= 's') goto yy201;
6402
565k
          goto yy87;
6403
933k
        } else {
6404
503k
          if (yych <= 'u') goto yy88;
6405
324k
          if (yych <= 'v') goto yy59;
6406
198k
          goto yy90;
6407
324k
        }
6408
3.86M
      } else {
6409
3.86M
        if (yych <= 'y') {
6410
260k
          if (yych <= 'x') goto yy59;
6411
188k
          goto yy92;
6412
3.60M
        } else {
6413
3.60M
          if (yych == 0xC2) goto yy211;
6414
3.57M
          goto yy59;
6415
3.60M
        }
6416
3.86M
      }
6417
5.30M
    }
6418
9.16M
  }
6419
3.44M
yy197:
6420
3.44M
  YYDEBUG(197, *YYCURSOR);
6421
3.44M
  yych = *++YYCURSOR;
6422
3.44M
  if (yych <= 0xC1) {
6423
3.33M
    if (yych <= '/') goto yy196;
6424
2.45M
    if (yych <= '9') goto yy389;
6425
519k
    goto yy196;
6426
2.45M
  } else {
6427
112k
    if (yych <= 0xC2) goto yy97;
6428
80.9k
    if (yych == 0xE2) goto yy98;
6429
58.0k
    goto yy196;
6430
80.9k
  }
6431
615k
yy198:
6432
615k
  YYDEBUG(198, *YYCURSOR);
6433
615k
  yych = *++YYCURSOR;
6434
615k
  if (yych == 'A') goto yy242;
6435
597k
  if (yych == 'a') goto yy242;
6436
500k
  goto yy59;
6437
661k
yy199:
6438
661k
  YYDEBUG(199, *YYCURSOR);
6439
661k
  yych = *++YYCURSOR;
6440
661k
  if (yych <= 'R') {
6441
281k
    if (yych == 'O') goto yy245;
6442
225k
    if (yych <= 'Q') goto yy59;
6443
14.0k
    goto yy246;
6444
379k
  } else {
6445
379k
    if (yych <= 'o') {
6446
257k
      if (yych <= 'n') goto yy59;
6447
50.2k
      goto yy245;
6448
257k
    } else {
6449
122k
      if (yych == 'r') goto yy246;
6450
61.9k
      goto yy59;
6451
122k
    }
6452
379k
  }
6453
675k
yy200:
6454
675k
  YYDEBUG(200, *YYCURSOR);
6455
675k
  yych = *++YYCURSOR;
6456
675k
  if (yych <= 'S') {
6457
284k
    if (yych <= 'N') {
6458
265k
      if (yych == 'I') goto yy257;
6459
238k
      goto yy59;
6460
265k
    } else {
6461
19.6k
      if (yych <= 'O') goto yy258;
6462
11.1k
      if (yych <= 'R') goto yy59;
6463
4.88k
      goto yy259;
6464
11.1k
    }
6465
390k
  } else {
6466
390k
    if (yych <= 'n') {
6467
276k
      if (yych == 'i') goto yy257;
6468
113k
      goto yy59;
6469
276k
    } else {
6470
114k
      if (yych <= 'o') goto yy258;
6471
85.1k
      if (yych == 's') goto yy259;
6472
74.9k
      goto yy59;
6473
85.1k
    }
6474
390k
  }
6475
639k
yy201:
6476
639k
  YYDEBUG(201, *YYCURSOR);
6477
639k
  yych = *++YYCURSOR;
6478
639k
  if (yych <= 'U') {
6479
284k
    if (yych <= 'D') {
6480
232k
      if (yych == 'A') goto yy263;
6481
223k
      goto yy59;
6482
232k
    } else {
6483
52.0k
      if (yych <= 'E') goto yy390;
6484
34.1k
      if (yych <= 'T') goto yy59;
6485
11.2k
      goto yy265;
6486
34.1k
    }
6487
354k
  } else {
6488
354k
    if (yych <= 'd') {
6489
66.6k
      if (yych == 'a') goto yy263;
6490
37.7k
      goto yy59;
6491
288k
    } else {
6492
288k
      if (yych <= 'e') goto yy390;
6493
203k
      if (yych == 'u') goto yy265;
6494
186k
      goto yy59;
6495
203k
    }
6496
354k
  }
6497
2.25M
yy202:
6498
2.25M
  YYDEBUG(202, *YYCURSOR);
6499
2.25M
  yyaccept = 2;
6500
2.25M
  yych = *(YYMARKER = ++YYCURSOR);
6501
2.25M
  if (yych <= 'W') {
6502
1.98M
    if (yych <= 'D') {
6503
1.77M
      if (yych <= '/') {
6504
424k
        if (yych <= '\t') {
6505
69.5k
          if (yych <= 0x08) goto yy20;
6506
14.9k
          goto yy196;
6507
354k
        } else {
6508
354k
          if (yych == ' ') goto yy196;
6509
331k
          goto yy20;
6510
354k
        }
6511
1.35M
      } else {
6512
1.35M
        if (yych <= '9') {
6513
1.12M
          if (yych <= '5') goto yy391;
6514
163k
          goto yy392;
6515
1.12M
        } else {
6516
221k
          if (yych <= ':') goto yy393;
6517
42.4k
          if (yych <= 'C') goto yy20;
6518
11.0k
          goto yy196;
6519
42.4k
        }
6520
1.35M
      }
6521
1.77M
    } else {
6522
205k
      if (yych <= 'L') {
6523
59.7k
        if (yych <= 'F') {
6524
38.2k
          if (yych <= 'E') goto yy20;
6525
28.8k
          goto yy196;
6526
38.2k
        } else {
6527
21.4k
          if (yych == 'H') goto yy196;
6528
18.7k
          goto yy20;
6529
21.4k
        }
6530
145k
      } else {
6531
145k
        if (yych <= 'R') {
6532
33.5k
          if (yych <= 'M') goto yy196;
6533
26.9k
          goto yy20;
6534
111k
        } else {
6535
111k
          if (yych == 'V') goto yy20;
6536
89.2k
          goto yy196;
6537
111k
        }
6538
145k
      }
6539
205k
    }
6540
1.98M
  } else {
6541
279k
    if (yych <= 'm') {
6542
103k
      if (yych <= 'e') {
6543
54.6k
        if (yych <= 'Y') {
6544
15.5k
          if (yych <= 'X') goto yy20;
6545
2.76k
          goto yy196;
6546
39.0k
        } else {
6547
39.0k
          if (yych == 'd') goto yy196;
6548
31.3k
          goto yy20;
6549
39.0k
        }
6550
54.6k
      } else {
6551
48.4k
        if (yych <= 'g') {
6552
19.7k
          if (yych <= 'f') goto yy196;
6553
6.31k
          goto yy20;
6554
28.7k
        } else {
6555
28.7k
          if (yych <= 'h') goto yy196;
6556
20.1k
          if (yych <= 'l') goto yy20;
6557
5.00k
          goto yy196;
6558
20.1k
        }
6559
48.4k
      }
6560
175k
    } else {
6561
175k
      if (yych <= 'x') {
6562
62.5k
        if (yych <= 'u') {
6563
52.1k
          if (yych <= 'r') goto yy20;
6564
19.8k
          goto yy196;
6565
52.1k
        } else {
6566
10.3k
          if (yych == 'w') goto yy196;
6567
6.52k
          goto yy20;
6568
10.3k
        }
6569
113k
      } else {
6570
113k
        if (yych <= 0xC2) {
6571
65.2k
          if (yych <= 'y') goto yy196;
6572
60.0k
          if (yych <= 0xC1) goto yy20;
6573
17.4k
          goto yy97;
6574
60.0k
        } else {
6575
48.0k
          if (yych == 0xE2) goto yy98;
6576
44.5k
          goto yy20;
6577
48.0k
        }
6578
113k
      }
6579
175k
    }
6580
279k
  }
6581
192k
yy203:
6582
192k
  YYDEBUG(203, *YYCURSOR);
6583
192k
  yych = *++YYCURSOR;
6584
192k
  if (yych <= '/') goto yy59;
6585
136k
  if (yych <= '5') goto yy394;
6586
83.2k
  if (yych <= '9') goto yy115;
6587
67.7k
  goto yy59;
6588
1.10M
yy204:
6589
1.10M
  YYDEBUG(204, *YYCURSOR);
6590
1.10M
  yyaccept = 2;
6591
1.10M
  yych = *(YYMARKER = ++YYCURSOR);
6592
1.10M
  if (yych <= 'X') {
6593
941k
    if (yych <= 'E') {
6594
874k
      if (yych <= ' ') {
6595
70.2k
        if (yych == '\t') goto yy196;
6596
66.0k
        if (yych <= 0x1F) goto yy20;
6597
12.0k
        goto yy196;
6598
803k
      } else {
6599
803k
        if (yych <= '9') {
6600
743k
          if (yych <= '/') goto yy20;
6601
635k
          goto yy392;
6602
743k
        } else {
6603
60.7k
          if (yych == 'D') goto yy196;
6604
56.6k
          goto yy20;
6605
60.7k
        }
6606
803k
      }
6607
874k
    } else {
6608
66.8k
      if (yych <= 'M') {
6609
32.2k
        if (yych <= 'G') {
6610
12.0k
          if (yych <= 'F') goto yy196;
6611
1.18k
          goto yy20;
6612
20.2k
        } else {
6613
20.2k
          if (yych <= 'H') goto yy196;
6614
18.3k
          if (yych <= 'L') goto yy20;
6615
5.75k
          goto yy196;
6616
18.3k
        }
6617
34.5k
      } else {
6618
34.5k
        if (yych <= 'U') {
6619
22.9k
          if (yych <= 'R') goto yy20;
6620
15.9k
          goto yy196;
6621
22.9k
        } else {
6622
11.5k
          if (yych == 'W') goto yy196;
6623
8.87k
          goto yy20;
6624
11.5k
        }
6625
34.5k
      }
6626
66.8k
    }
6627
941k
  } else {
6628
166k
    if (yych <= 'r') {
6629
71.4k
      if (yych <= 'f') {
6630
39.9k
        if (yych <= 'c') {
6631
22.2k
          if (yych <= 'Y') goto yy196;
6632
18.1k
          goto yy20;
6633
22.2k
        } else {
6634
17.7k
          if (yych == 'e') goto yy20;
6635
10.5k
          goto yy196;
6636
17.7k
        }
6637
39.9k
      } else {
6638
31.4k
        if (yych <= 'h') {
6639
9.41k
          if (yych <= 'g') goto yy20;
6640
4.14k
          goto yy196;
6641
22.0k
        } else {
6642
22.0k
          if (yych == 'm') goto yy196;
6643
17.9k
          goto yy20;
6644
22.0k
        }
6645
31.4k
      }
6646
94.6k
    } else {
6647
94.6k
      if (yych <= 'y') {
6648
31.7k
        if (yych <= 'v') {
6649
20.1k
          if (yych <= 'u') goto yy196;
6650
4.05k
          goto yy20;
6651
20.1k
        } else {
6652
11.5k
          if (yych == 'x') goto yy20;
6653
8.04k
          goto yy196;
6654
11.5k
        }
6655
62.8k
      } else {
6656
62.8k
        if (yych <= 0xC2) {
6657
27.3k
          if (yych <= 0xC1) goto yy20;
6658
2.71k
          goto yy97;
6659
35.5k
        } else {
6660
35.5k
          if (yych == 0xE2) goto yy98;
6661
31.6k
          goto yy20;
6662
35.5k
        }
6663
62.8k
      }
6664
94.6k
    }
6665
166k
  }
6666
620k
yy205:
6667
620k
  YYDEBUG(205, *YYCURSOR);
6668
620k
  yyaccept = 2;
6669
620k
  yych = *(YYMARKER = ++YYCURSOR);
6670
620k
  if (yych <= 'X') {
6671
509k
    if (yych <= 'E') {
6672
439k
      if (yych <= ' ') {
6673
31.8k
        if (yych == '\t') goto yy196;
6674
28.6k
        if (yych <= 0x1F) goto yy20;
6675
5.02k
        goto yy196;
6676
407k
      } else {
6677
407k
        if (yych <= '9') {
6678
376k
          if (yych <= '/') goto yy20;
6679
344k
          goto yy395;
6680
376k
        } else {
6681
30.7k
          if (yych == 'D') goto yy196;
6682
26.2k
          goto yy20;
6683
30.7k
        }
6684
407k
      }
6685
439k
    } else {
6686
70.3k
      if (yych <= 'M') {
6687
27.4k
        if (yych <= 'G') {
6688
16.5k
          if (yych <= 'F') goto yy196;
6689
5.70k
          goto yy20;
6690
16.5k
        } else {
6691
10.9k
          if (yych <= 'H') goto yy196;
6692
10.0k
          if (yych <= 'L') goto yy20;
6693
3.98k
          goto yy196;
6694
10.0k
        }
6695
42.8k
      } else {
6696
42.8k
        if (yych <= 'U') {
6697
30.9k
          if (yych <= 'R') goto yy20;
6698
24.1k
          goto yy196;
6699
30.9k
        } else {
6700
11.8k
          if (yych == 'W') goto yy196;
6701
7.88k
          goto yy20;
6702
11.8k
        }
6703
42.8k
      }
6704
70.3k
    }
6705
509k
  } else {
6706
110k
    if (yych <= 'r') {
6707
56.3k
      if (yych <= 'f') {
6708
37.0k
        if (yych <= 'c') {
6709
26.1k
          if (yych <= 'Y') goto yy196;
6710
14.1k
          goto yy20;
6711
26.1k
        } else {
6712
10.9k
          if (yych == 'e') goto yy20;
6713
5.49k
          goto yy196;
6714
10.9k
        }
6715
37.0k
      } else {
6716
19.2k
        if (yych <= 'h') {
6717
3.68k
          if (yych <= 'g') goto yy20;
6718
767
          goto yy196;
6719
15.5k
        } else {
6720
15.5k
          if (yych == 'm') goto yy196;
6721
13.0k
          goto yy20;
6722
15.5k
        }
6723
19.2k
      }
6724
56.3k
    } else {
6725
54.5k
      if (yych <= 'y') {
6726
17.1k
        if (yych <= 'v') {
6727
7.55k
          if (yych <= 'u') goto yy196;
6728
4.17k
          goto yy20;
6729
9.57k
        } else {
6730
9.57k
          if (yych == 'x') goto yy20;
6731
7.92k
          goto yy196;
6732
9.57k
        }
6733
37.3k
      } else {
6734
37.3k
        if (yych <= 0xC2) {
6735
15.3k
          if (yych <= 0xC1) goto yy20;
6736
4.19k
          goto yy97;
6737
22.0k
        } else {
6738
22.0k
          if (yych == 0xE2) goto yy98;
6739
18.1k
          goto yy20;
6740
22.0k
        }
6741
37.3k
      }
6742
54.5k
    }
6743
110k
  }
6744
851k
yy206:
6745
851k
  YYDEBUG(206, *YYCURSOR);
6746
851k
  ++YYCURSOR;
6747
851k
  if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13);
6748
851k
  yych = *YYCURSOR;
6749
4.15M
yy207:
6750
4.15M
  YYDEBUG(207, *YYCURSOR);
6751
4.15M
  switch (yych) {
6752
30.0k
  case '\t':
6753
190k
  case ' ':
6754
566k
  case '-':
6755
707k
  case '.': goto yy206;
6756
192k
  case 'A':
6757
241k
  case 'a': goto yy76;
6758
44.1k
  case 'D':
6759
91.6k
  case 'd': goto yy215;
6760
44.4k
  case 'F':
6761
107k
  case 'f': goto yy216;
6762
22.9k
  case 'I': goto yy80;
6763
151k
  case 'J':
6764
220k
  case 'j': goto yy82;
6765
69.5k
  case 'M':
6766
172k
  case 'm': goto yy217;
6767
60.9k
  case 'N':
6768
112k
  case 'n': goto yy84;
6769
47.5k
  case 'O':
6770
80.3k
  case 'o': goto yy85;
6771
76.5k
  case 'S':
6772
163k
  case 's': goto yy218;
6773
28.6k
  case 'V': goto yy89;
6774
16.3k
  case 'X': goto yy91;
6775
2.18M
  default:  goto yy59;
6776
4.15M
  }
6777
106k
yy208:
6778
106k
  YYDEBUG(208, *YYCURSOR);
6779
106k
  yych = *++YYCURSOR;
6780
106k
  if (yych <= '.') {
6781
35.3k
    if (yych <= ',') goto yy59;
6782
20.4k
    if (yych <= '-') goto yy396;
6783
14.1k
    goto yy397;
6784
71.4k
  } else {
6785
71.4k
    if (yych <= '/') goto yy59;
6786
65.3k
    if (yych <= '9') goto yy210;
6787
24.5k
    goto yy59;
6788
65.3k
  }
6789
77.6k
yy209:
6790
77.6k
  YYDEBUG(209, *YYCURSOR);
6791
77.6k
  yych = *++YYCURSOR;
6792
77.6k
  if (yych <= '.') {
6793
17.7k
    if (yych <= ',') goto yy59;
6794
11.5k
    if (yych <= '-') goto yy396;
6795
8.52k
    goto yy397;
6796
59.9k
  } else {
6797
59.9k
    if (yych <= '/') goto yy59;
6798
49.7k
    if (yych >= '3') goto yy59;
6799
49.7k
  }
6800
197k
yy210:
6801
197k
  YYDEBUG(210, *YYCURSOR);
6802
197k
  yych = *++YYCURSOR;
6803
197k
  if (yych <= ',') goto yy59;
6804
170k
  if (yych <= '-') goto yy396;
6805
159k
  if (yych <= '.') goto yy397;
6806
146k
  goto yy59;
6807
146k
yy211:
6808
62.3k
  YYDEBUG(211, *YYCURSOR);
6809
62.3k
  yych = *++YYCURSOR;
6810
62.3k
  if (yych == 0xB5) goto yy274;
6811
50.0k
  goto yy59;
6812
576k
yy212:
6813
576k
  YYDEBUG(212, *YYCURSOR);
6814
576k
  yych = *++YYCURSOR;
6815
576k
  if (yych <= '.') {
6816
111k
    if (yych <= ',') goto yy59;
6817
49.9k
    if (yych <= '-') goto yy398;
6818
12.1k
    goto yy396;
6819
465k
  } else {
6820
465k
    if (yych <= '/') goto yy59;
6821
457k
    if (yych <= '9') goto yy214;
6822
149k
    goto yy59;
6823
457k
  }
6824
433k
yy213:
6825
433k
  YYDEBUG(213, *YYCURSOR);
6826
433k
  yych = *++YYCURSOR;
6827
433k
  if (yych <= '.') {
6828
95.6k
    if (yych <= ',') goto yy59;
6829
50.4k
    if (yych <= '-') goto yy398;
6830
6.43k
    goto yy396;
6831
337k
  } else {
6832
337k
    if (yych <= '/') goto yy59;
6833
332k
    if (yych >= '3') goto yy59;
6834
332k
  }
6835
1.62M
yy214:
6836
1.62M
  YYDEBUG(214, *YYCURSOR);
6837
1.62M
  yych = *++YYCURSOR;
6838
1.62M
  if (yych <= ',') goto yy59;
6839
1.41M
  if (yych <= '-') goto yy398;
6840
1.17M
  if (yych <= '.') goto yy396;
6841
1.16M
  goto yy59;
6842
1.16M
yy215:
6843
91.6k
  YYDEBUG(215, *YYCURSOR);
6844
91.6k
  yych = *++YYCURSOR;
6845
91.6k
  if (yych == 'E') goto yy243;
6846
78.3k
  if (yych == 'e') goto yy243;
6847
51.1k
  goto yy59;
6848
107k
yy216:
6849
107k
  YYDEBUG(216, *YYCURSOR);
6850
107k
  yych = *++YYCURSOR;
6851
107k
  if (yych == 'E') goto yy244;
6852
97.1k
  if (yych == 'e') goto yy244;
6853
53.7k
  goto yy59;
6854
172k
yy217:
6855
172k
  YYDEBUG(217, *YYCURSOR);
6856
172k
  yych = *++YYCURSOR;
6857
172k
  if (yych == 'A') goto yy256;
6858
124k
  if (yych == 'a') goto yy256;
6859
80.1k
  goto yy59;
6860
163k
yy218:
6861
163k
  YYDEBUG(218, *YYCURSOR);
6862
163k
  yych = *++YYCURSOR;
6863
163k
  if (yych == 'E') goto yy399;
6864
150k
  if (yych == 'e') goto yy399;
6865
78.2k
  goto yy59;
6866
169k
yy219:
6867
169k
  YYDEBUG(219, *YYCURSOR);
6868
169k
  yyaccept = 4;
6869
169k
  yych = *(YYMARKER = ++YYCURSOR);
6870
169k
  if (yych <= '.') {
6871
62.1k
    if (yych <= ',') goto yy177;
6872
38.3k
    if (yych <= '-') goto yy396;
6873
15.9k
    goto yy400;
6874
106k
  } else {
6875
106k
    if (yych <= '/') goto yy177;
6876
105k
    if (yych <= '9') goto yy222;
6877
39.9k
    if (yych <= ':') goto yy401;
6878
33.6k
    goto yy177;
6879
39.9k
  }
6880
103k
yy220:
6881
103k
  YYDEBUG(220, *YYCURSOR);
6882
103k
  yyaccept = 4;
6883
103k
  yych = *(YYMARKER = ++YYCURSOR);
6884
103k
  if (yych <= '/') {
6885
31.5k
    if (yych <= ',') goto yy177;
6886
21.8k
    if (yych <= '-') goto yy396;
6887
16.0k
    if (yych <= '.') goto yy400;
6888
3.86k
    goto yy177;
6889
71.7k
  } else {
6890
71.7k
    if (yych <= '2') goto yy222;
6891
43.4k
    if (yych <= '9') goto yy239;
6892
32.3k
    if (yych <= ':') goto yy401;
6893
24.2k
    goto yy177;
6894
32.3k
  }
6895
87.6k
yy221:
6896
87.6k
  YYDEBUG(221, *YYCURSOR);
6897
87.6k
  yyaccept = 4;
6898
87.6k
  yych = *(YYMARKER = ++YYCURSOR);
6899
87.6k
  if (yych <= '.') {
6900
39.8k
    if (yych <= ',') goto yy177;
6901
25.0k
    if (yych <= '-') goto yy396;
6902
19.6k
    goto yy400;
6903
47.8k
  } else {
6904
47.8k
    if (yych <= '/') goto yy177;
6905
42.9k
    if (yych <= '9') goto yy239;
6906
16.6k
    if (yych <= ':') goto yy401;
6907
13.9k
    goto yy177;
6908
16.6k
  }
6909
169k
yy222:
6910
169k
  YYDEBUG(222, *YYCURSOR);
6911
169k
  yyaccept = 4;
6912
169k
  yych = *(YYMARKER = ++YYCURSOR);
6913
169k
  if (yych <= '.') {
6914
78.5k
    if (yych <= ',') goto yy177;
6915
59.6k
    if (yych <= '-') goto yy396;
6916
49.8k
    goto yy400;
6917
90.9k
  } else {
6918
90.9k
    if (yych == ':') goto yy401;
6919
76.0k
    goto yy177;
6920
90.9k
  }
6921
333k
yy223:
6922
333k
  YYDEBUG(223, *YYCURSOR);
6923
333k
  yyaccept = 5;
6924
333k
  yych = *(YYMARKER = ++YYCURSOR);
6925
333k
  if (yych <= 'n') {
6926
281k
    if (yych <= '/') {
6927
99.8k
      if (yych >= '/') goto yy402;
6928
181k
    } else {
6929
181k
      if (yych <= '9') goto yy226;
6930
46.0k
      if (yych >= 'n') goto yy403;
6931
46.0k
    }
6932
281k
  } else {
6933
52.0k
    if (yych <= 'r') {
6934
18.9k
      if (yych >= 'r') goto yy403;
6935
33.1k
    } else {
6936
33.1k
      if (yych <= 's') goto yy404;
6937
22.9k
      if (yych <= 't') goto yy405;
6938
22.9k
    }
6939
52.0k
  }
6940
568k
yy224:
6941
568k
  YYDEBUG(224, *YYCURSOR);
6942
568k
#line 1481 "ext/date/lib/parse_date.re"
6943
568k
  {
6944
568k
    int length = 0;
6945
568k
    DEBUG_OUTPUT("americanshort | american");
6946
568k
    TIMELIB_INIT;
6947
568k
    TIMELIB_HAVE_DATE();
6948
60.6k
    s->time->m = timelib_get_nr(&ptr, 2);
6949
60.6k
    s->time->d = timelib_get_nr(&ptr, 2);
6950
60.6k
    if (*ptr == '/') {
6951
14.0k
      s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
6952
14.0k
      TIMELIB_PROCESS_YEAR(s->time->y, length);
6953
14.0k
    }
6954
60.6k
    TIMELIB_DEINIT;
6955
60.6k
    return TIMELIB_AMERICAN;
6956
568k
  }
6957
0
#line 6958 "ext/date/lib/parse_date.c"
6958
89.7k
yy225:
6959
89.7k
  YYDEBUG(225, *YYCURSOR);
6960
89.7k
  yyaccept = 5;
6961
89.7k
  yych = *(YYMARKER = ++YYCURSOR);
6962
89.7k
  if (yych <= 'n') {
6963
63.1k
    if (yych <= '/') {
6964
16.9k
      if (yych <= '.') goto yy224;
6965
7.04k
      goto yy402;
6966
46.2k
    } else {
6967
46.2k
      if (yych <= '1') goto yy226;
6968
37.9k
      if (yych <= 'm') goto yy224;
6969
2.42k
      goto yy403;
6970
37.9k
    }
6971
63.1k
  } else {
6972
26.5k
    if (yych <= 'r') {
6973
8.60k
      if (yych <= 'q') goto yy224;
6974
2.59k
      goto yy403;
6975
17.9k
    } else {
6976
17.9k
      if (yych <= 's') goto yy404;
6977
11.8k
      if (yych <= 't') goto yy405;
6978
8.64k
      goto yy224;
6979
11.8k
    }
6980
26.5k
  }
6981
289k
yy226:
6982
289k
  YYDEBUG(226, *YYCURSOR);
6983
289k
  yyaccept = 5;
6984
289k
  yych = *(YYMARKER = ++YYCURSOR);
6985
289k
  if (yych <= 'n') {
6986
240k
    if (yych == '/') goto yy402;
6987
188k
    if (yych <= 'm') goto yy224;
6988
6.59k
    goto yy403;
6989
188k
  } else {
6990
48.4k
    if (yych <= 'r') {
6991
12.1k
      if (yych <= 'q') goto yy224;
6992
5.78k
      goto yy403;
6993
36.2k
    } else {
6994
36.2k
      if (yych <= 's') goto yy404;
6995
29.5k
      if (yych <= 't') goto yy405;
6996
22.6k
      goto yy224;
6997
29.5k
    }
6998
48.4k
  }
6999
101k
yy227:
7000
101k
  YYDEBUG(227, *YYCURSOR);
7001
101k
  yych = *++YYCURSOR;
7002
101k
  if (yych <= 'U') {
7003
45.5k
    if (yych == 'P') goto yy406;
7004
40.4k
    if (yych <= 'T') goto yy59;
7005
16.4k
    goto yy407;
7006
55.6k
  } else {
7007
55.6k
    if (yych <= 'p') {
7008
27.0k
      if (yych <= 'o') goto yy59;
7009
19.5k
      goto yy406;
7010
28.5k
    } else {
7011
28.5k
      if (yych == 'u') goto yy407;
7012
18.5k
      goto yy59;
7013
28.5k
    }
7014
55.6k
  }
7015
57.8k
yy228:
7016
57.8k
  YYDEBUG(228, *YYCURSOR);
7017
57.8k
  yych = *++YYCURSOR;
7018
57.8k
  if (yych == 'E') goto yy408;
7019
37.1k
  if (yych == 'e') goto yy408;
7020
23.1k
  goto yy59;
7021
38.5k
yy229:
7022
38.5k
  YYDEBUG(229, *YYCURSOR);
7023
38.5k
  yych = *++YYCURSOR;
7024
38.5k
  if (yych == 'E') goto yy409;
7025
32.8k
  if (yych == 'e') goto yy409;
7026
17.1k
  goto yy59;
7027
509k
yy230:
7028
509k
  YYDEBUG(230, *YYCURSOR);
7029
509k
  yych = *++YYCURSOR;
7030
509k
  if (yych <= 'U') {
7031
281k
    if (yych == 'A') goto yy410;
7032
241k
    if (yych <= 'T') goto yy59;
7033
206k
    goto yy411;
7034
241k
  } else {
7035
227k
    if (yych <= 'a') {
7036
25.6k
      if (yych <= '`') goto yy59;
7037
18.8k
      goto yy410;
7038
202k
    } else {
7039
202k
      if (yych == 'u') goto yy411;
7040
27.8k
      goto yy59;
7041
202k
    }
7042
227k
  }
7043
100k
yy231:
7044
100k
  YYDEBUG(231, *YYCURSOR);
7045
100k
  yych = *++YYCURSOR;
7046
100k
  if (yych == 'A') goto yy412;
7047
49.6k
  if (yych == 'a') goto yy412;
7048
19.2k
  goto yy59;
7049
67.7k
yy232:
7050
67.7k
  YYDEBUG(232, *YYCURSOR);
7051
67.7k
  yych = *++YYCURSOR;
7052
67.7k
  if (yych == 'O') goto yy413;
7053
54.8k
  if (yych == 'o') goto yy413;
7054
40.1k
  goto yy59;
7055
103k
yy233:
7056
103k
  YYDEBUG(233, *YYCURSOR);
7057
103k
  yych = *++YYCURSOR;
7058
103k
  if (yych == 'C') goto yy414;
7059
74.3k
  if (yych == 'c') goto yy414;
7060
48.6k
  goto yy59;
7061
115k
yy234:
7062
115k
  YYDEBUG(234, *YYCURSOR);
7063
115k
  yych = *++YYCURSOR;
7064
115k
  if (yych == 'E') goto yy415;
7065
110k
  if (yych == 'e') goto yy415;
7066
23.1k
  goto yy59;
7067
993k
yy235:
7068
993k
  YYDEBUG(235, *YYCURSOR);
7069
993k
  yych = *++YYCURSOR;
7070
993k
  if (yych <= '/') goto yy207;
7071
889k
  if (yych <= '0') goto yy416;
7072
663k
  if (yych <= '1') goto yy417;
7073
527k
  if (yych <= '9') goto yy214;
7074
297k
  goto yy207;
7075
10.0M
yy236:
7076
10.0M
  YYDEBUG(236, *YYCURSOR);
7077
10.0M
  yych = *++YYCURSOR;
7078
10.0M
  if (yych <= '9') {
7079
8.19M
    if (yych == '-') goto yy418;
7080
7.94M
    if (yych <= '/') goto yy196;
7081
6.70M
    goto yy419;
7082
7.94M
  } else {
7083
1.81M
    if (yych <= 0xC2) {
7084
1.57M
      if (yych <= 0xC1) goto yy196;
7085
35.9k
      goto yy97;
7086
1.57M
    } else {
7087
235k
      if (yych == 0xE2) goto yy98;
7088
212k
      goto yy196;
7089
235k
    }
7090
1.81M
  }
7091
11.6M
yy237:
7092
11.6M
  YYDEBUG(237, *YYCURSOR);
7093
11.6M
  yych = *++YYCURSOR;
7094
11.6M
  if (yych <= '9') {
7095
9.29M
    if (yych == '-') goto yy418;
7096
8.80M
    if (yych <= '/') goto yy196;
7097
7.48M
    goto yy421;
7098
8.80M
  } else {
7099
2.33M
    if (yych <= 0xC2) {
7100
2.09M
      if (yych <= 0xC1) goto yy196;
7101
40.1k
      goto yy97;
7102
2.09M
    } else {
7103
243k
      if (yych == 0xE2) goto yy98;
7104
210k
      goto yy196;
7105
243k
    }
7106
2.33M
  }
7107
533k
yy238:
7108
533k
  YYDEBUG(238, *YYCURSOR);
7109
533k
  yyaccept = 4;
7110
533k
  yych = *(YYMARKER = ++YYCURSOR);
7111
533k
  if (yych <= '/') {
7112
79.0k
    if (yych == '.') goto yy401;
7113
62.4k
    goto yy177;
7114
454k
  } else {
7115
454k
    if (yych <= '9') goto yy239;
7116
126k
    if (yych <= ':') goto yy401;
7117
72.6k
    goto yy177;
7118
126k
  }
7119
436k
yy239:
7120
436k
  YYDEBUG(239, *YYCURSOR);
7121
436k
  yyaccept = 4;
7122
436k
  yych = *(YYMARKER = ++YYCURSOR);
7123
436k
  if (yych == '.') goto yy401;
7124
408k
  if (yych == ':') goto yy401;
7125
242k
  goto yy177;
7126
242k
yy240:
7127
148k
  YYDEBUG(240, *YYCURSOR);
7128
148k
  yych = *++YYCURSOR;
7129
148k
  if (yych == 'R') goto yy423;
7130
134k
  if (yych == 'r') goto yy423;
7131
78.6k
  goto yy59;
7132
172k
yy241:
7133
172k
  YYDEBUG(241, *YYCURSOR);
7134
172k
  yych = *++YYCURSOR;
7135
172k
  if (yych == 'G') goto yy424;
7136
130k
  if (yych == 'g') goto yy424;
7137
72.3k
  goto yy59;
7138
238k
yy242:
7139
238k
  YYDEBUG(242, *YYCURSOR);
7140
238k
  yych = *++YYCURSOR;
7141
238k
  if (yych == 'Y') goto yy425;
7142
224k
  if (yych == 'y') goto yy425;
7143
204k
  goto yy59;
7144
204k
yy243:
7145
127k
  YYDEBUG(243, *YYCURSOR);
7146
127k
  yych = *++YYCURSOR;
7147
127k
  if (yych == 'C') goto yy426;
7148
116k
  if (yych == 'c') goto yy426;
7149
94.5k
  goto yy59;
7150
170k
yy244:
7151
170k
  YYDEBUG(244, *YYCURSOR);
7152
170k
  yych = *++YYCURSOR;
7153
170k
  if (yych == 'B') goto yy427;
7154
151k
  if (yych == 'b') goto yy427;
7155
81.8k
  goto yy59;
7156
263k
yy245:
7157
263k
  YYDEBUG(245, *YYCURSOR);
7158
263k
  yych = *++YYCURSOR;
7159
263k
  if (yych == 'R') goto yy428;
7160
233k
  if (yych == 'r') goto yy428;
7161
206k
  goto yy59;
7162
250k
yy246:
7163
250k
  YYDEBUG(246, *YYCURSOR);
7164
250k
  yych = *++YYCURSOR;
7165
250k
  if (yych == 'I') goto yy429;
7166
246k
  if (yych == 'i') goto yy429;
7167
240k
  goto yy59;
7168
240k
yy247:
7169
44.3k
  YYDEBUG(247, *YYCURSOR);
7170
44.3k
  yych = *++YYCURSOR;
7171
44.3k
  if (yych == 'U') goto yy430;
7172
40.7k
  if (yych == 'u') goto yy430;
7173
22.7k
  goto yy59;
7174
382k
yy248:
7175
382k
  YYDEBUG(248, *YYCURSOR);
7176
382k
  ++YYCURSOR;
7177
382k
  if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
7178
382k
  yych = *YYCURSOR;
7179
382k
  YYDEBUG(249, *YYCURSOR);
7180
382k
  if (yych <= ' ') {
7181
62.9k
    if (yych == '\t') goto yy248;
7182
35.0k
    if (yych <= 0x1F) goto yy59;
7183
9.78k
    goto yy248;
7184
319k
  } else {
7185
319k
    if (yych <= '.') {
7186
52.5k
      if (yych <= ',') goto yy59;
7187
27.5k
      goto yy248;
7188
266k
    } else {
7189
266k
      if (yych <= '/') goto yy59;
7190
255k
      if (yych >= ':') goto yy59;
7191
255k
    }
7192
319k
  }
7193
442k
yy250:
7194
442k
  YYDEBUG(250, *YYCURSOR);
7195
442k
  yych = *++YYCURSOR;
7196
442k
  if (yych <= '/') goto yy251;
7197
319k
  if (yych <= '9') goto yy431;
7198
442k
yy251:
7199
442k
  YYDEBUG(251, *YYCURSOR);
7200
442k
#line 1563 "ext/date/lib/parse_date.re"
7201
442k
  {
7202
442k
    int length = 0;
7203
442k
    DEBUG_OUTPUT("datefull");
7204
442k
    TIMELIB_INIT;
7205
442k
    TIMELIB_HAVE_DATE();
7206
56.6k
    s->time->d = timelib_get_nr(&ptr, 2);
7207
56.6k
    timelib_skip_day_suffix(&ptr);
7208
56.6k
    s->time->m = timelib_get_month(&ptr);
7209
56.6k
    s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
7210
56.6k
    TIMELIB_PROCESS_YEAR(s->time->y, length);
7211
56.6k
    TIMELIB_DEINIT;
7212
56.6k
    return TIMELIB_DATE_FULL;
7213
442k
  }
7214
0
#line 7215 "ext/date/lib/parse_date.c"
7215
111k
yy252:
7216
111k
  YYDEBUG(252, *YYCURSOR);
7217
111k
  yyaccept = 3;
7218
111k
  yych = *(YYMARKER = ++YYCURSOR);
7219
111k
  if (yych <= ',') {
7220
34.1k
    if (yych <= '\t') {
7221
18.8k
      if (yych <= 0x08) goto yy81;
7222
3.00k
      goto yy248;
7223
18.8k
    } else {
7224
15.2k
      if (yych == ' ') goto yy248;
7225
12.1k
      goto yy81;
7226
15.2k
    }
7227
77.0k
  } else {
7228
77.0k
    if (yych <= '9') {
7229
35.3k
      if (yych <= '.') goto yy248;
7230
21.8k
      if (yych <= '/') goto yy81;
7231
19.1k
      goto yy250;
7232
41.6k
    } else {
7233
41.6k
      if (yych != 'I') goto yy81;
7234
41.6k
    }
7235
77.0k
  }
7236
125k
yy253:
7237
125k
  YYDEBUG(253, *YYCURSOR);
7238
125k
  yyaccept = 3;
7239
125k
  yych = *(YYMARKER = ++YYCURSOR);
7240
125k
  if (yych <= ' ') {
7241
18.1k
    if (yych == '\t') goto yy248;
7242
13.8k
    if (yych <= 0x1F) goto yy81;
7243
4.23k
    goto yy248;
7244
107k
  } else {
7245
107k
    if (yych <= '.') {
7246
32.6k
      if (yych <= ',') goto yy81;
7247
19.8k
      goto yy248;
7248
75.1k
    } else {
7249
75.1k
      if (yych <= '/') goto yy81;
7250
69.1k
      if (yych <= '9') goto yy250;
7251
52.3k
      goto yy81;
7252
69.1k
    }
7253
107k
  }
7254
133k
yy254:
7255
133k
  YYDEBUG(254, *YYCURSOR);
7256
133k
  yych = *++YYCURSOR;
7257
133k
  if (yych == 'N') goto yy432;
7258
124k
  if (yych == 'n') goto yy432;
7259
64.1k
  goto yy59;
7260
250k
yy255:
7261
250k
  YYDEBUG(255, *YYCURSOR);
7262
250k
  yych = *++YYCURSOR;
7263
250k
  if (yych <= 'N') {
7264
80.1k
    if (yych == 'L') goto yy433;
7265
66.2k
    if (yych <= 'M') goto yy59;
7266
17.4k
    goto yy434;
7267
170k
  } else {
7268
170k
    if (yych <= 'l') {
7269
104k
      if (yych <= 'k') goto yy59;
7270
76.2k
      goto yy433;
7271
104k
    } else {
7272
66.2k
      if (yych == 'n') goto yy434;
7273
33.9k
      goto yy59;
7274
66.2k
    }
7275
170k
  }
7276
192k
yy256:
7277
192k
  YYDEBUG(256, *YYCURSOR);
7278
192k
  yych = *++YYCURSOR;
7279
192k
  if (yych <= 'Y') {
7280
79.1k
    if (yych == 'R') goto yy435;
7281
58.6k
    if (yych <= 'X') goto yy59;
7282
9.43k
    goto yy253;
7283
113k
  } else {
7284
113k
    if (yych <= 'r') {
7285
62.0k
      if (yych <= 'q') goto yy59;
7286
30.9k
      goto yy435;
7287
62.0k
    } else {
7288
51.4k
      if (yych == 'y') goto yy253;
7289
24.2k
      goto yy59;
7290
51.4k
    }
7291
113k
  }
7292
391k
yy257:
7293
391k
  YYDEBUG(257, *YYCURSOR);
7294
391k
  yych = *++YYCURSOR;
7295
391k
  if (yych <= 'N') {
7296
103k
    if (yych <= 'K') {
7297
80.6k
      if (yych == 'C') goto yy436;
7298
75.4k
      goto yy59;
7299
80.6k
    } else {
7300
22.4k
      if (yych <= 'L') goto yy437;
7301
16.1k
      if (yych <= 'M') goto yy59;
7302
11.7k
      goto yy438;
7303
16.1k
    }
7304
288k
  } else {
7305
288k
    if (yych <= 'k') {
7306
190k
      if (yych == 'c') goto yy436;
7307
121k
      goto yy59;
7308
190k
    } else {
7309
98.2k
      if (yych <= 'l') goto yy437;
7310
60.1k
      if (yych == 'n') goto yy438;
7311
36.7k
      goto yy59;
7312
60.1k
    }
7313
288k
  }
7314
109k
yy258:
7315
109k
  YYDEBUG(258, *YYCURSOR);
7316
109k
  yych = *++YYCURSOR;
7317
109k
  if (yych == 'N') goto yy439;
7318
100k
  if (yych == 'n') goto yy439;
7319
72.6k
  goto yy59;
7320
72.6k
yy259:
7321
46.2k
  YYDEBUG(259, *YYCURSOR);
7322
46.2k
  yyaccept = 6;
7323
46.2k
  yych = *(YYMARKER = ++YYCURSOR);
7324
46.2k
  if (yych == 'E') goto yy440;
7325
41.0k
  if (yych == 'e') goto yy440;
7326
433k
yy260:
7327
433k
  YYDEBUG(260, *YYCURSOR);
7328
433k
#line 1968 "ext/date/lib/parse_date.re"
7329
433k
  {
7330
433k
    timelib_ull i;
7331
433k
    DEBUG_OUTPUT("relative");
7332
433k
    TIMELIB_INIT;
7333
433k
    TIMELIB_HAVE_RELATIVE();
7334
7335
867k
    while(*ptr) {
7336
433k
      i = timelib_get_signed_nr(s, &ptr, 24);
7337
433k
      timelib_eat_spaces(&ptr);
7338
433k
      timelib_set_relative(&ptr, i, 1, s, TIMELIB_TIME_PART_KEEP);
7339
433k
    }
7340
433k
    TIMELIB_DEINIT;
7341
433k
    return TIMELIB_RELATIVE;
7342
41.0k
  }
7343
0
#line 7344 "ext/date/lib/parse_date.c"
7344
227k
yy261:
7345
227k
  YYDEBUG(261, *YYCURSOR);
7346
227k
  yych = *++YYCURSOR;
7347
227k
  if (yych == 'V') goto yy426;
7348
222k
  if (yych == 'v') goto yy426;
7349
181k
  goto yy59;
7350
181k
yy262:
7351
121k
  YYDEBUG(262, *YYCURSOR);
7352
121k
  yych = *++YYCURSOR;
7353
121k
  if (yych == 'T') goto yy441;
7354
100k
  if (yych == 't') goto yy441;
7355
49.0k
  goto yy59;
7356
117k
yy263:
7357
117k
  YYDEBUG(263, *YYCURSOR);
7358
117k
  yych = *++YYCURSOR;
7359
117k
  if (yych == 'T') goto yy442;
7360
114k
  if (yych == 't') goto yy442;
7361
91.9k
  goto yy59;
7362
270k
yy264:
7363
270k
  YYDEBUG(264, *YYCURSOR);
7364
270k
  yych = *++YYCURSOR;
7365
270k
  if (yych <= 'P') {
7366
65.7k
    if (yych == 'C') goto yy443;
7367
55.9k
    if (yych <= 'O') goto yy59;
7368
17.3k
    goto yy444;
7369
204k
  } else {
7370
204k
    if (yych <= 'c') {
7371
60.6k
      if (yych <= 'b') goto yy59;
7372
24.8k
      goto yy443;
7373
144k
    } else {
7374
144k
      if (yych == 'p') goto yy444;
7375
101k
      goto yy59;
7376
144k
    }
7377
204k
  }
7378
82.7k
yy265:
7379
82.7k
  YYDEBUG(265, *YYCURSOR);
7380
82.7k
  yych = *++YYCURSOR;
7381
82.7k
  if (yych == 'N') goto yy429;
7382
77.6k
  if (yych == 'n') goto yy429;
7383
73.5k
  goto yy59;
7384
252k
yy266:
7385
252k
  YYDEBUG(266, *YYCURSOR);
7386
252k
  yych = *++YYCURSOR;
7387
252k
  if (yych == 'U') goto yy445;
7388
246k
  if (yych == 'u') goto yy445;
7389
234k
  goto yy59;
7390
234k
yy267:
7391
127k
  YYDEBUG(267, *YYCURSOR);
7392
127k
  yych = *++YYCURSOR;
7393
127k
  if (yych == 'E') goto yy446;
7394
119k
  if (yych == 'e') goto yy446;
7395
92.6k
  goto yy59;
7396
92.6k
yy268:
7397
57.4k
  YYDEBUG(268, *YYCURSOR);
7398
57.4k
  yych = *++YYCURSOR;
7399
57.4k
  if (yych == 'E') goto yy440;
7400
56.1k
  if (yych == 'e') goto yy440;
7401
49.4k
  goto yy59;
7402
228k
yy269:
7403
228k
  YYDEBUG(269, *YYCURSOR);
7404
228k
  yych = *++YYCURSOR;
7405
228k
  if (yych <= 'E') {
7406
48.9k
    if (yych <= 'C') goto yy59;
7407
18.2k
    if (yych <= 'D') goto yy447;
7408
8.02k
    goto yy448;
7409
179k
  } else {
7410
179k
    if (yych <= 'c') goto yy59;
7411
161k
    if (yych <= 'd') goto yy447;
7412
125k
    if (yych <= 'e') goto yy448;
7413
63.9k
    goto yy59;
7414
125k
  }
7415
305k
yy270:
7416
305k
  YYDEBUG(270, *YYCURSOR);
7417
305k
  yych = *++YYCURSOR;
7418
305k
  if (yych == 'A') goto yy430;
7419
293k
  if (yych == 'a') goto yy430;
7420
290k
  goto yy59;
7421
290k
yy271:
7422
174k
  YYDEBUG(271, *YYCURSOR);
7423
174k
  yych = *++YYCURSOR;
7424
174k
  if (yych <= ',') {
7425
36.4k
    if (yych == '\t') goto yy287;
7426
26.5k
    goto yy207;
7427
138k
  } else {
7428
138k
    if (yych <= '-') goto yy449;
7429
103k
    if (yych <= '.') goto yy287;
7430
98.0k
    if (yych <= '/') goto yy280;
7431
94.7k
    goto yy207;
7432
98.0k
  }
7433
122k
yy272:
7434
122k
  YYDEBUG(272, *YYCURSOR);
7435
122k
  yych = *++YYCURSOR;
7436
122k
  if (yych <= '.') {
7437
34.1k
    if (yych <= '\t') {
7438
7.26k
      if (yych <= 0x08) goto yy207;
7439
3.19k
      goto yy287;
7440
26.8k
    } else {
7441
26.8k
      if (yych <= ',') goto yy207;
7442
15.7k
      if (yych <= '-') goto yy449;
7443
3.05k
      goto yy287;
7444
15.7k
    }
7445
88.7k
  } else {
7446
88.7k
    if (yych <= 'U') {
7447
24.7k
      if (yych <= '/') goto yy280;
7448
19.8k
      if (yych <= 'T') goto yy207;
7449
3.95k
      goto yy445;
7450
64.0k
    } else {
7451
64.0k
      if (yych == 'u') goto yy445;
7452
55.7k
      goto yy207;
7453
64.0k
    }
7454
88.7k
  }
7455
478k
yy273:
7456
478k
  YYDEBUG(273, *YYCURSOR);
7457
478k
  ++YYCURSOR;
7458
478k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
7459
478k
  yych = *YYCURSOR;
7460
478k
  if (yych <= 'c') {
7461
290k
    if (yych <= 'M') {
7462
171k
      if (yych <= 'F') {
7463
114k
        if (yych == 'D') goto yy198;
7464
105k
        if (yych <= 'E') goto yy59;
7465
18.3k
        goto yy199;
7466
105k
      } else {
7467
56.8k
        if (yych == 'H') goto yy79;
7468
48.1k
        if (yych <= 'L') goto yy59;
7469
13.8k
        goto yy200;
7470
48.1k
      }
7471
171k
    } else {
7472
119k
      if (yych <= 'U') {
7473
60.4k
        if (yych <= 'R') goto yy59;
7474
34.2k
        if (yych <= 'S') goto yy201;
7475
18.5k
        if (yych <= 'T') goto yy87;
7476
4.34k
        goto yy88;
7477
58.7k
      } else {
7478
58.7k
        if (yych <= 'W') {
7479
20.5k
          if (yych <= 'V') goto yy59;
7480
10.6k
          goto yy90;
7481
38.2k
        } else {
7482
38.2k
          if (yych == 'Y') goto yy92;
7483
33.2k
          goto yy59;
7484
38.2k
        }
7485
58.7k
      }
7486
119k
    }
7487
290k
  } else {
7488
188k
    if (yych <= 's') {
7489
88.1k
      if (yych <= 'g') {
7490
23.2k
        if (yych <= 'd') goto yy198;
7491
14.7k
        if (yych == 'f') goto yy199;
7492
8.53k
        goto yy59;
7493
64.9k
      } else {
7494
64.9k
        if (yych <= 'l') {
7495
33.4k
          if (yych <= 'h') goto yy79;
7496
21.2k
          goto yy59;
7497
33.4k
        } else {
7498
31.5k
          if (yych <= 'm') goto yy200;
7499
20.8k
          if (yych <= 'r') goto yy59;
7500
7.25k
          goto yy201;
7501
20.8k
        }
7502
64.9k
      }
7503
100k
    } else {
7504
100k
      if (yych <= 'w') {
7505
26.1k
        if (yych <= 't') goto yy87;
7506
14.8k
        if (yych <= 'u') goto yy88;
7507
12.3k
        if (yych <= 'v') goto yy59;
7508
6.05k
        goto yy90;
7509
73.8k
      } else {
7510
73.8k
        if (yych <= 'y') {
7511
13.3k
          if (yych <= 'x') goto yy59;
7512
8.98k
          goto yy92;
7513
60.4k
        } else {
7514
60.4k
          if (yych == 0xC2) goto yy97;
7515
29.9k
          goto yy59;
7516
60.4k
        }
7517
73.8k
      }
7518
100k
    }
7519
188k
  }
7520
25.4k
yy274:
7521
25.4k
  YYDEBUG(274, *YYCURSOR);
7522
25.4k
  yych = *++YYCURSOR;
7523
25.4k
  if (yych == 'S') goto yy259;
7524
21.8k
  if (yych == 's') goto yy259;
7525
20.6k
  goto yy59;
7526
507k
yy275:
7527
507k
  YYDEBUG(275, *YYCURSOR);
7528
507k
  ++YYCURSOR;
7529
507k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
7530
507k
  yych = *YYCURSOR;
7531
507k
  if (yych == 0xAF) goto yy450;
7532
126k
  goto yy59;
7533
323k
yy276:
7534
323k
  YYDEBUG(276, *YYCURSOR);
7535
323k
  yyaccept = 4;
7536
323k
  yych = *(YYMARKER = ++YYCURSOR);
7537
323k
  if (yych <= '.') {
7538
141k
    if (yych <= ',') goto yy177;
7539
102k
    if (yych <= '-') goto yy396;
7540
91.7k
    goto yy451;
7541
181k
  } else {
7542
181k
    if (yych <= '/') goto yy177;
7543
173k
    if (yych <= '9') goto yy452;
7544
61.7k
    if (yych <= ':') goto yy453;
7545
37.7k
    goto yy177;
7546
61.7k
  }
7547
286k
yy277:
7548
286k
  YYDEBUG(277, *YYCURSOR);
7549
286k
  yyaccept = 4;
7550
286k
  yych = *(YYMARKER = ++YYCURSOR);
7551
286k
  if (yych <= '/') {
7552
72.5k
    if (yych <= ',') goto yy177;
7553
56.9k
    if (yych <= '-') goto yy396;
7554
45.8k
    if (yych <= '.') goto yy451;
7555
2.32k
    goto yy177;
7556
213k
  } else {
7557
213k
    if (yych <= '2') goto yy452;
7558
73.9k
    if (yych <= '9') goto yy454;
7559
43.2k
    if (yych <= ':') goto yy453;
7560
30.8k
    goto yy177;
7561
43.2k
  }
7562
258k
yy278:
7563
258k
  YYDEBUG(278, *YYCURSOR);
7564
258k
  yyaccept = 4;
7565
258k
  yych = *(YYMARKER = ++YYCURSOR);
7566
258k
  if (yych <= '.') {
7567
60.5k
    if (yych <= ',') goto yy177;
7568
47.1k
    if (yych <= '-') goto yy396;
7569
40.1k
    goto yy451;
7570
197k
  } else {
7571
197k
    if (yych <= '/') goto yy177;
7572
187k
    if (yych <= '9') goto yy454;
7573
47.2k
    if (yych <= ':') goto yy453;
7574
36.3k
    goto yy177;
7575
47.2k
  }
7576
104k
yy279:
7577
104k
  YYDEBUG(279, *YYCURSOR);
7578
104k
  yyaccept = 4;
7579
104k
  yych = *(YYMARKER = ++YYCURSOR);
7580
104k
  if (yych <= '.') {
7581
52.8k
    if (yych <= ',') goto yy177;
7582
42.7k
    if (yych <= '-') goto yy396;
7583
34.1k
    goto yy451;
7584
51.9k
  } else {
7585
51.9k
    if (yych == ':') goto yy453;
7586
46.0k
    goto yy177;
7587
51.9k
  }
7588
264k
yy280:
7589
264k
  YYDEBUG(280, *YYCURSOR);
7590
264k
  yych = *++YYCURSOR;
7591
264k
  switch (yych) {
7592
12.1k
  case 'A':
7593
18.7k
  case 'a': goto yy227;
7594
7.69k
  case 'D':
7595
17.1k
  case 'd': goto yy228;
7596
3.77k
  case 'F':
7597
7.12k
  case 'f': goto yy229;
7598
40.4k
  case 'J':
7599
73.7k
  case 'j': goto yy230;
7600
6.06k
  case 'M':
7601
20.9k
  case 'm': goto yy231;
7602
7.40k
  case 'N':
7603
10.0k
  case 'n': goto yy232;
7604
14.4k
  case 'O':
7605
17.8k
  case 'o': goto yy233;
7606
12.4k
  case 'S':
7607
21.2k
  case 's': goto yy234;
7608
77.7k
  default:  goto yy59;
7609
264k
  }
7610
1.19M
yy281:
7611
1.19M
  YYDEBUG(281, *YYCURSOR);
7612
1.19M
  yyaccept = 4;
7613
1.19M
  yych = *(YYMARKER = ++YYCURSOR);
7614
1.19M
  if (yych <= '/') {
7615
124k
    if (yych == '.') goto yy453;
7616
106k
    goto yy177;
7617
1.07M
  } else {
7618
1.07M
    if (yych <= '9') goto yy455;
7619
251k
    if (yych <= ':') goto yy453;
7620
163k
    goto yy177;
7621
251k
  }
7622
157k
yy282:
7623
157k
  YYDEBUG(282, *YYCURSOR);
7624
157k
  yyaccept = 4;
7625
157k
  yych = *(YYMARKER = ++YYCURSOR);
7626
157k
  if (yych == '.') goto yy453;
7627
151k
  if (yych == ':') goto yy453;
7628
120k
  goto yy177;
7629
120k
yy283:
7630
63.9k
  YYDEBUG(283, *YYCURSOR);
7631
63.9k
  yych = *++YYCURSOR;
7632
63.9k
  if (yych == 'M') goto yy284;
7633
56.0k
  if (yych != 'm') goto yy59;
7634
195k
yy284:
7635
195k
  YYDEBUG(284, *YYCURSOR);
7636
195k
  yych = *++YYCURSOR;
7637
195k
  if (yych <= 0x1F) {
7638
59.2k
    if (yych <= 0x00) goto yy456;
7639
38.7k
    if (yych == '\t') goto yy456;
7640
25.0k
    goto yy59;
7641
136k
  } else {
7642
136k
    if (yych <= ' ') goto yy456;
7643
126k
    if (yych == '.') goto yy458;
7644
81.0k
    goto yy59;
7645
126k
  }
7646
344k
yy285:
7647
344k
  YYDEBUG(285, *YYCURSOR);
7648
344k
  ++YYCURSOR;
7649
344k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
7650
344k
  yych = *YYCURSOR;
7651
344k
  if (yych <= '`') {
7652
177k
    if (yych <= 'M') {
7653
119k
      if (yych <= 'E') {
7654
61.5k
        if (yych <= 'A') {
7655
56.3k
          if (yych <= '@') goto yy59;
7656
10.1k
          goto yy106;
7657
56.3k
        } else {
7658
5.23k
          if (yych == 'D') goto yy198;
7659
3.16k
          goto yy59;
7660
5.23k
        }
7661
61.5k
      } else {
7662
58.2k
        if (yych <= 'G') {
7663
41.3k
          if (yych <= 'F') goto yy199;
7664
32.5k
          goto yy59;
7665
41.3k
        } else {
7666
16.9k
          if (yych <= 'H') goto yy79;
7667
12.6k
          if (yych <= 'L') goto yy59;
7668
7.70k
          goto yy200;
7669
12.6k
        }
7670
58.2k
      }
7671
119k
    } else {
7672
58.0k
      if (yych <= 'T') {
7673
31.9k
        if (yych <= 'P') {
7674
15.2k
          if (yych <= 'O') goto yy59;
7675
9.44k
          goto yy106;
7676
16.7k
        } else {
7677
16.7k
          if (yych <= 'R') goto yy59;
7678
13.1k
          if (yych <= 'S') goto yy201;
7679
7.48k
          goto yy87;
7680
13.1k
        }
7681
31.9k
      } else {
7682
26.0k
        if (yych <= 'W') {
7683
13.4k
          if (yych <= 'U') goto yy88;
7684
10.1k
          if (yych <= 'V') goto yy59;
7685
4.25k
          goto yy90;
7686
12.6k
        } else {
7687
12.6k
          if (yych == 'Y') goto yy92;
7688
8.65k
          goto yy59;
7689
12.6k
        }
7690
26.0k
      }
7691
58.0k
    }
7692
177k
  } else {
7693
166k
    if (yych <= 'p') {
7694
69.4k
      if (yych <= 'f') {
7695
37.9k
        if (yych <= 'c') {
7696
18.3k
          if (yych <= 'a') goto yy106;
7697
1.61k
          goto yy59;
7698
19.5k
        } else {
7699
19.5k
          if (yych <= 'd') goto yy198;
7700
13.8k
          if (yych <= 'e') goto yy59;
7701
6.75k
          goto yy199;
7702
13.8k
        }
7703
37.9k
      } else {
7704
31.5k
        if (yych <= 'l') {
7705
10.5k
          if (yych == 'h') goto yy79;
7706
4.07k
          goto yy59;
7707
20.9k
        } else {
7708
20.9k
          if (yych <= 'm') goto yy200;
7709
14.1k
          if (yych <= 'o') goto yy59;
7710
9.28k
          goto yy106;
7711
14.1k
        }
7712
31.5k
      }
7713
96.7k
    } else {
7714
96.7k
      if (yych <= 'v') {
7715
20.7k
        if (yych <= 's') {
7716
7.61k
          if (yych <= 'r') goto yy59;
7717
4.71k
          goto yy201;
7718
13.1k
        } else {
7719
13.1k
          if (yych <= 't') goto yy87;
7720
4.93k
          if (yych <= 'u') goto yy88;
7721
3.76k
          goto yy59;
7722
4.93k
        }
7723
75.9k
      } else {
7724
75.9k
        if (yych <= 'y') {
7725
19.0k
          if (yych <= 'w') goto yy90;
7726
15.6k
          if (yych <= 'x') goto yy59;
7727
9.42k
          goto yy92;
7728
56.9k
        } else {
7729
56.9k
          if (yych == 0xC2) goto yy107;
7730
21.9k
          goto yy59;
7731
56.9k
        }
7732
75.9k
      }
7733
96.7k
    }
7734
166k
  }
7735
269k
yy286:
7736
269k
  YYDEBUG(286, *YYCURSOR);
7737
269k
  ++YYCURSOR;
7738
269k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
7739
269k
  yych = *YYCURSOR;
7740
269k
  if (yych == 0xAF) goto yy459;
7741
60.7k
  goto yy59;
7742
73.5k
yy287:
7743
73.5k
  YYDEBUG(287, *YYCURSOR);
7744
73.5k
  yych = *++YYCURSOR;
7745
73.5k
  if (yych <= '/') goto yy207;
7746
64.3k
  if (yych <= '0') goto yy208;
7747
42.3k
  if (yych <= '1') goto yy209;
7748
32.3k
  if (yych <= '9') goto yy210;
7749
17.9k
  goto yy207;
7750
849k
yy288:
7751
849k
  YYDEBUG(288, *YYCURSOR);
7752
849k
  yych = *++YYCURSOR;
7753
849k
  switch (yych) {
7754
160k
  case '0': goto yy460;
7755
87.2k
  case '1': goto yy461;
7756
41.5k
  case '2':
7757
68.9k
  case '3':
7758
95.7k
  case '4':
7759
109k
  case '5':
7760
122k
  case '6':
7761
132k
  case '7':
7762
141k
  case '8':
7763
153k
  case '9': goto yy462;
7764
37.1k
  case 'A':
7765
43.1k
  case 'a': goto yy463;
7766
7.51k
  case 'D':
7767
19.1k
  case 'd': goto yy464;
7768
20.6k
  case 'F':
7769
36.1k
  case 'f': goto yy465;
7770
36.6k
  case 'J':
7771
56.3k
  case 'j': goto yy466;
7772
21.5k
  case 'M':
7773
40.4k
  case 'm': goto yy467;
7774
17.6k
  case 'N':
7775
26.2k
  case 'n': goto yy468;
7776
11.2k
  case 'O':
7777
19.4k
  case 'o': goto yy469;
7778
19.9k
  case 'S':
7779
51.3k
  case 's': goto yy470;
7780
156k
  default:  goto yy59;
7781
849k
  }
7782
75.5k
yy289:
7783
75.5k
  YYDEBUG(289, *YYCURSOR);
7784
75.5k
  yych = *++YYCURSOR;
7785
75.5k
  if (yych <= '/') goto yy290;
7786
60.0k
  if (yych <= '9') goto yy471;
7787
75.5k
yy290:
7788
75.5k
  YYDEBUG(290, *YYCURSOR);
7789
75.5k
#line 1247 "ext/date/lib/parse_date.re"
7790
75.5k
  {
7791
75.5k
    timelib_sll i;
7792
75.5k
    timelib_ull us;
7793
75.5k
    const char *ptr_before;
7794
75.5k
    bool is_negative;
7795
7796
75.5k
    TIMELIB_INIT;
7797
75.5k
    TIMELIB_HAVE_RELATIVE();
7798
75.5k
    TIMELIB_UNHAVE_DATE();
7799
75.5k
    TIMELIB_UNHAVE_TIME();
7800
75.5k
    TIMELIB_HAVE_TZ();
7801
7802
215
    is_negative = *(ptr + 1) == '-';
7803
7804
215
    i = timelib_get_signed_nr(s, &ptr, 24);
7805
7806
215
    ptr_before = ptr;
7807
215
    us = timelib_get_signed_nr(s, &ptr, 6);
7808
215
    us = us * pow(10, 7 - (ptr - ptr_before));
7809
215
    if (is_negative) {
7810
9
      us *= -1;
7811
9
    }
7812
7813
215
    s->time->y = 1970;
7814
215
    s->time->m = 1;
7815
215
    s->time->d = 1;
7816
215
    s->time->h = s->time->i = s->time->s = 0;
7817
215
    s->time->us = 0;
7818
215
    s->time->relative.s += i;
7819
215
    s->time->relative.us = us;
7820
215
    s->time->is_localtime = 1;
7821
215
    s->time->zone_type = TIMELIB_ZONETYPE_OFFSET;
7822
215
    s->time->z = 0;
7823
215
    s->time->dst = 0;
7824
7825
215
    TIMELIB_DEINIT;
7826
215
    return TIMELIB_RELATIVE;
7827
75.5k
  }
7828
0
#line 7829 "ext/date/lib/parse_date.c"
7829
37.3M
yy291:
7830
37.3M
  YYDEBUG(291, *YYCURSOR);
7831
37.3M
  yych = *++YYCURSOR;
7832
37.3M
  if (yych <= '@') {
7833
10.9M
    if (yych == ')') goto yy115;
7834
10.6M
    goto yy20;
7835
26.4M
  } else {
7836
26.4M
    if (yych <= 'Z') goto yy472;
7837
19.0M
    if (yych <= '`') goto yy20;
7838
17.7M
    if (yych <= 'z') goto yy472;
7839
2.46M
    goto yy20;
7840
17.7M
  }
7841
26.5k
yy292:
7842
26.5k
  YYDEBUG(292, *YYCURSOR);
7843
26.5k
  yych = *++YYCURSOR;
7844
26.5k
  if (yych <= '@') {
7845
12.0k
    if (yych == ')') goto yy115;
7846
14.5k
  } else {
7847
14.5k
    if (yych <= 'Z') goto yy472;
7848
10.1k
    if (yych <= '`') goto yy293;
7849
6.61k
    if (yych <= 'z') goto yy472;
7850
6.61k
  }
7851
75.2k
yy293:
7852
75.2k
  YYDEBUG(293, *YYCURSOR);
7853
75.2k
#line 1809 "ext/date/lib/parse_date.re"
7854
75.2k
  {
7855
75.2k
    DEBUG_OUTPUT("ago");
7856
75.2k
    TIMELIB_INIT;
7857
75.2k
    s->time->relative.y = 0 - s->time->relative.y;
7858
75.2k
    s->time->relative.m = 0 - s->time->relative.m;
7859
75.2k
    s->time->relative.d = 0 - s->time->relative.d;
7860
75.2k
    s->time->relative.h = 0 - s->time->relative.h;
7861
75.2k
    s->time->relative.i = 0 - s->time->relative.i;
7862
75.2k
    s->time->relative.s = 0 - s->time->relative.s;
7863
75.2k
    s->time->relative.weekday = 0 - s->time->relative.weekday;
7864
75.2k
    if (s->time->relative.weekday == 0) {
7865
4.37k
      s->time->relative.weekday = -7;
7866
4.37k
    }
7867
75.2k
    if (s->time->relative.have_special_relative && s->time->relative.special.type == TIMELIB_SPECIAL_WEEKDAY) {
7868
7.87k
      s->time->relative.special.amount = 0 - s->time->relative.special.amount;
7869
7.87k
    }
7870
75.2k
    TIMELIB_DEINIT;
7871
75.2k
    return TIMELIB_AGO;
7872
26.5k
  }
7873
0
#line 7874 "ext/date/lib/parse_date.c"
7874
115k
yy294:
7875
115k
  YYDEBUG(294, *YYCURSOR);
7876
115k
  yyaccept = 7;
7877
115k
  yych = *(YYMARKER = ++YYCURSOR);
7878
115k
  if (yych <= '/') {
7879
43.5k
    if (yych <= '(') {
7880
12.8k
      if (yych <= '\t') {
7881
4.71k
        if (yych >= '\t') goto yy142;
7882
8.15k
      } else {
7883
8.15k
        if (yych == ' ') goto yy142;
7884
8.15k
      }
7885
30.6k
    } else {
7886
30.6k
      if (yych <= ',') {
7887
9.74k
        if (yych <= ')') goto yy115;
7888
20.9k
      } else {
7889
20.9k
        if (yych <= '-') goto yy473;
7890
5.55k
        if (yych <= '.') goto yy142;
7891
5.55k
      }
7892
30.6k
    }
7893
72.0k
  } else {
7894
72.0k
    if (yych <= 'Z') {
7895
26.2k
      if (yych <= '@') {
7896
9.74k
        if (yych <= '9') goto yy142;
7897
16.5k
      } else {
7898
16.5k
        if (yych == 'I') goto yy474;
7899
6.77k
        goto yy472;
7900
16.5k
      }
7901
45.7k
    } else {
7902
45.7k
      if (yych <= 'h') {
7903
9.01k
        if (yych >= 'a') goto yy472;
7904
36.7k
      } else {
7905
36.7k
        if (yych <= 'i') goto yy474;
7906
14.1k
        if (yych <= 'z') goto yy472;
7907
14.1k
      }
7908
45.7k
    }
7909
72.0k
  }
7910
1.87M
yy295:
7911
1.87M
  YYDEBUG(295, *YYCURSOR);
7912
1.87M
#line 1889 "ext/date/lib/parse_date.re"
7913
1.87M
  {
7914
1.87M
    DEBUG_OUTPUT("monthtext");
7915
1.87M
    TIMELIB_INIT;
7916
1.87M
    TIMELIB_HAVE_DATE();
7917
157k
    s->time->m = timelib_lookup_month(&ptr);
7918
157k
    TIMELIB_DEINIT;
7919
157k
    return TIMELIB_DATE_TEXT;
7920
1.87M
  }
7921
0
#line 7922 "ext/date/lib/parse_date.c"
7922
154k
yy296:
7923
154k
  YYDEBUG(296, *YYCURSOR);
7924
154k
  yyaccept = 7;
7925
154k
  yych = *(YYMARKER = ++YYCURSOR);
7926
154k
  if (yych <= '/') {
7927
55.1k
    if (yych <= '(') {
7928
16.8k
      if (yych <= '\t') {
7929
8.59k
        if (yych <= 0x08) goto yy295;
7930
1.51k
        goto yy142;
7931
8.59k
      } else {
7932
8.23k
        if (yych == ' ') goto yy142;
7933
5.11k
        goto yy295;
7934
8.23k
      }
7935
38.2k
    } else {
7936
38.2k
      if (yych <= ',') {
7937
3.37k
        if (yych <= ')') goto yy115;
7938
2.33k
        goto yy295;
7939
34.9k
      } else {
7940
34.9k
        if (yych <= '-') goto yy473;
7941
4.93k
        if (yych <= '.') goto yy142;
7942
3.32k
        goto yy295;
7943
4.93k
      }
7944
38.2k
    }
7945
99.6k
  } else {
7946
99.6k
    if (yych <= 'Z') {
7947
37.2k
      if (yych <= '@') {
7948
14.6k
        if (yych <= '9') goto yy142;
7949
3.94k
        goto yy295;
7950
22.6k
      } else {
7951
22.6k
        if (yych == 'U') goto yy475;
7952
3.36k
        goto yy472;
7953
22.6k
      }
7954
62.3k
    } else {
7955
62.3k
      if (yych <= 't') {
7956
8.15k
        if (yych <= '`') goto yy295;
7957
5.90k
        goto yy472;
7958
54.2k
      } else {
7959
54.2k
        if (yych <= 'u') goto yy475;
7960
12.8k
        if (yych <= 'z') goto yy472;
7961
7.67k
        goto yy295;
7962
12.8k
      }
7963
62.3k
    }
7964
99.6k
  }
7965
2.08M
yy297:
7966
2.08M
  YYDEBUG(297, *YYCURSOR);
7967
2.08M
  ++YYCURSOR;
7968
2.08M
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
7969
2.08M
  yych = *YYCURSOR;
7970
2.08M
  if (yybm[0+yych] & 64) {
7971
947k
    goto yy476;
7972
947k
  }
7973
1.13M
  goto yy59;
7974
6.41M
yy298:
7975
6.41M
  YYDEBUG(298, *YYCURSOR);
7976
6.41M
  yyaccept = 2;
7977
6.41M
  yych = *(YYMARKER = ++YYCURSOR);
7978
6.41M
  if (yych <= '/') {
7979
1.00M
    if (yych <= ',') {
7980
864k
      if (yych == ')') goto yy115;
7981
819k
      goto yy20;
7982
864k
    } else {
7983
140k
      if (yych == '.') goto yy20;
7984
110k
      goto yy297;
7985
140k
    }
7986
5.41M
  } else {
7987
5.41M
    if (yych <= '^') {
7988
1.22M
      if (yych <= '@') goto yy20;
7989
730k
      if (yych <= 'Z') goto yy472;
7990
89.7k
      goto yy20;
7991
4.18M
    } else {
7992
4.18M
      if (yych <= '_') goto yy297;
7993
4.14M
      if (yych <= '`') goto yy20;
7994
4.06M
      if (yych <= 'z') goto yy478;
7995
324k
      goto yy20;
7996
4.06M
    }
7997
5.41M
  }
7998
71.9k
yy299:
7999
71.9k
  YYDEBUG(299, *YYCURSOR);
8000
71.9k
  yyaccept = 8;
8001
71.9k
  yych = *(YYMARKER = ++YYCURSOR);
8002
71.9k
  if (yych <= '/') {
8003
20.8k
    if (yych <= ',') {
8004
12.8k
      if (yych == ')') goto yy115;
8005
9.93k
      goto yy293;
8006
12.8k
    } else {
8007
7.98k
      if (yych == '.') goto yy293;
8008
2.93k
      goto yy297;
8009
7.98k
    }
8010
51.1k
  } else {
8011
51.1k
    if (yych <= '^') {
8012
14.4k
      if (yych <= '@') goto yy293;
8013
8.40k
      if (yych <= 'Z') goto yy472;
8014
5.24k
      goto yy293;
8015
36.6k
    } else {
8016
36.6k
      if (yych <= '_') goto yy297;
8017
16.2k
      if (yych <= '`') goto yy293;
8018
11.3k
      if (yych <= 'z') goto yy478;
8019
4.02k
      goto yy293;
8020
11.3k
    }
8021
51.1k
  }
8022
201k
yy300:
8023
201k
  YYDEBUG(300, *YYCURSOR);
8024
201k
  yyaccept = 7;
8025
201k
  yych = *(YYMARKER = ++YYCURSOR);
8026
201k
  if (yych <= '9') {
8027
48.8k
    if (yych <= '(') {
8028
16.4k
      if (yych <= '\t') {
8029
9.63k
        if (yych <= 0x08) goto yy295;
8030
4.41k
        goto yy142;
8031
9.63k
      } else {
8032
6.80k
        if (yych == ' ') goto yy142;
8033
4.21k
        goto yy295;
8034
6.80k
      }
8035
32.3k
    } else {
8036
32.3k
      if (yych <= '-') {
8037
18.5k
        if (yych <= ')') goto yy115;
8038
15.9k
        if (yych <= ',') goto yy295;
8039
13.6k
        goto yy479;
8040
15.9k
      } else {
8041
13.8k
        if (yych == '/') goto yy297;
8042
11.3k
        goto yy142;
8043
13.8k
      }
8044
32.3k
    }
8045
152k
  } else {
8046
152k
    if (yych <= '^') {
8047
24.7k
      if (yych <= 'H') {
8048
6.53k
        if (yych <= '@') goto yy295;
8049
2.08k
        goto yy472;
8050
18.2k
      } else {
8051
18.2k
        if (yych <= 'I') goto yy474;
8052
3.48k
        if (yych <= 'Z') goto yy472;
8053
860
        goto yy295;
8054
3.48k
      }
8055
127k
    } else {
8056
127k
      if (yych <= 'h') {
8057
13.3k
        if (yych <= '_') goto yy297;
8058
11.6k
        if (yych <= '`') goto yy295;
8059
8.52k
        goto yy478;
8060
114k
      } else {
8061
114k
        if (yych <= 'i') goto yy480;
8062
16.8k
        if (yych <= 'z') goto yy478;
8063
5.03k
        goto yy295;
8064
16.8k
      }
8065
127k
    }
8066
152k
  }
8067
255k
yy301:
8068
255k
  YYDEBUG(301, *YYCURSOR);
8069
255k
  yyaccept = 7;
8070
255k
  yych = *(YYMARKER = ++YYCURSOR);
8071
255k
  if (yych <= '9') {
8072
39.5k
    if (yych <= '(') {
8073
9.96k
      if (yych <= '\t') {
8074
5.98k
        if (yych <= 0x08) goto yy295;
8075
2.85k
        goto yy142;
8076
5.98k
      } else {
8077
3.97k
        if (yych == ' ') goto yy142;
8078
3.34k
        goto yy295;
8079
3.97k
      }
8080
29.5k
    } else {
8081
29.5k
      if (yych <= '-') {
8082
9.76k
        if (yych <= ')') goto yy115;
8083
7.24k
        if (yych <= ',') goto yy295;
8084
5.86k
        goto yy479;
8085
19.7k
      } else {
8086
19.7k
        if (yych == '/') goto yy297;
8087
12.5k
        goto yy142;
8088
19.7k
      }
8089
29.5k
    }
8090
216k
  } else {
8091
216k
    if (yych <= '^') {
8092
42.7k
      if (yych <= 'T') {
8093
13.4k
        if (yych <= '@') goto yy295;
8094
3.03k
        goto yy472;
8095
29.3k
      } else {
8096
29.3k
        if (yych <= 'U') goto yy475;
8097
3.63k
        if (yych <= 'Z') goto yy472;
8098
1.92k
        goto yy295;
8099
3.63k
      }
8100
173k
    } else {
8101
173k
      if (yych <= 't') {
8102
14.6k
        if (yych <= '_') goto yy297;
8103
12.3k
        if (yych <= '`') goto yy295;
8104
8.12k
        goto yy478;
8105
159k
      } else {
8106
159k
        if (yych <= 'u') goto yy481;
8107
9.70k
        if (yych <= 'z') goto yy478;
8108
4.50k
        goto yy295;
8109
9.70k
      }
8110
173k
    }
8111
216k
  }
8112
192k
yy302:
8113
192k
  YYDEBUG(302, *YYCURSOR);
8114
192k
  yych = *++YYCURSOR;
8115
192k
  if (yych <= 'K') {
8116
48.0k
    if (yych <= ')') {
8117
16.0k
      if (yych <= '(') goto yy20;
8118
3.42k
      goto yy115;
8119
31.9k
    } else {
8120
31.9k
      if (yych <= '@') goto yy20;
8121
22.8k
      if (yych <= 'J') goto yy472;
8122
17.1k
      goto yy482;
8123
22.8k
    }
8124
144k
  } else {
8125
144k
    if (yych <= 'j') {
8126
19.1k
      if (yych <= 'Z') goto yy472;
8127
7.50k
      if (yych <= '`') goto yy20;
8128
5.57k
      goto yy472;
8129
125k
    } else {
8130
125k
      if (yych <= 'k') goto yy482;
8131
9.86k
      if (yych <= 'z') goto yy472;
8132
5.98k
      goto yy20;
8133
9.86k
    }
8134
144k
  }
8135
142k
yy303:
8136
142k
  YYDEBUG(303, *YYCURSOR);
8137
142k
  yyaccept = 2;
8138
142k
  yych = *(YYMARKER = ++YYCURSOR);
8139
142k
  if (yych <= 'J') {
8140
24.0k
    if (yych <= '-') {
8141
12.2k
      if (yych == ')') goto yy115;
8142
9.76k
      if (yych <= ',') goto yy20;
8143
1.41k
      goto yy297;
8144
11.8k
    } else {
8145
11.8k
      if (yych == '/') goto yy297;
8146
5.76k
      if (yych <= '@') goto yy20;
8147
2.72k
      goto yy472;
8148
5.76k
    }
8149
118k
  } else {
8150
118k
    if (yych <= '_') {
8151
12.0k
      if (yych <= 'K') goto yy482;
8152
8.43k
      if (yych <= 'Z') goto yy472;
8153
5.99k
      if (yych <= '^') goto yy20;
8154
1.82k
      goto yy297;
8155
106k
    } else {
8156
106k
      if (yych <= 'j') {
8157
5.36k
        if (yych <= '`') goto yy20;
8158
3.56k
        goto yy478;
8159
101k
      } else {
8160
101k
        if (yych <= 'k') goto yy483;
8161
10.9k
        if (yych <= 'z') goto yy478;
8162
6.56k
        goto yy20;
8163
10.9k
      }
8164
106k
    }
8165
118k
  }
8166
219k
yy304:
8167
219k
  YYDEBUG(304, *YYCURSOR);
8168
219k
  yyaccept = 7;
8169
219k
  yych = *(YYMARKER = ++YYCURSOR);
8170
219k
  if (yych <= '/') {
8171
78.2k
    if (yych <= '(') {
8172
24.7k
      if (yych <= '\t') {
8173
7.42k
        if (yych <= 0x08) goto yy295;
8174
2.36k
        goto yy142;
8175
17.3k
      } else {
8176
17.3k
        if (yych == ' ') goto yy142;
8177
8.85k
        goto yy295;
8178
17.3k
      }
8179
53.4k
    } else {
8180
53.4k
      if (yych <= ',') {
8181
9.49k
        if (yych <= ')') goto yy115;
8182
6.38k
        goto yy295;
8183
43.9k
      } else {
8184
43.9k
        if (yych <= '-') goto yy473;
8185
9.41k
        if (yych <= '.') goto yy142;
8186
4.70k
        goto yy295;
8187
9.41k
      }
8188
53.4k
    }
8189
140k
  } else {
8190
140k
    if (yych <= 'Z') {
8191
73.0k
      if (yych <= '@') {
8192
29.1k
        if (yych <= '9') goto yy142;
8193
6.61k
        goto yy295;
8194
43.8k
      } else {
8195
43.8k
        if (yych == 'E') goto yy484;
8196
12.9k
        goto yy472;
8197
43.8k
      }
8198
73.0k
    } else {
8199
67.9k
      if (yych <= 'd') {
8200
12.1k
        if (yych <= '`') goto yy295;
8201
7.84k
        goto yy472;
8202
55.7k
      } else {
8203
55.7k
        if (yych <= 'e') goto yy484;
8204
26.1k
        if (yych <= 'z') goto yy472;
8205
8.28k
        goto yy295;
8206
26.1k
      }
8207
67.9k
    }
8208
140k
  }
8209
307k
yy305:
8210
307k
  YYDEBUG(305, *YYCURSOR);
8211
307k
  yyaccept = 7;
8212
307k
  yych = *(YYMARKER = ++YYCURSOR);
8213
307k
  if (yych <= '9') {
8214
101k
    if (yych <= '(') {
8215
19.9k
      if (yych <= '\t') {
8216
11.8k
        if (yych <= 0x08) goto yy295;
8217
5.40k
        goto yy142;
8218
11.8k
      } else {
8219
8.02k
        if (yych == ' ') goto yy142;
8220
5.31k
        goto yy295;
8221
8.02k
      }
8222
81.8k
    } else {
8223
81.8k
      if (yych <= '-') {
8224
65.7k
        if (yych <= ')') goto yy115;
8225
57.1k
        if (yych <= ',') goto yy295;
8226
54.0k
        goto yy479;
8227
57.1k
      } else {
8228
16.1k
        if (yych == '/') goto yy297;
8229
14.2k
        goto yy142;
8230
16.1k
      }
8231
81.8k
    }
8232
205k
  } else {
8233
205k
    if (yych <= '^') {
8234
29.5k
      if (yych <= 'D') {
8235
6.67k
        if (yych <= '@') goto yy295;
8236
3.04k
        goto yy472;
8237
22.9k
      } else {
8238
22.9k
        if (yych <= 'E') goto yy484;
8239
9.10k
        if (yych <= 'Z') goto yy472;
8240
6.28k
        goto yy295;
8241
9.10k
      }
8242
176k
    } else {
8243
176k
      if (yych <= 'd') {
8244
11.7k
        if (yych <= '_') goto yy297;
8245
11.3k
        if (yych <= '`') goto yy295;
8246
6.30k
        goto yy478;
8247
164k
      } else {
8248
164k
        if (yych <= 'e') goto yy485;
8249
10.8k
        if (yych <= 'z') goto yy478;
8250
5.47k
        goto yy295;
8251
10.8k
      }
8252
176k
    }
8253
205k
  }
8254
246k
yy306:
8255
246k
  YYDEBUG(306, *YYCURSOR);
8256
246k
  yych = *++YYCURSOR;
8257
246k
  if (yych <= 'H') {
8258
67.8k
    if (yych <= ')') {
8259
10.6k
      if (yych <= '(') goto yy20;
8260
2.30k
      goto yy115;
8261
57.1k
    } else {
8262
57.1k
      if (yych <= '@') goto yy20;
8263
42.9k
      if (yych <= 'G') goto yy472;
8264
37.9k
      goto yy486;
8265
42.9k
    }
8266
178k
  } else {
8267
178k
    if (yych <= 'g') {
8268
10.7k
      if (yych <= 'Z') goto yy472;
8269
6.52k
      if (yych <= '`') goto yy20;
8270
3.19k
      goto yy472;
8271
167k
    } else {
8272
167k
      if (yych <= 'h') goto yy486;
8273
19.0k
      if (yych <= 'z') goto yy472;
8274
9.22k
      goto yy20;
8275
19.0k
    }
8276
178k
  }
8277
112k
yy307:
8278
112k
  YYDEBUG(307, *YYCURSOR);
8279
112k
  yych = *++YYCURSOR;
8280
112k
  if (yych <= 'V') {
8281
38.1k
    if (yych <= ')') {
8282
7.46k
      if (yych <= '(') goto yy20;
8283
2.43k
      goto yy115;
8284
30.6k
    } else {
8285
30.6k
      if (yych <= '@') goto yy20;
8286
24.2k
      if (yych <= 'U') goto yy472;
8287
16.9k
      goto yy487;
8288
24.2k
    }
8289
73.9k
  } else {
8290
73.9k
    if (yych <= 'u') {
8291
13.0k
      if (yych <= 'Z') goto yy472;
8292
10.5k
      if (yych <= '`') goto yy20;
8293
6.03k
      goto yy472;
8294
60.8k
    } else {
8295
60.8k
      if (yych <= 'v') goto yy487;
8296
8.15k
      if (yych <= 'z') goto yy472;
8297
4.08k
      goto yy20;
8298
8.15k
    }
8299
73.9k
  }
8300
318k
yy308:
8301
318k
  YYDEBUG(308, *YYCURSOR);
8302
318k
  yyaccept = 2;
8303
318k
  yych = *(YYMARKER = ++YYCURSOR);
8304
318k
  if (yych <= 'G') {
8305
30.2k
    if (yych <= '-') {
8306
18.2k
      if (yych == ')') goto yy115;
8307
14.6k
      if (yych <= ',') goto yy20;
8308
2.13k
      goto yy297;
8309
14.6k
    } else {
8310
12.0k
      if (yych == '/') goto yy297;
8311
9.66k
      if (yych <= '@') goto yy20;
8312
2.20k
      goto yy472;
8313
9.66k
    }
8314
288k
  } else {
8315
288k
    if (yych <= '_') {
8316
55.1k
      if (yych <= 'H') goto yy486;
8317
13.3k
      if (yych <= 'Z') goto yy472;
8318
10.6k
      if (yych <= '^') goto yy20;
8319
8.48k
      goto yy297;
8320
233k
    } else {
8321
233k
      if (yych <= 'g') {
8322
6.75k
        if (yych <= '`') goto yy20;
8323
4.23k
        goto yy478;
8324
226k
      } else {
8325
226k
        if (yych <= 'h') goto yy488;
8326
13.7k
        if (yych <= 'z') goto yy478;
8327
7.14k
        goto yy20;
8328
13.7k
      }
8329
233k
    }
8330
288k
  }
8331
239k
yy309:
8332
239k
  YYDEBUG(309, *YYCURSOR);
8333
239k
  yyaccept = 2;
8334
239k
  yych = *(YYMARKER = ++YYCURSOR);
8335
239k
  if (yych <= 'U') {
8336
24.1k
    if (yych <= '-') {
8337
12.8k
      if (yych == ')') goto yy115;
8338
8.03k
      if (yych <= ',') goto yy20;
8339
1.99k
      goto yy297;
8340
11.2k
    } else {
8341
11.2k
      if (yych == '/') goto yy297;
8342
10.0k
      if (yych <= '@') goto yy20;
8343
3.73k
      goto yy472;
8344
10.0k
    }
8345
215k
  } else {
8346
215k
    if (yych <= '_') {
8347
15.6k
      if (yych <= 'V') goto yy487;
8348
3.76k
      if (yych <= 'Z') goto yy472;
8349
3.29k
      if (yych <= '^') goto yy20;
8350
1.46k
      goto yy297;
8351
199k
    } else {
8352
199k
      if (yych <= 'u') {
8353
16.5k
        if (yych <= '`') goto yy20;
8354
14.1k
        goto yy478;
8355
183k
      } else {
8356
183k
        if (yych <= 'v') goto yy489;
8357
12.2k
        if (yych <= 'z') goto yy478;
8358
8.49k
        goto yy20;
8359
12.2k
      }
8360
199k
    }
8361
215k
  }
8362
120k
yy310:
8363
120k
  YYDEBUG(310, *YYCURSOR);
8364
120k
  yyaccept = 7;
8365
120k
  yych = *(YYMARKER = ++YYCURSOR);
8366
120k
  if (yych <= '/') {
8367
35.9k
    if (yych <= '(') {
8368
19.0k
      if (yych <= '\t') {
8369
10.1k
        if (yych <= 0x08) goto yy295;
8370
4.35k
        goto yy142;
8371
10.1k
      } else {
8372
8.90k
        if (yych == ' ') goto yy142;
8373
5.34k
        goto yy295;
8374
8.90k
      }
8375
19.0k
    } else {
8376
16.9k
      if (yych <= ',') {
8377
3.39k
        if (yych <= ')') goto yy115;
8378
1.74k
        goto yy295;
8379
13.5k
      } else {
8380
13.5k
        if (yych <= '-') goto yy473;
8381
5.21k
        if (yych <= '.') goto yy142;
8382
1.81k
        goto yy295;
8383
5.21k
      }
8384
16.9k
    }
8385
85.0k
  } else {
8386
85.0k
    if (yych <= 'Z') {
8387
29.0k
      if (yych <= '@') {
8388
11.3k
        if (yych <= '9') goto yy142;
8389
2.35k
        goto yy295;
8390
17.7k
      } else {
8391
17.7k
        if (yych == 'R') goto yy490;
8392
4.37k
        goto yy472;
8393
17.7k
      }
8394
55.9k
    } else {
8395
55.9k
      if (yych <= 'q') {
8396
13.1k
        if (yych <= '`') goto yy295;
8397
9.56k
        goto yy472;
8398
42.8k
      } else {
8399
42.8k
        if (yych <= 'r') goto yy490;
8400
8.32k
        if (yych <= 'z') goto yy472;
8401
5.87k
        goto yy295;
8402
8.32k
      }
8403
55.9k
    }
8404
85.0k
  }
8405
296k
yy311:
8406
296k
  YYDEBUG(311, *YYCURSOR);
8407
296k
  yych = *++YYCURSOR;
8408
296k
  if (yych <= 'T') {
8409
118k
    if (yych <= ')') {
8410
17.6k
      if (yych <= '(') goto yy20;
8411
3.28k
      goto yy115;
8412
100k
    } else {
8413
100k
      if (yych <= '@') goto yy20;
8414
76.1k
      if (yych <= 'S') goto yy472;
8415
63.0k
      goto yy491;
8416
76.1k
    }
8417
177k
  } else {
8418
177k
    if (yych <= 's') {
8419
50.0k
      if (yych <= 'Z') goto yy472;
8420
43.5k
      if (yych <= '`') goto yy20;
8421
29.6k
      goto yy472;
8422
127k
    } else {
8423
127k
      if (yych <= 't') goto yy491;
8424
15.5k
      if (yych <= 'z') goto yy472;
8425
9.01k
      goto yy20;
8426
15.5k
    }
8427
177k
  }
8428
191k
yy312:
8429
191k
  YYDEBUG(312, *YYCURSOR);
8430
191k
  yych = *++YYCURSOR;
8431
191k
  if (yych <= 'S') {
8432
116k
    if (yych <= ')') {
8433
5.26k
      if (yych <= '(') goto yy20;
8434
781
      goto yy115;
8435
111k
    } else {
8436
111k
      if (yych <= '@') goto yy20;
8437
104k
      if (yych <= 'R') goto yy472;
8438
99.8k
      goto yy492;
8439
104k
    }
8440
116k
  } else {
8441
74.9k
    if (yych <= 'r') {
8442
17.1k
      if (yych <= 'Z') goto yy472;
8443
15.1k
      if (yych <= '`') goto yy20;
8444
7.55k
      goto yy472;
8445
57.7k
    } else {
8446
57.7k
      if (yych <= 's') goto yy492;
8447
11.1k
      if (yych <= 'z') goto yy472;
8448
6.77k
      goto yy20;
8449
11.1k
    }
8450
74.9k
  }
8451
121k
yy313:
8452
121k
  YYDEBUG(313, *YYCURSOR);
8453
121k
  yych = *++YYCURSOR;
8454
121k
  if (yych <= 'R') {
8455
46.6k
    if (yych <= ')') {
8456
22.1k
      if (yych <= '(') goto yy20;
8457
2.77k
      goto yy115;
8458
24.5k
    } else {
8459
24.5k
      if (yych <= '@') goto yy20;
8460
17.7k
      if (yych <= 'Q') goto yy472;
8461
13.0k
      goto yy493;
8462
17.7k
    }
8463
74.9k
  } else {
8464
74.9k
    if (yych <= 'q') {
8465
17.5k
      if (yych <= 'Z') goto yy472;
8466
15.6k
      if (yych <= '`') goto yy20;
8467
10.1k
      goto yy472;
8468
57.4k
    } else {
8469
57.4k
      if (yych <= 'r') goto yy493;
8470
11.9k
      if (yych <= 'z') goto yy472;
8471
8.93k
      goto yy20;
8472
11.9k
    }
8473
74.9k
  }
8474
171k
yy314:
8475
171k
  YYDEBUG(314, *YYCURSOR);
8476
171k
  yych = *++YYCURSOR;
8477
171k
  if (yych <= 'D') {
8478
64.1k
    if (yych <= ')') {
8479
27.0k
      if (yych >= ')') goto yy115;
8480
37.1k
    } else {
8481
37.1k
      if (yych <= '@') goto yy315;
8482
26.3k
      if (yych <= 'C') goto yy472;
8483
23.9k
      goto yy494;
8484
26.3k
    }
8485
107k
  } else {
8486
107k
    if (yych <= 'c') {
8487
26.8k
      if (yych <= 'Z') goto yy472;
8488
16.5k
      if (yych >= 'a') goto yy472;
8489
80.5k
    } else {
8490
80.5k
      if (yych <= 'd') goto yy494;
8491
32.4k
      if (yych <= 'z') goto yy472;
8492
32.4k
    }
8493
107k
  }
8494
571k
yy315:
8495
571k
  YYDEBUG(315, *YYCURSOR);
8496
571k
#line 1830 "ext/date/lib/parse_date.re"
8497
571k
  {
8498
571k
    const timelib_relunit* relunit;
8499
571k
    DEBUG_OUTPUT("daytext");
8500
571k
    TIMELIB_INIT;
8501
571k
    TIMELIB_HAVE_RELATIVE();
8502
571k
    TIMELIB_HAVE_WEEKDAY_RELATIVE();
8503
571k
    TIMELIB_UNHAVE_TIME();
8504
571k
    relunit = timelib_lookup_relunit(&ptr);
8505
571k
    s->time->relative.weekday = relunit->multiplier;
8506
571k
    if (s->time->relative.weekday_behavior != 2) {
8507
552k
      s->time->relative.weekday_behavior = 1;
8508
552k
    }
8509
8510
571k
    TIMELIB_DEINIT;
8511
571k
    return TIMELIB_WEEKDAY;
8512
171k
  }
8513
0
#line 8514 "ext/date/lib/parse_date.c"
8514
153k
yy316:
8515
153k
  YYDEBUG(316, *YYCURSOR);
8516
153k
  yych = *++YYCURSOR;
8517
153k
  if (yych <= 'N') {
8518
32.4k
    if (yych <= ')') {
8519
13.8k
      if (yych <= '(') goto yy20;
8520
1.54k
      goto yy115;
8521
18.6k
    } else {
8522
18.6k
      if (yych <= '@') goto yy20;
8523
10.2k
      if (yych <= 'M') goto yy472;
8524
7.35k
      goto yy495;
8525
10.2k
    }
8526
121k
  } else {
8527
121k
    if (yych <= 'm') {
8528
47.2k
      if (yych <= 'Z') goto yy472;
8529
43.2k
      if (yych <= '`') goto yy20;
8530
37.3k
      goto yy472;
8531
74.0k
    } else {
8532
74.0k
      if (yych <= 'n') goto yy495;
8533
10.1k
      if (yych <= 'z') goto yy472;
8534
6.79k
      goto yy20;
8535
10.1k
    }
8536
121k
  }
8537
262k
yy317:
8538
262k
  YYDEBUG(317, *YYCURSOR);
8539
262k
  yyaccept = 7;
8540
262k
  yych = *(YYMARKER = ++YYCURSOR);
8541
262k
  if (yych <= '9') {
8542
59.1k
    if (yych <= '(') {
8543
14.8k
      if (yych <= '\t') {
8544
9.88k
        if (yych <= 0x08) goto yy295;
8545
4.72k
        goto yy142;
8546
9.88k
      } else {
8547
4.92k
        if (yych == ' ') goto yy142;
8548
2.64k
        goto yy295;
8549
4.92k
      }
8550
44.3k
    } else {
8551
44.3k
      if (yych <= '-') {
8552
30.7k
        if (yych <= ')') goto yy115;
8553
28.9k
        if (yych <= ',') goto yy295;
8554
24.7k
        goto yy479;
8555
28.9k
      } else {
8556
13.5k
        if (yych == '/') goto yy297;
8557
9.80k
        goto yy142;
8558
13.5k
      }
8559
44.3k
    }
8560
203k
  } else {
8561
203k
    if (yych <= '^') {
8562
29.8k
      if (yych <= 'Q') {
8563
7.04k
        if (yych <= '@') goto yy295;
8564
3.88k
        goto yy472;
8565
22.7k
      } else {
8566
22.7k
        if (yych <= 'R') goto yy490;
8567
8.37k
        if (yych <= 'Z') goto yy472;
8568
2.19k
        goto yy295;
8569
8.37k
      }
8570
173k
    } else {
8571
173k
      if (yych <= 'q') {
8572
9.62k
        if (yych <= '_') goto yy297;
8573
7.51k
        if (yych <= '`') goto yy295;
8574
5.20k
        goto yy478;
8575
163k
      } else {
8576
163k
        if (yych <= 'r') goto yy496;
8577
11.2k
        if (yych <= 'z') goto yy478;
8578
7.81k
        goto yy295;
8579
11.2k
      }
8580
173k
    }
8581
203k
  }
8582
145k
yy318:
8583
145k
  YYDEBUG(318, *YYCURSOR);
8584
145k
  yyaccept = 2;
8585
145k
  yych = *(YYMARKER = ++YYCURSOR);
8586
145k
  if (yych <= 'S') {
8587
29.5k
    if (yych <= '-') {
8588
20.3k
      if (yych == ')') goto yy115;
8589
15.6k
      if (yych <= ',') goto yy20;
8590
5.38k
      goto yy297;
8591
15.6k
    } else {
8592
9.16k
      if (yych == '/') goto yy297;
8593
8.34k
      if (yych <= '@') goto yy20;
8594
3.77k
      goto yy472;
8595
8.34k
    }
8596
116k
  } else {
8597
116k
    if (yych <= '_') {
8598
26.5k
      if (yych <= 'T') goto yy491;
8599
22.1k
      if (yych <= 'Z') goto yy472;
8600
17.9k
      if (yych <= '^') goto yy20;
8601
16.4k
      goto yy297;
8602
89.8k
    } else {
8603
89.8k
      if (yych <= 's') {
8604
14.9k
        if (yych <= '`') goto yy20;
8605
13.2k
        goto yy478;
8606
74.8k
      } else {
8607
74.8k
        if (yych <= 't') goto yy497;
8608
15.3k
        if (yych <= 'z') goto yy478;
8609
10.2k
        goto yy20;
8610
15.3k
      }
8611
89.8k
    }
8612
116k
  }
8613
174k
yy319:
8614
174k
  YYDEBUG(319, *YYCURSOR);
8615
174k
  yyaccept = 2;
8616
174k
  yych = *(YYMARKER = ++YYCURSOR);
8617
174k
  if (yych <= 'R') {
8618
31.9k
    if (yych <= '-') {
8619
16.4k
      if (yych == ')') goto yy115;
8620
11.6k
      if (yych <= ',') goto yy20;
8621
4.48k
      goto yy297;
8622
15.4k
    } else {
8623
15.4k
      if (yych == '/') goto yy297;
8624
9.62k
      if (yych <= '@') goto yy20;
8625
4.74k
      goto yy472;
8626
9.62k
    }
8627
142k
  } else {
8628
142k
    if (yych <= '_') {
8629
28.9k
      if (yych <= 'S') goto yy492;
8630
8.28k
      if (yych <= 'Z') goto yy472;
8631
6.61k
      if (yych <= '^') goto yy20;
8632
4.57k
      goto yy297;
8633
113k
    } else {
8634
113k
      if (yych <= 'r') {
8635
9.25k
        if (yych <= '`') goto yy20;
8636
8.06k
        goto yy478;
8637
104k
      } else {
8638
104k
        if (yych <= 's') goto yy498;
8639
14.2k
        if (yych <= 'z') goto yy478;
8640
8.93k
        goto yy20;
8641
14.2k
      }
8642
113k
    }
8643
142k
  }
8644
215k
yy320:
8645
215k
  YYDEBUG(320, *YYCURSOR);
8646
215k
  yyaccept = 2;
8647
215k
  yych = *(YYMARKER = ++YYCURSOR);
8648
215k
  if (yych <= 'Q') {
8649
26.3k
    if (yych <= '-') {
8650
10.2k
      if (yych == ')') goto yy115;
8651
8.37k
      if (yych <= ',') goto yy20;
8652
1.32k
      goto yy297;
8653
16.0k
    } else {
8654
16.0k
      if (yych == '/') goto yy297;
8655
10.7k
      if (yych <= '@') goto yy20;
8656
3.41k
      goto yy472;
8657
10.7k
    }
8658
188k
  } else {
8659
188k
    if (yych <= '_') {
8660
17.0k
      if (yych <= 'R') goto yy493;
8661
7.36k
      if (yych <= 'Z') goto yy472;
8662
3.96k
      if (yych <= '^') goto yy20;
8663
2.37k
      goto yy297;
8664
171k
    } else {
8665
171k
      if (yych <= 'q') {
8666
9.83k
        if (yych <= '`') goto yy20;
8667
8.63k
        goto yy478;
8668
161k
      } else {
8669
161k
        if (yych <= 'r') goto yy499;
8670
16.0k
        if (yych <= 'z') goto yy478;
8671
12.0k
        goto yy20;
8672
16.0k
      }
8673
171k
    }
8674
188k
  }
8675
230k
yy321:
8676
230k
  YYDEBUG(321, *YYCURSOR);
8677
230k
  yyaccept = 9;
8678
230k
  yych = *(YYMARKER = ++YYCURSOR);
8679
230k
  if (yych <= 'C') {
8680
36.8k
    if (yych <= '-') {
8681
15.9k
      if (yych == ')') goto yy115;
8682
14.2k
      if (yych <= ',') goto yy315;
8683
2.81k
      goto yy297;
8684
20.9k
    } else {
8685
20.9k
      if (yych == '/') goto yy297;
8686
17.7k
      if (yych <= '@') goto yy315;
8687
3.51k
      goto yy472;
8688
17.7k
    }
8689
193k
  } else {
8690
193k
    if (yych <= '_') {
8691
24.0k
      if (yych <= 'D') goto yy494;
8692
9.35k
      if (yych <= 'Z') goto yy472;
8693
4.67k
      if (yych <= '^') goto yy315;
8694
1.82k
      goto yy297;
8695
169k
    } else {
8696
169k
      if (yych <= 'c') {
8697
7.46k
        if (yych <= '`') goto yy315;
8698
4.35k
        goto yy478;
8699
162k
      } else {
8700
162k
        if (yych <= 'd') goto yy500;
8701
25.9k
        if (yych <= 'z') goto yy478;
8702
8.27k
        goto yy315;
8703
25.9k
      }
8704
169k
    }
8705
193k
  }
8706
251k
yy322:
8707
251k
  YYDEBUG(322, *YYCURSOR);
8708
251k
  yyaccept = 2;
8709
251k
  yych = *(YYMARKER = ++YYCURSOR);
8710
251k
  if (yych <= 'M') {
8711
51.9k
    if (yych <= '-') {
8712
39.5k
      if (yych == ')') goto yy115;
8713
33.1k
      if (yych <= ',') goto yy20;
8714
8.08k
      goto yy297;
8715
33.1k
    } else {
8716
12.4k
      if (yych == '/') goto yy297;
8717
11.2k
      if (yych <= '@') goto yy20;
8718
3.55k
      goto yy472;
8719
11.2k
    }
8720
199k
  } else {
8721
199k
    if (yych <= '_') {
8722
11.4k
      if (yych <= 'N') goto yy495;
8723
6.86k
      if (yych <= 'Z') goto yy472;
8724
3.88k
      if (yych <= '^') goto yy20;
8725
1.42k
      goto yy297;
8726
187k
    } else {
8727
187k
      if (yych <= 'm') {
8728
12.0k
        if (yych <= '`') goto yy20;
8729
10.7k
        goto yy478;
8730
175k
      } else {
8731
175k
        if (yych <= 'n') goto yy501;
8732
16.2k
        if (yych <= 'z') goto yy478;
8733
7.28k
        goto yy20;
8734
16.2k
      }
8735
187k
    }
8736
199k
  }
8737
227k
yy323:
8738
227k
  YYDEBUG(323, *YYCURSOR);
8739
227k
  yyaccept = 2;
8740
227k
  yych = *(YYMARKER = ++YYCURSOR);
8741
227k
  if (yych <= ',') {
8742
126k
    if (yych <= ')') {
8743
14.6k
      if (yych <= '(') goto yy20;
8744
3.02k
      goto yy115;
8745
112k
    } else {
8746
112k
      if (yych == '+') goto yy502;
8747
2.11k
      goto yy20;
8748
112k
    }
8749
126k
  } else {
8750
100k
    if (yych <= 'Z') {
8751
71.3k
      if (yych <= '-') goto yy502;
8752
26.8k
      if (yych <= '@') goto yy20;
8753
8.96k
      goto yy472;
8754
28.7k
    } else {
8755
28.7k
      if (yych <= '`') goto yy20;
8756
25.8k
      if (yych <= 'z') goto yy472;
8757
13.6k
      goto yy20;
8758
25.8k
    }
8759
100k
  }
8760
265k
yy324:
8761
265k
  YYDEBUG(324, *YYCURSOR);
8762
265k
  yyaccept = 10;
8763
265k
  yych = *(YYMARKER = ++YYCURSOR);
8764
265k
  if (yych <= '9') {
8765
217k
    if (yych <= '0') {
8766
102k
      if (yych >= '0') goto yy503;
8767
115k
    } else {
8768
115k
      if (yych <= '1') goto yy504;
8769
62.2k
      if (yych <= '2') goto yy505;
8770
28.4k
      goto yy506;
8771
62.2k
    }
8772
217k
  } else {
8773
47.3k
    if (yych <= 'T') {
8774
18.3k
      if (yych >= 'T') goto yy507;
8775
28.9k
    } else {
8776
28.9k
      if (yych == 't') goto yy507;
8777
28.9k
    }
8778
47.3k
  }
8779
860k
yy325:
8780
860k
  YYDEBUG(325, *YYCURSOR);
8781
860k
#line 1632 "ext/date/lib/parse_date.re"
8782
860k
  {
8783
860k
    int length = 0;
8784
860k
    DEBUG_OUTPUT("datetextual | datenoyear");
8785
860k
    TIMELIB_INIT;
8786
860k
    TIMELIB_HAVE_DATE();
8787
112k
    s->time->m = timelib_get_month(&ptr);
8788
112k
    s->time->d = timelib_get_nr(&ptr, 2);
8789
112k
    s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
8790
112k
    TIMELIB_PROCESS_YEAR(s->time->y, length);
8791
112k
    TIMELIB_DEINIT;
8792
112k
    return TIMELIB_DATE_TEXT;
8793
860k
  }
8794
0
#line 8795 "ext/date/lib/parse_date.c"
8795
1.31M
yy326:
8796
1.31M
  YYDEBUG(326, *YYCURSOR);
8797
1.31M
  yyaccept = 10;
8798
1.31M
  YYMARKER = ++YYCURSOR;
8799
1.31M
  if ((YYLIMIT - YYCURSOR) < 21) YYFILL(21);
8800
1.31M
  yych = *YYCURSOR;
8801
1.74M
yy327:
8802
1.74M
  YYDEBUG(327, *YYCURSOR);
8803
1.74M
  if (yybm[0+yych] & 32) {
8804
186k
    goto yy326;
8805
186k
  }
8806
1.56M
  if (yych <= '2') {
8807
923k
    if (yych <= '/') goto yy325;
8808
838k
    if (yych <= '0') goto yy508;
8809
471k
    if (yych <= '1') goto yy509;
8810
190k
    goto yy510;
8811
638k
  } else {
8812
638k
    if (yych <= '9') goto yy511;
8813
275k
    if (yych == 'T') goto yy507;
8814
227k
    goto yy325;
8815
275k
  }
8816
560k
yy328:
8817
560k
  YYDEBUG(328, *YYCURSOR);
8818
560k
  yych = *++YYCURSOR;
8819
560k
  if (yych <= '9') {
8820
380k
    if (yych <= ' ') {
8821
85.8k
      if (yych <= 0x08) {
8822
35.6k
        if (yych <= 0x00) goto yy324;
8823
7.48k
        goto yy59;
8824
50.2k
      } else {
8825
50.2k
        if (yych <= '\t') goto yy326;
8826
39.9k
        if (yych <= 0x1F) goto yy59;
8827
32.1k
        goto yy326;
8828
39.9k
      }
8829
294k
    } else {
8830
294k
      if (yych <= '-') {
8831
44.8k
        if (yych == ',') goto yy326;
8832
42.0k
        goto yy59;
8833
249k
      } else {
8834
249k
        if (yych <= '.') goto yy326;
8835
138k
        if (yych <= '/') goto yy59;
8836
129k
        goto yy512;
8837
138k
      }
8838
294k
    }
8839
380k
  } else {
8840
180k
    if (yych <= 'm') {
8841
81.5k
      if (yych <= 'd') {
8842
72.9k
        if (yych <= 'c') goto yy59;
8843
3.49k
        goto yy326;
8844
72.9k
      } else {
8845
8.55k
        if (yych == 'h') goto yy326;
8846
5.87k
        goto yy59;
8847
8.55k
      }
8848
98.5k
    } else {
8849
98.5k
      if (yych <= 'r') {
8850
19.3k
        if (yych <= 'n') goto yy329;
8851
14.8k
        if (yych <= 'q') goto yy59;
8852
79.1k
      } else {
8853
79.1k
        if (yych <= 's') goto yy330;
8854
54.6k
        if (yych <= 't') goto yy331;
8855
43.3k
        goto yy59;
8856
54.6k
      }
8857
98.5k
    }
8858
180k
  }
8859
86.6k
yy329:
8860
86.6k
  YYDEBUG(329, *YYCURSOR);
8861
86.6k
  yyaccept = 10;
8862
86.6k
  yych = *(YYMARKER = ++YYCURSOR);
8863
86.6k
  if (yych == 'd') goto yy513;
8864
79.6k
  goto yy327;
8865
79.6k
yy330:
8866
78.2k
  YYDEBUG(330, *YYCURSOR);
8867
78.2k
  yyaccept = 10;
8868
78.2k
  yych = *(YYMARKER = ++YYCURSOR);
8869
78.2k
  if (yych == 't') goto yy513;
8870
73.8k
  goto yy327;
8871
273k
yy331:
8872
273k
  YYDEBUG(331, *YYCURSOR);
8873
273k
  yyaccept = 10;
8874
273k
  yych = *(YYMARKER = ++YYCURSOR);
8875
273k
  if (yych == 'h') goto yy513;
8876
269k
  goto yy327;
8877
269k
yy332:
8878
161k
  YYDEBUG(332, *YYCURSOR);
8879
161k
  yych = *++YYCURSOR;
8880
161k
  if (yych <= '/') goto yy59;
8881
110k
  if (yych <= '9') goto yy512;
8882
48.7k
  goto yy59;
8883
237k
yy333:
8884
237k
  YYDEBUG(333, *YYCURSOR);
8885
237k
  yyaccept = 2;
8886
237k
  yych = *(YYMARKER = ++YYCURSOR);
8887
237k
  if (yych <= ',') {
8888
52.4k
    if (yych <= 0x1F) {
8889
22.1k
      if (yych == '\t') goto yy142;
8890
15.3k
      goto yy20;
8891
30.3k
    } else {
8892
30.3k
      if (yych <= ' ') goto yy142;
8893
23.1k
      if (yych == ')') goto yy115;
8894
7.10k
      goto yy20;
8895
23.1k
    }
8896
184k
  } else {
8897
184k
    if (yych <= '@') {
8898
15.2k
      if (yych == '/') goto yy20;
8899
13.4k
      if (yych <= '9') goto yy142;
8900
5.06k
      goto yy20;
8901
169k
    } else {
8902
169k
      if (yych <= 'Z') goto yy472;
8903
23.2k
      if (yych <= '`') goto yy20;
8904
18.1k
      if (yych <= 'z') goto yy472;
8905
12.5k
      goto yy20;
8906
18.1k
    }
8907
184k
  }
8908
128k
yy334:
8909
128k
  YYDEBUG(334, *YYCURSOR);
8910
128k
  yyaccept = 7;
8911
128k
  yych = *(YYMARKER = ++YYCURSOR);
8912
128k
  if (yych <= '/') {
8913
52.3k
    if (yych <= '(') {
8914
18.4k
      if (yych <= '\t') {
8915
9.94k
        if (yych <= 0x08) goto yy295;
8916
5.73k
        goto yy142;
8917
9.94k
      } else {
8918
8.53k
        if (yych == ' ') goto yy142;
8919
6.78k
        goto yy295;
8920
8.53k
      }
8921
33.9k
    } else {
8922
33.9k
      if (yych <= ',') {
8923
4.59k
        if (yych <= ')') goto yy115;
8924
2.16k
        goto yy295;
8925
29.3k
      } else {
8926
29.3k
        if (yych <= '-') goto yy473;
8927
20.5k
        if (yych <= '.') goto yy142;
8928
19.2k
        goto yy295;
8929
20.5k
      }
8930
33.9k
    }
8931
75.8k
  } else {
8932
75.8k
    if (yych <= 'Z') {
8933
30.2k
      if (yych <= '@') {
8934
18.4k
        if (yych <= '9') goto yy142;
8935
3.23k
        goto yy295;
8936
18.4k
      } else {
8937
11.8k
        if (yych == 'U') goto yy514;
8938
2.22k
        goto yy472;
8939
11.8k
      }
8940
45.5k
    } else {
8941
45.5k
      if (yych <= 't') {
8942
12.3k
        if (yych <= '`') goto yy295;
8943
8.52k
        goto yy472;
8944
33.2k
      } else {
8945
33.2k
        if (yych <= 'u') goto yy514;
8946
6.44k
        if (yych <= 'z') goto yy472;
8947
4.62k
        goto yy295;
8948
6.44k
      }
8949
45.5k
    }
8950
75.8k
  }
8951
148k
yy335:
8952
148k
  YYDEBUG(335, *YYCURSOR);
8953
148k
  yyaccept = 7;
8954
148k
  yych = *(YYMARKER = ++YYCURSOR);
8955
148k
  if (yych <= '/') {
8956
103k
    if (yych <= '(') {
8957
15.8k
      if (yych <= '\t') {
8958
6.21k
        if (yych <= 0x08) goto yy295;
8959
2.65k
        goto yy142;
8960
9.64k
      } else {
8961
9.64k
        if (yych == ' ') goto yy142;
8962
5.70k
        goto yy295;
8963
9.64k
      }
8964
87.8k
    } else {
8965
87.8k
      if (yych <= ',') {
8966
8.37k
        if (yych <= ')') goto yy115;
8967
6.84k
        goto yy295;
8968
79.4k
      } else {
8969
79.4k
        if (yych <= '-') goto yy473;
8970
44.9k
        if (yych <= '.') goto yy142;
8971
43.3k
        goto yy295;
8972
44.9k
      }
8973
87.8k
    }
8974
103k
  } else {
8975
44.9k
    if (yych <= 'Z') {
8976
21.5k
      if (yych <= '@') {
8977
13.5k
        if (yych <= '9') goto yy142;
8978
3.91k
        goto yy295;
8979
13.5k
      } else {
8980
7.94k
        if (yych == 'Y') goto yy515;
8981
3.34k
        goto yy472;
8982
7.94k
      }
8983
23.4k
    } else {
8984
23.4k
      if (yych <= 'x') {
8985
8.55k
        if (yych <= '`') goto yy295;
8986
6.98k
        goto yy472;
8987
14.8k
      } else {
8988
14.8k
        if (yych <= 'y') goto yy515;
8989
11.1k
        if (yych <= 'z') goto yy472;
8990
9.07k
        goto yy295;
8991
11.1k
      }
8992
23.4k
    }
8993
44.9k
  }
8994
235k
yy336:
8995
235k
  YYDEBUG(336, *YYCURSOR);
8996
235k
  yyaccept = 7;
8997
235k
  yych = *(YYMARKER = ++YYCURSOR);
8998
235k
  if (yych <= '/') {
8999
171k
    if (yych <= '(') {
9000
18.7k
      if (yych <= '\t') {
9001
10.0k
        if (yych <= 0x08) goto yy295;
9002
2.69k
        goto yy142;
9003
10.0k
      } else {
9004
8.65k
        if (yych == ' ') goto yy142;
9005
5.11k
        goto yy295;
9006
8.65k
      }
9007
152k
    } else {
9008
152k
      if (yych <= ',') {
9009
5.70k
        if (yych <= ')') goto yy115;
9010
2.70k
        goto yy295;
9011
147k
      } else {
9012
147k
        if (yych <= '-') goto yy473;
9013
127k
        if (yych <= '.') goto yy142;
9014
123k
        goto yy295;
9015
127k
      }
9016
152k
    }
9017
171k
  } else {
9018
63.7k
    if (yych <= 'Z') {
9019
31.6k
      if (yych <= '@') {
9020
14.3k
        if (yych <= '9') goto yy142;
9021
3.46k
        goto yy295;
9022
17.3k
      } else {
9023
17.3k
        if (yych == 'E') goto yy515;
9024
5.29k
        goto yy472;
9025
17.3k
      }
9026
32.1k
    } else {
9027
32.1k
      if (yych <= 'd') {
9028
8.12k
        if (yych <= '`') goto yy295;
9029
5.62k
        goto yy472;
9030
23.9k
      } else {
9031
23.9k
        if (yych <= 'e') goto yy515;
9032
15.0k
        if (yych <= 'z') goto yy472;
9033
8.67k
        goto yy295;
9034
15.0k
      }
9035
32.1k
    }
9036
63.7k
  }
9037
243k
yy337:
9038
243k
  YYDEBUG(337, *YYCURSOR);
9039
243k
  yyaccept = 7;
9040
243k
  yych = *(YYMARKER = ++YYCURSOR);
9041
243k
  if (yych <= '9') {
9042
54.8k
    if (yych <= '(') {
9043
11.2k
      if (yych <= '\t') {
9044
6.06k
        if (yych <= 0x08) goto yy295;
9045
3.52k
        goto yy142;
9046
6.06k
      } else {
9047
5.21k
        if (yych == ' ') goto yy142;
9048
3.26k
        goto yy295;
9049
5.21k
      }
9050
43.6k
    } else {
9051
43.6k
      if (yych <= '-') {
9052
27.5k
        if (yych <= ')') goto yy115;
9053
25.0k
        if (yych <= ',') goto yy295;
9054
23.0k
        goto yy479;
9055
25.0k
      } else {
9056
16.0k
        if (yych == '/') goto yy297;
9057
8.13k
        goto yy142;
9058
16.0k
      }
9059
43.6k
    }
9060
188k
  } else {
9061
188k
    if (yych <= '^') {
9062
47.0k
      if (yych <= 'T') {
9063
7.94k
        if (yych <= '@') goto yy295;
9064
4.60k
        goto yy472;
9065
39.1k
      } else {
9066
39.1k
        if (yych <= 'U') goto yy514;
9067
4.82k
        if (yych <= 'Z') goto yy472;
9068
2.68k
        goto yy295;
9069
4.82k
      }
9070
141k
    } else {
9071
141k
      if (yych <= 't') {
9072
9.76k
        if (yych <= '_') goto yy297;
9073
7.81k
        if (yych <= '`') goto yy295;
9074
6.66k
        goto yy478;
9075
132k
      } else {
9076
132k
        if (yych <= 'u') goto yy516;
9077
16.9k
        if (yych <= 'z') goto yy478;
9078
11.7k
        goto yy295;
9079
16.9k
      }
9080
141k
    }
9081
188k
  }
9082
146k
yy338:
9083
146k
  YYDEBUG(338, *YYCURSOR);
9084
146k
  yyaccept = 7;
9085
146k
  yych = *(YYMARKER = ++YYCURSOR);
9086
146k
  if (yych <= '9') {
9087
51.0k
    if (yych <= '(') {
9088
16.3k
      if (yych <= '\t') {
9089
3.94k
        if (yych <= 0x08) goto yy295;
9090
1.04k
        goto yy142;
9091
12.4k
      } else {
9092
12.4k
        if (yych == ' ') goto yy142;
9093
10.4k
        goto yy295;
9094
12.4k
      }
9095
34.6k
    } else {
9096
34.6k
      if (yych <= '-') {
9097
19.4k
        if (yych <= ')') goto yy115;
9098
17.7k
        if (yych <= ',') goto yy295;
9099
14.9k
        goto yy479;
9100
17.7k
      } else {
9101
15.1k
        if (yych == '/') goto yy297;
9102
11.2k
        goto yy142;
9103
15.1k
      }
9104
34.6k
    }
9105
95.8k
  } else {
9106
95.8k
    if (yych <= '^') {
9107
25.9k
      if (yych <= 'X') {
9108
16.9k
        if (yych <= '@') goto yy295;
9109
2.74k
        goto yy472;
9110
16.9k
      } else {
9111
8.97k
        if (yych <= 'Y') goto yy515;
9112
4.82k
        if (yych <= 'Z') goto yy472;
9113
3.25k
        goto yy295;
9114
4.82k
      }
9115
69.9k
    } else {
9116
69.9k
      if (yych <= 'x') {
9117
16.7k
        if (yych <= '_') goto yy297;
9118
6.18k
        if (yych <= '`') goto yy295;
9119
4.28k
        goto yy478;
9120
53.1k
      } else {
9121
53.1k
        if (yych <= 'y') goto yy517;
9122
18.2k
        if (yych <= 'z') goto yy478;
9123
11.7k
        goto yy295;
9124
18.2k
      }
9125
69.9k
    }
9126
95.8k
  }
9127
107k
yy339:
9128
107k
  YYDEBUG(339, *YYCURSOR);
9129
107k
  yyaccept = 7;
9130
107k
  yych = *(YYMARKER = ++YYCURSOR);
9131
107k
  if (yych <= '9') {
9132
40.9k
    if (yych <= '(') {
9133
24.6k
      if (yych <= '\t') {
9134
9.26k
        if (yych <= 0x08) goto yy295;
9135
5.17k
        goto yy142;
9136
15.3k
      } else {
9137
15.3k
        if (yych == ' ') goto yy142;
9138
12.1k
        goto yy295;
9139
15.3k
      }
9140
24.6k
    } else {
9141
16.3k
      if (yych <= '-') {
9142
6.85k
        if (yych <= ')') goto yy115;
9143
5.29k
        if (yych <= ',') goto yy295;
9144
3.09k
        goto yy479;
9145
9.44k
      } else {
9146
9.44k
        if (yych == '/') goto yy297;
9147
6.48k
        goto yy142;
9148
9.44k
      }
9149
16.3k
    }
9150
66.9k
  } else {
9151
66.9k
    if (yych <= '^') {
9152
19.9k
      if (yych <= 'D') {
9153
8.67k
        if (yych <= '@') goto yy295;
9154
4.79k
        goto yy472;
9155
11.2k
      } else {
9156
11.2k
        if (yych <= 'E') goto yy515;
9157
1.93k
        if (yych <= 'Z') goto yy472;
9158
837
        goto yy295;
9159
1.93k
      }
9160
46.9k
    } else {
9161
46.9k
      if (yych <= 'd') {
9162
7.93k
        if (yych <= '_') goto yy297;
9163
5.76k
        if (yych <= '`') goto yy295;
9164
3.85k
        goto yy478;
9165
39.0k
      } else {
9166
39.0k
        if (yych <= 'e') goto yy517;
9167
11.0k
        if (yych <= 'z') goto yy478;
9168
3.34k
        goto yy295;
9169
11.0k
      }
9170
46.9k
    }
9171
66.9k
  }
9172
380k
yy340:
9173
380k
  YYDEBUG(340, *YYCURSOR);
9174
380k
  yych = *++YYCURSOR;
9175
380k
  if (yych <= 'T') {
9176
46.8k
    if (yych <= ')') {
9177
13.2k
      if (yych <= '(') goto yy20;
9178
4.08k
      goto yy115;
9179
33.5k
    } else {
9180
33.5k
      if (yych <= '@') goto yy20;
9181
12.6k
      if (yych <= 'S') goto yy472;
9182
8.16k
      goto yy518;
9183
12.6k
    }
9184
333k
  } else {
9185
333k
    if (yych <= 's') {
9186
35.9k
      if (yych <= 'Z') goto yy472;
9187
25.2k
      if (yych <= '`') goto yy20;
9188
22.2k
      goto yy472;
9189
297k
    } else {
9190
297k
      if (yych <= 't') goto yy518;
9191
15.6k
      if (yych <= 'z') goto yy472;
9192
11.3k
      goto yy20;
9193
15.6k
    }
9194
333k
  }
9195
147k
yy341:
9196
147k
  YYDEBUG(341, *YYCURSOR);
9197
147k
  yyaccept = 2;
9198
147k
  yych = *(YYMARKER = ++YYCURSOR);
9199
147k
  if (yych <= 'S') {
9200
24.0k
    if (yych <= '-') {
9201
8.97k
      if (yych == ')') goto yy115;
9202
5.25k
      if (yych <= ',') goto yy20;
9203
2.52k
      goto yy297;
9204
15.0k
    } else {
9205
15.0k
      if (yych == '/') goto yy297;
9206
13.1k
      if (yych <= '@') goto yy20;
9207
4.80k
      goto yy472;
9208
13.1k
    }
9209
123k
  } else {
9210
123k
    if (yych <= '_') {
9211
12.1k
      if (yych <= 'T') goto yy518;
9212
6.15k
      if (yych <= 'Z') goto yy472;
9213
3.20k
      if (yych <= '^') goto yy20;
9214
1.81k
      goto yy297;
9215
111k
    } else {
9216
111k
      if (yych <= 's') {
9217
6.62k
        if (yych <= '`') goto yy20;
9218
4.16k
        goto yy478;
9219
104k
      } else {
9220
104k
        if (yych <= 't') goto yy519;
9221
10.3k
        if (yych <= 'z') goto yy478;
9222
9.05k
        goto yy20;
9223
10.3k
      }
9224
111k
    }
9225
123k
  }
9226
119k
yy342:
9227
119k
  YYDEBUG(342, *YYCURSOR);
9228
119k
  yyaccept = 7;
9229
119k
  yych = *(YYMARKER = ++YYCURSOR);
9230
119k
  if (yych <= '/') {
9231
44.3k
    if (yych <= '(') {
9232
22.0k
      if (yych <= '\t') {
9233
7.50k
        if (yych <= 0x08) goto yy295;
9234
1.83k
        goto yy142;
9235
14.5k
      } else {
9236
14.5k
        if (yych == ' ') goto yy142;
9237
4.59k
        goto yy295;
9238
14.5k
      }
9239
22.2k
    } else {
9240
22.2k
      if (yych <= ',') {
9241
4.51k
        if (yych <= ')') goto yy115;
9242
1.97k
        goto yy295;
9243
17.7k
      } else {
9244
17.7k
        if (yych <= '-') goto yy473;
9245
7.90k
        if (yych <= '.') goto yy142;
9246
5.10k
        goto yy295;
9247
7.90k
      }
9248
22.2k
    }
9249
75.2k
  } else {
9250
75.2k
    if (yych <= 'Z') {
9251
41.1k
      if (yych <= '@') {
9252
21.4k
        if (yych <= '9') goto yy142;
9253
3.10k
        goto yy295;
9254
21.4k
      } else {
9255
19.7k
        if (yych == 'C') goto yy520;
9256
6.69k
        goto yy472;
9257
19.7k
      }
9258
41.1k
    } else {
9259
34.0k
      if (yych <= 'b') {
9260
10.0k
        if (yych <= '`') goto yy295;
9261
6.16k
        goto yy472;
9262
24.0k
      } else {
9263
24.0k
        if (yych <= 'c') goto yy520;
9264
9.12k
        if (yych <= 'z') goto yy472;
9265
4.39k
        goto yy295;
9266
9.12k
      }
9267
34.0k
    }
9268
75.2k
  }
9269
103k
yy343:
9270
103k
  YYDEBUG(343, *YYCURSOR);
9271
103k
  yyaccept = 7;
9272
103k
  yych = *(YYMARKER = ++YYCURSOR);
9273
103k
  if (yych <= '-') {
9274
60.5k
    if (yych <= ' ') {
9275
12.0k
      if (yych == '\t') goto yy142;
9276
8.32k
      if (yych <= 0x1F) goto yy295;
9277
2.32k
      goto yy142;
9278
48.4k
    } else {
9279
48.4k
      if (yych == ')') goto yy115;
9280
46.6k
      if (yych <= ',') goto yy295;
9281
41.2k
      goto yy473;
9282
46.6k
    }
9283
60.5k
  } else {
9284
42.6k
    if (yych <= '@') {
9285
25.3k
      if (yych == '/') goto yy295;
9286
22.6k
      if (yych <= '9') goto yy142;
9287
1.53k
      goto yy295;
9288
22.6k
    } else {
9289
17.2k
      if (yych <= 'Z') goto yy472;
9290
10.5k
      if (yych <= '`') goto yy295;
9291
8.26k
      if (yych <= 'z') goto yy472;
9292
5.19k
      goto yy295;
9293
8.26k
    }
9294
42.6k
  }
9295
95.5k
yy344:
9296
95.5k
  YYDEBUG(344, *YYCURSOR);
9297
95.5k
  yych = *++YYCURSOR;
9298
95.5k
  if (yych <= 'N') {
9299
47.9k
    if (yych <= ')') {
9300
15.2k
      if (yych <= '(') goto yy20;
9301
1.87k
      goto yy115;
9302
32.6k
    } else {
9303
32.6k
      if (yych <= '@') goto yy20;
9304
27.5k
      if (yych <= 'M') goto yy472;
9305
21.4k
      goto yy521;
9306
27.5k
    }
9307
47.9k
  } else {
9308
47.6k
    if (yych <= 'm') {
9309
13.7k
      if (yych <= 'Z') goto yy472;
9310
11.5k
      if (yych <= '`') goto yy20;
9311
6.39k
      goto yy472;
9312
33.8k
    } else {
9313
33.8k
      if (yych <= 'n') goto yy521;
9314
13.3k
      if (yych <= 'z') goto yy472;
9315
12.4k
      goto yy20;
9316
13.3k
    }
9317
47.6k
  }
9318
195k
yy345:
9319
195k
  YYDEBUG(345, *YYCURSOR);
9320
195k
  yyaccept = 7;
9321
195k
  yych = *(YYMARKER = ++YYCURSOR);
9322
195k
  if (yych <= '9') {
9323
55.5k
    if (yych <= '(') {
9324
14.5k
      if (yych <= '\t') {
9325
5.25k
        if (yych <= 0x08) goto yy295;
9326
904
        goto yy142;
9327
9.30k
      } else {
9328
9.30k
        if (yych == ' ') goto yy142;
9329
6.87k
        goto yy295;
9330
9.30k
      }
9331
40.9k
    } else {
9332
40.9k
      if (yych <= '-') {
9333
30.4k
        if (yych <= ')') goto yy115;
9334
27.6k
        if (yych <= ',') goto yy295;
9335
23.3k
        goto yy479;
9336
27.6k
      } else {
9337
10.4k
        if (yych == '/') goto yy297;
9338
9.88k
        goto yy142;
9339
10.4k
      }
9340
40.9k
    }
9341
139k
  } else {
9342
139k
    if (yych <= '^') {
9343
58.4k
      if (yych <= 'B') {
9344
11.0k
        if (yych <= '@') goto yy295;
9345
2.81k
        goto yy472;
9346
47.4k
      } else {
9347
47.4k
        if (yych <= 'C') goto yy520;
9348
18.3k
        if (yych <= 'Z') goto yy472;
9349
8.72k
        goto yy295;
9350
18.3k
      }
9351
81.1k
    } else {
9352
81.1k
      if (yych <= 'b') {
9353
7.71k
        if (yych <= '_') goto yy297;
9354
5.08k
        if (yych <= '`') goto yy295;
9355
3.42k
        goto yy478;
9356
73.4k
      } else {
9357
73.4k
        if (yych <= 'c') goto yy522;
9358
15.4k
        if (yych <= 'z') goto yy478;
9359
8.71k
        goto yy295;
9360
15.4k
      }
9361
81.1k
    }
9362
139k
  }
9363
53.6k
yy346:
9364
53.6k
  YYDEBUG(346, *YYCURSOR);
9365
53.6k
  yyaccept = 7;
9366
53.6k
  yych = *(YYMARKER = ++YYCURSOR);
9367
53.6k
  if (yych <= '.') {
9368
24.8k
    if (yych <= ' ') {
9369
10.1k
      if (yych == '\t') goto yy142;
9370
9.02k
      if (yych <= 0x1F) goto yy295;
9371
5.53k
      goto yy142;
9372
14.6k
    } else {
9373
14.6k
      if (yych <= ')') {
9374
4.81k
        if (yych <= '(') goto yy295;
9375
2.74k
        goto yy115;
9376
9.82k
      } else {
9377
9.82k
        if (yych <= ',') goto yy295;
9378
8.26k
        if (yych <= '-') goto yy479;
9379
2.96k
        goto yy142;
9380
8.26k
      }
9381
14.6k
    }
9382
28.8k
  } else {
9383
28.8k
    if (yych <= 'Z') {
9384
11.3k
      if (yych <= '/') goto yy297;
9385
10.5k
      if (yych <= '9') goto yy142;
9386
2.34k
      if (yych <= '@') goto yy295;
9387
1.22k
      goto yy472;
9388
17.5k
    } else {
9389
17.5k
      if (yych <= '_') {
9390
3.24k
        if (yych <= '^') goto yy295;
9391
693
        goto yy297;
9392
14.2k
      } else {
9393
14.2k
        if (yych <= '`') goto yy295;
9394
13.3k
        if (yych <= 'z') goto yy478;
9395
4.47k
        goto yy295;
9396
13.3k
      }
9397
17.5k
    }
9398
28.8k
  }
9399
264k
yy347:
9400
264k
  YYDEBUG(347, *YYCURSOR);
9401
264k
  yyaccept = 2;
9402
264k
  yych = *(YYMARKER = ++YYCURSOR);
9403
264k
  if (yych <= 'M') {
9404
50.6k
    if (yych <= '-') {
9405
13.5k
      if (yych == ')') goto yy115;
9406
12.2k
      if (yych <= ',') goto yy20;
9407
1.86k
      goto yy297;
9408
37.0k
    } else {
9409
37.0k
      if (yych == '/') goto yy297;
9410
32.2k
      if (yych <= '@') goto yy20;
9411
4.52k
      goto yy472;
9412
32.2k
    }
9413
213k
  } else {
9414
213k
    if (yych <= '_') {
9415
34.9k
      if (yych <= 'N') goto yy521;
9416
7.95k
      if (yych <= 'Z') goto yy472;
9417
5.44k
      if (yych <= '^') goto yy20;
9418
3.66k
      goto yy297;
9419
178k
    } else {
9420
178k
      if (yych <= 'm') {
9421
10.1k
        if (yych <= '`') goto yy20;
9422
6.72k
        goto yy478;
9423
168k
      } else {
9424
168k
        if (yych <= 'n') goto yy523;
9425
16.5k
        if (yych <= 'z') goto yy478;
9426
11.2k
        goto yy20;
9427
16.5k
      }
9428
178k
    }
9429
213k
  }
9430
253k
yy348:
9431
253k
  YYDEBUG(348, *YYCURSOR);
9432
253k
  yych = *++YYCURSOR;
9433
253k
  if (yych <= 'T') {
9434
47.9k
    if (yych <= ')') {
9435
9.37k
      if (yych <= '(') goto yy20;
9436
2.17k
      goto yy115;
9437
38.5k
    } else {
9438
38.5k
      if (yych <= '@') goto yy20;
9439
23.3k
      if (yych <= 'S') goto yy472;
9440
18.4k
      goto yy524;
9441
23.3k
    }
9442
205k
  } else {
9443
205k
    if (yych <= 's') {
9444
16.2k
      if (yych <= 'Z') goto yy472;
9445
13.9k
      if (yych <= '`') goto yy20;
9446
9.29k
      goto yy472;
9447
189k
    } else {
9448
189k
      if (yych <= 't') goto yy524;
9449
10.2k
      if (yych <= 'z') goto yy472;
9450
6.62k
      goto yy20;
9451
10.2k
    }
9452
205k
  }
9453
73.9k
yy349:
9454
73.9k
  YYDEBUG(349, *YYCURSOR);
9455
73.9k
  yych = *++YYCURSOR;
9456
73.9k
  if (yych <= 'N') {
9457
31.6k
    if (yych <= ')') {
9458
13.9k
      if (yych <= '(') goto yy20;
9459
4.01k
      goto yy115;
9460
17.6k
    } else {
9461
17.6k
      if (yych <= '@') goto yy20;
9462
7.92k
      if (yych <= 'M') goto yy472;
9463
4.60k
      goto yy525;
9464
7.92k
    }
9465
42.2k
  } else {
9466
42.2k
    if (yych <= 'm') {
9467
15.7k
      if (yych <= 'Z') goto yy472;
9468
8.61k
      if (yych <= '`') goto yy20;
9469
4.38k
      goto yy472;
9470
26.5k
    } else {
9471
26.5k
      if (yych <= 'n') goto yy525;
9472
13.9k
      if (yych <= 'z') goto yy472;
9473
5.64k
      goto yy20;
9474
13.9k
    }
9475
42.2k
  }
9476
37.7k
yy350:
9477
37.7k
  YYDEBUG(350, *YYCURSOR);
9478
37.7k
  yych = *++YYCURSOR;
9479
37.7k
  if (yych <= '@') {
9480
20.4k
    if (yych == ')') goto yy115;
9481
20.4k
  } else {
9482
17.3k
    if (yych <= 'Z') goto yy472;
9483
14.1k
    if (yych <= '`') goto yy351;
9484
13.0k
    if (yych <= 'z') goto yy472;
9485
13.0k
  }
9486
55.2k
yy351:
9487
55.2k
  YYDEBUG(351, *YYCURSOR);
9488
55.2k
#line 1178 "ext/date/lib/parse_date.re"
9489
55.2k
  {
9490
55.2k
    DEBUG_OUTPUT("now");
9491
55.2k
    TIMELIB_INIT;
9492
9493
55.2k
    TIMELIB_DEINIT;
9494
55.2k
    return TIMELIB_RELATIVE;
9495
37.7k
  }
9496
0
#line 9497 "ext/date/lib/parse_date.c"
9497
141k
yy352:
9498
141k
  YYDEBUG(352, *YYCURSOR);
9499
141k
  yyaccept = 2;
9500
141k
  yych = *(YYMARKER = ++YYCURSOR);
9501
141k
  if (yych <= 'S') {
9502
22.6k
    if (yych <= '-') {
9503
12.2k
      if (yych == ')') goto yy115;
9504
11.1k
      if (yych <= ',') goto yy20;
9505
6.11k
      goto yy297;
9506
11.1k
    } else {
9507
10.4k
      if (yych == '/') goto yy297;
9508
7.55k
      if (yych <= '@') goto yy20;
9509
3.07k
      goto yy472;
9510
7.55k
    }
9511
118k
  } else {
9512
118k
    if (yych <= '_') {
9513
30.2k
      if (yych <= 'T') goto yy524;
9514
6.37k
      if (yych <= 'Z') goto yy472;
9515
4.38k
      if (yych <= '^') goto yy20;
9516
2.26k
      goto yy297;
9517
88.1k
    } else {
9518
88.1k
      if (yych <= 's') {
9519
7.52k
        if (yych <= '`') goto yy20;
9520
4.81k
        goto yy478;
9521
80.6k
      } else {
9522
80.6k
        if (yych <= 't') goto yy527;
9523
6.28k
        if (yych <= 'z') goto yy478;
9524
3.39k
        goto yy20;
9525
6.28k
      }
9526
88.1k
    }
9527
118k
  }
9528
94.6k
yy353:
9529
94.6k
  YYDEBUG(353, *YYCURSOR);
9530
94.6k
  yyaccept = 2;
9531
94.6k
  yych = *(YYMARKER = ++YYCURSOR);
9532
94.6k
  if (yych <= 'M') {
9533
32.2k
    if (yych <= '-') {
9534
17.8k
      if (yych == ')') goto yy115;
9535
10.5k
      if (yych <= ',') goto yy20;
9536
4.96k
      goto yy297;
9537
14.4k
    } else {
9538
14.4k
      if (yych == '/') goto yy297;
9539
10.2k
      if (yych <= '@') goto yy20;
9540
3.55k
      goto yy472;
9541
10.2k
    }
9542
62.3k
  } else {
9543
62.3k
    if (yych <= '_') {
9544
11.9k
      if (yych <= 'N') goto yy525;
9545
7.36k
      if (yych <= 'Z') goto yy472;
9546
6.18k
      if (yych <= '^') goto yy20;
9547
1.33k
      goto yy297;
9548
50.3k
    } else {
9549
50.3k
      if (yych <= 'm') {
9550
6.67k
        if (yych <= '`') goto yy20;
9551
5.01k
        goto yy478;
9552
43.6k
      } else {
9553
43.6k
        if (yych <= 'n') goto yy528;
9554
14.0k
        if (yych <= 'z') goto yy478;
9555
6.83k
        goto yy20;
9556
14.0k
      }
9557
50.3k
    }
9558
62.3k
  }
9559
37.6k
yy354:
9560
37.6k
  YYDEBUG(354, *YYCURSOR);
9561
37.6k
  yyaccept = 11;
9562
37.6k
  yych = *(YYMARKER = ++YYCURSOR);
9563
37.6k
  if (yych <= '/') {
9564
13.6k
    if (yych <= ',') {
9565
6.37k
      if (yych == ')') goto yy115;
9566
3.67k
      goto yy351;
9567
7.27k
    } else {
9568
7.27k
      if (yych == '.') goto yy351;
9569
5.47k
      goto yy297;
9570
7.27k
    }
9571
24.0k
  } else {
9572
24.0k
    if (yych <= '^') {
9573
9.85k
      if (yych <= '@') goto yy351;
9574
3.88k
      if (yych <= 'Z') goto yy472;
9575
2.61k
      goto yy351;
9576
14.1k
    } else {
9577
14.1k
      if (yych <= '_') goto yy297;
9578
11.3k
      if (yych <= '`') goto yy351;
9579
9.12k
      if (yych <= 'z') goto yy478;
9580
6.52k
      goto yy351;
9581
9.12k
    }
9582
24.0k
  }
9583
138k
yy355:
9584
138k
  YYDEBUG(355, *YYCURSOR);
9585
138k
  yyaccept = 7;
9586
138k
  yych = *(YYMARKER = ++YYCURSOR);
9587
138k
  if (yych <= '/') {
9588
35.7k
    if (yych <= '(') {
9589
18.3k
      if (yych <= '\t') {
9590
7.94k
        if (yych <= 0x08) goto yy295;
9591
1.92k
        goto yy142;
9592
10.3k
      } else {
9593
10.3k
        if (yych == ' ') goto yy142;
9594
4.70k
        goto yy295;
9595
10.3k
      }
9596
18.3k
    } else {
9597
17.4k
      if (yych <= ',') {
9598
3.86k
        if (yych <= ')') goto yy115;
9599
1.88k
        goto yy295;
9600
13.6k
      } else {
9601
13.6k
        if (yych <= '-') goto yy473;
9602
5.25k
        if (yych <= '.') goto yy142;
9603
1.07k
        goto yy295;
9604
5.25k
      }
9605
17.4k
    }
9606
102k
  } else {
9607
102k
    if (yych <= 'Z') {
9608
27.4k
      if (yych <= '@') {
9609
13.5k
        if (yych <= '9') goto yy142;
9610
7.16k
        goto yy295;
9611
13.8k
      } else {
9612
13.8k
        if (yych == 'O') goto yy529;
9613
3.80k
        goto yy472;
9614
13.8k
      }
9615
75.0k
    } else {
9616
75.0k
      if (yych <= 'n') {
9617
12.2k
        if (yych <= '`') goto yy295;
9618
8.94k
        goto yy472;
9619
62.8k
      } else {
9620
62.8k
        if (yych <= 'o') goto yy529;
9621
16.7k
        if (yych <= 'z') goto yy472;
9622
11.0k
        goto yy295;
9623
16.7k
      }
9624
75.0k
    }
9625
102k
  }
9626
232k
yy356:
9627
232k
  YYDEBUG(356, *YYCURSOR);
9628
232k
  yyaccept = 7;
9629
232k
  yych = *(YYMARKER = ++YYCURSOR);
9630
232k
  if (yych <= '9') {
9631
43.8k
    if (yych <= '(') {
9632
16.4k
      if (yych <= '\t') {
9633
8.25k
        if (yych <= 0x08) goto yy295;
9634
2.89k
        goto yy142;
9635
8.25k
      } else {
9636
8.21k
        if (yych == ' ') goto yy142;
9637
3.90k
        goto yy295;
9638
8.21k
      }
9639
27.3k
    } else {
9640
27.3k
      if (yych <= '-') {
9641
15.5k
        if (yych <= ')') goto yy115;
9642
11.8k
        if (yych <= ',') goto yy295;
9643
4.01k
        goto yy479;
9644
11.8k
      } else {
9645
11.7k
        if (yych == '/') goto yy297;
9646
8.47k
        goto yy142;
9647
11.7k
      }
9648
27.3k
    }
9649
188k
  } else {
9650
188k
    if (yych <= '^') {
9651
27.0k
      if (yych <= 'N') {
9652
10.7k
        if (yych <= '@') goto yy295;
9653
3.54k
        goto yy472;
9654
16.3k
      } else {
9655
16.3k
        if (yych <= 'O') goto yy529;
9656
6.80k
        if (yych <= 'Z') goto yy472;
9657
1.24k
        goto yy295;
9658
6.80k
      }
9659
161k
    } else {
9660
161k
      if (yych <= 'n') {
9661
8.36k
        if (yych <= '_') goto yy297;
9662
6.47k
        if (yych <= '`') goto yy295;
9663
4.72k
        goto yy478;
9664
153k
      } else {
9665
153k
        if (yych <= 'o') goto yy530;
9666
16.8k
        if (yych <= 'z') goto yy478;
9667
7.46k
        goto yy295;
9668
16.8k
      }
9669
161k
    }
9670
188k
  }
9671
215k
yy357:
9672
215k
  YYDEBUG(357, *YYCURSOR);
9673
215k
  yych = *++YYCURSOR;
9674
215k
  if (yych <= 'V') {
9675
45.0k
    if (yych <= ')') {
9676
12.3k
      if (yych <= '(') goto yy20;
9677
3.94k
      goto yy115;
9678
32.6k
    } else {
9679
32.6k
      if (yych <= '@') goto yy20;
9680
20.2k
      if (yych <= 'U') goto yy472;
9681
15.7k
      goto yy531;
9682
20.2k
    }
9683
170k
  } else {
9684
170k
    if (yych <= 'u') {
9685
26.1k
      if (yych <= 'Z') goto yy472;
9686
23.5k
      if (yych <= '`') goto yy20;
9687
21.6k
      goto yy472;
9688
144k
    } else {
9689
144k
      if (yych <= 'v') goto yy531;
9690
10.8k
      if (yych <= 'z') goto yy472;
9691
8.30k
      goto yy20;
9692
10.8k
    }
9693
170k
  }
9694
234k
yy358:
9695
234k
  YYDEBUG(358, *YYCURSOR);
9696
234k
  yyaccept = 2;
9697
234k
  yych = *(YYMARKER = ++YYCURSOR);
9698
234k
  if (yych <= 'U') {
9699
31.6k
    if (yych <= '-') {
9700
13.1k
      if (yych == ')') goto yy115;
9701
11.5k
      if (yych <= ',') goto yy20;
9702
4.89k
      goto yy297;
9703
18.4k
    } else {
9704
18.4k
      if (yych == '/') goto yy297;
9705
16.8k
      if (yych <= '@') goto yy20;
9706
8.91k
      goto yy472;
9707
16.8k
    }
9708
203k
  } else {
9709
203k
    if (yych <= '_') {
9710
17.0k
      if (yych <= 'V') goto yy531;
9711
6.97k
      if (yych <= 'Z') goto yy472;
9712
3.63k
      if (yych <= '^') goto yy20;
9713
1.67k
      goto yy297;
9714
186k
    } else {
9715
186k
      if (yych <= 'u') {
9716
10.8k
        if (yych <= '`') goto yy20;
9717
9.20k
        goto yy478;
9718
175k
      } else {
9719
175k
        if (yych <= 'v') goto yy532;
9720
14.9k
        if (yych <= 'z') goto yy478;
9721
10.2k
        goto yy20;
9722
14.9k
      }
9723
186k
    }
9724
203k
  }
9725
93.6k
yy359:
9726
93.6k
  YYDEBUG(359, *YYCURSOR);
9727
93.6k
  yych = *++YYCURSOR;
9728
93.6k
  if (yych <= 'U') {
9729
32.2k
    if (yych <= ')') {
9730
15.9k
      if (yych <= '(') goto yy315;
9731
4.96k
      goto yy115;
9732
16.3k
    } else {
9733
16.3k
      if (yych <= '@') goto yy315;
9734
9.98k
      if (yych <= 'T') goto yy472;
9735
5.12k
      goto yy533;
9736
9.98k
    }
9737
61.3k
  } else {
9738
61.3k
    if (yych <= 't') {
9739
13.1k
      if (yych <= 'Z') goto yy472;
9740
10.9k
      if (yych <= '`') goto yy315;
9741
8.75k
      goto yy472;
9742
48.1k
    } else {
9743
48.1k
      if (yych <= 'u') goto yy533;
9744
11.3k
      if (yych <= 'z') goto yy472;
9745
8.71k
      goto yy315;
9746
11.3k
    }
9747
61.3k
  }
9748
129k
yy360:
9749
129k
  YYDEBUG(360, *YYCURSOR);
9750
129k
  yych = *++YYCURSOR;
9751
129k
  if (yych <= 'O') {
9752
42.7k
    if (yych <= ')') {
9753
8.98k
      if (yych <= '(') goto yy20;
9754
2.72k
      goto yy115;
9755
33.7k
    } else {
9756
33.7k
      if (yych <= '@') goto yy20;
9757
24.5k
      if (yych <= 'N') goto yy472;
9758
18.0k
      goto yy534;
9759
24.5k
    }
9760
86.8k
  } else {
9761
86.8k
    if (yych <= 'n') {
9762
17.0k
      if (yych <= 'Z') goto yy472;
9763
13.2k
      if (yych <= '`') goto yy20;
9764
10.2k
      goto yy472;
9765
69.8k
    } else {
9766
69.8k
      if (yych <= 'o') goto yy534;
9767
22.7k
      if (yych <= 'z') goto yy472;
9768
12.1k
      goto yy20;
9769
22.7k
    }
9770
86.8k
  }
9771
216k
yy361:
9772
216k
  YYDEBUG(361, *YYCURSOR);
9773
216k
  yyaccept = 7;
9774
216k
  yych = *(YYMARKER = ++YYCURSOR);
9775
216k
  if (yych <= '/') {
9776
49.5k
    if (yych <= '(') {
9777
14.4k
      if (yych <= '\t') {
9778
5.48k
        if (yych <= 0x08) goto yy295;
9779
1.71k
        goto yy142;
9780
8.93k
      } else {
9781
8.93k
        if (yych == ' ') goto yy142;
9782
6.37k
        goto yy295;
9783
8.93k
      }
9784
35.1k
    } else {
9785
35.1k
      if (yych <= ',') {
9786
7.61k
        if (yych <= ')') goto yy115;
9787
5.52k
        goto yy295;
9788
27.5k
      } else {
9789
27.5k
        if (yych <= '-') goto yy473;
9790
18.5k
        if (yych <= '.') goto yy142;
9791
12.2k
        goto yy295;
9792
18.5k
      }
9793
35.1k
    }
9794
166k
  } else {
9795
166k
    if (yych <= 'Z') {
9796
39.8k
      if (yych <= '@') {
9797
22.0k
        if (yych <= '9') goto yy142;
9798
5.92k
        goto yy295;
9799
22.0k
      } else {
9800
17.7k
        if (yych == 'T') goto yy535;
9801
8.41k
        goto yy472;
9802
17.7k
      }
9803
126k
    } else {
9804
126k
      if (yych <= 's') {
9805
16.1k
        if (yych <= '`') goto yy295;
9806
11.2k
        goto yy472;
9807
110k
      } else {
9808
110k
        if (yych <= 't') goto yy535;
9809
22.3k
        if (yych <= 'z') goto yy472;
9810
18.6k
        goto yy295;
9811
22.3k
      }
9812
126k
    }
9813
166k
  }
9814
81.7k
yy362:
9815
81.7k
  YYDEBUG(362, *YYCURSOR);
9816
81.7k
  yych = *++YYCURSOR;
9817
81.7k
  if (yych <= 'E') {
9818
32.7k
    if (yych <= ')') {
9819
11.7k
      if (yych <= '(') goto yy20;
9820
3.89k
      goto yy115;
9821
21.0k
    } else {
9822
21.0k
      if (yych <= '@') goto yy20;
9823
11.5k
      if (yych <= 'D') goto yy472;
9824
9.49k
      goto yy536;
9825
11.5k
    }
9826
49.0k
  } else {
9827
49.0k
    if (yych <= 'd') {
9828
8.75k
      if (yych <= 'Z') goto yy472;
9829
6.02k
      if (yych <= '`') goto yy20;
9830
2.88k
      goto yy472;
9831
40.2k
    } else {
9832
40.2k
      if (yych <= 'e') goto yy536;
9833
14.6k
      if (yych <= 'z') goto yy472;
9834
11.6k
      goto yy20;
9835
14.6k
    }
9836
49.0k
  }
9837
206k
yy363:
9838
206k
  YYDEBUG(363, *YYCURSOR);
9839
206k
  yyaccept = 9;
9840
206k
  yych = *(YYMARKER = ++YYCURSOR);
9841
206k
  if (yych <= 'T') {
9842
42.0k
    if (yych <= '-') {
9843
18.1k
      if (yych == ')') goto yy115;
9844
12.9k
      if (yych <= ',') goto yy315;
9845
3.54k
      goto yy297;
9846
23.8k
    } else {
9847
23.8k
      if (yych == '/') goto yy297;
9848
22.2k
      if (yych <= '@') goto yy315;
9849
7.19k
      goto yy472;
9850
22.2k
    }
9851
164k
  } else {
9852
164k
    if (yych <= '_') {
9853
34.7k
      if (yych <= 'U') goto yy533;
9854
12.7k
      if (yych <= 'Z') goto yy472;
9855
10.9k
      if (yych <= '^') goto yy315;
9856
7.03k
      goto yy297;
9857
130k
    } else {
9858
130k
      if (yych <= 't') {
9859
13.2k
        if (yych <= '`') goto yy315;
9860
8.00k
        goto yy478;
9861
116k
      } else {
9862
116k
        if (yych <= 'u') goto yy537;
9863
30.8k
        if (yych <= 'z') goto yy478;
9864
28.5k
        goto yy315;
9865
30.8k
      }
9866
130k
    }
9867
164k
  }
9868
252k
yy364:
9869
252k
  YYDEBUG(364, *YYCURSOR);
9870
252k
  yyaccept = 2;
9871
252k
  yych = *(YYMARKER = ++YYCURSOR);
9872
252k
  if (yych <= 'N') {
9873
42.8k
    if (yych <= '-') {
9874
21.6k
      if (yych == ')') goto yy115;
9875
14.8k
      if (yych <= ',') goto yy20;
9876
2.61k
      goto yy297;
9877
21.1k
    } else {
9878
21.1k
      if (yych == '/') goto yy297;
9879
19.6k
      if (yych <= '@') goto yy20;
9880
7.52k
      goto yy472;
9881
19.6k
    }
9882
209k
  } else {
9883
209k
    if (yych <= '_') {
9884
28.7k
      if (yych <= 'O') goto yy534;
9885
19.1k
      if (yych <= 'Z') goto yy472;
9886
2.36k
      if (yych <= '^') goto yy20;
9887
1.06k
      goto yy297;
9888
180k
    } else {
9889
180k
      if (yych <= 'n') {
9890
15.1k
        if (yych <= '`') goto yy20;
9891
12.2k
        goto yy478;
9892
165k
      } else {
9893
165k
        if (yych <= 'o') goto yy538;
9894
27.6k
        if (yych <= 'z') goto yy478;
9895
12.4k
        goto yy20;
9896
27.6k
      }
9897
180k
    }
9898
209k
  }
9899
281k
yy365:
9900
281k
  YYDEBUG(365, *YYCURSOR);
9901
281k
  yyaccept = 7;
9902
281k
  yych = *(YYMARKER = ++YYCURSOR);
9903
281k
  if (yych <= '9') {
9904
43.0k
    if (yych <= '(') {
9905
17.2k
      if (yych <= '\t') {
9906
8.59k
        if (yych <= 0x08) goto yy295;
9907
4.92k
        goto yy142;
9908
8.64k
      } else {
9909
8.64k
        if (yych == ' ') goto yy142;
9910
5.62k
        goto yy295;
9911
8.64k
      }
9912
25.8k
    } else {
9913
25.8k
      if (yych <= '-') {
9914
15.3k
        if (yych <= ')') goto yy115;
9915
13.8k
        if (yych <= ',') goto yy295;
9916
11.5k
        goto yy479;
9917
13.8k
      } else {
9918
10.4k
        if (yych == '/') goto yy297;
9919
8.82k
        goto yy142;
9920
10.4k
      }
9921
25.8k
    }
9922
238k
  } else {
9923
238k
    if (yych <= '^') {
9924
31.3k
      if (yych <= 'S') {
9925
11.8k
        if (yych <= '@') goto yy295;
9926
6.96k
        goto yy472;
9927
19.5k
      } else {
9928
19.5k
        if (yych <= 'T') goto yy535;
9929
7.33k
        if (yych <= 'Z') goto yy472;
9930
5.03k
        goto yy295;
9931
7.33k
      }
9932
207k
    } else {
9933
207k
      if (yych <= 's') {
9934
13.7k
        if (yych <= '_') goto yy297;
9935
11.2k
        if (yych <= '`') goto yy295;
9936
7.81k
        goto yy478;
9937
193k
      } else {
9938
193k
        if (yych <= 't') goto yy539;
9939
8.31k
        if (yych <= 'z') goto yy478;
9940
6.94k
        goto yy295;
9941
8.31k
      }
9942
207k
    }
9943
238k
  }
9944
180k
yy366:
9945
180k
  YYDEBUG(366, *YYCURSOR);
9946
180k
  yyaccept = 2;
9947
180k
  yych = *(YYMARKER = ++YYCURSOR);
9948
180k
  if (yych <= 'D') {
9949
31.2k
    if (yych <= '-') {
9950
9.92k
      if (yych == ')') goto yy115;
9951
7.62k
      if (yych <= ',') goto yy20;
9952
1.07k
      goto yy297;
9953
21.2k
    } else {
9954
21.2k
      if (yych == '/') goto yy297;
9955
14.0k
      if (yych <= '@') goto yy20;
9956
2.01k
      goto yy472;
9957
14.0k
    }
9958
149k
  } else {
9959
149k
    if (yych <= '_') {
9960
26.9k
      if (yych <= 'E') goto yy536;
9961
7.83k
      if (yych <= 'Z') goto yy472;
9962
5.10k
      if (yych <= '^') goto yy20;
9963
1.37k
      goto yy297;
9964
122k
    } else {
9965
122k
      if (yych <= 'd') {
9966
5.28k
        if (yych <= '`') goto yy20;
9967
2.97k
        goto yy478;
9968
117k
      } else {
9969
117k
        if (yych <= 'e') goto yy540;
9970
12.5k
        if (yych <= 'z') goto yy478;
9971
6.60k
        goto yy20;
9972
12.5k
      }
9973
122k
    }
9974
149k
  }
9975
479k
yy367:
9976
479k
  YYDEBUG(367, *YYCURSOR);
9977
479k
  yyaccept = 4;
9978
479k
  yych = *(YYMARKER = ++YYCURSOR);
9979
479k
  if (yych <= '/') {
9980
43.8k
    if (yych == '.') goto yy75;
9981
38.9k
    goto yy177;
9982
436k
  } else {
9983
436k
    if (yych <= '5') goto yy541;
9984
288k
    if (yych == ':') goto yy75;
9985
112k
    goto yy177;
9986
288k
  }
9987
229k
yy368:
9988
229k
  YYDEBUG(368, *YYCURSOR);
9989
229k
  yych = *++YYCURSOR;
9990
229k
  if (yych <= 'S') {
9991
42.8k
    if (yych <= '@') {
9992
17.7k
      if (yych == ')') goto yy115;
9993
16.9k
      goto yy20;
9994
25.0k
    } else {
9995
25.0k
      if (yych <= 'Q') goto yy472;
9996
17.0k
      if (yych <= 'R') goto yy542;
9997
11.5k
      goto yy524;
9998
17.0k
    }
9999
186k
  } else {
10000
186k
    if (yych <= 'q') {
10001
18.3k
      if (yych <= 'Z') goto yy472;
10002
15.8k
      if (yych <= '`') goto yy20;
10003
13.3k
      goto yy472;
10004
168k
    } else {
10005
168k
      if (yych <= 'r') goto yy542;
10006
101k
      if (yych <= 's') goto yy524;
10007
9.76k
      if (yych <= 'z') goto yy472;
10008
5.56k
      goto yy20;
10009
9.76k
    }
10010
186k
  }
10011
93.7k
yy369:
10012
93.7k
  YYDEBUG(369, *YYCURSOR);
10013
93.7k
  yych = *++YYCURSOR;
10014
93.7k
  if (yych <= 'R') {
10015
39.3k
    if (yych <= ')') {
10016
10.7k
      if (yych <= '(') goto yy315;
10017
1.78k
      goto yy115;
10018
28.5k
    } else {
10019
28.5k
      if (yych <= '@') goto yy315;
10020
24.2k
      if (yych <= 'Q') goto yy472;
10021
20.1k
      goto yy543;
10022
24.2k
    }
10023
54.3k
  } else {
10024
54.3k
    if (yych <= 'q') {
10025
15.9k
      if (yych <= 'Z') goto yy472;
10026
13.2k
      if (yych <= '`') goto yy315;
10027
5.51k
      goto yy472;
10028
38.3k
    } else {
10029
38.3k
      if (yych <= 'r') goto yy543;
10030
13.1k
      if (yych <= 'z') goto yy472;
10031
10.0k
      goto yy315;
10032
13.1k
    }
10033
54.3k
  }
10034
41.4k
yy370:
10035
41.4k
  YYDEBUG(370, *YYCURSOR);
10036
41.4k
  yych = *++YYCURSOR;
10037
41.4k
  if (yych <= 'A') {
10038
8.38k
    if (yych == ')') goto yy115;
10039
8.15k
    if (yych <= '@') goto yy20;
10040
3.82k
    goto yy544;
10041
33.0k
  } else {
10042
33.0k
    if (yych <= '`') {
10043
6.26k
      if (yych <= 'Z') goto yy472;
10044
2.77k
      goto yy20;
10045
26.8k
    } else {
10046
26.8k
      if (yych <= 'a') goto yy544;
10047
7.25k
      if (yych <= 'z') goto yy472;
10048
3.02k
      goto yy20;
10049
7.25k
    }
10050
33.0k
  }
10051
85.9k
yy371:
10052
85.9k
  YYDEBUG(371, *YYCURSOR);
10053
85.9k
  yych = *++YYCURSOR;
10054
85.9k
  if (yych <= 'O') {
10055
30.3k
    if (yych <= ')') {
10056
9.79k
      if (yych <= '(') goto yy20;
10057
3.25k
      goto yy115;
10058
20.5k
    } else {
10059
20.5k
      if (yych <= '@') goto yy20;
10060
13.7k
      if (yych <= 'N') goto yy472;
10061
7.56k
      goto yy545;
10062
13.7k
    }
10063
55.6k
  } else {
10064
55.6k
    if (yych <= 'n') {
10065
6.74k
      if (yych <= 'Z') goto yy472;
10066
4.40k
      if (yych <= '`') goto yy20;
10067
2.91k
      goto yy472;
10068
48.8k
    } else {
10069
48.8k
      if (yych <= 'o') goto yy545;
10070
6.39k
      if (yych <= 'z') goto yy472;
10071
4.92k
      goto yy20;
10072
6.39k
    }
10073
55.6k
  }
10074
94.0k
yy372:
10075
94.0k
  YYDEBUG(372, *YYCURSOR);
10076
94.0k
  yych = *++YYCURSOR;
10077
94.0k
  if (yych <= 'S') {
10078
49.5k
    if (yych <= ')') {
10079
17.3k
      if (yych <= '(') goto yy315;
10080
1.36k
      goto yy115;
10081
32.2k
    } else {
10082
32.2k
      if (yych <= '@') goto yy315;
10083
27.1k
      if (yych <= 'R') goto yy472;
10084
21.4k
      goto yy546;
10085
27.1k
    }
10086
49.5k
  } else {
10087
44.4k
    if (yych <= 'r') {
10088
6.81k
      if (yych <= 'Z') goto yy472;
10089
5.63k
      if (yych <= '`') goto yy315;
10090
4.43k
      goto yy472;
10091
37.6k
    } else {
10092
37.6k
      if (yych <= 's') goto yy546;
10093
24.7k
      if (yych <= 'z') goto yy472;
10094
22.0k
      goto yy315;
10095
24.7k
    }
10096
44.4k
  }
10097
76.5k
yy373:
10098
76.5k
  YYDEBUG(373, *YYCURSOR);
10099
76.5k
  yych = *++YYCURSOR;
10100
76.5k
  if (yych <= 'L') {
10101
37.7k
    if (yych <= ')') {
10102
8.33k
      if (yych <= '(') goto yy20;
10103
2.51k
      goto yy115;
10104
29.4k
    } else {
10105
29.4k
      if (yych <= '@') goto yy20;
10106
22.2k
      if (yych <= 'K') goto yy472;
10107
19.5k
      goto yy547;
10108
22.2k
    }
10109
38.8k
  } else {
10110
38.8k
    if (yych <= 'k') {
10111
12.2k
      if (yych <= 'Z') goto yy472;
10112
9.39k
      if (yych <= '`') goto yy20;
10113
7.08k
      goto yy472;
10114
26.5k
    } else {
10115
26.5k
      if (yych <= 'l') goto yy547;
10116
8.29k
      if (yych <= 'z') goto yy472;
10117
4.87k
      goto yy20;
10118
8.29k
    }
10119
38.8k
  }
10120
288k
yy374:
10121
288k
  YYDEBUG(374, *YYCURSOR);
10122
288k
  yyaccept = 2;
10123
288k
  yych = *(YYMARKER = ++YYCURSOR);
10124
288k
  if (yych <= 'R') {
10125
38.1k
    if (yych <= '-') {
10126
11.7k
      if (yych == ')') goto yy115;
10127
10.7k
      if (yych <= ',') goto yy20;
10128
1.42k
      goto yy297;
10129
26.4k
    } else {
10130
26.4k
      if (yych <= '/') {
10131
2.39k
        if (yych <= '.') goto yy20;
10132
981
        goto yy297;
10133
24.0k
      } else {
10134
24.0k
        if (yych <= '@') goto yy20;
10135
10.9k
        if (yych <= 'Q') goto yy472;
10136
5.13k
        goto yy542;
10137
10.9k
      }
10138
26.4k
    }
10139
250k
  } else {
10140
250k
    if (yych <= '`') {
10141
10.4k
      if (yych <= 'Z') {
10142
5.92k
        if (yych <= 'S') goto yy524;
10143
3.42k
        goto yy472;
10144
5.92k
      } else {
10145
4.52k
        if (yych == '_') goto yy297;
10146
3.28k
        goto yy20;
10147
4.52k
      }
10148
240k
    } else {
10149
240k
      if (yych <= 'r') {
10150
157k
        if (yych <= 'q') goto yy478;
10151
145k
        goto yy548;
10152
157k
      } else {
10153
82.1k
        if (yych <= 's') goto yy527;
10154
16.6k
        if (yych <= 'z') goto yy478;
10155
9.11k
        goto yy20;
10156
16.6k
      }
10157
240k
    }
10158
250k
  }
10159
187k
yy375:
10160
187k
  YYDEBUG(375, *YYCURSOR);
10161
187k
  yyaccept = 9;
10162
187k
  yych = *(YYMARKER = ++YYCURSOR);
10163
187k
  if (yych <= 'Q') {
10164
27.9k
    if (yych <= '-') {
10165
11.3k
      if (yych == ')') goto yy115;
10166
9.34k
      if (yych <= ',') goto yy315;
10167
1.99k
      goto yy297;
10168
16.6k
    } else {
10169
16.6k
      if (yych == '/') goto yy297;
10170
13.9k
      if (yych <= '@') goto yy315;
10171
3.92k
      goto yy472;
10172
13.9k
    }
10173
159k
  } else {
10174
159k
    if (yych <= '_') {
10175
21.5k
      if (yych <= 'R') goto yy543;
10176
8.62k
      if (yych <= 'Z') goto yy472;
10177
6.36k
      if (yych <= '^') goto yy315;
10178
2.55k
      goto yy297;
10179
137k
    } else {
10180
137k
      if (yych <= 'q') {
10181
8.02k
        if (yych <= '`') goto yy315;
10182
5.92k
        goto yy478;
10183
129k
      } else {
10184
129k
        if (yych <= 'r') goto yy549;
10185
19.7k
        if (yych <= 'z') goto yy478;
10186
16.0k
        goto yy315;
10187
19.7k
      }
10188
137k
    }
10189
159k
  }
10190
127k
yy376:
10191
127k
  YYDEBUG(376, *YYCURSOR);
10192
127k
  yyaccept = 2;
10193
127k
  yych = *(YYMARKER = ++YYCURSOR);
10194
127k
  if (yych <= '@') {
10195
22.0k
    if (yych <= ',') {
10196
6.36k
      if (yych == ')') goto yy115;
10197
4.08k
      goto yy20;
10198
15.6k
    } else {
10199
15.6k
      if (yych == '.') goto yy20;
10200
10.2k
      if (yych <= '/') goto yy297;
10201
6.86k
      goto yy20;
10202
10.2k
    }
10203
105k
  } else {
10204
105k
    if (yych <= '_') {
10205
21.6k
      if (yych <= 'A') goto yy544;
10206
8.17k
      if (yych <= 'Z') goto yy472;
10207
3.43k
      if (yych <= '^') goto yy20;
10208
1.50k
      goto yy297;
10209
84.0k
    } else {
10210
84.0k
      if (yych <= '`') goto yy20;
10211
81.4k
      if (yych <= 'a') goto yy550;
10212
15.2k
      if (yych <= 'z') goto yy478;
10213
8.67k
      goto yy20;
10214
15.2k
    }
10215
105k
  }
10216
182k
yy377:
10217
182k
  YYDEBUG(377, *YYCURSOR);
10218
182k
  yyaccept = 2;
10219
182k
  yych = *(YYMARKER = ++YYCURSOR);
10220
182k
  if (yych <= 'N') {
10221
19.4k
    if (yych <= '-') {
10222
9.97k
      if (yych == ')') goto yy115;
10223
8.23k
      if (yych <= ',') goto yy20;
10224
1.76k
      goto yy297;
10225
9.43k
    } else {
10226
9.43k
      if (yych == '/') goto yy297;
10227
8.10k
      if (yych <= '@') goto yy20;
10228
2.54k
      goto yy472;
10229
8.10k
    }
10230
162k
  } else {
10231
162k
    if (yych <= '_') {
10232
27.6k
      if (yych <= 'O') goto yy545;
10233
10.9k
      if (yych <= 'Z') goto yy472;
10234
6.35k
      if (yych <= '^') goto yy20;
10235
3.02k
      goto yy297;
10236
135k
    } else {
10237
135k
      if (yych <= 'n') {
10238
8.21k
        if (yych <= '`') goto yy20;
10239
6.16k
        goto yy478;
10240
127k
      } else {
10241
127k
        if (yych <= 'o') goto yy551;
10242
13.6k
        if (yych <= 'z') goto yy478;
10243
8.97k
        goto yy20;
10244
13.6k
      }
10245
135k
    }
10246
162k
  }
10247
62.2k
yy378:
10248
62.2k
  YYDEBUG(378, *YYCURSOR);
10249
62.2k
  yyaccept = 9;
10250
62.2k
  yych = *(YYMARKER = ++YYCURSOR);
10251
62.2k
  if (yych <= 'R') {
10252
21.4k
    if (yych <= '-') {
10253
9.87k
      if (yych == ')') goto yy115;
10254
6.95k
      if (yych <= ',') goto yy315;
10255
1.83k
      goto yy297;
10256
11.5k
    } else {
10257
11.5k
      if (yych == '/') goto yy297;
10258
9.44k
      if (yych <= '@') goto yy315;
10259
4.37k
      goto yy472;
10260
9.44k
    }
10261
40.7k
  } else {
10262
40.7k
    if (yych <= '_') {
10263
6.78k
      if (yych <= 'S') goto yy546;
10264
4.46k
      if (yych <= 'Z') goto yy472;
10265
3.20k
      if (yych <= '^') goto yy315;
10266
1.45k
      goto yy297;
10267
34.0k
    } else {
10268
34.0k
      if (yych <= 'r') {
10269
5.07k
        if (yych <= '`') goto yy315;
10270
3.53k
        goto yy478;
10271
28.9k
      } else {
10272
28.9k
        if (yych <= 's') goto yy552;
10273
8.68k
        if (yych <= 'z') goto yy478;
10274
5.40k
        goto yy315;
10275
8.68k
      }
10276
34.0k
    }
10277
40.7k
  }
10278
118k
yy379:
10279
118k
  YYDEBUG(379, *YYCURSOR);
10280
118k
  yyaccept = 2;
10281
118k
  yych = *(YYMARKER = ++YYCURSOR);
10282
118k
  if (yych <= 'K') {
10283
19.0k
    if (yych <= '-') {
10284
9.70k
      if (yych == ')') goto yy115;
10285
7.65k
      if (yych <= ',') goto yy20;
10286
2.96k
      goto yy297;
10287
9.34k
    } else {
10288
9.34k
      if (yych == '/') goto yy297;
10289
8.17k
      if (yych <= '@') goto yy20;
10290
1.89k
      goto yy472;
10291
8.17k
    }
10292
99.5k
  } else {
10293
99.5k
    if (yych <= '_') {
10294
24.8k
      if (yych <= 'L') goto yy547;
10295
7.34k
      if (yych <= 'Z') goto yy472;
10296
4.71k
      if (yych <= '^') goto yy20;
10297
2.15k
      goto yy297;
10298
74.7k
    } else {
10299
74.7k
      if (yych <= 'k') {
10300
5.99k
        if (yych <= '`') goto yy20;
10301
4.29k
        goto yy478;
10302
68.7k
      } else {
10303
68.7k
        if (yych <= 'l') goto yy553;
10304
8.21k
        if (yych <= 'z') goto yy478;
10305
4.87k
        goto yy20;
10306
8.21k
      }
10307
74.7k
    }
10308
99.5k
  }
10309
126k
yy380:
10310
126k
  YYDEBUG(380, *YYCURSOR);
10311
126k
  yyaccept = 2;
10312
126k
  yych = *(YYMARKER = ++YYCURSOR);
10313
126k
  if (yych <= '.') {
10314
35.5k
    if (yych <= ' ') {
10315
11.8k
      if (yych == '\t') goto yy142;
10316
10.5k
      if (yych <= 0x1F) goto yy20;
10317
2.69k
      goto yy142;
10318
23.7k
    } else {
10319
23.7k
      if (yych == ')') goto yy115;
10320
7.35k
      if (yych <= ',') goto yy20;
10321
2.88k
      goto yy142;
10322
7.35k
    }
10323
90.4k
  } else {
10324
90.4k
    if (yych <= 'H') {
10325
31.1k
      if (yych <= '/') goto yy20;
10326
22.7k
      if (yych <= '9') goto yy142;
10327
10.6k
      if (yych <= '@') goto yy20;
10328
5.37k
      goto yy472;
10329
59.3k
    } else {
10330
59.3k
      if (yych <= 'Z') {
10331
40.6k
        if (yych <= 'I') goto yy554;
10332
3.22k
        goto yy472;
10333
40.6k
      } else {
10334
18.6k
        if (yych <= '`') goto yy20;
10335
12.6k
        if (yych <= 'z') goto yy472;
10336
5.77k
        goto yy20;
10337
12.6k
      }
10338
59.3k
    }
10339
90.4k
  }
10340
116k
yy381:
10341
116k
  YYDEBUG(381, *YYCURSOR);
10342
116k
  yych = *++YYCURSOR;
10343
116k
  if (yych <= 'N') {
10344
50.0k
    if (yych <= ')') {
10345
15.3k
      if (yych <= '(') goto yy315;
10346
1.40k
      goto yy115;
10347
34.6k
    } else {
10348
34.6k
      if (yych <= '@') goto yy315;
10349
15.9k
      if (yych <= 'M') goto yy472;
10350
10.6k
      goto yy555;
10351
15.9k
    }
10352
66.5k
  } else {
10353
66.5k
    if (yych <= 'm') {
10354
14.3k
      if (yych <= 'Z') goto yy472;
10355
12.9k
      if (yych <= '`') goto yy315;
10356
11.0k
      goto yy472;
10357
52.1k
    } else {
10358
52.1k
      if (yych <= 'n') goto yy555;
10359
20.1k
      if (yych <= 'z') goto yy472;
10360
13.5k
      goto yy315;
10361
20.1k
    }
10362
66.5k
  }
10363
114k
yy382:
10364
114k
  YYDEBUG(382, *YYCURSOR);
10365
114k
  yych = *++YYCURSOR;
10366
114k
  if (yych <= 'K') {
10367
53.1k
    if (yych <= ')') {
10368
7.78k
      if (yych <= '(') goto yy20;
10369
1.65k
      goto yy115;
10370
45.3k
    } else {
10371
45.3k
      if (yych <= '@') goto yy20;
10372
32.5k
      if (yych <= 'J') goto yy472;
10373
24.2k
      goto yy546;
10374
32.5k
    }
10375
61.3k
  } else {
10376
61.3k
    if (yych <= 'j') {
10377
14.5k
      if (yych <= 'Z') goto yy472;
10378
9.93k
      if (yych <= '`') goto yy20;
10379
4.67k
      goto yy472;
10380
46.8k
    } else {
10381
46.8k
      if (yych <= 'k') goto yy546;
10382
14.6k
      if (yych <= 'z') goto yy472;
10383
8.13k
      goto yy20;
10384
14.6k
    }
10385
61.3k
  }
10386
216k
yy383:
10387
216k
  YYDEBUG(383, *YYCURSOR);
10388
216k
  yyaccept = 9;
10389
216k
  yych = *(YYMARKER = ++YYCURSOR);
10390
216k
  if (yych <= 'M') {
10391
40.5k
    if (yych <= '-') {
10392
27.2k
      if (yych == ')') goto yy115;
10393
23.3k
      if (yych <= ',') goto yy315;
10394
1.98k
      goto yy297;
10395
23.3k
    } else {
10396
13.2k
      if (yych == '/') goto yy297;
10397
10.2k
      if (yych <= '@') goto yy315;
10398
3.50k
      goto yy472;
10399
10.2k
    }
10400
175k
  } else {
10401
175k
    if (yych <= '_') {
10402
31.2k
      if (yych <= 'N') goto yy555;
10403
8.32k
      if (yych <= 'Z') goto yy472;
10404
5.74k
      if (yych <= '^') goto yy315;
10405
2.59k
      goto yy297;
10406
144k
    } else {
10407
144k
      if (yych <= 'm') {
10408
9.18k
        if (yych <= '`') goto yy315;
10409
6.51k
        goto yy478;
10410
135k
      } else {
10411
135k
        if (yych <= 'n') goto yy556;
10412
14.2k
        if (yych <= 'z') goto yy478;
10413
11.3k
        goto yy315;
10414
14.2k
      }
10415
144k
    }
10416
175k
  }
10417
192k
yy384:
10418
192k
  YYDEBUG(384, *YYCURSOR);
10419
192k
  yyaccept = 2;
10420
192k
  yych = *(YYMARKER = ++YYCURSOR);
10421
192k
  if (yych <= 'J') {
10422
34.6k
    if (yych <= '-') {
10423
19.0k
      if (yych == ')') goto yy115;
10424
16.1k
      if (yych <= ',') goto yy20;
10425
6.27k
      goto yy297;
10426
16.1k
    } else {
10427
15.5k
      if (yych == '/') goto yy297;
10428
13.5k
      if (yych <= '@') goto yy20;
10429
4.97k
      goto yy472;
10430
13.5k
    }
10431
158k
  } else {
10432
158k
    if (yych <= '_') {
10433
26.6k
      if (yych <= 'K') goto yy546;
10434
13.2k
      if (yych <= 'Z') goto yy472;
10435
10.6k
      if (yych <= '^') goto yy20;
10436
3.08k
      goto yy297;
10437
131k
    } else {
10438
131k
      if (yych <= 'j') {
10439
9.12k
        if (yych <= '`') goto yy20;
10440
6.87k
        goto yy478;
10441
122k
      } else {
10442
122k
        if (yych <= 'k') goto yy552;
10443
12.1k
        if (yych <= 'z') goto yy478;
10444
7.88k
        goto yy20;
10445
12.1k
      }
10446
131k
    }
10447
158k
  }
10448
99.5k
yy385:
10449
99.5k
  YYDEBUG(385, *YYCURSOR);
10450
99.5k
  yych = *++YYCURSOR;
10451
99.5k
  if (yych <= 'T') {
10452
41.8k
    if (yych <= ')') {
10453
6.66k
      if (yych <= '(') goto yy20;
10454
1.11k
      goto yy115;
10455
35.1k
    } else {
10456
35.1k
      if (yych <= '@') goto yy20;
10457
30.2k
      if (yych <= 'S') goto yy472;
10458
27.3k
      goto yy557;
10459
30.2k
    }
10460
57.7k
  } else {
10461
57.7k
    if (yych <= 's') {
10462
7.48k
      if (yych <= 'Z') goto yy472;
10463
5.50k
      if (yych <= '`') goto yy20;
10464
2.95k
      goto yy472;
10465
50.2k
    } else {
10466
50.2k
      if (yych <= 't') goto yy557;
10467
6.70k
      if (yych <= 'z') goto yy472;
10468
2.71k
      goto yy20;
10469
6.70k
    }
10470
57.7k
  }
10471
252k
yy386:
10472
252k
  YYDEBUG(386, *YYCURSOR);
10473
252k
  yyaccept = 2;
10474
252k
  yych = *(YYMARKER = ++YYCURSOR);
10475
252k
  if (yych <= 'S') {
10476
28.0k
    if (yych <= '-') {
10477
12.2k
      if (yych == ')') goto yy115;
10478
6.03k
      if (yych <= ',') goto yy20;
10479
3.02k
      goto yy297;
10480
15.7k
    } else {
10481
15.7k
      if (yych == '/') goto yy297;
10482
14.8k
      if (yych <= '@') goto yy20;
10483
4.02k
      goto yy472;
10484
14.8k
    }
10485
224k
  } else {
10486
224k
    if (yych <= '_') {
10487
20.7k
      if (yych <= 'T') goto yy557;
10488
7.25k
      if (yych <= 'Z') goto yy472;
10489
3.17k
      if (yych <= '^') goto yy20;
10490
2.34k
      goto yy297;
10491
203k
    } else {
10492
203k
      if (yych <= 's') {
10493
9.63k
        if (yych <= '`') goto yy20;
10494
8.49k
        goto yy478;
10495
194k
      } else {
10496
194k
        if (yych <= 't') goto yy558;
10497
8.79k
        if (yych <= 'z') goto yy478;
10498
6.67k
        goto yy20;
10499
8.79k
      }
10500
203k
    }
10501
224k
  }
10502
150k
yy387:
10503
150k
  YYDEBUG(387, *YYCURSOR);
10504
150k
  ++YYCURSOR;
10505
150k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
10506
150k
  yych = *YYCURSOR;
10507
150k
  if (yych == 0xA0) goto yy193;
10508
51.5k
  goto yy59;
10509
681k
yy388:
10510
681k
  YYDEBUG(388, *YYCURSOR);
10511
681k
  yyaccept = 0;
10512
681k
  YYMARKER = ++YYCURSOR;
10513
681k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
10514
681k
  yych = *YYCURSOR;
10515
681k
  if (yych == 0xE2) goto yy559;
10516
610k
  goto yy8;
10517
1.93M
yy389:
10518
1.93M
  YYDEBUG(389, *YYCURSOR);
10519
1.93M
  yych = *++YYCURSOR;
10520
1.93M
  if (yych <= 0xC1) {
10521
1.84M
    if (yych <= '/') goto yy196;
10522
1.50M
    if (yych <= '9') goto yy560;
10523
218k
    goto yy196;
10524
1.50M
  } else {
10525
87.8k
    if (yych <= 0xC2) goto yy97;
10526
68.7k
    if (yych == 0xE2) goto yy98;
10527
53.9k
    goto yy196;
10528
68.7k
  }
10529
102k
yy390:
10530
102k
  YYDEBUG(390, *YYCURSOR);
10531
102k
  yych = *++YYCURSOR;
10532
102k
  if (yych == 'C') goto yy443;
10533
93.5k
  if (yych == 'c') goto yy443;
10534
76.7k
  goto yy59;
10535
966k
yy391:
10536
966k
  YYDEBUG(391, *YYCURSOR);
10537
966k
  yyaccept = 2;
10538
966k
  yych = *(YYMARKER = ++YYCURSOR);
10539
966k
  if (yych <= 'X') {
10540
845k
    if (yych <= 'E') {
10541
797k
      if (yych <= ' ') {
10542
43.4k
        if (yych == '\t') goto yy196;
10543
37.7k
        if (yych <= 0x1F) goto yy20;
10544
6.10k
        goto yy196;
10545
754k
      } else {
10546
754k
        if (yych <= '9') {
10547
711k
          if (yych <= '/') goto yy20;
10548
663k
          goto yy561;
10549
711k
        } else {
10550
42.0k
          if (yych == 'D') goto yy196;
10551
36.1k
          goto yy20;
10552
42.0k
        }
10553
754k
      }
10554
797k
    } else {
10555
47.5k
      if (yych <= 'M') {
10556
23.9k
        if (yych <= 'G') {
10557
10.8k
          if (yych <= 'F') goto yy196;
10558
4.65k
          goto yy20;
10559
13.1k
        } else {
10560
13.1k
          if (yych <= 'H') goto yy196;
10561
11.2k
          if (yych <= 'L') goto yy20;
10562
5.04k
          goto yy196;
10563
11.2k
        }
10564
23.9k
      } else {
10565
23.6k
        if (yych <= 'U') {
10566
15.8k
          if (yych <= 'R') goto yy20;
10567
6.54k
          goto yy196;
10568
15.8k
        } else {
10569
7.73k
          if (yych == 'W') goto yy196;
10570
5.58k
          goto yy20;
10571
7.73k
        }
10572
23.6k
      }
10573
47.5k
    }
10574
845k
  } else {
10575
121k
    if (yych <= 'r') {
10576
51.9k
      if (yych <= 'f') {
10577
14.6k
        if (yych <= 'c') {
10578
6.74k
          if (yych <= 'Y') goto yy196;
10579
4.79k
          goto yy20;
10580
7.86k
        } else {
10581
7.86k
          if (yych == 'e') goto yy20;
10582
3.84k
          goto yy196;
10583
7.86k
        }
10584
37.2k
      } else {
10585
37.2k
        if (yych <= 'h') {
10586
6.25k
          if (yych <= 'g') goto yy20;
10587
4.82k
          goto yy196;
10588
31.0k
        } else {
10589
31.0k
          if (yych == 'm') goto yy196;
10590
22.7k
          goto yy20;
10591
31.0k
        }
10592
37.2k
      }
10593
69.3k
    } else {
10594
69.3k
      if (yych <= 'y') {
10595
17.9k
        if (yych <= 'v') {
10596
11.2k
          if (yych <= 'u') goto yy196;
10597
1.41k
          goto yy20;
10598
11.2k
        } else {
10599
6.70k
          if (yych == 'x') goto yy20;
10600
4.06k
          goto yy196;
10601
6.70k
        }
10602
51.3k
      } else {
10603
51.3k
        if (yych <= 0xC2) {
10604
27.2k
          if (yych <= 0xC1) goto yy20;
10605
3.01k
          goto yy97;
10606
27.2k
        } else {
10607
24.0k
          if (yych == 0xE2) goto yy98;
10608
22.3k
          goto yy20;
10609
24.0k
        }
10610
51.3k
      }
10611
69.3k
    }
10612
121k
  }
10613
798k
yy392:
10614
798k
  YYDEBUG(392, *YYCURSOR);
10615
798k
  yyaccept = 2;
10616
798k
  yych = *(YYMARKER = ++YYCURSOR);
10617
798k
  if (yych <= 'X') {
10618
677k
    if (yych <= 'E') {
10619
611k
      if (yych <= ' ') {
10620
27.0k
        if (yych == '\t') goto yy196;
10621
22.7k
        if (yych <= 0x1F) goto yy20;
10622
3.63k
        goto yy196;
10623
584k
      } else {
10624
584k
        if (yych <= '9') {
10625
477k
          if (yych <= '/') goto yy20;
10626
413k
          goto yy562;
10627
477k
        } else {
10628
107k
          if (yych == 'D') goto yy196;
10629
103k
          goto yy20;
10630
107k
        }
10631
584k
      }
10632
611k
    } else {
10633
65.6k
      if (yych <= 'M') {
10634
30.9k
        if (yych <= 'G') {
10635
12.0k
          if (yych <= 'F') goto yy196;
10636
5.60k
          goto yy20;
10637
18.9k
        } else {
10638
18.9k
          if (yych <= 'H') goto yy196;
10639
16.3k
          if (yych <= 'L') goto yy20;
10640
6.00k
          goto yy196;
10641
16.3k
        }
10642
34.6k
      } else {
10643
34.6k
        if (yych <= 'U') {
10644
18.0k
          if (yych <= 'R') goto yy20;
10645
9.11k
          goto yy196;
10646
18.0k
        } else {
10647
16.6k
          if (yych == 'W') goto yy196;
10648
14.1k
          goto yy20;
10649
16.6k
        }
10650
34.6k
      }
10651
65.6k
    }
10652
677k
  } else {
10653
121k
    if (yych <= 'r') {
10654
61.5k
      if (yych <= 'f') {
10655
17.7k
        if (yych <= 'c') {
10656
9.21k
          if (yych <= 'Y') goto yy196;
10657
6.42k
          goto yy20;
10658
9.21k
        } else {
10659
8.57k
          if (yych == 'e') goto yy20;
10660
2.94k
          goto yy196;
10661
8.57k
        }
10662
43.7k
      } else {
10663
43.7k
        if (yych <= 'h') {
10664
4.65k
          if (yych <= 'g') goto yy20;
10665
3.15k
          goto yy196;
10666
39.0k
        } else {
10667
39.0k
          if (yych == 'm') goto yy196;
10668
32.7k
          goto yy20;
10669
39.0k
        }
10670
43.7k
      }
10671
61.5k
    } else {
10672
59.8k
      if (yych <= 'y') {
10673
23.7k
        if (yych <= 'v') {
10674
11.5k
          if (yych <= 'u') goto yy196;
10675
1.34k
          goto yy20;
10676
12.2k
        } else {
10677
12.2k
          if (yych == 'x') goto yy20;
10678
11.1k
          goto yy196;
10679
12.2k
        }
10680
36.1k
      } else {
10681
36.1k
        if (yych <= 0xC2) {
10682
19.5k
          if (yych <= 0xC1) goto yy20;
10683
5.44k
          goto yy97;
10684
19.5k
        } else {
10685
16.6k
          if (yych == 0xE2) goto yy98;
10686
13.4k
          goto yy20;
10687
16.6k
        }
10688
36.1k
      }
10689
59.8k
    }
10690
121k
  }
10691
189k
yy393:
10692
189k
  YYDEBUG(393, *YYCURSOR);
10693
189k
  yych = *++YYCURSOR;
10694
189k
  if (yych <= '/') goto yy59;
10695
136k
  if (yych <= '5') goto yy563;
10696
45.8k
  if (yych <= '9') goto yy115;
10697
31.8k
  goto yy59;
10698
65.4k
yy394:
10699
65.4k
  YYDEBUG(394, *YYCURSOR);
10700
65.4k
  yych = *++YYCURSOR;
10701
65.4k
  if (yych <= '/') goto yy20;
10702
51.5k
  if (yych <= '9') goto yy115;
10703
20.7k
  goto yy20;
10704
344k
yy395:
10705
344k
  YYDEBUG(395, *YYCURSOR);
10706
344k
  yych = *++YYCURSOR;
10707
344k
  if (yych <= 0xC1) {
10708
330k
    if (yych <= '/') goto yy196;
10709
293k
    if (yych <= '9') goto yy562;
10710
64.7k
    goto yy196;
10711
293k
  } else {
10712
13.9k
    if (yych <= 0xC2) goto yy97;
10713
10.9k
    if (yych == 0xE2) goto yy98;
10714
7.12k
    goto yy196;
10715
10.9k
  }
10716
157k
yy396:
10717
157k
  YYDEBUG(396, *YYCURSOR);
10718
157k
  yych = *++YYCURSOR;
10719
157k
  if (yych <= '/') goto yy59;
10720
139k
  if (yych <= '9') goto yy564;
10721
37.7k
  goto yy59;
10722
37.7k
yy397:
10723
35.9k
  YYDEBUG(397, *YYCURSOR);
10724
35.9k
  yych = *++YYCURSOR;
10725
35.9k
  if (yych <= '/') goto yy59;
10726
33.0k
  if (yych <= '9') goto yy565;
10727
12.1k
  goto yy59;
10728
345k
yy398:
10729
345k
  YYDEBUG(398, *YYCURSOR);
10730
345k
  yych = *++YYCURSOR;
10731
345k
  if (yych <= '/') goto yy59;
10732
283k
  if (yych <= '2') goto yy566;
10733
183k
  if (yych <= '3') goto yy568;
10734
114k
  if (yych <= '9') goto yy569;
10735
86.6k
  goto yy59;
10736
86.6k
yy399:
10737
85.3k
  YYDEBUG(399, *YYCURSOR);
10738
85.3k
  yych = *++YYCURSOR;
10739
85.3k
  if (yych == 'P') goto yy444;
10740
70.6k
  if (yych == 'p') goto yy444;
10741
39.9k
  goto yy59;
10742
97.6k
yy400:
10743
97.6k
  YYDEBUG(400, *YYCURSOR);
10744
97.6k
  yych = *++YYCURSOR;
10745
97.6k
  if (yych <= '/') goto yy59;
10746
88.2k
  if (yych <= '5') goto yy570;
10747
39.7k
  if (yych <= '6') goto yy571;
10748
25.4k
  if (yych <= '9') goto yy572;
10749
16.7k
  goto yy59;
10750
295k
yy401:
10751
295k
  YYDEBUG(401, *YYCURSOR);
10752
295k
  yych = *++YYCURSOR;
10753
295k
  if (yych <= '/') goto yy59;
10754
245k
  if (yych <= '5') goto yy573;
10755
82.9k
  if (yych <= '6') goto yy574;
10756
49.7k
  if (yych <= '9') goto yy575;
10757
40.9k
  goto yy59;
10758
116k
yy402:
10759
116k
  YYDEBUG(402, *YYCURSOR);
10760
116k
  yych = *++YYCURSOR;
10761
116k
  if (yych <= '/') goto yy59;
10762
104k
  if (yych <= '9') goto yy576;
10763
13.5k
  goto yy59;
10764
33.1k
yy403:
10765
33.1k
  YYDEBUG(403, *YYCURSOR);
10766
33.1k
  yych = *++YYCURSOR;
10767
33.1k
  if (yych == 'd') goto yy577;
10768
25.3k
  goto yy59;
10769
25.3k
yy404:
10770
23.0k
  YYDEBUG(404, *YYCURSOR);
10771
23.0k
  yych = *++YYCURSOR;
10772
23.0k
  if (yych == 't') goto yy577;
10773
15.2k
  goto yy59;
10774
19.2k
yy405:
10775
19.2k
  YYDEBUG(405, *YYCURSOR);
10776
19.2k
  yych = *++YYCURSOR;
10777
19.2k
  if (yych == 'h') goto yy577;
10778
15.9k
  goto yy59;
10779
24.6k
yy406:
10780
24.6k
  YYDEBUG(406, *YYCURSOR);
10781
24.6k
  yych = *++YYCURSOR;
10782
24.6k
  if (yych == 'R') goto yy578;
10783
18.2k
  if (yych == 'r') goto yy578;
10784
6.31k
  goto yy59;
10785
26.4k
yy407:
10786
26.4k
  YYDEBUG(407, *YYCURSOR);
10787
26.4k
  yych = *++YYCURSOR;
10788
26.4k
  if (yych == 'G') goto yy578;
10789
16.1k
  if (yych == 'g') goto yy578;
10790
9.64k
  goto yy59;
10791
34.7k
yy408:
10792
34.7k
  YYDEBUG(408, *YYCURSOR);
10793
34.7k
  yych = *++YYCURSOR;
10794
34.7k
  if (yych == 'C') goto yy578;
10795
26.2k
  if (yych == 'c') goto yy578;
10796
6.34k
  goto yy59;
10797
21.3k
yy409:
10798
21.3k
  YYDEBUG(409, *YYCURSOR);
10799
21.3k
  yych = *++YYCURSOR;
10800
21.3k
  if (yych == 'B') goto yy578;
10801
19.1k
  if (yych == 'b') goto yy578;
10802
7.03k
  goto yy59;
10803
59.1k
yy410:
10804
59.1k
  YYDEBUG(410, *YYCURSOR);
10805
59.1k
  yych = *++YYCURSOR;
10806
59.1k
  if (yych == 'N') goto yy578;
10807
47.3k
  if (yych == 'n') goto yy578;
10808
14.9k
  goto yy59;
10809
380k
yy411:
10810
380k
  YYDEBUG(411, *YYCURSOR);
10811
380k
  yych = *++YYCURSOR;
10812
380k
  if (yych <= 'N') {
10813
173k
    if (yych == 'L') goto yy578;
10814
146k
    if (yych <= 'M') goto yy59;
10815
124k
    goto yy578;
10816
207k
  } else {
10817
207k
    if (yych <= 'l') {
10818
84.9k
      if (yych <= 'k') goto yy59;
10819
71.4k
      goto yy578;
10820
122k
    } else {
10821
122k
      if (yych == 'n') goto yy578;
10822
12.7k
      goto yy59;
10823
122k
    }
10824
207k
  }
10825
80.9k
yy412:
10826
80.9k
  YYDEBUG(412, *YYCURSOR);
10827
80.9k
  yych = *++YYCURSOR;
10828
80.9k
  if (yych <= 'Y') {
10829
21.0k
    if (yych == 'R') goto yy578;
10830
11.1k
    if (yych <= 'X') goto yy59;
10831
4.94k
    goto yy578;
10832
59.9k
  } else {
10833
59.9k
    if (yych <= 'r') {
10834
42.1k
      if (yych <= 'q') goto yy59;
10835
28.0k
      goto yy578;
10836
42.1k
    } else {
10837
17.7k
      if (yych == 'y') goto yy578;
10838
10.2k
      goto yy59;
10839
17.7k
    }
10840
59.9k
  }
10841
27.5k
yy413:
10842
27.5k
  YYDEBUG(413, *YYCURSOR);
10843
27.5k
  yych = *++YYCURSOR;
10844
27.5k
  if (yych == 'V') goto yy578;
10845
13.9k
  if (yych == 'v') goto yy578;
10846
8.96k
  goto yy59;
10847
54.9k
yy414:
10848
54.9k
  YYDEBUG(414, *YYCURSOR);
10849
54.9k
  yych = *++YYCURSOR;
10850
54.9k
  if (yych == 'T') goto yy578;
10851
51.0k
  if (yych == 't') goto yy578;
10852
13.6k
  goto yy59;
10853
92.6k
yy415:
10854
92.6k
  YYDEBUG(415, *YYCURSOR);
10855
92.6k
  yych = *++YYCURSOR;
10856
92.6k
  if (yych == 'P') goto yy579;
10857
45.8k
  if (yych == 'p') goto yy579;
10858
19.6k
  goto yy59;
10859
226k
yy416:
10860
226k
  YYDEBUG(416, *YYCURSOR);
10861
226k
  yych = *++YYCURSOR;
10862
226k
  if (yych <= '.') {
10863
34.1k
    if (yych <= ',') goto yy59;
10864
14.3k
    if (yych <= '-') goto yy398;
10865
5.68k
    goto yy396;
10866
192k
  } else {
10867
192k
    if (yych <= '/') goto yy59;
10868
188k
    if (yych <= '9') goto yy580;
10869
49.2k
    goto yy59;
10870
188k
  }
10871
135k
yy417:
10872
135k
  YYDEBUG(417, *YYCURSOR);
10873
135k
  yych = *++YYCURSOR;
10874
135k
  if (yych <= '.') {
10875
35.5k
    if (yych <= ',') goto yy59;
10876
19.3k
    if (yych <= '-') goto yy398;
10877
3.75k
    goto yy396;
10878
100k
  } else {
10879
100k
    if (yych <= '/') goto yy59;
10880
97.6k
    if (yych <= '2') goto yy580;
10881
35.7k
    goto yy59;
10882
97.6k
  }
10883
741k
yy418:
10884
741k
  YYDEBUG(418, *YYCURSOR);
10885
741k
  yych = *++YYCURSOR;
10886
741k
  switch (yych) {
10887
126k
  case '0': goto yy581;
10888
96.2k
  case '1': goto yy582;
10889
36.4k
  case '2':
10890
61.1k
  case '3':
10891
77.0k
  case '4':
10892
91.7k
  case '5':
10893
107k
  case '6':
10894
116k
  case '7':
10895
125k
  case '8':
10896
139k
  case '9': goto yy462;
10897
31.2k
  case 'A':
10898
36.7k
  case 'a': goto yy463;
10899
11.2k
  case 'D':
10900
21.6k
  case 'd': goto yy464;
10901
7.81k
  case 'F':
10902
25.0k
  case 'f': goto yy465;
10903
35.5k
  case 'J':
10904
52.7k
  case 'j': goto yy466;
10905
17.8k
  case 'M':
10906
39.3k
  case 'm': goto yy467;
10907
14.9k
  case 'N':
10908
22.4k
  case 'n': goto yy468;
10909
9.53k
  case 'O':
10910
14.2k
  case 'o': goto yy469;
10911
14.6k
  case 'S':
10912
33.0k
  case 's': goto yy470;
10913
134k
  default:  goto yy59;
10914
741k
  }
10915
6.70M
yy419:
10916
6.70M
  YYDEBUG(419, *YYCURSOR);
10917
6.70M
  yyaccept = 12;
10918
6.70M
  yych = *(YYMARKER = ++YYCURSOR);
10919
6.70M
  if (yych <= 'O') {
10920
6.07M
    if (yych <= '5') {
10921
5.13M
      if (yych <= '-') {
10922
945k
        if (yych <= 0x1F) {
10923
263k
          if (yych == '\t') goto yy584;
10924
682k
        } else {
10925
682k
          if (yych <= ' ') goto yy584;
10926
557k
          if (yych >= '-') goto yy585;
10927
557k
        }
10928
4.18M
      } else {
10929
4.18M
        if (yych <= '0') {
10930
2.55M
          if (yych <= '.') goto yy586;
10931
2.49M
          if (yych <= '/') goto yy587;
10932
2.37M
          goto yy588;
10933
2.49M
        } else {
10934
1.63M
          if (yych <= '1') goto yy589;
10935
1.03M
          if (yych <= '2') goto yy590;
10936
657k
          if (yych <= '3') goto yy591;
10937
399k
          goto yy592;
10938
657k
        }
10939
4.18M
      }
10940
5.13M
    } else {
10941
939k
      if (yych <= 'C') {
10942
797k
        if (yych <= ':') {
10943
693k
          if (yych <= '6') goto yy593;
10944
460k
          if (yych <= '9') goto yy594;
10945
180k
          goto yy595;
10946
460k
        } else {
10947
103k
          if (yych == 'A') goto yy584;
10948
103k
        }
10949
797k
      } else {
10950
141k
        if (yych <= 'F') {
10951
42.3k
          if (yych != 'E') goto yy584;
10952
98.9k
        } else {
10953
98.9k
          if (yych <= 'G') goto yy420;
10954
90.0k
          if (yych <= 'J') goto yy584;
10955
52.8k
          if (yych >= 'M') goto yy584;
10956
52.8k
        }
10957
141k
      }
10958
939k
    }
10959
6.07M
  } else {
10960
626k
    if (yych <= 'i') {
10961
232k
      if (yych <= 'a') {
10962
158k
        if (yych <= 'W') {
10963
114k
          if (yych <= 'R') goto yy420;
10964
100k
          if (yych <= 'V') goto yy584;
10965
32.5k
          goto yy607;
10966
100k
        } else {
10967
44.0k
          if (yych <= 'Y') goto yy584;
10968
32.5k
          if (yych >= 'a') goto yy584;
10969
32.5k
        }
10970
158k
      } else {
10971
74.4k
        if (yych <= 'e') {
10972
35.3k
          if (yych == 'd') goto yy584;
10973
39.0k
        } else {
10974
39.0k
          if (yych == 'g') goto yy420;
10975
29.2k
          if (yych <= 'h') goto yy584;
10976
29.2k
        }
10977
74.4k
      }
10978
393k
    } else {
10979
393k
      if (yych <= 'w') {
10980
181k
        if (yych <= 'o') {
10981
68.5k
          if (yych <= 'j') goto yy584;
10982
54.2k
          if (yych >= 'm') goto yy584;
10983
112k
        } else {
10984
112k
          if (yych <= 'r') goto yy420;
10985
81.3k
          if (yych != 'v') goto yy584;
10986
81.3k
        }
10987
212k
      } else {
10988
212k
        if (yych <= 0xC1) {
10989
82.3k
          if (yych == 'y') goto yy584;
10990
130k
        } else {
10991
130k
          if (yych <= 0xC2) goto yy97;
10992
116k
          if (yych == 0xE2) goto yy98;
10993
116k
        }
10994
212k
      }
10995
393k
    }
10996
626k
  }
10997
2.94M
yy420:
10998
2.94M
  YYDEBUG(420, *YYCURSOR);
10999
2.94M
#line 1415 "ext/date/lib/parse_date.re"
11000
2.94M
  {
11001
2.94M
    DEBUG_OUTPUT("gnunocolon");
11002
2.94M
    TIMELIB_INIT;
11003
2.94M
    switch (s->time->have_time) {
11004
451k
      case 0:
11005
451k
        s->time->h = timelib_get_nr(&ptr, 2);
11006
451k
        s->time->i = timelib_get_nr(&ptr, 2);
11007
451k
        s->time->s = 0;
11008
451k
        break;
11009
661k
      case 1:
11010
661k
        s->time->y = timelib_get_nr(&ptr, 4);
11011
661k
        break;
11012
1.83M
      default:
11013
1.83M
        TIMELIB_DEINIT;
11014
1.83M
        add_error(s, TIMELIB_ERR_DOUBLE_TIME, "Double time specification");
11015
1.83M
        return TIMELIB_ERROR;
11016
2.94M
    }
11017
1.11M
    s->time->have_time++;
11018
1.11M
    TIMELIB_DEINIT;
11019
1.11M
    return TIMELIB_GNU_NOCOLON;
11020
2.94M
  }
11021
0
#line 11022 "ext/date/lib/parse_date.c"
11022
7.48M
yy421:
11023
7.48M
  YYDEBUG(421, *YYCURSOR);
11024
7.48M
  yyaccept = 13;
11025
7.48M
  yych = *(YYMARKER = ++YYCURSOR);
11026
7.48M
  if (yych <= 'R') {
11027
6.83M
    if (yych <= '3') {
11028
3.50M
      if (yych <= '-') {
11029
1.23M
        if (yych <= 0x1F) {
11030
284k
          if (yych == '\t') goto yy584;
11031
954k
        } else {
11032
954k
          if (yych <= ' ') goto yy584;
11033
860k
          if (yych >= '-') goto yy585;
11034
860k
        }
11035
2.26M
      } else {
11036
2.26M
        if (yych <= '0') {
11037
1.15M
          if (yych <= '.') goto yy586;
11038
1.05M
          if (yych <= '/') goto yy587;
11039
971k
          goto yy609;
11040
1.10M
        } else {
11041
1.10M
          if (yych <= '1') goto yy610;
11042
737k
          if (yych <= '2') goto yy611;
11043
452k
          goto yy612;
11044
737k
        }
11045
2.26M
      }
11046
3.50M
    } else {
11047
3.32M
      if (yych <= 'D') {
11048
3.16M
        if (yych <= '@') {
11049
3.11M
          if (yych <= '9') goto yy594;
11050
588k
          if (yych <= ':') goto yy595;
11051
588k
        } else {
11052
43.9k
          if (yych <= 'A') goto yy584;
11053
19.9k
          if (yych >= 'D') goto yy584;
11054
19.9k
        }
11055
3.16M
      } else {
11056
164k
        if (yych <= 'G') {
11057
38.7k
          if (yych == 'F') goto yy584;
11058
125k
        } else {
11059
125k
          if (yych <= 'J') goto yy584;
11060
78.6k
          if (yych <= 'L') goto yy422;
11061
68.8k
          if (yych <= 'O') goto yy584;
11062
68.8k
        }
11063
164k
      }
11064
3.32M
    }
11065
6.83M
  } else {
11066
654k
    if (yych <= 'j') {
11067
242k
      if (yych <= 'c') {
11068
155k
        if (yych <= 'Y') {
11069
108k
          if (yych == 'W') goto yy607;
11070
76.7k
          goto yy584;
11071
108k
        } else {
11072
47.0k
          if (yych == 'a') goto yy584;
11073
47.0k
        }
11074
155k
      } else {
11075
87.4k
        if (yych <= 'f') {
11076
50.6k
          if (yych != 'e') goto yy584;
11077
50.6k
        } else {
11078
36.8k
          if (yych == 'h') goto yy584;
11079
28.9k
          if (yych >= 'j') goto yy584;
11080
28.9k
        }
11081
87.4k
      }
11082
412k
    } else {
11083
412k
      if (yych <= 'w') {
11084
143k
        if (yych <= 'r') {
11085
74.0k
          if (yych <= 'l') goto yy422;
11086
63.3k
          if (yych <= 'o') goto yy584;
11087
69.4k
        } else {
11088
69.4k
          if (yych != 'v') goto yy584;
11089
69.4k
        }
11090
268k
      } else {
11091
268k
        if (yych <= 0xC1) {
11092
117k
          if (yych == 'y') goto yy584;
11093
150k
        } else {
11094
150k
          if (yych <= 0xC2) goto yy97;
11095
134k
          if (yych == 0xE2) goto yy98;
11096
134k
        }
11097
268k
      }
11098
412k
    }
11099
654k
  }
11100
5.69M
yy422:
11101
5.69M
  YYDEBUG(422, *YYCURSOR);
11102
5.69M
#line 1800 "ext/date/lib/parse_date.re"
11103
5.69M
  {
11104
5.69M
    DEBUG_OUTPUT("year4");
11105
5.69M
    TIMELIB_INIT;
11106
5.69M
    s->time->y = timelib_get_nr(&ptr, 4);
11107
5.69M
    TIMELIB_DEINIT;
11108
5.69M
    return TIMELIB_CLF;
11109
7.48M
  }
11110
0
#line 11111 "ext/date/lib/parse_date.c"
11111
70.1k
yy423:
11112
70.1k
  YYDEBUG(423, *YYCURSOR);
11113
70.1k
  yyaccept = 3;
11114
70.1k
  yych = *(YYMARKER = ++YYCURSOR);
11115
70.1k
  if (yych <= '.') {
11116
16.8k
    if (yych <= 0x1F) {
11117
7.08k
      if (yych == '\t') goto yy248;
11118
4.67k
      goto yy81;
11119
9.81k
    } else {
11120
9.81k
      if (yych <= ' ') goto yy248;
11121
7.54k
      if (yych <= ',') goto yy81;
11122
3.80k
      goto yy248;
11123
7.54k
    }
11124
53.2k
  } else {
11125
53.2k
    if (yych <= 'H') {
11126
15.0k
      if (yych <= '/') goto yy81;
11127
12.2k
      if (yych <= '9') goto yy250;
11128
5.01k
      goto yy81;
11129
38.2k
    } else {
11130
38.2k
      if (yych <= 'I') goto yy613;
11131
31.0k
      if (yych == 'i') goto yy613;
11132
17.9k
      goto yy81;
11133
31.0k
    }
11134
53.2k
  }
11135
100k
yy424:
11136
100k
  YYDEBUG(424, *YYCURSOR);
11137
100k
  yyaccept = 3;
11138
100k
  yych = *(YYMARKER = ++YYCURSOR);
11139
100k
  if (yych <= '.') {
11140
23.3k
    if (yych <= 0x1F) {
11141
6.62k
      if (yych == '\t') goto yy248;
11142
4.70k
      goto yy81;
11143
16.7k
    } else {
11144
16.7k
      if (yych <= ' ') goto yy248;
11145
14.4k
      if (yych <= ',') goto yy81;
11146
9.35k
      goto yy248;
11147
14.4k
    }
11148
77.0k
  } else {
11149
77.0k
    if (yych <= 'T') {
11150
14.7k
      if (yych <= '/') goto yy81;
11151
10.2k
      if (yych <= '9') goto yy250;
11152
5.80k
      goto yy81;
11153
62.2k
    } else {
11154
62.2k
      if (yych <= 'U') goto yy614;
11155
49.8k
      if (yych == 'u') goto yy614;
11156
27.2k
      goto yy81;
11157
49.8k
    }
11158
77.0k
  }
11159
68.9k
yy425:
11160
68.9k
  YYDEBUG(425, *YYCURSOR);
11161
68.9k
  yych = *++YYCURSOR;
11162
68.9k
  if (yych == 'S') goto yy615;
11163
64.3k
  if (yych == 's') goto yy615;
11164
53.7k
  goto yy260;
11165
131k
yy426:
11166
131k
  YYDEBUG(426, *YYCURSOR);
11167
131k
  yyaccept = 3;
11168
131k
  yych = *(YYMARKER = ++YYCURSOR);
11169
131k
  if (yych <= '.') {
11170
47.5k
    if (yych <= 0x1F) {
11171
15.9k
      if (yych == '\t') goto yy248;
11172
10.7k
      goto yy81;
11173
31.6k
    } else {
11174
31.6k
      if (yych <= ' ') goto yy248;
11175
27.5k
      if (yych <= ',') goto yy81;
11176
19.7k
      goto yy248;
11177
27.5k
    }
11178
83.6k
  } else {
11179
83.6k
    if (yych <= 'D') {
11180
18.5k
      if (yych <= '/') goto yy81;
11181
17.0k
      if (yych <= '9') goto yy250;
11182
6.54k
      goto yy81;
11183
65.1k
    } else {
11184
65.1k
      if (yych <= 'E') goto yy616;
11185
54.7k
      if (yych == 'e') goto yy616;
11186
16.9k
      goto yy81;
11187
54.7k
    }
11188
83.6k
  }
11189
88.6k
yy427:
11190
88.6k
  YYDEBUG(427, *YYCURSOR);
11191
88.6k
  yyaccept = 3;
11192
88.6k
  yych = *(YYMARKER = ++YYCURSOR);
11193
88.6k
  if (yych <= '.') {
11194
26.4k
    if (yych <= 0x1F) {
11195
11.8k
      if (yych == '\t') goto yy248;
11196
7.88k
      goto yy81;
11197
14.6k
    } else {
11198
14.6k
      if (yych <= ' ') goto yy248;
11199
12.3k
      if (yych <= ',') goto yy81;
11200
7.37k
      goto yy248;
11201
12.3k
    }
11202
62.2k
  } else {
11203
62.2k
    if (yych <= 'Q') {
11204
18.0k
      if (yych <= '/') goto yy81;
11205
13.1k
      if (yych <= '9') goto yy250;
11206
4.90k
      goto yy81;
11207
44.1k
    } else {
11208
44.1k
      if (yych <= 'R') goto yy617;
11209
38.4k
      if (yych == 'r') goto yy617;
11210
7.89k
      goto yy81;
11211
38.4k
    }
11212
62.2k
  }
11213
57.6k
yy428:
11214
57.6k
  YYDEBUG(428, *YYCURSOR);
11215
57.6k
  yych = *++YYCURSOR;
11216
57.6k
  if (yych == 'T') goto yy618;
11217
44.6k
  if (yych == 't') goto yy618;
11218
14.4k
  goto yy59;
11219
18.9k
yy429:
11220
18.9k
  YYDEBUG(429, *YYCURSOR);
11221
18.9k
  yyaccept = 6;
11222
18.9k
  yych = *(YYMARKER = ++YYCURSOR);
11223
18.9k
  if (yych == 'D') goto yy198;
11224
16.7k
  if (yych == 'd') goto yy198;
11225
13.0k
  goto yy260;
11226
37.2k
yy430:
11227
37.2k
  YYDEBUG(430, *YYCURSOR);
11228
37.2k
  yych = *++YYCURSOR;
11229
37.2k
  if (yych == 'R') goto yy425;
11230
27.8k
  if (yych == 'r') goto yy425;
11231
23.7k
  goto yy59;
11232
166k
yy431:
11233
166k
  YYDEBUG(431, *YYCURSOR);
11234
166k
  yych = *++YYCURSOR;
11235
166k
  if (yych <= '/') goto yy251;
11236
134k
  if (yych <= '9') goto yy619;
11237
57.2k
  goto yy251;
11238
69.2k
yy432:
11239
69.2k
  YYDEBUG(432, *YYCURSOR);
11240
69.2k
  yyaccept = 3;
11241
69.2k
  yych = *(YYMARKER = ++YYCURSOR);
11242
69.2k
  if (yych <= '.') {
11243
16.7k
    if (yych <= 0x1F) {
11244
8.01k
      if (yych == '\t') goto yy248;
11245
3.04k
      goto yy81;
11246
8.76k
    } else {
11247
8.76k
      if (yych <= ' ') goto yy248;
11248
6.70k
      if (yych <= ',') goto yy81;
11249
3.44k
      goto yy248;
11250
6.70k
    }
11251
52.4k
  } else {
11252
52.4k
    if (yych <= 'T') {
11253
14.3k
      if (yych <= '/') goto yy81;
11254
11.0k
      if (yych <= '9') goto yy250;
11255
4.52k
      goto yy81;
11256
38.0k
    } else {
11257
38.0k
      if (yych <= 'U') goto yy620;
11258
29.5k
      if (yych == 'u') goto yy620;
11259
7.95k
      goto yy81;
11260
29.5k
    }
11261
52.4k
  }
11262
90.1k
yy433:
11263
90.1k
  YYDEBUG(433, *YYCURSOR);
11264
90.1k
  yyaccept = 3;
11265
90.1k
  yych = *(YYMARKER = ++YYCURSOR);
11266
90.1k
  if (yych <= '.') {
11267
41.0k
    if (yych <= 0x1F) {
11268
8.37k
      if (yych == '\t') goto yy248;
11269
5.38k
      goto yy81;
11270
32.6k
    } else {
11271
32.6k
      if (yych <= ' ') goto yy248;
11272
31.3k
      if (yych <= ',') goto yy81;
11273
27.2k
      goto yy248;
11274
31.3k
    }
11275
49.0k
  } else {
11276
49.0k
    if (yych <= 'X') {
11277
14.0k
      if (yych <= '/') goto yy81;
11278
11.6k
      if (yych <= '9') goto yy250;
11279
3.72k
      goto yy81;
11280
35.0k
    } else {
11281
35.0k
      if (yych <= 'Y') goto yy253;
11282
31.3k
      if (yych == 'y') goto yy253;
11283
28.3k
      goto yy81;
11284
31.3k
    }
11285
49.0k
  }
11286
49.8k
yy434:
11287
49.8k
  YYDEBUG(434, *YYCURSOR);
11288
49.8k
  yyaccept = 3;
11289
49.8k
  yych = *(YYMARKER = ++YYCURSOR);
11290
49.8k
  if (yych <= '.') {
11291
18.2k
    if (yych <= 0x1F) {
11292
4.35k
      if (yych == '\t') goto yy248;
11293
3.03k
      goto yy81;
11294
13.8k
    } else {
11295
13.8k
      if (yych <= ' ') goto yy248;
11296
10.4k
      if (yych <= ',') goto yy81;
11297
7.03k
      goto yy248;
11298
10.4k
    }
11299
31.6k
  } else {
11300
31.6k
    if (yych <= 'D') {
11301
15.5k
      if (yych <= '/') goto yy81;
11302
10.1k
      if (yych <= '9') goto yy250;
11303
5.50k
      goto yy81;
11304
16.0k
    } else {
11305
16.0k
      if (yych <= 'E') goto yy253;
11306
13.6k
      if (yych == 'e') goto yy253;
11307
10.1k
      goto yy81;
11308
13.6k
    }
11309
31.6k
  }
11310
51.4k
yy435:
11311
51.4k
  YYDEBUG(435, *YYCURSOR);
11312
51.4k
  yyaccept = 3;
11313
51.4k
  yych = *(YYMARKER = ++YYCURSOR);
11314
51.4k
  if (yych <= '.') {
11315
19.5k
    if (yych <= 0x1F) {
11316
5.21k
      if (yych == '\t') goto yy248;
11317
3.70k
      goto yy81;
11318
14.3k
    } else {
11319
14.3k
      if (yych <= ' ') goto yy248;
11320
11.4k
      if (yych <= ',') goto yy81;
11321
8.41k
      goto yy248;
11322
11.4k
    }
11323
31.8k
  } else {
11324
31.8k
    if (yych <= 'B') {
11325
9.48k
      if (yych <= '/') goto yy81;
11326
8.09k
      if (yych <= '9') goto yy250;
11327
3.55k
      goto yy81;
11328
22.3k
    } else {
11329
22.3k
      if (yych <= 'C') goto yy621;
11330
18.4k
      if (yych == 'c') goto yy621;
11331
6.52k
      goto yy81;
11332
18.4k
    }
11333
31.8k
  }
11334
73.5k
yy436:
11335
73.5k
  YYDEBUG(436, *YYCURSOR);
11336
73.5k
  yych = *++YYCURSOR;
11337
73.5k
  if (yych == 'R') goto yy622;
11338
36.4k
  if (yych == 'r') goto yy622;
11339
9.05k
  goto yy59;
11340
44.3k
yy437:
11341
44.3k
  YYDEBUG(437, *YYCURSOR);
11342
44.3k
  yych = *++YYCURSOR;
11343
44.3k
  if (yych == 'L') goto yy623;
11344
13.4k
  if (yych == 'l') goto yy623;
11345
7.19k
  goto yy59;
11346
35.2k
yy438:
11347
35.2k
  YYDEBUG(438, *YYCURSOR);
11348
35.2k
  yyaccept = 6;
11349
35.2k
  yych = *(YYMARKER = ++YYCURSOR);
11350
35.2k
  if (yych <= 'U') {
11351
13.5k
    if (yych == 'S') goto yy615;
11352
12.3k
    if (yych <= 'T') goto yy260;
11353
5.99k
    goto yy624;
11354
21.7k
  } else {
11355
21.7k
    if (yych <= 's') {
11356
5.16k
      if (yych <= 'r') goto yy260;
11357
2.06k
      goto yy615;
11358
16.5k
    } else {
11359
16.5k
      if (yych == 'u') goto yy624;
11360
8.65k
      goto yy260;
11361
16.5k
    }
11362
21.7k
  }
11363
36.7k
yy439:
11364
36.7k
  YYDEBUG(439, *YYCURSOR);
11365
36.7k
  yyaccept = 6;
11366
36.7k
  yych = *(YYMARKER = ++YYCURSOR);
11367
36.7k
  if (yych <= 'T') {
11368
10.6k
    if (yych == 'D') goto yy198;
11369
9.18k
    if (yych <= 'S') goto yy260;
11370
3.52k
    goto yy625;
11371
26.1k
  } else {
11372
26.1k
    if (yych <= 'd') {
11373
18.4k
      if (yych <= 'c') goto yy260;
11374
14.3k
      goto yy198;
11375
18.4k
    } else {
11376
7.67k
      if (yych == 't') goto yy625;
11377
4.86k
      goto yy260;
11378
7.67k
    }
11379
26.1k
  }
11380
23.3k
yy440:
11381
23.3k
  YYDEBUG(440, *YYCURSOR);
11382
23.3k
  yych = *++YYCURSOR;
11383
23.3k
  if (yych == 'C') goto yy425;
11384
19.9k
  if (yych == 'c') goto yy425;
11385
15.9k
  goto yy59;
11386
72.5k
yy441:
11387
72.5k
  YYDEBUG(441, *YYCURSOR);
11388
72.5k
  yyaccept = 3;
11389
72.5k
  yych = *(YYMARKER = ++YYCURSOR);
11390
72.5k
  if (yych <= '.') {
11391
24.1k
    if (yych <= 0x1F) {
11392
12.0k
      if (yych == '\t') goto yy248;
11393
7.05k
      goto yy81;
11394
12.0k
    } else {
11395
12.0k
      if (yych <= ' ') goto yy248;
11396
7.29k
      if (yych <= ',') goto yy81;
11397
3.89k
      goto yy248;
11398
7.29k
    }
11399
48.4k
  } else {
11400
48.4k
    if (yych <= 'N') {
11401
12.2k
      if (yych <= '/') goto yy81;
11402
9.44k
      if (yych <= '9') goto yy250;
11403
5.09k
      goto yy81;
11404
36.1k
    } else {
11405
36.1k
      if (yych <= 'O') goto yy626;
11406
29.0k
      if (yych == 'o') goto yy626;
11407
8.96k
      goto yy81;
11408
29.0k
    }
11409
48.4k
  }
11410
25.4k
yy442:
11411
25.4k
  YYDEBUG(442, *YYCURSOR);
11412
25.4k
  yyaccept = 6;
11413
25.4k
  yych = *(YYMARKER = ++YYCURSOR);
11414
25.4k
  if (yych == 'U') goto yy627;
11415
19.8k
  if (yych == 'u') goto yy627;
11416
9.76k
  goto yy260;
11417
87.5k
yy443:
11418
87.5k
  YYDEBUG(443, *YYCURSOR);
11419
87.5k
  yyaccept = 6;
11420
87.5k
  yych = *(YYMARKER = ++YYCURSOR);
11421
87.5k
  if (yych <= 'S') {
11422
43.9k
    if (yych == 'O') goto yy628;
11423
41.3k
    if (yych <= 'R') goto yy260;
11424
1.08k
    goto yy615;
11425
43.5k
  } else {
11426
43.5k
    if (yych <= 'o') {
11427
30.9k
      if (yych <= 'n') goto yy260;
11428
14.5k
      goto yy628;
11429
30.9k
    } else {
11430
12.6k
      if (yych == 's') goto yy615;
11431
7.55k
      goto yy260;
11432
12.6k
    }
11433
43.5k
  }
11434
105k
yy444:
11435
105k
  YYDEBUG(444, *YYCURSOR);
11436
105k
  yyaccept = 3;
11437
105k
  yych = *(YYMARKER = ++YYCURSOR);
11438
105k
  if (yych <= '.') {
11439
20.3k
    if (yych <= 0x1F) {
11440
7.73k
      if (yych == '\t') goto yy248;
11441
5.59k
      goto yy81;
11442
12.5k
    } else {
11443
12.5k
      if (yych <= ' ') goto yy248;
11444
9.72k
      if (yych <= ',') goto yy81;
11445
2.49k
      goto yy248;
11446
9.72k
    }
11447
85.3k
  } else {
11448
85.3k
    if (yych <= 'S') {
11449
19.7k
      if (yych <= '/') goto yy81;
11450
17.4k
      if (yych <= '9') goto yy250;
11451
7.39k
      goto yy81;
11452
65.5k
    } else {
11453
65.5k
      if (yych <= 'T') goto yy426;
11454
50.2k
      if (yych == 't') goto yy426;
11455
14.1k
      goto yy81;
11456
50.2k
    }
11457
85.3k
  }
11458
30.5k
yy445:
11459
30.5k
  YYDEBUG(445, *YYCURSOR);
11460
30.5k
  yyaccept = 6;
11461
30.5k
  yych = *(YYMARKER = ++YYCURSOR);
11462
30.5k
  if (yych == 'R') goto yy629;
11463
23.4k
  if (yych == 'r') goto yy629;
11464
16.2k
  goto yy260;
11465
34.4k
yy446:
11466
34.4k
  YYDEBUG(446, *YYCURSOR);
11467
34.4k
  yyaccept = 6;
11468
34.4k
  yych = *(YYMARKER = ++YYCURSOR);
11469
34.4k
  if (yych == 'S') goto yy630;
11470
30.7k
  if (yych == 's') goto yy630;
11471
12.9k
  goto yy260;
11472
46.1k
yy447:
11473
46.1k
  YYDEBUG(447, *YYCURSOR);
11474
46.1k
  yyaccept = 6;
11475
46.1k
  yych = *(YYMARKER = ++YYCURSOR);
11476
46.1k
  if (yych == 'N') goto yy631;
11477
36.6k
  if (yych == 'n') goto yy631;
11478
18.4k
  goto yy260;
11479
69.2k
yy448:
11480
69.2k
  YYDEBUG(448, *YYCURSOR);
11481
69.2k
  yych = *++YYCURSOR;
11482
69.2k
  if (yych == 'K') goto yy632;
11483
60.3k
  if (yych == 'k') goto yy632;
11484
33.6k
  goto yy59;
11485
47.8k
yy449:
11486
47.8k
  YYDEBUG(449, *YYCURSOR);
11487
47.8k
  yych = *++YYCURSOR;
11488
47.8k
  if (yych <= '/') goto yy207;
11489
43.7k
  if (yych <= '0') goto yy633;
11490
23.9k
  if (yych <= '1') goto yy634;
11491
15.6k
  if (yych <= '9') goto yy635;
11492
7.59k
  goto yy207;
11493
380k
yy450:
11494
380k
  YYDEBUG(450, *YYCURSOR);
11495
380k
  ++YYCURSOR;
11496
380k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
11497
380k
  yych = *YYCURSOR;
11498
380k
  if (yych <= 'd') {
11499
213k
    if (yych <= 'R') {
11500
131k
      if (yych <= 'F') {
11501
76.6k
        if (yych == 'D') goto yy198;
11502
69.0k
        if (yych <= 'E') goto yy59;
11503
5.26k
        goto yy199;
11504
69.0k
      } else {
11505
54.6k
        if (yych <= 'H') {
11506
13.5k
          if (yych <= 'G') goto yy59;
11507
4.84k
          goto yy79;
11508
41.0k
        } else {
11509
41.0k
          if (yych == 'M') goto yy200;
11510
32.8k
          goto yy59;
11511
41.0k
        }
11512
54.6k
      }
11513
131k
    } else {
11514
82.4k
      if (yych <= 'V') {
11515
32.3k
        if (yych <= 'S') goto yy201;
11516
25.5k
        if (yych <= 'T') goto yy87;
11517
21.1k
        if (yych <= 'U') goto yy88;
11518
16.1k
        goto yy59;
11519
50.1k
      } else {
11520
50.1k
        if (yych <= 'X') {
11521
20.9k
          if (yych <= 'W') goto yy90;
11522
10.4k
          goto yy59;
11523
29.1k
        } else {
11524
29.1k
          if (yych <= 'Y') goto yy92;
11525
25.6k
          if (yych <= 'c') goto yy59;
11526
1.80k
          goto yy198;
11527
25.6k
        }
11528
50.1k
      }
11529
82.4k
    }
11530
213k
  } else {
11531
167k
    if (yych <= 't') {
11532
73.7k
      if (yych <= 'h') {
11533
13.8k
        if (yych == 'f') goto yy199;
11534
11.5k
        if (yych <= 'g') goto yy59;
11535
3.14k
        goto yy79;
11536
59.9k
      } else {
11537
59.9k
        if (yych <= 'm') {
11538
17.5k
          if (yych <= 'l') goto yy59;
11539
3.59k
          goto yy200;
11540
42.3k
        } else {
11541
42.3k
          if (yych <= 'r') goto yy59;
11542
22.5k
          if (yych <= 's') goto yy201;
11543
8.59k
          goto yy87;
11544
22.5k
        }
11545
59.9k
      }
11546
93.3k
    } else {
11547
93.3k
      if (yych <= 'y') {
11548
56.5k
        if (yych <= 'v') {
11549
5.93k
          if (yych <= 'u') goto yy88;
11550
1.65k
          goto yy59;
11551
50.5k
        } else {
11552
50.5k
          if (yych <= 'w') goto yy90;
11553
12.1k
          if (yych <= 'x') goto yy59;
11554
8.09k
          goto yy92;
11555
12.1k
        }
11556
56.5k
      } else {
11557
36.8k
        if (yych <= 0xC2) {
11558
11.4k
          if (yych <= 0xC1) goto yy59;
11559
3.65k
          goto yy211;
11560
25.4k
        } else {
11561
25.4k
          if (yych == 0xE2) goto yy98;
11562
6.12k
          goto yy59;
11563
25.4k
        }
11564
36.8k
      }
11565
93.3k
    }
11566
167k
  }
11567
230k
yy451:
11568
230k
  YYDEBUG(451, *YYCURSOR);
11569
230k
  yych = *++YYCURSOR;
11570
230k
  if (yych <= '/') goto yy59;
11571
205k
  if (yych <= '5') goto yy636;
11572
61.3k
  if (yych <= '6') goto yy637;
11573
43.1k
  if (yych <= '9') goto yy572;
11574
29.6k
  goto yy59;
11575
251k
yy452:
11576
251k
  YYDEBUG(452, *YYCURSOR);
11577
251k
  yyaccept = 4;
11578
251k
  yych = *(YYMARKER = ++YYCURSOR);
11579
251k
  if (yych <= 'A') {
11580
191k
    if (yych <= ',') {
11581
45.4k
      if (yych <= '\t') {
11582
7.92k
        if (yych <= 0x08) goto yy177;
11583
3.85k
        goto yy638;
11584
37.5k
      } else {
11585
37.5k
        if (yych == ' ') goto yy638;
11586
12.2k
        goto yy177;
11587
37.5k
      }
11588
145k
    } else {
11589
145k
      if (yych <= '9') {
11590
85.0k
        if (yych <= '-') goto yy396;
11591
78.3k
        if (yych <= '.') goto yy451;
11592
57.2k
        goto yy177;
11593
78.3k
      } else {
11594
60.7k
        if (yych <= ':') goto yy453;
11595
9.21k
        if (yych <= '@') goto yy177;
11596
4.41k
        goto yy106;
11597
9.21k
      }
11598
145k
    }
11599
191k
  } else {
11600
60.5k
    if (yych <= 'o') {
11601
23.5k
      if (yych <= 'P') {
11602
8.98k
        if (yych <= 'O') goto yy177;
11603
2.32k
        goto yy106;
11604
14.5k
      } else {
11605
14.5k
        if (yych == 'a') goto yy106;
11606
11.9k
        goto yy177;
11607
14.5k
      }
11608
37.0k
    } else {
11609
37.0k
      if (yych <= 0xC2) {
11610
23.9k
        if (yych <= 'p') goto yy106;
11611
15.9k
        if (yych <= 0xC1) goto yy177;
11612
4.67k
        goto yy640;
11613
15.9k
      } else {
11614
13.0k
        if (yych == 0xE2) goto yy641;
11615
6.71k
        goto yy177;
11616
13.0k
      }
11617
37.0k
    }
11618
60.5k
  }
11619
307k
yy453:
11620
307k
  YYDEBUG(453, *YYCURSOR);
11621
307k
  yych = *++YYCURSOR;
11622
307k
  if (yych <= '/') goto yy59;
11623
264k
  if (yych <= '5') goto yy642;
11624
71.8k
  if (yych <= '6') goto yy643;
11625
59.4k
  if (yych <= '9') goto yy575;
11626
49.9k
  goto yy59;
11627
170k
yy454:
11628
170k
  YYDEBUG(454, *YYCURSOR);
11629
170k
  yyaccept = 4;
11630
170k
  yych = *(YYMARKER = ++YYCURSOR);
11631
170k
  if (yych <= 'A') {
11632
99.8k
    if (yych <= '-') {
11633
26.6k
      if (yych <= '\t') {
11634
8.54k
        if (yych <= 0x08) goto yy177;
11635
4.57k
        goto yy638;
11636
18.1k
      } else {
11637
18.1k
        if (yych == ' ') goto yy638;
11638
12.5k
        goto yy177;
11639
18.1k
      }
11640
73.1k
    } else {
11641
73.1k
      if (yych <= '9') {
11642
49.2k
        if (yych <= '.') goto yy453;
11643
38.8k
        goto yy177;
11644
49.2k
      } else {
11645
23.8k
        if (yych <= ':') goto yy453;
11646
12.5k
        if (yych <= '@') goto yy177;
11647
9.00k
        goto yy106;
11648
12.5k
      }
11649
73.1k
    }
11650
99.8k
  } else {
11651
70.8k
    if (yych <= 'o') {
11652
42.3k
      if (yych <= 'P') {
11653
14.1k
        if (yych <= 'O') goto yy177;
11654
5.36k
        goto yy106;
11655
28.1k
      } else {
11656
28.1k
        if (yych == 'a') goto yy106;
11657
24.3k
        goto yy177;
11658
28.1k
      }
11659
42.3k
    } else {
11660
28.4k
      if (yych <= 0xC2) {
11661
15.7k
        if (yych <= 'p') goto yy106;
11662
11.0k
        if (yych <= 0xC1) goto yy177;
11663
2.92k
        goto yy640;
11664
12.7k
      } else {
11665
12.7k
        if (yych == 0xE2) goto yy641;
11666
4.01k
        goto yy177;
11667
12.7k
      }
11668
28.4k
    }
11669
70.8k
  }
11670
823k
yy455:
11671
823k
  YYDEBUG(455, *YYCURSOR);
11672
823k
  yyaccept = 4;
11673
823k
  yych = *(YYMARKER = ++YYCURSOR);
11674
823k
  if (yych <= 'A') {
11675
651k
    if (yych <= '-') {
11676
124k
      if (yych <= '\t') {
11677
32.6k
        if (yych <= 0x08) goto yy177;
11678
17.6k
        goto yy638;
11679
92.2k
      } else {
11680
92.2k
        if (yych == ' ') goto yy638;
11681
41.8k
        goto yy177;
11682
92.2k
      }
11683
526k
    } else {
11684
526k
      if (yych <= '9') {
11685
150k
        if (yych <= '.') goto yy453;
11686
111k
        goto yy177;
11687
376k
      } else {
11688
376k
        if (yych <= ':') goto yy644;
11689
29.0k
        if (yych <= '@') goto yy177;
11690
15.7k
        goto yy106;
11691
29.0k
      }
11692
526k
    }
11693
651k
  } else {
11694
172k
    if (yych <= 'o') {
11695
73.9k
      if (yych <= 'P') {
11696
33.9k
        if (yych <= 'O') goto yy177;
11697
4.08k
        goto yy106;
11698
40.0k
      } else {
11699
40.0k
        if (yych == 'a') goto yy106;
11700
37.0k
        goto yy177;
11701
40.0k
      }
11702
98.1k
    } else {
11703
98.1k
      if (yych <= 0xC2) {
11704
57.1k
        if (yych <= 'p') goto yy106;
11705
53.6k
        if (yych <= 0xC1) goto yy177;
11706
31.5k
        goto yy640;
11707
53.6k
      } else {
11708
41.0k
        if (yych == 0xE2) goto yy641;
11709
19.6k
        goto yy177;
11710
41.0k
      }
11711
98.1k
    }
11712
172k
  }
11713
66.7k
yy456:
11714
66.7k
  YYDEBUG(456, *YYCURSOR);
11715
66.7k
  ++YYCURSOR;
11716
66.7k
  YYDEBUG(457, *YYCURSOR);
11717
66.7k
#line 1349 "ext/date/lib/parse_date.re"
11718
66.7k
  {
11719
66.7k
    DEBUG_OUTPUT("timetiny12 | timeshort12 | timelong12");
11720
66.7k
    TIMELIB_INIT;
11721
66.7k
    TIMELIB_HAVE_TIME();
11722
23.0k
    s->time->h = timelib_get_nr(&ptr, 2);
11723
23.0k
    if (*ptr == ':' || *ptr == '.') {
11724
13.7k
      s->time->i = timelib_get_nr(&ptr, 2);
11725
13.7k
      if (*ptr == ':' || *ptr == '.') {
11726
8.62k
        s->time->s = timelib_get_nr(&ptr, 2);
11727
8.62k
      }
11728
13.7k
    }
11729
23.0k
    timelib_eat_spaces(&ptr);
11730
23.0k
    s->time->h += timelib_meridian(&ptr, s->time->h);
11731
23.0k
    TIMELIB_DEINIT;
11732
23.0k
    return TIMELIB_TIME12;
11733
66.7k
  }
11734
0
#line 11735 "ext/date/lib/parse_date.c"
11735
45.7k
yy458:
11736
45.7k
  YYDEBUG(458, *YYCURSOR);
11737
45.7k
  yych = *++YYCURSOR;
11738
45.7k
  if (yych <= '\t') {
11739
22.0k
    if (yych <= 0x00) goto yy456;
11740
15.0k
    if (yych <= 0x08) goto yy59;
11741
7.15k
    goto yy456;
11742
23.6k
  } else {
11743
23.6k
    if (yych == ' ') goto yy456;
11744
14.8k
    goto yy59;
11745
23.6k
  }
11746
208k
yy459:
11747
208k
  YYDEBUG(459, *YYCURSOR);
11748
208k
  ++YYCURSOR;
11749
208k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
11750
208k
  yych = *YYCURSOR;
11751
208k
  if (yych <= 'a') {
11752
113k
    if (yych <= 'O') {
11753
65.2k
      if (yych <= 'E') {
11754
44.5k
        if (yych <= 'A') {
11755
38.4k
          if (yych <= '@') goto yy59;
11756
5.13k
          goto yy106;
11757
38.4k
        } else {
11758
6.10k
          if (yych == 'D') goto yy198;
11759
3.16k
          goto yy59;
11760
6.10k
        }
11761
44.5k
      } else {
11762
20.7k
        if (yych <= 'H') {
11763
12.0k
          if (yych <= 'F') goto yy199;
11764
8.72k
          if (yych <= 'G') goto yy59;
11765
1.80k
          goto yy79;
11766
8.72k
        } else {
11767
8.62k
          if (yych == 'M') goto yy200;
11768
3.17k
          goto yy59;
11769
8.62k
        }
11770
20.7k
      }
11771
65.2k
    } else {
11772
48.1k
      if (yych <= 'U') {
11773
28.0k
        if (yych <= 'R') {
11774
15.1k
          if (yych <= 'P') goto yy106;
11775
2.03k
          goto yy59;
11776
15.1k
        } else {
11777
12.9k
          if (yych <= 'S') goto yy201;
11778
5.61k
          if (yych <= 'T') goto yy87;
11779
1.64k
          goto yy88;
11780
5.61k
        }
11781
28.0k
      } else {
11782
20.1k
        if (yych <= 'X') {
11783
12.2k
          if (yych == 'W') goto yy90;
11784
9.36k
          goto yy59;
11785
12.2k
        } else {
11786
7.85k
          if (yych <= 'Y') goto yy92;
11787
7.24k
          if (yych <= '`') goto yy59;
11788
3.00k
          goto yy106;
11789
7.24k
        }
11790
20.1k
      }
11791
48.1k
    }
11792
113k
  } else {
11793
94.8k
    if (yych <= 'r') {
11794
37.8k
      if (yych <= 'g') {
11795
11.9k
        if (yych <= 'd') {
11796
7.21k
          if (yych <= 'c') goto yy59;
11797
1.47k
          goto yy198;
11798
7.21k
        } else {
11799
4.73k
          if (yych == 'f') goto yy199;
11800
1.28k
          goto yy59;
11801
4.73k
        }
11802
25.8k
      } else {
11803
25.8k
        if (yych <= 'm') {
11804
13.2k
          if (yych <= 'h') goto yy79;
11805
4.33k
          if (yych <= 'l') goto yy59;
11806
1.57k
          goto yy200;
11807
12.5k
        } else {
11808
12.5k
          if (yych == 'p') goto yy106;
11809
8.48k
          goto yy59;
11810
12.5k
        }
11811
25.8k
      }
11812
57.0k
    } else {
11813
57.0k
      if (yych <= 'x') {
11814
22.6k
        if (yych <= 'u') {
11815
14.9k
          if (yych <= 's') goto yy201;
11816
6.25k
          if (yych <= 't') goto yy87;
11817
4.00k
          goto yy88;
11818
7.74k
        } else {
11819
7.74k
          if (yych == 'w') goto yy90;
11820
1.58k
          goto yy59;
11821
7.74k
        }
11822
34.3k
      } else {
11823
34.3k
        if (yych <= 0xC2) {
11824
16.8k
          if (yych <= 'y') goto yy92;
11825
13.0k
          if (yych <= 0xC1) goto yy59;
11826
2.94k
          goto yy211;
11827
17.4k
        } else {
11828
17.4k
          if (yych == 0xE2) goto yy108;
11829
4.90k
          goto yy59;
11830
17.4k
        }
11831
34.3k
      }
11832
57.0k
    }
11833
94.8k
  }
11834
160k
yy460:
11835
160k
  YYDEBUG(460, *YYCURSOR);
11836
160k
  yych = *++YYCURSOR;
11837
160k
  if (yych == '-') goto yy645;
11838
145k
  if (yych <= '/') goto yy59;
11839
134k
  if (yych <= '9') goto yy646;
11840
30.4k
  goto yy59;
11841
87.2k
yy461:
11842
87.2k
  YYDEBUG(461, *YYCURSOR);
11843
87.2k
  yych = *++YYCURSOR;
11844
87.2k
  if (yych == '-') goto yy645;
11845
72.0k
  if (yych <= '/') goto yy59;
11846
65.0k
  if (yych <= '2') goto yy646;
11847
24.0k
  goto yy59;
11848
421k
yy462:
11849
421k
  YYDEBUG(462, *YYCURSOR);
11850
421k
  yych = *++YYCURSOR;
11851
421k
  if (yych == '-') goto yy645;
11852
302k
  goto yy59;
11853
302k
yy463:
11854
79.9k
  YYDEBUG(463, *YYCURSOR);
11855
79.9k
  yych = *++YYCURSOR;
11856
79.9k
  if (yych <= 'U') {
11857
22.2k
    if (yych == 'P') goto yy647;
11858
18.3k
    if (yych <= 'T') goto yy59;
11859
3.05k
    goto yy648;
11860
57.7k
  } else {
11861
57.7k
    if (yych <= 'p') {
11862
29.8k
      if (yych <= 'o') goto yy59;
11863
25.2k
      goto yy647;
11864
29.8k
    } else {
11865
27.9k
      if (yych == 'u') goto yy648;
11866
5.88k
      goto yy59;
11867
27.9k
    }
11868
57.7k
  }
11869
40.8k
yy464:
11870
40.8k
  YYDEBUG(464, *YYCURSOR);
11871
40.8k
  yych = *++YYCURSOR;
11872
40.8k
  if (yych == 'E') goto yy649;
11873
31.7k
  if (yych == 'e') goto yy649;
11874
17.0k
  goto yy59;
11875
61.1k
yy465:
11876
61.1k
  YYDEBUG(465, *YYCURSOR);
11877
61.1k
  yych = *++YYCURSOR;
11878
61.1k
  if (yych == 'E') goto yy650;
11879
56.3k
  if (yych == 'e') goto yy650;
11880
22.6k
  goto yy59;
11881
109k
yy466:
11882
109k
  YYDEBUG(466, *YYCURSOR);
11883
109k
  yych = *++YYCURSOR;
11884
109k
  if (yych <= 'U') {
11885
31.0k
    if (yych == 'A') goto yy651;
11886
27.7k
    if (yych <= 'T') goto yy59;
11887
19.5k
    goto yy652;
11888
77.9k
  } else {
11889
77.9k
    if (yych <= 'a') {
11890
34.8k
      if (yych <= '`') goto yy59;
11891
29.6k
      goto yy651;
11892
43.1k
    } else {
11893
43.1k
      if (yych == 'u') goto yy652;
11894
8.59k
      goto yy59;
11895
43.1k
    }
11896
77.9k
  }
11897
79.8k
yy467:
11898
79.8k
  YYDEBUG(467, *YYCURSOR);
11899
79.8k
  yych = *++YYCURSOR;
11900
79.8k
  if (yych == 'A') goto yy653;
11901
46.1k
  if (yych == 'a') goto yy653;
11902
20.9k
  goto yy59;
11903
48.6k
yy468:
11904
48.6k
  YYDEBUG(468, *YYCURSOR);
11905
48.6k
  yych = *++YYCURSOR;
11906
48.6k
  if (yych == 'O') goto yy654;
11907
42.4k
  if (yych == 'o') goto yy654;
11908
19.4k
  goto yy59;
11909
33.7k
yy469:
11910
33.7k
  YYDEBUG(469, *YYCURSOR);
11911
33.7k
  yych = *++YYCURSOR;
11912
33.7k
  if (yych == 'C') goto yy655;
11913
25.3k
  if (yych == 'c') goto yy655;
11914
14.2k
  goto yy59;
11915
84.4k
yy470:
11916
84.4k
  YYDEBUG(470, *YYCURSOR);
11917
84.4k
  yych = *++YYCURSOR;
11918
84.4k
  if (yych == 'E') goto yy656;
11919
72.5k
  if (yych == 'e') goto yy656;
11920
25.2k
  goto yy59;
11921
46.7k
yy471:
11922
46.7k
  YYDEBUG(471, *YYCURSOR);
11923
46.7k
  yych = *++YYCURSOR;
11924
46.7k
  if (yych <= '/') goto yy290;
11925
39.0k
  if (yych <= '9') goto yy657;
11926
6.73k
  goto yy290;
11927
24.6M
yy472:
11928
24.6M
  YYDEBUG(472, *YYCURSOR);
11929
24.6M
  yych = *++YYCURSOR;
11930
24.6M
  if (yych <= '@') {
11931
5.99M
    if (yych == ')') goto yy115;
11932
5.84M
    goto yy20;
11933
18.6M
  } else {
11934
18.6M
    if (yych <= 'Z') goto yy658;
11935
12.9M
    if (yych <= '`') goto yy20;
11936
11.5M
    if (yych <= 'z') goto yy658;
11937
1.37M
    goto yy20;
11938
11.5M
  }
11939
224k
yy473:
11940
224k
  YYDEBUG(473, *YYCURSOR);
11941
224k
  yych = *++YYCURSOR;
11942
224k
  if (yych <= '/') goto yy142;
11943
208k
  if (yych <= '2') goto yy659;
11944
117k
  if (yych <= '3') goto yy660;
11945
49.2k
  goto yy142;
11946
49.2k
yy474:
11947
47.1k
  YYDEBUG(474, *YYCURSOR);
11948
47.1k
  yych = *++YYCURSOR;
11949
47.1k
  if (yych <= 'L') {
11950
17.9k
    if (yych <= ')') {
11951
5.26k
      if (yych <= '(') goto yy20;
11952
2.13k
      goto yy115;
11953
12.6k
    } else {
11954
12.6k
      if (yych <= '@') goto yy20;
11955
9.95k
      if (yych <= 'K') goto yy658;
11956
5.15k
      goto yy661;
11957
9.95k
    }
11958
29.2k
  } else {
11959
29.2k
    if (yych <= 'k') {
11960
10.7k
      if (yych <= 'Z') goto yy658;
11961
6.20k
      if (yych <= '`') goto yy20;
11962
4.05k
      goto yy658;
11963
18.4k
    } else {
11964
18.4k
      if (yych <= 'l') goto yy661;
11965
7.18k
      if (yych <= 'z') goto yy658;
11966
1.72k
      goto yy20;
11967
7.18k
    }
11968
29.2k
  }
11969
86.2k
yy475:
11970
86.2k
  YYDEBUG(475, *YYCURSOR);
11971
86.2k
  yych = *++YYCURSOR;
11972
86.2k
  if (yych <= 'S') {
11973
38.9k
    if (yych <= ')') {
11974
5.22k
      if (yych <= '(') goto yy20;
11975
1.09k
      goto yy115;
11976
33.6k
    } else {
11977
33.6k
      if (yych <= '@') goto yy20;
11978
26.1k
      if (yych <= 'R') goto yy658;
11979
19.0k
      goto yy662;
11980
26.1k
    }
11981
47.3k
  } else {
11982
47.3k
    if (yych <= 'r') {
11983
11.2k
      if (yych <= 'Z') goto yy658;
11984
9.41k
      if (yych <= '`') goto yy20;
11985
3.25k
      goto yy658;
11986
36.0k
    } else {
11987
36.0k
      if (yych <= 's') goto yy662;
11988
10.5k
      if (yych <= 'z') goto yy658;
11989
6.56k
      goto yy20;
11990
10.5k
    }
11991
47.3k
  }
11992
2.76M
yy476:
11993
2.76M
  YYDEBUG(476, *YYCURSOR);
11994
2.76M
  yyaccept = 2;
11995
2.76M
  YYMARKER = ++YYCURSOR;
11996
2.76M
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
11997
2.76M
  yych = *YYCURSOR;
11998
2.76M
  YYDEBUG(477, *YYCURSOR);
11999
2.76M
  if (yybm[0+yych] & 64) {
12000
1.79M
    goto yy476;
12001
1.79M
  }
12002
967k
  if (yych <= '.') {
12003
397k
    if (yych == '-') goto yy297;
12004
345k
    goto yy20;
12005
569k
  } else {
12006
569k
    if (yych <= '/') goto yy297;
12007
534k
    if (yych == '_') goto yy297;
12008
495k
    goto yy20;
12009
534k
  }
12010
4.18M
yy478:
12011
4.18M
  YYDEBUG(478, *YYCURSOR);
12012
4.18M
  yyaccept = 2;
12013
4.18M
  yych = *(YYMARKER = ++YYCURSOR);
12014
4.18M
  if (yych <= '/') {
12015
598k
    if (yych <= ',') {
12016
502k
      if (yych == ')') goto yy115;
12017
468k
      goto yy20;
12018
502k
    } else {
12019
95.6k
      if (yych == '.') goto yy20;
12020
71.0k
      goto yy297;
12021
95.6k
    }
12022
3.59M
  } else {
12023
3.59M
    if (yych <= '^') {
12024
986k
      if (yych <= '@') goto yy20;
12025
711k
      if (yych <= 'Z') goto yy658;
12026
30.7k
      goto yy20;
12027
2.60M
    } else {
12028
2.60M
      if (yych <= '_') goto yy297;
12029
2.56M
      if (yych <= '`') goto yy20;
12030
2.52M
      if (yych <= 'z') goto yy663;
12031
212k
      goto yy20;
12032
2.52M
    }
12033
3.59M
  }
12034
199k
yy479:
12035
199k
  YYDEBUG(479, *YYCURSOR);
12036
199k
  yych = *++YYCURSOR;
12037
199k
  if (yybm[0+yych] & 64) {
12038
13.8k
    goto yy476;
12039
13.8k
  }
12040
185k
  if (yych <= '/') goto yy142;
12041
174k
  if (yych <= '2') goto yy659;
12042
77.1k
  if (yych <= '3') goto yy660;
12043
37.6k
  goto yy142;
12044
97.5k
yy480:
12045
97.5k
  YYDEBUG(480, *YYCURSOR);
12046
97.5k
  yyaccept = 2;
12047
97.5k
  yych = *(YYMARKER = ++YYCURSOR);
12048
97.5k
  if (yych <= 'K') {
12049
24.4k
    if (yych <= '-') {
12050
14.7k
      if (yych == ')') goto yy115;
12051
10.5k
      if (yych <= ',') goto yy20;
12052
3.79k
      goto yy297;
12053
10.5k
    } else {
12054
9.72k
      if (yych == '/') goto yy297;
12055
9.34k
      if (yych <= '@') goto yy20;
12056
4.27k
      goto yy658;
12057
9.34k
    }
12058
73.0k
  } else {
12059
73.0k
    if (yych <= '_') {
12060
13.9k
      if (yych <= 'L') goto yy661;
12061
5.00k
      if (yych <= 'Z') goto yy658;
12062
3.71k
      if (yych <= '^') goto yy20;
12063
1.13k
      goto yy297;
12064
59.1k
    } else {
12065
59.1k
      if (yych <= 'k') {
12066
3.91k
        if (yych <= '`') goto yy20;
12067
978
        goto yy663;
12068
55.1k
      } else {
12069
55.1k
        if (yych <= 'l') goto yy664;
12070
10.3k
        if (yych <= 'z') goto yy663;
12071
3.93k
        goto yy20;
12072
10.3k
      }
12073
59.1k
    }
12074
73.0k
  }
12075
149k
yy481:
12076
149k
  YYDEBUG(481, *YYCURSOR);
12077
149k
  yyaccept = 2;
12078
149k
  yych = *(YYMARKER = ++YYCURSOR);
12079
149k
  if (yych <= 'R') {
12080
32.6k
    if (yych <= '-') {
12081
14.5k
      if (yych == ')') goto yy115;
12082
13.4k
      if (yych <= ',') goto yy20;
12083
7.05k
      goto yy297;
12084
18.0k
    } else {
12085
18.0k
      if (yych == '/') goto yy297;
12086
15.1k
      if (yych <= '@') goto yy20;
12087
3.55k
      goto yy658;
12088
15.1k
    }
12089
116k
  } else {
12090
116k
    if (yych <= '_') {
12091
17.7k
      if (yych <= 'S') goto yy662;
12092
6.79k
      if (yych <= 'Z') goto yy658;
12093
4.97k
      if (yych <= '^') goto yy20;
12094
2.63k
      goto yy297;
12095
98.9k
    } else {
12096
98.9k
      if (yych <= 'r') {
12097
6.79k
        if (yych <= '`') goto yy20;
12098
3.88k
        goto yy663;
12099
92.2k
      } else {
12100
92.2k
        if (yych <= 's') goto yy665;
12101
4.97k
        if (yych <= 'z') goto yy663;
12102
3.44k
        goto yy20;
12103
4.97k
      }
12104
98.9k
    }
12105
116k
  }
12106
136k
yy482:
12107
136k
  YYDEBUG(482, *YYCURSOR);
12108
136k
  yyaccept = 2;
12109
136k
  yych = *(YYMARKER = ++YYCURSOR);
12110
136k
  if (yych <= ')') {
12111
115k
    if (yych == ' ') goto yy666;
12112
14.3k
    if (yych <= '(') goto yy20;
12113
6.38k
    goto yy115;
12114
20.5k
  } else {
12115
20.5k
    if (yych <= 'Z') {
12116
7.40k
      if (yych <= '@') goto yy20;
12117
2.99k
      goto yy658;
12118
13.1k
    } else {
12119
13.1k
      if (yych <= '`') goto yy20;
12120
9.38k
      if (yych <= 'z') goto yy658;
12121
5.04k
      goto yy20;
12122
9.38k
    }
12123
20.5k
  }
12124
90.2k
yy483:
12125
90.2k
  YYDEBUG(483, *YYCURSOR);
12126
90.2k
  yyaccept = 2;
12127
90.2k
  yych = *(YYMARKER = ++YYCURSOR);
12128
90.2k
  if (yych <= '.') {
12129
73.0k
    if (yych <= '(') {
12130
67.5k
      if (yych == ' ') goto yy666;
12131
5.68k
      goto yy20;
12132
67.5k
    } else {
12133
5.40k
      if (yych <= ')') goto yy115;
12134
4.96k
      if (yych == '-') goto yy297;
12135
2.48k
      goto yy20;
12136
4.96k
    }
12137
73.0k
  } else {
12138
17.2k
    if (yych <= '^') {
12139
8.78k
      if (yych <= '/') goto yy297;
12140
7.39k
      if (yych <= '@') goto yy20;
12141
2.68k
      if (yych <= 'Z') goto yy658;
12142
896
      goto yy20;
12143
8.49k
    } else {
12144
8.49k
      if (yych <= '_') goto yy297;
12145
6.56k
      if (yych <= '`') goto yy20;
12146
5.76k
      if (yych <= 'z') goto yy663;
12147
2.51k
      goto yy20;
12148
5.76k
    }
12149
17.2k
  }
12150
74.2k
yy484:
12151
74.2k
  YYDEBUG(484, *YYCURSOR);
12152
74.2k
  yych = *++YYCURSOR;
12153
74.2k
  if (yych <= 'M') {
12154
32.1k
    if (yych <= ')') {
12155
5.63k
      if (yych <= '(') goto yy20;
12156
771
      goto yy115;
12157
26.4k
    } else {
12158
26.4k
      if (yych <= '@') goto yy20;
12159
19.2k
      if (yych <= 'L') goto yy658;
12160
15.9k
      goto yy667;
12161
19.2k
    }
12162
42.1k
  } else {
12163
42.1k
    if (yych <= 'l') {
12164
12.3k
      if (yych <= 'Z') goto yy658;
12165
6.45k
      if (yych <= '`') goto yy20;
12166
4.63k
      goto yy658;
12167
29.7k
    } else {
12168
29.7k
      if (yych <= 'm') goto yy667;
12169
13.4k
      if (yych <= 'z') goto yy658;
12170
7.71k
      goto yy20;
12171
13.4k
    }
12172
42.1k
  }
12173
153k
yy485:
12174
153k
  YYDEBUG(485, *YYCURSOR);
12175
153k
  yyaccept = 2;
12176
153k
  yych = *(YYMARKER = ++YYCURSOR);
12177
153k
  if (yych <= 'L') {
12178
27.9k
    if (yych <= '-') {
12179
15.5k
      if (yych == ')') goto yy115;
12180
11.2k
      if (yych <= ',') goto yy20;
12181
4.06k
      goto yy297;
12182
12.4k
    } else {
12183
12.4k
      if (yych == '/') goto yy297;
12184
9.74k
      if (yych <= '@') goto yy20;
12185
3.70k
      goto yy658;
12186
9.74k
    }
12187
125k
  } else {
12188
125k
    if (yych <= '_') {
12189
27.8k
      if (yych <= 'M') goto yy667;
12190
6.15k
      if (yych <= 'Z') goto yy658;
12191
4.73k
      if (yych <= '^') goto yy20;
12192
2.10k
      goto yy297;
12193
97.8k
    } else {
12194
97.8k
      if (yych <= 'l') {
12195
7.38k
        if (yych <= '`') goto yy20;
12196
4.61k
        goto yy663;
12197
90.4k
      } else {
12198
90.4k
        if (yych <= 'm') goto yy668;
12199
21.1k
        if (yych <= 'z') goto yy663;
12200
10.5k
        goto yy20;
12201
21.1k
      }
12202
97.8k
    }
12203
125k
  }
12204
228k
yy486:
12205
228k
  YYDEBUG(486, *YYCURSOR);
12206
228k
  yych = *++YYCURSOR;
12207
228k
  if (yych <= 'T') {
12208
30.8k
    if (yych <= ')') {
12209
8.01k
      if (yych <= '(') goto yy20;
12210
970
      goto yy115;
12211
22.7k
    } else {
12212
22.7k
      if (yych <= '@') goto yy20;
12213
13.8k
      if (yych <= 'S') goto yy658;
12214
8.81k
      goto yy669;
12215
13.8k
    }
12216
197k
  } else {
12217
197k
    if (yych <= 's') {
12218
12.2k
      if (yych <= 'Z') goto yy658;
12219
10.8k
      if (yych <= '`') goto yy20;
12220
2.45k
      goto yy658;
12221
185k
    } else {
12222
185k
      if (yych <= 't') goto yy669;
12223
13.6k
      if (yych <= 'z') goto yy658;
12224
5.44k
      goto yy20;
12225
13.6k
    }
12226
197k
  }
12227
81.5k
yy487:
12228
81.5k
  YYDEBUG(487, *YYCURSOR);
12229
81.5k
  yych = *++YYCURSOR;
12230
81.5k
  if (yych <= 'E') {
12231
30.4k
    if (yych <= ')') {
12232
8.15k
      if (yych <= '(') goto yy20;
12233
5.76k
      goto yy115;
12234
22.3k
    } else {
12235
22.3k
      if (yych <= '@') goto yy20;
12236
14.7k
      if (yych <= 'D') goto yy658;
12237
13.5k
      goto yy670;
12238
14.7k
    }
12239
51.0k
  } else {
12240
51.0k
    if (yych <= 'd') {
12241
6.35k
      if (yych <= 'Z') goto yy658;
12242
4.34k
      if (yych <= '`') goto yy20;
12243
2.54k
      goto yy658;
12244
44.7k
    } else {
12245
44.7k
      if (yych <= 'e') goto yy670;
12246
9.77k
      if (yych <= 'z') goto yy658;
12247
4.65k
      goto yy20;
12248
9.77k
    }
12249
51.0k
  }
12250
212k
yy488:
12251
212k
  YYDEBUG(488, *YYCURSOR);
12252
212k
  yyaccept = 2;
12253
212k
  yych = *(YYMARKER = ++YYCURSOR);
12254
212k
  if (yych <= 'S') {
12255
44.4k
    if (yych <= '-') {
12256
22.7k
      if (yych == ')') goto yy115;
12257
21.0k
      if (yych <= ',') goto yy20;
12258
11.7k
      goto yy297;
12259
21.7k
    } else {
12260
21.7k
      if (yych == '/') goto yy297;
12261
17.0k
      if (yych <= '@') goto yy20;
12262
6.55k
      goto yy658;
12263
17.0k
    }
12264
168k
  } else {
12265
168k
    if (yych <= '_') {
12266
50.3k
      if (yych <= 'T') goto yy669;
12267
8.00k
      if (yych <= 'Z') goto yy658;
12268
5.80k
      if (yych <= '^') goto yy20;
12269
951
      goto yy297;
12270
118k
    } else {
12271
118k
      if (yych <= 's') {
12272
4.72k
        if (yych <= '`') goto yy20;
12273
3.37k
        goto yy663;
12274
113k
      } else {
12275
113k
        if (yych <= 't') goto yy671;
12276
11.1k
        if (yych <= 'z') goto yy663;
12277
7.89k
        goto yy20;
12278
11.1k
      }
12279
118k
    }
12280
168k
  }
12281
170k
yy489:
12282
170k
  YYDEBUG(489, *YYCURSOR);
12283
170k
  yyaccept = 2;
12284
170k
  yych = *(YYMARKER = ++YYCURSOR);
12285
170k
  if (yych <= 'D') {
12286
28.6k
    if (yych <= '-') {
12287
9.88k
      if (yych == ')') goto yy115;
12288
7.89k
      if (yych <= ',') goto yy20;
12289
3.39k
      goto yy297;
12290
18.7k
    } else {
12291
18.7k
      if (yych == '/') goto yy297;
12292
16.4k
      if (yych <= '@') goto yy20;
12293
6.57k
      goto yy658;
12294
16.4k
    }
12295
142k
  } else {
12296
142k
    if (yych <= '_') {
12297
23.3k
      if (yych <= 'E') goto yy670;
12298
9.85k
      if (yych <= 'Z') goto yy658;
12299
6.18k
      if (yych <= '^') goto yy20;
12300
4.70k
      goto yy297;
12301
118k
    } else {
12302
118k
      if (yych <= 'd') {
12303
14.0k
        if (yych <= '`') goto yy20;
12304
1.57k
        goto yy663;
12305
104k
      } else {
12306
104k
        if (yych <= 'e') goto yy672;
12307
17.9k
        if (yych <= 'z') goto yy663;
12308
14.3k
        goto yy20;
12309
17.9k
      }
12310
118k
    }
12311
142k
  }
12312
62.2k
yy490:
12313
62.2k
  YYDEBUG(490, *YYCURSOR);
12314
62.2k
  yych = *++YYCURSOR;
12315
62.2k
  if (yych <= 'U') {
12316
34.2k
    if (yych <= ')') {
12317
12.0k
      if (yych <= '(') goto yy20;
12318
4.39k
      goto yy115;
12319
22.2k
    } else {
12320
22.2k
      if (yych <= '@') goto yy20;
12321
18.2k
      if (yych <= 'T') goto yy658;
12322
13.0k
      goto yy673;
12323
18.2k
    }
12324
34.2k
  } else {
12325
27.9k
    if (yych <= 't') {
12326
9.41k
      if (yych <= 'Z') goto yy658;
12327
7.46k
      if (yych <= '`') goto yy20;
12328
5.00k
      goto yy658;
12329
18.5k
    } else {
12330
18.5k
      if (yych <= 'u') goto yy673;
12331
5.16k
      if (yych <= 'z') goto yy658;
12332
3.89k
      goto yy20;
12333
5.16k
    }
12334
27.9k
  }
12335
179k
yy491:
12336
179k
  YYDEBUG(491, *YYCURSOR);
12337
179k
  yych = *++YYCURSOR;
12338
179k
  if (yych <= 'H') {
12339
115k
    if (yych <= ')') {
12340
10.9k
      if (yych <= '(') goto yy20;
12341
1.48k
      goto yy115;
12342
105k
    } else {
12343
105k
      if (yych <= '@') goto yy20;
12344
84.1k
      if (yych <= 'G') goto yy658;
12345
77.7k
      goto yy674;
12346
84.1k
    }
12347
115k
  } else {
12348
63.6k
    if (yych <= 'g') {
12349
31.0k
      if (yych <= 'Z') goto yy658;
12350
5.32k
      if (yych <= '`') goto yy20;
12351
3.14k
      goto yy658;
12352
32.5k
    } else {
12353
32.5k
      if (yych <= 'h') goto yy674;
12354
13.7k
      if (yych <= 'z') goto yy658;
12355
6.22k
      goto yy20;
12356
13.7k
    }
12357
63.6k
  }
12358
167k
yy492:
12359
167k
  YYDEBUG(492, *YYCURSOR);
12360
167k
  yych = *++YYCURSOR;
12361
167k
  if (yych <= 'T') {
12362
26.8k
    if (yych <= ')') {
12363
8.53k
      if (yych <= '(') goto yy20;
12364
1.49k
      goto yy115;
12365
18.3k
    } else {
12366
18.3k
      if (yych <= '@') goto yy20;
12367
13.6k
      if (yych <= 'S') goto yy658;
12368
10.4k
      goto yy675;
12369
13.6k
    }
12370
140k
  } else {
12371
140k
    if (yych <= 's') {
12372
10.5k
      if (yych <= 'Z') goto yy658;
12373
8.89k
      if (yych <= '`') goto yy20;
12374
5.56k
      goto yy658;
12375
129k
    } else {
12376
129k
      if (yych <= 't') goto yy675;
12377
18.0k
      if (yych <= 'z') goto yy658;
12378
10.1k
      goto yy20;
12379
18.0k
    }
12380
140k
  }
12381
68.3k
yy493:
12382
68.3k
  YYDEBUG(493, *YYCURSOR);
12383
68.3k
  yych = *++YYCURSOR;
12384
68.3k
  if (yych <= 'T') {
12385
28.4k
    if (yych <= ')') {
12386
3.55k
      if (yych <= '(') goto yy20;
12387
1.19k
      goto yy115;
12388
24.8k
    } else {
12389
24.8k
      if (yych <= '@') goto yy20;
12390
16.3k
      if (yych <= 'S') goto yy658;
12391
11.9k
      goto yy676;
12392
16.3k
    }
12393
39.9k
  } else {
12394
39.9k
    if (yych <= 's') {
12395
8.15k
      if (yych <= 'Z') goto yy658;
12396
7.31k
      if (yych <= '`') goto yy20;
12397
5.54k
      goto yy658;
12398
31.7k
    } else {
12399
31.7k
      if (yych <= 't') goto yy676;
12400
5.58k
      if (yych <= 'z') goto yy658;
12401
3.28k
      goto yy20;
12402
5.58k
    }
12403
39.9k
  }
12404
86.7k
yy494:
12405
86.7k
  YYDEBUG(494, *YYCURSOR);
12406
86.7k
  yych = *++YYCURSOR;
12407
86.7k
  if (yych <= 'A') {
12408
27.3k
    if (yych == ')') goto yy115;
12409
27.1k
    if (yych <= '@') goto yy20;
12410
16.7k
    goto yy677;
12411
59.3k
  } else {
12412
59.3k
    if (yych <= '`') {
12413
5.20k
      if (yych <= 'Z') goto yy658;
12414
3.42k
      goto yy20;
12415
54.1k
    } else {
12416
54.1k
      if (yych <= 'a') goto yy677;
12417
17.9k
      if (yych <= 'z') goto yy658;
12418
9.05k
      goto yy20;
12419
17.9k
    }
12420
59.3k
  }
12421
75.8k
yy495:
12422
75.8k
  YYDEBUG(495, *YYCURSOR);
12423
75.8k
  yych = *++YYCURSOR;
12424
75.8k
  if (yych <= 'T') {
12425
20.0k
    if (yych <= ')') {
12426
6.86k
      if (yych <= '(') goto yy20;
12427
1.85k
      goto yy115;
12428
13.2k
    } else {
12429
13.2k
      if (yych <= '@') goto yy20;
12430
6.47k
      if (yych <= 'S') goto yy658;
12431
4.14k
      goto yy678;
12432
6.47k
    }
12433
55.7k
  } else {
12434
55.7k
    if (yych <= 's') {
12435
10.7k
      if (yych <= 'Z') goto yy658;
12436
7.54k
      if (yych <= '`') goto yy20;
12437
6.23k
      goto yy658;
12438
45.0k
    } else {
12439
45.0k
      if (yych <= 't') goto yy678;
12440
6.22k
      if (yych <= 'z') goto yy658;
12441
3.92k
      goto yy20;
12442
6.22k
    }
12443
55.7k
  }
12444
152k
yy496:
12445
152k
  YYDEBUG(496, *YYCURSOR);
12446
152k
  yyaccept = 2;
12447
152k
  yych = *(YYMARKER = ++YYCURSOR);
12448
152k
  if (yych <= 'T') {
12449
35.3k
    if (yych <= '-') {
12450
17.4k
      if (yych == ')') goto yy115;
12451
13.7k
      if (yych <= ',') goto yy20;
12452
3.43k
      goto yy297;
12453
17.9k
    } else {
12454
17.9k
      if (yych == '/') goto yy297;
12455
15.3k
      if (yych <= '@') goto yy20;
12456
2.59k
      goto yy658;
12457
15.3k
    }
12458
117k
  } else {
12459
117k
    if (yych <= '_') {
12460
20.5k
      if (yych <= 'U') goto yy673;
12461
7.90k
      if (yych <= 'Z') goto yy658;
12462
4.42k
      if (yych <= '^') goto yy20;
12463
3.25k
      goto yy297;
12464
96.8k
    } else {
12465
96.8k
      if (yych <= 't') {
12466
6.80k
        if (yych <= '`') goto yy20;
12467
5.24k
        goto yy663;
12468
90.0k
      } else {
12469
90.0k
        if (yych <= 'u') goto yy679;
12470
16.8k
        if (yych <= 'z') goto yy663;
12471
7.54k
        goto yy20;
12472
16.8k
      }
12473
96.8k
    }
12474
117k
  }
12475
59.5k
yy497:
12476
59.5k
  YYDEBUG(497, *YYCURSOR);
12477
59.5k
  yyaccept = 2;
12478
59.5k
  yych = *(YYMARKER = ++YYCURSOR);
12479
59.5k
  if (yych <= 'G') {
12480
11.5k
    if (yych <= '-') {
12481
7.12k
      if (yych == ')') goto yy115;
12482
5.92k
      if (yych <= ',') goto yy20;
12483
1.75k
      goto yy297;
12484
5.92k
    } else {
12485
4.38k
      if (yych == '/') goto yy297;
12486
2.93k
      if (yych <= '@') goto yy20;
12487
692
      goto yy658;
12488
2.93k
    }
12489
48.0k
  } else {
12490
48.0k
    if (yych <= '_') {
12491
19.4k
      if (yych <= 'H') goto yy674;
12492
6.08k
      if (yych <= 'Z') goto yy658;
12493
2.45k
      if (yych <= '^') goto yy20;
12494
1.72k
      goto yy297;
12495
28.5k
    } else {
12496
28.5k
      if (yych <= 'g') {
12497
2.65k
        if (yych <= '`') goto yy20;
12498
1.00k
        goto yy663;
12499
25.9k
      } else {
12500
25.9k
        if (yych <= 'h') goto yy680;
12501
7.90k
        if (yych <= 'z') goto yy663;
12502
3.87k
        goto yy20;
12503
7.90k
      }
12504
28.5k
    }
12505
48.0k
  }
12506
90.1k
yy498:
12507
90.1k
  YYDEBUG(498, *YYCURSOR);
12508
90.1k
  yyaccept = 2;
12509
90.1k
  yych = *(YYMARKER = ++YYCURSOR);
12510
90.1k
  if (yych <= 'S') {
12511
19.6k
    if (yych <= '-') {
12512
6.55k
      if (yych == ')') goto yy115;
12513
4.82k
      if (yych <= ',') goto yy20;
12514
810
      goto yy297;
12515
13.1k
    } else {
12516
13.1k
      if (yych == '/') goto yy297;
12517
9.57k
      if (yych <= '@') goto yy20;
12518
4.27k
      goto yy658;
12519
9.57k
    }
12520
70.4k
  } else {
12521
70.4k
    if (yych <= '_') {
12522
9.06k
      if (yych <= 'T') goto yy675;
12523
6.32k
      if (yych <= 'Z') goto yy658;
12524
4.02k
      if (yych <= '^') goto yy20;
12525
583
      goto yy297;
12526
61.3k
    } else {
12527
61.3k
      if (yych <= 's') {
12528
5.41k
        if (yych <= '`') goto yy20;
12529
4.18k
        goto yy663;
12530
55.9k
      } else {
12531
55.9k
        if (yych <= 't') goto yy681;
12532
4.70k
        if (yych <= 'z') goto yy663;
12533
2.64k
        goto yy20;
12534
4.70k
      }
12535
61.3k
    }
12536
70.4k
  }
12537
145k
yy499:
12538
145k
  YYDEBUG(499, *YYCURSOR);
12539
145k
  yyaccept = 2;
12540
145k
  yych = *(YYMARKER = ++YYCURSOR);
12541
145k
  if (yych <= 'S') {
12542
25.2k
    if (yych <= '-') {
12543
11.4k
      if (yych == ')') goto yy115;
12544
9.39k
      if (yych <= ',') goto yy20;
12545
2.41k
      goto yy297;
12546
13.8k
    } else {
12547
13.8k
      if (yych == '/') goto yy297;
12548
10.6k
      if (yych <= '@') goto yy20;
12549
2.63k
      goto yy658;
12550
10.6k
    }
12551
120k
  } else {
12552
120k
    if (yych <= '_') {
12553
15.8k
      if (yych <= 'T') goto yy676;
12554
2.56k
      if (yych <= 'Z') goto yy658;
12555
1.49k
      if (yych <= '^') goto yy20;
12556
661
      goto yy297;
12557
104k
    } else {
12558
104k
      if (yych <= 's') {
12559
7.25k
        if (yych <= '`') goto yy20;
12560
6.62k
        goto yy663;
12561
97.6k
      } else {
12562
97.6k
        if (yych <= 't') goto yy682;
12563
7.27k
        if (yych <= 'z') goto yy663;
12564
4.30k
        goto yy20;
12565
7.27k
      }
12566
104k
    }
12567
120k
  }
12568
136k
yy500:
12569
136k
  YYDEBUG(500, *YYCURSOR);
12570
136k
  yyaccept = 2;
12571
136k
  yych = *(YYMARKER = ++YYCURSOR);
12572
136k
  if (yych <= '@') {
12573
30.8k
    if (yych <= ',') {
12574
13.1k
      if (yych == ')') goto yy115;
12575
9.57k
      goto yy20;
12576
17.7k
    } else {
12577
17.7k
      if (yych == '.') goto yy20;
12578
14.7k
      if (yych <= '/') goto yy297;
12579
7.14k
      goto yy20;
12580
14.7k
    }
12581
105k
  } else {
12582
105k
    if (yych <= '_') {
12583
16.4k
      if (yych <= 'A') goto yy677;
12584
11.4k
      if (yych <= 'Z') goto yy658;
12585
4.27k
      if (yych <= '^') goto yy20;
12586
1.97k
      goto yy297;
12587
88.9k
    } else {
12588
88.9k
      if (yych <= '`') goto yy20;
12589
86.7k
      if (yych <= 'a') goto yy683;
12590
15.8k
      if (yych <= 'z') goto yy663;
12591
6.88k
      goto yy20;
12592
15.8k
    }
12593
105k
  }
12594
159k
yy501:
12595
159k
  YYDEBUG(501, *YYCURSOR);
12596
159k
  yyaccept = 2;
12597
159k
  yych = *(YYMARKER = ++YYCURSOR);
12598
159k
  if (yych <= 'S') {
12599
35.1k
    if (yych <= '-') {
12600
20.5k
      if (yych == ')') goto yy115;
12601
17.0k
      if (yych <= ',') goto yy20;
12602
5.90k
      goto yy297;
12603
17.0k
    } else {
12604
14.5k
      if (yych == '/') goto yy297;
12605
12.4k
      if (yych <= '@') goto yy20;
12606
4.49k
      goto yy658;
12607
12.4k
    }
12608
124k
  } else {
12609
124k
    if (yych <= '_') {
12610
11.2k
      if (yych <= 'T') goto yy678;
12611
6.55k
      if (yych <= 'Z') goto yy658;
12612
3.59k
      if (yych <= '^') goto yy20;
12613
1.91k
      goto yy297;
12614
113k
    } else {
12615
113k
      if (yych <= 's') {
12616
11.5k
        if (yych <= '`') goto yy20;
12617
8.29k
        goto yy663;
12618
101k
      } else {
12619
101k
        if (yych <= 't') goto yy684;
12620
10.7k
        if (yych <= 'z') goto yy663;
12621
6.17k
        goto yy20;
12622
10.7k
      }
12623
113k
    }
12624
124k
  }
12625
154k
yy502:
12626
154k
  YYDEBUG(502, *YYCURSOR);
12627
154k
  yych = *++YYCURSOR;
12628
154k
  if (yych <= '/') goto yy59;
12629
143k
  if (yych <= '1') goto yy685;
12630
70.6k
  if (yych <= '2') goto yy686;
12631
43.8k
  if (yych <= '9') goto yy687;
12632
21.9k
  goto yy59;
12633
62.2k
yy503:
12634
62.2k
  YYDEBUG(503, *YYCURSOR);
12635
62.2k
  yych = *++YYCURSOR;
12636
62.2k
  if (yych <= '/') {
12637
41.2k
    if (yych == '.') goto yy688;
12638
5.33k
    goto yy59;
12639
41.2k
  } else {
12640
20.9k
    if (yych <= '0') goto yy689;
12641
17.9k
    if (yych <= '9') goto yy506;
12642
11.9k
    if (yych <= ':') goto yy688;
12643
5.87k
    goto yy59;
12644
11.9k
  }
12645
53.0k
yy504:
12646
53.0k
  YYDEBUG(504, *YYCURSOR);
12647
53.0k
  yych = *++YYCURSOR;
12648
53.0k
  if (yych <= '/') {
12649
14.1k
    if (yych == '.') goto yy690;
12650
8.11k
    goto yy59;
12651
38.8k
  } else {
12652
38.8k
    if (yych <= '2') goto yy506;
12653
20.6k
    if (yych <= '9') goto yy689;
12654
18.8k
    if (yych <= ':') goto yy690;
12655
4.55k
    goto yy59;
12656
18.8k
  }
12657
33.8k
yy505:
12658
33.8k
  YYDEBUG(505, *YYCURSOR);
12659
33.8k
  yych = *++YYCURSOR;
12660
33.8k
  if (yych <= '/') {
12661
19.4k
    if (yych == '.') goto yy690;
12662
6.61k
    goto yy59;
12663
19.4k
  } else {
12664
14.3k
    if (yych <= '4') goto yy689;
12665
10.2k
    if (yych == ':') goto yy690;
12666
2.98k
    goto yy59;
12667
10.2k
  }
12668
52.5k
yy506:
12669
52.5k
  YYDEBUG(506, *YYCURSOR);
12670
52.5k
  yych = *++YYCURSOR;
12671
52.5k
  if (yych == '.') goto yy690;
12672
38.5k
  if (yych == ':') goto yy690;
12673
18.9k
  goto yy59;
12674
63.9k
yy507:
12675
63.9k
  YYDEBUG(507, *YYCURSOR);
12676
63.9k
  yych = *++YYCURSOR;
12677
63.9k
  if (yych <= '/') goto yy59;
12678
58.8k
  if (yych <= '1') goto yy691;
12679
37.2k
  if (yych <= '2') goto yy692;
12680
24.2k
  if (yych <= '9') goto yy689;
12681
12.3k
  goto yy59;
12682
366k
yy508:
12683
366k
  YYDEBUG(508, *YYCURSOR);
12684
366k
  yyaccept = 10;
12685
366k
  yych = *(YYMARKER = ++YYCURSOR);
12686
366k
  if (yych <= '/') {
12687
106k
    if (yych == '.') goto yy688;
12688
18.1k
    goto yy325;
12689
260k
  } else {
12690
260k
    if (yych <= '0') goto yy693;
12691
209k
    if (yych <= '9') goto yy694;
12692
90.0k
    if (yych <= ':') goto yy688;
12693
19.6k
    goto yy325;
12694
90.0k
  }
12695
281k
yy509:
12696
281k
  YYDEBUG(509, *YYCURSOR);
12697
281k
  yyaccept = 10;
12698
281k
  yych = *(YYMARKER = ++YYCURSOR);
12699
281k
  if (yych <= '/') {
12700
73.6k
    if (yych == '.') goto yy690;
12701
18.9k
    goto yy325;
12702
207k
  } else {
12703
207k
    if (yych <= '2') goto yy694;
12704
133k
    if (yych <= '9') goto yy693;
12705
106k
    if (yych <= ':') goto yy690;
12706
27.2k
    goto yy325;
12707
106k
  }
12708
190k
yy510:
12709
190k
  YYDEBUG(510, *YYCURSOR);
12710
190k
  yyaccept = 10;
12711
190k
  yych = *(YYMARKER = ++YYCURSOR);
12712
190k
  if (yych <= '/') {
12713
29.8k
    if (yych == '.') goto yy690;
12714
9.61k
    goto yy325;
12715
160k
  } else {
12716
160k
    if (yych <= '4') goto yy693;
12717
115k
    if (yych <= '9') goto yy695;
12718
105k
    if (yych <= ':') goto yy690;
12719
13.1k
    goto yy325;
12720
105k
  }
12721
363k
yy511:
12722
363k
  YYDEBUG(511, *YYCURSOR);
12723
363k
  yyaccept = 10;
12724
363k
  yych = *(YYMARKER = ++YYCURSOR);
12725
363k
  if (yych <= '/') {
12726
190k
    if (yych == '.') goto yy690;
12727
13.5k
    goto yy325;
12728
190k
  } else {
12729
172k
    if (yych <= '9') goto yy695;
12730
137k
    if (yych <= ':') goto yy690;
12731
39.4k
    goto yy325;
12732
137k
  }
12733
208k
yy512:
12734
208k
  YYDEBUG(512, *YYCURSOR);
12735
208k
  yych = *++YYCURSOR;
12736
208k
  if (yych <= '/') goto yy59;
12737
166k
  if (yych <= '9') goto yy696;
12738
62.3k
  goto yy59;
12739
62.3k
yy513:
12740
15.9k
  YYDEBUG(513, *YYCURSOR);
12741
15.9k
  yyaccept = 10;
12742
15.9k
  yych = *(YYMARKER = ++YYCURSOR);
12743
15.9k
  if (yych <= 0x00) goto yy324;
12744
14.6k
  goto yy327;
12745
70.7k
yy514:
12746
70.7k
  YYDEBUG(514, *YYCURSOR);
12747
70.7k
  yych = *++YYCURSOR;
12748
70.7k
  if (yych <= 'A') {
12749
20.1k
    if (yych == ')') goto yy115;
12750
18.7k
    if (yych <= '@') goto yy20;
12751
14.0k
    goto yy698;
12752
50.5k
  } else {
12753
50.5k
    if (yych <= '`') {
12754
8.23k
      if (yych <= 'Z') goto yy658;
12755
3.95k
      goto yy20;
12756
42.3k
    } else {
12757
42.3k
      if (yych <= 'a') goto yy698;
12758
8.22k
      if (yych <= 'z') goto yy658;
12759
4.97k
      goto yy20;
12760
8.22k
    }
12761
50.5k
  }
12762
42.8k
yy515:
12763
42.8k
  YYDEBUG(515, *YYCURSOR);
12764
42.8k
  yyaccept = 7;
12765
42.8k
  yych = *(YYMARKER = ++YYCURSOR);
12766
42.8k
  if (yych <= ',') {
12767
13.1k
    if (yych <= 0x1F) {
12768
3.47k
      if (yych == '\t') goto yy142;
12769
1.53k
      goto yy295;
12770
9.67k
    } else {
12771
9.67k
      if (yych <= ' ') goto yy142;
12772
8.04k
      if (yych == ')') goto yy115;
12773
4.03k
      goto yy295;
12774
8.04k
    }
12775
29.7k
  } else {
12776
29.7k
    if (yych <= '@') {
12777
8.78k
      if (yych == '/') goto yy295;
12778
7.77k
      if (yych <= '9') goto yy142;
12779
2.56k
      goto yy295;
12780
20.9k
    } else {
12781
20.9k
      if (yych <= 'Z') goto yy658;
12782
18.5k
      if (yych <= '`') goto yy295;
12783
15.7k
      if (yych <= 'z') goto yy658;
12784
4.96k
      goto yy295;
12785
15.7k
    }
12786
29.7k
  }
12787
115k
yy516:
12788
115k
  YYDEBUG(516, *YYCURSOR);
12789
115k
  yyaccept = 2;
12790
115k
  yych = *(YYMARKER = ++YYCURSOR);
12791
115k
  if (yych <= '@') {
12792
17.7k
    if (yych <= ',') {
12793
7.73k
      if (yych == ')') goto yy115;
12794
5.65k
      goto yy20;
12795
10.0k
    } else {
12796
10.0k
      if (yych == '.') goto yy20;
12797
6.47k
      if (yych <= '/') goto yy297;
12798
4.98k
      goto yy20;
12799
6.47k
    }
12800
97.3k
  } else {
12801
97.3k
    if (yych <= '_') {
12802
12.1k
      if (yych <= 'A') goto yy698;
12803
8.31k
      if (yych <= 'Z') goto yy658;
12804
5.68k
      if (yych <= '^') goto yy20;
12805
2.43k
      goto yy297;
12806
85.1k
    } else {
12807
85.1k
      if (yych <= '`') goto yy20;
12808
83.8k
      if (yych <= 'a') goto yy699;
12809
22.1k
      if (yych <= 'z') goto yy663;
12810
9.45k
      goto yy20;
12811
22.1k
    }
12812
97.3k
  }
12813
62.8k
yy517:
12814
62.8k
  YYDEBUG(517, *YYCURSOR);
12815
62.8k
  yyaccept = 7;
12816
62.8k
  yych = *(YYMARKER = ++YYCURSOR);
12817
62.8k
  if (yych <= '.') {
12818
32.0k
    if (yych <= ' ') {
12819
5.64k
      if (yych == '\t') goto yy142;
12820
4.56k
      if (yych <= 0x1F) goto yy295;
12821
2.10k
      goto yy142;
12822
26.4k
    } else {
12823
26.4k
      if (yych <= ')') {
12824
12.3k
        if (yych <= '(') goto yy295;
12825
10.3k
        goto yy115;
12826
14.1k
      } else {
12827
14.1k
        if (yych <= ',') goto yy295;
12828
6.84k
        if (yych <= '-') goto yy700;
12829
600
        goto yy142;
12830
6.84k
      }
12831
26.4k
    }
12832
32.0k
  } else {
12833
30.8k
    if (yych <= 'Z') {
12834
16.7k
      if (yych <= '/') goto yy297;
12835
12.0k
      if (yych <= '9') goto yy142;
12836
7.38k
      if (yych <= '@') goto yy295;
12837
2.86k
      goto yy658;
12838
14.0k
    } else {
12839
14.0k
      if (yych <= '_') {
12840
5.41k
        if (yych <= '^') goto yy295;
12841
2.40k
        goto yy297;
12842
8.65k
      } else {
12843
8.65k
        if (yych <= '`') goto yy295;
12844
6.16k
        if (yych <= 'z') goto yy663;
12845
3.71k
        goto yy295;
12846
6.16k
      }
12847
14.0k
    }
12848
30.8k
  }
12849
296k
yy518:
12850
296k
  YYDEBUG(518, *YYCURSOR);
12851
296k
  yyaccept = 2;
12852
296k
  yych = *(YYMARKER = ++YYCURSOR);
12853
296k
  if (yych <= '@') {
12854
199k
    if (yych <= 0x1F) {
12855
22.9k
      if (yych == '\t') goto yy701;
12856
11.6k
      goto yy20;
12857
176k
    } else {
12858
176k
      if (yych <= ' ') goto yy703;
12859
14.2k
      if (yych == ')') goto yy115;
12860
13.0k
      goto yy20;
12861
14.2k
    }
12862
199k
  } else {
12863
96.6k
    if (yych <= 0xC1) {
12864
36.5k
      if (yych <= 'Z') goto yy658;
12865
30.0k
      if (yych <= '`') goto yy20;
12866
20.8k
      if (yych <= 'z') goto yy658;
12867
10.1k
      goto yy20;
12868
60.1k
    } else {
12869
60.1k
      if (yych <= 0xC2) goto yy704;
12870
20.4k
      if (yych == 0xE2) goto yy705;
12871
4.34k
      goto yy20;
12872
20.4k
    }
12873
96.6k
  }
12874
94.2k
yy519:
12875
94.2k
  YYDEBUG(519, *YYCURSOR);
12876
94.2k
  yyaccept = 2;
12877
94.2k
  yych = *(YYMARKER = ++YYCURSOR);
12878
94.2k
  if (yych <= '/') {
12879
48.5k
    if (yych <= '(') {
12880
40.8k
      if (yych <= '\t') {
12881
16.5k
        if (yych <= 0x08) goto yy20;
12882
14.6k
        goto yy701;
12883
24.2k
      } else {
12884
24.2k
        if (yych == ' ') goto yy703;
12885
8.08k
        goto yy20;
12886
24.2k
      }
12887
40.8k
    } else {
12888
7.67k
      if (yych <= ',') {
12889
4.17k
        if (yych <= ')') goto yy115;
12890
1.04k
        goto yy20;
12891
4.17k
      } else {
12892
3.49k
        if (yych == '.') goto yy20;
12893
2.02k
        goto yy297;
12894
3.49k
      }
12895
7.67k
    }
12896
48.5k
  } else {
12897
45.7k
    if (yych <= '`') {
12898
18.6k
      if (yych <= 'Z') {
12899
7.71k
        if (yych <= '@') goto yy20;
12900
3.69k
        goto yy658;
12901
10.9k
      } else {
12902
10.9k
        if (yych == '_') goto yy297;
12903
7.77k
        goto yy20;
12904
10.9k
      }
12905
27.1k
    } else {
12906
27.1k
      if (yych <= 0xC2) {
12907
13.8k
        if (yych <= 'z') goto yy663;
12908
10.9k
        if (yych <= 0xC1) goto yy20;
12909
9.08k
        goto yy704;
12910
13.3k
      } else {
12911
13.3k
        if (yych == 0xE2) goto yy705;
12912
2.80k
        goto yy20;
12913
13.3k
      }
12914
27.1k
    }
12915
45.7k
  }
12916
56.9k
yy520:
12917
56.9k
  YYDEBUG(520, *YYCURSOR);
12918
56.9k
  yych = *++YYCURSOR;
12919
56.9k
  if (yych <= 'H') {
12920
35.6k
    if (yych <= ')') {
12921
12.8k
      if (yych <= '(') goto yy20;
12922
9.16k
      goto yy115;
12923
22.8k
    } else {
12924
22.8k
      if (yych <= '@') goto yy20;
12925
16.7k
      if (yych <= 'G') goto yy658;
12926
14.5k
      goto yy661;
12927
16.7k
    }
12928
35.6k
  } else {
12929
21.2k
    if (yych <= 'g') {
12930
11.7k
      if (yych <= 'Z') goto yy658;
12931
8.82k
      if (yych <= '`') goto yy20;
12932
6.33k
      goto yy658;
12933
9.50k
    } else {
12934
9.50k
      if (yych <= 'h') goto yy661;
12935
4.44k
      if (yych <= 'z') goto yy658;
12936
1.79k
      goto yy20;
12937
4.44k
    }
12938
21.2k
  }
12939
69.0k
yy521:
12940
69.0k
  YYDEBUG(521, *YYCURSOR);
12941
69.0k
  yych = *++YYCURSOR;
12942
69.0k
  if (yych <= 'I') {
12943
33.4k
    if (yych <= ')') {
12944
10.0k
      if (yych <= '(') goto yy20;
12945
3.48k
      goto yy115;
12946
23.4k
    } else {
12947
23.4k
      if (yych <= '@') goto yy20;
12948
19.8k
      if (yych <= 'H') goto yy658;
12949
16.4k
      goto yy706;
12950
19.8k
    }
12951
35.6k
  } else {
12952
35.6k
    if (yych <= 'h') {
12953
7.06k
      if (yych <= 'Z') goto yy658;
12954
4.71k
      if (yych <= '`') goto yy20;
12955
1.73k
      goto yy658;
12956
28.5k
    } else {
12957
28.5k
      if (yych <= 'i') goto yy706;
12958
5.70k
      if (yych <= 'z') goto yy658;
12959
4.22k
      goto yy20;
12960
5.70k
    }
12961
35.6k
  }
12962
57.9k
yy522:
12963
57.9k
  YYDEBUG(522, *YYCURSOR);
12964
57.9k
  yyaccept = 2;
12965
57.9k
  yych = *(YYMARKER = ++YYCURSOR);
12966
57.9k
  if (yych <= 'G') {
12967
20.8k
    if (yych <= '-') {
12968
13.4k
      if (yych == ')') goto yy115;
12969
10.3k
      if (yych <= ',') goto yy20;
12970
1.03k
      goto yy297;
12971
10.3k
    } else {
12972
7.44k
      if (yych == '/') goto yy297;
12973
6.44k
      if (yych <= '@') goto yy20;
12974
1.80k
      goto yy658;
12975
6.44k
    }
12976
37.1k
  } else {
12977
37.1k
    if (yych <= '_') {
12978
15.3k
      if (yych <= 'H') goto yy661;
12979
10.9k
      if (yych <= 'Z') goto yy658;
12980
3.34k
      if (yych <= '^') goto yy20;
12981
1.72k
      goto yy297;
12982
21.8k
    } else {
12983
21.8k
      if (yych <= 'g') {
12984
2.85k
        if (yych <= '`') goto yy20;
12985
1.36k
        goto yy663;
12986
18.9k
      } else {
12987
18.9k
        if (yych <= 'h') goto yy664;
12988
9.82k
        if (yych <= 'z') goto yy663;
12989
3.73k
        goto yy20;
12990
9.82k
      }
12991
21.8k
    }
12992
37.1k
  }
12993
152k
yy523:
12994
152k
  YYDEBUG(523, *YYCURSOR);
12995
152k
  yyaccept = 2;
12996
152k
  yych = *(YYMARKER = ++YYCURSOR);
12997
152k
  if (yych <= 'H') {
12998
34.3k
    if (yych <= '-') {
12999
20.2k
      if (yych == ')') goto yy115;
13000
17.6k
      if (yych <= ',') goto yy20;
13001
12.0k
      goto yy297;
13002
17.6k
    } else {
13003
14.1k
      if (yych == '/') goto yy297;
13004
13.0k
      if (yych <= '@') goto yy20;
13005
3.77k
      goto yy658;
13006
13.0k
    }
13007
117k
  } else {
13008
117k
    if (yych <= '_') {
13009
16.1k
      if (yych <= 'I') goto yy706;
13010
6.56k
      if (yych <= 'Z') goto yy658;
13011
4.01k
      if (yych <= '^') goto yy20;
13012
1.91k
      goto yy297;
13013
101k
    } else {
13014
101k
      if (yych <= 'h') {
13015
4.84k
        if (yych <= '`') goto yy20;
13016
2.65k
        goto yy663;
13017
96.7k
      } else {
13018
96.7k
        if (yych <= 'i') goto yy707;
13019
6.30k
        if (yych <= 'z') goto yy663;
13020
3.22k
        goto yy20;
13021
6.30k
      }
13022
101k
    }
13023
117k
  }
13024
327k
yy524:
13025
327k
  YYDEBUG(524, *YYCURSOR);
13026
327k
  yyaccept = 2;
13027
327k
  yych = *(YYMARKER = ++YYCURSOR);
13028
327k
  if (yych <= '@') {
13029
202k
    if (yych <= 0x1F) {
13030
91.4k
      if (yych == '\t') goto yy701;
13031
17.6k
      goto yy20;
13032
110k
    } else {
13033
110k
      if (yych <= ' ') goto yy701;
13034
24.2k
      if (yych == ')') goto yy115;
13035
22.8k
      goto yy20;
13036
24.2k
    }
13037
202k
  } else {
13038
125k
    if (yych <= 0xC1) {
13039
37.2k
      if (yych <= 'Z') goto yy658;
13040
22.5k
      if (yych <= '`') goto yy20;
13041
14.2k
      if (yych <= 'z') goto yy658;
13042
5.95k
      goto yy20;
13043
87.9k
    } else {
13044
87.9k
      if (yych <= 0xC2) goto yy704;
13045
80.7k
      if (yych == 0xE2) goto yy705;
13046
16.4k
      goto yy20;
13047
80.7k
    }
13048
125k
  }
13049
21.8k
yy525:
13050
21.8k
  YYDEBUG(525, *YYCURSOR);
13051
21.8k
  yych = *++YYCURSOR;
13052
21.8k
  if (yych <= '@') {
13053
5.34k
    if (yych == ')') goto yy115;
13054
16.4k
  } else {
13055
16.4k
    if (yych <= 'Z') goto yy658;
13056
12.2k
    if (yych <= '`') goto yy526;
13057
9.66k
    if (yych <= 'z') goto yy658;
13058
9.66k
  }
13059
32.8k
yy526:
13060
32.8k
  YYDEBUG(526, *YYCURSOR);
13061
32.8k
#line 1187 "ext/date/lib/parse_date.re"
13062
32.8k
  {
13063
32.8k
    DEBUG_OUTPUT("noon");
13064
32.8k
    TIMELIB_INIT;
13065
32.8k
    TIMELIB_UNHAVE_TIME();
13066
32.8k
    TIMELIB_HAVE_TIME();
13067
32.8k
    s->time->h = 12;
13068
13069
32.8k
    TIMELIB_DEINIT;
13070
32.8k
    return TIMELIB_RELATIVE;
13071
32.8k
  }
13072
0
#line 13073 "ext/date/lib/parse_date.c"
13073
139k
yy527:
13074
139k
  YYDEBUG(527, *YYCURSOR);
13075
139k
  yyaccept = 2;
13076
139k
  yych = *(YYMARKER = ++YYCURSOR);
13077
139k
  if (yych <= '/') {
13078
64.4k
    if (yych <= '(') {
13079
57.4k
      if (yych <= '\t') {
13080
18.2k
        if (yych <= 0x08) goto yy20;
13081
11.8k
        goto yy701;
13082
39.2k
      } else {
13083
39.2k
        if (yych == ' ') goto yy701;
13084
3.26k
        goto yy20;
13085
39.2k
      }
13086
57.4k
    } else {
13087
7.04k
      if (yych <= ',') {
13088
3.40k
        if (yych <= ')') goto yy115;
13089
2.25k
        goto yy20;
13090
3.64k
      } else {
13091
3.64k
        if (yych == '.') goto yy20;
13092
2.07k
        goto yy297;
13093
3.64k
      }
13094
7.04k
    }
13095
75.4k
  } else {
13096
75.4k
    if (yych <= '`') {
13097
24.5k
      if (yych <= 'Z') {
13098
20.5k
        if (yych <= '@') goto yy20;
13099
17.2k
        goto yy658;
13100
20.5k
      } else {
13101
3.95k
        if (yych == '_') goto yy297;
13102
2.14k
        goto yy20;
13103
3.95k
      }
13104
50.8k
    } else {
13105
50.8k
      if (yych <= 0xC2) {
13106
37.2k
        if (yych <= 'z') goto yy663;
13107
31.3k
        if (yych <= 0xC1) goto yy20;
13108
24.4k
        goto yy704;
13109
31.3k
      } else {
13110
13.5k
        if (yych == 0xE2) goto yy705;
13111
4.27k
        goto yy20;
13112
13.5k
      }
13113
50.8k
    }
13114
75.4k
  }
13115
29.6k
yy528:
13116
29.6k
  YYDEBUG(528, *YYCURSOR);
13117
29.6k
  yyaccept = 14;
13118
29.6k
  yych = *(YYMARKER = ++YYCURSOR);
13119
29.6k
  if (yych <= '/') {
13120
8.33k
    if (yych <= ',') {
13121
2.69k
      if (yych == ')') goto yy115;
13122
1.50k
      goto yy526;
13123
5.64k
    } else {
13124
5.64k
      if (yych == '.') goto yy526;
13125
4.35k
      goto yy297;
13126
5.64k
    }
13127
21.3k
  } else {
13128
21.3k
    if (yych <= '^') {
13129
12.4k
      if (yych <= '@') goto yy526;
13130
4.19k
      if (yych <= 'Z') goto yy658;
13131
2.03k
      goto yy526;
13132
8.82k
    } else {
13133
8.82k
      if (yych <= '_') goto yy297;
13134
7.76k
      if (yych <= '`') goto yy526;
13135
6.82k
      if (yych <= 'z') goto yy663;
13136
3.03k
      goto yy526;
13137
6.82k
    }
13138
21.3k
  }
13139
65.7k
yy529:
13140
65.7k
  YYDEBUG(529, *YYCURSOR);
13141
65.7k
  yych = *++YYCURSOR;
13142
65.7k
  if (yych <= 'B') {
13143
22.8k
    if (yych <= ')') {
13144
3.93k
      if (yych <= '(') goto yy20;
13145
1.44k
      goto yy115;
13146
18.9k
    } else {
13147
18.9k
      if (yych <= '@') goto yy20;
13148
12.2k
      if (yych <= 'A') goto yy658;
13149
11.4k
      goto yy708;
13150
12.2k
    }
13151
42.8k
  } else {
13152
42.8k
    if (yych <= 'a') {
13153
10.4k
      if (yych <= 'Z') goto yy658;
13154
6.89k
      if (yych <= '`') goto yy20;
13155
948
      goto yy658;
13156
32.4k
    } else {
13157
32.4k
      if (yych <= 'b') goto yy708;
13158
6.67k
      if (yych <= 'z') goto yy658;
13159
3.97k
      goto yy20;
13160
6.67k
    }
13161
42.8k
  }
13162
136k
yy530:
13163
136k
  YYDEBUG(530, *YYCURSOR);
13164
136k
  yyaccept = 2;
13165
136k
  yych = *(YYMARKER = ++YYCURSOR);
13166
136k
  if (yych <= 'A') {
13167
24.6k
    if (yych <= '-') {
13168
10.8k
      if (yych == ')') goto yy115;
13169
8.76k
      if (yych <= ',') goto yy20;
13170
2.58k
      goto yy297;
13171
13.8k
    } else {
13172
13.8k
      if (yych == '/') goto yy297;
13173
11.9k
      if (yych <= '@') goto yy20;
13174
1.03k
      goto yy658;
13175
11.9k
    }
13176
111k
  } else {
13177
111k
    if (yych <= '_') {
13178
15.3k
      if (yych <= 'B') goto yy708;
13179
6.13k
      if (yych <= 'Z') goto yy658;
13180
3.14k
      if (yych <= '^') goto yy20;
13181
1.61k
      goto yy297;
13182
96.5k
    } else {
13183
96.5k
      if (yych <= 'a') {
13184
7.52k
        if (yych <= '`') goto yy20;
13185
3.69k
        goto yy663;
13186
89.0k
      } else {
13187
89.0k
        if (yych <= 'b') goto yy709;
13188
18.4k
        if (yych <= 'z') goto yy663;
13189
9.46k
        goto yy20;
13190
18.4k
      }
13191
96.5k
    }
13192
111k
  }
13193
159k
yy531:
13194
159k
  YYDEBUG(531, *YYCURSOR);
13195
159k
  yych = *++YYCURSOR;
13196
159k
  if (yych <= 'I') {
13197
27.4k
    if (yych <= ')') {
13198
6.54k
      if (yych <= '(') goto yy20;
13199
1.65k
      goto yy115;
13200
20.9k
    } else {
13201
20.9k
      if (yych <= '@') goto yy20;
13202
16.7k
      if (yych <= 'H') goto yy658;
13203
14.3k
      goto yy710;
13204
16.7k
    }
13205
131k
  } else {
13206
131k
    if (yych <= 'h') {
13207
8.04k
      if (yych <= 'Z') goto yy658;
13208
7.09k
      if (yych <= '`') goto yy20;
13209
5.64k
      goto yy658;
13210
123k
    } else {
13211
123k
      if (yych <= 'i') goto yy710;
13212
7.23k
      if (yych <= 'z') goto yy658;
13213
4.35k
      goto yy20;
13214
7.23k
    }
13215
131k
  }
13216
160k
yy532:
13217
160k
  YYDEBUG(532, *YYCURSOR);
13218
160k
  yyaccept = 2;
13219
160k
  yych = *(YYMARKER = ++YYCURSOR);
13220
160k
  if (yych <= 'H') {
13221
23.2k
    if (yych <= '-') {
13222
13.3k
      if (yych == ')') goto yy115;
13223
11.4k
      if (yych <= ',') goto yy20;
13224
3.41k
      goto yy297;
13225
11.4k
    } else {
13226
9.93k
      if (yych == '/') goto yy297;
13227
7.38k
      if (yych <= '@') goto yy20;
13228
1.20k
      goto yy658;
13229
7.38k
    }
13230
136k
  } else {
13231
136k
    if (yych <= '_') {
13232
19.7k
      if (yych <= 'I') goto yy710;
13233
13.6k
      if (yych <= 'Z') goto yy658;
13234
11.1k
      if (yych <= '^') goto yy20;
13235
2.70k
      goto yy297;
13236
117k
    } else {
13237
117k
      if (yych <= 'h') {
13238
6.40k
        if (yych <= '`') goto yy20;
13239
4.99k
        goto yy663;
13240
110k
      } else {
13241
110k
        if (yych <= 'i') goto yy711;
13242
15.3k
        if (yych <= 'z') goto yy663;
13243
11.1k
        goto yy20;
13244
15.3k
      }
13245
117k
    }
13246
136k
  }
13247
63.9k
yy533:
13248
63.9k
  YYDEBUG(533, *YYCURSOR);
13249
63.9k
  yych = *++YYCURSOR;
13250
63.9k
  if (yych <= 'R') {
13251
19.4k
    if (yych <= ')') {
13252
3.83k
      if (yych <= '(') goto yy20;
13253
1.15k
      goto yy115;
13254
15.5k
    } else {
13255
15.5k
      if (yych <= '@') goto yy20;
13256
7.53k
      if (yych <= 'Q') goto yy658;
13257
5.52k
      goto yy712;
13258
7.53k
    }
13259
44.5k
  } else {
13260
44.5k
    if (yych <= 'q') {
13261
7.84k
      if (yych <= 'Z') goto yy658;
13262
4.98k
      if (yych <= '`') goto yy20;
13263
2.94k
      goto yy658;
13264
36.7k
    } else {
13265
36.7k
      if (yych <= 'r') goto yy712;
13266
16.2k
      if (yych <= 'z') goto yy658;
13267
9.77k
      goto yy20;
13268
16.2k
    }
13269
44.5k
  }
13270
74.7k
yy534:
13271
74.7k
  YYDEBUG(534, *YYCURSOR);
13272
74.7k
  yych = *++YYCURSOR;
13273
74.7k
  if (yych <= 'N') {
13274
36.8k
    if (yych <= ')') {
13275
13.4k
      if (yych <= '(') goto yy20;
13276
5.69k
      goto yy115;
13277
23.3k
    } else {
13278
23.3k
      if (yych <= '@') goto yy20;
13279
17.3k
      if (yych <= 'M') goto yy658;
13280
14.7k
      goto yy713;
13281
17.3k
    }
13282
37.9k
  } else {
13283
37.9k
    if (yych <= 'm') {
13284
7.55k
      if (yych <= 'Z') goto yy658;
13285
4.02k
      if (yych <= '`') goto yy20;
13286
2.22k
      goto yy658;
13287
30.3k
    } else {
13288
30.3k
      if (yych <= 'n') goto yy713;
13289
6.05k
      if (yych <= 'z') goto yy658;
13290
3.75k
      goto yy20;
13291
6.05k
    }
13292
37.9k
  }
13293
109k
yy535:
13294
109k
  YYDEBUG(535, *YYCURSOR);
13295
109k
  yyaccept = 7;
13296
109k
  yych = *(YYMARKER = ++YYCURSOR);
13297
109k
  if (yych <= '/') {
13298
34.3k
    if (yych <= '(') {
13299
19.4k
      if (yych <= '\t') {
13300
10.1k
        if (yych <= 0x08) goto yy295;
13301
3.27k
        goto yy142;
13302
10.1k
      } else {
13303
9.27k
        if (yych == ' ') goto yy142;
13304
4.15k
        goto yy295;
13305
9.27k
      }
13306
19.4k
    } else {
13307
14.9k
      if (yych <= ',') {
13308
3.76k
        if (yych <= ')') goto yy115;
13309
2.32k
        goto yy295;
13310
11.1k
      } else {
13311
11.1k
        if (yych <= '-') goto yy473;
13312
5.46k
        if (yych <= '.') goto yy142;
13313
3.56k
        goto yy295;
13314
5.46k
      }
13315
14.9k
    }
13316
75.4k
  } else {
13317
75.4k
    if (yych <= 'Z') {
13318
34.7k
      if (yych <= '@') {
13319
23.1k
        if (yych <= '9') goto yy142;
13320
3.65k
        goto yy295;
13321
23.1k
      } else {
13322
11.5k
        if (yych == 'E') goto yy714;
13323
3.50k
        goto yy658;
13324
11.5k
      }
13325
40.7k
    } else {
13326
40.7k
      if (yych <= 'd') {
13327
5.02k
        if (yych <= '`') goto yy295;
13328
1.74k
        goto yy658;
13329
35.6k
      } else {
13330
35.6k
        if (yych <= 'e') goto yy714;
13331
17.1k
        if (yych <= 'z') goto yy658;
13332
9.26k
        goto yy295;
13333
17.1k
      }
13334
40.7k
    }
13335
75.4k
  }
13336
54.2k
yy536:
13337
54.2k
  YYDEBUG(536, *YYCURSOR);
13338
54.2k
  yych = *++YYCURSOR;
13339
54.2k
  if (yych <= 'N') {
13340
20.2k
    if (yych <= ')') {
13341
9.86k
      if (yych <= '(') goto yy20;
13342
3.46k
      goto yy115;
13343
10.3k
    } else {
13344
10.3k
      if (yych <= '@') goto yy20;
13345
6.00k
      if (yych <= 'M') goto yy658;
13346
2.34k
      goto yy715;
13347
6.00k
    }
13348
33.9k
  } else {
13349
33.9k
    if (yych <= 'm') {
13350
5.57k
      if (yych <= 'Z') goto yy658;
13351
4.58k
      if (yych <= '`') goto yy20;
13352
3.05k
      goto yy658;
13353
28.3k
    } else {
13354
28.3k
      if (yych <= 'n') goto yy715;
13355
6.79k
      if (yych <= 'z') goto yy658;
13356
4.02k
      goto yy20;
13357
6.79k
    }
13358
33.9k
  }
13359
85.9k
yy537:
13360
85.9k
  YYDEBUG(537, *YYCURSOR);
13361
85.9k
  yyaccept = 2;
13362
85.9k
  yych = *(YYMARKER = ++YYCURSOR);
13363
85.9k
  if (yych <= 'Q') {
13364
18.3k
    if (yych <= '-') {
13365
7.56k
      if (yych == ')') goto yy115;
13366
6.61k
      if (yych <= ',') goto yy20;
13367
3.87k
      goto yy297;
13368
10.8k
    } else {
13369
10.8k
      if (yych == '/') goto yy297;
13370
9.36k
      if (yych <= '@') goto yy20;
13371
4.09k
      goto yy658;
13372
9.36k
    }
13373
67.5k
  } else {
13374
67.5k
    if (yych <= '_') {
13375
19.6k
      if (yych <= 'R') goto yy712;
13376
9.04k
      if (yych <= 'Z') goto yy658;
13377
4.92k
      if (yych <= '^') goto yy20;
13378
957
      goto yy297;
13379
47.9k
    } else {
13380
47.9k
      if (yych <= 'q') {
13381
5.75k
        if (yych <= '`') goto yy20;
13382
4.34k
        goto yy663;
13383
42.2k
      } else {
13384
42.2k
        if (yych <= 'r') goto yy716;
13385
17.6k
        if (yych <= 'z') goto yy663;
13386
7.97k
        goto yy20;
13387
17.6k
      }
13388
47.9k
    }
13389
67.5k
  }
13390
137k
yy538:
13391
137k
  YYDEBUG(538, *YYCURSOR);
13392
137k
  yyaccept = 2;
13393
137k
  yych = *(YYMARKER = ++YYCURSOR);
13394
137k
  if (yych <= 'M') {
13395
36.0k
    if (yych <= '-') {
13396
20.2k
      if (yych == ')') goto yy115;
13397
9.73k
      if (yych <= ',') goto yy20;
13398
2.07k
      goto yy297;
13399
15.8k
    } else {
13400
15.8k
      if (yych == '/') goto yy297;
13401
10.4k
      if (yych <= '@') goto yy20;
13402
2.39k
      goto yy658;
13403
10.4k
    }
13404
101k
  } else {
13405
101k
    if (yych <= '_') {
13406
21.5k
      if (yych <= 'N') goto yy713;
13407
9.44k
      if (yych <= 'Z') goto yy658;
13408
7.58k
      if (yych <= '^') goto yy20;
13409
827
      goto yy297;
13410
80.1k
    } else {
13411
80.1k
      if (yych <= 'm') {
13412
5.33k
        if (yych <= '`') goto yy20;
13413
4.31k
        goto yy663;
13414
74.8k
      } else {
13415
74.8k
        if (yych <= 'n') goto yy717;
13416
17.6k
        if (yych <= 'z') goto yy663;
13417
10.6k
        goto yy20;
13418
17.6k
      }
13419
80.1k
    }
13420
101k
  }
13421
185k
yy539:
13422
185k
  YYDEBUG(539, *YYCURSOR);
13423
185k
  yyaccept = 7;
13424
185k
  yych = *(YYMARKER = ++YYCURSOR);
13425
185k
  if (yych <= '9') {
13426
41.7k
    if (yych <= '(') {
13427
13.9k
      if (yych <= '\t') {
13428
6.21k
        if (yych <= 0x08) goto yy295;
13429
1.93k
        goto yy142;
13430
7.69k
      } else {
13431
7.69k
        if (yych == ' ') goto yy142;
13432
4.99k
        goto yy295;
13433
7.69k
      }
13434
27.8k
    } else {
13435
27.8k
      if (yych <= '-') {
13436
20.0k
        if (yych <= ')') goto yy115;
13437
16.9k
        if (yych <= ',') goto yy295;
13438
15.6k
        goto yy479;
13439
16.9k
      } else {
13440
7.83k
        if (yych == '/') goto yy297;
13441
4.70k
        goto yy142;
13442
7.83k
      }
13443
27.8k
    }
13444
143k
  } else {
13445
143k
    if (yych <= '^') {
13446
37.6k
      if (yych <= 'D') {
13447
11.0k
        if (yych <= '@') goto yy295;
13448
1.21k
        goto yy658;
13449
26.6k
      } else {
13450
26.6k
        if (yych <= 'E') goto yy714;
13451
7.92k
        if (yych <= 'Z') goto yy658;
13452
4.69k
        goto yy295;
13453
7.92k
      }
13454
105k
    } else {
13455
105k
      if (yych <= 'd') {
13456
7.27k
        if (yych <= '_') goto yy297;
13457
3.32k
        if (yych <= '`') goto yy295;
13458
1.15k
        goto yy663;
13459
98.6k
      } else {
13460
98.6k
        if (yych <= 'e') goto yy718;
13461
14.3k
        if (yych <= 'z') goto yy663;
13462
10.1k
        goto yy295;
13463
14.3k
      }
13464
105k
    }
13465
143k
  }
13466
104k
yy540:
13467
104k
  YYDEBUG(540, *YYCURSOR);
13468
104k
  yyaccept = 2;
13469
104k
  yych = *(YYMARKER = ++YYCURSOR);
13470
104k
  if (yych <= 'M') {
13471
16.7k
    if (yych <= '-') {
13472
8.95k
      if (yych == ')') goto yy115;
13473
6.75k
      if (yych <= ',') goto yy20;
13474
2.97k
      goto yy297;
13475
7.78k
    } else {
13476
7.78k
      if (yych == '/') goto yy297;
13477
5.78k
      if (yych <= '@') goto yy20;
13478
3.64k
      goto yy658;
13479
5.78k
    }
13480
87.9k
  } else {
13481
87.9k
    if (yych <= '_') {
13482
9.85k
      if (yych <= 'N') goto yy715;
13483
4.73k
      if (yych <= 'Z') goto yy658;
13484
1.69k
      if (yych <= '^') goto yy20;
13485
314
      goto yy297;
13486
78.0k
    } else {
13487
78.0k
      if (yych <= 'm') {
13488
6.11k
        if (yych <= '`') goto yy20;
13489
4.24k
        goto yy663;
13490
71.9k
      } else {
13491
71.9k
        if (yych <= 'n') goto yy719;
13492
6.03k
        if (yych <= 'z') goto yy663;
13493
3.14k
        goto yy20;
13494
6.03k
      }
13495
78.0k
    }
13496
87.9k
  }
13497
147k
yy541:
13498
147k
  YYDEBUG(541, *YYCURSOR);
13499
147k
  yych = *++YYCURSOR;
13500
147k
  if (yych <= '/') goto yy59;
13501
106k
  if (yych <= '9') goto yy720;
13502
31.2k
  goto yy59;
13503
77.0k
yy542:
13504
77.0k
  YYDEBUG(542, *YYCURSOR);
13505
77.0k
  yych = *++YYCURSOR;
13506
77.0k
  if (yych <= 'D') {
13507
32.7k
    if (yych <= ')') {
13508
9.06k
      if (yych <= '(') goto yy20;
13509
3.52k
      goto yy115;
13510
23.7k
    } else {
13511
23.7k
      if (yych <= '@') goto yy20;
13512
17.5k
      if (yych <= 'C') goto yy658;
13513
16.5k
      goto yy674;
13514
17.5k
    }
13515
44.2k
  } else {
13516
44.2k
    if (yych <= 'c') {
13517
7.84k
      if (yych <= 'Z') goto yy658;
13518
4.46k
      if (yych <= '`') goto yy20;
13519
1.53k
      goto yy658;
13520
36.4k
    } else {
13521
36.4k
      if (yych <= 'd') goto yy674;
13522
5.67k
      if (yych <= 'z') goto yy658;
13523
3.19k
      goto yy20;
13524
5.67k
    }
13525
44.2k
  }
13526
58.3k
yy543:
13527
58.3k
  YYDEBUG(543, *YYCURSOR);
13528
58.3k
  yych = *++YYCURSOR;
13529
58.3k
  if (yych <= 'S') {
13530
19.4k
    if (yych <= ')') {
13531
6.79k
      if (yych <= '(') goto yy20;
13532
1.76k
      goto yy115;
13533
12.6k
    } else {
13534
12.6k
      if (yych <= '@') goto yy20;
13535
9.87k
      if (yych <= 'R') goto yy658;
13536
5.23k
      goto yy712;
13537
9.87k
    }
13538
38.8k
  } else {
13539
38.8k
    if (yych <= 'r') {
13540
9.70k
      if (yych <= 'Z') goto yy658;
13541
5.57k
      if (yych <= '`') goto yy20;
13542
2.35k
      goto yy658;
13543
29.1k
    } else {
13544
29.1k
      if (yych <= 's') goto yy712;
13545
10.0k
      if (yych <= 'z') goto yy658;
13546
6.68k
      goto yy20;
13547
10.0k
    }
13548
38.8k
  }
13549
36.8k
yy544:
13550
36.8k
  YYDEBUG(544, *YYCURSOR);
13551
36.8k
  yych = *++YYCURSOR;
13552
36.8k
  if (yych <= 'Y') {
13553
21.1k
    if (yych <= ')') {
13554
10.3k
      if (yych <= '(') goto yy20;
13555
7.20k
      goto yy115;
13556
10.7k
    } else {
13557
10.7k
      if (yych <= '@') goto yy20;
13558
6.21k
      if (yych <= 'X') goto yy658;
13559
4.80k
      goto yy721;
13560
6.21k
    }
13561
21.1k
  } else {
13562
15.7k
    if (yych <= 'x') {
13563
7.67k
      if (yych <= 'Z') goto yy658;
13564
6.33k
      if (yych <= '`') goto yy20;
13565
4.68k
      goto yy658;
13566
8.09k
    } else {
13567
8.09k
      if (yych <= 'y') goto yy721;
13568
3.22k
      if (yych <= 'z') goto yy658;
13569
2.13k
      goto yy20;
13570
3.22k
    }
13571
15.7k
  }
13572
66.7k
yy545:
13573
66.7k
  YYDEBUG(545, *YYCURSOR);
13574
66.7k
  yych = *++YYCURSOR;
13575
66.7k
  if (yych <= 'R') {
13576
20.2k
    if (yych <= ')') {
13577
9.57k
      if (yych <= '(') goto yy20;
13578
2.77k
      goto yy115;
13579
10.6k
    } else {
13580
10.6k
      if (yych <= '@') goto yy20;
13581
5.30k
      if (yych <= 'Q') goto yy658;
13582
4.33k
      goto yy723;
13583
5.30k
    }
13584
46.4k
  } else {
13585
46.4k
    if (yych <= 'q') {
13586
12.0k
      if (yych <= 'Z') goto yy658;
13587
9.33k
      if (yych <= '`') goto yy20;
13588
4.43k
      goto yy658;
13589
34.4k
    } else {
13590
34.4k
      if (yych <= 'r') goto yy723;
13591
7.82k
      if (yych <= 'z') goto yy658;
13592
3.71k
      goto yy20;
13593
7.82k
    }
13594
46.4k
  }
13595
106k
yy546:
13596
106k
  YYDEBUG(546, *YYCURSOR);
13597
106k
  yych = *++YYCURSOR;
13598
106k
  if (yych <= 'D') {
13599
40.1k
    if (yych <= ')') {
13600
8.81k
      if (yych <= '(') goto yy20;
13601
1.94k
      goto yy115;
13602
31.3k
    } else {
13603
31.3k
      if (yych <= '@') goto yy20;
13604
21.4k
      if (yych <= 'C') goto yy658;
13605
18.7k
      goto yy724;
13606
21.4k
    }
13607
66.3k
  } else {
13608
66.3k
    if (yych <= 'c') {
13609
25.7k
      if (yych <= 'Z') goto yy658;
13610
12.5k
      if (yych <= '`') goto yy20;
13611
7.97k
      goto yy658;
13612
40.5k
    } else {
13613
40.5k
      if (yych <= 'd') goto yy724;
13614
17.7k
      if (yych <= 'z') goto yy658;
13615
8.83k
      goto yy20;
13616
17.7k
    }
13617
66.3k
  }
13618
55.3k
yy547:
13619
55.3k
  YYDEBUG(547, *YYCURSOR);
13620
55.3k
  yych = *++YYCURSOR;
13621
55.3k
  if (yych <= 'F') {
13622
31.9k
    if (yych <= ')') {
13623
13.7k
      if (yych <= '(') goto yy20;
13624
5.53k
      goto yy115;
13625
18.1k
    } else {
13626
18.1k
      if (yych <= '@') goto yy20;
13627
15.2k
      if (yych <= 'E') goto yy658;
13628
4.39k
      goto yy715;
13629
15.2k
    }
13630
31.9k
  } else {
13631
23.4k
    if (yych <= 'e') {
13632
6.80k
      if (yych <= 'Z') goto yy658;
13633
3.56k
      if (yych <= '`') goto yy20;
13634
2.15k
      goto yy658;
13635
16.6k
    } else {
13636
16.6k
      if (yych <= 'f') goto yy715;
13637
8.62k
      if (yych <= 'z') goto yy658;
13638
5.73k
      goto yy20;
13639
8.62k
    }
13640
23.4k
  }
13641
145k
yy548:
13642
145k
  YYDEBUG(548, *YYCURSOR);
13643
145k
  yyaccept = 2;
13644
145k
  yych = *(YYMARKER = ++YYCURSOR);
13645
145k
  if (yych <= 'C') {
13646
17.8k
    if (yych <= '-') {
13647
9.26k
      if (yych == ')') goto yy115;
13648
7.23k
      if (yych <= ',') goto yy20;
13649
1.80k
      goto yy297;
13650
8.62k
    } else {
13651
8.62k
      if (yych == '/') goto yy297;
13652
5.90k
      if (yych <= '@') goto yy20;
13653
1.81k
      goto yy658;
13654
5.90k
    }
13655
127k
  } else {
13656
127k
    if (yych <= '_') {
13657
14.4k
      if (yych <= 'D') goto yy674;
13658
8.78k
      if (yych <= 'Z') goto yy658;
13659
4.99k
      if (yych <= '^') goto yy20;
13660
2.38k
      goto yy297;
13661
113k
    } else {
13662
113k
      if (yych <= 'c') {
13663
7.25k
        if (yych <= '`') goto yy20;
13664
3.53k
        goto yy663;
13665
106k
      } else {
13666
106k
        if (yych <= 'd') goto yy680;
13667
9.10k
        if (yych <= 'z') goto yy663;
13668
5.22k
        goto yy20;
13669
9.10k
      }
13670
113k
    }
13671
127k
  }
13672
110k
yy549:
13673
110k
  YYDEBUG(549, *YYCURSOR);
13674
110k
  yyaccept = 2;
13675
110k
  yych = *(YYMARKER = ++YYCURSOR);
13676
110k
  if (yych <= 'R') {
13677
13.9k
    if (yych <= '-') {
13678
7.58k
      if (yych == ')') goto yy115;
13679
6.89k
      if (yych <= ',') goto yy20;
13680
1.69k
      goto yy297;
13681
6.89k
    } else {
13682
6.38k
      if (yych == '/') goto yy297;
13683
4.89k
      if (yych <= '@') goto yy20;
13684
3.31k
      goto yy658;
13685
4.89k
    }
13686
96.1k
  } else {
13687
96.1k
    if (yych <= '_') {
13688
15.3k
      if (yych <= 'S') goto yy712;
13689
10.4k
      if (yych <= 'Z') goto yy658;
13690
6.39k
      if (yych <= '^') goto yy20;
13691
3.25k
      goto yy297;
13692
80.7k
    } else {
13693
80.7k
      if (yych <= 'r') {
13694
4.58k
        if (yych <= '`') goto yy20;
13695
3.54k
        goto yy663;
13696
76.1k
      } else {
13697
76.1k
        if (yych <= 's') goto yy716;
13698
13.4k
        if (yych <= 'z') goto yy663;
13699
5.83k
        goto yy20;
13700
13.4k
      }
13701
80.7k
    }
13702
96.1k
  }
13703
66.1k
yy550:
13704
66.1k
  YYDEBUG(550, *YYCURSOR);
13705
66.1k
  yyaccept = 2;
13706
66.1k
  yych = *(YYMARKER = ++YYCURSOR);
13707
66.1k
  if (yych <= 'X') {
13708
14.2k
    if (yych <= '-') {
13709
8.01k
      if (yych == ')') goto yy115;
13710
5.22k
      if (yych <= ',') goto yy20;
13711
1.06k
      goto yy297;
13712
6.22k
    } else {
13713
6.22k
      if (yych == '/') goto yy297;
13714
5.06k
      if (yych <= '@') goto yy20;
13715
753
      goto yy658;
13716
5.06k
    }
13717
51.9k
  } else {
13718
51.9k
    if (yych <= '_') {
13719
11.7k
      if (yych <= 'Y') goto yy721;
13720
5.15k
      if (yych <= 'Z') goto yy658;
13721
3.14k
      if (yych <= '^') goto yy20;
13722
2.01k
      goto yy297;
13723
40.2k
    } else {
13724
40.2k
      if (yych <= 'x') {
13725
7.83k
        if (yych <= '`') goto yy20;
13726
7.02k
        goto yy663;
13727
32.3k
      } else {
13728
32.3k
        if (yych <= 'y') goto yy725;
13729
5.38k
        if (yych <= 'z') goto yy663;
13730
2.72k
        goto yy20;
13731
5.38k
      }
13732
40.2k
    }
13733
51.9k
  }
13734
113k
yy551:
13735
113k
  YYDEBUG(551, *YYCURSOR);
13736
113k
  yyaccept = 2;
13737
113k
  yych = *(YYMARKER = ++YYCURSOR);
13738
113k
  if (yych <= 'Q') {
13739
20.9k
    if (yych <= '-') {
13740
6.77k
      if (yych == ')') goto yy115;
13741
5.81k
      if (yych <= ',') goto yy20;
13742
1.64k
      goto yy297;
13743
14.1k
    } else {
13744
14.1k
      if (yych == '/') goto yy297;
13745
12.8k
      if (yych <= '@') goto yy20;
13746
2.96k
      goto yy658;
13747
12.8k
    }
13748
92.6k
  } else {
13749
92.6k
    if (yych <= '_') {
13750
11.2k
      if (yych <= 'R') goto yy723;
13751
4.64k
      if (yych <= 'Z') goto yy658;
13752
2.05k
      if (yych <= '^') goto yy20;
13753
1.17k
      goto yy297;
13754
81.3k
    } else {
13755
81.3k
      if (yych <= 'q') {
13756
6.97k
        if (yych <= '`') goto yy20;
13757
5.90k
        goto yy663;
13758
74.4k
      } else {
13759
74.4k
        if (yych <= 'r') goto yy726;
13760
6.40k
        if (yych <= 'z') goto yy663;
13761
4.79k
        goto yy20;
13762
6.40k
      }
13763
81.3k
    }
13764
92.6k
  }
13765
130k
yy552:
13766
130k
  YYDEBUG(552, *YYCURSOR);
13767
130k
  yyaccept = 2;
13768
130k
  yych = *(YYMARKER = ++YYCURSOR);
13769
130k
  if (yych <= 'C') {
13770
20.3k
    if (yych <= '-') {
13771
11.6k
      if (yych == ')') goto yy115;
13772
8.71k
      if (yych <= ',') goto yy20;
13773
4.66k
      goto yy297;
13774
8.76k
    } else {
13775
8.76k
      if (yych == '/') goto yy297;
13776
6.28k
      if (yych <= '@') goto yy20;
13777
1.64k
      goto yy658;
13778
6.28k
    }
13779
110k
  } else {
13780
110k
    if (yych <= '_') {
13781
16.9k
      if (yych <= 'D') goto yy724;
13782
10.1k
      if (yych <= 'Z') goto yy658;
13783
4.53k
      if (yych <= '^') goto yy20;
13784
2.15k
      goto yy297;
13785
93.2k
    } else {
13786
93.2k
      if (yych <= 'c') {
13787
5.92k
        if (yych <= '`') goto yy20;
13788
3.90k
        goto yy663;
13789
87.3k
      } else {
13790
87.3k
        if (yych <= 'd') goto yy727;
13791
9.95k
        if (yych <= 'z') goto yy663;
13792
2.75k
        goto yy20;
13793
9.95k
      }
13794
93.2k
    }
13795
110k
  }
13796
60.5k
yy553:
13797
60.5k
  YYDEBUG(553, *YYCURSOR);
13798
60.5k
  yyaccept = 2;
13799
60.5k
  yych = *(YYMARKER = ++YYCURSOR);
13800
60.5k
  if (yych <= 'E') {
13801
17.5k
    if (yych <= '-') {
13802
8.52k
      if (yych == ')') goto yy115;
13803
6.21k
      if (yych <= ',') goto yy20;
13804
2.59k
      goto yy297;
13805
8.98k
    } else {
13806
8.98k
      if (yych == '/') goto yy297;
13807
7.72k
      if (yych <= '@') goto yy20;
13808
3.04k
      goto yy658;
13809
7.72k
    }
13810
43.0k
  } else {
13811
43.0k
    if (yych <= '_') {
13812
10.4k
      if (yych <= 'F') goto yy715;
13813
8.08k
      if (yych <= 'Z') goto yy658;
13814
5.42k
      if (yych <= '^') goto yy20;
13815
2.87k
      goto yy297;
13816
32.6k
    } else {
13817
32.6k
      if (yych <= 'e') {
13818
4.69k
        if (yych <= '`') goto yy20;
13819
3.20k
        goto yy663;
13820
27.9k
      } else {
13821
27.9k
        if (yych <= 'f') goto yy719;
13822
6.26k
        if (yych <= 'z') goto yy663;
13823
2.91k
        goto yy20;
13824
6.26k
      }
13825
32.6k
    }
13826
43.0k
  }
13827
37.4k
yy554:
13828
37.4k
  YYDEBUG(554, *YYCURSOR);
13829
37.4k
  yyaccept = 2;
13830
37.4k
  yych = *(YYMARKER = ++YYCURSOR);
13831
37.4k
  if (yych <= ',') {
13832
14.5k
    if (yych <= 0x1F) {
13833
7.04k
      if (yych == '\t') goto yy142;
13834
1.07k
      goto yy20;
13835
7.47k
    } else {
13836
7.47k
      if (yych <= ' ') goto yy142;
13837
2.40k
      if (yych == ')') goto yy115;
13838
1.21k
      goto yy20;
13839
2.40k
    }
13840
22.9k
  } else {
13841
22.9k
    if (yych <= '@') {
13842
8.87k
      if (yych == '/') goto yy20;
13843
7.64k
      if (yych <= '9') goto yy142;
13844
3.08k
      goto yy20;
13845
14.0k
    } else {
13846
14.0k
      if (yych <= 'Z') goto yy658;
13847
9.89k
      if (yych <= '`') goto yy20;
13848
8.63k
      if (yych <= 'z') goto yy658;
13849
6.20k
      goto yy20;
13850
8.63k
    }
13851
22.9k
  }
13852
65.5k
yy555:
13853
65.5k
  YYDEBUG(555, *YYCURSOR);
13854
65.5k
  yych = *++YYCURSOR;
13855
65.5k
  if (yych <= 'E') {
13856
19.7k
    if (yych <= ')') {
13857
6.34k
      if (yych <= '(') goto yy20;
13858
2.15k
      goto yy115;
13859
13.4k
    } else {
13860
13.4k
      if (yych <= '@') goto yy20;
13861
10.5k
      if (yych <= 'D') goto yy658;
13862
6.58k
      goto yy728;
13863
10.5k
    }
13864
45.8k
  } else {
13865
45.8k
    if (yych <= 'd') {
13866
9.49k
      if (yych <= 'Z') goto yy658;
13867
5.50k
      if (yych <= '`') goto yy20;
13868
2.79k
      goto yy658;
13869
36.3k
    } else {
13870
36.3k
      if (yych <= 'e') goto yy728;
13871
5.72k
      if (yych <= 'z') goto yy658;
13872
2.23k
      goto yy20;
13873
5.72k
    }
13874
45.8k
  }
13875
121k
yy556:
13876
121k
  YYDEBUG(556, *YYCURSOR);
13877
121k
  yyaccept = 2;
13878
121k
  yych = *(YYMARKER = ++YYCURSOR);
13879
121k
  if (yych <= 'D') {
13880
18.6k
    if (yych <= '-') {
13881
10.8k
      if (yych == ')') goto yy115;
13882
8.86k
      if (yych <= ',') goto yy20;
13883
6.68k
      goto yy297;
13884
8.86k
    } else {
13885
7.79k
      if (yych == '/') goto yy297;
13886
5.85k
      if (yych <= '@') goto yy20;
13887
3.00k
      goto yy658;
13888
5.85k
    }
13889
102k
  } else {
13890
102k
    if (yych <= '_') {
13891
16.1k
      if (yych <= 'E') goto yy728;
13892
9.06k
      if (yych <= 'Z') goto yy658;
13893
7.00k
      if (yych <= '^') goto yy20;
13894
4.28k
      goto yy297;
13895
86.3k
    } else {
13896
86.3k
      if (yych <= 'd') {
13897
4.91k
        if (yych <= '`') goto yy20;
13898
2.79k
        goto yy663;
13899
81.4k
      } else {
13900
81.4k
        if (yych <= 'e') goto yy729;
13901
6.34k
        if (yych <= 'z') goto yy663;
13902
2.93k
        goto yy20;
13903
6.34k
      }
13904
86.3k
    }
13905
102k
  }
13906
84.3k
yy557:
13907
84.3k
  YYDEBUG(557, *YYCURSOR);
13908
84.3k
  yych = *++YYCURSOR;
13909
84.3k
  if (yych <= 'E') {
13910
21.3k
    if (yych <= ')') {
13911
5.95k
      if (yych <= '(') goto yy20;
13912
1.42k
      goto yy115;
13913
15.4k
    } else {
13914
15.4k
      if (yych <= '@') goto yy20;
13915
9.38k
      if (yych <= 'D') goto yy658;
13916
6.25k
      goto yy730;
13917
9.38k
    }
13918
63.0k
  } else {
13919
63.0k
    if (yych <= 'd') {
13920
6.40k
      if (yych <= 'Z') goto yy658;
13921
5.42k
      if (yych <= '`') goto yy20;
13922
3.52k
      goto yy658;
13923
56.5k
    } else {
13924
56.5k
      if (yych <= 'e') goto yy730;
13925
9.72k
      if (yych <= 'z') goto yy658;
13926
3.28k
      goto yy20;
13927
9.72k
    }
13928
63.0k
  }
13929
185k
yy558:
13930
185k
  YYDEBUG(558, *YYCURSOR);
13931
185k
  yyaccept = 2;
13932
185k
  yych = *(YYMARKER = ++YYCURSOR);
13933
185k
  if (yych <= 'D') {
13934
20.6k
    if (yych <= '-') {
13935
10.8k
      if (yych == ')') goto yy115;
13936
5.49k
      if (yych <= ',') goto yy20;
13937
935
      goto yy297;
13938
9.75k
    } else {
13939
9.75k
      if (yych == '/') goto yy297;
13940
6.30k
      if (yych <= '@') goto yy20;
13941
2.28k
      goto yy658;
13942
6.30k
    }
13943
164k
  } else {
13944
164k
    if (yych <= '_') {
13945
33.5k
      if (yych <= 'E') goto yy730;
13946
8.12k
      if (yych <= 'Z') goto yy658;
13947
4.44k
      if (yych <= '^') goto yy20;
13948
2.98k
      goto yy297;
13949
131k
    } else {
13950
131k
      if (yych <= 'd') {
13951
9.09k
        if (yych <= '`') goto yy20;
13952
6.94k
        goto yy663;
13953
122k
      } else {
13954
122k
        if (yych <= 'e') goto yy731;
13955
10.6k
        if (yych <= 'z') goto yy663;
13956
6.09k
        goto yy20;
13957
10.6k
      }
13958
131k
    }
13959
164k
  }
13960
70.2k
yy559:
13961
70.2k
  YYDEBUG(559, *YYCURSOR);
13962
70.2k
  ++YYCURSOR;
13963
70.2k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
13964
70.2k
  yych = *YYCURSOR;
13965
70.2k
  if (yych == 0x80) goto yy194;
13966
17.1k
  goto yy59;
13967
1.28M
yy560:
13968
1.28M
  YYDEBUG(560, *YYCURSOR);
13969
1.28M
  yych = *++YYCURSOR;
13970
1.28M
  if (yych <= 0xC1) {
13971
1.24M
    if (yych <= '/') goto yy196;
13972
1.05M
    if (yych <= '9') goto yy594;
13973
121k
    goto yy196;
13974
1.05M
  } else {
13975
42.5k
    if (yych <= 0xC2) goto yy97;
13976
34.8k
    if (yych == 0xE2) goto yy98;
13977
20.8k
    goto yy196;
13978
34.8k
  }
13979
663k
yy561:
13980
663k
  YYDEBUG(561, *YYCURSOR);
13981
663k
  yyaccept = 2;
13982
663k
  yych = *(YYMARKER = ++YYCURSOR);
13983
663k
  if (yych <= 'V') {
13984
560k
    if (yych <= '9') {
13985
488k
      if (yych <= ',') {
13986
30.1k
        if (yych <= '\t') {
13987
13.3k
          if (yych <= 0x08) goto yy20;
13988
3.72k
          goto yy196;
13989
16.7k
        } else {
13990
16.7k
          if (yych == ' ') goto yy196;
13991
12.6k
          goto yy20;
13992
16.7k
        }
13993
458k
      } else {
13994
458k
        if (yych <= '/') {
13995
44.6k
          if (yych <= '-') goto yy732;
13996
7.89k
          goto yy20;
13997
413k
        } else {
13998
413k
          if (yych <= '5') goto yy733;
13999
108k
          if (yych <= '6') goto yy734;
14000
38.1k
          goto yy735;
14001
108k
        }
14002
458k
      }
14003
488k
    } else {
14004
72.1k
      if (yych <= 'G') {
14005
33.6k
        if (yych <= 'D') {
14006
26.5k
          if (yych <= 'C') goto yy20;
14007
3.53k
          goto yy196;
14008
26.5k
        } else {
14009
7.11k
          if (yych == 'F') goto yy196;
14010
1.83k
          goto yy20;
14011
7.11k
        }
14012
38.4k
      } else {
14013
38.4k
        if (yych <= 'M') {
14014
13.4k
          if (yych <= 'H') goto yy196;
14015
9.25k
          if (yych <= 'L') goto yy20;
14016
1.84k
          goto yy196;
14017
25.0k
        } else {
14018
25.0k
          if (yych <= 'R') goto yy20;
14019
19.5k
          if (yych <= 'U') goto yy196;
14020
3.49k
          goto yy20;
14021
19.5k
        }
14022
38.4k
      }
14023
72.1k
    }
14024
560k
  } else {
14025
102k
    if (yych <= 'm') {
14026
31.5k
      if (yych <= 'd') {
14027
14.1k
        if (yych <= 'X') {
14028
4.78k
          if (yych <= 'W') goto yy196;
14029
1.49k
          goto yy20;
14030
9.35k
        } else {
14031
9.35k
          if (yych <= 'Y') goto yy196;
14032
7.70k
          if (yych <= 'c') goto yy20;
14033
2.33k
          goto yy196;
14034
7.70k
        }
14035
17.3k
      } else {
14036
17.3k
        if (yych <= 'g') {
14037
5.84k
          if (yych == 'f') goto yy196;
14038
2.74k
          goto yy20;
14039
11.5k
        } else {
14040
11.5k
          if (yych <= 'h') goto yy196;
14041
8.35k
          if (yych <= 'l') goto yy20;
14042
2.59k
          goto yy196;
14043
8.35k
        }
14044
17.3k
      }
14045
70.8k
    } else {
14046
70.8k
      if (yych <= 'x') {
14047
23.9k
        if (yych <= 'u') {
14048
15.5k
          if (yych <= 'r') goto yy20;
14049
7.34k
          goto yy196;
14050
15.5k
        } else {
14051
8.42k
          if (yych == 'w') goto yy196;
14052
3.16k
          goto yy20;
14053
8.42k
        }
14054
46.8k
      } else {
14055
46.8k
        if (yych <= 0xC2) {
14056
22.3k
          if (yych <= 'y') goto yy196;
14057
19.6k
          if (yych <= 0xC1) goto yy20;
14058
4.71k
          goto yy97;
14059
24.5k
        } else {
14060
24.5k
          if (yych == 0xE2) goto yy98;
14061
20.8k
          goto yy20;
14062
24.5k
        }
14063
46.8k
      }
14064
70.8k
    }
14065
102k
  }
14066
641k
yy562:
14067
641k
  YYDEBUG(562, *YYCURSOR);
14068
641k
  yych = *++YYCURSOR;
14069
641k
  if (yych <= '9') {
14070
547k
    if (yych == '-') goto yy732;
14071
476k
    if (yych <= '/') goto yy196;
14072
444k
    goto yy735;
14073
476k
  } else {
14074
94.0k
    if (yych <= 0xC2) {
14075
78.6k
      if (yych <= 0xC1) goto yy196;
14076
5.93k
      goto yy97;
14077
78.6k
    } else {
14078
15.3k
      if (yych == 0xE2) goto yy98;
14079
10.6k
      goto yy196;
14080
15.3k
    }
14081
94.0k
  }
14082
90.7k
yy563:
14083
90.7k
  YYDEBUG(563, *YYCURSOR);
14084
90.7k
  yych = *++YYCURSOR;
14085
90.7k
  if (yych <= '/') goto yy20;
14086
79.7k
  if (yych <= '9') goto yy736;
14087
26.0k
  goto yy20;
14088
102k
yy564:
14089
102k
  YYDEBUG(564, *YYCURSOR);
14090
102k
  yych = *++YYCURSOR;
14091
102k
  if (yych <= '/') goto yy59;
14092
83.0k
  if (yych <= '9') goto yy737;
14093
22.3k
  goto yy59;
14094
22.3k
yy565:
14095
20.8k
  YYDEBUG(565, *YYCURSOR);
14096
20.8k
  yych = *++YYCURSOR;
14097
20.8k
  if (yych <= '/') goto yy59;
14098
18.8k
  if (yych <= '9') goto yy738;
14099
10.6k
  goto yy59;
14100
99.3k
yy566:
14101
99.3k
  YYDEBUG(566, *YYCURSOR);
14102
99.3k
  yyaccept = 15;
14103
99.3k
  yych = *(YYMARKER = ++YYCURSOR);
14104
99.3k
  if (yych <= 'n') {
14105
78.9k
    if (yych <= '/') goto yy567;
14106
65.4k
    if (yych <= '9') goto yy740;
14107
17.5k
    if (yych >= 'n') goto yy741;
14108
20.4k
  } else {
14109
20.4k
    if (yych <= 'r') {
14110
8.49k
      if (yych >= 'r') goto yy741;
14111
11.9k
    } else {
14112
11.9k
      if (yych <= 's') goto yy742;
14113
10.2k
      if (yych <= 't') goto yy743;
14114
10.2k
    }
14115
20.4k
  }
14116
613k
yy567:
14117
613k
  YYDEBUG(567, *YYCURSOR);
14118
613k
#line 1549 "ext/date/lib/parse_date.re"
14119
613k
  {
14120
613k
    int length = 0;
14121
613k
    DEBUG_OUTPUT("gnudateshort");
14122
613k
    TIMELIB_INIT;
14123
613k
    TIMELIB_HAVE_DATE();
14124
46.7k
    s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
14125
46.7k
    s->time->m = timelib_get_nr(&ptr, 2);
14126
46.7k
    s->time->d = timelib_get_nr(&ptr, 2);
14127
46.7k
    TIMELIB_PROCESS_YEAR(s->time->y, length);
14128
46.7k
    TIMELIB_DEINIT;
14129
46.7k
    return TIMELIB_ISO_DATE;
14130
613k
  }
14131
0
#line 14132 "ext/date/lib/parse_date.c"
14132
68.7k
yy568:
14133
68.7k
  YYDEBUG(568, *YYCURSOR);
14134
68.7k
  yyaccept = 15;
14135
68.7k
  yych = *(YYMARKER = ++YYCURSOR);
14136
68.7k
  if (yych <= 'n') {
14137
40.5k
    if (yych <= '1') {
14138
14.9k
      if (yych <= '/') goto yy567;
14139
8.49k
      goto yy740;
14140
25.6k
    } else {
14141
25.6k
      if (yych <= '9') goto yy737;
14142
16.2k
      if (yych <= 'm') goto yy567;
14143
7.95k
      goto yy741;
14144
16.2k
    }
14145
40.5k
  } else {
14146
28.1k
    if (yych <= 'r') {
14147
15.0k
      if (yych <= 'q') goto yy567;
14148
10.4k
      goto yy741;
14149
15.0k
    } else {
14150
13.1k
      if (yych <= 's') goto yy742;
14151
8.60k
      if (yych <= 't') goto yy743;
14152
5.49k
      goto yy567;
14153
8.60k
    }
14154
28.1k
  }
14155
36.4k
yy569:
14156
36.4k
  YYDEBUG(569, *YYCURSOR);
14157
36.4k
  yyaccept = 15;
14158
36.4k
  yych = *(YYMARKER = ++YYCURSOR);
14159
36.4k
  if (yych <= 'n') {
14160
20.8k
    if (yych <= '/') goto yy567;
14161
15.7k
    if (yych <= '9') goto yy737;
14162
4.72k
    if (yych <= 'm') goto yy567;
14163
1.52k
    goto yy741;
14164
15.6k
  } else {
14165
15.6k
    if (yych <= 'r') {
14166
5.93k
      if (yych <= 'q') goto yy567;
14167
4.23k
      goto yy741;
14168
9.67k
    } else {
14169
9.67k
      if (yych <= 's') goto yy742;
14170
8.07k
      if (yych <= 't') goto yy743;
14171
4.10k
      goto yy567;
14172
8.07k
    }
14173
15.6k
  }
14174
48.5k
yy570:
14175
48.5k
  YYDEBUG(570, *YYCURSOR);
14176
48.5k
  yyaccept = 4;
14177
48.5k
  yych = *(YYMARKER = ++YYCURSOR);
14178
48.5k
  if (yych == '.') goto yy744;
14179
42.4k
  if (yych <= '/') goto yy177;
14180
37.1k
  if (yych <= '9') goto yy745;
14181
11.0k
  goto yy177;
14182
14.2k
yy571:
14183
14.2k
  YYDEBUG(571, *YYCURSOR);
14184
14.2k
  yyaccept = 4;
14185
14.2k
  yych = *(YYMARKER = ++YYCURSOR);
14186
14.2k
  if (yych <= '/') {
14187
4.59k
    if (yych == '.') goto yy744;
14188
1.92k
    goto yy177;
14189
9.65k
  } else {
14190
9.65k
    if (yych <= '0') goto yy745;
14191
4.70k
    if (yych <= '9') goto yy738;
14192
2.28k
    goto yy177;
14193
4.70k
  }
14194
22.2k
yy572:
14195
22.2k
  YYDEBUG(572, *YYCURSOR);
14196
22.2k
  yyaccept = 4;
14197
22.2k
  yych = *(YYMARKER = ++YYCURSOR);
14198
22.2k
  if (yych == '.') goto yy744;
14199
18.2k
  if (yych <= '/') goto yy177;
14200
15.9k
  if (yych <= '9') goto yy738;
14201
6.79k
  goto yy177;
14202
162k
yy573:
14203
162k
  YYDEBUG(573, *YYCURSOR);
14204
162k
  yyaccept = 4;
14205
162k
  yych = *(YYMARKER = ++YYCURSOR);
14206
162k
  if (yych == '.') goto yy744;
14207
158k
  if (yych <= '/') goto yy177;
14208
145k
  if (yych <= '9') goto yy575;
14209
25.0k
  goto yy177;
14210
33.2k
yy574:
14211
33.2k
  YYDEBUG(574, *YYCURSOR);
14212
33.2k
  yyaccept = 4;
14213
33.2k
  yych = *(YYMARKER = ++YYCURSOR);
14214
33.2k
  if (yych == '.') goto yy744;
14215
30.2k
  if (yych != '0') goto yy177;
14216
160k
yy575:
14217
160k
  YYDEBUG(575, *YYCURSOR);
14218
160k
  yyaccept = 4;
14219
160k
  yych = *(YYMARKER = ++YYCURSOR);
14220
160k
  if (yych == '.') goto yy744;
14221
127k
  goto yy177;
14222
127k
yy576:
14223
90.4k
  YYDEBUG(576, *YYCURSOR);
14224
90.4k
  yych = *++YYCURSOR;
14225
90.4k
  if (yych <= '/') goto yy224;
14226
74.9k
  if (yych <= '9') goto yy746;
14227
38.8k
  goto yy224;
14228
38.8k
yy577:
14229
18.9k
  YYDEBUG(577, *YYCURSOR);
14230
18.9k
  yyaccept = 5;
14231
18.9k
  yych = *(YYMARKER = ++YYCURSOR);
14232
18.9k
  if (yych == '/') goto yy402;
14233
17.1k
  goto yy224;
14234
589k
yy578:
14235
589k
  YYDEBUG(578, *YYCURSOR);
14236
589k
  yych = *++YYCURSOR;
14237
589k
  if (yych == '/') goto yy747;
14238
289k
  goto yy59;
14239
289k
yy579:
14240
73.0k
  YYDEBUG(579, *YYCURSOR);
14241
73.0k
  yych = *++YYCURSOR;
14242
73.0k
  if (yych <= 'S') {
14243
38.4k
    if (yych == '/') goto yy747;
14244
27.8k
    goto yy59;
14245
38.4k
  } else {
14246
34.5k
    if (yych <= 'T') goto yy578;
14247
29.6k
    if (yych == 't') goto yy578;
14248
9.59k
    goto yy59;
14249
29.6k
  }
14250
201k
yy580:
14251
201k
  YYDEBUG(580, *YYCURSOR);
14252
201k
  yych = *++YYCURSOR;
14253
201k
  if (yych <= ',') goto yy59;
14254
182k
  if (yych <= '-') goto yy748;
14255
65.5k
  if (yych <= '.') goto yy396;
14256
64.1k
  goto yy59;
14257
126k
yy581:
14258
126k
  YYDEBUG(581, *YYCURSOR);
14259
126k
  yych = *++YYCURSOR;
14260
126k
  if (yych == '-') goto yy645;
14261
116k
  if (yych <= '/') goto yy59;
14262
99.7k
  if (yych <= '9') goto yy462;
14263
16.3k
  goto yy59;
14264
96.2k
yy582:
14265
96.2k
  YYDEBUG(582, *YYCURSOR);
14266
96.2k
  yych = *++YYCURSOR;
14267
96.2k
  if (yych == '-') goto yy645;
14268
79.9k
  if (yych <= '/') goto yy59;
14269
65.6k
  if (yych <= '2') goto yy462;
14270
20.6k
  goto yy59;
14271
343k
yy583:
14272
343k
  YYDEBUG(583, *YYCURSOR);
14273
343k
  ++YYCURSOR;
14274
343k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
14275
343k
  yych = *YYCURSOR;
14276
1.42M
yy584:
14277
1.42M
  YYDEBUG(584, *YYCURSOR);
14278
1.42M
  if (yych <= 'W') {
14279
985k
    if (yych <= 'G') {
14280
651k
      if (yych <= '.') {
14281
428k
        if (yych <= 0x1F) {
14282
104k
          if (yych == '\t') goto yy583;
14283
40.7k
          goto yy59;
14284
323k
        } else {
14285
323k
          if (yych <= ' ') goto yy583;
14286
44.7k
          if (yych <= ',') goto yy59;
14287
9.20k
          goto yy749;
14288
44.7k
        }
14289
428k
      } else {
14290
222k
        if (yych <= 'C') {
14291
152k
          if (yych == 'A') goto yy596;
14292
100k
          goto yy59;
14293
152k
        } else {
14294
70.0k
          if (yych <= 'D') goto yy597;
14295
49.4k
          if (yych == 'F') goto yy598;
14296
1.86k
          goto yy59;
14297
49.4k
        }
14298
222k
      }
14299
651k
    } else {
14300
333k
      if (yych <= 'N') {
14301
165k
        if (yych <= 'J') {
14302
86.3k
          if (yych <= 'H') goto yy79;
14303
67.8k
          if (yych <= 'I') goto yy599;
14304
37.2k
          goto yy601;
14305
78.7k
        } else {
14306
78.7k
          if (yych <= 'L') goto yy59;
14307
76.2k
          if (yych <= 'M') goto yy602;
14308
28.6k
          goto yy603;
14309
76.2k
        }
14310
168k
      } else {
14311
168k
        if (yych <= 'S') {
14312
97.1k
          if (yych <= 'O') goto yy604;
14313
74.3k
          if (yych <= 'R') goto yy59;
14314
69.4k
          goto yy605;
14315
74.3k
        } else {
14316
71.4k
          if (yych <= 'T') goto yy87;
14317
33.2k
          if (yych <= 'U') goto yy88;
14318
18.8k
          if (yych <= 'V') goto yy606;
14319
1.93k
          goto yy90;
14320
18.8k
        }
14321
168k
      }
14322
333k
    }
14323
985k
  } else {
14324
434k
    if (yych <= 'l') {
14325
169k
      if (yych <= 'd') {
14326
86.8k
        if (yych <= '`') {
14327
24.5k
          if (yych <= 'X') goto yy608;
14328
11.9k
          if (yych <= 'Y') goto yy92;
14329
2.35k
          goto yy59;
14330
62.2k
        } else {
14331
62.2k
          if (yych <= 'a') goto yy596;
14332
29.4k
          if (yych <= 'c') goto yy59;
14333
27.0k
          goto yy597;
14334
29.4k
        }
14335
86.8k
      } else {
14336
82.7k
        if (yych <= 'g') {
14337
37.7k
          if (yych == 'f') goto yy598;
14338
3.75k
          goto yy59;
14339
45.0k
        } else {
14340
45.0k
          if (yych <= 'h') goto yy79;
14341
30.6k
          if (yych == 'j') goto yy601;
14342
1.66k
          goto yy59;
14343
30.6k
        }
14344
82.7k
      }
14345
265k
    } else {
14346
265k
      if (yych <= 'u') {
14347
210k
        if (yych <= 'o') {
14348
90.5k
          if (yych <= 'm') goto yy602;
14349
41.6k
          if (yych <= 'n') goto yy603;
14350
21.3k
          goto yy604;
14351
119k
        } else {
14352
119k
          if (yych <= 'r') goto yy59;
14353
115k
          if (yych <= 's') goto yy605;
14354
67.8k
          if (yych <= 't') goto yy87;
14355
16.6k
          goto yy88;
14356
67.8k
        }
14357
210k
      } else {
14358
55.0k
        if (yych <= 'x') {
14359
25.0k
          if (yych == 'w') goto yy90;
14360
3.18k
          goto yy59;
14361
29.9k
        } else {
14362
29.9k
          if (yych <= 'y') goto yy92;
14363
13.7k
          if (yych == 0xC2) goto yy211;
14364
10.9k
          goto yy59;
14365
13.7k
        }
14366
55.0k
      }
14367
265k
    }
14368
434k
  }
14369
1.00M
yy585:
14370
1.00M
  YYDEBUG(585, *YYCURSOR);
14371
1.00M
  yych = *++YYCURSOR;
14372
1.00M
  switch (yych) {
14373
259k
  case '0': goto yy751;
14374
145k
  case '1': goto yy753;
14375
47.1k
  case '2': goto yy754;
14376
35.0k
  case '3': goto yy755;
14377
9.17k
  case '4':
14378
27.3k
  case '5':
14379
44.9k
  case '6':
14380
52.4k
  case '7':
14381
57.7k
  case '8':
14382
69.2k
  case '9': goto yy756;
14383
68.1k
  case 'A':
14384
83.4k
  case 'a': goto yy757;
14385
10.1k
  case 'D':
14386
20.6k
  case 'd': goto yy758;
14387
23.1k
  case 'F':
14388
36.3k
  case 'f': goto yy759;
14389
35.8k
  case 'J':
14390
57.1k
  case 'j': goto yy760;
14391
17.1k
  case 'M':
14392
41.4k
  case 'm': goto yy761;
14393
16.1k
  case 'N':
14394
25.3k
  case 'n': goto yy762;
14395
13.4k
  case 'O':
14396
21.7k
  case 'o': goto yy763;
14397
10.0k
  case 'S':
14398
21.2k
  case 's': goto yy764;
14399
24.4k
  case 'W': goto yy765;
14400
112k
  default:  goto yy750;
14401
1.00M
  }
14402
162k
yy586:
14403
162k
  YYDEBUG(586, *YYCURSOR);
14404
162k
  yych = *++YYCURSOR;
14405
162k
  if (yych <= '/') goto yy750;
14406
145k
  if (yych <= '0') goto yy766;
14407
107k
  if (yych <= '2') goto yy767;
14408
85.4k
  if (yych <= '3') goto yy768;
14409
74.9k
  goto yy750;
14410
211k
yy587:
14411
211k
  YYDEBUG(587, *YYCURSOR);
14412
211k
  yych = *++YYCURSOR;
14413
211k
  if (yych <= '/') goto yy59;
14414
199k
  if (yych <= '0') goto yy773;
14415
141k
  if (yych <= '1') goto yy774;
14416
59.3k
  if (yych <= '9') goto yy775;
14417
29.7k
  goto yy59;
14418
2.37M
yy588:
14419
2.37M
  YYDEBUG(588, *YYCURSOR);
14420
2.37M
  yych = *++YYCURSOR;
14421
2.37M
  if (yych <= 0xC1) {
14422
2.32M
    if (yych <= '/') goto yy196;
14423
2.15M
    if (yych <= '0') goto yy776;
14424
521k
    if (yych <= '9') goto yy778;
14425
151k
    goto yy196;
14426
521k
  } else {
14427
46.4k
    if (yych <= 0xC2) goto yy97;
14428
41.6k
    if (yych == 0xE2) goto yy98;
14429
38.5k
    goto yy196;
14430
41.6k
  }
14431
594k
yy589:
14432
594k
  YYDEBUG(589, *YYCURSOR);
14433
594k
  yych = *++YYCURSOR;
14434
594k
  if (yych <= 0xC1) {
14435
580k
    if (yych <= '/') goto yy196;
14436
525k
    if (yych <= '2') goto yy778;
14437
159k
    if (yych <= '9') goto yy779;
14438
55.6k
    goto yy196;
14439
159k
  } else {
14440
13.2k
    if (yych <= 0xC2) goto yy97;
14441
10.5k
    if (yych == 0xE2) goto yy98;
14442
8.85k
    goto yy196;
14443
10.5k
  }
14444
378k
yy590:
14445
378k
  YYDEBUG(590, *YYCURSOR);
14446
378k
  yych = *++YYCURSOR;
14447
378k
  if (yych <= 0xC1) {
14448
365k
    if (yych <= '/') goto yy196;
14449
323k
    if (yych <= '9') goto yy779;
14450
31.6k
    goto yy196;
14451
323k
  } else {
14452
13.1k
    if (yych <= 0xC2) goto yy97;
14453
9.30k
    if (yych == 0xE2) goto yy98;
14454
5.99k
    goto yy196;
14455
9.30k
  }
14456
258k
yy591:
14457
258k
  YYDEBUG(591, *YYCURSOR);
14458
258k
  yych = *++YYCURSOR;
14459
258k
  if (yych <= '9') {
14460
228k
    if (yych <= '/') goto yy196;
14461
207k
    if (yych <= '5') goto yy779;
14462
123k
    if (yych <= '6') goto yy780;
14463
40.3k
    goto yy781;
14464
123k
  } else {
14465
29.5k
    if (yych <= 0xC2) {
14466
23.7k
      if (yych <= 0xC1) goto yy196;
14467
5.00k
      goto yy97;
14468
23.7k
    } else {
14469
5.86k
      if (yych == 0xE2) goto yy98;
14470
3.57k
      goto yy196;
14471
5.86k
    }
14472
29.5k
  }
14473
399k
yy592:
14474
399k
  YYDEBUG(592, *YYCURSOR);
14475
399k
  yych = *++YYCURSOR;
14476
399k
  if (yych <= 0xC1) {
14477
379k
    if (yych <= '/') goto yy196;
14478
344k
    if (yych <= '9') goto yy781;
14479
31.7k
    goto yy196;
14480
344k
  } else {
14481
19.7k
    if (yych <= 0xC2) goto yy97;
14482
15.5k
    if (yych == 0xE2) goto yy98;
14483
9.84k
    goto yy196;
14484
15.5k
  }
14485
233k
yy593:
14486
233k
  YYDEBUG(593, *YYCURSOR);
14487
233k
  yych = *++YYCURSOR;
14488
233k
  if (yych <= 0xC1) {
14489
222k
    if (yych <= '/') goto yy196;
14490
207k
    if (yych <= '0') goto yy781;
14491
140k
    if (yych <= '9') goto yy782;
14492
38.8k
    goto yy196;
14493
140k
  } else {
14494
10.9k
    if (yych <= 0xC2) goto yy97;
14495
8.75k
    if (yych == 0xE2) goto yy98;
14496
5.14k
    goto yy196;
14497
8.75k
  }
14498
3.74M
yy594:
14499
3.74M
  YYDEBUG(594, *YYCURSOR);
14500
3.74M
  yych = *++YYCURSOR;
14501
3.74M
  if (yych <= 0xC1) {
14502
3.60M
    if (yych <= '/') goto yy196;
14503
3.26M
    if (yych <= '9') goto yy782;
14504
394k
    goto yy196;
14505
3.26M
  } else {
14506
138k
    if (yych <= 0xC2) goto yy97;
14507
112k
    if (yych == 0xE2) goto yy98;
14508
73.5k
    goto yy196;
14509
112k
  }
14510
595k
yy595:
14511
595k
  YYDEBUG(595, *YYCURSOR);
14512
595k
  yych = *++YYCURSOR;
14513
595k
  if (yych <= '/') goto yy59;
14514
292k
  if (yych <= '0') goto yy783;
14515
251k
  if (yych <= '1') goto yy784;
14516
83.5k
  goto yy59;
14517
105k
yy596:
14518
105k
  YYDEBUG(596, *YYCURSOR);
14519
105k
  yych = *++YYCURSOR;
14520
105k
  if (yych <= 'U') {
14521
33.2k
    if (yych == 'P') goto yy785;
14522
29.6k
    if (yych <= 'T') goto yy59;
14523
4.22k
    goto yy786;
14524
72.5k
  } else {
14525
72.5k
    if (yych <= 'p') {
14526
32.2k
      if (yych <= 'o') goto yy59;
14527
10.5k
      goto yy785;
14528
40.3k
    } else {
14529
40.3k
      if (yych == 'u') goto yy786;
14530
16.8k
      goto yy59;
14531
40.3k
    }
14532
72.5k
  }
14533
47.5k
yy597:
14534
47.5k
  YYDEBUG(597, *YYCURSOR);
14535
47.5k
  yych = *++YYCURSOR;
14536
47.5k
  if (yych <= 'E') {
14537
22.7k
    if (yych == 'A') goto yy242;
14538
21.1k
    if (yych <= 'D') goto yy59;
14539
4.23k
    goto yy787;
14540
24.8k
  } else {
14541
24.8k
    if (yych <= 'a') {
14542
9.90k
      if (yych <= '`') goto yy59;
14543
5.39k
      goto yy242;
14544
14.9k
    } else {
14545
14.9k
      if (yych == 'e') goto yy787;
14546
10.4k
      goto yy59;
14547
14.9k
    }
14548
24.8k
  }
14549
81.5k
yy598:
14550
81.5k
  YYDEBUG(598, *YYCURSOR);
14551
81.5k
  yych = *++YYCURSOR;
14552
81.5k
  if (yych <= 'R') {
14553
30.3k
    if (yych <= 'N') {
14554
21.2k
      if (yych == 'E') goto yy788;
14555
20.1k
      goto yy59;
14556
21.2k
    } else {
14557
9.08k
      if (yych <= 'O') goto yy245;
14558
7.02k
      if (yych <= 'Q') goto yy59;
14559
5.34k
      goto yy246;
14560
7.02k
    }
14561
51.2k
  } else {
14562
51.2k
    if (yych <= 'n') {
14563
30.3k
      if (yych == 'e') goto yy788;
14564
16.8k
      goto yy59;
14565
30.3k
    } else {
14566
20.8k
      if (yych <= 'o') goto yy245;
14567
14.5k
      if (yych == 'r') goto yy246;
14568
8.92k
      goto yy59;
14569
14.5k
    }
14570
51.2k
  }
14571
36.4k
yy599:
14572
36.4k
  YYDEBUG(599, *YYCURSOR);
14573
36.4k
  yych = *++YYCURSOR;
14574
36.4k
  if (yych <= 'U') {
14575
24.4k
    if (yych == 'I') goto yy789;
14576
24.4k
  } else {
14577
12.0k
    if (yych == 'W') goto yy600;
14578
11.0k
    if (yych <= 'X') goto yy790;
14579
11.0k
  }
14580
362k
yy600:
14581
362k
  YYDEBUG(600, *YYCURSOR);
14582
362k
#line 1618 "ext/date/lib/parse_date.re"
14583
362k
  {
14584
362k
    int length = 0;
14585
362k
    DEBUG_OUTPUT("datenodayrev");
14586
362k
    TIMELIB_INIT;
14587
362k
    TIMELIB_HAVE_DATE();
14588
32.0k
    s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
14589
32.0k
    s->time->m = timelib_get_month(&ptr);
14590
32.0k
    s->time->d = 1;
14591
32.0k
    TIMELIB_PROCESS_YEAR(s->time->y, length);
14592
32.0k
    TIMELIB_DEINIT;
14593
32.0k
    return TIMELIB_DATE_NO_DAY;
14594
362k
  }
14595
0
#line 14596 "ext/date/lib/parse_date.c"
14596
71.3k
yy601:
14597
71.3k
  YYDEBUG(601, *YYCURSOR);
14598
71.3k
  yych = *++YYCURSOR;
14599
71.3k
  if (yych <= 'U') {
14600
27.1k
    if (yych == 'A') goto yy791;
14601
21.4k
    if (yych <= 'T') goto yy59;
14602
12.9k
    goto yy792;
14603
44.1k
  } else {
14604
44.1k
    if (yych <= 'a') {
14605
17.3k
      if (yych <= '`') goto yy59;
14606
13.1k
      goto yy791;
14607
26.8k
    } else {
14608
26.8k
      if (yych == 'u') goto yy792;
14609
6.71k
      goto yy59;
14610
26.8k
    }
14611
44.1k
  }
14612
96.5k
yy602:
14613
96.5k
  YYDEBUG(602, *YYCURSOR);
14614
96.5k
  yych = *++YYCURSOR;
14615
96.5k
  if (yych <= 'S') {
14616
43.2k
    if (yych <= 'I') {
14617
24.9k
      if (yych == 'A') goto yy793;
14618
19.2k
      if (yych <= 'H') goto yy59;
14619
4.65k
      goto yy257;
14620
19.2k
    } else {
14621
18.3k
      if (yych == 'O') goto yy258;
14622
16.8k
      if (yych <= 'R') goto yy59;
14623
2.19k
      goto yy259;
14624
16.8k
    }
14625
53.2k
  } else {
14626
53.2k
    if (yych <= 'i') {
14627
32.9k
      if (yych == 'a') goto yy793;
14628
14.1k
      if (yych <= 'h') goto yy59;
14629
7.39k
      goto yy257;
14630
20.3k
    } else {
14631
20.3k
      if (yych <= 'o') {
14632
11.2k
        if (yych <= 'n') goto yy59;
14633
9.01k
        goto yy258;
14634
11.2k
      } else {
14635
9.14k
        if (yych == 's') goto yy259;
14636
5.40k
        goto yy59;
14637
9.14k
      }
14638
20.3k
    }
14639
53.2k
  }
14640
56.6k
yy603:
14641
56.6k
  YYDEBUG(603, *YYCURSOR);
14642
56.6k
  yych = *++YYCURSOR;
14643
56.6k
  if (yych == 'O') goto yy794;
14644
54.9k
  if (yych == 'o') goto yy794;
14645
37.6k
  goto yy59;
14646
49.2k
yy604:
14647
49.2k
  YYDEBUG(604, *YYCURSOR);
14648
49.2k
  yych = *++YYCURSOR;
14649
49.2k
  if (yych == 'C') goto yy795;
14650
44.5k
  if (yych == 'c') goto yy795;
14651
31.9k
  goto yy59;
14652
116k
yy605:
14653
116k
  YYDEBUG(605, *YYCURSOR);
14654
116k
  yych = *++YYCURSOR;
14655
116k
  if (yych <= 'U') {
14656
42.3k
    if (yych <= 'D') {
14657
21.5k
      if (yych == 'A') goto yy263;
14658
20.2k
      goto yy59;
14659
21.5k
    } else {
14660
20.8k
      if (yych <= 'E') goto yy796;
14661
5.29k
      if (yych <= 'T') goto yy59;
14662
2.35k
      goto yy265;
14663
5.29k
    }
14664
74.5k
  } else {
14665
74.5k
    if (yych <= 'd') {
14666
7.62k
      if (yych == 'a') goto yy263;
14667
4.70k
      goto yy59;
14668
66.9k
    } else {
14669
66.9k
      if (yych <= 'e') goto yy796;
14670
16.7k
      if (yych == 'u') goto yy265;
14671
14.3k
      goto yy59;
14672
16.7k
    }
14673
74.5k
  }
14674
20.5k
yy606:
14675
20.5k
  YYDEBUG(606, *YYCURSOR);
14676
20.5k
  yych = *++YYCURSOR;
14677
20.5k
  if (yych == 'I') goto yy608;
14678
16.2k
  goto yy600;
14679
63.9k
yy607:
14680
63.9k
  YYDEBUG(607, *YYCURSOR);
14681
63.9k
  yych = *++YYCURSOR;
14682
63.9k
  if (yych <= '5') {
14683
44.3k
    if (yych <= '/') goto yy59;
14684
40.7k
    if (yych <= '0') goto yy797;
14685
32.1k
    if (yych <= '4') goto yy798;
14686
10.4k
    goto yy799;
14687
32.1k
  } else {
14688
19.6k
    if (yych <= 'E') {
14689
10.0k
      if (yych <= 'D') goto yy59;
14690
4.40k
      goto yy269;
14691
10.0k
    } else {
14692
9.61k
      if (yych == 'e') goto yy269;
14693
6.94k
      goto yy59;
14694
9.61k
    }
14695
19.6k
  }
14696
17.9k
yy608:
14697
17.9k
  YYDEBUG(608, *YYCURSOR);
14698
17.9k
  yych = *++YYCURSOR;
14699
17.9k
  if (yych == 'I') goto yy789;
14700
13.6k
  goto yy600;
14701
971k
yy609:
14702
971k
  YYDEBUG(609, *YYCURSOR);
14703
971k
  yych = *++YYCURSOR;
14704
971k
  if (yych <= 0xC1) {
14705
949k
    if (yych <= '/') goto yy196;
14706
849k
    if (yych <= '0') goto yy800;
14707
436k
    if (yych <= '9') goto yy801;
14708
72.2k
    goto yy196;
14709
436k
  } else {
14710
21.7k
    if (yych <= 0xC2) goto yy97;
14711
14.8k
    if (yych == 0xE2) goto yy98;
14712
10.6k
    goto yy196;
14713
14.8k
  }
14714
371k
yy610:
14715
371k
  YYDEBUG(610, *YYCURSOR);
14716
371k
  yych = *++YYCURSOR;
14717
371k
  if (yych <= 0xC1) {
14718
353k
    if (yych <= '/') goto yy196;
14719
312k
    if (yych <= '2') goto yy801;
14720
178k
    if (yych <= '9') goto yy802;
14721
41.9k
    goto yy196;
14722
178k
  } else {
14723
18.2k
    if (yych <= 0xC2) goto yy97;
14724
14.5k
    if (yych == 0xE2) goto yy98;
14725
11.6k
    goto yy196;
14726
14.5k
  }
14727
284k
yy611:
14728
284k
  YYDEBUG(611, *YYCURSOR);
14729
284k
  yych = *++YYCURSOR;
14730
284k
  if (yych <= 0xC1) {
14731
271k
    if (yych <= '/') goto yy196;
14732
234k
    if (yych <= '9') goto yy802;
14733
52.1k
    goto yy196;
14734
234k
  } else {
14735
12.6k
    if (yych <= 0xC2) goto yy97;
14736
9.83k
    if (yych == 0xE2) goto yy98;
14737
6.62k
    goto yy196;
14738
9.83k
  }
14739
452k
yy612:
14740
452k
  YYDEBUG(612, *YYCURSOR);
14741
452k
  yych = *++YYCURSOR;
14742
452k
  if (yych <= '9') {
14743
387k
    if (yych <= '/') goto yy196;
14744
361k
    if (yych <= '5') goto yy802;
14745
156k
    if (yych <= '6') goto yy803;
14746
92.6k
    goto yy782;
14747
156k
  } else {
14748
65.2k
    if (yych <= 0xC2) {
14749
52.4k
      if (yych <= 0xC1) goto yy196;
14750
5.91k
      goto yy97;
14751
52.4k
    } else {
14752
12.8k
      if (yych == 0xE2) goto yy98;
14753
11.3k
      goto yy196;
14754
12.8k
    }
14755
65.2k
  }
14756
20.3k
yy613:
14757
20.3k
  YYDEBUG(613, *YYCURSOR);
14758
20.3k
  yych = *++YYCURSOR;
14759
20.3k
  if (yych == 'L') goto yy253;
14760
16.5k
  if (yych == 'l') goto yy253;
14761
13.5k
  goto yy59;
14762
34.9k
yy614:
14763
34.9k
  YYDEBUG(614, *YYCURSOR);
14764
34.9k
  yych = *++YYCURSOR;
14765
34.9k
  if (yych == 'S') goto yy804;
14766
25.4k
  if (yych == 's') goto yy804;
14767
12.5k
  goto yy59;
14768
29.7k
yy615:
14769
29.7k
  YYDEBUG(615, *YYCURSOR);
14770
29.7k
  ++YYCURSOR;
14771
29.7k
  goto yy260;
14772
48.2k
yy616:
14773
48.2k
  YYDEBUG(616, *YYCURSOR);
14774
48.2k
  yych = *++YYCURSOR;
14775
48.2k
  if (yych == 'M') goto yy626;
14776
32.9k
  if (yych == 'm') goto yy626;
14777
14.6k
  goto yy59;
14778
36.2k
yy617:
14779
36.2k
  YYDEBUG(617, *YYCURSOR);
14780
36.2k
  yych = *++YYCURSOR;
14781
36.2k
  if (yych == 'U') goto yy620;
14782
33.8k
  if (yych == 'u') goto yy620;
14783
18.1k
  goto yy59;
14784
43.1k
yy618:
14785
43.1k
  YYDEBUG(618, *YYCURSOR);
14786
43.1k
  yych = *++YYCURSOR;
14787
43.1k
  if (yych <= 'N') {
14788
22.8k
    if (yych == 'H') goto yy805;
14789
16.9k
    if (yych <= 'M') goto yy59;
14790
5.10k
    goto yy806;
14791
20.3k
  } else {
14792
20.3k
    if (yych <= 'h') {
14793
10.6k
      if (yych <= 'g') goto yy59;
14794
7.67k
      goto yy805;
14795
10.6k
    } else {
14796
9.67k
      if (yych == 'n') goto yy806;
14797
3.14k
      goto yy59;
14798
9.67k
    }
14799
20.3k
  }
14800
77.5k
yy619:
14801
77.5k
  YYDEBUG(619, *YYCURSOR);
14802
77.5k
  yych = *++YYCURSOR;
14803
77.5k
  if (yych <= '/') goto yy251;
14804
63.6k
  if (yych <= '9') goto yy807;
14805
23.8k
  goto yy251;
14806
48.2k
yy620:
14807
48.2k
  YYDEBUG(620, *YYCURSOR);
14808
48.2k
  yych = *++YYCURSOR;
14809
48.2k
  if (yych == 'A') goto yy808;
14810
39.7k
  if (yych == 'a') goto yy808;
14811
15.2k
  goto yy59;
14812
15.8k
yy621:
14813
15.8k
  YYDEBUG(621, *YYCURSOR);
14814
15.8k
  yych = *++YYCURSOR;
14815
15.8k
  if (yych == 'H') goto yy253;
14816
10.5k
  if (yych == 'h') goto yy253;
14817
7.93k
  goto yy59;
14818
64.4k
yy622:
14819
64.4k
  YYDEBUG(622, *YYCURSOR);
14820
64.4k
  yych = *++YYCURSOR;
14821
64.4k
  if (yych == 'O') goto yy809;
14822
30.2k
  if (yych == 'o') goto yy809;
14823
11.9k
  goto yy59;
14824
37.1k
yy623:
14825
37.1k
  YYDEBUG(623, *YYCURSOR);
14826
37.1k
  yych = *++YYCURSOR;
14827
37.1k
  if (yych == 'I') goto yy809;
14828
33.9k
  if (yych == 'i') goto yy809;
14829
26.5k
  goto yy59;
14830
26.5k
yy624:
14831
13.9k
  YYDEBUG(624, *YYCURSOR);
14832
13.9k
  yych = *++YYCURSOR;
14833
13.9k
  if (yych == 'T') goto yy810;
14834
9.98k
  if (yych == 't') goto yy810;
14835
6.18k
  goto yy59;
14836
6.34k
yy625:
14837
6.34k
  YYDEBUG(625, *YYCURSOR);
14838
6.34k
  yych = *++YYCURSOR;
14839
6.34k
  if (yych == 'H') goto yy425;
14840
5.60k
  if (yych == 'h') goto yy425;
14841
3.47k
  goto yy59;
14842
60.7k
yy626:
14843
60.7k
  YYDEBUG(626, *YYCURSOR);
14844
60.7k
  yych = *++YYCURSOR;
14845
60.7k
  if (yych == 'B') goto yy811;
14846
52.2k
  if (yych == 'b') goto yy811;
14847
35.3k
  goto yy59;
14848
35.3k
yy627:
14849
15.6k
  YYDEBUG(627, *YYCURSOR);
14850
15.6k
  yych = *++YYCURSOR;
14851
15.6k
  if (yych == 'R') goto yy630;
14852
12.8k
  if (yych == 'r') goto yy630;
14853
7.91k
  goto yy59;
14854
35.7k
yy628:
14855
35.7k
  YYDEBUG(628, *YYCURSOR);
14856
35.7k
  yych = *++YYCURSOR;
14857
35.7k
  if (yych == 'N') goto yy812;
14858
34.7k
  if (yych == 'n') goto yy812;
14859
12.5k
  goto yy59;
14860
29.7k
yy629:
14861
29.7k
  YYDEBUG(629, *YYCURSOR);
14862
29.7k
  yych = *++YYCURSOR;
14863
29.7k
  if (yych == 'S') goto yy630;
14864
27.6k
  if (yych != 's') goto yy59;
14865
45.6k
yy630:
14866
45.6k
  YYDEBUG(630, *YYCURSOR);
14867
45.6k
  yych = *++YYCURSOR;
14868
45.6k
  if (yych == 'D') goto yy198;
14869
39.5k
  if (yych == 'd') goto yy198;
14870
30.4k
  goto yy59;
14871
30.4k
yy631:
14872
27.7k
  YYDEBUG(631, *YYCURSOR);
14873
27.7k
  yych = *++YYCURSOR;
14874
27.7k
  if (yych == 'E') goto yy629;
14875
24.5k
  if (yych == 'e') goto yy629;
14876
12.2k
  goto yy59;
14877
35.5k
yy632:
14878
35.5k
  YYDEBUG(632, *YYCURSOR);
14879
35.5k
  yyaccept = 6;
14880
35.5k
  yych = *(YYMARKER = ++YYCURSOR);
14881
35.5k
  if (yych <= 'S') {
14882
17.9k
    if (yych == 'D') goto yy198;
14883
13.5k
    if (yych <= 'R') goto yy260;
14884
1.16k
    goto yy615;
14885
17.6k
  } else {
14886
17.6k
    if (yych <= 'd') {
14887
12.4k
      if (yych <= 'c') goto yy260;
14888
7.68k
      goto yy198;
14889
12.4k
    } else {
14890
5.22k
      if (yych == 's') goto yy615;
14891
1.28k
      goto yy260;
14892
5.22k
    }
14893
17.6k
  }
14894
19.7k
yy633:
14895
19.7k
  YYDEBUG(633, *YYCURSOR);
14896
19.7k
  yych = *++YYCURSOR;
14897
19.7k
  if (yych <= ',') goto yy59;
14898
18.1k
  if (yych <= '.') goto yy396;
14899
16.0k
  if (yych <= '/') goto yy59;
14900
14.3k
  if (yych <= '9') goto yy635;
14901
6.04k
  goto yy59;
14902
8.33k
yy634:
14903
8.33k
  YYDEBUG(634, *YYCURSOR);
14904
8.33k
  yych = *++YYCURSOR;
14905
8.33k
  if (yych <= ',') goto yy59;
14906
7.07k
  if (yych <= '.') goto yy396;
14907
6.31k
  if (yych <= '/') goto yy59;
14908
5.25k
  if (yych >= '3') goto yy59;
14909
17.0k
yy635:
14910
17.0k
  YYDEBUG(635, *YYCURSOR);
14911
17.0k
  yych = *++YYCURSOR;
14912
17.0k
  if (yych <= ',') goto yy59;
14913
14.3k
  if (yych <= '.') goto yy396;
14914
10.9k
  goto yy59;
14915
143k
yy636:
14916
143k
  YYDEBUG(636, *YYCURSOR);
14917
143k
  yyaccept = 4;
14918
143k
  yych = *(YYMARKER = ++YYCURSOR);
14919
143k
  if (yych == '.') goto yy744;
14920
136k
  if (yych <= '/') goto yy177;
14921
125k
  if (yych <= '9') goto yy813;
14922
26.6k
  goto yy177;
14923
26.6k
yy637:
14924
18.1k
  YYDEBUG(637, *YYCURSOR);
14925
18.1k
  yyaccept = 4;
14926
18.1k
  yych = *(YYMARKER = ++YYCURSOR);
14927
18.1k
  if (yych <= '/') {
14928
3.47k
    if (yych == '.') goto yy744;
14929
1.58k
    goto yy177;
14930
14.6k
  } else {
14931
14.6k
    if (yych <= '0') goto yy813;
14932
11.5k
    if (yych <= '9') goto yy738;
14933
5.16k
    goto yy177;
14934
11.5k
  }
14935
381k
yy638:
14936
381k
  YYDEBUG(638, *YYCURSOR);
14937
381k
  ++YYCURSOR;
14938
381k
  if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
14939
381k
  yych = *YYCURSOR;
14940
381k
  YYDEBUG(639, *YYCURSOR);
14941
381k
  if (yych <= 'A') {
14942
320k
    if (yych <= 0x1F) {
14943
166k
      if (yych == '\t') goto yy638;
14944
16.5k
      goto yy59;
14945
166k
    } else {
14946
154k
      if (yych <= ' ') goto yy638;
14947
83.1k
      if (yych <= '@') goto yy59;
14948
17.7k
      goto yy106;
14949
83.1k
    }
14950
320k
  } else {
14951
60.3k
    if (yych <= '`') {
14952
22.4k
      if (yych == 'P') goto yy106;
14953
15.0k
      goto yy59;
14954
37.9k
    } else {
14955
37.9k
      if (yych <= 'a') goto yy106;
14956
28.1k
      if (yych == 'p') goto yy106;
14957
25.0k
      goto yy59;
14958
28.1k
    }
14959
60.3k
  }
14960
86.8k
yy640:
14961
86.8k
  YYDEBUG(640, *YYCURSOR);
14962
86.8k
  ++YYCURSOR;
14963
86.8k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
14964
86.8k
  yych = *YYCURSOR;
14965
86.8k
  if (yych == 0xA0) goto yy814;
14966
14.9k
  goto yy59;
14967
68.6k
yy641:
14968
68.6k
  YYDEBUG(641, *YYCURSOR);
14969
68.6k
  ++YYCURSOR;
14970
68.6k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
14971
68.6k
  yych = *YYCURSOR;
14972
68.6k
  if (yych == 0x80) goto yy815;
14973
16.5k
  goto yy59;
14974
192k
yy642:
14975
192k
  YYDEBUG(642, *YYCURSOR);
14976
192k
  yyaccept = 4;
14977
192k
  yych = *(YYMARKER = ++YYCURSOR);
14978
192k
  if (yych == '.') goto yy744;
14979
181k
  if (yych <= '/') goto yy177;
14980
160k
  if (yych <= '9') goto yy816;
14981
24.4k
  goto yy177;
14982
24.4k
yy643:
14983
12.3k
  YYDEBUG(643, *YYCURSOR);
14984
12.3k
  yyaccept = 4;
14985
12.3k
  yych = *(YYMARKER = ++YYCURSOR);
14986
12.3k
  if (yych == '.') goto yy744;
14987
9.06k
  if (yych == '0') goto yy816;
14988
5.08k
  goto yy177;
14989
347k
yy644:
14990
347k
  YYDEBUG(644, *YYCURSOR);
14991
347k
  yych = *++YYCURSOR;
14992
347k
  if (yych <= '/') goto yy59;
14993
320k
  if (yych <= '5') goto yy817;
14994
59.2k
  if (yych <= '6') goto yy818;
14995
32.9k
  if (yych <= '9') goto yy575;
14996
28.3k
  goto yy59;
14997
175k
yy645:
14998
175k
  YYDEBUG(645, *YYCURSOR);
14999
175k
  yych = *++YYCURSOR;
15000
175k
  if (yych <= '/') goto yy59;
15001
156k
  if (yych <= '2') goto yy819;
15002
82.1k
  if (yych <= '3') goto yy820;
15003
34.4k
  if (yych <= '9') goto yy821;
15004
20.0k
  goto yy59;
15005
144k
yy646:
15006
144k
  YYDEBUG(646, *YYCURSOR);
15007
144k
  yych = *++YYCURSOR;
15008
144k
  if (yych == '-') goto yy822;
15009
54.4k
  goto yy59;
15010
54.4k
yy647:
15011
29.1k
  YYDEBUG(647, *YYCURSOR);
15012
29.1k
  yych = *++YYCURSOR;
15013
29.1k
  if (yych == 'R') goto yy823;
15014
23.5k
  if (yych == 'r') goto yy823;
15015
18.8k
  goto yy59;
15016
25.0k
yy648:
15017
25.0k
  YYDEBUG(648, *YYCURSOR);
15018
25.0k
  yych = *++YYCURSOR;
15019
25.0k
  if (yych == 'G') goto yy823;
15020
18.1k
  if (yych == 'g') goto yy823;
15021
14.0k
  goto yy59;
15022
23.7k
yy649:
15023
23.7k
  YYDEBUG(649, *YYCURSOR);
15024
23.7k
  yych = *++YYCURSOR;
15025
23.7k
  if (yych == 'C') goto yy823;
15026
17.9k
  if (yych == 'c') goto yy823;
15027
9.81k
  goto yy59;
15028
38.4k
yy650:
15029
38.4k
  YYDEBUG(650, *YYCURSOR);
15030
38.4k
  yych = *++YYCURSOR;
15031
38.4k
  if (yych == 'B') goto yy823;
15032
29.6k
  if (yych == 'b') goto yy823;
15033
13.5k
  goto yy59;
15034
33.0k
yy651:
15035
33.0k
  YYDEBUG(651, *YYCURSOR);
15036
33.0k
  yych = *++YYCURSOR;
15037
33.0k
  if (yych == 'N') goto yy823;
15038
29.2k
  if (yych == 'n') goto yy823;
15039
12.1k
  goto yy59;
15040
54.0k
yy652:
15041
54.0k
  YYDEBUG(652, *YYCURSOR);
15042
54.0k
  yych = *++YYCURSOR;
15043
54.0k
  if (yych <= 'N') {
15044
15.5k
    if (yych == 'L') goto yy823;
15045
11.7k
    if (yych <= 'M') goto yy59;
15046
3.79k
    goto yy823;
15047
38.4k
  } else {
15048
38.4k
    if (yych <= 'l') {
15049
19.4k
      if (yych <= 'k') goto yy59;
15050
13.1k
      goto yy823;
15051
19.4k
    } else {
15052
19.0k
      if (yych == 'n') goto yy823;
15053
7.81k
      goto yy59;
15054
19.0k
    }
15055
38.4k
  }
15056
58.8k
yy653:
15057
58.8k
  YYDEBUG(653, *YYCURSOR);
15058
58.8k
  yych = *++YYCURSOR;
15059
58.8k
  if (yych <= 'Y') {
15060
29.7k
    if (yych == 'R') goto yy823;
15061
15.7k
    if (yych <= 'X') goto yy59;
15062
7.84k
    goto yy823;
15063
29.1k
  } else {
15064
29.1k
    if (yych <= 'r') {
15065
10.4k
      if (yych <= 'q') goto yy59;
15066
6.92k
      goto yy823;
15067
18.6k
    } else {
15068
18.6k
      if (yych == 'y') goto yy823;
15069
8.47k
      goto yy59;
15070
18.6k
    }
15071
29.1k
  }
15072
29.1k
yy654:
15073
29.1k
  YYDEBUG(654, *YYCURSOR);
15074
29.1k
  yych = *++YYCURSOR;
15075
29.1k
  if (yych == 'V') goto yy823;
15076
25.9k
  if (yych == 'v') goto yy823;
15077
16.9k
  goto yy59;
15078
19.5k
yy655:
15079
19.5k
  YYDEBUG(655, *YYCURSOR);
15080
19.5k
  yych = *++YYCURSOR;
15081
19.5k
  if (yych == 'T') goto yy823;
15082
9.05k
  if (yych == 't') goto yy823;
15083
5.84k
  goto yy59;
15084
59.1k
yy656:
15085
59.1k
  YYDEBUG(656, *YYCURSOR);
15086
59.1k
  yych = *++YYCURSOR;
15087
59.1k
  if (yych == 'P') goto yy824;
15088
42.9k
  if (yych == 'p') goto yy824;
15089
18.8k
  goto yy59;
15090
32.3k
yy657:
15091
32.3k
  YYDEBUG(657, *YYCURSOR);
15092
32.3k
  yych = *++YYCURSOR;
15093
32.3k
  if (yych <= '/') goto yy290;
15094
28.2k
  if (yych <= '9') goto yy825;
15095
5.15k
  goto yy290;
15096
17.2M
yy658:
15097
17.2M
  YYDEBUG(658, *YYCURSOR);
15098
17.2M
  yych = *++YYCURSOR;
15099
17.2M
  if (yych <= '@') {
15100
3.79M
    if (yych == ')') goto yy115;
15101
3.69M
    goto yy20;
15102
13.4M
  } else {
15103
13.4M
    if (yych <= 'Z') goto yy826;
15104
9.63M
    if (yych <= '`') goto yy20;
15105
9.18M
    if (yych <= 'z') goto yy826;
15106
846k
    goto yy20;
15107
9.18M
  }
15108
188k
yy659:
15109
188k
  YYDEBUG(659, *YYCURSOR);
15110
188k
  yych = *++YYCURSOR;
15111
188k
  if (yych <= '9') {
15112
121k
    if (yych <= ' ') {
15113
26.9k
      if (yych <= 0x08) {
15114
12.7k
        if (yych <= 0x00) goto yy324;
15115
7.54k
        goto yy59;
15116
14.1k
      } else {
15117
14.1k
        if (yych <= '\t') goto yy326;
15118
11.1k
        if (yych <= 0x1F) goto yy59;
15119
2.44k
        goto yy326;
15120
11.1k
      }
15121
94.6k
    } else {
15122
94.6k
      if (yych <= '-') {
15123
10.8k
        if (yych == ',') goto yy326;
15124
5.35k
        goto yy59;
15125
83.7k
      } else {
15126
83.7k
        if (yych <= '.') goto yy326;
15127
82.4k
        if (yych <= '/') goto yy59;
15128
80.7k
        goto yy827;
15129
82.4k
      }
15130
94.6k
    }
15131
121k
  } else {
15132
67.4k
    if (yych <= 'm') {
15133
25.0k
      if (yych <= 'd') {
15134
17.8k
        if (yych <= 'c') goto yy59;
15135
6.95k
        goto yy326;
15136
17.8k
      } else {
15137
7.18k
        if (yych == 'h') goto yy326;
15138
3.46k
        goto yy59;
15139
7.18k
      }
15140
42.3k
    } else {
15141
42.3k
      if (yych <= 'r') {
15142
15.9k
        if (yych <= 'n') goto yy329;
15143
10.8k
        if (yych <= 'q') goto yy59;
15144
3.12k
        goto yy329;
15145
26.3k
      } else {
15146
26.3k
        if (yych <= 's') goto yy330;
15147
22.0k
        if (yych <= 't') goto yy331;
15148
18.5k
        goto yy59;
15149
22.0k
      }
15150
42.3k
    }
15151
67.4k
  }
15152
107k
yy660:
15153
107k
  YYDEBUG(660, *YYCURSOR);
15154
107k
  yych = *++YYCURSOR;
15155
107k
  if (yych <= '1') {
15156
57.5k
    if (yych <= ' ') {
15157
13.5k
      if (yych <= 0x08) {
15158
7.15k
        if (yych <= 0x00) goto yy324;
15159
2.17k
        goto yy59;
15160
7.15k
      } else {
15161
6.37k
        if (yych <= '\t') goto yy326;
15162
5.91k
        if (yych <= 0x1F) goto yy59;
15163
3.38k
        goto yy326;
15164
5.91k
      }
15165
44.0k
    } else {
15166
44.0k
      if (yych <= '-') {
15167
9.29k
        if (yych == ',') goto yy326;
15168
6.24k
        goto yy59;
15169
34.7k
      } else {
15170
34.7k
        if (yych <= '.') goto yy326;
15171
33.1k
        if (yych <= '/') goto yy59;
15172
32.5k
        goto yy827;
15173
33.1k
      }
15174
44.0k
    }
15175
57.5k
  } else {
15176
50.3k
    if (yych <= 'm') {
15177
22.9k
      if (yych <= 'd') {
15178
15.9k
        if (yych <= '9') goto yy332;
15179
7.36k
        if (yych <= 'c') goto yy59;
15180
2.61k
        goto yy326;
15181
7.36k
      } else {
15182
6.95k
        if (yych == 'h') goto yy326;
15183
5.14k
        goto yy59;
15184
6.95k
      }
15185
27.4k
    } else {
15186
27.4k
      if (yych <= 'r') {
15187
17.7k
        if (yych <= 'n') goto yy329;
15188
14.5k
        if (yych <= 'q') goto yy59;
15189
4.14k
        goto yy329;
15190
14.5k
      } else {
15191
9.64k
        if (yych <= 's') goto yy330;
15192
7.76k
        if (yych <= 't') goto yy331;
15193
5.75k
        goto yy59;
15194
7.76k
      }
15195
27.4k
    }
15196
50.3k
  }
15197
49.4k
yy661:
15198
49.4k
  YYDEBUG(661, *YYCURSOR);
15199
49.4k
  yyaccept = 7;
15200
49.4k
  yych = *(YYMARKER = ++YYCURSOR);
15201
49.4k
  if (yych <= ',') {
15202
13.9k
    if (yych <= 0x1F) {
15203
6.48k
      if (yych == '\t') goto yy142;
15204
4.01k
      goto yy295;
15205
7.48k
    } else {
15206
7.48k
      if (yych <= ' ') goto yy142;
15207
5.59k
      if (yych == ')') goto yy115;
15208
3.72k
      goto yy295;
15209
5.59k
    }
15210
35.4k
  } else {
15211
35.4k
    if (yych <= '@') {
15212
11.8k
      if (yych == '/') goto yy295;
15213
8.85k
      if (yych <= '9') goto yy142;
15214
1.99k
      goto yy295;
15215
23.5k
    } else {
15216
23.5k
      if (yych <= 'Z') goto yy826;
15217
19.0k
      if (yych <= '`') goto yy295;
15218
12.5k
      if (yych <= 'z') goto yy826;
15219
9.50k
      goto yy295;
15220
12.5k
    }
15221
35.4k
  }
15222
55.4k
yy662:
15223
55.4k
  YYDEBUG(662, *YYCURSOR);
15224
55.4k
  yych = *++YYCURSOR;
15225
55.4k
  if (yych <= 'T') {
15226
22.3k
    if (yych <= ')') {
15227
5.67k
      if (yych <= '(') goto yy20;
15228
4.16k
      goto yy115;
15229
16.6k
    } else {
15230
16.6k
      if (yych <= '@') goto yy20;
15231
15.6k
      if (yych <= 'S') goto yy826;
15232
13.4k
      goto yy828;
15233
15.6k
    }
15234
33.1k
  } else {
15235
33.1k
    if (yych <= 's') {
15236
10.6k
      if (yych <= 'Z') goto yy826;
15237
7.22k
      if (yych <= '`') goto yy20;
15238
5.36k
      goto yy826;
15239
22.4k
    } else {
15240
22.4k
      if (yych <= 't') goto yy828;
15241
11.6k
      if (yych <= 'z') goto yy826;
15242
4.41k
      goto yy20;
15243
11.6k
    }
15244
33.1k
  }
15245
2.58M
yy663:
15246
2.58M
  YYDEBUG(663, *YYCURSOR);
15247
2.58M
  yyaccept = 2;
15248
2.58M
  yych = *(YYMARKER = ++YYCURSOR);
15249
2.58M
  if (yych <= '/') {
15250
449k
    if (yych <= ',') {
15251
393k
      if (yych == ')') goto yy115;
15252
378k
      goto yy20;
15253
393k
    } else {
15254
55.6k
      if (yych == '.') goto yy20;
15255
43.3k
      goto yy297;
15256
55.6k
    }
15257
2.13M
  } else {
15258
2.13M
    if (yych <= '^') {
15259
449k
      if (yych <= '@') goto yy20;
15260
279k
      if (yych <= 'Z') goto yy826;
15261
25.2k
      goto yy20;
15262
1.68M
    } else {
15263
1.68M
      if (yych <= '_') goto yy297;
15264
1.65M
      if (yych <= '`') goto yy20;
15265
1.62M
      if (yych <= 'z') goto yy829;
15266
103k
      goto yy20;
15267
1.62M
    }
15268
2.13M
  }
15269
53.9k
yy664:
15270
53.9k
  YYDEBUG(664, *YYCURSOR);
15271
53.9k
  yyaccept = 7;
15272
53.9k
  yych = *(YYMARKER = ++YYCURSOR);
15273
53.9k
  if (yych <= '.') {
15274
20.7k
    if (yych <= ' ') {
15275
11.0k
      if (yych == '\t') goto yy142;
15276
3.40k
      if (yych <= 0x1F) goto yy295;
15277
1.19k
      goto yy142;
15278
9.64k
    } else {
15279
9.64k
      if (yych <= ')') {
15280
5.12k
        if (yych <= '(') goto yy295;
15281
1.71k
        goto yy115;
15282
5.12k
      } else {
15283
4.51k
        if (yych <= ',') goto yy295;
15284
2.82k
        if (yych <= '-') goto yy700;
15285
1.86k
        goto yy142;
15286
2.82k
      }
15287
9.64k
    }
15288
33.2k
  } else {
15289
33.2k
    if (yych <= 'Z') {
15290
11.9k
      if (yych <= '/') goto yy297;
15291
9.62k
      if (yych <= '9') goto yy142;
15292
4.93k
      if (yych <= '@') goto yy295;
15293
2.81k
      goto yy826;
15294
21.3k
    } else {
15295
21.3k
      if (yych <= '_') {
15296
3.39k
        if (yych <= '^') goto yy295;
15297
645
        goto yy297;
15298
17.9k
      } else {
15299
17.9k
        if (yych <= '`') goto yy295;
15300
15.0k
        if (yych <= 'z') goto yy829;
15301
8.40k
        goto yy295;
15302
15.0k
      }
15303
21.3k
    }
15304
33.2k
  }
15305
87.2k
yy665:
15306
87.2k
  YYDEBUG(665, *YYCURSOR);
15307
87.2k
  yyaccept = 2;
15308
87.2k
  yych = *(YYMARKER = ++YYCURSOR);
15309
87.2k
  if (yych <= 'S') {
15310
15.3k
    if (yych <= '-') {
15311
6.41k
      if (yych == ')') goto yy115;
15312
4.77k
      if (yych <= ',') goto yy20;
15313
1.34k
      goto yy297;
15314
8.90k
    } else {
15315
8.90k
      if (yych == '/') goto yy297;
15316
5.95k
      if (yych <= '@') goto yy20;
15317
1.98k
      goto yy826;
15318
5.95k
    }
15319
71.9k
  } else {
15320
71.9k
    if (yych <= '_') {
15321
19.0k
      if (yych <= 'T') goto yy828;
15322
14.6k
      if (yych <= 'Z') goto yy826;
15323
8.37k
      if (yych <= '^') goto yy20;
15324
1.26k
      goto yy297;
15325
52.8k
    } else {
15326
52.8k
      if (yych <= 's') {
15327
6.68k
        if (yych <= '`') goto yy20;
15328
5.76k
        goto yy829;
15329
46.1k
      } else {
15330
46.1k
        if (yych <= 't') goto yy830;
15331
9.41k
        if (yych <= 'z') goto yy829;
15332
4.30k
        goto yy20;
15333
9.41k
      }
15334
52.8k
    }
15335
71.9k
  }
15336
223k
yy666:
15337
223k
  YYDEBUG(666, *YYCURSOR);
15338
223k
  yych = *++YYCURSOR;
15339
223k
  if (yych == 'O') goto yy831;
15340
216k
  if (yych == 'o') goto yy831;
15341
23.4k
  goto yy59;
15342
54.0k
yy667:
15343
54.0k
  YYDEBUG(667, *YYCURSOR);
15344
54.0k
  yych = *++YYCURSOR;
15345
54.0k
  if (yych <= 'B') {
15346
19.8k
    if (yych <= ')') {
15347
7.10k
      if (yych <= '(') goto yy20;
15348
2.02k
      goto yy115;
15349
12.7k
    } else {
15350
12.7k
      if (yych <= '@') goto yy20;
15351
5.35k
      if (yych <= 'A') goto yy826;
15352
3.75k
      goto yy832;
15353
5.35k
    }
15354
34.1k
  } else {
15355
34.1k
    if (yych <= 'a') {
15356
7.60k
      if (yych <= 'Z') goto yy826;
15357
3.64k
      if (yych <= '`') goto yy20;
15358
2.17k
      goto yy826;
15359
26.5k
    } else {
15360
26.5k
      if (yych <= 'b') goto yy832;
15361
11.8k
      if (yych <= 'z') goto yy826;
15362
8.03k
      goto yy20;
15363
11.8k
    }
15364
34.1k
  }
15365
69.2k
yy668:
15366
69.2k
  YYDEBUG(668, *YYCURSOR);
15367
69.2k
  yyaccept = 2;
15368
69.2k
  yych = *(YYMARKER = ++YYCURSOR);
15369
69.2k
  if (yych <= 'A') {
15370
13.5k
    if (yych <= '-') {
15371
8.42k
      if (yych == ')') goto yy115;
15372
7.45k
      if (yych <= ',') goto yy20;
15373
5.54k
      goto yy297;
15374
7.45k
    } else {
15375
5.14k
      if (yych == '/') goto yy297;
15376
3.89k
      if (yych <= '@') goto yy20;
15377
1.88k
      goto yy826;
15378
3.89k
    }
15379
55.6k
  } else {
15380
55.6k
    if (yych <= '_') {
15381
10.4k
      if (yych <= 'B') goto yy832;
15382
8.06k
      if (yych <= 'Z') goto yy826;
15383
5.50k
      if (yych <= '^') goto yy20;
15384
3.82k
      goto yy297;
15385
45.2k
    } else {
15386
45.2k
      if (yych <= 'a') {
15387
5.68k
        if (yych <= '`') goto yy20;
15388
2.60k
        goto yy829;
15389
39.5k
      } else {
15390
39.5k
        if (yych <= 'b') goto yy833;
15391
9.16k
        if (yych <= 'z') goto yy829;
15392
1.68k
        goto yy20;
15393
9.16k
      }
15394
45.2k
    }
15395
55.6k
  }
15396
222k
yy669:
15397
222k
  YYDEBUG(669, *YYCURSOR);
15398
222k
  yyaccept = 2;
15399
222k
  yych = *(YYMARKER = ++YYCURSOR);
15400
222k
  if (yych <= 'H') {
15401
121k
    if (yych <= ' ') {
15402
59.2k
      if (yych == '\t') goto yy834;
15403
23.2k
      if (yych <= 0x1F) goto yy20;
15404
16.1k
      goto yy834;
15405
62.0k
    } else {
15406
62.0k
      if (yych <= ')') {
15407
10.1k
        if (yych <= '(') goto yy20;
15408
1.82k
        goto yy115;
15409
51.9k
      } else {
15410
51.9k
        if (yych <= '@') goto yy20;
15411
14.7k
        if (yych <= 'G') goto yy826;
15412
11.0k
        goto yy836;
15413
14.7k
      }
15414
62.0k
    }
15415
121k
  } else {
15416
101k
    if (yych <= 'z') {
15417
72.6k
      if (yych <= '`') {
15418
8.06k
        if (yych <= 'Z') goto yy826;
15419
4.01k
        goto yy20;
15420
64.5k
      } else {
15421
64.5k
        if (yych == 'h') goto yy836;
15422
8.19k
        goto yy826;
15423
64.5k
      }
15424
72.6k
    } else {
15425
28.7k
      if (yych <= 0xC2) {
15426
11.7k
        if (yych <= 0xC1) goto yy20;
15427
5.93k
        goto yy837;
15428
16.9k
      } else {
15429
16.9k
        if (yych == 0xE2) goto yy838;
15430
11.3k
        goto yy20;
15431
16.9k
      }
15432
28.7k
    }
15433
101k
  }
15434
61.9k
yy670:
15435
61.9k
  YYDEBUG(670, *YYCURSOR);
15436
61.9k
  yych = *++YYCURSOR;
15437
61.9k
  if (yych <= 'N') {
15438
22.8k
    if (yych <= ')') {
15439
10.7k
      if (yych <= '(') goto yy20;
15440
5.51k
      goto yy115;
15441
12.1k
    } else {
15442
12.1k
      if (yych <= '@') goto yy20;
15443
6.00k
      if (yych <= 'M') goto yy826;
15444
2.69k
      goto yy839;
15445
6.00k
    }
15446
39.0k
  } else {
15447
39.0k
    if (yych <= 'm') {
15448
12.1k
      if (yych <= 'Z') goto yy826;
15449
7.25k
      if (yych <= '`') goto yy20;
15450
1.45k
      goto yy826;
15451
26.9k
    } else {
15452
26.9k
      if (yych <= 'n') goto yy839;
15453
6.22k
      if (yych <= 'z') goto yy826;
15454
1.83k
      goto yy20;
15455
6.22k
    }
15456
39.0k
  }
15457
102k
yy671:
15458
102k
  YYDEBUG(671, *YYCURSOR);
15459
102k
  yyaccept = 2;
15460
102k
  yych = *(YYMARKER = ++YYCURSOR);
15461
102k
  if (yych <= 'G') {
15462
38.0k
    if (yych <= ')') {
15463
23.2k
      if (yych <= 0x1F) {
15464
4.57k
        if (yych == '\t') goto yy834;
15465
3.21k
        goto yy20;
15466
18.6k
      } else {
15467
18.6k
        if (yych <= ' ') goto yy834;
15468
5.22k
        if (yych <= '(') goto yy20;
15469
1.87k
        goto yy115;
15470
5.22k
      }
15471
23.2k
    } else {
15472
14.7k
      if (yych <= '.') {
15473
8.12k
        if (yych == '-') goto yy297;
15474
1.54k
        goto yy20;
15475
8.12k
      } else {
15476
6.63k
        if (yych <= '/') goto yy297;
15477
5.25k
        if (yych <= '@') goto yy20;
15478
1.95k
        goto yy826;
15479
5.25k
      }
15480
14.7k
    }
15481
64.2k
  } else {
15482
64.2k
    if (yych <= 'g') {
15483
19.1k
      if (yych <= '^') {
15484
9.25k
        if (yych <= 'H') goto yy836;
15485
7.13k
        if (yych <= 'Z') goto yy826;
15486
925
        goto yy20;
15487
9.89k
      } else {
15488
9.89k
        if (yych <= '_') goto yy297;
15489
7.11k
        if (yych <= '`') goto yy20;
15490
4.39k
        goto yy829;
15491
7.11k
      }
15492
45.0k
    } else {
15493
45.0k
      if (yych <= 0xC1) {
15494
32.7k
        if (yych <= 'h') goto yy840;
15495
7.20k
        if (yych <= 'z') goto yy829;
15496
3.35k
        goto yy20;
15497
12.2k
      } else {
15498
12.2k
        if (yych <= 0xC2) goto yy837;
15499
7.11k
        if (yych == 0xE2) goto yy838;
15500
5.94k
        goto yy20;
15501
7.11k
      }
15502
45.0k
    }
15503
64.2k
  }
15504
86.7k
yy672:
15505
86.7k
  YYDEBUG(672, *YYCURSOR);
15506
86.7k
  yyaccept = 2;
15507
86.7k
  yych = *(YYMARKER = ++YYCURSOR);
15508
86.7k
  if (yych <= 'M') {
15509
11.3k
    if (yych <= '-') {
15510
6.18k
      if (yych == ')') goto yy115;
15511
4.32k
      if (yych <= ',') goto yy20;
15512
2.98k
      goto yy297;
15513
5.17k
    } else {
15514
5.17k
      if (yych == '/') goto yy297;
15515
3.97k
      if (yych <= '@') goto yy20;
15516
1.74k
      goto yy826;
15517
3.97k
    }
15518
75.4k
  } else {
15519
75.4k
    if (yych <= '_') {
15520
8.48k
      if (yych <= 'N') goto yy839;
15521
6.33k
      if (yych <= 'Z') goto yy826;
15522
3.50k
      if (yych <= '^') goto yy20;
15523
2.02k
      goto yy297;
15524
66.9k
    } else {
15525
66.9k
      if (yych <= 'm') {
15526
8.81k
        if (yych <= '`') goto yy20;
15527
6.36k
        goto yy829;
15528
58.1k
      } else {
15529
58.1k
        if (yych <= 'n') goto yy841;
15530
12.4k
        if (yych <= 'z') goto yy829;
15531
4.22k
        goto yy20;
15532
12.4k
      }
15533
66.9k
    }
15534
75.4k
  }
15535
39.0k
yy673:
15536
39.0k
  YYDEBUG(673, *YYCURSOR);
15537
39.0k
  yych = *++YYCURSOR;
15538
39.0k
  if (yych <= 'A') {
15539
18.4k
    if (yych == ')') goto yy115;
15540
15.8k
    if (yych <= '@') goto yy20;
15541
2.83k
    goto yy842;
15542
20.5k
  } else {
15543
20.5k
    if (yych <= '`') {
15544
8.87k
      if (yych <= 'Z') goto yy826;
15545
5.39k
      goto yy20;
15546
11.7k
    } else {
15547
11.7k
      if (yych <= 'a') goto yy842;
15548
5.05k
      if (yych <= 'z') goto yy826;
15549
3.18k
      goto yy20;
15550
5.05k
    }
15551
20.5k
  }
15552
162k
yy674:
15553
162k
  YYDEBUG(674, *YYCURSOR);
15554
162k
  yyaccept = 2;
15555
162k
  yych = *(YYMARKER = ++YYCURSOR);
15556
162k
  if (yych <= '@') {
15557
91.9k
    if (yych <= 0x1F) {
15558
51.5k
      if (yych == '\t') goto yy834;
15559
5.23k
      goto yy20;
15560
51.5k
    } else {
15561
40.3k
      if (yych <= ' ') goto yy834;
15562
12.7k
      if (yych == ')') goto yy115;
15563
9.97k
      goto yy20;
15564
12.7k
    }
15565
91.9k
  } else {
15566
71.0k
    if (yych <= 0xC1) {
15567
22.4k
      if (yych <= 'Z') goto yy826;
15568
13.8k
      if (yych <= '`') goto yy20;
15569
13.0k
      if (yych <= 'z') goto yy826;
15570
3.84k
      goto yy20;
15571
48.5k
    } else {
15572
48.5k
      if (yych <= 0xC2) goto yy837;
15573
10.2k
      if (yych == 0xE2) goto yy838;
15574
4.50k
      goto yy20;
15575
10.2k
    }
15576
71.0k
  }
15577
124k
yy675:
15578
124k
  YYDEBUG(675, *YYCURSOR);
15579
124k
  yyaccept = 2;
15580
124k
  yych = *(YYMARKER = ++YYCURSOR);
15581
124k
  if (yych <= '@') {
15582
86.1k
    if (yych <= 0x1F) {
15583
10.6k
      if (yych == '\t') goto yy834;
15584
5.85k
      goto yy20;
15585
75.5k
    } else {
15586
75.5k
      if (yych <= ' ') goto yy843;
15587
7.85k
      if (yych == ')') goto yy115;
15588
6.55k
      goto yy20;
15589
7.85k
    }
15590
86.1k
  } else {
15591
38.6k
    if (yych <= 0xC1) {
15592
18.9k
      if (yych <= 'Z') goto yy826;
15593
13.2k
      if (yych <= '`') goto yy20;
15594
7.65k
      if (yych <= 'z') goto yy826;
15595
3.73k
      goto yy20;
15596
19.6k
    } else {
15597
19.6k
      if (yych <= 0xC2) goto yy837;
15598
6.36k
      if (yych == 0xE2) goto yy838;
15599
3.14k
      goto yy20;
15600
6.36k
    }
15601
38.6k
  }
15602
51.3k
yy676:
15603
51.3k
  YYDEBUG(676, *YYCURSOR);
15604
51.3k
  yych = *++YYCURSOR;
15605
51.3k
  if (yych <= 'H') {
15606
22.8k
    if (yych <= ')') {
15607
7.33k
      if (yych <= '(') goto yy20;
15608
4.16k
      goto yy115;
15609
15.5k
    } else {
15610
15.5k
      if (yych <= '@') goto yy20;
15611
11.3k
      if (yych <= 'G') goto yy826;
15612
9.50k
      goto yy836;
15613
11.3k
    }
15614
28.5k
  } else {
15615
28.5k
    if (yych <= 'g') {
15616
10.8k
      if (yych <= 'Z') goto yy826;
15617
8.09k
      if (yych <= '`') goto yy20;
15618
4.10k
      goto yy826;
15619
17.6k
    } else {
15620
17.6k
      if (yych <= 'h') goto yy836;
15621
8.31k
      if (yych <= 'z') goto yy826;
15622
3.53k
      goto yy20;
15623
8.31k
    }
15624
28.5k
  }
15625
57.9k
yy677:
15626
57.9k
  YYDEBUG(677, *YYCURSOR);
15627
57.9k
  yych = *++YYCURSOR;
15628
57.9k
  if (yych <= 'Y') {
15629
20.0k
    if (yych <= ')') {
15630
5.64k
      if (yych <= '(') goto yy20;
15631
2.45k
      goto yy115;
15632
14.3k
    } else {
15633
14.3k
      if (yych <= '@') goto yy20;
15634
11.8k
      if (yych <= 'X') goto yy826;
15635
9.26k
      goto yy844;
15636
11.8k
    }
15637
37.9k
  } else {
15638
37.9k
    if (yych <= 'x') {
15639
8.93k
      if (yych <= 'Z') goto yy826;
15640
6.79k
      if (yych <= '`') goto yy20;
15641
3.10k
      goto yy826;
15642
29.0k
    } else {
15643
29.0k
      if (yych <= 'y') goto yy844;
15644
7.42k
      if (yych <= 'z') goto yy826;
15645
4.93k
      goto yy20;
15646
7.42k
    }
15647
37.9k
  }
15648
47.5k
yy678:
15649
47.5k
  YYDEBUG(678, *YYCURSOR);
15650
47.5k
  yyaccept = 2;
15651
47.5k
  yych = *(YYMARKER = ++YYCURSOR);
15652
47.5k
  if (yych <= ')') {
15653
29.6k
    if (yych == ' ') goto yy666;
15654
4.18k
    if (yych <= '(') goto yy20;
15655
3.26k
    goto yy115;
15656
17.9k
  } else {
15657
17.9k
    if (yych <= 'Z') {
15658
7.78k
      if (yych <= '@') goto yy20;
15659
4.33k
      goto yy826;
15660
10.1k
    } else {
15661
10.1k
      if (yych <= '`') goto yy20;
15662
8.06k
      if (yych <= 'z') goto yy826;
15663
4.57k
      goto yy20;
15664
8.06k
    }
15665
17.9k
  }
15666
73.1k
yy679:
15667
73.1k
  YYDEBUG(679, *YYCURSOR);
15668
73.1k
  yyaccept = 2;
15669
73.1k
  yych = *(YYMARKER = ++YYCURSOR);
15670
73.1k
  if (yych <= '@') {
15671
16.3k
    if (yych <= ',') {
15672
6.15k
      if (yych == ')') goto yy115;
15673
3.09k
      goto yy20;
15674
10.1k
    } else {
15675
10.1k
      if (yych == '.') goto yy20;
15676
9.31k
      if (yych <= '/') goto yy297;
15677
6.13k
      goto yy20;
15678
9.31k
    }
15679
56.8k
  } else {
15680
56.8k
    if (yych <= '_') {
15681
6.69k
      if (yych <= 'A') goto yy842;
15682
5.97k
      if (yych <= 'Z') goto yy826;
15683
4.28k
      if (yych <= '^') goto yy20;
15684
1.18k
      goto yy297;
15685
50.1k
    } else {
15686
50.1k
      if (yych <= '`') goto yy20;
15687
49.0k
      if (yych <= 'a') goto yy845;
15688
7.41k
      if (yych <= 'z') goto yy829;
15689
4.56k
      goto yy20;
15690
7.41k
    }
15691
56.8k
  }
15692
114k
yy680:
15693
114k
  YYDEBUG(680, *YYCURSOR);
15694
114k
  yyaccept = 2;
15695
114k
  yych = *(YYMARKER = ++YYCURSOR);
15696
114k
  if (yych <= '/') {
15697
54.5k
    if (yych <= '(') {
15698
44.6k
      if (yych <= '\t') {
15699
5.15k
        if (yych <= 0x08) goto yy20;
15700
3.18k
        goto yy834;
15701
39.4k
      } else {
15702
39.4k
        if (yych == ' ') goto yy834;
15703
4.91k
        goto yy20;
15704
39.4k
      }
15705
44.6k
    } else {
15706
9.96k
      if (yych <= ',') {
15707
5.97k
        if (yych <= ')') goto yy115;
15708
4.45k
        goto yy20;
15709
5.97k
      } else {
15710
3.98k
        if (yych == '.') goto yy20;
15711
2.08k
        goto yy297;
15712
3.98k
      }
15713
9.96k
    }
15714
60.3k
  } else {
15715
60.3k
    if (yych <= '`') {
15716
21.1k
      if (yych <= 'Z') {
15717
13.1k
        if (yych <= '@') goto yy20;
15718
7.26k
        goto yy826;
15719
13.1k
      } else {
15720
7.98k
        if (yych == '_') goto yy297;
15721
6.63k
        goto yy20;
15722
7.98k
      }
15723
39.1k
    } else {
15724
39.1k
      if (yych <= 0xC2) {
15725
27.2k
        if (yych <= 'z') goto yy829;
15726
23.3k
        if (yych <= 0xC1) goto yy20;
15727
17.8k
        goto yy837;
15728
23.3k
      } else {
15729
11.9k
        if (yych == 0xE2) goto yy838;
15730
2.79k
        goto yy20;
15731
11.9k
      }
15732
39.1k
    }
15733
60.3k
  }
15734
51.2k
yy681:
15735
51.2k
  YYDEBUG(681, *YYCURSOR);
15736
51.2k
  yyaccept = 2;
15737
51.2k
  yych = *(YYMARKER = ++YYCURSOR);
15738
51.2k
  if (yych <= '/') {
15739
27.3k
    if (yych <= '(') {
15740
17.6k
      if (yych <= '\t') {
15741
7.77k
        if (yych <= 0x08) goto yy20;
15742
3.96k
        goto yy834;
15743
9.86k
      } else {
15744
9.86k
        if (yych == ' ') goto yy843;
15745
2.16k
        goto yy20;
15746
9.86k
      }
15747
17.6k
    } else {
15748
9.65k
      if (yych <= ',') {
15749
2.42k
        if (yych <= ')') goto yy115;
15750
1.81k
        goto yy20;
15751
7.23k
      } else {
15752
7.23k
        if (yych == '.') goto yy20;
15753
3.86k
        goto yy297;
15754
7.23k
      }
15755
9.65k
    }
15756
27.3k
  } else {
15757
23.9k
    if (yych <= '`') {
15758
8.93k
      if (yych <= 'Z') {
15759
4.47k
        if (yych <= '@') goto yy20;
15760
785
        goto yy826;
15761
4.47k
      } else {
15762
4.45k
        if (yych == '_') goto yy297;
15763
2.78k
        goto yy20;
15764
4.45k
      }
15765
15.0k
    } else {
15766
15.0k
      if (yych <= 0xC2) {
15767
8.30k
        if (yych <= 'z') goto yy829;
15768
3.41k
        if (yych <= 0xC1) goto yy20;
15769
2.02k
        goto yy837;
15770
6.74k
      } else {
15771
6.74k
        if (yych == 0xE2) goto yy838;
15772
1.72k
        goto yy20;
15773
6.74k
      }
15774
15.0k
    }
15775
23.9k
  }
15776
90.3k
yy682:
15777
90.3k
  YYDEBUG(682, *YYCURSOR);
15778
90.3k
  yyaccept = 2;
15779
90.3k
  yych = *(YYMARKER = ++YYCURSOR);
15780
90.3k
  if (yych <= 'G') {
15781
17.1k
    if (yych <= '-') {
15782
9.00k
      if (yych == ')') goto yy115;
15783
7.83k
      if (yych <= ',') goto yy20;
15784
2.91k
      goto yy297;
15785
8.13k
    } else {
15786
8.13k
      if (yych == '/') goto yy297;
15787
7.50k
      if (yych <= '@') goto yy20;
15788
1.89k
      goto yy826;
15789
7.50k
    }
15790
73.1k
  } else {
15791
73.1k
    if (yych <= '_') {
15792
26.0k
      if (yych <= 'H') goto yy836;
15793
3.70k
      if (yych <= 'Z') goto yy826;
15794
3.02k
      if (yych <= '^') goto yy20;
15795
640
      goto yy297;
15796
47.1k
    } else {
15797
47.1k
      if (yych <= 'g') {
15798
2.93k
        if (yych <= '`') goto yy20;
15799
1.80k
        goto yy829;
15800
44.2k
      } else {
15801
44.2k
        if (yych <= 'h') goto yy840;
15802
7.73k
        if (yych <= 'z') goto yy829;
15803
4.76k
        goto yy20;
15804
7.73k
      }
15805
47.1k
    }
15806
73.1k
  }
15807
70.8k
yy683:
15808
70.8k
  YYDEBUG(683, *YYCURSOR);
15809
70.8k
  yyaccept = 2;
15810
70.8k
  yych = *(YYMARKER = ++YYCURSOR);
15811
70.8k
  if (yych <= 'X') {
15812
16.6k
    if (yych <= '-') {
15813
7.96k
      if (yych == ')') goto yy115;
15814
5.87k
      if (yych <= ',') goto yy20;
15815
2.55k
      goto yy297;
15816
8.69k
    } else {
15817
8.69k
      if (yych == '/') goto yy297;
15818
7.96k
      if (yych <= '@') goto yy20;
15819
3.12k
      goto yy826;
15820
7.96k
    }
15821
54.1k
  } else {
15822
54.1k
    if (yych <= '_') {
15823
9.21k
      if (yych <= 'Y') goto yy844;
15824
5.05k
      if (yych <= 'Z') goto yy826;
15825
3.91k
      if (yych <= '^') goto yy20;
15826
1.28k
      goto yy297;
15827
44.9k
    } else {
15828
44.9k
      if (yych <= 'x') {
15829
8.64k
        if (yych <= '`') goto yy20;
15830
5.25k
        goto yy829;
15831
36.3k
      } else {
15832
36.3k
        if (yych <= 'y') goto yy846;
15833
7.28k
        if (yych <= 'z') goto yy829;
15834
6.38k
        goto yy20;
15835
7.28k
      }
15836
44.9k
    }
15837
54.1k
  }
15838
90.7k
yy684:
15839
90.7k
  YYDEBUG(684, *YYCURSOR);
15840
90.7k
  yyaccept = 2;
15841
90.7k
  yych = *(YYMARKER = ++YYCURSOR);
15842
90.7k
  if (yych <= '.') {
15843
50.5k
    if (yych <= '(') {
15844
39.0k
      if (yych == ' ') goto yy666;
15845
4.22k
      goto yy20;
15846
39.0k
    } else {
15847
11.4k
      if (yych <= ')') goto yy115;
15848
9.99k
      if (yych == '-') goto yy297;
15849
3.54k
      goto yy20;
15850
9.99k
    }
15851
50.5k
  } else {
15852
40.2k
    if (yych <= '^') {
15853
10.0k
      if (yych <= '/') goto yy297;
15854
6.64k
      if (yych <= '@') goto yy20;
15855
3.66k
      if (yych <= 'Z') goto yy826;
15856
1.17k
      goto yy20;
15857
30.2k
    } else {
15858
30.2k
      if (yych <= '_') goto yy297;
15859
28.2k
      if (yych <= '`') goto yy20;
15860
27.4k
      if (yych <= 'z') goto yy829;
15861
2.72k
      goto yy20;
15862
27.4k
    }
15863
40.2k
  }
15864
72.4k
yy685:
15865
72.4k
  YYDEBUG(685, *YYCURSOR);
15866
72.4k
  yyaccept = 2;
15867
72.4k
  yych = *(YYMARKER = ++YYCURSOR);
15868
72.4k
  if (yych <= '/') goto yy20;
15869
68.3k
  if (yych <= '9') goto yy847;
15870
10.2k
  if (yych <= ':') goto yy203;
15871
8.77k
  goto yy20;
15872
26.8k
yy686:
15873
26.8k
  YYDEBUG(686, *YYCURSOR);
15874
26.8k
  yyaccept = 2;
15875
26.8k
  yych = *(YYMARKER = ++YYCURSOR);
15876
26.8k
  if (yych <= '5') {
15877
15.5k
    if (yych <= '/') goto yy20;
15878
13.4k
    if (yych <= '4') goto yy847;
15879
1.51k
    goto yy394;
15880
13.4k
  } else {
15881
11.3k
    if (yych <= '9') goto yy115;
15882
9.67k
    if (yych <= ':') goto yy203;
15883
1.37k
    goto yy20;
15884
9.67k
  }
15885
21.8k
yy687:
15886
21.8k
  YYDEBUG(687, *YYCURSOR);
15887
21.8k
  yyaccept = 2;
15888
21.8k
  yych = *(YYMARKER = ++YYCURSOR);
15889
21.8k
  if (yych <= '/') goto yy20;
15890
19.8k
  if (yych <= '5') goto yy394;
15891
9.54k
  if (yych <= '9') goto yy115;
15892
7.29k
  if (yych <= ':') goto yy203;
15893
5.75k
  goto yy20;
15894
316k
yy688:
15895
316k
  YYDEBUG(688, *YYCURSOR);
15896
316k
  yych = *++YYCURSOR;
15897
316k
  if (yych <= '/') goto yy59;
15898
296k
  if (yych <= '5') goto yy848;
15899
74.9k
  if (yych <= '9') goto yy850;
15900
19.2k
  goto yy59;
15901
24.1k
yy689:
15902
24.1k
  YYDEBUG(689, *YYCURSOR);
15903
24.1k
  yych = *++YYCURSOR;
15904
24.1k
  if (yych == '.') goto yy688;
15905
18.8k
  if (yych == ':') goto yy688;
15906
14.7k
  goto yy59;
15907
749k
yy690:
15908
749k
  YYDEBUG(690, *YYCURSOR);
15909
749k
  yych = *++YYCURSOR;
15910
749k
  if (yych <= '/') goto yy59;
15911
724k
  if (yych <= '5') goto yy851;
15912
87.9k
  if (yych <= '9') goto yy852;
15913
35.5k
  goto yy59;
15914
35.5k
yy691:
15915
21.6k
  YYDEBUG(691, *YYCURSOR);
15916
21.6k
  yych = *++YYCURSOR;
15917
21.6k
  if (yych <= '/') {
15918
11.5k
    if (yych == '.') goto yy688;
15919
3.04k
    goto yy59;
15920
11.5k
  } else {
15921
10.1k
    if (yych <= '9') goto yy689;
15922
7.28k
    if (yych <= ':') goto yy688;
15923
4.14k
    goto yy59;
15924
7.28k
  }
15925
12.9k
yy692:
15926
12.9k
  YYDEBUG(692, *YYCURSOR);
15927
12.9k
  yych = *++YYCURSOR;
15928
12.9k
  if (yych <= '/') {
15929
4.97k
    if (yych == '.') goto yy688;
15930
3.66k
    goto yy59;
15931
7.98k
  } else {
15932
7.98k
    if (yych <= '4') goto yy689;
15933
7.50k
    if (yych == ':') goto yy688;
15934
2.19k
    goto yy59;
15935
7.50k
  }
15936
122k
yy693:
15937
122k
  YYDEBUG(693, *YYCURSOR);
15938
122k
  yyaccept = 10;
15939
122k
  yych = *(YYMARKER = ++YYCURSOR);
15940
122k
  if (yych <= '/') {
15941
27.6k
    if (yych == '.') goto yy688;
15942
9.56k
    goto yy325;
15943
95.1k
  } else {
15944
95.1k
    if (yych <= '9') goto yy853;
15945
78.2k
    if (yych <= ':') goto yy688;
15946
8.66k
    goto yy325;
15947
78.2k
  }
15948
193k
yy694:
15949
193k
  YYDEBUG(694, *YYCURSOR);
15950
193k
  yyaccept = 10;
15951
193k
  yych = *(YYMARKER = ++YYCURSOR);
15952
193k
  if (yych <= '/') {
15953
59.2k
    if (yych == '.') goto yy690;
15954
11.5k
    goto yy325;
15955
134k
  } else {
15956
134k
    if (yych <= '9') goto yy853;
15957
117k
    if (yych <= ':') goto yy690;
15958
10.4k
    goto yy325;
15959
117k
  }
15960
45.7k
yy695:
15961
45.7k
  YYDEBUG(695, *YYCURSOR);
15962
45.7k
  yych = *++YYCURSOR;
15963
45.7k
  if (yych <= '/') goto yy325;
15964
36.9k
  if (yych <= '9') goto yy853;
15965
14.7k
  goto yy325;
15966
103k
yy696:
15967
103k
  YYDEBUG(696, *YYCURSOR);
15968
103k
  ++YYCURSOR;
15969
103k
  YYDEBUG(697, *YYCURSOR);
15970
103k
#line 1604 "ext/date/lib/parse_date.re"
15971
103k
  {
15972
103k
    int length = 0;
15973
103k
    DEBUG_OUTPUT("datenoday");
15974
103k
    TIMELIB_INIT;
15975
103k
    TIMELIB_HAVE_DATE();
15976
11.7k
    s->time->m = timelib_get_month(&ptr);
15977
11.7k
    s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
15978
11.7k
    s->time->d = 1;
15979
11.7k
    TIMELIB_PROCESS_YEAR(s->time->y, length);
15980
11.7k
    TIMELIB_DEINIT;
15981
11.7k
    return TIMELIB_DATE_NO_DAY;
15982
103k
  }
15983
0
#line 15984 "ext/date/lib/parse_date.c"
15984
52.0k
yy698:
15985
52.0k
  YYDEBUG(698, *YYCURSOR);
15986
52.0k
  yych = *++YYCURSOR;
15987
52.0k
  if (yych <= 'R') {
15988
18.3k
    if (yych <= ')') {
15989
6.68k
      if (yych <= '(') goto yy20;
15990
1.80k
      goto yy115;
15991
11.6k
    } else {
15992
11.6k
      if (yych <= '@') goto yy20;
15993
7.88k
      if (yych <= 'Q') goto yy826;
15994
6.70k
      goto yy854;
15995
7.88k
    }
15996
33.6k
  } else {
15997
33.6k
    if (yych <= 'q') {
15998
13.2k
      if (yych <= 'Z') goto yy826;
15999
10.7k
      if (yych <= '`') goto yy20;
16000
7.21k
      goto yy826;
16001
20.4k
    } else {
16002
20.4k
      if (yych <= 'r') goto yy854;
16003
10.7k
      if (yych <= 'z') goto yy826;
16004
9.04k
      goto yy20;
16005
10.7k
    }
16006
33.6k
  }
16007
61.6k
yy699:
16008
61.6k
  YYDEBUG(699, *YYCURSOR);
16009
61.6k
  yyaccept = 2;
16010
61.6k
  yych = *(YYMARKER = ++YYCURSOR);
16011
61.6k
  if (yych <= 'Q') {
16012
13.6k
    if (yych <= '-') {
16013
6.41k
      if (yych == ')') goto yy115;
16014
4.11k
      if (yych <= ',') goto yy20;
16015
963
      goto yy297;
16016
7.26k
    } else {
16017
7.26k
      if (yych == '/') goto yy297;
16018
5.04k
      if (yych <= '@') goto yy20;
16019
2.88k
      goto yy826;
16020
5.04k
    }
16021
47.9k
  } else {
16022
47.9k
    if (yych <= '_') {
16023
9.41k
      if (yych <= 'R') goto yy854;
16024
5.88k
      if (yych <= 'Z') goto yy826;
16025
3.09k
      if (yych <= '^') goto yy20;
16026
2.18k
      goto yy297;
16027
38.5k
    } else {
16028
38.5k
      if (yych <= 'q') {
16029
8.09k
        if (yych <= '`') goto yy20;
16030
1.48k
        goto yy829;
16031
30.4k
      } else {
16032
30.4k
        if (yych <= 'r') goto yy855;
16033
5.12k
        if (yych <= 'z') goto yy829;
16034
1.22k
        goto yy20;
16035
5.12k
      }
16036
38.5k
    }
16037
47.9k
  }
16038
13.4k
yy700:
16039
13.4k
  YYDEBUG(700, *YYCURSOR);
16040
13.4k
  yych = *++YYCURSOR;
16041
13.4k
  if (yybm[0+yych] & 64) {
16042
6.14k
    goto yy476;
16043
6.14k
  }
16044
7.30k
  goto yy142;
16045
415k
yy701:
16046
415k
  YYDEBUG(701, *YYCURSOR);
16047
415k
  ++YYCURSOR;
16048
415k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
16049
415k
  yych = *YYCURSOR;
16050
570k
yy702:
16051
570k
  YYDEBUG(702, *YYCURSOR);
16052
570k
  if (yych <= 'X') {
16053
358k
    if (yych <= 'G') {
16054
231k
      if (yych <= ' ') {
16055
176k
        if (yych == '\t') goto yy701;
16056
88.3k
        if (yych <= 0x1F) goto yy59;
16057
76.9k
        goto yy701;
16058
88.3k
      } else {
16059
54.5k
        if (yych <= 'D') {
16060
25.1k
          if (yych <= 'C') goto yy59;
16061
2.14k
          goto yy856;
16062
29.4k
        } else {
16063
29.4k
          if (yych == 'F') goto yy857;
16064
2.94k
          goto yy59;
16065
29.4k
        }
16066
54.5k
      }
16067
231k
    } else {
16068
127k
      if (yych <= 'S') {
16069
54.7k
        if (yych <= 'L') {
16070
6.41k
          if (yych <= 'H') goto yy858;
16071
4.97k
          goto yy59;
16072
48.3k
        } else {
16073
48.3k
          if (yych <= 'M') goto yy859;
16074
37.5k
          if (yych <= 'R') goto yy59;
16075
32.2k
          goto yy860;
16076
37.5k
        }
16077
72.5k
      } else {
16078
72.5k
        if (yych <= 'U') {
16079
4.44k
          if (yych <= 'T') goto yy861;
16080
968
          goto yy862;
16081
68.1k
        } else {
16082
68.1k
          if (yych == 'W') goto yy863;
16083
2.22k
          goto yy59;
16084
68.1k
        }
16085
72.5k
      }
16086
127k
    }
16087
358k
  } else {
16088
211k
    if (yych <= 'r') {
16089
93.1k
      if (yych <= 'f') {
16090
30.8k
        if (yych <= 'c') {
16091
21.4k
          if (yych <= 'Y') goto yy864;
16092
18.9k
          goto yy59;
16093
21.4k
        } else {
16094
9.39k
          if (yych <= 'd') goto yy856;
16095
7.43k
          if (yych <= 'e') goto yy59;
16096
2.24k
          goto yy857;
16097
7.43k
        }
16098
62.3k
      } else {
16099
62.3k
        if (yych <= 'h') {
16100
6.22k
          if (yych <= 'g') goto yy59;
16101
1.66k
          goto yy858;
16102
56.1k
        } else {
16103
56.1k
          if (yych == 'm') goto yy859;
16104
6.10k
          goto yy59;
16105
56.1k
        }
16106
62.3k
      }
16107
118k
    } else {
16108
118k
      if (yych <= 'w') {
16109
89.8k
        if (yych <= 't') {
16110
51.4k
          if (yych <= 's') goto yy860;
16111
23.1k
          goto yy861;
16112
51.4k
        } else {
16113
38.4k
          if (yych <= 'u') goto yy862;
16114
34.1k
          if (yych <= 'v') goto yy59;
16115
33.2k
          goto yy863;
16116
34.1k
        }
16117
89.8k
      } else {
16118
28.2k
        if (yych <= 'y') {
16119
9.16k
          if (yych <= 'x') goto yy59;
16120
7.11k
          goto yy864;
16121
19.0k
        } else {
16122
19.0k
          if (yych == 0xC2) goto yy865;
16123
15.0k
          goto yy59;
16124
19.0k
        }
16125
28.2k
      }
16126
118k
    }
16127
211k
  }
16128
178k
yy703:
16129
178k
  YYDEBUG(703, *YYCURSOR);
16130
178k
  yych = *++YYCURSOR;
16131
178k
  if (yych == 'D') goto yy866;
16132
170k
  if (yych == 'd') goto yy866;
16133
154k
  goto yy702;
16134
154k
yy704:
16135
84.4k
  YYDEBUG(704, *YYCURSOR);
16136
84.4k
  yych = *++YYCURSOR;
16137
84.4k
  if (yych == 0xA0) goto yy867;
16138
12.9k
  goto yy59;
16139
112k
yy705:
16140
112k
  YYDEBUG(705, *YYCURSOR);
16141
112k
  ++YYCURSOR;
16142
112k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
16143
112k
  yych = *YYCURSOR;
16144
112k
  if (yych == 0x80) goto yy868;
16145
8.44k
  goto yy59;
16146
48.8k
yy706:
16147
48.8k
  YYDEBUG(706, *YYCURSOR);
16148
48.8k
  yych = *++YYCURSOR;
16149
48.8k
  if (yych <= 'G') {
16150
19.2k
    if (yych <= ')') {
16151
5.23k
      if (yych <= '(') goto yy20;
16152
1.57k
      goto yy115;
16153
13.9k
    } else {
16154
13.9k
      if (yych <= '@') goto yy20;
16155
9.96k
      if (yych <= 'F') goto yy826;
16156
4.94k
      goto yy869;
16157
9.96k
    }
16158
29.6k
  } else {
16159
29.6k
    if (yych <= 'f') {
16160
12.3k
      if (yych <= 'Z') goto yy826;
16161
4.36k
      if (yych <= '`') goto yy20;
16162
2.27k
      goto yy826;
16163
17.2k
    } else {
16164
17.2k
      if (yych <= 'g') goto yy869;
16165
7.56k
      if (yych <= 'z') goto yy826;
16166
1.99k
      goto yy20;
16167
7.56k
    }
16168
29.6k
  }
16169
90.4k
yy707:
16170
90.4k
  YYDEBUG(707, *YYCURSOR);
16171
90.4k
  yyaccept = 2;
16172
90.4k
  yych = *(YYMARKER = ++YYCURSOR);
16173
90.4k
  if (yych <= 'F') {
16174
14.1k
    if (yych <= '-') {
16175
6.63k
      if (yych == ')') goto yy115;
16176
5.24k
      if (yych <= ',') goto yy20;
16177
2.24k
      goto yy297;
16178
7.54k
    } else {
16179
7.54k
      if (yych == '/') goto yy297;
16180
6.64k
      if (yych <= '@') goto yy20;
16181
3.22k
      goto yy826;
16182
6.64k
    }
16183
76.2k
  } else {
16184
76.2k
    if (yych <= '_') {
16185
8.12k
      if (yych <= 'G') goto yy869;
16186
5.68k
      if (yych <= 'Z') goto yy826;
16187
2.25k
      if (yych <= '^') goto yy20;
16188
1.10k
      goto yy297;
16189
68.0k
    } else {
16190
68.0k
      if (yych <= 'f') {
16191
5.84k
        if (yych <= '`') goto yy20;
16192
3.29k
        goto yy829;
16193
62.2k
      } else {
16194
62.2k
        if (yych <= 'g') goto yy870;
16195
22.7k
        if (yych <= 'z') goto yy829;
16196
2.80k
        goto yy20;
16197
22.7k
      }
16198
68.0k
    }
16199
76.2k
  }
16200
46.4k
yy708:
16201
46.4k
  YYDEBUG(708, *YYCURSOR);
16202
46.4k
  yych = *++YYCURSOR;
16203
46.4k
  if (yych <= 'E') {
16204
20.7k
    if (yych <= ')') {
16205
3.89k
      if (yych <= '(') goto yy20;
16206
930
      goto yy115;
16207
16.8k
    } else {
16208
16.8k
      if (yych <= '@') goto yy20;
16209
9.34k
      if (yych <= 'D') goto yy826;
16210
8.73k
      goto yy871;
16211
9.34k
    }
16212
25.7k
  } else {
16213
25.7k
    if (yych <= 'd') {
16214
7.17k
      if (yych <= 'Z') goto yy826;
16215
4.31k
      if (yych <= '`') goto yy20;
16216
1.52k
      goto yy826;
16217
18.5k
    } else {
16218
18.5k
      if (yych <= 'e') goto yy871;
16219
9.37k
      if (yych <= 'z') goto yy826;
16220
2.27k
      goto yy20;
16221
9.37k
    }
16222
25.7k
  }
16223
70.5k
yy709:
16224
70.5k
  YYDEBUG(709, *YYCURSOR);
16225
70.5k
  yyaccept = 2;
16226
70.5k
  yych = *(YYMARKER = ++YYCURSOR);
16227
70.5k
  if (yych <= 'D') {
16228
12.3k
    if (yych <= '-') {
16229
4.42k
      if (yych == ')') goto yy115;
16230
2.38k
      if (yych <= ',') goto yy20;
16231
1.10k
      goto yy297;
16232
7.96k
    } else {
16233
7.96k
      if (yych == '/') goto yy297;
16234
4.79k
      if (yych <= '@') goto yy20;
16235
2.48k
      goto yy826;
16236
4.79k
    }
16237
58.1k
  } else {
16238
58.1k
    if (yych <= '_') {
16239
5.91k
      if (yych <= 'E') goto yy871;
16240
4.16k
      if (yych <= 'Z') goto yy826;
16241
1.69k
      if (yych <= '^') goto yy20;
16242
963
      goto yy297;
16243
52.2k
    } else {
16244
52.2k
      if (yych <= 'd') {
16245
8.16k
        if (yych <= '`') goto yy20;
16246
6.91k
        goto yy829;
16247
44.1k
      } else {
16248
44.1k
        if (yych <= 'e') goto yy872;
16249
7.76k
        if (yych <= 'z') goto yy829;
16250
6.69k
        goto yy20;
16251
7.76k
      }
16252
52.2k
    }
16253
58.1k
  }
16254
137k
yy710:
16255
137k
  YYDEBUG(710, *YYCURSOR);
16256
137k
  yych = *++YYCURSOR;
16257
137k
  if (yych <= 'O') {
16258
25.2k
    if (yych <= ')') {
16259
9.37k
      if (yych <= '(') goto yy20;
16260
852
      goto yy115;
16261
15.9k
    } else {
16262
15.9k
      if (yych <= '@') goto yy20;
16263
12.9k
      if (yych <= 'N') goto yy826;
16264
9.02k
      goto yy873;
16265
12.9k
    }
16266
111k
  } else {
16267
111k
    if (yych <= 'n') {
16268
8.61k
      if (yych <= 'Z') goto yy826;
16269
6.17k
      if (yych <= '`') goto yy20;
16270
2.30k
      goto yy826;
16271
103k
    } else {
16272
103k
      if (yych <= 'o') goto yy873;
16273
12.6k
      if (yych <= 'z') goto yy826;
16274
6.48k
      goto yy20;
16275
12.6k
    }
16276
111k
  }
16277
95.4k
yy711:
16278
95.4k
  YYDEBUG(711, *YYCURSOR);
16279
95.4k
  yyaccept = 2;
16280
95.4k
  yych = *(YYMARKER = ++YYCURSOR);
16281
95.4k
  if (yych <= 'N') {
16282
19.3k
    if (yych <= '-') {
16283
10.6k
      if (yych == ')') goto yy115;
16284
8.46k
      if (yych <= ',') goto yy20;
16285
2.82k
      goto yy297;
16286
8.71k
    } else {
16287
8.71k
      if (yych == '/') goto yy297;
16288
8.21k
      if (yych <= '@') goto yy20;
16289
5.78k
      goto yy826;
16290
8.21k
    }
16291
76.0k
  } else {
16292
76.0k
    if (yych <= '_') {
16293
14.9k
      if (yych <= 'O') goto yy873;
16294
6.60k
      if (yych <= 'Z') goto yy826;
16295
4.81k
      if (yych <= '^') goto yy20;
16296
1.21k
      goto yy297;
16297
61.1k
    } else {
16298
61.1k
      if (yych <= 'n') {
16299
3.98k
        if (yych <= '`') goto yy20;
16300
2.80k
        goto yy829;
16301
57.1k
      } else {
16302
57.1k
        if (yych <= 'o') goto yy874;
16303
7.56k
        if (yych <= 'z') goto yy829;
16304
4.11k
        goto yy20;
16305
7.56k
      }
16306
61.1k
    }
16307
76.0k
  }
16308
65.9k
yy712:
16309
65.9k
  YYDEBUG(712, *YYCURSOR);
16310
65.9k
  yych = *++YYCURSOR;
16311
65.9k
  if (yych <= 'D') {
16312
22.9k
    if (yych <= ')') {
16313
7.90k
      if (yych <= '(') goto yy20;
16314
1.63k
      goto yy115;
16315
15.0k
    } else {
16316
15.0k
      if (yych <= '@') goto yy20;
16317
8.76k
      if (yych <= 'C') goto yy826;
16318
7.66k
      goto yy875;
16319
8.76k
    }
16320
42.9k
  } else {
16321
42.9k
    if (yych <= 'c') {
16322
12.0k
      if (yych <= 'Z') goto yy826;
16323
8.63k
      if (yych <= '`') goto yy20;
16324
3.55k
      goto yy826;
16325
30.9k
    } else {
16326
30.9k
      if (yych <= 'd') goto yy875;
16327
8.36k
      if (yych <= 'z') goto yy826;
16328
6.17k
      goto yy20;
16329
8.36k
    }
16330
42.9k
  }
16331
51.2k
yy713:
16332
51.2k
  YYDEBUG(713, *YYCURSOR);
16333
51.2k
  yych = *++YYCURSOR;
16334
51.2k
  if (yych <= 'D') {
16335
25.9k
    if (yych <= ')') {
16336
5.40k
      if (yych <= '(') goto yy20;
16337
2.25k
      goto yy115;
16338
20.5k
    } else {
16339
20.5k
      if (yych <= '@') goto yy20;
16340
16.4k
      if (yych <= 'C') goto yy826;
16341
15.6k
      goto yy836;
16342
16.4k
    }
16343
25.9k
  } else {
16344
25.3k
    if (yych <= 'c') {
16345
8.84k
      if (yych <= 'Z') goto yy826;
16346
5.81k
      if (yych <= '`') goto yy20;
16347
2.13k
      goto yy826;
16348
16.4k
    } else {
16349
16.4k
      if (yych <= 'd') goto yy836;
16350
5.27k
      if (yych <= 'z') goto yy826;
16351
2.03k
      goto yy20;
16352
5.27k
    }
16353
25.3k
  }
16354
45.4k
yy714:
16355
45.4k
  YYDEBUG(714, *YYCURSOR);
16356
45.4k
  yych = *++YYCURSOR;
16357
45.4k
  if (yych <= 'M') {
16358
15.8k
    if (yych <= ')') {
16359
5.87k
      if (yych <= '(') goto yy20;
16360
1.93k
      goto yy115;
16361
9.92k
    } else {
16362
9.92k
      if (yych <= '@') goto yy20;
16363
6.04k
      if (yych <= 'L') goto yy826;
16364
5.39k
      goto yy876;
16365
6.04k
    }
16366
29.6k
  } else {
16367
29.6k
    if (yych <= 'l') {
16368
15.6k
      if (yych <= 'Z') goto yy826;
16369
13.6k
      if (yych <= '`') goto yy20;
16370
3.74k
      goto yy826;
16371
13.9k
    } else {
16372
13.9k
      if (yych <= 'm') goto yy876;
16373
4.05k
      if (yych <= 'z') goto yy826;
16374
2.38k
      goto yy20;
16375
4.05k
    }
16376
29.6k
  }
16377
43.7k
yy715:
16378
43.7k
  YYDEBUG(715, *YYCURSOR);
16379
43.7k
  yych = *++YYCURSOR;
16380
43.7k
  if (yych <= 'T') {
16381
13.2k
    if (yych <= ')') {
16382
4.66k
      if (yych <= '(') goto yy20;
16383
1.69k
      goto yy115;
16384
8.58k
    } else {
16385
8.58k
      if (yych <= '@') goto yy20;
16386
5.09k
      if (yych <= 'S') goto yy826;
16387
2.90k
      goto yy877;
16388
5.09k
    }
16389
30.5k
  } else {
16390
30.5k
    if (yych <= 's') {
16391
8.86k
      if (yych <= 'Z') goto yy826;
16392
7.81k
      if (yych <= '`') goto yy20;
16393
4.77k
      goto yy826;
16394
21.6k
    } else {
16395
21.6k
      if (yych <= 't') goto yy877;
16396
7.99k
      if (yych <= 'z') goto yy826;
16397
3.96k
      goto yy20;
16398
7.99k
    }
16399
30.5k
  }
16400
87.2k
yy716:
16401
87.2k
  YYDEBUG(716, *YYCURSOR);
16402
87.2k
  yyaccept = 2;
16403
87.2k
  yych = *(YYMARKER = ++YYCURSOR);
16404
87.2k
  if (yych <= 'C') {
16405
14.0k
    if (yych <= '-') {
16406
4.21k
      if (yych == ')') goto yy115;
16407
3.41k
      if (yych <= ',') goto yy20;
16408
1.38k
      goto yy297;
16409
9.83k
    } else {
16410
9.83k
      if (yych == '/') goto yy297;
16411
8.69k
      if (yych <= '@') goto yy20;
16412
3.21k
      goto yy826;
16413
8.69k
    }
16414
73.2k
  } else {
16415
73.2k
    if (yych <= '_') {
16416
10.7k
      if (yych <= 'D') goto yy875;
16417
7.43k
      if (yych <= 'Z') goto yy826;
16418
4.14k
      if (yych <= '^') goto yy20;
16419
3.23k
      goto yy297;
16420
62.4k
    } else {
16421
62.4k
      if (yych <= 'c') {
16422
1.72k
        if (yych <= '`') goto yy20;
16423
1.13k
        goto yy829;
16424
60.7k
      } else {
16425
60.7k
        if (yych <= 'd') goto yy878;
16426
8.17k
        if (yych <= 'z') goto yy829;
16427
2.88k
        goto yy20;
16428
8.17k
      }
16429
62.4k
    }
16430
73.2k
  }
16431
57.2k
yy717:
16432
57.2k
  YYDEBUG(717, *YYCURSOR);
16433
57.2k
  yyaccept = 2;
16434
57.2k
  yych = *(YYMARKER = ++YYCURSOR);
16435
57.2k
  if (yych <= 'C') {
16436
19.7k
    if (yych <= '-') {
16437
12.1k
      if (yych == ')') goto yy115;
16438
6.60k
      if (yych <= ',') goto yy20;
16439
2.51k
      goto yy297;
16440
7.57k
    } else {
16441
7.57k
      if (yych == '/') goto yy297;
16442
4.03k
      if (yych <= '@') goto yy20;
16443
1.07k
      goto yy826;
16444
4.03k
    }
16445
37.4k
  } else {
16446
37.4k
    if (yych <= '_') {
16447
8.94k
      if (yych <= 'D') goto yy836;
16448
4.12k
      if (yych <= 'Z') goto yy826;
16449
2.52k
      if (yych <= '^') goto yy20;
16450
794
      goto yy297;
16451
28.5k
    } else {
16452
28.5k
      if (yych <= 'c') {
16453
3.28k
        if (yych <= '`') goto yy20;
16454
1.95k
        goto yy829;
16455
25.2k
      } else {
16456
25.2k
        if (yych <= 'd') goto yy840;
16457
5.57k
        if (yych <= 'z') goto yy829;
16458
1.77k
        goto yy20;
16459
5.57k
      }
16460
28.5k
    }
16461
37.4k
  }
16462
84.2k
yy718:
16463
84.2k
  YYDEBUG(718, *YYCURSOR);
16464
84.2k
  yyaccept = 2;
16465
84.2k
  yych = *(YYMARKER = ++YYCURSOR);
16466
84.2k
  if (yych <= 'L') {
16467
13.1k
    if (yych <= '-') {
16468
6.04k
      if (yych == ')') goto yy115;
16469
4.00k
      if (yych <= ',') goto yy20;
16470
1.12k
      goto yy297;
16471
7.10k
    } else {
16472
7.10k
      if (yych == '/') goto yy297;
16473
5.60k
      if (yych <= '@') goto yy20;
16474
444
      goto yy826;
16475
5.60k
    }
16476
71.1k
  } else {
16477
71.1k
    if (yych <= '_') {
16478
15.0k
      if (yych <= 'M') goto yy876;
16479
11.1k
      if (yych <= 'Z') goto yy826;
16480
9.74k
      if (yych <= '^') goto yy20;
16481
5.63k
      goto yy297;
16482
56.0k
    } else {
16483
56.0k
      if (yych <= 'l') {
16484
4.56k
        if (yych <= '`') goto yy20;
16485
3.93k
        goto yy829;
16486
51.4k
      } else {
16487
51.4k
        if (yych <= 'm') goto yy879;
16488
7.31k
        if (yych <= 'z') goto yy829;
16489
3.75k
        goto yy20;
16490
7.31k
      }
16491
56.0k
    }
16492
71.1k
  }
16493
87.5k
yy719:
16494
87.5k
  YYDEBUG(719, *YYCURSOR);
16495
87.5k
  yyaccept = 2;
16496
87.5k
  yych = *(YYMARKER = ++YYCURSOR);
16497
87.5k
  if (yych <= 'S') {
16498
16.9k
    if (yych <= '-') {
16499
9.26k
      if (yych == ')') goto yy115;
16500
8.05k
      if (yych <= ',') goto yy20;
16501
2.16k
      goto yy297;
16502
8.05k
    } else {
16503
7.69k
      if (yych == '/') goto yy297;
16504
6.54k
      if (yych <= '@') goto yy20;
16505
2.73k
      goto yy826;
16506
6.54k
    }
16507
70.6k
  } else {
16508
70.6k
    if (yych <= '_') {
16509
6.99k
      if (yych <= 'T') goto yy877;
16510
5.37k
      if (yych <= 'Z') goto yy826;
16511
2.82k
      if (yych <= '^') goto yy20;
16512
763
      goto yy297;
16513
63.6k
    } else {
16514
63.6k
      if (yych <= 's') {
16515
5.07k
        if (yych <= '`') goto yy20;
16516
2.15k
        goto yy829;
16517
58.5k
      } else {
16518
58.5k
        if (yych <= 't') goto yy880;
16519
6.16k
        if (yych <= 'z') goto yy829;
16520
3.67k
        goto yy20;
16521
6.16k
      }
16522
63.6k
    }
16523
70.6k
  }
16524
75.0k
yy720:
16525
75.0k
  YYDEBUG(720, *YYCURSOR);
16526
75.0k
  yyaccept = 12;
16527
75.0k
  yych = *(YYMARKER = ++YYCURSOR);
16528
75.0k
  if (yych <= '/') goto yy420;
16529
65.4k
  if (yych <= '5') goto yy881;
16530
33.3k
  if (yych <= '6') goto yy882;
16531
26.2k
  goto yy420;
16532
26.2k
yy721:
16533
16.2k
  YYDEBUG(721, *YYCURSOR);
16534
16.2k
  yych = *++YYCURSOR;
16535
16.2k
  if (yych <= '@') {
16536
4.11k
    if (yych == ')') goto yy115;
16537
12.1k
  } else {
16538
12.1k
    if (yych <= 'Z') goto yy826;
16539
9.48k
    if (yych <= '`') goto yy722;
16540
5.76k
    if (yych <= 'z') goto yy826;
16541
5.76k
  }
16542
44.5k
yy722:
16543
44.5k
  YYDEBUG(722, *YYCURSOR);
16544
44.5k
#line 1199 "ext/date/lib/parse_date.re"
16545
44.5k
  {
16546
44.5k
    DEBUG_OUTPUT("midnight | today");
16547
44.5k
    TIMELIB_INIT;
16548
44.5k
    TIMELIB_UNHAVE_TIME();
16549
16550
44.5k
    TIMELIB_DEINIT;
16551
44.5k
    return TIMELIB_RELATIVE;
16552
16.2k
  }
16553
0
#line 16554 "ext/date/lib/parse_date.c"
16554
37.5k
yy723:
16555
37.5k
  YYDEBUG(723, *YYCURSOR);
16556
37.5k
  yych = *++YYCURSOR;
16557
37.5k
  if (yych <= 'R') {
16558
13.1k
    if (yych <= ')') {
16559
8.07k
      if (yych <= '(') goto yy20;
16560
757
      goto yy115;
16561
8.07k
    } else {
16562
5.04k
      if (yych <= '@') goto yy20;
16563
2.90k
      if (yych <= 'Q') goto yy826;
16564
725
      goto yy883;
16565
2.90k
    }
16566
24.4k
  } else {
16567
24.4k
    if (yych <= 'q') {
16568
6.63k
      if (yych <= 'Z') goto yy826;
16569
5.61k
      if (yych <= '`') goto yy20;
16570
2.65k
      goto yy826;
16571
17.8k
    } else {
16572
17.8k
      if (yych <= 'r') goto yy883;
16573
8.06k
      if (yych <= 'z') goto yy826;
16574
6.07k
      goto yy20;
16575
8.06k
    }
16576
24.4k
  }
16577
48.3k
yy724:
16578
48.3k
  YYDEBUG(724, *YYCURSOR);
16579
48.3k
  yych = *++YYCURSOR;
16580
48.3k
  if (yych <= 'A') {
16581
25.6k
    if (yych == ')') goto yy115;
16582
23.5k
    if (yych <= '@') goto yy20;
16583
12.6k
    goto yy884;
16584
23.5k
  } else {
16585
22.7k
    if (yych <= '`') {
16586
4.69k
      if (yych <= 'Z') goto yy826;
16587
2.69k
      goto yy20;
16588
18.0k
    } else {
16589
18.0k
      if (yych <= 'a') goto yy884;
16590
6.47k
      if (yych <= 'z') goto yy826;
16591
2.92k
      goto yy20;
16592
6.47k
    }
16593
22.7k
  }
16594
27.0k
yy725:
16595
27.0k
  YYDEBUG(725, *YYCURSOR);
16596
27.0k
  yyaccept = 16;
16597
27.0k
  yych = *(YYMARKER = ++YYCURSOR);
16598
27.0k
  if (yych <= '/') {
16599
9.61k
    if (yych <= ',') {
16600
3.32k
      if (yych == ')') goto yy115;
16601
1.88k
      goto yy722;
16602
6.28k
    } else {
16603
6.28k
      if (yych == '.') goto yy722;
16604
2.50k
      goto yy297;
16605
6.28k
    }
16606
17.4k
  } else {
16607
17.4k
    if (yych <= '^') {
16608
7.55k
      if (yych <= '@') goto yy722;
16609
5.90k
      if (yych <= 'Z') goto yy826;
16610
929
      goto yy722;
16611
9.85k
    } else {
16612
9.85k
      if (yych <= '_') goto yy297;
16613
6.33k
      if (yych <= '`') goto yy722;
16614
2.35k
      if (yych <= 'z') goto yy829;
16615
1.26k
      goto yy722;
16616
2.35k
    }
16617
17.4k
  }
16618
68.0k
yy726:
16619
68.0k
  YYDEBUG(726, *YYCURSOR);
16620
68.0k
  yyaccept = 2;
16621
68.0k
  yych = *(YYMARKER = ++YYCURSOR);
16622
68.0k
  if (yych <= 'Q') {
16623
15.5k
    if (yych <= '-') {
16624
7.85k
      if (yych == ')') goto yy115;
16625
6.21k
      if (yych <= ',') goto yy20;
16626
1.80k
      goto yy297;
16627
7.64k
    } else {
16628
7.64k
      if (yych == '/') goto yy297;
16629
5.49k
      if (yych <= '@') goto yy20;
16630
1.99k
      goto yy826;
16631
5.49k
    }
16632
52.5k
  } else {
16633
52.5k
    if (yych <= '_') {
16634
12.1k
      if (yych <= 'R') goto yy883;
16635
5.81k
      if (yych <= 'Z') goto yy826;
16636
4.01k
      if (yych <= '^') goto yy20;
16637
2.06k
      goto yy297;
16638
40.3k
    } else {
16639
40.3k
      if (yych <= 'q') {
16640
4.13k
        if (yych <= '`') goto yy20;
16641
2.58k
        goto yy829;
16642
36.2k
      } else {
16643
36.2k
        if (yych <= 'r') goto yy885;
16644
4.43k
        if (yych <= 'z') goto yy829;
16645
2.30k
        goto yy20;
16646
4.43k
      }
16647
40.3k
    }
16648
52.5k
  }
16649
77.4k
yy727:
16650
77.4k
  YYDEBUG(727, *YYCURSOR);
16651
77.4k
  yyaccept = 2;
16652
77.4k
  yych = *(YYMARKER = ++YYCURSOR);
16653
77.4k
  if (yych <= '@') {
16654
8.48k
    if (yych <= ',') {
16655
3.00k
      if (yych == ')') goto yy115;
16656
2.02k
      goto yy20;
16657
5.48k
    } else {
16658
5.48k
      if (yych == '.') goto yy20;
16659
4.55k
      if (yych <= '/') goto yy297;
16660
3.43k
      goto yy20;
16661
4.55k
    }
16662
68.9k
  } else {
16663
68.9k
    if (yych <= '_') {
16664
12.4k
      if (yych <= 'A') goto yy884;
16665
10.3k
      if (yych <= 'Z') goto yy826;
16666
4.62k
      if (yych <= '^') goto yy20;
16667
2.42k
      goto yy297;
16668
56.4k
    } else {
16669
56.4k
      if (yych <= '`') goto yy20;
16670
54.8k
      if (yych <= 'a') goto yy886;
16671
3.29k
      if (yych <= 'z') goto yy829;
16672
1.55k
      goto yy20;
16673
3.29k
    }
16674
68.9k
  }
16675
44.2k
yy728:
16676
44.2k
  YYDEBUG(728, *YYCURSOR);
16677
44.2k
  yych = *++YYCURSOR;
16678
44.2k
  if (yych <= 'S') {
16679
18.2k
    if (yych <= ')') {
16680
4.53k
      if (yych <= '(') goto yy20;
16681
1.41k
      goto yy115;
16682
13.6k
    } else {
16683
13.6k
      if (yych <= '@') goto yy20;
16684
9.23k
      if (yych <= 'R') goto yy826;
16685
6.07k
      goto yy887;
16686
9.23k
    }
16687
26.0k
  } else {
16688
26.0k
    if (yych <= 'r') {
16689
7.30k
      if (yych <= 'Z') goto yy826;
16690
4.96k
      if (yych <= '`') goto yy20;
16691
3.10k
      goto yy826;
16692
18.6k
    } else {
16693
18.6k
      if (yych <= 's') goto yy887;
16694
3.47k
      if (yych <= 'z') goto yy826;
16695
1.33k
      goto yy20;
16696
3.47k
    }
16697
26.0k
  }
16698
75.1k
yy729:
16699
75.1k
  YYDEBUG(729, *YYCURSOR);
16700
75.1k
  yyaccept = 2;
16701
75.1k
  yych = *(YYMARKER = ++YYCURSOR);
16702
75.1k
  if (yych <= 'R') {
16703
22.0k
    if (yych <= '-') {
16704
8.37k
      if (yych == ')') goto yy115;
16705
5.99k
      if (yych <= ',') goto yy20;
16706
2.44k
      goto yy297;
16707
13.6k
    } else {
16708
13.6k
      if (yych == '/') goto yy297;
16709
8.53k
      if (yych <= '@') goto yy20;
16710
2.64k
      goto yy826;
16711
8.53k
    }
16712
53.0k
  } else {
16713
53.0k
    if (yych <= '_') {
16714
7.17k
      if (yych <= 'S') goto yy887;
16715
5.53k
      if (yych <= 'Z') goto yy826;
16716
2.80k
      if (yych <= '^') goto yy20;
16717
1.46k
      goto yy297;
16718
45.9k
    } else {
16719
45.9k
      if (yych <= 'r') {
16720
4.75k
        if (yych <= '`') goto yy20;
16721
3.44k
        goto yy829;
16722
41.1k
      } else {
16723
41.1k
        if (yych <= 's') goto yy888;
16724
5.76k
        if (yych <= 'z') goto yy829;
16725
1.77k
        goto yy20;
16726
5.76k
      }
16727
45.9k
    }
16728
53.0k
  }
16729
78.6k
yy730:
16730
78.6k
  YYDEBUG(730, *YYCURSOR);
16731
78.6k
  yych = *++YYCURSOR;
16732
78.6k
  if (yych <= 'R') {
16733
29.8k
    if (yych <= ')') {
16734
9.96k
      if (yych <= '(') goto yy20;
16735
3.58k
      goto yy115;
16736
19.8k
    } else {
16737
19.8k
      if (yych <= '@') goto yy20;
16738
5.96k
      if (yych <= 'Q') goto yy826;
16739
3.61k
      goto yy889;
16740
5.96k
    }
16741
48.8k
  } else {
16742
48.8k
    if (yych <= 'q') {
16743
8.20k
      if (yych <= 'Z') goto yy826;
16744
5.03k
      if (yych <= '`') goto yy20;
16745
1.97k
      goto yy826;
16746
40.5k
    } else {
16747
40.5k
      if (yych <= 'r') goto yy889;
16748
16.5k
      if (yych <= 'z') goto yy826;
16749
14.5k
      goto yy20;
16750
16.5k
    }
16751
48.8k
  }
16752
111k
yy731:
16753
111k
  YYDEBUG(731, *YYCURSOR);
16754
111k
  yyaccept = 2;
16755
111k
  yych = *(YYMARKER = ++YYCURSOR);
16756
111k
  if (yych <= 'Q') {
16757
40.1k
    if (yych <= '-') {
16758
23.1k
      if (yych == ')') goto yy115;
16759
12.3k
      if (yych <= ',') goto yy20;
16760
3.00k
      goto yy297;
16761
16.9k
    } else {
16762
16.9k
      if (yych == '/') goto yy297;
16763
16.2k
      if (yych <= '@') goto yy20;
16764
4.78k
      goto yy826;
16765
16.2k
    }
16766
71.5k
  } else {
16767
71.5k
    if (yych <= '_') {
16768
8.84k
      if (yych <= 'R') goto yy889;
16769
6.22k
      if (yych <= 'Z') goto yy826;
16770
2.60k
      if (yych <= '^') goto yy20;
16771
1.52k
      goto yy297;
16772
62.6k
    } else {
16773
62.6k
      if (yych <= 'q') {
16774
9.32k
        if (yych <= '`') goto yy20;
16775
5.66k
        goto yy829;
16776
53.3k
      } else {
16777
53.3k
        if (yych <= 'r') goto yy890;
16778
8.70k
        if (yych <= 'z') goto yy829;
16779
6.27k
        goto yy20;
16780
8.70k
      }
16781
62.6k
    }
16782
71.5k
  }
16783
108k
yy732:
16784
108k
  YYDEBUG(732, *YYCURSOR);
16785
108k
  yych = *++YYCURSOR;
16786
108k
  if (yych <= '/') goto yy59;
16787
97.6k
  if (yych <= '0') goto yy891;
16788
58.5k
  if (yych <= '1') goto yy892;
16789
21.1k
  goto yy59;
16790
304k
yy733:
16791
304k
  YYDEBUG(733, *YYCURSOR);
16792
304k
  yych = *++YYCURSOR;
16793
304k
  if (yych <= '9') {
16794
262k
    if (yych == '-') goto yy893;
16795
250k
    if (yych <= '/') goto yy196;
16796
234k
    goto yy894;
16797
250k
  } else {
16798
42.0k
    if (yych <= 0xC2) {
16799
30.8k
      if (yych <= 0xC1) goto yy196;
16800
3.53k
      goto yy97;
16801
30.8k
    } else {
16802
11.2k
      if (yych == 0xE2) goto yy98;
16803
7.69k
      goto yy196;
16804
11.2k
    }
16805
42.0k
  }
16806
70.7k
yy734:
16807
70.7k
  YYDEBUG(734, *YYCURSOR);
16808
70.7k
  yych = *++YYCURSOR;
16809
70.7k
  if (yych <= '9') {
16810
57.3k
    if (yych <= '-') {
16811
11.8k
      if (yych <= ',') goto yy196;
16812
4.46k
      goto yy893;
16813
45.5k
    } else {
16814
45.5k
      if (yych <= '/') goto yy196;
16815
44.3k
      if (yych <= '0') goto yy894;
16816
15.7k
      goto yy895;
16817
44.3k
    }
16818
57.3k
  } else {
16819
13.3k
    if (yych <= 0xC2) {
16820
7.53k
      if (yych <= 0xC1) goto yy196;
16821
1.07k
      goto yy97;
16822
7.53k
    } else {
16823
5.83k
      if (yych == 0xE2) goto yy98;
16824
3.24k
      goto yy196;
16825
5.83k
    }
16826
13.3k
  }
16827
482k
yy735:
16828
482k
  YYDEBUG(735, *YYCURSOR);
16829
482k
  yych = *++YYCURSOR;
16830
482k
  if (yych <= '9') {
16831
425k
    if (yych == '-') goto yy893;
16832
398k
    if (yych <= '/') goto yy196;
16833
368k
    goto yy895;
16834
398k
  } else {
16835
56.9k
    if (yych <= 0xC2) {
16836
43.4k
      if (yych <= 0xC1) goto yy196;
16837
4.30k
      goto yy97;
16838
43.4k
    } else {
16839
13.5k
      if (yych == 0xE2) goto yy98;
16840
10.0k
      goto yy196;
16841
13.5k
    }
16842
56.9k
  }
16843
53.7k
yy736:
16844
53.7k
  YYDEBUG(736, *YYCURSOR);
16845
53.7k
  yyaccept = 2;
16846
53.7k
  yych = *(YYMARKER = ++YYCURSOR);
16847
53.7k
  if (yych == ':') goto yy896;
16848
23.8k
  goto yy20;
16849
84.6k
yy737:
16850
84.6k
  YYDEBUG(737, *YYCURSOR);
16851
84.6k
  yych = *++YYCURSOR;
16852
84.6k
  if (yych <= '/') goto yy59;
16853
65.7k
  if (yych <= '9') goto yy897;
16854
30.9k
  goto yy59;
16855
30.9k
yy738:
16856
26.1k
  YYDEBUG(738, *YYCURSOR);
16857
26.1k
  yyaccept = 17;
16858
26.1k
  yych = *(YYMARKER = ++YYCURSOR);
16859
26.1k
  if (yych <= '/') goto yy739;
16860
16.0k
  if (yych <= '9') goto yy897;
16861
22.3k
yy739:
16862
22.3k
  YYDEBUG(739, *YYCURSOR);
16863
22.3k
#line 1590 "ext/date/lib/parse_date.re"
16864
22.3k
  {
16865
22.3k
    int length = 0;
16866
22.3k
    DEBUG_OUTPUT("pointed date YY");
16867
22.3k
    TIMELIB_INIT;
16868
22.3k
    TIMELIB_HAVE_DATE();
16869
2.93k
    s->time->d = timelib_get_nr(&ptr, 2);
16870
2.93k
    s->time->m = timelib_get_nr(&ptr, 2);
16871
2.93k
    s->time->y = timelib_get_nr_ex(&ptr, 2, &length);
16872
2.93k
    TIMELIB_PROCESS_YEAR(s->time->y, length);
16873
2.93k
    TIMELIB_DEINIT;
16874
2.93k
    return TIMELIB_DATE_FULL_POINTED;
16875
22.3k
  }
16876
0
#line 16877 "ext/date/lib/parse_date.c"
16877
56.3k
yy740:
16878
56.3k
  YYDEBUG(740, *YYCURSOR);
16879
56.3k
  yyaccept = 15;
16880
56.3k
  yych = *(YYMARKER = ++YYCURSOR);
16881
56.3k
  if (yych <= 'n') {
16882
38.0k
    if (yych <= '/') goto yy567;
16883
32.5k
    if (yych <= '9') goto yy897;
16884
18.6k
    if (yych <= 'm') goto yy567;
16885
18.6k
  } else {
16886
18.3k
    if (yych <= 'r') {
16887
5.16k
      if (yych <= 'q') goto yy567;
16888
13.1k
    } else {
16889
13.1k
      if (yych <= 's') goto yy742;
16890
9.16k
      if (yych <= 't') goto yy743;
16891
5.77k
      goto yy567;
16892
9.16k
    }
16893
18.3k
  }
16894
100k
yy741:
16895
100k
  YYDEBUG(741, *YYCURSOR);
16896
100k
  yych = *++YYCURSOR;
16897
100k
  if (yych == 'd') goto yy898;
16898
90.6k
  goto yy59;
16899
90.6k
yy742:
16900
41.6k
  YYDEBUG(742, *YYCURSOR);
16901
41.6k
  yych = *++YYCURSOR;
16902
41.6k
  if (yych == 't') goto yy898;
16903
30.9k
  goto yy59;
16904
34.1k
yy743:
16905
34.1k
  YYDEBUG(743, *YYCURSOR);
16906
34.1k
  yych = *++YYCURSOR;
16907
34.1k
  if (yych == 'h') goto yy898;
16908
27.6k
  goto yy59;
16909
98.4k
yy744:
16910
98.4k
  YYDEBUG(744, *YYCURSOR);
16911
98.4k
  yych = *++YYCURSOR;
16912
98.4k
  if (yych <= '/') goto yy59;
16913
85.2k
  if (yych <= '9') goto yy899;
16914
13.8k
  goto yy59;
16915
31.0k
yy745:
16916
31.0k
  YYDEBUG(745, *YYCURSOR);
16917
31.0k
  yyaccept = 4;
16918
31.0k
  yych = *(YYMARKER = ++YYCURSOR);
16919
31.0k
  if (yych == '.') goto yy744;
16920
29.5k
  if (yych <= '/') goto yy177;
16921
22.5k
  if (yych <= '9') goto yy897;
16922
17.0k
  goto yy177;
16923
36.1k
yy746:
16924
36.1k
  YYDEBUG(746, *YYCURSOR);
16925
36.1k
  yych = *++YYCURSOR;
16926
36.1k
  if (yych <= '/') goto yy224;
16927
30.1k
  if (yych <= '9') goto yy901;
16928
12.5k
  goto yy224;
16929
311k
yy747:
16930
311k
  YYDEBUG(747, *YYCURSOR);
16931
311k
  yych = *++YYCURSOR;
16932
311k
  if (yych <= '/') goto yy59;
16933
298k
  if (yych <= '9') goto yy902;
16934
19.9k
  goto yy59;
16935
117k
yy748:
16936
117k
  YYDEBUG(748, *YYCURSOR);
16937
117k
  yych = *++YYCURSOR;
16938
117k
  if (yych <= '/') goto yy59;
16939
107k
  if (yych <= '2') goto yy903;
16940
57.9k
  if (yych <= '3') goto yy904;
16941
17.4k
  if (yych <= '9') goto yy569;
16942
9.26k
  goto yy59;
16943
104k
yy749:
16944
104k
  YYDEBUG(749, *YYCURSOR);
16945
104k
  ++YYCURSOR;
16946
104k
  if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
16947
104k
  yych = *YYCURSOR;
16948
308k
yy750:
16949
308k
  YYDEBUG(750, *YYCURSOR);
16950
308k
  switch (yych) {
16951
10.8k
  case '\t':
16952
34.8k
  case ' ':
16953
84.0k
  case '-':
16954
95.6k
  case '.': goto yy749;
16955
17.9k
  case 'A':
16956
21.3k
  case 'a': goto yy596;
16957
4.72k
  case 'D':
16958
7.02k
  case 'd': goto yy769;
16959
2.29k
  case 'F':
16960
9.51k
  case 'f': goto yy770;
16961
5.87k
  case 'I': goto yy599;
16962
1.90k
  case 'J':
16963
5.07k
  case 'j': goto yy601;
16964
7.36k
  case 'M':
16965
10.3k
  case 'm': goto yy771;
16966
5.58k
  case 'N':
16967
7.74k
  case 'n': goto yy603;
16968
3.40k
  case 'O':
16969
4.97k
  case 'o': goto yy604;
16970
3.90k
  case 'S':
16971
10.3k
  case 's': goto yy772;
16972
3.63k
  case 'V': goto yy606;
16973
992
  case 'X': goto yy608;
16974
126k
  default:  goto yy59;
16975
308k
  }
16976
259k
yy751:
16977
259k
  YYDEBUG(751, *YYCURSOR);
16978
259k
  yyaccept = 18;
16979
259k
  yych = *(YYMARKER = ++YYCURSOR);
16980
259k
  if (yych <= '/') {
16981
38.7k
    if (yych == '-') goto yy905;
16982
220k
  } else {
16983
220k
    if (yych <= '0') goto yy906;
16984
85.0k
    if (yych <= '9') goto yy907;
16985
85.0k
  }
16986
195k
yy752:
16987
195k
  YYDEBUG(752, *YYCURSOR);
16988
195k
#line 1535 "ext/date/lib/parse_date.re"
16989
195k
  {
16990
195k
    int length = 0;
16991
195k
    DEBUG_OUTPUT("gnudateshorter");
16992
195k
    TIMELIB_INIT;
16993
195k
    TIMELIB_HAVE_DATE();
16994
16.8k
    s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
16995
16.8k
    s->time->m = timelib_get_nr(&ptr, 2);
16996
16.8k
    s->time->d = 1;
16997
16.8k
    TIMELIB_PROCESS_YEAR(s->time->y, length);
16998
16.8k
    TIMELIB_DEINIT;
16999
16.8k
    return TIMELIB_ISO_DATE;
17000
195k
  }
17001
0
#line 17002 "ext/date/lib/parse_date.c"
17002
145k
yy753:
17003
145k
  YYDEBUG(753, *YYCURSOR);
17004
145k
  yyaccept = 18;
17005
145k
  yych = *(YYMARKER = ++YYCURSOR);
17006
145k
  if (yych <= '/') {
17007
18.2k
    if (yych == '-') goto yy905;
17008
6.50k
    goto yy752;
17009
127k
  } else {
17010
127k
    if (yych <= '2') goto yy907;
17011
23.2k
    if (yych <= '9') goto yy908;
17012
14.0k
    goto yy752;
17013
23.2k
  }
17014
47.1k
yy754:
17015
47.1k
  YYDEBUG(754, *YYCURSOR);
17016
47.1k
  yyaccept = 18;
17017
47.1k
  yych = *(YYMARKER = ++YYCURSOR);
17018
47.1k
  if (yych == '-') goto yy905;
17019
18.9k
  if (yych <= '/') goto yy752;
17020
15.2k
  if (yych <= '9') goto yy908;
17021
6.93k
  goto yy752;
17022
35.0k
yy755:
17023
35.0k
  YYDEBUG(755, *YYCURSOR);
17024
35.0k
  yyaccept = 18;
17025
35.0k
  yych = *(YYMARKER = ++YYCURSOR);
17026
35.0k
  if (yych <= '/') {
17027
15.2k
    if (yych == '-') goto yy905;
17028
3.19k
    goto yy752;
17029
19.7k
  } else {
17030
19.7k
    if (yych <= '5') goto yy908;
17031
13.3k
    if (yych <= '6') goto yy909;
17032
6.66k
    goto yy752;
17033
13.3k
  }
17034
69.2k
yy756:
17035
69.2k
  YYDEBUG(756, *YYCURSOR);
17036
69.2k
  yyaccept = 18;
17037
69.2k
  yych = *(YYMARKER = ++YYCURSOR);
17038
69.2k
  if (yych == '-') goto yy905;
17039
41.0k
  goto yy752;
17040
83.4k
yy757:
17041
83.4k
  YYDEBUG(757, *YYCURSOR);
17042
83.4k
  yych = *++YYCURSOR;
17043
83.4k
  if (yych <= 'U') {
17044
26.8k
    if (yych == 'P') goto yy910;
17045
23.1k
    if (yych <= 'T') goto yy59;
17046
11.0k
    goto yy911;
17047
56.6k
  } else {
17048
56.6k
    if (yych <= 'p') {
17049
31.0k
      if (yych <= 'o') goto yy59;
17050
21.6k
      goto yy910;
17051
31.0k
    } else {
17052
25.6k
      if (yych == 'u') goto yy911;
17053
5.17k
      goto yy59;
17054
25.6k
    }
17055
56.6k
  }
17056
20.6k
yy758:
17057
20.6k
  YYDEBUG(758, *YYCURSOR);
17058
20.6k
  yych = *++YYCURSOR;
17059
20.6k
  if (yych == 'E') goto yy912;
17060
11.2k
  if (yych == 'e') goto yy912;
17061
4.29k
  goto yy59;
17062
36.3k
yy759:
17063
36.3k
  YYDEBUG(759, *YYCURSOR);
17064
36.3k
  yych = *++YYCURSOR;
17065
36.3k
  if (yych == 'E') goto yy913;
17066
28.3k
  if (yych == 'e') goto yy913;
17067
7.12k
  goto yy59;
17068
57.1k
yy760:
17069
57.1k
  YYDEBUG(760, *YYCURSOR);
17070
57.1k
  yych = *++YYCURSOR;
17071
57.1k
  if (yych <= 'U') {
17072
16.2k
    if (yych == 'A') goto yy914;
17073
13.3k
    if (yych <= 'T') goto yy59;
17074
9.43k
    goto yy915;
17075
40.8k
  } else {
17076
40.8k
    if (yych <= 'a') {
17077
11.0k
      if (yych <= '`') goto yy59;
17078
9.62k
      goto yy914;
17079
29.7k
    } else {
17080
29.7k
      if (yych == 'u') goto yy915;
17081
7.11k
      goto yy59;
17082
29.7k
    }
17083
40.8k
  }
17084
41.4k
yy761:
17085
41.4k
  YYDEBUG(761, *YYCURSOR);
17086
41.4k
  yych = *++YYCURSOR;
17087
41.4k
  if (yych == 'A') goto yy916;
17088
24.9k
  if (yych == 'a') goto yy916;
17089
10.7k
  goto yy59;
17090
25.3k
yy762:
17091
25.3k
  YYDEBUG(762, *YYCURSOR);
17092
25.3k
  yych = *++YYCURSOR;
17093
25.3k
  if (yych == 'O') goto yy917;
17094
21.1k
  if (yych == 'o') goto yy917;
17095
7.88k
  goto yy59;
17096
21.7k
yy763:
17097
21.7k
  YYDEBUG(763, *YYCURSOR);
17098
21.7k
  yych = *++YYCURSOR;
17099
21.7k
  if (yych == 'C') goto yy918;
17100
13.1k
  if (yych == 'c') goto yy918;
17101
7.62k
  goto yy59;
17102
21.2k
yy764:
17103
21.2k
  YYDEBUG(764, *YYCURSOR);
17104
21.2k
  yych = *++YYCURSOR;
17105
21.2k
  if (yych == 'E') goto yy919;
17106
19.2k
  if (yych == 'e') goto yy919;
17107
5.81k
  goto yy59;
17108
24.4k
yy765:
17109
24.4k
  YYDEBUG(765, *YYCURSOR);
17110
24.4k
  yych = *++YYCURSOR;
17111
24.4k
  if (yych <= '/') goto yy59;
17112
23.0k
  if (yych <= '0') goto yy797;
17113
20.9k
  if (yych <= '4') goto yy798;
17114
6.68k
  if (yych <= '5') goto yy799;
17115
1.83k
  goto yy59;
17116
38.7k
yy766:
17117
38.7k
  YYDEBUG(766, *YYCURSOR);
17118
38.7k
  yych = *++YYCURSOR;
17119
38.7k
  if (yych <= '/') goto yy59;
17120
31.6k
  if (yych <= '0') goto yy920;
17121
14.5k
  if (yych <= '9') goto yy908;
17122
5.27k
  goto yy59;
17123
21.6k
yy767:
17124
21.6k
  YYDEBUG(767, *YYCURSOR);
17125
21.6k
  yych = *++YYCURSOR;
17126
21.6k
  if (yych <= '/') goto yy59;
17127
15.9k
  if (yych <= '9') goto yy908;
17128
8.36k
  goto yy59;
17129
10.4k
yy768:
17130
10.4k
  YYDEBUG(768, *YYCURSOR);
17131
10.4k
  yych = *++YYCURSOR;
17132
10.4k
  if (yych <= '/') goto yy59;
17133
7.49k
  if (yych <= '5') goto yy908;
17134
3.09k
  if (yych <= '6') goto yy909;
17135
1.55k
  goto yy59;
17136
7.02k
yy769:
17137
7.02k
  YYDEBUG(769, *YYCURSOR);
17138
7.02k
  yych = *++YYCURSOR;
17139
7.02k
  if (yych == 'E') goto yy787;
17140
4.48k
  if (yych == 'e') goto yy787;
17141
2.80k
  goto yy59;
17142
9.51k
yy770:
17143
9.51k
  YYDEBUG(770, *YYCURSOR);
17144
9.51k
  yych = *++YYCURSOR;
17145
9.51k
  if (yych == 'E') goto yy788;
17146
5.47k
  if (yych == 'e') goto yy788;
17147
4.23k
  goto yy59;
17148
10.3k
yy771:
17149
10.3k
  YYDEBUG(771, *YYCURSOR);
17150
10.3k
  yych = *++YYCURSOR;
17151
10.3k
  if (yych == 'A') goto yy793;
17152
8.65k
  if (yych == 'a') goto yy793;
17153
4.36k
  goto yy59;
17154
10.3k
yy772:
17155
10.3k
  YYDEBUG(772, *YYCURSOR);
17156
10.3k
  yych = *++YYCURSOR;
17157
10.3k
  if (yych == 'E') goto yy921;
17158
8.04k
  if (yych == 'e') goto yy921;
17159
3.97k
  goto yy59;
17160
58.2k
yy773:
17161
58.2k
  YYDEBUG(773, *YYCURSOR);
17162
58.2k
  yych = *++YYCURSOR;
17163
58.2k
  if (yych <= '.') goto yy59;
17164
55.5k
  if (yych <= '/') goto yy922;
17165
33.7k
  if (yych <= '9') goto yy923;
17166
3.91k
  goto yy59;
17167
82.0k
yy774:
17168
82.0k
  YYDEBUG(774, *YYCURSOR);
17169
82.0k
  yych = *++YYCURSOR;
17170
82.0k
  if (yych <= '.') goto yy59;
17171
79.5k
  if (yych <= '/') goto yy922;
17172
51.2k
  if (yych <= '2') goto yy923;
17173
8.38k
  goto yy59;
17174
29.6k
yy775:
17175
29.6k
  YYDEBUG(775, *YYCURSOR);
17176
29.6k
  yych = *++YYCURSOR;
17177
29.6k
  if (yych == '/') goto yy922;
17178
11.9k
  goto yy59;
17179
1.62M
yy776:
17180
1.62M
  YYDEBUG(776, *YYCURSOR);
17181
1.62M
  yyaccept = 19;
17182
1.62M
  yych = *(YYMARKER = ++YYCURSOR);
17183
1.62M
  if (yych <= 'W') {
17184
1.55M
    if (yych <= 'C') {
17185
1.51M
      if (yych <= '/') {
17186
87.8k
        if (yych <= '\t') {
17187
34.5k
          if (yych >= '\t') goto yy196;
17188
53.2k
        } else {
17189
53.2k
          if (yych == ' ') goto yy196;
17190
53.2k
        }
17191
1.43M
      } else {
17192
1.43M
        if (yych <= '2') {
17193
1.32M
          if (yych <= '0') goto yy924;
17194
69.2k
          goto yy925;
17195
1.32M
        } else {
17196
105k
          if (yych <= '3') goto yy927;
17197
79.2k
          if (yych <= '9') goto yy928;
17198
79.2k
        }
17199
1.43M
      }
17200
1.51M
    } else {
17201
38.4k
      if (yych <= 'H') {
17202
18.5k
        if (yych <= 'E') {
17203
9.53k
          if (yych <= 'D') goto yy196;
17204
9.53k
        } else {
17205
9.05k
          if (yych != 'G') goto yy196;
17206
9.05k
        }
17207
19.8k
      } else {
17208
19.8k
        if (yych <= 'R') {
17209
9.18k
          if (yych == 'M') goto yy196;
17210
10.6k
        } else {
17211
10.6k
          if (yych != 'V') goto yy196;
17212
10.6k
        }
17213
19.8k
      }
17214
38.4k
    }
17215
1.55M
  } else {
17216
72.1k
    if (yych <= 'm') {
17217
19.2k
      if (yych <= 'e') {
17218
13.6k
        if (yych <= 'Y') {
17219
2.96k
          if (yych >= 'Y') goto yy196;
17220
10.7k
        } else {
17221
10.7k
          if (yych == 'd') goto yy196;
17222
10.7k
        }
17223
13.6k
      } else {
17224
5.54k
        if (yych <= 'g') {
17225
2.09k
          if (yych <= 'f') goto yy196;
17226
3.45k
        } else {
17227
3.45k
          if (yych <= 'h') goto yy196;
17228
2.09k
          if (yych >= 'm') goto yy196;
17229
2.09k
        }
17230
5.54k
      }
17231
52.9k
    } else {
17232
52.9k
      if (yych <= 'x') {
17233
18.6k
        if (yych <= 'u') {
17234
15.0k
          if (yych >= 's') goto yy196;
17235
15.0k
        } else {
17236
3.58k
          if (yych == 'w') goto yy196;
17237
3.58k
        }
17238
34.3k
      } else {
17239
34.3k
        if (yych <= 0xC2) {
17240
15.9k
          if (yych <= 'y') goto yy196;
17241
13.4k
          if (yych >= 0xC2) goto yy97;
17242
18.3k
        } else {
17243
18.3k
          if (yych == 0xE2) goto yy98;
17244
18.3k
        }
17245
34.3k
      }
17246
52.9k
    }
17247
72.1k
  }
17248
1.22M
yy777:
17249
1.22M
  YYDEBUG(777, *YYCURSOR);
17250
1.22M
#line 1461 "ext/date/lib/parse_date.re"
17251
1.22M
  {
17252
1.22M
    int tz_not_found;
17253
1.22M
    DEBUG_OUTPUT("iso8601nocolon");
17254
1.22M
    TIMELIB_INIT;
17255
1.22M
    TIMELIB_HAVE_TIME();
17256
155k
    s->time->h = timelib_get_nr(&ptr, 2);
17257
155k
    s->time->i = timelib_get_nr(&ptr, 2);
17258
155k
    s->time->s = timelib_get_nr(&ptr, 2);
17259
17260
155k
    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
155k
    TIMELIB_DEINIT;
17267
155k
    return TIMELIB_ISO_NOCOLON;
17268
1.22M
  }
17269
0
#line 17270 "ext/date/lib/parse_date.c"
17270
735k
yy778:
17271
735k
  YYDEBUG(778, *YYCURSOR);
17272
735k
  yyaccept = 19;
17273
735k
  yych = *(YYMARKER = ++YYCURSOR);
17274
735k
  if (yych <= 'W') {
17275
657k
    if (yych <= 'D') {
17276
635k
      if (yych <= '/') {
17277
73.7k
        if (yych <= '\t') {
17278
20.4k
          if (yych <= 0x08) goto yy777;
17279
2.86k
          goto yy196;
17280
53.3k
        } else {
17281
53.3k
          if (yych == ' ') goto yy196;
17282
43.0k
          goto yy777;
17283
53.3k
        }
17284
561k
      } else {
17285
561k
        if (yych <= '3') {
17286
420k
          if (yych <= '2') goto yy925;
17287
37.6k
          goto yy927;
17288
420k
        } else {
17289
140k
          if (yych <= '9') goto yy928;
17290
34.6k
          if (yych <= 'C') goto yy777;
17291
3.58k
          goto yy196;
17292
34.6k
        }
17293
561k
      }
17294
635k
    } else {
17295
22.6k
      if (yych <= 'L') {
17296
7.76k
        if (yych <= 'F') {
17297
3.54k
          if (yych <= 'E') goto yy777;
17298
1.30k
          goto yy196;
17299
4.22k
        } else {
17300
4.22k
          if (yych == 'H') goto yy196;
17301
3.12k
          goto yy777;
17302
4.22k
        }
17303
14.8k
      } else {
17304
14.8k
        if (yych <= 'R') {
17305
8.72k
          if (yych <= 'M') goto yy196;
17306
3.45k
          goto yy777;
17307
8.72k
        } else {
17308
6.12k
          if (yych == 'V') goto yy777;
17309
5.33k
          goto yy196;
17310
6.12k
        }
17311
14.8k
      }
17312
22.6k
    }
17313
657k
  } else {
17314
77.7k
    if (yych <= 'm') {
17315
28.9k
      if (yych <= 'e') {
17316
16.2k
        if (yych <= 'Y') {
17317
9.21k
          if (yych <= 'X') goto yy777;
17318
3.53k
          goto yy196;
17319
9.21k
        } else {
17320
6.99k
          if (yych == 'd') goto yy196;
17321
5.15k
          goto yy777;
17322
6.99k
        }
17323
16.2k
      } else {
17324
12.7k
        if (yych <= 'g') {
17325
3.83k
          if (yych <= 'f') goto yy196;
17326
2.68k
          goto yy777;
17327
8.93k
        } else {
17328
8.93k
          if (yych <= 'h') goto yy196;
17329
7.24k
          if (yych <= 'l') goto yy777;
17330
1.19k
          goto yy196;
17331
7.24k
        }
17332
12.7k
      }
17333
48.7k
    } else {
17334
48.7k
      if (yych <= 'x') {
17335
19.3k
        if (yych <= 'u') {
17336
12.6k
          if (yych <= 'r') goto yy777;
17337
7.44k
          goto yy196;
17338
12.6k
        } else {
17339
6.69k
          if (yych == 'w') goto yy196;
17340
4.49k
          goto yy777;
17341
6.69k
        }
17342
29.4k
      } else {
17343
29.4k
        if (yych <= 0xC2) {
17344
17.5k
          if (yych <= 'y') goto yy196;
17345
15.2k
          if (yych <= 0xC1) goto yy777;
17346
6.91k
          goto yy97;
17347
15.2k
        } else {
17348
11.8k
          if (yych == 0xE2) goto yy98;
17349
9.46k
          goto yy777;
17350
11.8k
        }
17351
29.4k
      }
17352
48.7k
    }
17353
77.7k
  }
17354
479k
yy779:
17355
479k
  YYDEBUG(779, *YYCURSOR);
17356
479k
  yyaccept = 19;
17357
479k
  yych = *(YYMARKER = ++YYCURSOR);
17358
479k
  if (yych <= 'X') {
17359
398k
    if (yych <= 'E') {
17360
357k
      if (yych <= ' ') {
17361
29.6k
        if (yych == '\t') goto yy196;
17362
25.9k
        if (yych <= 0x1F) goto yy777;
17363
7.71k
        goto yy196;
17364
327k
      } else {
17365
327k
        if (yych <= '9') {
17366
313k
          if (yych <= '/') goto yy777;
17367
295k
          goto yy928;
17368
313k
        } else {
17369
13.9k
          if (yych == 'D') goto yy196;
17370
13.2k
          goto yy777;
17371
13.9k
        }
17372
327k
      }
17373
357k
    } else {
17374
41.2k
      if (yych <= 'M') {
17375
21.2k
        if (yych <= 'G') {
17376
9.20k
          if (yych <= 'F') goto yy196;
17377
2.37k
          goto yy777;
17378
12.0k
        } else {
17379
12.0k
          if (yych <= 'H') goto yy196;
17380
7.87k
          if (yych <= 'L') goto yy777;
17381
5.07k
          goto yy196;
17382
7.87k
        }
17383
21.2k
      } else {
17384
19.9k
        if (yych <= 'U') {
17385
15.2k
          if (yych <= 'R') goto yy777;
17386
9.60k
          goto yy196;
17387
15.2k
        } else {
17388
4.72k
          if (yych == 'W') goto yy196;
17389
2.80k
          goto yy777;
17390
4.72k
        }
17391
19.9k
      }
17392
41.2k
    }
17393
398k
  } else {
17394
80.5k
    if (yych <= 'r') {
17395
34.2k
      if (yych <= 'f') {
17396
21.3k
        if (yych <= 'c') {
17397
13.5k
          if (yych <= 'Y') goto yy196;
17398
6.73k
          goto yy777;
17399
13.5k
        } else {
17400
7.73k
          if (yych == 'e') goto yy777;
17401
1.75k
          goto yy196;
17402
7.73k
        }
17403
21.3k
      } else {
17404
12.9k
        if (yych <= 'h') {
17405
6.31k
          if (yych <= 'g') goto yy777;
17406
3.41k
          goto yy196;
17407
6.61k
        } else {
17408
6.61k
          if (yych == 'm') goto yy196;
17409
5.16k
          goto yy777;
17410
6.61k
        }
17411
12.9k
      }
17412
46.3k
    } else {
17413
46.3k
      if (yych <= 'y') {
17414
10.8k
        if (yych <= 'v') {
17415
6.18k
          if (yych <= 'u') goto yy196;
17416
2.19k
          goto yy777;
17417
6.18k
        } else {
17418
4.69k
          if (yych == 'x') goto yy777;
17419
2.90k
          goto yy196;
17420
4.69k
        }
17421
35.4k
      } else {
17422
35.4k
        if (yych <= 0xC2) {
17423
24.7k
          if (yych <= 0xC1) goto yy777;
17424
1.35k
          goto yy97;
17425
24.7k
        } else {
17426
10.6k
          if (yych == 0xE2) goto yy98;
17427
6.98k
          goto yy777;
17428
10.6k
        }
17429
35.4k
      }
17430
46.3k
    }
17431
80.5k
  }
17432
83.3k
yy780:
17433
83.3k
  YYDEBUG(780, *YYCURSOR);
17434
83.3k
  yyaccept = 19;
17435
83.3k
  yych = *(YYMARKER = ++YYCURSOR);
17436
83.3k
  if (yych <= 'X') {
17437
41.7k
    if (yych <= 'E') {
17438
24.3k
      if (yych <= '/') {
17439
8.75k
        if (yych <= '\t') {
17440
3.27k
          if (yych <= 0x08) goto yy777;
17441
897
          goto yy196;
17442
5.48k
        } else {
17443
5.48k
          if (yych == ' ') goto yy196;
17444
3.13k
          goto yy777;
17445
5.48k
        }
17446
15.5k
      } else {
17447
15.5k
        if (yych <= '9') {
17448
9.44k
          if (yych <= '6') goto yy928;
17449
2.60k
          goto yy929;
17450
9.44k
        } else {
17451
6.10k
          if (yych == 'D') goto yy196;
17452
2.76k
          goto yy777;
17453
6.10k
        }
17454
15.5k
      }
17455
24.3k
    } else {
17456
17.4k
      if (yych <= 'M') {
17457
10.9k
        if (yych <= 'G') {
17458
4.20k
          if (yych <= 'F') goto yy196;
17459
1.93k
          goto yy777;
17460
6.74k
        } else {
17461
6.74k
          if (yych <= 'H') goto yy196;
17462
3.84k
          if (yych <= 'L') goto yy777;
17463
1.57k
          goto yy196;
17464
3.84k
        }
17465
10.9k
      } else {
17466
6.50k
        if (yych <= 'U') {
17467
3.55k
          if (yych <= 'R') goto yy777;
17468
2.78k
          goto yy196;
17469
3.55k
        } else {
17470
2.95k
          if (yych == 'W') goto yy196;
17471
2.15k
          goto yy777;
17472
2.95k
        }
17473
6.50k
      }
17474
17.4k
    }
17475
41.7k
  } else {
17476
41.6k
    if (yych <= 'r') {
17477
14.3k
      if (yych <= 'f') {
17478
6.21k
        if (yych <= 'c') {
17479
3.45k
          if (yych <= 'Y') goto yy196;
17480
2.02k
          goto yy777;
17481
3.45k
        } else {
17482
2.76k
          if (yych == 'e') goto yy777;
17483
1.45k
          goto yy196;
17484
2.76k
        }
17485
8.14k
      } else {
17486
8.14k
        if (yych <= 'h') {
17487
4.05k
          if (yych <= 'g') goto yy777;
17488
2.24k
          goto yy196;
17489
4.08k
        } else {
17490
4.08k
          if (yych == 'm') goto yy196;
17491
2.83k
          goto yy777;
17492
4.08k
        }
17493
8.14k
      }
17494
27.2k
    } else {
17495
27.2k
      if (yych <= 'y') {
17496
18.6k
        if (yych <= 'v') {
17497
6.10k
          if (yych <= 'u') goto yy196;
17498
2.18k
          goto yy777;
17499
12.5k
        } else {
17500
12.5k
          if (yych == 'x') goto yy777;
17501
11.5k
          goto yy196;
17502
12.5k
        }
17503
18.6k
      } else {
17504
8.55k
        if (yych <= 0xC2) {
17505
4.42k
          if (yych <= 0xC1) goto yy777;
17506
1.69k
          goto yy97;
17507
4.42k
        } else {
17508
4.13k
          if (yych == 0xE2) goto yy98;
17509
3.14k
          goto yy777;
17510
4.13k
        }
17511
8.55k
      }
17512
27.2k
    }
17513
41.6k
  }
17514
420k
yy781:
17515
420k
  YYDEBUG(781, *YYCURSOR);
17516
420k
  yyaccept = 19;
17517
420k
  yych = *(YYMARKER = ++YYCURSOR);
17518
420k
  if (yych <= 'X') {
17519
362k
    if (yych <= 'E') {
17520
338k
      if (yych <= ' ') {
17521
27.1k
        if (yych == '\t') goto yy196;
17522
25.4k
        if (yych <= 0x1F) goto yy777;
17523
8.59k
        goto yy196;
17524
311k
      } else {
17525
311k
        if (yych <= '9') {
17526
299k
          if (yych <= '/') goto yy777;
17527
284k
          goto yy929;
17528
299k
        } else {
17529
12.2k
          if (yych == 'D') goto yy196;
17530
9.98k
          goto yy777;
17531
12.2k
        }
17532
311k
      }
17533
338k
    } else {
17534
23.1k
      if (yych <= 'M') {
17535
10.0k
        if (yych <= 'G') {
17536
5.45k
          if (yych <= 'F') goto yy196;
17537
3.10k
          goto yy777;
17538
5.45k
        } else {
17539
4.63k
          if (yych <= 'H') goto yy196;
17540
3.33k
          if (yych <= 'L') goto yy777;
17541
2.46k
          goto yy196;
17542
3.33k
        }
17543
13.0k
      } else {
17544
13.0k
        if (yych <= 'U') {
17545
6.48k
          if (yych <= 'R') goto yy777;
17546
2.00k
          goto yy196;
17547
6.60k
        } else {
17548
6.60k
          if (yych == 'W') goto yy196;
17549
4.14k
          goto yy777;
17550
6.60k
        }
17551
13.0k
      }
17552
23.1k
    }
17553
362k
  } else {
17554
57.9k
    if (yych <= 'r') {
17555
29.1k
      if (yych <= 'f') {
17556
15.3k
        if (yych <= 'c') {
17557
10.7k
          if (yych <= 'Y') goto yy196;
17558
3.24k
          goto yy777;
17559
10.7k
        } else {
17560
4.57k
          if (yych == 'e') goto yy777;
17561
2.27k
          goto yy196;
17562
4.57k
        }
17563
15.3k
      } else {
17564
13.8k
        if (yych <= 'h') {
17565
5.66k
          if (yych <= 'g') goto yy777;
17566
1.66k
          goto yy196;
17567
8.22k
        } else {
17568
8.22k
          if (yych == 'm') goto yy196;
17569
4.28k
          goto yy777;
17570
8.22k
        }
17571
13.8k
      }
17572
29.1k
    } else {
17573
28.7k
      if (yych <= 'y') {
17574
11.3k
        if (yych <= 'v') {
17575
6.55k
          if (yych <= 'u') goto yy196;
17576
2.33k
          goto yy777;
17577
6.55k
        } else {
17578
4.80k
          if (yych == 'x') goto yy777;
17579
3.50k
          goto yy196;
17580
4.80k
        }
17581
17.3k
      } else {
17582
17.3k
        if (yych <= 0xC2) {
17583
7.81k
          if (yych <= 0xC1) goto yy777;
17584
2.43k
          goto yy97;
17585
9.54k
        } else {
17586
9.54k
          if (yych == 0xE2) goto yy98;
17587
7.86k
          goto yy777;
17588
9.54k
        }
17589
17.3k
      }
17590
28.7k
    }
17591
57.9k
  }
17592
3.06M
yy782:
17593
3.06M
  YYDEBUG(782, *YYCURSOR);
17594
3.06M
  yych = *++YYCURSOR;
17595
3.06M
  if (yych <= 0xC1) {
17596
2.98M
    if (yych <= '/') goto yy196;
17597
2.74M
    if (yych <= '9') goto yy929;
17598
264k
    goto yy196;
17599
2.74M
  } else {
17600
81.2k
    if (yych <= 0xC2) goto yy97;
17601
58.5k
    if (yych == 0xE2) goto yy98;
17602
40.0k
    goto yy196;
17603
58.5k
  }
17604
41.8k
yy783:
17605
41.8k
  YYDEBUG(783, *YYCURSOR);
17606
41.8k
  yych = *++YYCURSOR;
17607
41.8k
  if (yych <= '/') goto yy59;
17608
32.9k
  if (yych <= '9') goto yy930;
17609
9.06k
  goto yy59;
17610
167k
yy784:
17611
167k
  YYDEBUG(784, *YYCURSOR);
17612
167k
  yych = *++YYCURSOR;
17613
167k
  if (yych <= '/') goto yy59;
17614
156k
  if (yych <= '2') goto yy930;
17615
44.1k
  goto yy59;
17616
44.1k
yy785:
17617
14.1k
  YYDEBUG(785, *YYCURSOR);
17618
14.1k
  yych = *++YYCURSOR;
17619
14.1k
  if (yych == 'R') goto yy931;
17620
12.1k
  if (yych == 'r') goto yy931;
17621
5.89k
  goto yy59;
17622
27.7k
yy786:
17623
27.7k
  YYDEBUG(786, *YYCURSOR);
17624
27.7k
  yych = *++YYCURSOR;
17625
27.7k
  if (yych == 'G') goto yy932;
17626
24.3k
  if (yych == 'g') goto yy932;
17627
10.9k
  goto yy59;
17628
12.9k
yy787:
17629
12.9k
  YYDEBUG(787, *YYCURSOR);
17630
12.9k
  yych = *++YYCURSOR;
17631
12.9k
  if (yych == 'C') goto yy933;
17632
11.7k
  if (yych == 'c') goto yy933;
17633
7.63k
  goto yy59;
17634
19.9k
yy788:
17635
19.9k
  YYDEBUG(788, *YYCURSOR);
17636
19.9k
  yych = *++YYCURSOR;
17637
19.9k
  if (yych == 'B') goto yy934;
17638
18.5k
  if (yych == 'b') goto yy934;
17639
6.03k
  goto yy59;
17640
12.5k
yy789:
17641
12.5k
  YYDEBUG(789, *YYCURSOR);
17642
12.5k
  yych = *++YYCURSOR;
17643
12.5k
  if (yych != 'I') goto yy600;
17644
47.2k
yy790:
17645
47.2k
  YYDEBUG(790, *YYCURSOR);
17646
47.2k
  ++YYCURSOR;
17647
47.2k
  goto yy600;
17648
18.8k
yy791:
17649
18.8k
  YYDEBUG(791, *YYCURSOR);
17650
18.8k
  yych = *++YYCURSOR;
17651
18.8k
  if (yych == 'N') goto yy935;
17652
12.0k
  if (yych == 'n') goto yy935;
17653
5.35k
  goto yy59;
17654
33.0k
yy792:
17655
33.0k
  YYDEBUG(792, *YYCURSOR);
17656
33.0k
  yych = *++YYCURSOR;
17657
33.0k
  if (yych <= 'N') {
17658
12.7k
    if (yych == 'L') goto yy936;
17659
11.1k
    if (yych <= 'M') goto yy59;
17660
4.53k
    goto yy937;
17661
20.2k
  } else {
17662
20.2k
    if (yych <= 'l') {
17663
8.58k
      if (yych <= 'k') goto yy59;
17664
3.10k
      goto yy936;
17665
11.6k
    } else {
17666
11.6k
      if (yych == 'n') goto yy937;
17667
5.65k
      goto yy59;
17668
11.6k
    }
17669
20.2k
  }
17670
30.4k
yy793:
17671
30.4k
  YYDEBUG(793, *YYCURSOR);
17672
30.4k
  yych = *++YYCURSOR;
17673
30.4k
  if (yych <= 'Y') {
17674
12.5k
    if (yych == 'R') goto yy938;
17675
8.32k
    if (yych <= 'X') goto yy59;
17676
1.57k
    goto yy790;
17677
17.9k
  } else {
17678
17.9k
    if (yych <= 'r') {
17679
12.9k
      if (yych <= 'q') goto yy59;
17680
9.41k
      goto yy938;
17681
12.9k
    } else {
17682
5.03k
      if (yych == 'y') goto yy790;
17683
2.94k
      goto yy59;
17684
5.03k
    }
17685
17.9k
  }
17686
18.9k
yy794:
17687
18.9k
  YYDEBUG(794, *YYCURSOR);
17688
18.9k
  yych = *++YYCURSOR;
17689
18.9k
  if (yych == 'V') goto yy933;
17690
15.2k
  if (yych == 'v') goto yy933;
17691
9.60k
  goto yy59;
17692
17.2k
yy795:
17693
17.2k
  YYDEBUG(795, *YYCURSOR);
17694
17.2k
  yych = *++YYCURSOR;
17695
17.2k
  if (yych == 'T') goto yy939;
17696
14.8k
  if (yych == 't') goto yy939;
17697
7.68k
  goto yy59;
17698
65.6k
yy796:
17699
65.6k
  YYDEBUG(796, *YYCURSOR);
17700
65.6k
  yych = *++YYCURSOR;
17701
65.6k
  if (yych <= 'P') {
17702
33.9k
    if (yych == 'C') goto yy443;
17703
9.61k
    if (yych <= 'O') goto yy59;
17704
4.27k
    goto yy940;
17705
31.7k
  } else {
17706
31.7k
    if (yych <= 'c') {
17707
4.21k
      if (yych <= 'b') goto yy59;
17708
3.03k
      goto yy443;
17709
27.5k
    } else {
17710
27.5k
      if (yych == 'p') goto yy940;
17711
4.68k
      goto yy59;
17712
27.5k
    }
17713
31.7k
  }
17714
10.7k
yy797:
17715
10.7k
  YYDEBUG(797, *YYCURSOR);
17716
10.7k
  yych = *++YYCURSOR;
17717
10.7k
  if (yych <= '0') goto yy59;
17718
7.84k
  if (yych <= '9') goto yy941;
17719
1.78k
  goto yy59;
17720
36.0k
yy798:
17721
36.0k
  YYDEBUG(798, *YYCURSOR);
17722
36.0k
  yych = *++YYCURSOR;
17723
36.0k
  if (yych <= '/') goto yy59;
17724
31.0k
  if (yych <= '9') goto yy941;
17725
7.68k
  goto yy59;
17726
15.2k
yy799:
17727
15.2k
  YYDEBUG(799, *YYCURSOR);
17728
15.2k
  yych = *++YYCURSOR;
17729
15.2k
  if (yych <= '/') goto yy59;
17730
13.2k
  if (yych <= '3') goto yy941;
17731
2.57k
  goto yy59;
17732
413k
yy800:
17733
413k
  YYDEBUG(800, *YYCURSOR);
17734
413k
  yych = *++YYCURSOR;
17735
413k
  if (yych <= '9') {
17736
380k
    if (yych <= '0') {
17737
286k
      if (yych <= '/') goto yy196;
17738
253k
      goto yy924;
17739
286k
    } else {
17740
93.9k
      if (yych <= '2') goto yy925;
17741
63.2k
      if (yych <= '3') goto yy927;
17742
37.7k
      goto yy928;
17743
63.2k
    }
17744
380k
  } else {
17745
32.5k
    if (yych <= 0xC2) {
17746
26.8k
      if (yych <= 0xC1) goto yy196;
17747
760
      goto yy97;
17748
26.8k
    } else {
17749
5.68k
      if (yych == 0xE2) goto yy98;
17750
3.89k
      goto yy196;
17751
5.68k
    }
17752
32.5k
  }
17753
498k
yy801:
17754
498k
  YYDEBUG(801, *YYCURSOR);
17755
498k
  yych = *++YYCURSOR;
17756
498k
  if (yych <= '9') {
17757
426k
    if (yych <= '/') goto yy196;
17758
378k
    if (yych <= '2') goto yy925;
17759
216k
    if (yych <= '3') goto yy927;
17760
124k
    goto yy928;
17761
216k
  } else {
17762
71.9k
    if (yych <= 0xC2) {
17763
53.7k
      if (yych <= 0xC1) goto yy196;
17764
6.95k
      goto yy97;
17765
53.7k
    } else {
17766
18.1k
      if (yych == 0xE2) goto yy98;
17767
12.4k
      goto yy196;
17768
18.1k
    }
17769
71.9k
  }
17770
524k
yy802:
17771
524k
  YYDEBUG(802, *YYCURSOR);
17772
524k
  yych = *++YYCURSOR;
17773
524k
  if (yych <= 0xC1) {
17774
504k
    if (yych <= '/') goto yy196;
17775
454k
    if (yych <= '9') goto yy928;
17776
66.8k
    goto yy196;
17777
454k
  } else {
17778
20.4k
    if (yych <= 0xC2) goto yy97;
17779
16.0k
    if (yych == 0xE2) goto yy98;
17780
12.2k
    goto yy196;
17781
16.0k
  }
17782
63.9k
yy803:
17783
63.9k
  YYDEBUG(803, *YYCURSOR);
17784
63.9k
  yych = *++YYCURSOR;
17785
63.9k
  if (yych <= 0xC1) {
17786
54.6k
    if (yych <= '/') goto yy196;
17787
48.9k
    if (yych <= '6') goto yy928;
17788
33.4k
    if (yych <= '9') goto yy929;
17789
7.57k
    goto yy196;
17790
33.4k
  } else {
17791
9.34k
    if (yych <= 0xC2) goto yy97;
17792
7.92k
    if (yych == 0xE2) goto yy98;
17793
4.30k
    goto yy196;
17794
7.92k
  }
17795
22.4k
yy804:
17796
22.4k
  YYDEBUG(804, *YYCURSOR);
17797
22.4k
  yych = *++YYCURSOR;
17798
22.4k
  if (yych == 'T') goto yy253;
17799
16.4k
  if (yych == 't') goto yy253;
17800
10.7k
  goto yy59;
17801
13.6k
yy805:
17802
13.6k
  YYDEBUG(805, *YYCURSOR);
17803
13.6k
  yych = *++YYCURSOR;
17804
13.6k
  if (yych == 'N') goto yy806;
17805
6.97k
  if (yych != 'n') goto yy59;
17806
23.1k
yy806:
17807
23.1k
  YYDEBUG(806, *YYCURSOR);
17808
23.1k
  yych = *++YYCURSOR;
17809
23.1k
  if (yych == 'I') goto yy943;
17810
16.1k
  if (yych == 'i') goto yy943;
17811
8.92k
  goto yy59;
17812
39.8k
yy807:
17813
39.8k
  YYDEBUG(807, *YYCURSOR);
17814
39.8k
  ++YYCURSOR;
17815
39.8k
  goto yy251;
17816
33.0k
yy808:
17817
33.0k
  YYDEBUG(808, *YYCURSOR);
17818
33.0k
  yych = *++YYCURSOR;
17819
33.0k
  if (yych == 'R') goto yy944;
17820
25.9k
  if (yych == 'r') goto yy944;
17821
17.8k
  goto yy59;
17822
63.1k
yy809:
17823
63.1k
  YYDEBUG(809, *YYCURSOR);
17824
63.1k
  yych = *++YYCURSOR;
17825
63.1k
  if (yych == 'S') goto yy945;
17826
41.8k
  if (yych == 's') goto yy945;
17827
22.1k
  goto yy59;
17828
22.1k
yy810:
17829
7.74k
  YYDEBUG(810, *YYCURSOR);
17830
7.74k
  yych = *++YYCURSOR;
17831
7.74k
  if (yych == 'E') goto yy425;
17832
5.81k
  if (yych == 'e') goto yy425;
17833
3.47k
  goto yy59;
17834
25.4k
yy811:
17835
25.4k
  YYDEBUG(811, *YYCURSOR);
17836
25.4k
  yych = *++YYCURSOR;
17837
25.4k
  if (yych == 'E') goto yy946;
17838
19.6k
  if (yych == 'e') goto yy946;
17839
10.0k
  goto yy59;
17840
23.1k
yy812:
17841
23.1k
  YYDEBUG(812, *YYCURSOR);
17842
23.1k
  yych = *++YYCURSOR;
17843
23.1k
  if (yych == 'D') goto yy425;
17844
21.9k
  if (yych == 'd') goto yy425;
17845
18.5k
  goto yy59;
17846
102k
yy813:
17847
102k
  YYDEBUG(813, *YYCURSOR);
17848
102k
  yyaccept = 4;
17849
102k
  yych = *(YYMARKER = ++YYCURSOR);
17850
102k
  if (yych <= 'A') {
17851
62.4k
    if (yych <= '-') {
17852
25.4k
      if (yych <= '\t') {
17853
5.59k
        if (yych <= 0x08) goto yy177;
17854
2.07k
        goto yy638;
17855
19.8k
      } else {
17856
19.8k
        if (yych == ' ') goto yy638;
17857
17.5k
        goto yy177;
17858
19.8k
      }
17859
36.9k
    } else {
17860
36.9k
      if (yych <= '/') {
17861
9.84k
        if (yych <= '.') goto yy744;
17862
3.05k
        goto yy177;
17863
27.1k
      } else {
17864
27.1k
        if (yych <= '9') goto yy897;
17865
20.3k
        if (yych <= '@') goto yy177;
17866
5.60k
        goto yy106;
17867
20.3k
      }
17868
36.9k
    }
17869
62.4k
  } else {
17870
39.9k
    if (yych <= 'o') {
17871
19.8k
      if (yych <= 'P') {
17872
12.3k
        if (yych <= 'O') goto yy177;
17873
4.38k
        goto yy106;
17874
12.3k
      } else {
17875
7.48k
        if (yych == 'a') goto yy106;
17876
4.27k
        goto yy177;
17877
7.48k
      }
17878
20.1k
    } else {
17879
20.1k
      if (yych <= 0xC2) {
17880
11.9k
        if (yych <= 'p') goto yy106;
17881
8.38k
        if (yych <= 0xC1) goto yy177;
17882
1.71k
        goto yy640;
17883
8.38k
      } else {
17884
8.17k
        if (yych == 0xE2) goto yy641;
17885
4.95k
        goto yy177;
17886
8.17k
      }
17887
20.1k
    }
17888
39.9k
  }
17889
71.9k
yy814:
17890
71.9k
  YYDEBUG(814, *YYCURSOR);
17891
71.9k
  ++YYCURSOR;
17892
71.9k
  if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
17893
71.9k
  yych = *YYCURSOR;
17894
71.9k
  if (yych <= '`') {
17895
45.7k
    if (yych <= 'A') {
17896
15.1k
      if (yych <= '@') goto yy59;
17897
1.81k
      goto yy106;
17898
30.5k
    } else {
17899
30.5k
      if (yych == 'P') goto yy106;
17900
27.2k
      goto yy59;
17901
30.5k
    }
17902
45.7k
  } else {
17903
26.1k
    if (yych <= 'p') {
17904
7.72k
      if (yych <= 'a') goto yy106;
17905
5.67k
      if (yych <= 'o') goto yy59;
17906
2.62k
      goto yy106;
17907
18.4k
    } else {
17908
18.4k
      if (yych == 0xC2) goto yy640;
17909
6.14k
      goto yy59;
17910
18.4k
    }
17911
26.1k
  }
17912
52.1k
yy815:
17913
52.1k
  YYDEBUG(815, *YYCURSOR);
17914
52.1k
  ++YYCURSOR;
17915
52.1k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
17916
52.1k
  yych = *YYCURSOR;
17917
52.1k
  if (yych == 0xAF) goto yy947;
17918
9.07k
  goto yy59;
17919
139k
yy816:
17920
139k
  YYDEBUG(816, *YYCURSOR);
17921
139k
  yyaccept = 4;
17922
139k
  yych = *(YYMARKER = ++YYCURSOR);
17923
139k
  if (yych <= 'O') {
17924
90.8k
    if (yych <= ' ') {
17925
20.3k
      if (yych == '\t') goto yy638;
17926
16.6k
      if (yych <= 0x1F) goto yy177;
17927
12.3k
      goto yy638;
17928
70.5k
    } else {
17929
70.5k
      if (yych <= '.') {
17930
23.6k
        if (yych <= '-') goto yy177;
17931
6.47k
        goto yy744;
17932
46.8k
      } else {
17933
46.8k
        if (yych == 'A') goto yy106;
17934
37.6k
        goto yy177;
17935
46.8k
      }
17936
70.5k
    }
17937
90.8k
  } else {
17938
48.9k
    if (yych <= 'p') {
17939
17.6k
      if (yych <= '`') {
17940
10.5k
        if (yych <= 'P') goto yy106;
17941
6.81k
        goto yy177;
17942
10.5k
      } else {
17943
7.04k
        if (yych <= 'a') goto yy106;
17944
4.52k
        if (yych <= 'o') goto yy177;
17945
1.74k
        goto yy106;
17946
4.52k
      }
17947
31.3k
    } else {
17948
31.3k
      if (yych <= 0xC2) {
17949
16.3k
        if (yych <= 0xC1) goto yy177;
17950
12.7k
        goto yy640;
17951
16.3k
      } else {
17952
15.0k
        if (yych == 0xE2) goto yy641;
17953
5.68k
        goto yy177;
17954
15.0k
      }
17955
31.3k
    }
17956
48.9k
  }
17957
260k
yy817:
17958
260k
  YYDEBUG(817, *YYCURSOR);
17959
260k
  yyaccept = 4;
17960
260k
  yych = *(YYMARKER = ++YYCURSOR);
17961
260k
  if (yych == '.') goto yy744;
17962
256k
  if (yych <= '/') goto yy177;
17963
242k
  if (yych <= '9') goto yy948;
17964
20.6k
  goto yy177;
17965
26.2k
yy818:
17966
26.2k
  YYDEBUG(818, *YYCURSOR);
17967
26.2k
  yyaccept = 4;
17968
26.2k
  yych = *(YYMARKER = ++YYCURSOR);
17969
26.2k
  if (yych == '.') goto yy744;
17970
24.5k
  if (yych == '0') goto yy948;
17971
7.38k
  goto yy177;
17972
74.1k
yy819:
17973
74.1k
  YYDEBUG(819, *YYCURSOR);
17974
74.1k
  yyaccept = 15;
17975
74.1k
  yych = *(YYMARKER = ++YYCURSOR);
17976
74.1k
  if (yych <= 'n') {
17977
50.4k
    if (yych <= '/') goto yy567;
17978
41.8k
    if (yych <= '9') goto yy821;
17979
15.4k
    if (yych <= 'm') goto yy567;
17980
6.98k
    goto yy741;
17981
23.6k
  } else {
17982
23.6k
    if (yych <= 'r') {
17983
14.3k
      if (yych <= 'q') goto yy567;
17984
9.30k
      goto yy741;
17985
14.3k
    } else {
17986
9.29k
      if (yych <= 's') goto yy742;
17987
6.51k
      if (yych <= 't') goto yy743;
17988
3.49k
      goto yy567;
17989
6.51k
    }
17990
23.6k
  }
17991
47.7k
yy820:
17992
47.7k
  YYDEBUG(820, *YYCURSOR);
17993
47.7k
  yyaccept = 15;
17994
47.7k
  yych = *(YYMARKER = ++YYCURSOR);
17995
47.7k
  if (yych <= 'n') {
17996
26.8k
    if (yych <= '/') goto yy567;
17997
18.7k
    if (yych <= '1') goto yy821;
17998
7.88k
    if (yych <= 'm') goto yy567;
17999
2.01k
    goto yy741;
18000
20.9k
  } else {
18001
20.9k
    if (yych <= 'r') {
18002
7.36k
      if (yych <= 'q') goto yy567;
18003
5.35k
      goto yy741;
18004
13.5k
    } else {
18005
13.5k
      if (yych <= 's') goto yy742;
18006
8.84k
      if (yych <= 't') goto yy743;
18007
6.95k
      goto yy567;
18008
8.84k
    }
18009
20.9k
  }
18010
57.5k
yy821:
18011
57.5k
  YYDEBUG(821, *YYCURSOR);
18012
57.5k
  yyaccept = 15;
18013
57.5k
  yych = *(YYMARKER = ++YYCURSOR);
18014
57.5k
  if (yych <= 'q') {
18015
40.7k
    if (yych == 'n') goto yy741;
18016
36.9k
    goto yy567;
18017
40.7k
  } else {
18018
16.7k
    if (yych <= 'r') goto yy741;
18019
14.8k
    if (yych <= 's') goto yy742;
18020
11.7k
    if (yych <= 't') goto yy743;
18021
8.26k
    goto yy567;
18022
11.7k
  }
18023
90.4k
yy822:
18024
90.4k
  YYDEBUG(822, *YYCURSOR);
18025
90.4k
  yych = *++YYCURSOR;
18026
90.4k
  if (yych <= '/') goto yy59;
18027
81.6k
  if (yych <= '2') goto yy949;
18028
47.5k
  if (yych <= '3') goto yy950;
18029
16.2k
  if (yych <= '9') goto yy821;
18030
10.3k
  goto yy59;
18031
198k
yy823:
18032
198k
  YYDEBUG(823, *YYCURSOR);
18033
198k
  yych = *++YYCURSOR;
18034
198k
  if (yych == '-') goto yy951;
18035
144k
  goto yy59;
18036
144k
yy824:
18037
40.2k
  YYDEBUG(824, *YYCURSOR);
18038
40.2k
  yych = *++YYCURSOR;
18039
40.2k
  if (yych <= 'S') {
18040
13.2k
    if (yych == '-') goto yy951;
18041
9.66k
    goto yy59;
18042
27.0k
  } else {
18043
27.0k
    if (yych <= 'T') goto yy823;
18044
14.3k
    if (yych == 't') goto yy823;
18045
6.48k
    goto yy59;
18046
14.3k
  }
18047
23.0k
yy825:
18048
23.0k
  YYDEBUG(825, *YYCURSOR);
18049
23.0k
  yych = *++YYCURSOR;
18050
23.0k
  if (yych <= '/') goto yy290;
18051
17.2k
  if (yych <= '9') goto yy952;
18052
2.43k
  goto yy290;
18053
12.7M
yy826:
18054
12.7M
  YYDEBUG(826, *YYCURSOR);
18055
12.7M
  yych = *++YYCURSOR;
18056
12.7M
  if (yych == ')') goto yy115;
18057
12.6M
  goto yy20;
18058
12.6M
yy827:
18059
113k
  YYDEBUG(827, *YYCURSOR);
18060
113k
  yych = *++YYCURSOR;
18061
113k
  if (yych <= '9') {
18062
77.1k
    if (yych <= ' ') {
18063
8.03k
      if (yych <= 0x08) {
18064
3.03k
        if (yych <= 0x00) goto yy324;
18065
1.10k
        goto yy59;
18066
5.00k
      } else {
18067
5.00k
        if (yych <= '\t') goto yy326;
18068
3.72k
        if (yych <= 0x1F) goto yy59;
18069
2.29k
        goto yy326;
18070
3.72k
      }
18071
69.1k
    } else {
18072
69.1k
      if (yych <= '-') {
18073
49.0k
        if (yych <= '+') goto yy59;
18074
44.8k
        if (yych <= ',') goto yy326;
18075
39.5k
        goto yy953;
18076
44.8k
      } else {
18077
20.0k
        if (yych <= '.') goto yy326;
18078
19.4k
        if (yych <= '/') goto yy59;
18079
17.1k
        goto yy512;
18080
19.4k
      }
18081
69.1k
    }
18082
77.1k
  } else {
18083
36.1k
    if (yych <= 'm') {
18084
18.0k
      if (yych <= 'd') {
18085
10.9k
        if (yych <= 'c') goto yy59;
18086
3.07k
        goto yy326;
18087
10.9k
      } else {
18088
7.10k
        if (yych == 'h') goto yy326;
18089
5.92k
        goto yy59;
18090
7.10k
      }
18091
18.0k
    } else {
18092
18.0k
      if (yych <= 'r') {
18093
9.87k
        if (yych <= 'n') goto yy329;
18094
8.68k
        if (yych <= 'q') goto yy59;
18095
4.73k
        goto yy329;
18096
8.68k
      } else {
18097
8.21k
        if (yych <= 's') goto yy330;
18098
6.76k
        if (yych <= 't') goto yy331;
18099
2.84k
        goto yy59;
18100
6.76k
      }
18101
18.0k
    }
18102
36.1k
  }
18103
28.7k
yy828:
18104
28.7k
  YYDEBUG(828, *YYCURSOR);
18105
28.7k
  yyaccept = 7;
18106
28.7k
  yych = *(YYMARKER = ++YYCURSOR);
18107
28.7k
  if (yych <= '(') {
18108
11.0k
    if (yych <= '\t') {
18109
4.87k
      if (yych <= 0x08) goto yy295;
18110
915
      goto yy142;
18111
6.16k
    } else {
18112
6.16k
      if (yych == ' ') goto yy142;
18113
2.65k
      goto yy295;
18114
6.16k
    }
18115
17.6k
  } else {
18116
17.6k
    if (yych <= '.') {
18117
7.36k
      if (yych <= ')') goto yy115;
18118
4.45k
      if (yych <= ',') goto yy295;
18119
2.43k
      goto yy142;
18120
10.3k
    } else {
18121
10.3k
      if (yych <= '/') goto yy295;
18122
9.47k
      if (yych <= '9') goto yy142;
18123
6.01k
      goto yy295;
18124
9.47k
    }
18125
17.6k
  }
18126
1.70M
yy829:
18127
1.70M
  YYDEBUG(829, *YYCURSOR);
18128
1.70M
  yyaccept = 2;
18129
1.70M
  yych = *(YYMARKER = ++YYCURSOR);
18130
1.70M
  if (yybm[0+yych] & 128) {
18131
1.02M
    goto yy954;
18132
1.02M
  }
18133
678k
  if (yych <= '-') {
18134
209k
    if (yych == ')') goto yy115;
18135
196k
    if (yych <= ',') goto yy20;
18136
14.7k
    goto yy297;
18137
469k
  } else {
18138
469k
    if (yych <= '/') {
18139
46.9k
      if (yych <= '.') goto yy20;
18140
8.65k
      goto yy297;
18141
422k
    } else {
18142
422k
      if (yych == '_') goto yy297;
18143
395k
      goto yy20;
18144
422k
    }
18145
469k
  }
18146
36.7k
yy830:
18147
36.7k
  YYDEBUG(830, *YYCURSOR);
18148
36.7k
  yyaccept = 7;
18149
36.7k
  yych = *(YYMARKER = ++YYCURSOR);
18150
36.7k
  if (yybm[0+yych] & 128) {
18151
3.51k
    goto yy954;
18152
3.51k
  }
18153
33.1k
  if (yych <= ',') {
18154
11.1k
    if (yych <= 0x1F) {
18155
3.63k
      if (yych == '\t') goto yy142;
18156
2.24k
      goto yy295;
18157
7.56k
    } else {
18158
7.56k
      if (yych <= ' ') goto yy142;
18159
2.00k
      if (yych == ')') goto yy115;
18160
1.16k
      goto yy295;
18161
2.00k
    }
18162
22.0k
  } else {
18163
22.0k
    if (yych <= '/') {
18164
15.4k
      if (yych <= '-') goto yy700;
18165
12.1k
      if (yych <= '.') goto yy142;
18166
4.91k
      goto yy297;
18167
12.1k
    } else {
18168
6.52k
      if (yych <= '9') goto yy142;
18169
4.93k
      if (yych == '_') goto yy297;
18170
2.14k
      goto yy295;
18171
4.93k
    }
18172
22.0k
  }
18173
200k
yy831:
18174
200k
  YYDEBUG(831, *YYCURSOR);
18175
200k
  yych = *++YYCURSOR;
18176
200k
  if (yych == 'F') goto yy956;
18177
144k
  if (yych == 'f') goto yy956;
18178
14.8k
  goto yy59;
18179
20.8k
yy832:
18180
20.8k
  YYDEBUG(832, *YYCURSOR);
18181
20.8k
  yyaccept = 2;
18182
20.8k
  yych = *(YYMARKER = ++YYCURSOR);
18183
20.8k
  if (yych <= 'D') {
18184
5.78k
    if (yych == ')') goto yy115;
18185
2.96k
    goto yy20;
18186
15.1k
  } else {
18187
15.1k
    if (yych <= 'E') goto yy957;
18188
12.9k
    if (yych == 'e') goto yy957;
18189
3.26k
    goto yy20;
18190
12.9k
  }
18191
30.4k
yy833:
18192
30.4k
  YYDEBUG(833, *YYCURSOR);
18193
30.4k
  yyaccept = 2;
18194
30.4k
  yych = *(YYMARKER = ++YYCURSOR);
18195
30.4k
  if (yych <= 'D') {
18196
7.65k
    if (yych <= ',') {
18197
2.45k
      if (yych == ')') goto yy115;
18198
1.31k
      goto yy20;
18199
5.19k
    } else {
18200
5.19k
      if (yych == '.') goto yy20;
18201
3.28k
      if (yych <= '/') goto yy297;
18202
2.71k
      goto yy20;
18203
3.28k
    }
18204
22.7k
  } else {
18205
22.7k
    if (yych <= '`') {
18206
3.79k
      if (yych <= 'E') goto yy957;
18207
3.20k
      if (yych == '_') goto yy297;
18208
1.92k
      goto yy20;
18209
18.9k
    } else {
18210
18.9k
      if (yych == 'e') goto yy958;
18211
6.75k
      if (yych <= 'z') goto yy954;
18212
5.49k
      goto yy20;
18213
6.75k
    }
18214
22.7k
  }
18215
361k
yy834:
18216
361k
  YYDEBUG(834, *YYCURSOR);
18217
361k
  ++YYCURSOR;
18218
361k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
18219
361k
  yych = *YYCURSOR;
18220
415k
yy835:
18221
415k
  YYDEBUG(835, *YYCURSOR);
18222
415k
  if (yych <= 'X') {
18223
260k
    if (yych <= 'G') {
18224
106k
      if (yych <= ' ') {
18225
54.0k
        if (yych == '\t') goto yy834;
18226
39.9k
        if (yych <= 0x1F) goto yy59;
18227
32.2k
        goto yy834;
18228
52.0k
      } else {
18229
52.0k
        if (yych <= 'D') {
18230
20.0k
          if (yych <= 'C') goto yy59;
18231
1.86k
          goto yy856;
18232
32.0k
        } else {
18233
32.0k
          if (yych == 'F') goto yy857;
18234
3.05k
          goto yy59;
18235
32.0k
        }
18236
52.0k
      }
18237
154k
    } else {
18238
154k
      if (yych <= 'S') {
18239
84.5k
        if (yych <= 'L') {
18240
7.89k
          if (yych <= 'H') goto yy858;
18241
5.34k
          goto yy59;
18242
76.6k
        } else {
18243
76.6k
          if (yych <= 'M') goto yy859;
18244
42.2k
          if (yych <= 'R') goto yy59;
18245
39.1k
          goto yy860;
18246
42.2k
        }
18247
84.5k
      } else {
18248
70.1k
        if (yych <= 'U') {
18249
26.3k
          if (yych <= 'T') goto yy861;
18250
3.09k
          goto yy862;
18251
43.8k
        } else {
18252
43.8k
          if (yych == 'W') goto yy959;
18253
2.01k
          goto yy59;
18254
43.8k
        }
18255
70.1k
      }
18256
154k
    }
18257
260k
  } else {
18258
154k
    if (yych <= 'r') {
18259
82.4k
      if (yych <= 'f') {
18260
21.5k
        if (yych <= 'c') {
18261
9.39k
          if (yych <= 'Y') goto yy864;
18262
8.18k
          goto yy59;
18263
12.1k
        } else {
18264
12.1k
          if (yych <= 'd') goto yy856;
18265
9.69k
          if (yych <= 'e') goto yy59;
18266
6.17k
          goto yy857;
18267
9.69k
        }
18268
60.8k
      } else {
18269
60.8k
        if (yych <= 'h') {
18270
5.61k
          if (yych <= 'g') goto yy59;
18271
3.59k
          goto yy858;
18272
55.2k
        } else {
18273
55.2k
          if (yych == 'm') goto yy859;
18274
17.3k
          goto yy59;
18275
55.2k
        }
18276
60.8k
      }
18277
82.4k
    } else {
18278
72.1k
      if (yych <= 'w') {
18279
54.9k
        if (yych <= 't') {
18280
44.1k
          if (yych <= 's') goto yy860;
18281
39.5k
          goto yy861;
18282
44.1k
        } else {
18283
10.7k
          if (yych <= 'u') goto yy862;
18284
9.00k
          if (yych <= 'v') goto yy59;
18285
7.29k
          goto yy959;
18286
9.00k
        }
18287
54.9k
      } else {
18288
17.1k
        if (yych <= 'y') {
18289
6.22k
          if (yych <= 'x') goto yy59;
18290
3.81k
          goto yy864;
18291
10.9k
        } else {
18292
10.9k
          if (yych == 0xC2) goto yy865;
18293
8.83k
          goto yy59;
18294
10.9k
        }
18295
17.1k
      }
18296
72.1k
    }
18297
154k
  }
18298
142k
yy836:
18299
142k
  YYDEBUG(836, *YYCURSOR);
18300
142k
  yyaccept = 2;
18301
142k
  yych = *(YYMARKER = ++YYCURSOR);
18302
142k
  if (yych <= '(') {
18303
69.0k
    if (yych <= '\t') {
18304
38.2k
      if (yych <= 0x08) goto yy20;
18305
34.6k
      goto yy834;
18306
38.2k
    } else {
18307
30.8k
      if (yych == ' ') goto yy834;
18308
1.88k
      goto yy20;
18309
30.8k
    }
18310
73.3k
  } else {
18311
73.3k
    if (yych <= 0xC2) {
18312
30.8k
      if (yych <= ')') goto yy115;
18313
27.7k
      if (yych <= 0xC1) goto yy20;
18314
42.4k
    } else {
18315
42.4k
      if (yych == 0xE2) goto yy838;
18316
3.70k
      goto yy20;
18317
42.4k
    }
18318
73.3k
  }
18319
100k
yy837:
18320
100k
  YYDEBUG(837, *YYCURSOR);
18321
100k
  yych = *++YYCURSOR;
18322
100k
  if (yych == 0xA0) goto yy960;
18323
19.5k
  goto yy59;
18324
81.2k
yy838:
18325
81.2k
  YYDEBUG(838, *YYCURSOR);
18326
81.2k
  ++YYCURSOR;
18327
81.2k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
18328
81.2k
  yych = *YYCURSOR;
18329
81.2k
  if (yych == 0x80) goto yy961;
18330
12.9k
  goto yy59;
18331
25.5k
yy839:
18332
25.5k
  YYDEBUG(839, *YYCURSOR);
18333
25.5k
  yyaccept = 2;
18334
25.5k
  yych = *(YYMARKER = ++YYCURSOR);
18335
25.5k
  if (yych <= 'S') {
18336
5.46k
    if (yych == ')') goto yy115;
18337
4.79k
    goto yy20;
18338
20.1k
  } else {
18339
20.1k
    if (yych <= 'T') goto yy962;
18340
14.0k
    if (yych == 't') goto yy962;
18341
4.76k
    goto yy20;
18342
14.0k
  }
18343
81.7k
yy840:
18344
81.7k
  YYDEBUG(840, *YYCURSOR);
18345
81.7k
  yyaccept = 2;
18346
81.7k
  yych = *(YYMARKER = ++YYCURSOR);
18347
81.7k
  if (yybm[0+yych] & 128) {
18348
4.00k
    goto yy954;
18349
4.00k
  }
18350
77.7k
  if (yych <= '-') {
18351
50.6k
    if (yych <= ' ') {
18352
46.9k
      if (yych == '\t') goto yy834;
18353
28.8k
      if (yych <= 0x1F) goto yy20;
18354
24.4k
      goto yy834;
18355
28.8k
    } else {
18356
3.72k
      if (yych == ')') goto yy115;
18357
1.97k
      if (yych <= ',') goto yy20;
18358
1.00k
      goto yy297;
18359
1.97k
    }
18360
50.6k
  } else {
18361
27.0k
    if (yych <= '_') {
18362
17.2k
      if (yych == '/') goto yy297;
18363
16.6k
      if (yych <= '^') goto yy20;
18364
2.34k
      goto yy297;
18365
16.6k
    } else {
18366
9.81k
      if (yych <= 0xC2) {
18367
5.68k
        if (yych <= 0xC1) goto yy20;
18368
3.22k
        goto yy837;
18369
5.68k
      } else {
18370
4.13k
        if (yych == 0xE2) goto yy838;
18371
2.92k
        goto yy20;
18372
4.13k
      }
18373
9.81k
    }
18374
27.0k
  }
18375
45.7k
yy841:
18376
45.7k
  YYDEBUG(841, *YYCURSOR);
18377
45.7k
  yyaccept = 2;
18378
45.7k
  yych = *(YYMARKER = ++YYCURSOR);
18379
45.7k
  if (yych <= 'S') {
18380
17.1k
    if (yych <= ',') {
18381
7.42k
      if (yych == ')') goto yy115;
18382
1.65k
      goto yy20;
18383
9.70k
    } else {
18384
9.70k
      if (yych == '.') goto yy20;
18385
4.22k
      if (yych <= '/') goto yy297;
18386
3.41k
      goto yy20;
18387
4.22k
    }
18388
28.5k
  } else {
18389
28.5k
    if (yych <= '`') {
18390
11.0k
      if (yych <= 'T') goto yy962;
18391
8.90k
      if (yych == '_') goto yy297;
18392
6.81k
      goto yy20;
18393
17.5k
    } else {
18394
17.5k
      if (yych == 't') goto yy963;
18395
5.86k
      if (yych <= 'z') goto yy954;
18396
920
      goto yy20;
18397
5.86k
    }
18398
28.5k
  }
18399
10.1k
yy842:
18400
10.1k
  YYDEBUG(842, *YYCURSOR);
18401
10.1k
  yyaccept = 2;
18402
10.1k
  yych = *(YYMARKER = ++YYCURSOR);
18403
10.1k
  if (yych <= 'Q') {
18404
2.45k
    if (yych == ')') goto yy115;
18405
1.72k
    goto yy20;
18406
7.74k
  } else {
18407
7.74k
    if (yych <= 'R') goto yy964;
18408
4.43k
    if (yych == 'r') goto yy964;
18409
2.10k
    goto yy20;
18410
4.43k
  }
18411
75.3k
yy843:
18412
75.3k
  YYDEBUG(843, *YYCURSOR);
18413
75.3k
  yych = *++YYCURSOR;
18414
75.3k
  if (yych == 'D') goto yy866;
18415
70.1k
  if (yych == 'd') goto yy866;
18416
53.6k
  goto yy835;
18417
53.6k
yy844:
18418
35.0k
  YYDEBUG(844, *YYCURSOR);
18419
35.0k
  yych = *++YYCURSOR;
18420
35.0k
  if (yych <= 'R') {
18421
21.7k
    if (yych == ')') goto yy115;
18422
16.7k
    goto yy315;
18423
21.7k
  } else {
18424
13.2k
    if (yych <= 'S') goto yy965;
18425
8.92k
    if (yych == 's') goto yy965;
18426
5.21k
    goto yy315;
18427
8.92k
  }
18428
41.6k
yy845:
18429
41.6k
  YYDEBUG(845, *YYCURSOR);
18430
41.6k
  yyaccept = 2;
18431
41.6k
  yych = *(YYMARKER = ++YYCURSOR);
18432
41.6k
  if (yych <= 'Q') {
18433
20.0k
    if (yych <= ',') {
18434
8.60k
      if (yych == ')') goto yy115;
18435
2.54k
      goto yy20;
18436
11.4k
    } else {
18437
11.4k
      if (yych == '.') goto yy20;
18438
7.90k
      if (yych <= '/') goto yy297;
18439
3.43k
      goto yy20;
18440
7.90k
    }
18441
21.5k
  } else {
18442
21.5k
    if (yych <= '`') {
18443
7.18k
      if (yych <= 'R') goto yy964;
18444
4.29k
      if (yych == '_') goto yy297;
18445
3.05k
      goto yy20;
18446
14.3k
    } else {
18447
14.3k
      if (yych == 'r') goto yy966;
18448
6.94k
      if (yych <= 'z') goto yy954;
18449
4.97k
      goto yy20;
18450
6.94k
    }
18451
21.5k
  }
18452
29.0k
yy846:
18453
29.0k
  YYDEBUG(846, *YYCURSOR);
18454
29.0k
  yyaccept = 9;
18455
29.0k
  yych = *(YYMARKER = ++YYCURSOR);
18456
29.0k
  if (yych <= 'R') {
18457
18.5k
    if (yych <= ',') {
18458
7.39k
      if (yych == ')') goto yy115;
18459
4.95k
      goto yy315;
18460
11.1k
    } else {
18461
11.1k
      if (yych == '.') goto yy315;
18462
10.5k
      if (yych <= '/') goto yy297;
18463
6.35k
      goto yy315;
18464
10.5k
    }
18465
18.5k
  } else {
18466
10.4k
    if (yych <= '`') {
18467
4.56k
      if (yych <= 'S') goto yy965;
18468
3.56k
      if (yych == '_') goto yy297;
18469
1.30k
      goto yy315;
18470
5.92k
    } else {
18471
5.92k
      if (yych == 's') goto yy967;
18472
3.24k
      if (yych <= 'z') goto yy954;
18473
1.37k
      goto yy315;
18474
3.24k
    }
18475
10.4k
  }
18476
70.1k
yy847:
18477
70.1k
  YYDEBUG(847, *YYCURSOR);
18478
70.1k
  yyaccept = 2;
18479
70.1k
  yych = *(YYMARKER = ++YYCURSOR);
18480
70.1k
  if (yych <= '/') goto yy20;
18481
67.5k
  if (yych <= '5') goto yy968;
18482
26.2k
  if (yych <= '9') goto yy115;
18483
22.4k
  if (yych <= ':') goto yy393;
18484
12.2k
  goto yy20;
18485
221k
yy848:
18486
221k
  YYDEBUG(848, *YYCURSOR);
18487
221k
  yyaccept = 20;
18488
221k
  yych = *(YYMARKER = ++YYCURSOR);
18489
221k
  if (yych <= '/') {
18490
48.5k
    if (yych == '.') goto yy969;
18491
172k
  } else {
18492
172k
    if (yych <= '9') goto yy850;
18493
69.2k
    if (yych <= ':') goto yy969;
18494
69.2k
  }
18495
935k
yy849:
18496
935k
  YYDEBUG(849, *YYCURSOR);
18497
935k
#line 1938 "ext/date/lib/parse_date.re"
18498
935k
  {
18499
935k
    int tz_not_found;
18500
935k
    DEBUG_OUTPUT("dateshortwithtimeshort | dateshortwithtimelong | dateshortwithtimelongtz");
18501
935k
    TIMELIB_INIT;
18502
935k
    TIMELIB_HAVE_DATE();
18503
208k
    s->time->m = timelib_get_month(&ptr);
18504
208k
    s->time->d = timelib_get_nr(&ptr, 2);
18505
18506
208k
    TIMELIB_HAVE_TIME();
18507
185k
    s->time->h = timelib_get_nr(&ptr, 2);
18508
185k
    s->time->i = timelib_get_nr(&ptr, 2);
18509
185k
    if (*ptr == ':') {
18510
125k
      s->time->s = timelib_get_nr(&ptr, 2);
18511
18512
125k
      if (*ptr == '.') {
18513
0
        s->time->us = timelib_get_frac_nr(&ptr);
18514
0
      }
18515
125k
    }
18516
18517
185k
    if (*ptr != '\0') {
18518
128k
      s->time->z = timelib_parse_zone(&ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
18519
128k
      if (tz_not_found) {
18520
79.0k
        add_error(s, TIMELIB_ERR_TZID_NOT_FOUND, "The timezone could not be found in the database");
18521
79.0k
      }
18522
128k
    }
18523
185k
    TIMELIB_DEINIT;
18524
185k
    return TIMELIB_SHORTDATE_WITH_TIME;
18525
208k
  }
18526
0
#line 18527 "ext/date/lib/parse_date.c"
18527
159k
yy850:
18528
159k
  YYDEBUG(850, *YYCURSOR);
18529
159k
  yyaccept = 20;
18530
159k
  yych = *(YYMARKER = ++YYCURSOR);
18531
159k
  if (yych == '.') goto yy969;
18532
121k
  if (yych == ':') goto yy969;
18533
24.1k
  goto yy849;
18534
636k
yy851:
18535
636k
  YYDEBUG(851, *YYCURSOR);
18536
636k
  yyaccept = 20;
18537
636k
  yych = *(YYMARKER = ++YYCURSOR);
18538
636k
  if (yych <= '/') {
18539
84.2k
    if (yych == '.') goto yy970;
18540
17.4k
    goto yy849;
18541
552k
  } else {
18542
552k
    if (yych <= '9') goto yy971;
18543
174k
    if (yych <= ':') goto yy970;
18544
17.6k
    goto yy849;
18545
174k
  }
18546
52.4k
yy852:
18547
52.4k
  YYDEBUG(852, *YYCURSOR);
18548
52.4k
  yyaccept = 20;
18549
52.4k
  yych = *(YYMARKER = ++YYCURSOR);
18550
52.4k
  if (yych == '.') goto yy970;
18551
39.7k
  if (yych == ':') goto yy970;
18552
12.4k
  goto yy849;
18553
56.2k
yy853:
18554
56.2k
  YYDEBUG(853, *YYCURSOR);
18555
56.2k
  yych = *++YYCURSOR;
18556
56.2k
  if (yych <= '/') goto yy325;
18557
47.6k
  if (yych <= '9') goto yy972;
18558
12.6k
  goto yy325;
18559
19.8k
yy854:
18560
19.8k
  YYDEBUG(854, *YYCURSOR);
18561
19.8k
  yych = *++YYCURSOR;
18562
19.8k
  if (yych <= 'X') {
18563
6.26k
    if (yych == ')') goto yy115;
18564
4.12k
    goto yy20;
18565
13.6k
  } else {
18566
13.6k
    if (yych <= 'Y') goto yy973;
18567
11.4k
    if (yych == 'y') goto yy973;
18568
3.78k
    goto yy20;
18569
11.4k
  }
18570
25.3k
yy855:
18571
25.3k
  YYDEBUG(855, *YYCURSOR);
18572
25.3k
  yyaccept = 2;
18573
25.3k
  yych = *(YYMARKER = ++YYCURSOR);
18574
25.3k
  if (yych <= 'X') {
18575
12.0k
    if (yych <= ',') {
18576
2.06k
      if (yych == ')') goto yy115;
18577
1.57k
      goto yy20;
18578
9.96k
    } else {
18579
9.96k
      if (yych == '.') goto yy20;
18580
2.90k
      if (yych <= '/') goto yy297;
18581
1.76k
      goto yy20;
18582
2.90k
    }
18583
13.3k
  } else {
18584
13.3k
    if (yych <= '`') {
18585
6.63k
      if (yych <= 'Y') goto yy973;
18586
3.54k
      if (yych == '_') goto yy297;
18587
2.18k
      goto yy20;
18588
6.68k
    } else {
18589
6.68k
      if (yych == 'y') goto yy974;
18590
3.03k
      if (yych <= 'z') goto yy954;
18591
1.16k
      goto yy20;
18592
3.03k
    }
18593
13.3k
  }
18594
43.3k
yy856:
18595
43.3k
  YYDEBUG(856, *YYCURSOR);
18596
43.3k
  yych = *++YYCURSOR;
18597
43.3k
  if (yych == 'A') goto yy975;
18598
37.9k
  if (yych == 'a') goto yy975;
18599
25.9k
  goto yy59;
18600
82.9k
yy857:
18601
82.9k
  YYDEBUG(857, *YYCURSOR);
18602
82.9k
  yych = *++YYCURSOR;
18603
82.9k
  if (yych <= 'R') {
18604
36.5k
    if (yych == 'O') goto yy976;
18605
14.3k
    if (yych <= 'Q') goto yy59;
18606
6.38k
    goto yy977;
18607
46.4k
  } else {
18608
46.4k
    if (yych <= 'o') {
18609
22.3k
      if (yych <= 'n') goto yy59;
18610
15.3k
      goto yy976;
18611
24.1k
    } else {
18612
24.1k
      if (yych == 'r') goto yy977;
18613
5.97k
      goto yy59;
18614
24.1k
    }
18615
46.4k
  }
18616
23.0k
yy858:
18617
23.0k
  YYDEBUG(858, *YYCURSOR);
18618
23.0k
  yych = *++YYCURSOR;
18619
23.0k
  if (yych == 'O') goto yy978;
18620
21.2k
  if (yych == 'o') goto yy978;
18621
18.9k
  goto yy59;
18622
149k
yy859:
18623
149k
  YYDEBUG(859, *YYCURSOR);
18624
149k
  yych = *++YYCURSOR;
18625
149k
  if (yych <= 'S') {
18626
54.5k
    if (yych <= 'N') {
18627
45.4k
      if (yych == 'I') goto yy979;
18628
14.0k
      goto yy59;
18629
45.4k
    } else {
18630
9.14k
      if (yych <= 'O') goto yy980;
18631
5.24k
      if (yych <= 'R') goto yy59;
18632
4.02k
      goto yy981;
18633
5.24k
    }
18634
95.0k
  } else {
18635
95.0k
    if (yych <= 'n') {
18636
35.6k
      if (yych == 'i') goto yy979;
18637
5.00k
      goto yy59;
18638
59.3k
    } else {
18639
59.3k
      if (yych <= 'o') goto yy980;
18640
7.30k
      if (yych == 's') goto yy981;
18641
6.15k
      goto yy59;
18642
7.30k
    }
18643
95.0k
  }
18644
130k
yy860:
18645
130k
  YYDEBUG(860, *YYCURSOR);
18646
130k
  yych = *++YYCURSOR;
18647
130k
  if (yych <= 'U') {
18648
38.5k
    if (yych <= 'D') {
18649
22.7k
      if (yych == 'A') goto yy983;
18650
16.1k
      goto yy59;
18651
22.7k
    } else {
18652
15.8k
      if (yych <= 'E') goto yy984;
18653
8.54k
      if (yych <= 'T') goto yy59;
18654
4.91k
      goto yy985;
18655
8.54k
    }
18656
91.9k
  } else {
18657
91.9k
    if (yych <= 'd') {
18658
38.2k
      if (yych == 'a') goto yy983;
18659
5.61k
      goto yy59;
18660
53.7k
    } else {
18661
53.7k
      if (yych <= 'e') goto yy984;
18662
37.7k
      if (yych == 'u') goto yy985;
18663
11.9k
      goto yy59;
18664
37.7k
    }
18665
91.9k
  }
18666
102k
yy861:
18667
102k
  YYDEBUG(861, *YYCURSOR);
18668
102k
  yych = *++YYCURSOR;
18669
102k
  if (yych <= 'U') {
18670
50.7k
    if (yych == 'H') goto yy986;
18671
44.0k
    if (yych <= 'T') goto yy59;
18672
28.7k
    goto yy987;
18673
51.3k
  } else {
18674
51.3k
    if (yych <= 'h') {
18675
31.2k
      if (yych <= 'g') goto yy59;
18676
25.6k
      goto yy986;
18677
31.2k
    } else {
18678
20.1k
      if (yych == 'u') goto yy987;
18679
7.54k
      goto yy59;
18680
20.1k
    }
18681
51.3k
  }
18682
26.8k
yy862:
18683
26.8k
  YYDEBUG(862, *YYCURSOR);
18684
26.8k
  yych = *++YYCURSOR;
18685
26.8k
  if (yych == 'S') goto yy988;
18686
19.3k
  if (yych == 's') goto yy988;
18687
15.5k
  goto yy59;
18688
111k
yy863:
18689
111k
  YYDEBUG(863, *YYCURSOR);
18690
111k
  yych = *++YYCURSOR;
18691
111k
  if (yych == 'E') goto yy989;
18692
96.5k
  if (yych == 'e') goto yy989;
18693
10.4k
  goto yy59;
18694
32.9k
yy864:
18695
32.9k
  YYDEBUG(864, *YYCURSOR);
18696
32.9k
  yych = *++YYCURSOR;
18697
32.9k
  if (yych == 'E') goto yy990;
18698
31.0k
  if (yych == 'e') goto yy990;
18699
18.9k
  goto yy59;
18700
18.9k
yy865:
18701
13.1k
  YYDEBUG(865, *YYCURSOR);
18702
13.1k
  yych = *++YYCURSOR;
18703
13.1k
  if (yych == 0xB5) goto yy991;
18704
7.15k
  goto yy59;
18705
46.1k
yy866:
18706
46.1k
  YYDEBUG(866, *YYCURSOR);
18707
46.1k
  yych = *++YYCURSOR;
18708
46.1k
  if (yych == 'A') goto yy992;
18709
33.4k
  if (yych == 'a') goto yy992;
18710
15.4k
  goto yy59;
18711
92.3k
yy867:
18712
92.3k
  YYDEBUG(867, *YYCURSOR);
18713
92.3k
  ++YYCURSOR;
18714
92.3k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
18715
92.3k
  yych = *YYCURSOR;
18716
92.3k
  if (yych <= 'c') {
18717
35.2k
    if (yych <= 'M') {
18718
13.0k
      if (yych <= 'F') {
18719
6.02k
        if (yych == 'D') goto yy856;
18720
4.63k
        if (yych <= 'E') goto yy59;
18721
1.57k
        goto yy857;
18722
7.03k
      } else {
18723
7.03k
        if (yych == 'H') goto yy858;
18724
5.82k
        if (yych <= 'L') goto yy59;
18725
1.62k
        goto yy859;
18726
5.82k
      }
18727
22.2k
    } else {
18728
22.2k
      if (yych <= 'U') {
18729
6.71k
        if (yych <= 'R') goto yy59;
18730
6.01k
        if (yych <= 'S') goto yy860;
18731
2.45k
        if (yych <= 'T') goto yy861;
18732
1.11k
        goto yy862;
18733
15.5k
      } else {
18734
15.5k
        if (yych <= 'W') {
18735
7.52k
          if (yych <= 'V') goto yy59;
18736
6.22k
          goto yy863;
18737
7.98k
        } else {
18738
7.98k
          if (yych == 'Y') goto yy864;
18739
3.45k
          goto yy59;
18740
7.98k
        }
18741
15.5k
      }
18742
22.2k
    }
18743
57.0k
  } else {
18744
57.0k
    if (yych <= 's') {
18745
18.3k
      if (yych <= 'g') {
18746
7.27k
        if (yych <= 'd') goto yy856;
18747
4.24k
        if (yych == 'f') goto yy857;
18748
1.82k
        goto yy59;
18749
11.1k
      } else {
18750
11.1k
        if (yych <= 'l') {
18751
4.15k
          if (yych <= 'h') goto yy858;
18752
2.44k
          goto yy59;
18753
6.95k
        } else {
18754
6.95k
          if (yych <= 'm') goto yy859;
18755
3.23k
          if (yych <= 'r') goto yy59;
18756
1.26k
          goto yy860;
18757
3.23k
        }
18758
11.1k
      }
18759
38.6k
    } else {
18760
38.6k
      if (yych <= 'w') {
18761
6.40k
        if (yych <= 't') goto yy861;
18762
4.29k
        if (yych <= 'u') goto yy862;
18763
3.55k
        if (yych <= 'v') goto yy59;
18764
986
        goto yy863;
18765
32.2k
      } else {
18766
32.2k
        if (yych <= 'y') {
18767
3.26k
          if (yych <= 'x') goto yy59;
18768
1.24k
          goto yy864;
18769
29.0k
        } else {
18770
29.0k
          if (yych == 0xC2) goto yy993;
18771
3.01k
          goto yy59;
18772
29.0k
        }
18773
32.2k
      }
18774
38.6k
    }
18775
57.0k
  }
18776
103k
yy868:
18777
103k
  YYDEBUG(868, *YYCURSOR);
18778
103k
  ++YYCURSOR;
18779
103k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
18780
103k
  yych = *YYCURSOR;
18781
103k
  if (yych == 0xAF) goto yy994;
18782
11.5k
  goto yy59;
18783
17.0k
yy869:
18784
17.0k
  YYDEBUG(869, *YYCURSOR);
18785
17.0k
  yyaccept = 2;
18786
17.0k
  yych = *(YYMARKER = ++YYCURSOR);
18787
17.0k
  if (yych <= 'G') {
18788
6.38k
    if (yych == ')') goto yy115;
18789
3.57k
    goto yy20;
18790
10.7k
  } else {
18791
10.7k
    if (yych <= 'H') goto yy995;
18792
8.12k
    if (yych == 'h') goto yy995;
18793
3.18k
    goto yy20;
18794
8.12k
  }
18795
39.5k
yy870:
18796
39.5k
  YYDEBUG(870, *YYCURSOR);
18797
39.5k
  yyaccept = 2;
18798
39.5k
  yych = *(YYMARKER = ++YYCURSOR);
18799
39.5k
  if (yych <= 'G') {
18800
14.8k
    if (yych <= ',') {
18801
3.55k
      if (yych == ')') goto yy115;
18802
2.14k
      goto yy20;
18803
11.2k
    } else {
18804
11.2k
      if (yych == '.') goto yy20;
18805
9.30k
      if (yych <= '/') goto yy297;
18806
8.38k
      goto yy20;
18807
9.30k
    }
18808
24.6k
  } else {
18809
24.6k
    if (yych <= '`') {
18810
7.57k
      if (yych <= 'H') goto yy995;
18811
4.26k
      if (yych == '_') goto yy297;
18812
3.07k
      goto yy20;
18813
17.1k
    } else {
18814
17.1k
      if (yych == 'h') goto yy996;
18815
3.60k
      if (yych <= 'z') goto yy954;
18816
1.91k
      goto yy20;
18817
3.60k
    }
18818
24.6k
  }
18819
19.6k
yy871:
18820
19.6k
  YYDEBUG(871, *YYCURSOR);
18821
19.6k
  yych = *++YYCURSOR;
18822
19.6k
  if (yych <= 'Q') {
18823
7.17k
    if (yych == ')') goto yy115;
18824
5.31k
    goto yy20;
18825
12.5k
  } else {
18826
12.5k
    if (yych <= 'R') goto yy973;
18827
11.1k
    if (yych == 'r') goto yy973;
18828
5.72k
    goto yy20;
18829
11.1k
  }
18830
36.3k
yy872:
18831
36.3k
  YYDEBUG(872, *YYCURSOR);
18832
36.3k
  yyaccept = 2;
18833
36.3k
  yych = *(YYMARKER = ++YYCURSOR);
18834
36.3k
  if (yych <= 'Q') {
18835
7.95k
    if (yych <= ',') {
18836
2.62k
      if (yych == ')') goto yy115;
18837
2.12k
      goto yy20;
18838
5.33k
    } else {
18839
5.33k
      if (yych == '.') goto yy20;
18840
4.38k
      if (yych <= '/') goto yy297;
18841
3.05k
      goto yy20;
18842
4.38k
    }
18843
28.3k
  } else {
18844
28.3k
    if (yych <= '`') {
18845
9.62k
      if (yych <= 'R') goto yy973;
18846
3.23k
      if (yych == '_') goto yy297;
18847
1.73k
      goto yy20;
18848
18.7k
    } else {
18849
18.7k
      if (yych == 'r') goto yy974;
18850
8.96k
      if (yych <= 'z') goto yy954;
18851
6.86k
      goto yy20;
18852
8.96k
    }
18853
28.3k
  }
18854
107k
yy873:
18855
107k
  YYDEBUG(873, *YYCURSOR);
18856
107k
  yyaccept = 2;
18857
107k
  yych = *(YYMARKER = ++YYCURSOR);
18858
107k
  if (yych <= 'T') {
18859
8.31k
    if (yych == ')') goto yy115;
18860
6.85k
    goto yy20;
18861
99.5k
  } else {
18862
99.5k
    if (yych <= 'U') goto yy997;
18863
97.3k
    if (yych == 'u') goto yy997;
18864
6.79k
    goto yy20;
18865
97.3k
  }
18866
49.6k
yy874:
18867
49.6k
  YYDEBUG(874, *YYCURSOR);
18868
49.6k
  yyaccept = 2;
18869
49.6k
  yych = *(YYMARKER = ++YYCURSOR);
18870
49.6k
  if (yych <= 'T') {
18871
11.5k
    if (yych <= ',') {
18872
6.59k
      if (yych == ')') goto yy115;
18873
2.94k
      goto yy20;
18874
6.59k
    } else {
18875
4.93k
      if (yych == '.') goto yy20;
18876
4.01k
      if (yych <= '/') goto yy297;
18877
2.68k
      goto yy20;
18878
4.01k
    }
18879
38.0k
  } else {
18880
38.0k
    if (yych <= '`') {
18881
6.94k
      if (yych <= 'U') goto yy997;
18882
2.91k
      if (yych == '_') goto yy297;
18883
2.42k
      goto yy20;
18884
31.1k
    } else {
18885
31.1k
      if (yych == 'u') goto yy998;
18886
11.3k
      if (yych <= 'z') goto yy954;
18887
9.71k
      goto yy20;
18888
11.3k
    }
18889
38.0k
  }
18890
33.5k
yy875:
18891
33.5k
  YYDEBUG(875, *YYCURSOR);
18892
33.5k
  yyaccept = 2;
18893
33.5k
  yych = *(YYMARKER = ++YYCURSOR);
18894
33.5k
  if (yych <= '@') {
18895
6.46k
    if (yych == ')') goto yy115;
18896
5.30k
    goto yy20;
18897
27.0k
  } else {
18898
27.0k
    if (yych <= 'A') goto yy999;
18899
18.1k
    if (yych == 'a') goto yy999;
18900
9.62k
    goto yy20;
18901
18.1k
  }
18902
19.1k
yy876:
18903
19.1k
  YYDEBUG(876, *YYCURSOR);
18904
19.1k
  yyaccept = 2;
18905
19.1k
  yych = *(YYMARKER = ++YYCURSOR);
18906
19.1k
  if (yych <= 'A') {
18907
6.41k
    if (yych == ')') goto yy115;
18908
5.62k
    goto yy20;
18909
12.7k
  } else {
18910
12.7k
    if (yych <= 'B') goto yy1000;
18911
8.74k
    if (yych == 'b') goto yy1000;
18912
2.69k
    goto yy20;
18913
8.74k
  }
18914
18.2k
yy877:
18915
18.2k
  YYDEBUG(877, *YYCURSOR);
18916
18.2k
  yyaccept = 2;
18917
18.2k
  yych = *(YYMARKER = ++YYCURSOR);
18918
18.2k
  if (yych <= 'G') {
18919
4.39k
    if (yych == ')') goto yy115;
18920
2.28k
    goto yy20;
18921
13.8k
  } else {
18922
13.8k
    if (yych <= 'H') goto yy1001;
18923
10.6k
    if (yych == 'h') goto yy1001;
18924
3.27k
    goto yy20;
18925
10.6k
  }
18926
52.5k
yy878:
18927
52.5k
  YYDEBUG(878, *YYCURSOR);
18928
52.5k
  yyaccept = 2;
18929
52.5k
  yych = *(YYMARKER = ++YYCURSOR);
18930
52.5k
  if (yych <= '@') {
18931
13.3k
    if (yych <= ',') {
18932
6.25k
      if (yych == ')') goto yy115;
18933
3.05k
      goto yy20;
18934
7.13k
    } else {
18935
7.13k
      if (yych == '.') goto yy20;
18936
2.95k
      if (yych <= '/') goto yy297;
18937
1.39k
      goto yy20;
18938
2.95k
    }
18939
39.1k
  } else {
18940
39.1k
    if (yych <= '_') {
18941
7.98k
      if (yych <= 'A') goto yy999;
18942
7.06k
      if (yych <= '^') goto yy20;
18943
3.35k
      goto yy297;
18944
31.2k
    } else {
18945
31.2k
      if (yych <= '`') goto yy20;
18946
29.4k
      if (yych <= 'a') goto yy1002;
18947
21.1k
      if (yych <= 'z') goto yy954;
18948
5.96k
      goto yy20;
18949
21.1k
    }
18950
39.1k
  }
18951
44.1k
yy879:
18952
44.1k
  YYDEBUG(879, *YYCURSOR);
18953
44.1k
  yyaccept = 2;
18954
44.1k
  yych = *(YYMARKER = ++YYCURSOR);
18955
44.1k
  if (yych <= 'A') {
18956
12.1k
    if (yych <= ',') {
18957
4.01k
      if (yych == ')') goto yy115;
18958
1.94k
      goto yy20;
18959
8.11k
    } else {
18960
8.11k
      if (yych == '.') goto yy20;
18961
7.24k
      if (yych <= '/') goto yy297;
18962
5.39k
      goto yy20;
18963
7.24k
    }
18964
32.0k
  } else {
18965
32.0k
    if (yych <= '`') {
18966
10.1k
      if (yych <= 'B') goto yy1000;
18967
8.17k
      if (yych == '_') goto yy297;
18968
4.31k
      goto yy20;
18969
21.9k
    } else {
18970
21.9k
      if (yych == 'b') goto yy1003;
18971
6.28k
      if (yych <= 'z') goto yy954;
18972
3.48k
      goto yy20;
18973
6.28k
    }
18974
32.0k
  }
18975
52.3k
yy880:
18976
52.3k
  YYDEBUG(880, *YYCURSOR);
18977
52.3k
  yyaccept = 2;
18978
52.3k
  yych = *(YYMARKER = ++YYCURSOR);
18979
52.3k
  if (yych <= 'G') {
18980
18.0k
    if (yych <= ',') {
18981
8.26k
      if (yych == ')') goto yy115;
18982
5.68k
      goto yy20;
18983
9.73k
    } else {
18984
9.73k
      if (yych == '.') goto yy20;
18985
7.63k
      if (yych <= '/') goto yy297;
18986
5.01k
      goto yy20;
18987
7.63k
    }
18988
34.3k
  } else {
18989
34.3k
    if (yych <= '`') {
18990
8.32k
      if (yych <= 'H') goto yy1001;
18991
3.65k
      if (yych == '_') goto yy297;
18992
2.97k
      goto yy20;
18993
26.0k
    } else {
18994
26.0k
      if (yych == 'h') goto yy1004;
18995
4.59k
      if (yych <= 'z') goto yy954;
18996
591
      goto yy20;
18997
4.59k
    }
18998
34.3k
  }
18999
32.0k
yy881:
19000
32.0k
  YYDEBUG(881, *YYCURSOR);
19001
32.0k
  yych = *++YYCURSOR;
19002
32.0k
  if (yych <= '/') goto yy59;
19003
25.4k
  if (yych <= '9') goto yy1005;
19004
6.07k
  goto yy59;
19005
7.10k
yy882:
19006
7.10k
  YYDEBUG(882, *YYCURSOR);
19007
7.10k
  yych = *++YYCURSOR;
19008
7.10k
  if (yych == '0') goto yy1005;
19009
6.40k
  goto yy59;
19010
16.8k
yy883:
19011
16.8k
  YYDEBUG(883, *YYCURSOR);
19012
16.8k
  yyaccept = 2;
19013
16.8k
  yych = *(YYMARKER = ++YYCURSOR);
19014
16.8k
  if (yych <= 'N') {
19015
4.08k
    if (yych == ')') goto yy115;
19016
1.88k
    goto yy20;
19017
12.7k
  } else {
19018
12.7k
    if (yych <= 'O') goto yy1006;
19019
11.4k
    if (yych == 'o') goto yy1006;
19020
6.00k
    goto yy20;
19021
11.4k
  }
19022
26.4k
yy884:
19023
26.4k
  YYDEBUG(884, *YYCURSOR);
19024
26.4k
  yych = *++YYCURSOR;
19025
26.4k
  if (yych <= 'X') {
19026
6.71k
    if (yych == ')') goto yy115;
19027
4.30k
    goto yy20;
19028
19.6k
  } else {
19029
19.6k
    if (yych <= 'Y') goto yy1007;
19030
14.5k
    if (yych == 'y') goto yy1007;
19031
8.57k
    goto yy20;
19032
14.5k
  }
19033
31.7k
yy885:
19034
31.7k
  YYDEBUG(885, *YYCURSOR);
19035
31.7k
  yyaccept = 2;
19036
31.7k
  yych = *(YYMARKER = ++YYCURSOR);
19037
31.7k
  if (yych <= 'N') {
19038
8.44k
    if (yych <= ',') {
19039
4.43k
      if (yych == ')') goto yy115;
19040
3.00k
      goto yy20;
19041
4.43k
    } else {
19042
4.00k
      if (yych == '.') goto yy20;
19043
3.08k
      if (yych <= '/') goto yy297;
19044
2.14k
      goto yy20;
19045
3.08k
    }
19046
23.3k
  } else {
19047
23.3k
    if (yych <= '`') {
19048
7.77k
      if (yych <= 'O') goto yy1006;
19049
6.47k
      if (yych == '_') goto yy297;
19050
5.15k
      goto yy20;
19051
15.5k
    } else {
19052
15.5k
      if (yych == 'o') goto yy1008;
19053
4.49k
      if (yych <= 'z') goto yy954;
19054
1.56k
      goto yy20;
19055
4.49k
    }
19056
23.3k
  }
19057
51.5k
yy886:
19058
51.5k
  YYDEBUG(886, *YYCURSOR);
19059
51.5k
  yyaccept = 2;
19060
51.5k
  yych = *(YYMARKER = ++YYCURSOR);
19061
51.5k
  if (yych <= 'X') {
19062
11.3k
    if (yych <= ',') {
19063
5.09k
      if (yych == ')') goto yy115;
19064
2.71k
      goto yy20;
19065
6.24k
    } else {
19066
6.24k
      if (yych == '.') goto yy20;
19067
5.10k
      if (yych <= '/') goto yy297;
19068
3.76k
      goto yy20;
19069
5.10k
    }
19070
40.2k
  } else {
19071
40.2k
    if (yych <= '`') {
19072
6.24k
      if (yych <= 'Y') goto yy1007;
19073
2.61k
      if (yych == '_') goto yy297;
19074
1.92k
      goto yy20;
19075
33.9k
    } else {
19076
33.9k
      if (yych == 'y') goto yy1009;
19077
6.78k
      if (yych <= 'z') goto yy954;
19078
2.95k
      goto yy20;
19079
6.78k
    }
19080
40.2k
  }
19081
22.9k
yy887:
19082
22.9k
  YYDEBUG(887, *YYCURSOR);
19083
22.9k
  yyaccept = 2;
19084
22.9k
  yych = *(YYMARKER = ++YYCURSOR);
19085
22.9k
  if (yych <= 'C') {
19086
10.7k
    if (yych == ')') goto yy115;
19087
10.1k
    goto yy20;
19088
12.1k
  } else {
19089
12.1k
    if (yych <= 'D') goto yy1010;
19090
9.56k
    if (yych == 'd') goto yy1010;
19091
2.82k
    goto yy20;
19092
9.56k
  }
19093
35.3k
yy888:
19094
35.3k
  YYDEBUG(888, *YYCURSOR);
19095
35.3k
  yyaccept = 2;
19096
35.3k
  yych = *(YYMARKER = ++YYCURSOR);
19097
35.3k
  if (yych <= 'C') {
19098
7.17k
    if (yych <= ',') {
19099
2.80k
      if (yych == ')') goto yy115;
19100
2.00k
      goto yy20;
19101
4.36k
    } else {
19102
4.36k
      if (yych == '.') goto yy20;
19103
3.56k
      if (yych <= '/') goto yy297;
19104
2.51k
      goto yy20;
19105
3.56k
    }
19106
28.2k
  } else {
19107
28.2k
    if (yych <= '`') {
19108
5.44k
      if (yych <= 'D') goto yy1010;
19109
2.33k
      if (yych == '_') goto yy297;
19110
1.23k
      goto yy20;
19111
22.7k
    } else {
19112
22.7k
      if (yych == 'd') goto yy1011;
19113
5.19k
      if (yych <= 'z') goto yy954;
19114
2.20k
      goto yy20;
19115
5.19k
    }
19116
28.2k
  }
19117
30.2k
yy889:
19118
30.2k
  YYDEBUG(889, *YYCURSOR);
19119
30.2k
  yyaccept = 2;
19120
30.2k
  yych = *(YYMARKER = ++YYCURSOR);
19121
30.2k
  if (yych <= 'C') {
19122
7.76k
    if (yych == ')') goto yy115;
19123
5.09k
    goto yy20;
19124
22.4k
  } else {
19125
22.4k
    if (yych <= 'D') goto yy1012;
19126
19.8k
    if (yych == 'd') goto yy1012;
19127
5.77k
    goto yy20;
19128
19.8k
  }
19129
44.6k
yy890:
19130
44.6k
  YYDEBUG(890, *YYCURSOR);
19131
44.6k
  yyaccept = 2;
19132
44.6k
  yych = *(YYMARKER = ++YYCURSOR);
19133
44.6k
  if (yych <= 'C') {
19134
13.7k
    if (yych <= ',') {
19135
3.09k
      if (yych == ')') goto yy115;
19136
2.21k
      goto yy20;
19137
10.6k
    } else {
19138
10.6k
      if (yych == '.') goto yy20;
19139
9.81k
      if (yych <= '/') goto yy297;
19140
9.29k
      goto yy20;
19141
9.81k
    }
19142
30.8k
  } else {
19143
30.8k
    if (yych <= '`') {
19144
8.67k
      if (yych <= 'D') goto yy1012;
19145
3.06k
      if (yych == '_') goto yy297;
19146
1.91k
      goto yy20;
19147
22.1k
    } else {
19148
22.1k
      if (yych == 'd') goto yy1013;
19149
6.99k
      if (yych <= 'z') goto yy954;
19150
2.88k
      goto yy20;
19151
6.99k
    }
19152
30.8k
  }
19153
39.0k
yy891:
19154
39.0k
  YYDEBUG(891, *YYCURSOR);
19155
39.0k
  yych = *++YYCURSOR;
19156
39.0k
  if (yych <= '/') goto yy59;
19157
35.7k
  if (yych <= '9') goto yy1014;
19158
5.08k
  goto yy59;
19159
37.3k
yy892:
19160
37.3k
  YYDEBUG(892, *YYCURSOR);
19161
37.3k
  yych = *++YYCURSOR;
19162
37.3k
  if (yych <= '/') goto yy59;
19163
34.2k
  if (yych <= '2') goto yy1014;
19164
7.24k
  goto yy59;
19165
151k
yy893:
19166
151k
  YYDEBUG(893, *YYCURSOR);
19167
151k
  yych = *++YYCURSOR;
19168
151k
  if (yych <= '/') goto yy59;
19169
142k
  if (yych <= '0') goto yy1015;
19170
107k
  if (yych <= '1') goto yy1016;
19171
63.2k
  goto yy59;
19172
263k
yy894:
19173
263k
  YYDEBUG(894, *YYCURSOR);
19174
263k
  yyaccept = 2;
19175
263k
  yych = *(YYMARKER = ++YYCURSOR);
19176
263k
  if (yych <= 'W') {
19177
220k
    if (yych <= 'D') {
19178
200k
      if (yych <= ',') {
19179
17.7k
        if (yych <= '\t') {
19180
8.01k
          if (yych <= 0x08) goto yy20;
19181
3.60k
          goto yy196;
19182
9.71k
        } else {
19183
9.71k
          if (yych == ' ') goto yy196;
19184
7.01k
          goto yy20;
19185
9.71k
        }
19186
183k
      } else {
19187
183k
        if (yych <= '/') {
19188
12.2k
          if (yych <= '-') goto yy893;
19189
2.40k
          goto yy20;
19190
170k
        } else {
19191
170k
          if (yych <= '9') goto yy1017;
19192
7.82k
          if (yych <= 'C') goto yy20;
19193
1.12k
          goto yy196;
19194
7.82k
        }
19195
183k
      }
19196
200k
    } else {
19197
19.8k
      if (yych <= 'L') {
19198
8.24k
        if (yych <= 'F') {
19199
5.51k
          if (yych <= 'E') goto yy20;
19200
1.36k
          goto yy196;
19201
5.51k
        } else {
19202
2.73k
          if (yych == 'H') goto yy196;
19203
1.80k
          goto yy20;
19204
2.73k
        }
19205
11.5k
      } else {
19206
11.5k
        if (yych <= 'R') {
19207
4.97k
          if (yych <= 'M') goto yy196;
19208
2.72k
          goto yy20;
19209
6.61k
        } else {
19210
6.61k
          if (yych == 'V') goto yy20;
19211
3.98k
          goto yy196;
19212
6.61k
        }
19213
11.5k
      }
19214
19.8k
    }
19215
220k
  } else {
19216
42.5k
    if (yych <= 'm') {
19217
18.5k
      if (yych <= 'e') {
19218
8.58k
        if (yych <= 'Y') {
19219
4.56k
          if (yych <= 'X') goto yy20;
19220
3.31k
          goto yy196;
19221
4.56k
        } else {
19222
4.02k
          if (yych == 'd') goto yy196;
19223
3.42k
          goto yy20;
19224
4.02k
        }
19225
9.93k
      } else {
19226
9.93k
        if (yych <= 'g') {
19227
2.84k
          if (yych <= 'f') goto yy196;
19228
1.33k
          goto yy20;
19229
7.08k
        } else {
19230
7.08k
          if (yych <= 'h') goto yy196;
19231
1.59k
          if (yych <= 'l') goto yy20;
19232
620
          goto yy196;
19233
1.59k
        }
19234
9.93k
      }
19235
24.0k
    } else {
19236
24.0k
      if (yych <= 'x') {
19237
11.9k
        if (yych <= 'u') {
19238
9.44k
          if (yych <= 'r') goto yy20;
19239
4.19k
          goto yy196;
19240
9.44k
        } else {
19241
2.51k
          if (yych == 'w') goto yy196;
19242
1.18k
          goto yy20;
19243
2.51k
        }
19244
12.0k
      } else {
19245
12.0k
        if (yych <= 0xC2) {
19246
5.73k
          if (yych <= 'y') goto yy196;
19247
4.10k
          if (yych <= 0xC1) goto yy20;
19248
1.31k
          goto yy97;
19249
6.35k
        } else {
19250
6.35k
          if (yych == 0xE2) goto yy98;
19251
4.76k
          goto yy20;
19252
6.35k
        }
19253
12.0k
      }
19254
24.0k
    }
19255
42.5k
  }
19256
383k
yy895:
19257
383k
  YYDEBUG(895, *YYCURSOR);
19258
383k
  yych = *++YYCURSOR;
19259
383k
  if (yych <= '9') {
19260
335k
    if (yych == '-') goto yy893;
19261
321k
    if (yych <= '/') goto yy196;
19262
305k
    goto yy1017;
19263
321k
  } else {
19264
48.1k
    if (yych <= 0xC2) {
19265
37.2k
      if (yych <= 0xC1) goto yy196;
19266
5.24k
      goto yy97;
19267
37.2k
    } else {
19268
10.8k
      if (yych == 0xE2) goto yy98;
19269
6.15k
      goto yy196;
19270
10.8k
    }
19271
48.1k
  }
19272
29.8k
yy896:
19273
29.8k
  YYDEBUG(896, *YYCURSOR);
19274
29.8k
  yych = *++YYCURSOR;
19275
29.8k
  if (yych <= '/') goto yy59;
19276
25.2k
  if (yych <= '5') goto yy1018;
19277
15.1k
  if (yych <= '6') goto yy1019;
19278
5.77k
  goto yy59;
19279
71.5k
yy897:
19280
71.5k
  YYDEBUG(897, *YYCURSOR);
19281
71.5k
  yych = *++YYCURSOR;
19282
71.5k
  if (yych <= '/') goto yy59;
19283
61.3k
  if (yych <= '9') goto yy1020;
19284
21.8k
  goto yy59;
19285
26.4k
yy898:
19286
26.4k
  YYDEBUG(898, *YYCURSOR);
19287
26.4k
  ++YYCURSOR;
19288
26.4k
  goto yy567;
19289
129k
yy899:
19290
129k
  YYDEBUG(899, *YYCURSOR);
19291
129k
  ++YYCURSOR;
19292
129k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
19293
129k
  yych = *YYCURSOR;
19294
129k
  YYDEBUG(900, *YYCURSOR);
19295
129k
  if (yych <= '/') goto yy177;
19296
91.4k
  if (yych <= '9') goto yy899;
19297
33.5k
  goto yy177;
19298
33.5k
yy901:
19299
17.6k
  YYDEBUG(901, *YYCURSOR);
19300
17.6k
  yych = *++YYCURSOR;
19301
17.6k
  if (yych <= '/') goto yy224;
19302
13.0k
  if (yych <= '9') goto yy1022;
19303
3.84k
  goto yy224;
19304
278k
yy902:
19305
278k
  YYDEBUG(902, *YYCURSOR);
19306
278k
  yych = *++YYCURSOR;
19307
278k
  if (yych <= '/') goto yy59;
19308
268k
  if (yych <= '9') goto yy1023;
19309
15.0k
  goto yy59;
19310
49.9k
yy903:
19311
49.9k
  YYDEBUG(903, *YYCURSOR);
19312
49.9k
  yyaccept = 15;
19313
49.9k
  yych = *(YYMARKER = ++YYCURSOR);
19314
49.9k
  if (yych <= 'n') {
19315
34.0k
    if (yych <= '/') goto yy567;
19316
28.3k
    if (yych <= '9') goto yy1024;
19317
7.69k
    if (yych <= 'm') goto yy567;
19318
2.43k
    goto yy741;
19319
15.9k
  } else {
19320
15.9k
    if (yych <= 'r') {
19321
5.91k
      if (yych <= 'q') goto yy567;
19322
3.37k
      goto yy741;
19323
10.0k
    } else {
19324
10.0k
      if (yych <= 's') goto yy742;
19325
7.34k
      if (yych <= 't') goto yy743;
19326
5.63k
      goto yy567;
19327
7.34k
    }
19328
15.9k
  }
19329
40.4k
yy904:
19330
40.4k
  YYDEBUG(904, *YYCURSOR);
19331
40.4k
  yyaccept = 15;
19332
40.4k
  yych = *(YYMARKER = ++YYCURSOR);
19333
40.4k
  if (yych <= 'n') {
19334
20.5k
    if (yych <= '1') {
19335
9.87k
      if (yych <= '/') goto yy567;
19336
5.74k
      goto yy1024;
19337
10.6k
    } else {
19338
10.6k
      if (yych <= '9') goto yy737;
19339
7.13k
      if (yych <= 'm') goto yy567;
19340
1.54k
      goto yy741;
19341
7.13k
    }
19342
20.5k
  } else {
19343
19.9k
    if (yych <= 'r') {
19344
8.44k
      if (yych <= 'q') goto yy567;
19345
5.37k
      goto yy741;
19346
11.4k
    } else {
19347
11.4k
      if (yych <= 's') goto yy742;
19348
4.52k
      if (yych <= 't') goto yy743;
19349
3.22k
      goto yy567;
19350
4.52k
    }
19351
19.9k
  }
19352
111k
yy905:
19353
111k
  YYDEBUG(905, *YYCURSOR);
19354
111k
  yych = *++YYCURSOR;
19355
111k
  if (yych <= '/') goto yy59;
19356
103k
  if (yych <= '2') goto yy1026;
19357
55.0k
  if (yych <= '3') goto yy1027;
19358
24.8k
  if (yych <= '9') goto yy1028;
19359
9.66k
  goto yy59;
19360
135k
yy906:
19361
135k
  YYDEBUG(906, *YYCURSOR);
19362
135k
  yyaccept = 18;
19363
135k
  yych = *(YYMARKER = ++YYCURSOR);
19364
135k
  if (yych == '-') goto yy1029;
19365
18.4k
  if (yych <= '0') goto yy752;
19366
10.7k
  if (yych <= '9') goto yy1030;
19367
8.53k
  goto yy752;
19368
178k
yy907:
19369
178k
  YYDEBUG(907, *YYCURSOR);
19370
178k
  yyaccept = 18;
19371
178k
  yych = *(YYMARKER = ++YYCURSOR);
19372
178k
  if (yych == '-') goto yy1029;
19373
33.8k
  if (yych <= '/') goto yy752;
19374
24.6k
  if (yych <= '9') goto yy1030;
19375
11.9k
  goto yy752;
19376
45.2k
yy908:
19377
45.2k
  YYDEBUG(908, *YYCURSOR);
19378
45.2k
  yych = *++YYCURSOR;
19379
45.2k
  if (yych <= '/') goto yy59;
19380
35.5k
  if (yych <= '9') goto yy1030;
19381
13.7k
  goto yy59;
19382
13.7k
yy909:
19383
8.22k
  YYDEBUG(909, *YYCURSOR);
19384
8.22k
  yych = *++YYCURSOR;
19385
8.22k
  if (yych <= '/') goto yy59;
19386
5.08k
  if (yych <= '6') goto yy1030;
19387
2.29k
  goto yy59;
19388
25.2k
yy910:
19389
25.2k
  YYDEBUG(910, *YYCURSOR);
19390
25.2k
  yych = *++YYCURSOR;
19391
25.2k
  if (yych == 'R') goto yy1031;
19392
23.8k
  if (yych == 'r') goto yy1031;
19393
6.85k
  goto yy59;
19394
31.4k
yy911:
19395
31.4k
  YYDEBUG(911, *YYCURSOR);
19396
31.4k
  yych = *++YYCURSOR;
19397
31.4k
  if (yych == 'G') goto yy1032;
19398
20.7k
  if (yych == 'g') goto yy1032;
19399
7.27k
  goto yy59;
19400
16.3k
yy912:
19401
16.3k
  YYDEBUG(912, *YYCURSOR);
19402
16.3k
  yych = *++YYCURSOR;
19403
16.3k
  if (yych == 'C') goto yy1033;
19404
11.4k
  if (yych == 'c') goto yy1033;
19405
5.18k
  goto yy59;
19406
29.1k
yy913:
19407
29.1k
  YYDEBUG(913, *YYCURSOR);
19408
29.1k
  yych = *++YYCURSOR;
19409
29.1k
  if (yych == 'B') goto yy1034;
19410
19.3k
  if (yych == 'b') goto yy1034;
19411
6.86k
  goto yy59;
19412
12.5k
yy914:
19413
12.5k
  YYDEBUG(914, *YYCURSOR);
19414
12.5k
  yych = *++YYCURSOR;
19415
12.5k
  if (yych == 'N') goto yy1035;
19416
10.1k
  if (yych == 'n') goto yy1035;
19417
3.30k
  goto yy59;
19418
32.0k
yy915:
19419
32.0k
  YYDEBUG(915, *YYCURSOR);
19420
32.0k
  yych = *++YYCURSOR;
19421
32.0k
  if (yych <= 'N') {
19422
12.3k
    if (yych == 'L') goto yy1036;
19423
8.94k
    if (yych <= 'M') goto yy59;
19424
5.84k
    goto yy1037;
19425
19.6k
  } else {
19426
19.6k
    if (yych <= 'l') {
19427
6.71k
      if (yych <= 'k') goto yy59;
19428
4.02k
      goto yy1036;
19429
12.9k
    } else {
19430
12.9k
      if (yych == 'n') goto yy1037;
19431
5.79k
      goto yy59;
19432
12.9k
    }
19433
19.6k
  }
19434
30.6k
yy916:
19435
30.6k
  YYDEBUG(916, *YYCURSOR);
19436
30.6k
  yych = *++YYCURSOR;
19437
30.6k
  if (yych <= 'Y') {
19438
16.0k
    if (yych == 'R') goto yy1038;
19439
9.02k
    if (yych <= 'X') goto yy59;
19440
1.19k
    goto yy1039;
19441
14.6k
  } else {
19442
14.6k
    if (yych <= 'r') {
19443
6.43k
      if (yych <= 'q') goto yy59;
19444
4.75k
      goto yy1038;
19445
8.20k
    } else {
19446
8.20k
      if (yych == 'y') goto yy1039;
19447
2.61k
      goto yy59;
19448
8.20k
    }
19449
14.6k
  }
19450
17.4k
yy917:
19451
17.4k
  YYDEBUG(917, *YYCURSOR);
19452
17.4k
  yych = *++YYCURSOR;
19453
17.4k
  if (yych == 'V') goto yy1033;
19454
15.8k
  if (yych == 'v') goto yy1033;
19455
5.77k
  goto yy59;
19456
14.0k
yy918:
19457
14.0k
  YYDEBUG(918, *YYCURSOR);
19458
14.0k
  yych = *++YYCURSOR;
19459
14.0k
  if (yych == 'T') goto yy1040;
19460
9.60k
  if (yych == 't') goto yy1040;
19461
3.19k
  goto yy59;
19462
15.4k
yy919:
19463
15.4k
  YYDEBUG(919, *YYCURSOR);
19464
15.4k
  yych = *++YYCURSOR;
19465
15.4k
  if (yych == 'P') goto yy1041;
19466
11.3k
  if (yych == 'p') goto yy1041;
19467
4.19k
  goto yy59;
19468
17.0k
yy920:
19469
17.0k
  YYDEBUG(920, *YYCURSOR);
19470
17.0k
  yych = *++YYCURSOR;
19471
17.0k
  if (yych <= '0') goto yy59;
19472
3.60k
  if (yych <= '9') goto yy1030;
19473
1.81k
  goto yy59;
19474
6.40k
yy921:
19475
6.40k
  YYDEBUG(921, *YYCURSOR);
19476
6.40k
  yych = *++YYCURSOR;
19477
6.40k
  if (yych == 'P') goto yy940;
19478
4.29k
  if (yych == 'p') goto yy940;
19479
3.78k
  goto yy59;
19480
67.7k
yy922:
19481
67.7k
  YYDEBUG(922, *YYCURSOR);
19482
67.7k
  yych = *++YYCURSOR;
19483
67.7k
  if (yych <= '/') goto yy59;
19484
63.8k
  if (yych <= '2') goto yy1042;
19485
31.1k
  if (yych <= '3') goto yy1044;
19486
11.4k
  if (yych <= '9') goto yy1045;
19487
5.23k
  goto yy59;
19488
72.6k
yy923:
19489
72.6k
  YYDEBUG(923, *YYCURSOR);
19490
72.6k
  yych = *++YYCURSOR;
19491
72.6k
  if (yych == '/') goto yy1046;
19492
17.6k
  goto yy59;
19493
1.50M
yy924:
19494
1.50M
  YYDEBUG(924, *YYCURSOR);
19495
1.50M
  yych = *++YYCURSOR;
19496
1.50M
  if (yych <= 0xC1) {
19497
1.49M
    if (yych <= '/') goto yy196;
19498
1.42M
    if (yych <= '9') goto yy1047;
19499
53.7k
    goto yy196;
19500
1.42M
  } else {
19501
15.3k
    if (yych <= 0xC2) goto yy97;
19502
13.5k
    if (yych == 0xE2) goto yy98;
19503
9.82k
    goto yy196;
19504
13.5k
  }
19505
644k
yy925:
19506
644k
  YYDEBUG(925, *YYCURSOR);
19507
644k
  yyaccept = 21;
19508
644k
  yych = *(YYMARKER = ++YYCURSOR);
19509
644k
  if (yych <= 'X') {
19510
576k
    if (yych <= 'E') {
19511
547k
      if (yych <= ' ') {
19512
30.1k
        if (yych == '\t') goto yy196;
19513
26.4k
        if (yych >= ' ') goto yy196;
19514
517k
      } else {
19515
517k
        if (yych <= '9') {
19516
496k
          if (yych >= '0') goto yy1047;
19517
496k
        } else {
19518
21.2k
          if (yych == 'D') goto yy196;
19519
21.2k
        }
19520
517k
      }
19521
547k
    } else {
19522
29.3k
      if (yych <= 'M') {
19523
11.7k
        if (yych <= 'G') {
19524
5.76k
          if (yych <= 'F') goto yy196;
19525
6.03k
        } else {
19526
6.03k
          if (yych <= 'H') goto yy196;
19527
4.92k
          if (yych >= 'M') goto yy196;
19528
4.92k
        }
19529
17.6k
      } else {
19530
17.6k
        if (yych <= 'U') {
19531
11.5k
          if (yych >= 'S') goto yy196;
19532
11.5k
        } else {
19533
6.05k
          if (yych == 'W') goto yy196;
19534
6.05k
        }
19535
17.6k
      }
19536
29.3k
    }
19537
576k
  } else {
19538
67.7k
    if (yych <= 'r') {
19539
25.9k
      if (yych <= 'f') {
19540
10.4k
        if (yych <= 'c') {
19541
4.41k
          if (yych <= 'Y') goto yy196;
19542
5.99k
        } else {
19543
5.99k
          if (yych != 'e') goto yy196;
19544
5.99k
        }
19545
15.5k
      } else {
19546
15.5k
        if (yych <= 'h') {
19547
5.70k
          if (yych >= 'h') goto yy196;
19548
9.87k
        } else {
19549
9.87k
          if (yych == 'm') goto yy196;
19550
9.87k
        }
19551
15.5k
      }
19552
41.7k
    } else {
19553
41.7k
      if (yych <= 'y') {
19554
16.3k
        if (yych <= 'v') {
19555
9.53k
          if (yych <= 'u') goto yy196;
19556
9.53k
        } else {
19557
6.80k
          if (yych != 'x') goto yy196;
19558
6.80k
        }
19559
25.4k
      } else {
19560
25.4k
        if (yych <= 0xC2) {
19561
12.6k
          if (yych >= 0xC2) goto yy97;
19562
12.7k
        } else {
19563
12.7k
          if (yych == 0xE2) goto yy98;
19564
12.7k
        }
19565
25.4k
      }
19566
41.7k
    }
19567
67.7k
  }
19568
1.38M
yy926:
19569
1.38M
  YYDEBUG(926, *YYCURSOR);
19570
1.38M
#line 1696 "ext/date/lib/parse_date.re"
19571
1.38M
  {
19572
1.38M
    int length = 0;
19573
1.38M
    DEBUG_OUTPUT("pgydotd");
19574
1.38M
    TIMELIB_INIT;
19575
1.38M
    TIMELIB_HAVE_DATE();
19576
119k
    s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
19577
119k
    s->time->d = timelib_get_nr(&ptr, 3);
19578
119k
    s->time->m = 1;
19579
119k
    TIMELIB_PROCESS_YEAR(s->time->y, length);
19580
119k
    TIMELIB_DEINIT;
19581
119k
    return TIMELIB_PG_YEARDAY;
19582
1.38M
  }
19583
0
#line 19584 "ext/date/lib/parse_date.c"
19584
181k
yy927:
19585
181k
  YYDEBUG(927, *YYCURSOR);
19586
181k
  yyaccept = 21;
19587
181k
  yych = *(YYMARKER = ++YYCURSOR);
19588
181k
  if (yych <= 'X') {
19589
147k
    if (yych <= 'E') {
19590
123k
      if (yych <= '/') {
19591
14.3k
        if (yych <= '\t') {
19592
5.02k
          if (yych <= 0x08) goto yy926;
19593
3.35k
          goto yy196;
19594
9.34k
        } else {
19595
9.34k
          if (yych == ' ') goto yy196;
19596
7.42k
          goto yy926;
19597
9.34k
        }
19598
108k
      } else {
19599
108k
        if (yych <= '9') {
19600
103k
          if (yych <= '1') goto yy1047;
19601
72.3k
          goto yy1049;
19602
103k
        } else {
19603
5.72k
          if (yych == 'D') goto yy196;
19604
2.99k
          goto yy926;
19605
5.72k
        }
19606
108k
      }
19607
123k
    } else {
19608
24.2k
      if (yych <= 'M') {
19609
14.8k
        if (yych <= 'G') {
19610
3.26k
          if (yych <= 'F') goto yy196;
19611
621
          goto yy926;
19612
11.6k
        } else {
19613
11.6k
          if (yych <= 'H') goto yy196;
19614
10.4k
          if (yych <= 'L') goto yy926;
19615
3.55k
          goto yy196;
19616
10.4k
        }
19617
14.8k
      } else {
19618
9.32k
        if (yych <= 'U') {
19619
5.07k
          if (yych <= 'R') goto yy926;
19620
1.91k
          goto yy196;
19621
5.07k
        } else {
19622
4.25k
          if (yych == 'W') goto yy196;
19623
3.09k
          goto yy926;
19624
4.25k
        }
19625
9.32k
      }
19626
24.2k
    }
19627
147k
  } else {
19628
34.0k
    if (yych <= 'r') {
19629
20.2k
      if (yych <= 'f') {
19630
12.3k
        if (yych <= 'c') {
19631
6.89k
          if (yych <= 'Y') goto yy196;
19632
2.38k
          goto yy926;
19633
6.89k
        } else {
19634
5.40k
          if (yych == 'e') goto yy926;
19635
1.91k
          goto yy196;
19636
5.40k
        }
19637
12.3k
      } else {
19638
7.90k
        if (yych <= 'h') {
19639
4.09k
          if (yych <= 'g') goto yy926;
19640
1.17k
          goto yy196;
19641
4.09k
        } else {
19642
3.80k
          if (yych == 'm') goto yy196;
19643
2.04k
          goto yy926;
19644
3.80k
        }
19645
7.90k
      }
19646
20.2k
    } else {
19647
13.8k
      if (yych <= 'y') {
19648
5.64k
        if (yych <= 'v') {
19649
2.53k
          if (yych <= 'u') goto yy196;
19650
518
          goto yy926;
19651
3.11k
        } else {
19652
3.11k
          if (yych == 'x') goto yy926;
19653
1.76k
          goto yy196;
19654
3.11k
        }
19655
8.21k
      } else {
19656
8.21k
        if (yych <= 0xC2) {
19657
4.51k
          if (yych <= 0xC1) goto yy926;
19658
2.72k
          goto yy97;
19659
4.51k
        } else {
19660
3.69k
          if (yych == 0xE2) goto yy98;
19661
2.65k
          goto yy926;
19662
3.69k
        }
19663
8.21k
      }
19664
13.8k
    }
19665
34.0k
  }
19666
1.03M
yy928:
19667
1.03M
  YYDEBUG(928, *YYCURSOR);
19668
1.03M
  yyaccept = 21;
19669
1.03M
  yych = *(YYMARKER = ++YYCURSOR);
19670
1.03M
  if (yych <= 'X') {
19671
943k
    if (yych <= 'E') {
19672
904k
      if (yych <= ' ') {
19673
53.5k
        if (yych == '\t') goto yy196;
19674
48.8k
        if (yych <= 0x1F) goto yy926;
19675
11.0k
        goto yy196;
19676
850k
      } else {
19677
850k
        if (yych <= '9') {
19678
804k
          if (yych <= '/') goto yy926;
19679
767k
          goto yy1049;
19680
804k
        } else {
19681
46.1k
          if (yych == 'D') goto yy196;
19682
42.5k
          goto yy926;
19683
46.1k
        }
19684
850k
      }
19685
904k
    } else {
19686
39.5k
      if (yych <= 'M') {
19687
23.0k
        if (yych <= 'G') {
19688
13.0k
          if (yych <= 'F') goto yy196;
19689
3.40k
          goto yy926;
19690
13.0k
        } else {
19691
10.0k
          if (yych <= 'H') goto yy196;
19692
7.60k
          if (yych <= 'L') goto yy926;
19693
4.35k
          goto yy196;
19694
7.60k
        }
19695
23.0k
      } else {
19696
16.4k
        if (yych <= 'U') {
19697
11.5k
          if (yych <= 'R') goto yy926;
19698
7.51k
          goto yy196;
19699
11.5k
        } else {
19700
4.93k
          if (yych == 'W') goto yy196;
19701
2.92k
          goto yy926;
19702
4.93k
        }
19703
16.4k
      }
19704
39.5k
    }
19705
943k
  } else {
19706
87.9k
    if (yych <= 'r') {
19707
33.7k
      if (yych <= 'f') {
19708
12.0k
        if (yych <= 'c') {
19709
6.05k
          if (yych <= 'Y') goto yy196;
19710
3.95k
          goto yy926;
19711
6.05k
        } else {
19712
5.97k
          if (yych == 'e') goto yy926;
19713
2.36k
          goto yy196;
19714
5.97k
        }
19715
21.7k
      } else {
19716
21.7k
        if (yych <= 'h') {
19717
5.52k
          if (yych <= 'g') goto yy926;
19718
3.79k
          goto yy196;
19719
16.1k
        } else {
19720
16.1k
          if (yych == 'm') goto yy196;
19721
9.17k
          goto yy926;
19722
16.1k
        }
19723
21.7k
      }
19724
54.1k
    } else {
19725
54.1k
      if (yych <= 'y') {
19726
14.2k
        if (yych <= 'v') {
19727
7.65k
          if (yych <= 'u') goto yy196;
19728
1.72k
          goto yy926;
19729
7.65k
        } else {
19730
6.56k
          if (yych == 'x') goto yy926;
19731
3.44k
          goto yy196;
19732
6.56k
        }
19733
39.9k
      } else {
19734
39.9k
        if (yych <= 0xC2) {
19735
17.7k
          if (yych <= 0xC1) goto yy926;
19736
4.63k
          goto yy97;
19737
22.2k
        } else {
19738
22.2k
          if (yych == 0xE2) goto yy98;
19739
18.7k
          goto yy926;
19740
22.2k
        }
19741
39.9k
      }
19742
54.1k
    }
19743
87.9k
  }
19744
2.79M
yy929:
19745
2.79M
  YYDEBUG(929, *YYCURSOR);
19746
2.79M
  yych = *++YYCURSOR;
19747
2.79M
  if (yych <= 0xC1) {
19748
2.71M
    if (yych <= '/') goto yy196;
19749
2.48M
    if (yych <= '9') goto yy1049;
19750
191k
    goto yy196;
19751
2.48M
  } else {
19752
85.3k
    if (yych <= 0xC2) goto yy97;
19753
61.8k
    if (yych == 0xE2) goto yy98;
19754
39.0k
    goto yy196;
19755
61.8k
  }
19756
135k
yy930:
19757
135k
  YYDEBUG(930, *YYCURSOR);
19758
135k
  yych = *++YYCURSOR;
19759
135k
  if (yych == ':') goto yy1050;
19760
28.5k
  goto yy59;
19761
28.5k
yy931:
19762
8.22k
  YYDEBUG(931, *YYCURSOR);
19763
8.22k
  yyaccept = 22;
19764
8.22k
  yych = *(YYMARKER = ++YYCURSOR);
19765
8.22k
  if (yych == 'I') goto yy1051;
19766
5.80k
  if (yych == 'i') goto yy1051;
19767
2.94k
  goto yy600;
19768
16.7k
yy932:
19769
16.7k
  YYDEBUG(932, *YYCURSOR);
19770
16.7k
  yyaccept = 22;
19771
16.7k
  yych = *(YYMARKER = ++YYCURSOR);
19772
16.7k
  if (yych == 'U') goto yy1052;
19773
14.6k
  if (yych == 'u') goto yy1052;
19774
5.33k
  goto yy600;
19775
34.8k
yy933:
19776
34.8k
  YYDEBUG(933, *YYCURSOR);
19777
34.8k
  yyaccept = 22;
19778
34.8k
  yych = *(YYMARKER = ++YYCURSOR);
19779
34.8k
  if (yych == 'E') goto yy1053;
19780
28.2k
  if (yych == 'e') goto yy1053;
19781
12.9k
  goto yy600;
19782
13.8k
yy934:
19783
13.8k
  YYDEBUG(934, *YYCURSOR);
19784
13.8k
  yyaccept = 22;
19785
13.8k
  yych = *(YYMARKER = ++YYCURSOR);
19786
13.8k
  if (yych == 'R') goto yy1054;
19787
11.3k
  if (yych == 'r') goto yy1054;
19788
4.65k
  goto yy600;
19789
13.5k
yy935:
19790
13.5k
  YYDEBUG(935, *YYCURSOR);
19791
13.5k
  yyaccept = 22;
19792
13.5k
  yych = *(YYMARKER = ++YYCURSOR);
19793
13.5k
  if (yych == 'U') goto yy1055;
19794
9.62k
  if (yych == 'u') goto yy1055;
19795
3.04k
  goto yy600;
19796
4.73k
yy936:
19797
4.73k
  YYDEBUG(936, *YYCURSOR);
19798
4.73k
  yych = *++YYCURSOR;
19799
4.73k
  if (yych == 'Y') goto yy790;
19800
3.51k
  if (yych == 'y') goto yy790;
19801
2.79k
  goto yy600;
19802
10.5k
yy937:
19803
10.5k
  YYDEBUG(937, *YYCURSOR);
19804
10.5k
  yych = *++YYCURSOR;
19805
10.5k
  if (yych == 'E') goto yy790;
19806
8.30k
  if (yych == 'e') goto yy790;
19807
6.08k
  goto yy600;
19808
13.6k
yy938:
19809
13.6k
  YYDEBUG(938, *YYCURSOR);
19810
13.6k
  yyaccept = 22;
19811
13.6k
  yych = *(YYMARKER = ++YYCURSOR);
19812
13.6k
  if (yych == 'C') goto yy1056;
19813
10.3k
  if (yych == 'c') goto yy1056;
19814
7.29k
  goto yy600;
19815
9.59k
yy939:
19816
9.59k
  YYDEBUG(939, *YYCURSOR);
19817
9.59k
  yyaccept = 22;
19818
9.59k
  yych = *(YYMARKER = ++YYCURSOR);
19819
9.59k
  if (yych == 'O') goto yy1057;
19820
7.46k
  if (yych == 'o') goto yy1057;
19821
3.37k
  goto yy600;
19822
29.7k
yy940:
19823
29.7k
  YYDEBUG(940, *YYCURSOR);
19824
29.7k
  yych = *++YYCURSOR;
19825
29.7k
  if (yych == 'T') goto yy933;
19826
28.3k
  if (yych == 't') goto yy933;
19827
9.57k
  goto yy600;
19828
40.1k
yy941:
19829
40.1k
  YYDEBUG(941, *YYCURSOR);
19830
40.1k
  yyaccept = 23;
19831
40.1k
  yych = *(YYMARKER = ++YYCURSOR);
19832
40.1k
  if (yych == '-') goto yy1058;
19833
29.3k
  if (yych <= '/') goto yy942;
19834
27.1k
  if (yych <= '7') goto yy1059;
19835
29.6k
yy942:
19836
29.6k
  YYDEBUG(942, *YYCURSOR);
19837
29.6k
#line 1729 "ext/date/lib/parse_date.re"
19838
29.6k
  {
19839
29.6k
    timelib_sll w, d;
19840
29.6k
    DEBUG_OUTPUT("isoweek");
19841
29.6k
    TIMELIB_INIT;
19842
29.6k
    TIMELIB_HAVE_DATE();
19843
5.12k
    TIMELIB_HAVE_RELATIVE();
19844
19845
5.12k
    s->time->y = timelib_get_nr(&ptr, 4);
19846
5.12k
    w = timelib_get_nr(&ptr, 2);
19847
5.12k
    d = 1;
19848
5.12k
    s->time->m = 1;
19849
5.12k
    s->time->d = 1;
19850
5.12k
    s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d);
19851
19852
5.12k
    TIMELIB_DEINIT;
19853
5.12k
    return TIMELIB_ISO_WEEK;
19854
29.6k
  }
19855
0
#line 19856 "ext/date/lib/parse_date.c"
19856
14.2k
yy943:
19857
14.2k
  YYDEBUG(943, *YYCURSOR);
19858
14.2k
  yych = *++YYCURSOR;
19859
14.2k
  if (yych == 'G') goto yy1061;
19860
11.1k
  if (yych == 'g') goto yy1061;
19861
6.96k
  goto yy59;
19862
15.1k
yy944:
19863
15.1k
  YYDEBUG(944, *YYCURSOR);
19864
15.1k
  yych = *++YYCURSOR;
19865
15.1k
  if (yych == 'Y') goto yy253;
19866
11.3k
  if (yych == 'y') goto yy253;
19867
9.07k
  goto yy59;
19868
40.9k
yy945:
19869
40.9k
  YYDEBUG(945, *YYCURSOR);
19870
40.9k
  yych = *++YYCURSOR;
19871
40.9k
  if (yych == 'E') goto yy1062;
19872
36.7k
  if (yych == 'e') goto yy1062;
19873
15.5k
  goto yy59;
19874
15.5k
yy946:
19875
15.3k
  YYDEBUG(946, *YYCURSOR);
19876
15.3k
  yych = *++YYCURSOR;
19877
15.3k
  if (yych == 'R') goto yy253;
19878
12.2k
  if (yych == 'r') goto yy253;
19879
6.41k
  goto yy59;
19880
43.0k
yy947:
19881
43.0k
  YYDEBUG(947, *YYCURSOR);
19882
43.0k
  ++YYCURSOR;
19883
43.0k
  if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
19884
43.0k
  yych = *YYCURSOR;
19885
43.0k
  if (yych <= '`') {
19886
22.3k
    if (yych <= 'A') {
19887
12.9k
      if (yych <= '@') goto yy59;
19888
1.38k
      goto yy106;
19889
12.9k
    } else {
19890
9.40k
      if (yych == 'P') goto yy106;
19891
7.93k
      goto yy59;
19892
9.40k
    }
19893
22.3k
  } else {
19894
20.6k
    if (yych <= 'p') {
19895
10.0k
      if (yych <= 'a') goto yy106;
19896
6.77k
      if (yych <= 'o') goto yy59;
19897
4.47k
      goto yy106;
19898
10.5k
    } else {
19899
10.5k
      if (yych == 0xE2) goto yy641;
19900
5.77k
      goto yy59;
19901
10.5k
    }
19902
20.6k
  }
19903
238k
yy948:
19904
238k
  YYDEBUG(948, *YYCURSOR);
19905
238k
  yyaccept = 4;
19906
238k
  yych = *(YYMARKER = ++YYCURSOR);
19907
238k
  if (yych <= 'A') {
19908
170k
    if (yych <= '-') {
19909
54.1k
      if (yych <= '\t') {
19910
35.0k
        if (yych <= 0x08) goto yy177;
19911
21.9k
        goto yy638;
19912
35.0k
      } else {
19913
19.0k
        if (yych == ' ') goto yy638;
19914
8.69k
        goto yy177;
19915
19.0k
      }
19916
116k
    } else {
19917
116k
      if (yych <= '9') {
19918
51.9k
        if (yych <= '.') goto yy1063;
19919
8.00k
        goto yy177;
19920
64.4k
      } else {
19921
64.4k
        if (yych <= ':') goto yy1064;
19922
16.2k
        if (yych <= '@') goto yy177;
19923
11.9k
        goto yy106;
19924
16.2k
      }
19925
116k
    }
19926
170k
  } else {
19927
68.0k
    if (yych <= 'o') {
19928
19.6k
      if (yych <= 'P') {
19929
9.17k
        if (yych <= 'O') goto yy177;
19930
2.58k
        goto yy106;
19931
10.4k
      } else {
19932
10.4k
        if (yych == 'a') goto yy106;
19933
7.95k
        goto yy177;
19934
10.4k
      }
19935
48.3k
    } else {
19936
48.3k
      if (yych <= 0xC2) {
19937
28.2k
        if (yych <= 'p') goto yy106;
19938
25.5k
        if (yych <= 0xC1) goto yy177;
19939
21.0k
        goto yy640;
19940
25.5k
      } else {
19941
20.1k
        if (yych == 0xE2) goto yy641;
19942
5.38k
        goto yy177;
19943
20.1k
      }
19944
48.3k
    }
19945
68.0k
  }
19946
34.1k
yy949:
19947
34.1k
  YYDEBUG(949, *YYCURSOR);
19948
34.1k
  yyaccept = 15;
19949
34.1k
  yych = *(YYMARKER = ++YYCURSOR);
19950
34.1k
  if (yych <= 'n') {
19951
21.5k
    if (yych <= '/') goto yy567;
19952
17.7k
    if (yych <= '9') goto yy1065;
19953
5.75k
    if (yych <= 'm') goto yy567;
19954
2.40k
    goto yy741;
19955
12.5k
  } else {
19956
12.5k
    if (yych <= 'r') {
19957
3.33k
      if (yych <= 'q') goto yy567;
19958
2.26k
      goto yy741;
19959
9.23k
    } else {
19960
9.23k
      if (yych <= 's') goto yy742;
19961
6.89k
      if (yych <= 't') goto yy743;
19962
4.04k
      goto yy567;
19963
6.89k
    }
19964
12.5k
  }
19965
31.2k
yy950:
19966
31.2k
  YYDEBUG(950, *YYCURSOR);
19967
31.2k
  yyaccept = 15;
19968
31.2k
  yych = *(YYMARKER = ++YYCURSOR);
19969
31.2k
  if (yych <= 'n') {
19970
16.6k
    if (yych <= '/') goto yy567;
19971
12.3k
    if (yych <= '1') goto yy1065;
19972
3.87k
    if (yych <= 'm') goto yy567;
19973
1.98k
    goto yy741;
19974
14.6k
  } else {
19975
14.6k
    if (yych <= 'r') {
19976
3.23k
      if (yych <= 'q') goto yy567;
19977
2.25k
      goto yy741;
19978
11.3k
    } else {
19979
11.3k
      if (yych <= 's') goto yy742;
19980
7.44k
      if (yych <= 't') goto yy743;
19981
4.86k
      goto yy567;
19982
7.44k
    }
19983
14.6k
  }
19984
88.6k
yy951:
19985
88.6k
  YYDEBUG(951, *YYCURSOR);
19986
88.6k
  yych = *++YYCURSOR;
19987
88.6k
  if (yych <= '/') goto yy59;
19988
72.9k
  if (yych <= '2') goto yy1066;
19989
49.3k
  if (yych <= '3') goto yy1067;
19990
32.4k
  goto yy59;
19991
32.4k
yy952:
19992
14.8k
  YYDEBUG(952, *YYCURSOR);
19993
14.8k
  yych = *++YYCURSOR;
19994
14.8k
  if (yych <= '/') goto yy290;
19995
13.4k
  if (yych <= '9') goto yy1068;
19996
850
  goto yy290;
19997
39.5k
yy953:
19998
39.5k
  YYDEBUG(953, *YYCURSOR);
19999
39.5k
  yych = *++YYCURSOR;
20000
39.5k
  if (yych <= '/') goto yy59;
20001
33.9k
  if (yych <= '9') goto yy1069;
20002
5.83k
  goto yy59;
20003
2.61M
yy954:
20004
2.61M
  YYDEBUG(954, *YYCURSOR);
20005
2.61M
  ++YYCURSOR;
20006
2.61M
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
20007
2.61M
  yych = *YYCURSOR;
20008
2.66M
yy955:
20009
2.66M
  YYDEBUG(955, *YYCURSOR);
20010
2.66M
  if (yybm[0+yych] & 128) {
20011
1.51M
    goto yy954;
20012
1.51M
  }
20013
1.15M
  if (yych <= '.') {
20014
522k
    if (yych == '-') goto yy297;
20015
395k
    goto yy59;
20016
628k
  } else {
20017
628k
    if (yych <= '/') goto yy297;
20018
620k
    if (yych == '_') goto yy297;
20019
595k
    goto yy59;
20020
620k
  }
20021
185k
yy956:
20022
185k
  YYDEBUG(956, *YYCURSOR);
20023
185k
  yych = *++YYCURSOR;
20024
185k
  if (yych == ' ') goto yy1071;
20025
15.5k
  goto yy59;
20026
21.9k
yy957:
20027
21.9k
  YYDEBUG(957, *YYCURSOR);
20028
21.9k
  yych = *++YYCURSOR;
20029
21.9k
  if (yych == 'R') goto yy973;
20030
11.7k
  if (yych == 'r') goto yy973;
20031
7.09k
  goto yy59;
20032
23.6k
yy958:
20033
23.6k
  YYDEBUG(958, *YYCURSOR);
20034
23.6k
  yych = *++YYCURSOR;
20035
23.6k
  if (yych == 'R') goto yy973;
20036
21.6k
  if (yych == 'r') goto yy974;
20037
5.75k
  goto yy955;
20038
61.8k
yy959:
20039
61.8k
  YYDEBUG(959, *YYCURSOR);
20040
61.8k
  yych = *++YYCURSOR;
20041
61.8k
  if (yych == 'E') goto yy1072;
20042
42.6k
  if (yych == 'e') goto yy1072;
20043
14.8k
  goto yy59;
20044
89.8k
yy960:
20045
89.8k
  YYDEBUG(960, *YYCURSOR);
20046
89.8k
  ++YYCURSOR;
20047
89.8k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
20048
89.8k
  yych = *YYCURSOR;
20049
89.8k
  if (yych <= 'c') {
20050
36.4k
    if (yych <= 'M') {
20051
16.5k
      if (yych <= 'F') {
20052
11.0k
        if (yych == 'D') goto yy856;
20053
8.43k
        if (yych <= 'E') goto yy59;
20054
3.73k
        goto yy857;
20055
8.43k
      } else {
20056
5.54k
        if (yych == 'H') goto yy858;
20057
4.05k
        if (yych <= 'L') goto yy59;
20058
2.83k
        goto yy859;
20059
4.05k
      }
20060
19.9k
    } else {
20061
19.9k
      if (yych <= 'U') {
20062
7.76k
        if (yych <= 'R') goto yy59;
20063
4.94k
        if (yych <= 'S') goto yy860;
20064
2.67k
        if (yych <= 'T') goto yy861;
20065
2.18k
        goto yy862;
20066
12.1k
      } else {
20067
12.1k
        if (yych <= 'W') {
20068
5.58k
          if (yych <= 'V') goto yy59;
20069
4.80k
          goto yy959;
20070
6.59k
        } else {
20071
6.59k
          if (yych == 'Y') goto yy864;
20072
5.50k
          goto yy59;
20073
6.59k
        }
20074
12.1k
      }
20075
19.9k
    }
20076
53.3k
  } else {
20077
53.3k
    if (yych <= 's') {
20078
20.7k
      if (yych <= 'g') {
20079
6.66k
        if (yych <= 'd') goto yy856;
20080
3.92k
        if (yych == 'f') goto yy857;
20081
1.24k
        goto yy59;
20082
14.0k
      } else {
20083
14.0k
        if (yych <= 'l') {
20084
4.04k
          if (yych <= 'h') goto yy858;
20085
1.85k
          goto yy59;
20086
9.99k
        } else {
20087
9.99k
          if (yych <= 'm') goto yy859;
20088
6.60k
          if (yych <= 'r') goto yy59;
20089
2.22k
          goto yy860;
20090
6.60k
        }
20091
14.0k
      }
20092
32.6k
    } else {
20093
32.6k
      if (yych <= 'w') {
20094
10.5k
        if (yych <= 't') goto yy861;
20095
9.03k
        if (yych <= 'u') goto yy862;
20096
4.79k
        if (yych <= 'v') goto yy59;
20097
3.88k
        goto yy959;
20098
22.0k
      } else {
20099
22.0k
        if (yych <= 'y') {
20100
6.14k
          if (yych <= 'x') goto yy59;
20101
4.70k
          goto yy864;
20102
15.9k
        } else {
20103
15.9k
          if (yych == 0xC2) goto yy1073;
20104
2.40k
          goto yy59;
20105
15.9k
        }
20106
22.0k
      }
20107
32.6k
    }
20108
53.3k
  }
20109
68.2k
yy961:
20110
68.2k
  YYDEBUG(961, *YYCURSOR);
20111
68.2k
  ++YYCURSOR;
20112
68.2k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
20113
68.2k
  yych = *YYCURSOR;
20114
68.2k
  if (yych == 0xAF) goto yy1074;
20115
6.86k
  goto yy59;
20116
17.5k
yy962:
20117
17.5k
  YYDEBUG(962, *YYCURSOR);
20118
17.5k
  yych = *++YYCURSOR;
20119
17.5k
  if (yych == 'H') goto yy1001;
20120
14.4k
  if (yych == 'h') goto yy1001;
20121
4.82k
  goto yy59;
20122
11.6k
yy963:
20123
11.6k
  YYDEBUG(963, *YYCURSOR);
20124
11.6k
  yych = *++YYCURSOR;
20125
11.6k
  if (yych == 'H') goto yy1001;
20126
7.07k
  if (yych == 'h') goto yy1004;
20127
2.24k
  goto yy955;
20128
8.52k
yy964:
20129
8.52k
  YYDEBUG(964, *YYCURSOR);
20130
8.52k
  yych = *++YYCURSOR;
20131
8.52k
  if (yych == 'Y') goto yy973;
20132
5.24k
  if (yych == 'y') goto yy973;
20133
2.70k
  goto yy59;
20134
26.8k
yy965:
20135
26.8k
  YYDEBUG(965, *YYCURSOR);
20136
26.8k
  ++YYCURSOR;
20137
26.8k
  goto yy315;
20138
7.44k
yy966:
20139
7.44k
  YYDEBUG(966, *YYCURSOR);
20140
7.44k
  yych = *++YYCURSOR;
20141
7.44k
  if (yych == 'Y') goto yy973;
20142
5.55k
  if (yych == 'y') goto yy974;
20143
2.28k
  goto yy955;
20144
10.0k
yy967:
20145
10.0k
  YYDEBUG(967, *YYCURSOR);
20146
10.0k
  yyaccept = 9;
20147
10.0k
  yych = *(YYMARKER = ++YYCURSOR);
20148
10.0k
  if (yybm[0+yych] & 128) {
20149
3.81k
    goto yy954;
20150
3.81k
  }
20151
6.21k
  if (yych <= '.') {
20152
1.65k
    if (yych == '-') goto yy297;
20153
744
    goto yy315;
20154
4.56k
  } else {
20155
4.56k
    if (yych <= '/') goto yy297;
20156
4.16k
    if (yych == '_') goto yy297;
20157
3.12k
    goto yy315;
20158
4.16k
  }
20159
41.2k
yy968:
20160
41.2k
  YYDEBUG(968, *YYCURSOR);
20161
41.2k
  yych = *++YYCURSOR;
20162
41.2k
  if (yych <= '/') goto yy20;
20163
32.7k
  if (yych <= '9') goto yy1075;
20164
4.65k
  goto yy20;
20165
233k
yy969:
20166
233k
  YYDEBUG(969, *YYCURSOR);
20167
233k
  yych = *++YYCURSOR;
20168
233k
  if (yych <= '/') goto yy59;
20169
223k
  if (yych <= '5') goto yy1076;
20170
35.1k
  if (yych <= '6') goto yy1077;
20171
10.9k
  if (yych <= '9') goto yy1078;
20172
8.38k
  goto yy59;
20173
512k
yy970:
20174
512k
  YYDEBUG(970, *YYCURSOR);
20175
512k
  yych = *++YYCURSOR;
20176
512k
  if (yych <= '/') goto yy59;
20177
495k
  if (yych <= '5') goto yy1079;
20178
50.0k
  if (yych <= '6') goto yy1080;
20179
14.7k
  if (yych <= '9') goto yy1078;
20180
12.2k
  goto yy59;
20181
377k
yy971:
20182
377k
  YYDEBUG(971, *YYCURSOR);
20183
377k
  yyaccept = 20;
20184
377k
  yych = *(YYMARKER = ++YYCURSOR);
20185
377k
  if (yych <= 'A') {
20186
307k
    if (yych <= '-') {
20187
31.5k
      if (yych <= '\t') {
20188
9.35k
        if (yych <= 0x08) goto yy849;
20189
4.86k
        goto yy1081;
20190
22.1k
      } else {
20191
22.1k
        if (yych == ' ') goto yy1081;
20192
6.54k
        goto yy849;
20193
22.1k
      }
20194
275k
    } else {
20195
275k
      if (yych <= '9') {
20196
22.0k
        if (yych <= '.') goto yy970;
20197
14.3k
        goto yy849;
20198
253k
      } else {
20199
253k
        if (yych <= ':') goto yy970;
20200
12.5k
        if (yych <= '@') goto yy849;
20201
10.3k
        goto yy1083;
20202
12.5k
      }
20203
275k
    }
20204
307k
  } else {
20205
70.3k
    if (yych <= 'o') {
20206
18.7k
      if (yych <= 'P') {
20207
11.5k
        if (yych <= 'O') goto yy849;
20208
5.01k
        goto yy1083;
20209
11.5k
      } else {
20210
7.25k
        if (yych == 'a') goto yy1083;
20211
5.00k
        goto yy849;
20212
7.25k
      }
20213
51.5k
    } else {
20214
51.5k
      if (yych <= 0xC2) {
20215
25.3k
        if (yych <= 'p') goto yy1083;
20216
24.4k
        if (yych <= 0xC1) goto yy849;
20217
20.3k
        goto yy1084;
20218
26.2k
      } else {
20219
26.2k
        if (yych == 0xE2) goto yy1085;
20220
5.98k
        goto yy849;
20221
26.2k
      }
20222
51.5k
    }
20223
70.3k
  }
20224
35.0k
yy972:
20225
35.0k
  YYDEBUG(972, *YYCURSOR);
20226
35.0k
  ++YYCURSOR;
20227
35.0k
  goto yy325;
20228
50.6k
yy973:
20229
50.6k
  YYDEBUG(973, *YYCURSOR);
20230
50.6k
  yyaccept = 7;
20231
50.6k
  yych = *(YYMARKER = ++YYCURSOR);
20232
50.6k
  if (yych <= ' ') {
20233
11.3k
    if (yych == '\t') goto yy142;
20234
9.97k
    if (yych <= 0x1F) goto yy295;
20235
2.46k
    goto yy142;
20236
39.3k
  } else {
20237
39.3k
    if (yych <= '.') {
20238
5.31k
      if (yych <= ',') goto yy295;
20239
1.57k
      goto yy142;
20240
34.0k
    } else {
20241
34.0k
      if (yych <= '/') goto yy295;
20242
32.3k
      if (yych <= '9') goto yy142;
20243
27.4k
      goto yy295;
20244
32.3k
    }
20245
39.3k
  }
20246
32.6k
yy974:
20247
32.6k
  YYDEBUG(974, *YYCURSOR);
20248
32.6k
  yyaccept = 7;
20249
32.6k
  yych = *(YYMARKER = ++YYCURSOR);
20250
32.6k
  if (yybm[0+yych] & 128) {
20251
2.41k
    goto yy954;
20252
2.41k
  }
20253
30.2k
  if (yych <= '-') {
20254
16.2k
    if (yych <= 0x1F) {
20255
3.32k
      if (yych == '\t') goto yy142;
20256
2.17k
      goto yy295;
20257
12.9k
    } else {
20258
12.9k
      if (yych <= ' ') goto yy142;
20259
7.33k
      if (yych <= ',') goto yy295;
20260
2.89k
      goto yy700;
20261
7.33k
    }
20262
16.2k
  } else {
20263
13.9k
    if (yych <= '9') {
20264
7.92k
      if (yych == '/') goto yy297;
20265
5.64k
      goto yy142;
20266
7.92k
    } else {
20267
6.04k
      if (yych == '_') goto yy297;
20268
4.71k
      goto yy295;
20269
6.04k
    }
20270
13.9k
  }
20271
17.3k
yy975:
20272
17.3k
  YYDEBUG(975, *YYCURSOR);
20273
17.3k
  yych = *++YYCURSOR;
20274
17.3k
  if (yych == 'Y') goto yy1086;
20275
14.7k
  if (yych == 'y') goto yy1086;
20276
8.20k
  goto yy59;
20277
37.4k
yy976:
20278
37.4k
  YYDEBUG(976, *YYCURSOR);
20279
37.4k
  yych = *++YYCURSOR;
20280
37.4k
  if (yych == 'R') goto yy1087;
20281
18.0k
  if (yych == 'r') goto yy1087;
20282
4.96k
  goto yy59;
20283
24.5k
yy977:
20284
24.5k
  YYDEBUG(977, *YYCURSOR);
20285
24.5k
  yych = *++YYCURSOR;
20286
24.5k
  if (yych == 'I') goto yy1088;
20287
21.4k
  if (yych == 'i') goto yy1088;
20288
8.39k
  goto yy59;
20289
8.39k
yy978:
20290
4.07k
  YYDEBUG(978, *YYCURSOR);
20291
4.07k
  yych = *++YYCURSOR;
20292
4.07k
  if (yych == 'U') goto yy1089;
20293
3.12k
  if (yych == 'u') goto yy1089;
20294
2.28k
  goto yy59;
20295
61.9k
yy979:
20296
61.9k
  YYDEBUG(979, *YYCURSOR);
20297
61.9k
  yych = *++YYCURSOR;
20298
61.9k
  if (yych <= 'N') {
20299
24.4k
    if (yych <= 'K') {
20300
11.7k
      if (yych == 'C') goto yy1090;
20301
7.17k
      goto yy59;
20302
12.7k
    } else {
20303
12.7k
      if (yych <= 'L') goto yy1091;
20304
7.73k
      if (yych <= 'M') goto yy59;
20305
6.01k
      goto yy1092;
20306
7.73k
    }
20307
37.4k
  } else {
20308
37.4k
    if (yych <= 'k') {
20309
17.3k
      if (yych == 'c') goto yy1090;
20310
4.55k
      goto yy59;
20311
20.1k
    } else {
20312
20.1k
      if (yych <= 'l') goto yy1091;
20313
16.2k
      if (yych == 'n') goto yy1092;
20314
2.33k
      goto yy59;
20315
16.2k
    }
20316
37.4k
  }
20317
55.9k
yy980:
20318
55.9k
  YYDEBUG(980, *YYCURSOR);
20319
55.9k
  yych = *++YYCURSOR;
20320
55.9k
  if (yych == 'N') goto yy1093;
20321
31.1k
  if (yych == 'n') goto yy1093;
20322
6.53k
  goto yy59;
20323
10.8k
yy981:
20324
10.8k
  YYDEBUG(981, *YYCURSOR);
20325
10.8k
  yyaccept = 24;
20326
10.8k
  yych = *(YYMARKER = ++YYCURSOR);
20327
10.8k
  if (yych == 'E') goto yy1094;
20328
7.45k
  if (yych == 'e') goto yy1094;
20329
333k
yy982:
20330
333k
  YYDEBUG(982, *YYCURSOR);
20331
333k
#line 1872 "ext/date/lib/parse_date.re"
20332
333k
  {
20333
333k
    timelib_sll i;
20334
333k
    int         behavior = 0;
20335
333k
    DEBUG_OUTPUT("relativetext");
20336
333k
    TIMELIB_INIT;
20337
333k
    TIMELIB_HAVE_RELATIVE();
20338
20339
666k
    while(*ptr) {
20340
333k
      i = timelib_get_relative_text(&ptr, &behavior);
20341
333k
      timelib_eat_spaces(&ptr);
20342
333k
      timelib_set_relative(&ptr, i, behavior, s, TIMELIB_TIME_PART_DONT_KEEP);
20343
333k
    }
20344
333k
    TIMELIB_DEINIT;
20345
333k
    return TIMELIB_RELATIVE;
20346
7.45k
  }
20347
0
#line 20348 "ext/date/lib/parse_date.c"
20348
39.2k
yy983:
20349
39.2k
  YYDEBUG(983, *YYCURSOR);
20350
39.2k
  yych = *++YYCURSOR;
20351
39.2k
  if (yych == 'T') goto yy1095;
20352
32.0k
  if (yych == 't') goto yy1095;
20353
8.34k
  goto yy59;
20354
23.2k
yy984:
20355
23.2k
  YYDEBUG(984, *YYCURSOR);
20356
23.2k
  yych = *++YYCURSOR;
20357
23.2k
  if (yych == 'C') goto yy1096;
20358
17.5k
  if (yych == 'c') goto yy1096;
20359
5.56k
  goto yy59;
20360
30.6k
yy985:
20361
30.6k
  YYDEBUG(985, *YYCURSOR);
20362
30.6k
  yych = *++YYCURSOR;
20363
30.6k
  if (yych == 'N') goto yy1088;
20364
19.6k
  if (yych == 'n') goto yy1088;
20365
4.25k
  goto yy59;
20366
32.3k
yy986:
20367
32.3k
  YYDEBUG(986, *YYCURSOR);
20368
32.3k
  yych = *++YYCURSOR;
20369
32.3k
  if (yych == 'U') goto yy1097;
20370
16.1k
  if (yych == 'u') goto yy1097;
20371
7.73k
  goto yy59;
20372
41.3k
yy987:
20373
41.3k
  YYDEBUG(987, *YYCURSOR);
20374
41.3k
  yych = *++YYCURSOR;
20375
41.3k
  if (yych == 'E') goto yy1098;
20376
19.2k
  if (yych == 'e') goto yy1098;
20377
4.91k
  goto yy59;
20378
11.2k
yy988:
20379
11.2k
  YYDEBUG(988, *YYCURSOR);
20380
11.2k
  yych = *++YYCURSOR;
20381
11.2k
  if (yych == 'E') goto yy1094;
20382
9.01k
  if (yych == 'e') goto yy1094;
20383
4.94k
  goto yy59;
20384
100k
yy989:
20385
100k
  YYDEBUG(989, *YYCURSOR);
20386
100k
  yych = *++YYCURSOR;
20387
100k
  if (yych <= 'E') {
20388
34.8k
    if (yych <= 'C') goto yy59;
20389
28.7k
    if (yych <= 'D') goto yy1099;
20390
6.72k
    goto yy1100;
20391
66.0k
  } else {
20392
66.0k
    if (yych <= 'c') goto yy59;
20393
62.0k
    if (yych <= 'd') goto yy1099;
20394
31.3k
    if (yych <= 'e') goto yy1100;
20395
8.92k
    goto yy59;
20396
31.3k
  }
20397
13.9k
yy990:
20398
13.9k
  YYDEBUG(990, *YYCURSOR);
20399
13.9k
  yych = *++YYCURSOR;
20400
13.9k
  if (yych == 'A') goto yy1089;
20401
12.0k
  if (yych == 'a') goto yy1089;
20402
7.70k
  goto yy59;
20403
9.91k
yy991:
20404
9.91k
  YYDEBUG(991, *YYCURSOR);
20405
9.91k
  yych = *++YYCURSOR;
20406
9.91k
  if (yych == 'S') goto yy981;
20407
7.09k
  if (yych == 's') goto yy981;
20408
4.20k
  goto yy59;
20409
30.6k
yy992:
20410
30.6k
  YYDEBUG(992, *YYCURSOR);
20411
30.6k
  yych = *++YYCURSOR;
20412
30.6k
  if (yych == 'Y') goto yy1101;
20413
21.9k
  if (yych == 'y') goto yy1101;
20414
11.6k
  goto yy59;
20415
25.9k
yy993:
20416
25.9k
  YYDEBUG(993, *YYCURSOR);
20417
25.9k
  ++YYCURSOR;
20418
25.9k
  if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
20419
25.9k
  yych = *YYCURSOR;
20420
25.9k
  if (yych == 0xA0) goto yy867;
20421
5.11k
  if (yych == 0xB5) goto yy991;
20422
3.23k
  goto yy59;
20423
92.2k
yy994:
20424
92.2k
  YYDEBUG(994, *YYCURSOR);
20425
92.2k
  ++YYCURSOR;
20426
92.2k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
20427
92.2k
  yych = *YYCURSOR;
20428
92.2k
  if (yych <= 'd') {
20429
42.8k
    if (yych <= 'R') {
20430
21.2k
      if (yych <= 'F') {
20431
7.23k
        if (yych == 'D') goto yy856;
20432
6.08k
        if (yych <= 'E') goto yy59;
20433
3.72k
        goto yy857;
20434
14.0k
      } else {
20435
14.0k
        if (yych <= 'H') {
20436
7.75k
          if (yych <= 'G') goto yy59;
20437
2.87k
          goto yy858;
20438
7.75k
        } else {
20439
6.27k
          if (yych == 'M') goto yy859;
20440
4.48k
          goto yy59;
20441
6.27k
        }
20442
14.0k
      }
20443
21.5k
    } else {
20444
21.5k
      if (yych <= 'V') {
20445
10.4k
        if (yych <= 'S') goto yy860;
20446
5.27k
        if (yych <= 'T') goto yy861;
20447
3.62k
        if (yych <= 'U') goto yy862;
20448
1.78k
        goto yy59;
20449
11.0k
      } else {
20450
11.0k
        if (yych <= 'X') {
20451
3.62k
          if (yych <= 'W') goto yy863;
20452
1.62k
          goto yy59;
20453
7.46k
        } else {
20454
7.46k
          if (yych <= 'Y') goto yy864;
20455
4.15k
          if (yych <= 'c') goto yy59;
20456
1.73k
          goto yy856;
20457
4.15k
        }
20458
11.0k
      }
20459
21.5k
    }
20460
49.4k
  } else {
20461
49.4k
    if (yych <= 't') {
20462
20.0k
      if (yych <= 'h') {
20463
4.05k
        if (yych == 'f') goto yy857;
20464
2.12k
        if (yych <= 'g') goto yy59;
20465
1.15k
        goto yy858;
20466
15.9k
      } else {
20467
15.9k
        if (yych <= 'm') {
20468
3.18k
          if (yych <= 'l') goto yy59;
20469
781
          goto yy859;
20470
12.7k
        } else {
20471
12.7k
          if (yych <= 'r') goto yy59;
20472
10.3k
          if (yych <= 's') goto yy860;
20473
3.59k
          goto yy861;
20474
10.3k
        }
20475
15.9k
      }
20476
29.4k
    } else {
20477
29.4k
      if (yych <= 'y') {
20478
9.17k
        if (yych <= 'v') {
20479
3.70k
          if (yych <= 'u') goto yy862;
20480
1.11k
          goto yy59;
20481
5.47k
        } else {
20482
5.47k
          if (yych <= 'w') goto yy863;
20483
2.51k
          if (yych <= 'x') goto yy59;
20484
1.02k
          goto yy864;
20485
2.51k
        }
20486
20.2k
      } else {
20487
20.2k
        if (yych <= 0xC2) {
20488
9.01k
          if (yych <= 0xC1) goto yy59;
20489
5.61k
          goto yy865;
20490
11.2k
        } else {
20491
11.2k
          if (yych == 0xE2) goto yy705;
20492
2.39k
          goto yy59;
20493
11.2k
        }
20494
20.2k
      }
20495
29.4k
    }
20496
49.4k
  }
20497
10.8k
yy995:
20498
10.8k
  YYDEBUG(995, *YYCURSOR);
20499
10.8k
  yych = *++YYCURSOR;
20500
10.8k
  if (yych == 'T') goto yy1102;
20501
8.87k
  if (yych == 't') goto yy1102;
20502
5.16k
  goto yy59;
20503
13.5k
yy996:
20504
13.5k
  YYDEBUG(996, *YYCURSOR);
20505
13.5k
  yych = *++YYCURSOR;
20506
13.5k
  if (yych == 'T') goto yy1102;
20507
11.8k
  if (yych == 't') goto yy1103;
20508
1.68k
  goto yy955;
20509
96.8k
yy997:
20510
96.8k
  YYDEBUG(997, *YYCURSOR);
20511
96.8k
  yych = *++YYCURSOR;
20512
96.8k
  if (yych == 'S') goto yy1104;
20513
92.8k
  if (yych == 's') goto yy1104;
20514
10.3k
  goto yy59;
20515
19.7k
yy998:
20516
19.7k
  YYDEBUG(998, *YYCURSOR);
20517
19.7k
  yych = *++YYCURSOR;
20518
19.7k
  if (yych == 'S') goto yy1104;
20519
16.8k
  if (yych == 's') goto yy1105;
20520
2.67k
  goto yy955;
20521
30.4k
yy999:
20522
30.4k
  YYDEBUG(999, *YYCURSOR);
20523
30.4k
  yych = *++YYCURSOR;
20524
30.4k
  if (yych == 'Y') goto yy1007;
20525
25.2k
  if (yych == 'y') goto yy1007;
20526
8.68k
  goto yy59;
20527
12.0k
yy1000:
20528
12.0k
  YYDEBUG(1000, *YYCURSOR);
20529
12.0k
  yych = *++YYCURSOR;
20530
12.0k
  if (yych == 'E') goto yy957;
20531
9.66k
  if (yych == 'e') goto yy957;
20532
5.27k
  goto yy59;
20533
32.4k
yy1001:
20534
32.4k
  YYDEBUG(1001, *YYCURSOR);
20535
32.4k
  yych = *++YYCURSOR;
20536
32.4k
  if (yych <= ' ') {
20537
15.5k
    if (yych == '\t') goto yy834;
20538
8.95k
    if (yych <= 0x1F) goto yy59;
20539
5.83k
    goto yy834;
20540
16.9k
  } else {
20541
16.9k
    if (yych <= 0xC2) {
20542
13.5k
      if (yych <= 0xC1) goto yy59;
20543
2.54k
      goto yy837;
20544
13.5k
    } else {
20545
3.34k
      if (yych == 0xE2) goto yy838;
20546
854
      goto yy59;
20547
3.34k
    }
20548
16.9k
  }
20549
18.3k
yy1002:
20550
18.3k
  YYDEBUG(1002, *YYCURSOR);
20551
18.3k
  yych = *++YYCURSOR;
20552
18.3k
  if (yych == 'Y') goto yy1007;
20553
15.3k
  if (yych == 'y') goto yy1009;
20554
3.04k
  goto yy955;
20555
15.6k
yy1003:
20556
15.6k
  YYDEBUG(1003, *YYCURSOR);
20557
15.6k
  yych = *++YYCURSOR;
20558
15.6k
  if (yych == 'E') goto yy957;
20559
12.8k
  if (yych == 'e') goto yy958;
20560
1.41k
  goto yy955;
20561
26.2k
yy1004:
20562
26.2k
  YYDEBUG(1004, *YYCURSOR);
20563
26.2k
  yych = *++YYCURSOR;
20564
26.2k
  if (yych <= ' ') {
20565
10.8k
    if (yych == '\t') goto yy834;
20566
4.36k
    if (yych <= 0x1F) goto yy955;
20567
2.97k
    goto yy834;
20568
15.4k
  } else {
20569
15.4k
    if (yych <= 0xC2) {
20570
13.3k
      if (yych <= 0xC1) goto yy955;
20571
4.25k
      goto yy837;
20572
13.3k
    } else {
20573
2.13k
      if (yych == 0xE2) goto yy838;
20574
1.11k
      goto yy955;
20575
2.13k
    }
20576
15.4k
  }
20577
20.0k
yy1005:
20578
20.0k
  YYDEBUG(1005, *YYCURSOR);
20579
20.0k
  ++YYCURSOR;
20580
20.0k
  goto yy777;
20581
8.03k
yy1006:
20582
8.03k
  YYDEBUG(1006, *YYCURSOR);
20583
8.03k
  yych = *++YYCURSOR;
20584
8.03k
  if (yych == 'W') goto yy1106;
20585
7.02k
  if (yych == 'w') goto yy1106;
20586
3.15k
  goto yy59;
20587
39.5k
yy1007:
20588
39.5k
  YYDEBUG(1007, *YYCURSOR);
20589
39.5k
  yych = *++YYCURSOR;
20590
39.5k
  if (yych == 'S') goto yy965;
20591
33.5k
  if (yych == 's') goto yy965;
20592
25.4k
  goto yy315;
20593
25.4k
yy1008:
20594
11.0k
  YYDEBUG(1008, *YYCURSOR);
20595
11.0k
  yych = *++YYCURSOR;
20596
11.0k
  if (yych == 'W') goto yy1106;
20597
10.5k
  if (yych == 'w') goto yy1108;
20598
2.74k
  goto yy955;
20599
39.4k
yy1009:
20600
39.4k
  YYDEBUG(1009, *YYCURSOR);
20601
39.4k
  yyaccept = 9;
20602
39.4k
  yych = *(YYMARKER = ++YYCURSOR);
20603
39.4k
  if (yych <= 'S') {
20604
12.2k
    if (yych <= '.') {
20605
4.89k
      if (yych == '-') goto yy297;
20606
4.43k
      goto yy315;
20607
7.31k
    } else {
20608
7.31k
      if (yych <= '/') goto yy297;
20609
5.70k
      if (yych <= 'R') goto yy315;
20610
3.67k
      goto yy965;
20611
5.70k
    }
20612
27.2k
  } else {
20613
27.2k
    if (yych <= '`') {
20614
5.58k
      if (yych == '_') goto yy297;
20615
2.40k
      goto yy315;
20616
21.6k
    } else {
20617
21.6k
      if (yych == 's') goto yy967;
20618
14.3k
      if (yych <= 'z') goto yy954;
20619
10.0k
      goto yy315;
20620
14.3k
    }
20621
27.2k
  }
20622
12.4k
yy1010:
20623
12.4k
  YYDEBUG(1010, *YYCURSOR);
20624
12.4k
  yych = *++YYCURSOR;
20625
12.4k
  if (yych == 'A') goto yy999;
20626
9.75k
  if (yych == 'a') goto yy999;
20627
5.79k
  goto yy59;
20628
17.5k
yy1011:
20629
17.5k
  YYDEBUG(1011, *YYCURSOR);
20630
17.5k
  yych = *++YYCURSOR;
20631
17.5k
  if (yych == 'A') goto yy999;
20632
12.1k
  if (yych == 'a') goto yy1002;
20633
2.06k
  goto yy955;
20634
22.3k
yy1012:
20635
22.3k
  YYDEBUG(1012, *YYCURSOR);
20636
22.3k
  yych = *++YYCURSOR;
20637
22.3k
  if (yych == 'A') goto yy1109;
20638
15.9k
  if (yych == 'a') goto yy1109;
20639
10.1k
  goto yy59;
20640
15.2k
yy1013:
20641
15.2k
  YYDEBUG(1013, *YYCURSOR);
20642
15.2k
  yych = *++YYCURSOR;
20643
15.2k
  if (yych == 'A') goto yy1109;
20644
14.6k
  if (yych == 'a') goto yy1110;
20645
2.96k
  goto yy955;
20646
57.7k
yy1014:
20647
57.7k
  YYDEBUG(1014, *YYCURSOR);
20648
57.7k
  yych = *++YYCURSOR;
20649
57.7k
  if (yych == '-') goto yy1111;
20650
18.4k
  goto yy59;
20651
34.8k
yy1015:
20652
34.8k
  YYDEBUG(1015, *YYCURSOR);
20653
34.8k
  yych = *++YYCURSOR;
20654
34.8k
  if (yych <= '/') goto yy59;
20655
28.4k
  if (yych <= '9') goto yy1112;
20656
3.52k
  goto yy59;
20657
44.7k
yy1016:
20658
44.7k
  YYDEBUG(1016, *YYCURSOR);
20659
44.7k
  yych = *++YYCURSOR;
20660
44.7k
  if (yych <= '/') goto yy59;
20661
36.6k
  if (yych <= '2') goto yy1112;
20662
16.4k
  goto yy59;
20663
468k
yy1017:
20664
468k
  YYDEBUG(1017, *YYCURSOR);
20665
468k
  yych = *++YYCURSOR;
20666
468k
  if (yych <= '9') {
20667
416k
    if (yych == '-') goto yy893;
20668
397k
    if (yych <= '/') goto yy196;
20669
368k
    goto yy1113;
20670
397k
  } else {
20671
51.3k
    if (yych <= 0xC2) {
20672
38.2k
      if (yych <= 0xC1) goto yy196;
20673
3.44k
      goto yy97;
20674
38.2k
    } else {
20675
13.1k
      if (yych == 0xE2) goto yy98;
20676
8.17k
      goto yy196;
20677
13.1k
    }
20678
51.3k
  }
20679
28.3k
yy1018:
20680
28.3k
  YYDEBUG(1018, *YYCURSOR);
20681
28.3k
  yych = *++YYCURSOR;
20682
28.3k
  if (yych <= '/') goto yy59;
20683
25.5k
  if (yych <= '9') goto yy115;
20684
9.17k
  goto yy59;
20685
12.8k
yy1019:
20686
12.8k
  YYDEBUG(1019, *YYCURSOR);
20687
12.8k
  yych = *++YYCURSOR;
20688
12.8k
  if (yych == '0') goto yy115;
20689
4.07k
  goto yy59;
20690
39.5k
yy1020:
20691
39.5k
  YYDEBUG(1020, *YYCURSOR);
20692
39.5k
  ++YYCURSOR;
20693
39.5k
  YYDEBUG(1021, *YYCURSOR);
20694
39.5k
#line 1578 "ext/date/lib/parse_date.re"
20695
39.5k
  {
20696
39.5k
    DEBUG_OUTPUT("pointed date YYYY");
20697
39.5k
    TIMELIB_INIT;
20698
39.5k
    TIMELIB_HAVE_DATE();
20699
6.73k
    s->time->d = timelib_get_nr(&ptr, 2);
20700
6.73k
    s->time->m = timelib_get_nr(&ptr, 2);
20701
6.73k
    s->time->y = timelib_get_nr(&ptr, 4);
20702
6.73k
    TIMELIB_DEINIT;
20703
6.73k
    return TIMELIB_DATE_FULL_POINTED;
20704
39.5k
  }
20705
0
#line 20706 "ext/date/lib/parse_date.c"
20706
9.16k
yy1022:
20707
9.16k
  YYDEBUG(1022, *YYCURSOR);
20708
9.16k
  ++YYCURSOR;
20709
9.16k
  goto yy224;
20710
253k
yy1023:
20711
253k
  YYDEBUG(1023, *YYCURSOR);
20712
253k
  yych = *++YYCURSOR;
20713
253k
  if (yych <= '/') goto yy59;
20714
245k
  if (yych <= '9') goto yy1114;
20715
9.22k
  goto yy59;
20716
26.4k
yy1024:
20717
26.4k
  YYDEBUG(1024, *YYCURSOR);
20718
26.4k
  yyaccept = 25;
20719
26.4k
  yych = *(YYMARKER = ++YYCURSOR);
20720
26.4k
  if (yych <= 'n') {
20721
16.0k
    if (yych <= '/') goto yy1025;
20722
14.0k
    if (yych <= '9') goto yy897;
20723
9.79k
    if (yych >= 'n') goto yy741;
20724
10.3k
  } else {
20725
10.3k
    if (yych <= 'r') {
20726
4.29k
      if (yych >= 'r') goto yy741;
20727
6.08k
    } else {
20728
6.08k
      if (yych <= 's') goto yy742;
20729
4.05k
      if (yych <= 't') goto yy743;
20730
4.05k
    }
20731
10.3k
  }
20732
43.7k
yy1025:
20733
43.7k
  YYDEBUG(1025, *YYCURSOR);
20734
43.7k
#line 1509 "ext/date/lib/parse_date.re"
20735
43.7k
  {
20736
43.7k
    int length = 0;
20737
43.7k
    DEBUG_OUTPUT("iso8601date2");
20738
43.7k
    TIMELIB_INIT;
20739
43.7k
    TIMELIB_HAVE_DATE();
20740
6.92k
    s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
20741
6.92k
    s->time->m = timelib_get_nr(&ptr, 2);
20742
6.92k
    s->time->d = timelib_get_nr(&ptr, 2);
20743
6.92k
    TIMELIB_PROCESS_YEAR(s->time->y, length);
20744
6.92k
    TIMELIB_DEINIT;
20745
6.92k
    return TIMELIB_ISO_DATE;
20746
43.7k
  }
20747
0
#line 20748 "ext/date/lib/parse_date.c"
20748
48.6k
yy1026:
20749
48.6k
  YYDEBUG(1026, *YYCURSOR);
20750
48.6k
  yyaccept = 15;
20751
48.6k
  yych = *(YYMARKER = ++YYCURSOR);
20752
48.6k
  if (yych <= 'm') {
20753
32.4k
    if (yych <= '9') {
20754
21.9k
      if (yych <= '/') goto yy567;
20755
19.7k
      goto yy1028;
20756
21.9k
    } else {
20757
10.5k
      if (yych == 'T') goto yy1115;
20758
7.27k
      goto yy567;
20759
10.5k
    }
20760
32.4k
  } else {
20761
16.1k
    if (yych <= 'r') {
20762
7.11k
      if (yych <= 'n') goto yy1116;
20763
3.32k
      if (yych <= 'q') goto yy567;
20764
2.78k
      goto yy1116;
20765
9.02k
    } else {
20766
9.02k
      if (yych <= 's') goto yy1117;
20767
5.59k
      if (yych <= 't') goto yy1118;
20768
3.78k
      goto yy567;
20769
5.59k
    }
20770
16.1k
  }
20771
30.2k
yy1027:
20772
30.2k
  YYDEBUG(1027, *YYCURSOR);
20773
30.2k
  yyaccept = 15;
20774
30.2k
  yych = *(YYMARKER = ++YYCURSOR);
20775
30.2k
  if (yych <= 'm') {
20776
20.5k
    if (yych <= '1') {
20777
11.3k
      if (yych <= '/') goto yy567;
20778
11.3k
    } else {
20779
9.20k
      if (yych == 'T') goto yy1115;
20780
6.74k
      goto yy567;
20781
9.20k
    }
20782
20.5k
  } else {
20783
9.62k
    if (yych <= 'r') {
20784
3.98k
      if (yych <= 'n') goto yy1116;
20785
2.90k
      if (yych <= 'q') goto yy567;
20786
458
      goto yy1116;
20787
5.64k
    } else {
20788
5.64k
      if (yych <= 's') goto yy1117;
20789
4.12k
      if (yych <= 't') goto yy1118;
20790
3.17k
      goto yy567;
20791
4.12k
    }
20792
9.62k
  }
20793
46.5k
yy1028:
20794
46.5k
  YYDEBUG(1028, *YYCURSOR);
20795
46.5k
  yyaccept = 15;
20796
46.5k
  yych = *(YYMARKER = ++YYCURSOR);
20797
46.5k
  if (yych <= 'n') {
20798
31.9k
    if (yych == 'T') goto yy1115;
20799
15.4k
    if (yych <= 'm') goto yy567;
20800
1.51k
    goto yy1116;
20801
15.4k
  } else {
20802
14.5k
    if (yych <= 'r') {
20803
2.16k
      if (yych <= 'q') goto yy567;
20804
1.22k
      goto yy1116;
20805
12.4k
    } else {
20806
12.4k
      if (yych <= 's') goto yy1117;
20807
10.2k
      if (yych <= 't') goto yy1118;
20808
6.99k
      goto yy567;
20809
10.2k
    }
20810
14.5k
  }
20811
261k
yy1029:
20812
261k
  YYDEBUG(1029, *YYCURSOR);
20813
261k
  yych = *++YYCURSOR;
20814
261k
  if (yych <= '/') goto yy59;
20815
254k
  if (yych <= '2') goto yy1119;
20816
60.5k
  if (yych <= '3') goto yy1120;
20817
20.0k
  if (yych <= '9') goto yy1028;
20818
13.7k
  goto yy59;
20819
41.2k
yy1030:
20820
41.2k
  YYDEBUG(1030, *YYCURSOR);
20821
41.2k
  ++YYCURSOR;
20822
41.2k
  goto yy926;
20823
18.4k
yy1031:
20824
18.4k
  YYDEBUG(1031, *YYCURSOR);
20825
18.4k
  yyaccept = 22;
20826
18.4k
  yych = *(YYMARKER = ++YYCURSOR);
20827
18.4k
  if (yych <= 'H') {
20828
9.10k
    if (yych == '-') goto yy951;
20829
4.65k
    goto yy600;
20830
9.32k
  } else {
20831
9.32k
    if (yych <= 'I') goto yy1051;
20832
8.69k
    if (yych == 'i') goto yy1051;
20833
5.50k
    goto yy600;
20834
8.69k
  }
20835
24.2k
yy1032:
20836
24.2k
  YYDEBUG(1032, *YYCURSOR);
20837
24.2k
  yyaccept = 22;
20838
24.2k
  yych = *(YYMARKER = ++YYCURSOR);
20839
24.2k
  if (yych <= 'T') {
20840
9.55k
    if (yych == '-') goto yy951;
20841
3.26k
    goto yy600;
20842
14.6k
  } else {
20843
14.6k
    if (yych <= 'U') goto yy1052;
20844
10.3k
    if (yych == 'u') goto yy1052;
20845
2.33k
    goto yy600;
20846
10.3k
  }
20847
28.6k
yy1033:
20848
28.6k
  YYDEBUG(1033, *YYCURSOR);
20849
28.6k
  yyaccept = 22;
20850
28.6k
  yych = *(YYMARKER = ++YYCURSOR);
20851
28.6k
  if (yych <= 'D') {
20852
14.0k
    if (yych == '-') goto yy951;
20853
8.20k
    goto yy600;
20854
14.6k
  } else {
20855
14.6k
    if (yych <= 'E') goto yy1053;
20856
7.11k
    if (yych == 'e') goto yy1053;
20857
4.56k
    goto yy600;
20858
7.11k
  }
20859
22.3k
yy1034:
20860
22.3k
  YYDEBUG(1034, *YYCURSOR);
20861
22.3k
  yyaccept = 22;
20862
22.3k
  yych = *(YYMARKER = ++YYCURSOR);
20863
22.3k
  if (yych <= 'Q') {
20864
8.48k
    if (yych == '-') goto yy951;
20865
7.41k
    goto yy600;
20866
13.8k
  } else {
20867
13.8k
    if (yych <= 'R') goto yy1054;
20868
9.77k
    if (yych == 'r') goto yy1054;
20869
1.61k
    goto yy600;
20870
9.77k
  }
20871
9.23k
yy1035:
20872
9.23k
  YYDEBUG(1035, *YYCURSOR);
20873
9.23k
  yyaccept = 22;
20874
9.23k
  yych = *(YYMARKER = ++YYCURSOR);
20875
9.23k
  if (yych <= 'T') {
20876
3.27k
    if (yych == '-') goto yy951;
20877
2.31k
    goto yy600;
20878
5.95k
  } else {
20879
5.95k
    if (yych <= 'U') goto yy1055;
20880
4.59k
    if (yych == 'u') goto yy1055;
20881
1.54k
    goto yy600;
20882
4.59k
  }
20883
7.46k
yy1036:
20884
7.46k
  YYDEBUG(1036, *YYCURSOR);
20885
7.46k
  yyaccept = 22;
20886
7.46k
  yych = *(YYMARKER = ++YYCURSOR);
20887
7.46k
  if (yych <= 'X') {
20888
3.21k
    if (yych == '-') goto yy951;
20889
872
    goto yy600;
20890
4.25k
  } else {
20891
4.25k
    if (yych <= 'Y') goto yy790;
20892
2.98k
    if (yych == 'y') goto yy790;
20893
2.17k
    goto yy600;
20894
2.98k
  }
20895
13.0k
yy1037:
20896
13.0k
  YYDEBUG(1037, *YYCURSOR);
20897
13.0k
  yyaccept = 22;
20898
13.0k
  yych = *(YYMARKER = ++YYCURSOR);
20899
13.0k
  if (yych <= 'D') {
20900
6.51k
    if (yych == '-') goto yy951;
20901
5.46k
    goto yy600;
20902
6.51k
  } else {
20903
6.49k
    if (yych <= 'E') goto yy790;
20904
4.78k
    if (yych == 'e') goto yy790;
20905
3.92k
    goto yy600;
20906
4.78k
  }
20907
11.7k
yy1038:
20908
11.7k
  YYDEBUG(1038, *YYCURSOR);
20909
11.7k
  yyaccept = 22;
20910
11.7k
  yych = *(YYMARKER = ++YYCURSOR);
20911
11.7k
  if (yych <= 'B') {
20912
3.77k
    if (yych == '-') goto yy951;
20913
1.56k
    goto yy600;
20914
8.01k
  } else {
20915
8.01k
    if (yych <= 'C') goto yy1056;
20916
6.32k
    if (yych == 'c') goto yy1056;
20917
1.62k
    goto yy600;
20918
6.32k
  }
20919
6.78k
yy1039:
20920
6.78k
  YYDEBUG(1039, *YYCURSOR);
20921
6.78k
  yyaccept = 22;
20922
6.78k
  yych = *(YYMARKER = ++YYCURSOR);
20923
6.78k
  if (yych == '-') goto yy951;
20924
3.21k
  goto yy600;
20925
10.8k
yy1040:
20926
10.8k
  YYDEBUG(1040, *YYCURSOR);
20927
10.8k
  yyaccept = 22;
20928
10.8k
  yych = *(YYMARKER = ++YYCURSOR);
20929
10.8k
  if (yych <= 'N') {
20930
3.57k
    if (yych == '-') goto yy951;
20931
1.47k
    goto yy600;
20932
7.30k
  } else {
20933
7.30k
    if (yych <= 'O') goto yy1057;
20934
6.07k
    if (yych == 'o') goto yy1057;
20935
2.45k
    goto yy600;
20936
6.07k
  }
20937
11.2k
yy1041:
20938
11.2k
  YYDEBUG(1041, *YYCURSOR);
20939
11.2k
  yyaccept = 22;
20940
11.2k
  yych = *(YYMARKER = ++YYCURSOR);
20941
11.2k
  if (yych <= 'S') {
20942
2.57k
    if (yych == '-') goto yy951;
20943
1.80k
    goto yy600;
20944
8.69k
  } else {
20945
8.69k
    if (yych <= 'T') goto yy1033;
20946
6.20k
    if (yych == 't') goto yy1033;
20947
2.86k
    goto yy600;
20948
6.20k
  }
20949
32.6k
yy1042:
20950
32.6k
  YYDEBUG(1042, *YYCURSOR);
20951
32.6k
  yyaccept = 26;
20952
32.6k
  yych = *(YYMARKER = ++YYCURSOR);
20953
32.6k
  if (yych <= 'n') {
20954
17.8k
    if (yych <= '/') goto yy1043;
20955
12.8k
    if (yych <= '9') goto yy1045;
20956
3.25k
    if (yych >= 'n') goto yy1121;
20957
14.8k
  } else {
20958
14.8k
    if (yych <= 'r') {
20959
3.57k
      if (yych >= 'r') goto yy1121;
20960
11.2k
    } else {
20961
11.2k
      if (yych <= 's') goto yy1122;
20962
5.23k
      if (yych <= 't') goto yy1123;
20963
5.23k
    }
20964
14.8k
  }
20965
195k
yy1043:
20966
195k
  YYDEBUG(1043, *YYCURSOR);
20967
195k
#line 1497 "ext/date/lib/parse_date.re"
20968
195k
  {
20969
195k
    DEBUG_OUTPUT("iso8601date4 | iso8601date2 | iso8601dateslash | dateslash");
20970
195k
    TIMELIB_INIT;
20971
195k
    TIMELIB_HAVE_DATE();
20972
13.1k
    s->time->y = timelib_get_signed_nr(s, &ptr, 4);
20973
13.1k
    s->time->m = timelib_get_nr(&ptr, 2);
20974
13.1k
    s->time->d = timelib_get_nr(&ptr, 2);
20975
13.1k
    TIMELIB_DEINIT;
20976
13.1k
    return TIMELIB_ISO_DATE;
20977
195k
  }
20978
0
#line 20979 "ext/date/lib/parse_date.c"
20979
19.7k
yy1044:
20980
19.7k
  YYDEBUG(1044, *YYCURSOR);
20981
19.7k
  yyaccept = 26;
20982
19.7k
  yych = *(YYMARKER = ++YYCURSOR);
20983
19.7k
  if (yych <= 'n') {
20984
9.83k
    if (yych <= '/') goto yy1043;
20985
6.48k
    if (yych <= '1') goto yy1045;
20986
4.53k
    if (yych <= 'm') goto yy1043;
20987
2.86k
    goto yy1121;
20988
9.90k
  } else {
20989
9.90k
    if (yych <= 'r') {
20990
3.27k
      if (yych <= 'q') goto yy1043;
20991
526
      goto yy1121;
20992
6.63k
    } else {
20993
6.63k
      if (yych <= 's') goto yy1122;
20994
2.23k
      if (yych <= 't') goto yy1123;
20995
1.07k
      goto yy1043;
20996
2.23k
    }
20997
9.90k
  }
20998
20.6k
yy1045:
20999
20.6k
  YYDEBUG(1045, *YYCURSOR);
21000
20.6k
  yyaccept = 26;
21001
20.6k
  yych = *(YYMARKER = ++YYCURSOR);
21002
20.6k
  if (yych <= 'q') {
21003
8.62k
    if (yych == 'n') goto yy1121;
21004
7.01k
    goto yy1043;
21005
11.9k
  } else {
21006
11.9k
    if (yych <= 'r') goto yy1121;
21007
10.7k
    if (yych <= 's') goto yy1122;
21008
8.22k
    if (yych <= 't') goto yy1123;
21009
3.71k
    goto yy1043;
21010
8.22k
  }
21011
55.0k
yy1046:
21012
55.0k
  YYDEBUG(1046, *YYCURSOR);
21013
55.0k
  yych = *++YYCURSOR;
21014
55.0k
  if (yych <= '/') goto yy59;
21015
52.2k
  if (yych <= '2') goto yy1124;
21016
22.6k
  if (yych <= '3') goto yy1125;
21017
6.82k
  if (yych <= '9') goto yy1045;
21018
3.96k
  goto yy59;
21019
1.87M
yy1047:
21020
1.87M
  YYDEBUG(1047, *YYCURSOR);
21021
1.87M
  yyaccept = 27;
21022
1.87M
  yych = *(YYMARKER = ++YYCURSOR);
21023
1.87M
  if (yych <= 'X') {
21024
1.74M
    if (yych <= 'F') {
21025
1.64M
      if (yych <= '/') {
21026
86.1k
        if (yych <= '\t') {
21027
24.9k
          if (yych >= '\t') goto yy195;
21028
61.1k
        } else {
21029
61.1k
          if (yych == ' ') goto yy195;
21030
61.1k
        }
21031
1.55M
      } else {
21032
1.55M
        if (yych <= 'C') {
21033
1.54M
          if (yych <= '9') goto yy1126;
21034
1.54M
        } else {
21035
9.22k
          if (yych <= 'D') goto yy198;
21036
6.30k
          if (yych >= 'F') goto yy199;
21037
6.30k
        }
21038
1.55M
      }
21039
1.64M
    } else {
21040
103k
      if (yych <= 'R') {
21041
20.0k
        if (yych <= 'H') {
21042
3.31k
          if (yych >= 'H') goto yy79;
21043
16.7k
        } else {
21044
16.7k
          if (yych == 'M') goto yy200;
21045
16.7k
        }
21046
83.6k
      } else {
21047
83.6k
        if (yych <= 'U') {
21048
77.6k
          if (yych <= 'S') goto yy201;
21049
76.3k
          if (yych <= 'T') goto yy1127;
21050
4.36k
          goto yy88;
21051
76.3k
        } else {
21052
6.05k
          if (yych == 'W') goto yy90;
21053
6.05k
        }
21054
83.6k
      }
21055
103k
    }
21056
1.74M
  } else {
21057
133k
    if (yych <= 's') {
21058
30.9k
      if (yych <= 'f') {
21059
13.7k
        if (yych <= 'c') {
21060
7.06k
          if (yych <= 'Y') goto yy92;
21061
7.06k
        } else {
21062
6.70k
          if (yych <= 'd') goto yy198;
21063
4.89k
          if (yych >= 'f') goto yy199;
21064
4.89k
        }
21065
17.2k
      } else {
21066
17.2k
        if (yych <= 'l') {
21067
5.49k
          if (yych == 'h') goto yy79;
21068
11.7k
        } else {
21069
11.7k
          if (yych <= 'm') goto yy200;
21070
9.92k
          if (yych >= 's') goto yy201;
21071
9.92k
        }
21072
17.2k
      }
21073
102k
    } else {
21074
102k
      if (yych <= 'x') {
21075
69.3k
        if (yych <= 'u') {
21076
64.1k
          if (yych <= 't') goto yy1128;
21077
1.89k
          goto yy88;
21078
64.1k
        } else {
21079
5.20k
          if (yych == 'w') goto yy90;
21080
5.20k
        }
21081
69.3k
      } else {
21082
33.3k
        if (yych <= 0xC2) {
21083
17.9k
          if (yych <= 'y') goto yy92;
21084
16.6k
          if (yych >= 0xC2) goto yy97;
21085
16.6k
        } else {
21086
15.3k
          if (yych == 0xE2) goto yy98;
21087
15.3k
        }
21088
33.3k
      }
21089
102k
    }
21090
133k
  }
21091
1.86M
yy1048:
21092
1.86M
  YYDEBUG(1048, *YYCURSOR);
21093
1.86M
#line 1658 "ext/date/lib/parse_date.re"
21094
1.86M
  {
21095
1.86M
    DEBUG_OUTPUT("datenocolon");
21096
1.86M
    TIMELIB_INIT;
21097
1.86M
    TIMELIB_HAVE_DATE();
21098
94.7k
    s->time->y = timelib_get_nr(&ptr, 4);
21099
94.7k
    s->time->m = timelib_get_nr(&ptr, 2);
21100
94.7k
    s->time->d = timelib_get_nr(&ptr, 2);
21101
94.7k
    TIMELIB_DEINIT;
21102
94.7k
    return TIMELIB_DATE_NOCOLON;
21103
1.86M
  }
21104
0
#line 21105 "ext/date/lib/parse_date.c"
21105
3.13M
yy1049:
21106
3.13M
  YYDEBUG(1049, *YYCURSOR);
21107
3.13M
  yych = *++YYCURSOR;
21108
3.13M
  if (yych <= 0xC1) {
21109
3.06M
    if (yych <= '/') goto yy196;
21110
2.85M
    if (yych <= '9') goto yy1126;
21111
279k
    goto yy196;
21112
2.85M
  } else {
21113
60.1k
    if (yych <= 0xC2) goto yy97;
21114
51.9k
    if (yych == 0xE2) goto yy98;
21115
42.5k
    goto yy196;
21116
51.9k
  }
21117
107k
yy1050:
21118
107k
  YYDEBUG(1050, *YYCURSOR);
21119
107k
  yych = *++YYCURSOR;
21120
107k
  if (yych <= '/') goto yy59;
21121
101k
  if (yych <= '2') goto yy1129;
21122
28.4k
  if (yych <= '3') goto yy1130;
21123
15.8k
  goto yy59;
21124
15.8k
yy1051:
21125
9.09k
  YYDEBUG(1051, *YYCURSOR);
21126
9.09k
  yych = *++YYCURSOR;
21127
9.09k
  if (yych == 'L') goto yy790;
21128
7.28k
  if (yych == 'l') goto yy790;
21129
4.65k
  goto yy59;
21130
23.7k
yy1052:
21131
23.7k
  YYDEBUG(1052, *YYCURSOR);
21132
23.7k
  yych = *++YYCURSOR;
21133
23.7k
  if (yych == 'S') goto yy1131;
21134
9.53k
  if (yych == 's') goto yy1131;
21135
5.27k
  goto yy59;
21136
32.0k
yy1053:
21137
32.0k
  YYDEBUG(1053, *YYCURSOR);
21138
32.0k
  yych = *++YYCURSOR;
21139
32.0k
  if (yych == 'M') goto yy1057;
21140
24.6k
  if (yych == 'm') goto yy1057;
21141
16.8k
  goto yy59;
21142
21.4k
yy1054:
21143
21.4k
  YYDEBUG(1054, *YYCURSOR);
21144
21.4k
  yych = *++YYCURSOR;
21145
21.4k
  if (yych == 'U') goto yy1055;
21146
19.6k
  if (yych != 'u') goto yy59;
21147
25.0k
yy1055:
21148
25.0k
  YYDEBUG(1055, *YYCURSOR);
21149
25.0k
  yych = *++YYCURSOR;
21150
25.0k
  if (yych == 'A') goto yy1132;
21151
20.8k
  if (yych == 'a') goto yy1132;
21152
12.3k
  goto yy59;
21153
12.7k
yy1056:
21154
12.7k
  YYDEBUG(1056, *YYCURSOR);
21155
12.7k
  yych = *++YYCURSOR;
21156
12.7k
  if (yych == 'H') goto yy790;
21157
7.86k
  if (yych == 'h') goto yy790;
21158
5.30k
  goto yy59;
21159
26.2k
yy1057:
21160
26.2k
  YYDEBUG(1057, *YYCURSOR);
21161
26.2k
  yych = *++YYCURSOR;
21162
26.2k
  if (yych == 'B') goto yy1133;
21163
22.0k
  if (yych == 'b') goto yy1133;
21164
11.7k
  goto yy59;
21165
11.7k
yy1058:
21166
10.7k
  YYDEBUG(1058, *YYCURSOR);
21167
10.7k
  yych = *++YYCURSOR;
21168
10.7k
  if (yych <= '/') goto yy59;
21169
6.81k
  if (yych >= '8') goto yy59;
21170
10.4k
yy1059:
21171
10.4k
  YYDEBUG(1059, *YYCURSOR);
21172
10.4k
  ++YYCURSOR;
21173
10.4k
  YYDEBUG(1060, *YYCURSOR);
21174
10.4k
#line 1710 "ext/date/lib/parse_date.re"
21175
10.4k
  {
21176
10.4k
    timelib_sll w, d;
21177
10.4k
    DEBUG_OUTPUT("isoweekday");
21178
10.4k
    TIMELIB_INIT;
21179
10.4k
    TIMELIB_HAVE_DATE();
21180
4.32k
    TIMELIB_HAVE_RELATIVE();
21181
21182
4.32k
    s->time->y = timelib_get_nr(&ptr, 4);
21183
4.32k
    w = timelib_get_nr(&ptr, 2);
21184
4.32k
    d = timelib_get_nr(&ptr, 1);
21185
4.32k
    s->time->m = 1;
21186
4.32k
    s->time->d = 1;
21187
4.32k
    s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d);
21188
21189
4.32k
    TIMELIB_DEINIT;
21190
4.32k
    return TIMELIB_ISO_WEEK;
21191
10.4k
  }
21192
0
#line 21193 "ext/date/lib/parse_date.c"
21193
7.25k
yy1061:
21194
7.25k
  YYDEBUG(1061, *YYCURSOR);
21195
7.25k
  yych = *++YYCURSOR;
21196
7.25k
  if (yych == 'H') goto yy1134;
21197
4.90k
  if (yych == 'h') goto yy1134;
21198
2.50k
  goto yy59;
21199
25.4k
yy1062:
21200
25.4k
  YYDEBUG(1062, *YYCURSOR);
21201
25.4k
  yych = *++YYCURSOR;
21202
25.4k
  if (yych == 'C') goto yy1135;
21203
21.5k
  if (yych == 'c') goto yy1135;
21204
4.79k
  goto yy59;
21205
43.9k
yy1063:
21206
43.9k
  YYDEBUG(1063, *YYCURSOR);
21207
43.9k
  yych = *++YYCURSOR;
21208
43.9k
  if (yych <= '/') goto yy59;
21209
38.3k
  if (yych <= '9') goto yy1136;
21210
3.94k
  goto yy59;
21211
48.2k
yy1064:
21212
48.2k
  YYDEBUG(1064, *YYCURSOR);
21213
48.2k
  yych = *++YYCURSOR;
21214
48.2k
  if (yych <= '/') goto yy59;
21215
43.6k
  if (yych <= '9') goto yy1138;
21216
2.40k
  goto yy59;
21217
20.5k
yy1065:
21218
20.5k
  YYDEBUG(1065, *YYCURSOR);
21219
20.5k
  yyaccept = 25;
21220
20.5k
  yych = *(YYMARKER = ++YYCURSOR);
21221
20.5k
  if (yych <= 'q') {
21222
10.1k
    if (yych == 'n') goto yy741;
21223
8.40k
    goto yy1025;
21224
10.3k
  } else {
21225
10.3k
    if (yych <= 'r') goto yy741;
21226
6.47k
    if (yych <= 's') goto yy742;
21227
5.28k
    if (yych <= 't') goto yy743;
21228
3.79k
    goto yy1025;
21229
5.28k
  }
21230
23.5k
yy1066:
21231
23.5k
  YYDEBUG(1066, *YYCURSOR);
21232
23.5k
  yych = *++YYCURSOR;
21233
23.5k
  if (yych <= '/') goto yy59;
21234
15.2k
  if (yych <= '9') goto yy1140;
21235
4.21k
  goto yy59;
21236
16.9k
yy1067:
21237
16.9k
  YYDEBUG(1067, *YYCURSOR);
21238
16.9k
  yych = *++YYCURSOR;
21239
16.9k
  if (yych <= '/') goto yy59;
21240
14.4k
  if (yych <= '1') goto yy1140;
21241
6.19k
  goto yy59;
21242
12.5k
yy1068:
21243
12.5k
  YYDEBUG(1068, *YYCURSOR);
21244
12.5k
  yych = *++YYCURSOR;
21245
12.5k
  if (yych <= '/') goto yy290;
21246
11.3k
  if (yych <= '9') goto yy1142;
21247
5.26k
  goto yy290;
21248
28.1k
yy1069:
21249
28.1k
  YYDEBUG(1069, *YYCURSOR);
21250
28.1k
  yych = *++YYCURSOR;
21251
28.1k
  if (yych <= '/') goto yy1070;
21252
25.3k
  if (yych <= '9') goto yy1143;
21253
28.1k
yy1070:
21254
28.1k
  YYDEBUG(1070, *YYCURSOR);
21255
28.1k
#line 1748 "ext/date/lib/parse_date.re"
21256
28.1k
  {
21257
28.1k
    int length = 0;
21258
28.1k
    DEBUG_OUTPUT("pgtextshort");
21259
28.1k
    TIMELIB_INIT;
21260
28.1k
    TIMELIB_HAVE_DATE();
21261
7.87k
    s->time->m = timelib_get_month(&ptr);
21262
7.87k
    s->time->d = timelib_get_nr(&ptr, 2);
21263
7.87k
    s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
21264
7.87k
    TIMELIB_PROCESS_YEAR(s->time->y, length);
21265
7.87k
    TIMELIB_DEINIT;
21266
7.87k
    return TIMELIB_PG_TEXT;
21267
28.1k
  }
21268
0
#line 21269 "ext/date/lib/parse_date.c"
21269
169k
yy1071:
21270
169k
  YYDEBUG(1071, *YYCURSOR);
21271
169k
  yych = *++YYCURSOR;
21272
169k
  if (yych <= '/') goto yy59;
21273
166k
  if (yych <= '1') goto yy1144;
21274
93.2k
  if (yych <= '2') goto yy1146;
21275
42.2k
  if (yych <= '9') goto yy1147;
21276
6.07k
  goto yy59;
21277
46.9k
yy1072:
21278
46.9k
  YYDEBUG(1072, *YYCURSOR);
21279
46.9k
  yych = *++YYCURSOR;
21280
46.9k
  if (yych <= 'E') {
21281
18.1k
    if (yych <= 'C') goto yy59;
21282
13.3k
    if (yych <= 'D') goto yy1099;
21283
5.62k
    goto yy1148;
21284
28.7k
  } else {
21285
28.7k
    if (yych <= 'c') goto yy59;
21286
26.9k
    if (yych <= 'd') goto yy1099;
21287
21.6k
    if (yych <= 'e') goto yy1148;
21288
2.77k
    goto yy59;
21289
21.6k
  }
21290
13.5k
yy1073:
21291
13.5k
  YYDEBUG(1073, *YYCURSOR);
21292
13.5k
  ++YYCURSOR;
21293
13.5k
  if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
21294
13.5k
  yych = *YYCURSOR;
21295
13.5k
  if (yych == 0xA0) goto yy960;
21296
4.74k
  if (yych == 0xB5) goto yy991;
21297
2.70k
  goto yy59;
21298
61.3k
yy1074:
21299
61.3k
  YYDEBUG(1074, *YYCURSOR);
21300
61.3k
  ++YYCURSOR;
21301
61.3k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
21302
61.3k
  yych = *YYCURSOR;
21303
61.3k
  if (yych <= 'd') {
21304
26.9k
    if (yych <= 'R') {
21305
11.0k
      if (yych <= 'F') {
21306
7.37k
        if (yych == 'D') goto yy856;
21307
5.58k
        if (yych <= 'E') goto yy59;
21308
1.41k
        goto yy857;
21309
5.58k
      } else {
21310
3.72k
        if (yych <= 'H') {
21311
1.47k
          if (yych <= 'G') goto yy59;
21312
671
          goto yy858;
21313
2.25k
        } else {
21314
2.25k
          if (yych == 'M') goto yy859;
21315
1.25k
          goto yy59;
21316
2.25k
        }
21317
3.72k
      }
21318
15.8k
    } else {
21319
15.8k
      if (yych <= 'V') {
21320
8.17k
        if (yych <= 'S') goto yy860;
21321
5.20k
        if (yych <= 'T') goto yy861;
21322
4.44k
        if (yych <= 'U') goto yy862;
21323
1.57k
        goto yy59;
21324
7.64k
      } else {
21325
7.64k
        if (yych <= 'X') {
21326
3.50k
          if (yych <= 'W') goto yy959;
21327
1.43k
          goto yy59;
21328
4.14k
        } else {
21329
4.14k
          if (yych <= 'Y') goto yy864;
21330
2.41k
          if (yych <= 'c') goto yy59;
21331
1.86k
          goto yy856;
21332
2.41k
        }
21333
7.64k
      }
21334
15.8k
    }
21335
34.4k
  } else {
21336
34.4k
    if (yych <= 't') {
21337
15.8k
      if (yych <= 'h') {
21338
6.65k
        if (yych == 'f') goto yy857;
21339
5.03k
        if (yych <= 'g') goto yy59;
21340
2.50k
        goto yy858;
21341
9.20k
      } else {
21342
9.20k
        if (yych <= 'm') {
21343
3.23k
          if (yych <= 'l') goto yy59;
21344
1.37k
          goto yy859;
21345
5.97k
        } else {
21346
5.97k
          if (yych <= 'r') goto yy59;
21347
3.30k
          if (yych <= 's') goto yy860;
21348
1.25k
          goto yy861;
21349
3.30k
        }
21350
9.20k
      }
21351
18.5k
    } else {
21352
18.5k
      if (yych <= 'y') {
21353
5.55k
        if (yych <= 'v') {
21354
2.36k
          if (yych <= 'u') goto yy862;
21355
1.19k
          goto yy59;
21356
3.19k
        } else {
21357
3.19k
          if (yych <= 'w') goto yy959;
21358
1.22k
          if (yych <= 'x') goto yy59;
21359
602
          goto yy864;
21360
1.22k
        }
21361
13.0k
      } else {
21362
13.0k
        if (yych <= 0xC2) {
21363
3.88k
          if (yych <= 0xC1) goto yy59;
21364
1.42k
          goto yy865;
21365
9.14k
        } else {
21366
9.14k
          if (yych == 0xE2) goto yy838;
21367
1.27k
          goto yy59;
21368
9.14k
        }
21369
13.0k
      }
21370
18.5k
    }
21371
34.4k
  }
21372
28.1k
yy1075:
21373
28.1k
  YYDEBUG(1075, *YYCURSOR);
21374
28.1k
  yyaccept = 2;
21375
28.1k
  yych = *(YYMARKER = ++YYCURSOR);
21376
28.1k
  if (yych <= '/') goto yy20;
21377
25.0k
  if (yych <= '5') goto yy1018;
21378
6.73k
  if (yych <= '6') goto yy1019;
21379
3.30k
  goto yy20;
21380
188k
yy1076:
21381
188k
  YYDEBUG(1076, *YYCURSOR);
21382
188k
  yych = *++YYCURSOR;
21383
188k
  if (yych <= '/') goto yy849;
21384
182k
  if (yych <= '9') goto yy1149;
21385
16.0k
  goto yy849;
21386
24.2k
yy1077:
21387
24.2k
  YYDEBUG(1077, *YYCURSOR);
21388
24.2k
  yych = *++YYCURSOR;
21389
24.2k
  if (yych == '0') goto yy1149;
21390
5.17k
  goto yy849;
21391
59.8k
yy1078:
21392
59.8k
  YYDEBUG(1078, *YYCURSOR);
21393
59.8k
  ++YYCURSOR;
21394
59.8k
  goto yy849;
21395
445k
yy1079:
21396
445k
  YYDEBUG(1079, *YYCURSOR);
21397
445k
  yych = *++YYCURSOR;
21398
445k
  if (yych <= '/') goto yy849;
21399
433k
  if (yych <= '9') goto yy1150;
21400
17.6k
  goto yy849;
21401
35.3k
yy1080:
21402
35.3k
  YYDEBUG(1080, *YYCURSOR);
21403
35.3k
  yych = *++YYCURSOR;
21404
35.3k
  if (yych == '0') goto yy1150;
21405
5.12k
  goto yy849;
21406
38.2k
yy1081:
21407
38.2k
  YYDEBUG(1081, *YYCURSOR);
21408
38.2k
  ++YYCURSOR;
21409
38.2k
  if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
21410
38.2k
  yych = *YYCURSOR;
21411
38.2k
  YYDEBUG(1082, *YYCURSOR);
21412
38.2k
  if (yych <= 'A') {
21413
25.7k
    if (yych <= 0x1F) {
21414
10.7k
      if (yych == '\t') goto yy1081;
21415
1.06k
      goto yy59;
21416
15.0k
    } else {
21417
15.0k
      if (yych <= ' ') goto yy1081;
21418
6.94k
      if (yych <= '@') goto yy59;
21419
6.94k
    }
21420
25.7k
  } else {
21421
12.4k
    if (yych <= '`') {
21422
4.40k
      if (yych != 'P') goto yy59;
21423
8.09k
    } else {
21424
8.09k
      if (yych <= 'a') goto yy1083;
21425
4.23k
      if (yych != 'p') goto yy59;
21426
4.23k
    }
21427
12.4k
  }
21428
44.9k
yy1083:
21429
44.9k
  YYDEBUG(1083, *YYCURSOR);
21430
44.9k
  yych = *++YYCURSOR;
21431
44.9k
  if (yych <= 'L') {
21432
17.1k
    if (yych == '.') goto yy1151;
21433
8.15k
    goto yy59;
21434
27.7k
  } else {
21435
27.7k
    if (yych <= 'M') goto yy1152;
21436
14.3k
    if (yych == 'm') goto yy1152;
21437
8.72k
    goto yy59;
21438
14.3k
  }
21439
29.3k
yy1084:
21440
29.3k
  YYDEBUG(1084, *YYCURSOR);
21441
29.3k
  ++YYCURSOR;
21442
29.3k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
21443
29.3k
  yych = *YYCURSOR;
21444
29.3k
  if (yych == 0xA0) goto yy1153;
21445
3.98k
  goto yy59;
21446
25.4k
yy1085:
21447
25.4k
  YYDEBUG(1085, *YYCURSOR);
21448
25.4k
  ++YYCURSOR;
21449
25.4k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
21450
25.4k
  yych = *YYCURSOR;
21451
25.4k
  if (yych == 0x80) goto yy1154;
21452
4.49k
  goto yy59;
21453
41.3k
yy1086:
21454
41.3k
  YYDEBUG(1086, *YYCURSOR);
21455
41.3k
  yych = *++YYCURSOR;
21456
41.3k
  if (yych == 'S') goto yy1155;
21457
39.8k
  if (yych == 's') goto yy1155;
21458
33.9k
  goto yy982;
21459
33.9k
yy1087:
21460
32.5k
  YYDEBUG(1087, *YYCURSOR);
21461
32.5k
  yych = *++YYCURSOR;
21462
32.5k
  if (yych == 'T') goto yy1156;
21463
28.8k
  if (yych == 't') goto yy1156;
21464
3.73k
  goto yy59;
21465
42.5k
yy1088:
21466
42.5k
  YYDEBUG(1088, *YYCURSOR);
21467
42.5k
  yyaccept = 24;
21468
42.5k
  yych = *(YYMARKER = ++YYCURSOR);
21469
42.5k
  if (yych <= 'D') {
21470
17.4k
    if (yych <= 0x1F) {
21471
8.87k
      if (yych == '\t') goto yy1157;
21472
3.96k
      goto yy982;
21473
8.87k
    } else {
21474
8.62k
      if (yych <= ' ') goto yy1157;
21475
6.29k
      if (yych <= 'C') goto yy982;
21476
2.55k
      goto yy1159;
21477
6.29k
    }
21478
25.1k
  } else {
21479
25.1k
    if (yych <= 0xC1) {
21480
18.3k
      if (yych == 'd') goto yy1159;
21481
6.93k
      goto yy982;
21482
18.3k
    } else {
21483
6.70k
      if (yych <= 0xC2) goto yy1160;
21484
6.03k
      if (yych == 0xE2) goto yy1161;
21485
1.83k
      goto yy982;
21486
6.03k
    }
21487
25.1k
  }
21488
8.05k
yy1089:
21489
8.05k
  YYDEBUG(1089, *YYCURSOR);
21490
8.05k
  yych = *++YYCURSOR;
21491
8.05k
  if (yych == 'R') goto yy1086;
21492
7.30k
  if (yych == 'r') goto yy1086;
21493
3.86k
  goto yy59;
21494
17.2k
yy1090:
21495
17.2k
  YYDEBUG(1090, *YYCURSOR);
21496
17.2k
  yych = *++YYCURSOR;
21497
17.2k
  if (yych == 'R') goto yy1162;
21498
5.62k
  if (yych == 'r') goto yy1162;
21499
1.40k
  goto yy59;
21500
8.92k
yy1091:
21501
8.92k
  YYDEBUG(1091, *YYCURSOR);
21502
8.92k
  yych = *++YYCURSOR;
21503
8.92k
  if (yych == 'L') goto yy1163;
21504
4.82k
  if (yych == 'l') goto yy1163;
21505
2.45k
  goto yy59;
21506
19.9k
yy1092:
21507
19.9k
  YYDEBUG(1092, *YYCURSOR);
21508
19.9k
  yyaccept = 24;
21509
19.9k
  yych = *(YYMARKER = ++YYCURSOR);
21510
19.9k
  if (yych <= 'U') {
21511
10.3k
    if (yych == 'S') goto yy1155;
21512
8.88k
    if (yych <= 'T') goto yy982;
21513
4.61k
    goto yy1164;
21514
9.67k
  } else {
21515
9.67k
    if (yych <= 's') {
21516
3.57k
      if (yych <= 'r') goto yy982;
21517
2.22k
      goto yy1155;
21518
6.09k
    } else {
21519
6.09k
      if (yych == 'u') goto yy1164;
21520
1.46k
      goto yy982;
21521
6.09k
    }
21522
9.67k
  }
21523
49.4k
yy1093:
21524
49.4k
  YYDEBUG(1093, *YYCURSOR);
21525
49.4k
  yyaccept = 24;
21526
49.4k
  yych = *(YYMARKER = ++YYCURSOR);
21527
49.4k
  if (yych <= 'T') {
21528
23.7k
    if (yych <= ' ') {
21529
6.81k
      if (yych == '\t') goto yy1157;
21530
4.03k
      if (yych <= 0x1F) goto yy982;
21531
870
      goto yy1157;
21532
16.8k
    } else {
21533
16.8k
      if (yych == 'D') goto yy1159;
21534
9.29k
      if (yych <= 'S') goto yy982;
21535
6.83k
      goto yy1165;
21536
9.29k
    }
21537
25.7k
  } else {
21538
25.7k
    if (yych <= 't') {
21539
14.8k
      if (yych == 'd') goto yy1159;
21540
4.89k
      if (yych <= 's') goto yy982;
21541
3.49k
      goto yy1165;
21542
10.8k
    } else {
21543
10.8k
      if (yych <= 0xC2) {
21544
4.52k
        if (yych <= 0xC1) goto yy982;
21545
2.19k
        goto yy1160;
21546
6.33k
      } else {
21547
6.33k
        if (yych == 0xE2) goto yy1161;
21548
4.89k
        goto yy982;
21549
6.33k
      }
21550
10.8k
    }
21551
25.7k
  }
21552
13.7k
yy1094:
21553
13.7k
  YYDEBUG(1094, *YYCURSOR);
21554
13.7k
  yych = *++YYCURSOR;
21555
13.7k
  if (yych == 'C') goto yy1086;
21556
10.9k
  if (yych == 'c') goto yy1086;
21557
8.23k
  goto yy59;
21558
30.9k
yy1095:
21559
30.9k
  YYDEBUG(1095, *YYCURSOR);
21560
30.9k
  yyaccept = 24;
21561
30.9k
  yych = *(YYMARKER = ++YYCURSOR);
21562
30.9k
  if (yych <= 'U') {
21563
8.90k
    if (yych <= 0x1F) {
21564
1.20k
      if (yych == '\t') goto yy1157;
21565
470
      goto yy982;
21566
7.70k
    } else {
21567
7.70k
      if (yych <= ' ') goto yy1157;
21568
5.96k
      if (yych <= 'T') goto yy982;
21569
3.13k
      goto yy1166;
21570
5.96k
    }
21571
22.0k
  } else {
21572
22.0k
    if (yych <= 0xC1) {
21573
15.5k
      if (yych == 'u') goto yy1166;
21574
6.15k
      goto yy982;
21575
15.5k
    } else {
21576
6.50k
      if (yych <= 0xC2) goto yy1160;
21577
1.51k
      if (yych == 0xE2) goto yy1161;
21578
600
      goto yy982;
21579
1.51k
    }
21580
22.0k
  }
21581
17.7k
yy1096:
21582
17.7k
  YYDEBUG(1096, *YYCURSOR);
21583
17.7k
  yyaccept = 24;
21584
17.7k
  yych = *(YYMARKER = ++YYCURSOR);
21585
17.7k
  if (yych <= 'S') {
21586
4.99k
    if (yych == 'O') goto yy1167;
21587
2.50k
    if (yych <= 'R') goto yy982;
21588
609
    goto yy1155;
21589
12.7k
  } else {
21590
12.7k
    if (yych <= 'o') {
21591
8.91k
      if (yych <= 'n') goto yy982;
21592
5.97k
      goto yy1167;
21593
8.91k
    } else {
21594
3.81k
      if (yych == 's') goto yy1155;
21595
2.52k
      goto yy982;
21596
3.81k
    }
21597
12.7k
  }
21598
24.6k
yy1097:
21599
24.6k
  YYDEBUG(1097, *YYCURSOR);
21600
24.6k
  yyaccept = 24;
21601
24.6k
  yych = *(YYMARKER = ++YYCURSOR);
21602
24.6k
  if (yych <= 'R') {
21603
13.5k
    if (yych <= 0x1F) {
21604
2.60k
      if (yych == '\t') goto yy1157;
21605
926
      goto yy982;
21606
10.9k
    } else {
21607
10.9k
      if (yych <= ' ') goto yy1157;
21608
9.17k
      if (yych <= 'Q') goto yy982;
21609
6.27k
      goto yy1168;
21610
9.17k
    }
21611
13.5k
  } else {
21612
11.0k
    if (yych <= 0xC1) {
21613
4.73k
      if (yych == 'r') goto yy1168;
21614
1.65k
      goto yy982;
21615
6.30k
    } else {
21616
6.30k
      if (yych <= 0xC2) goto yy1160;
21617
2.67k
      if (yych == 0xE2) goto yy1161;
21618
1.81k
      goto yy982;
21619
2.67k
    }
21620
11.0k
  }
21621
36.4k
yy1098:
21622
36.4k
  YYDEBUG(1098, *YYCURSOR);
21623
36.4k
  yyaccept = 24;
21624
36.4k
  yych = *(YYMARKER = ++YYCURSOR);
21625
36.4k
  if (yych <= 'S') {
21626
16.3k
    if (yych <= 0x1F) {
21627
5.63k
      if (yych == '\t') goto yy1157;
21628
2.03k
      goto yy982;
21629
10.7k
    } else {
21630
10.7k
      if (yych <= ' ') goto yy1157;
21631
9.13k
      if (yych <= 'R') goto yy982;
21632
6.03k
      goto yy1169;
21633
9.13k
    }
21634
20.1k
  } else {
21635
20.1k
    if (yych <= 0xC1) {
21636
3.85k
      if (yych == 's') goto yy1169;
21637
2.41k
      goto yy982;
21638
16.2k
    } else {
21639
16.2k
      if (yych <= 0xC2) goto yy1160;
21640
13.8k
      if (yych == 0xE2) goto yy1161;
21641
7.39k
      goto yy982;
21642
13.8k
    }
21643
20.1k
  }
21644
65.6k
yy1099:
21645
65.6k
  YYDEBUG(1099, *YYCURSOR);
21646
65.6k
  yyaccept = 24;
21647
65.6k
  yych = *(YYMARKER = ++YYCURSOR);
21648
65.6k
  if (yych <= 'N') {
21649
23.6k
    if (yych <= 0x1F) {
21650
5.87k
      if (yych == '\t') goto yy1157;
21651
3.03k
      goto yy982;
21652
17.7k
    } else {
21653
17.7k
      if (yych <= ' ') goto yy1157;
21654
15.0k
      if (yych <= 'M') goto yy982;
21655
10.2k
      goto yy1170;
21656
15.0k
    }
21657
42.0k
  } else {
21658
42.0k
    if (yych <= 0xC1) {
21659
33.9k
      if (yych == 'n') goto yy1170;
21660
8.79k
      goto yy982;
21661
33.9k
    } else {
21662
8.06k
      if (yych <= 0xC2) goto yy1160;
21663
6.46k
      if (yych == 0xE2) goto yy1161;
21664
2.37k
      goto yy982;
21665
6.46k
    }
21666
42.0k
  }
21667
29.1k
yy1100:
21668
29.1k
  YYDEBUG(1100, *YYCURSOR);
21669
29.1k
  yych = *++YYCURSOR;
21670
29.1k
  if (yych == 'K') goto yy1171;
21671
21.0k
  if (yych == 'k') goto yy1171;
21672
7.46k
  goto yy59;
21673
19.0k
yy1101:
21674
19.0k
  YYDEBUG(1101, *YYCURSOR);
21675
19.0k
  yyaccept = 24;
21676
19.0k
  yych = *(YYMARKER = ++YYCURSOR);
21677
19.0k
  if (yych <= 'R') {
21678
10.4k
    if (yych == ' ') goto yy1173;
21679
2.03k
    goto yy982;
21680
10.4k
  } else {
21681
8.57k
    if (yych <= 'S') goto yy1155;
21682
8.24k
    if (yych == 's') goto yy1155;
21683
4.29k
    goto yy982;
21684
8.24k
  }
21685
7.29k
yy1102:
21686
7.29k
  YYDEBUG(1102, *YYCURSOR);
21687
7.29k
  ++YYCURSOR;
21688
7.29k
  goto yy722;
21689
10.2k
yy1103:
21690
10.2k
  YYDEBUG(1103, *YYCURSOR);
21691
10.2k
  yyaccept = 16;
21692
10.2k
  yych = *(YYMARKER = ++YYCURSOR);
21693
10.2k
  if (yybm[0+yych] & 128) {
21694
839
    goto yy954;
21695
839
  }
21696
9.36k
  if (yych <= '.') {
21697
3.23k
    if (yych == '-') goto yy297;
21698
838
    goto yy722;
21699
6.13k
  } else {
21700
6.13k
    if (yych <= '/') goto yy297;
21701
3.63k
    if (yych == '_') goto yy297;
21702
1.65k
    goto yy722;
21703
3.63k
  }
21704
89.3k
yy1104:
21705
89.3k
  YYDEBUG(1104, *YYCURSOR);
21706
89.3k
  yych = *++YYCURSOR;
21707
89.3k
  if (yych <= ' ') {
21708
17.2k
    if (yych == '\t') goto yy701;
21709
9.34k
    if (yych <= 0x1F) goto yy59;
21710
4.34k
    goto yy701;
21711
72.0k
  } else {
21712
72.0k
    if (yych <= 0xC2) {
21713
68.8k
      if (yych <= 0xC1) goto yy59;
21714
834
      goto yy704;
21715
68.8k
    } else {
21716
3.24k
      if (yych == 0xE2) goto yy705;
21717
730
      goto yy59;
21718
3.24k
    }
21719
72.0k
  }
21720
14.1k
yy1105:
21721
14.1k
  YYDEBUG(1105, *YYCURSOR);
21722
14.1k
  yych = *++YYCURSOR;
21723
14.1k
  if (yych <= ' ') {
21724
5.72k
    if (yych == '\t') goto yy701;
21725
3.71k
    if (yych <= 0x1F) goto yy955;
21726
2.04k
    goto yy701;
21727
8.46k
  } else {
21728
8.46k
    if (yych <= 0xC2) {
21729
5.74k
      if (yych <= 0xC1) goto yy955;
21730
3.19k
      goto yy704;
21731
5.74k
    } else {
21732
2.71k
      if (yych == 0xE2) goto yy705;
21733
2.11k
      goto yy955;
21734
2.71k
    }
21735
8.46k
  }
21736
5.38k
yy1106:
21737
5.38k
  YYDEBUG(1106, *YYCURSOR);
21738
5.38k
  ++YYCURSOR;
21739
11.0k
yy1107:
21740
11.0k
  YYDEBUG(1107, *YYCURSOR);
21741
11.0k
#line 1209 "ext/date/lib/parse_date.re"
21742
11.0k
  {
21743
11.0k
    DEBUG_OUTPUT("tomorrow");
21744
11.0k
    TIMELIB_INIT;
21745
11.0k
    TIMELIB_HAVE_RELATIVE();
21746
11.0k
    TIMELIB_UNHAVE_TIME();
21747
21748
11.0k
    s->time->relative.d = 1;
21749
11.0k
    TIMELIB_DEINIT;
21750
11.0k
    return TIMELIB_RELATIVE;
21751
5.38k
  }
21752
0
#line 21753 "ext/date/lib/parse_date.c"
21753
7.81k
yy1108:
21754
7.81k
  YYDEBUG(1108, *YYCURSOR);
21755
7.81k
  yyaccept = 28;
21756
7.81k
  yych = *(YYMARKER = ++YYCURSOR);
21757
7.81k
  if (yybm[0+yych] & 128) {
21758
1.23k
    goto yy954;
21759
1.23k
  }
21760
6.58k
  if (yych <= '.') {
21761
2.82k
    if (yych == '-') goto yy297;
21762
1.60k
    goto yy1107;
21763
3.76k
  } else {
21764
3.76k
    if (yych <= '/') goto yy297;
21765
2.82k
    if (yych == '_') goto yy297;
21766
1.09k
    goto yy1107;
21767
2.82k
  }
21768
12.7k
yy1109:
21769
12.7k
  YYDEBUG(1109, *YYCURSOR);
21770
12.7k
  yych = *++YYCURSOR;
21771
12.7k
  if (yych == 'Y') goto yy1174;
21772
7.67k
  if (yych == 'y') goto yy1174;
21773
6.70k
  goto yy59;
21774
11.6k
yy1110:
21775
11.6k
  YYDEBUG(1110, *YYCURSOR);
21776
11.6k
  yych = *++YYCURSOR;
21777
11.6k
  if (yych == 'Y') goto yy1174;
21778
9.66k
  if (yych == 'y') goto yy1176;
21779
4.36k
  goto yy955;
21780
39.2k
yy1111:
21781
39.2k
  YYDEBUG(1111, *YYCURSOR);
21782
39.2k
  yych = *++YYCURSOR;
21783
39.2k
  if (yych <= '/') goto yy59;
21784
36.8k
  if (yych <= '2') goto yy1177;
21785
21.9k
  if (yych <= '3') goto yy1178;
21786
4.73k
  goto yy59;
21787
45.1k
yy1112:
21788
45.1k
  YYDEBUG(1112, *YYCURSOR);
21789
45.1k
  yych = *++YYCURSOR;
21790
45.1k
  if (yych == '-') goto yy1179;
21791
19.7k
  goto yy59;
21792
368k
yy1113:
21793
368k
  YYDEBUG(1113, *YYCURSOR);
21794
368k
  yych = *++YYCURSOR;
21795
368k
  if (yych <= '9') {
21796
338k
    if (yych == '-') goto yy893;
21797
324k
    if (yych <= '/') goto yy196;
21798
307k
    goto yy1180;
21799
324k
  } else {
21800
30.1k
    if (yych <= 0xC2) {
21801
20.5k
      if (yych <= 0xC1) goto yy196;
21802
2.71k
      goto yy97;
21803
20.5k
    } else {
21804
9.59k
      if (yych == 0xE2) goto yy98;
21805
7.53k
      goto yy196;
21806
9.59k
    }
21807
30.1k
  }
21808
236k
yy1114:
21809
236k
  YYDEBUG(1114, *YYCURSOR);
21810
236k
  yych = *++YYCURSOR;
21811
236k
  if (yych <= '/') goto yy59;
21812
229k
  if (yych <= '9') goto yy1181;
21813
9.28k
  goto yy59;
21814
42.6k
yy1115:
21815
42.6k
  YYDEBUG(1115, *YYCURSOR);
21816
42.6k
  yych = *++YYCURSOR;
21817
42.6k
  if (yych <= '/') goto yy59;
21818
40.0k
  if (yych <= '1') goto yy1182;
21819
19.5k
  if (yych <= '2') goto yy1183;
21820
8.25k
  if (yych <= '9') goto yy1184;
21821
5.24k
  goto yy59;
21822
29.2k
yy1116:
21823
29.2k
  YYDEBUG(1116, *YYCURSOR);
21824
29.2k
  yych = *++YYCURSOR;
21825
29.2k
  if (yych == 'd') goto yy1185;
21826
23.9k
  goto yy59;
21827
23.9k
yy1117:
21828
14.5k
  YYDEBUG(1117, *YYCURSOR);
21829
14.5k
  yych = *++YYCURSOR;
21830
14.5k
  if (yych == 't') goto yy1185;
21831
9.73k
  goto yy59;
21832
16.9k
yy1118:
21833
16.9k
  YYDEBUG(1118, *YYCURSOR);
21834
16.9k
  yych = *++YYCURSOR;
21835
16.9k
  if (yych == 'h') goto yy1185;
21836
10.8k
  goto yy59;
21837
194k
yy1119:
21838
194k
  YYDEBUG(1119, *YYCURSOR);
21839
194k
  yyaccept = 15;
21840
194k
  yych = *(YYMARKER = ++YYCURSOR);
21841
194k
  if (yych <= 'm') {
21842
168k
    if (yych <= '9') {
21843
157k
      if (yych <= '/') goto yy567;
21844
150k
      goto yy1186;
21845
157k
    } else {
21846
11.6k
      if (yych == 'T') goto yy1115;
21847
4.56k
      goto yy567;
21848
11.6k
    }
21849
168k
  } else {
21850
25.4k
    if (yych <= 'r') {
21851
8.77k
      if (yych <= 'n') goto yy1116;
21852
4.76k
      if (yych <= 'q') goto yy567;
21853
3.90k
      goto yy1116;
21854
16.6k
    } else {
21855
16.6k
      if (yych <= 's') goto yy1117;
21856
13.3k
      if (yych <= 't') goto yy1118;
21857
9.37k
      goto yy567;
21858
13.3k
    }
21859
25.4k
  }
21860
40.5k
yy1120:
21861
40.5k
  YYDEBUG(1120, *YYCURSOR);
21862
40.5k
  yyaccept = 15;
21863
40.5k
  yych = *(YYMARKER = ++YYCURSOR);
21864
40.5k
  if (yych <= 'm') {
21865
23.4k
    if (yych <= '1') {
21866
7.65k
      if (yych <= '/') goto yy567;
21867
5.25k
      goto yy1186;
21868
15.7k
    } else {
21869
15.7k
      if (yych == 'T') goto yy1115;
21870
3.96k
      goto yy567;
21871
15.7k
    }
21872
23.4k
  } else {
21873
17.1k
    if (yych <= 'r') {
21874
8.07k
      if (yych <= 'n') goto yy1116;
21875
5.97k
      if (yych <= 'q') goto yy567;
21876
4.87k
      goto yy1116;
21877
9.08k
    } else {
21878
9.08k
      if (yych <= 's') goto yy1117;
21879
6.56k
      if (yych <= 't') goto yy1118;
21880
3.12k
      goto yy567;
21881
6.56k
    }
21882
17.1k
  }
21883
19.2k
yy1121:
21884
19.2k
  YYDEBUG(1121, *YYCURSOR);
21885
19.2k
  yych = *++YYCURSOR;
21886
19.2k
  if (yych == 'd') goto yy1187;
21887
15.8k
  goto yy59;
21888
17.6k
yy1122:
21889
17.6k
  YYDEBUG(1122, *YYCURSOR);
21890
17.6k
  yych = *++YYCURSOR;
21891
17.6k
  if (yych == 't') goto yy1187;
21892
11.8k
  goto yy59;
21893
14.7k
yy1123:
21894
14.7k
  YYDEBUG(1123, *YYCURSOR);
21895
14.7k
  yych = *++YYCURSOR;
21896
14.7k
  if (yych == 'h') goto yy1187;
21897
10.0k
  goto yy59;
21898
29.6k
yy1124:
21899
29.6k
  YYDEBUG(1124, *YYCURSOR);
21900
29.6k
  yyaccept = 26;
21901
29.6k
  yych = *(YYMARKER = ++YYCURSOR);
21902
29.6k
  if (yych <= 'n') {
21903
18.6k
    if (yych <= '/') goto yy1043;
21904
16.1k
    if (yych <= '9') goto yy1188;
21905
5.47k
    if (yych <= 'm') goto yy1043;
21906
850
    goto yy1121;
21907
11.0k
  } else {
21908
11.0k
    if (yych <= 'r') {
21909
5.70k
      if (yych <= 'q') goto yy1043;
21910
2.76k
      goto yy1121;
21911
5.70k
    } else {
21912
5.33k
      if (yych <= 's') goto yy1122;
21913
3.41k
      if (yych <= 't') goto yy1123;
21914
1.21k
      goto yy1043;
21915
3.41k
    }
21916
11.0k
  }
21917
15.7k
yy1125:
21918
15.7k
  YYDEBUG(1125, *YYCURSOR);
21919
15.7k
  yyaccept = 26;
21920
15.7k
  yych = *(YYMARKER = ++YYCURSOR);
21921
15.7k
  if (yych <= 'n') {
21922
8.38k
    if (yych <= '/') goto yy1043;
21923
7.38k
    if (yych <= '1') goto yy1188;
21924
3.43k
    if (yych <= 'm') goto yy1043;
21925
1.95k
    goto yy1121;
21926
7.39k
  } else {
21927
7.39k
    if (yych <= 'r') {
21928
3.68k
      if (yych <= 'q') goto yy1043;
21929
1.81k
      goto yy1121;
21930
3.71k
    } else {
21931
3.71k
      if (yych <= 's') goto yy1122;
21932
2.00k
      if (yych <= 't') goto yy1123;
21933
595
      goto yy1043;
21934
2.00k
    }
21935
7.39k
  }
21936
4.10M
yy1126:
21937
4.10M
  YYDEBUG(1126, *YYCURSOR);
21938
4.10M
  yych = *++YYCURSOR;
21939
4.10M
  if (yych <= 0xC1) {
21940
4.04M
    if (yych <= '/') goto yy196;
21941
3.82M
    if (yych <= '9') goto yy1189;
21942
249k
    goto yy196;
21943
3.82M
  } else {
21944
59.4k
    if (yych <= 0xC2) goto yy97;
21945
44.6k
    if (yych == 0xE2) goto yy98;
21946
32.4k
    goto yy196;
21947
44.6k
  }
21948
72.0k
yy1127:
21949
72.0k
  YYDEBUG(1127, *YYCURSOR);
21950
72.0k
  yych = *++YYCURSOR;
21951
72.0k
  if (yych <= 'H') {
21952
62.1k
    if (yych <= '2') {
21953
51.4k
      if (yych <= '/') goto yy59;
21954
49.8k
      if (yych <= '1') goto yy1190;
21955
21.7k
      goto yy1191;
21956
49.8k
    } else {
21957
10.6k
      if (yych <= '9') goto yy1192;
21958
4.24k
      if (yych <= 'G') goto yy59;
21959
1.63k
      goto yy266;
21960
4.24k
    }
21961
62.1k
  } else {
21962
9.88k
    if (yych <= 'g') {
21963
3.09k
      if (yych == 'U') goto yy267;
21964
1.53k
      goto yy59;
21965
6.79k
    } else {
21966
6.79k
      if (yych <= 'h') goto yy266;
21967
6.28k
      if (yych == 'u') goto yy267;
21968
3.25k
      goto yy59;
21969
6.28k
    }
21970
9.88k
  }
21971
62.2k
yy1128:
21972
62.2k
  YYDEBUG(1128, *YYCURSOR);
21973
62.2k
  yych = *++YYCURSOR;
21974
62.2k
  if (yych <= 'H') {
21975
53.1k
    if (yych <= '2') {
21976
43.3k
      if (yych <= '/') goto yy59;
21977
38.9k
      if (yych <= '1') goto yy1193;
21978
17.1k
      goto yy1194;
21979
38.9k
    } else {
21980
9.74k
      if (yych <= '9') goto yy1195;
21981
3.61k
      if (yych <= 'G') goto yy59;
21982
2.32k
      goto yy266;
21983
3.61k
    }
21984
53.1k
  } else {
21985
9.10k
    if (yych <= 'g') {
21986
4.03k
      if (yych == 'U') goto yy267;
21987
2.22k
      goto yy59;
21988
5.07k
    } else {
21989
5.07k
      if (yych <= 'h') goto yy266;
21990
3.04k
      if (yych == 'u') goto yy267;
21991
1.66k
      goto yy59;
21992
3.04k
    }
21993
9.10k
  }
21994
73.3k
yy1129:
21995
73.3k
  YYDEBUG(1129, *YYCURSOR);
21996
73.3k
  yych = *++YYCURSOR;
21997
73.3k
  if (yych <= '/') goto yy59;
21998
66.3k
  if (yych <= '9') goto yy1196;
21999
5.44k
  goto yy59;
22000
12.5k
yy1130:
22001
12.5k
  YYDEBUG(1130, *YYCURSOR);
22002
12.5k
  yych = *++YYCURSOR;
22003
12.5k
  if (yych <= '/') goto yy59;
22004
10.7k
  if (yych <= '1') goto yy1196;
22005
4.86k
  goto yy59;
22006
18.4k
yy1131:
22007
18.4k
  YYDEBUG(1131, *YYCURSOR);
22008
18.4k
  yych = *++YYCURSOR;
22009
18.4k
  if (yych == 'T') goto yy790;
22010
13.3k
  if (yych == 't') goto yy790;
22011
11.3k
  goto yy59;
22012
12.7k
yy1132:
22013
12.7k
  YYDEBUG(1132, *YYCURSOR);
22014
12.7k
  yych = *++YYCURSOR;
22015
12.7k
  if (yych == 'R') goto yy1197;
22016
9.82k
  if (yych == 'r') goto yy1197;
22017
3.49k
  goto yy59;
22018
14.4k
yy1133:
22019
14.4k
  YYDEBUG(1133, *YYCURSOR);
22020
14.4k
  yych = *++YYCURSOR;
22021
14.4k
  if (yych == 'E') goto yy1198;
22022
12.2k
  if (yych == 'e') goto yy1198;
22023
6.45k
  goto yy59;
22024
6.45k
yy1134:
22025
4.75k
  YYDEBUG(1134, *YYCURSOR);
22026
4.75k
  yych = *++YYCURSOR;
22027
4.75k
  if (yych == 'T') goto yy425;
22028
3.86k
  if (yych == 't') goto yy425;
22029
2.32k
  goto yy59;
22030
20.6k
yy1135:
22031
20.6k
  YYDEBUG(1135, *YYCURSOR);
22032
20.6k
  yych = *++YYCURSOR;
22033
20.6k
  if (yych == 'O') goto yy628;
22034
3.98k
  if (yych == 'o') goto yy628;
22035
1.97k
  goto yy59;
22036
113k
yy1136:
22037
113k
  YYDEBUG(1136, *YYCURSOR);
22038
113k
  yyaccept = 4;
22039
113k
  YYMARKER = ++YYCURSOR;
22040
113k
  if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
22041
113k
  yych = *YYCURSOR;
22042
113k
  YYDEBUG(1137, *YYCURSOR);
22043
113k
  if (yych <= 'O') {
22044
95.9k
    if (yych <= '9') {
22045
90.1k
      if (yych <= '/') goto yy177;
22046
78.9k
      goto yy1136;
22047
90.1k
    } else {
22048
5.83k
      if (yych == 'A') goto yy1199;
22049
1.96k
      goto yy177;
22050
5.83k
    }
22051
95.9k
  } else {
22052
17.3k
    if (yych <= 'a') {
22053
9.37k
      if (yych <= 'P') goto yy1199;
22054
4.10k
      if (yych <= '`') goto yy177;
22055
1.03k
      goto yy1199;
22056
8.00k
    } else {
22057
8.00k
      if (yych == 'p') goto yy1199;
22058
2.75k
      goto yy177;
22059
8.00k
    }
22060
17.3k
  }
22061
105k
yy1138:
22062
105k
  YYDEBUG(1138, *YYCURSOR);
22063
105k
  ++YYCURSOR;
22064
105k
  if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
22065
105k
  yych = *YYCURSOR;
22066
105k
  YYDEBUG(1139, *YYCURSOR);
22067
105k
  if (yych <= 'O') {
22068
87.4k
    if (yych <= '9') {
22069
74.9k
      if (yych <= '/') goto yy59;
22070
64.0k
      goto yy1138;
22071
74.9k
    } else {
22072
12.4k
      if (yych == 'A') goto yy1199;
22073
3.59k
      goto yy59;
22074
12.4k
    }
22075
87.4k
  } else {
22076
17.8k
    if (yych <= 'a') {
22077
7.93k
      if (yych <= 'P') goto yy1199;
22078
6.88k
      if (yych <= '`') goto yy59;
22079
5.09k
      goto yy1199;
22080
9.92k
    } else {
22081
9.92k
      if (yych == 'p') goto yy1199;
22082
7.31k
      goto yy59;
22083
9.92k
    }
22084
17.8k
  }
22085
19.2k
yy1140:
22086
19.2k
  YYDEBUG(1140, *YYCURSOR);
22087
19.2k
  ++YYCURSOR;
22088
19.2k
  YYDEBUG(1141, *YYCURSOR);
22089
19.2k
#line 1762 "ext/date/lib/parse_date.re"
22090
19.2k
  {
22091
19.2k
    int length = 0;
22092
19.2k
    DEBUG_OUTPUT("pgtextreverse");
22093
19.2k
    TIMELIB_INIT;
22094
19.2k
    TIMELIB_HAVE_DATE();
22095
5.67k
    s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
22096
5.67k
    s->time->m = timelib_get_month(&ptr);
22097
5.67k
    s->time->d = timelib_get_nr(&ptr, 2);
22098
5.67k
    TIMELIB_PROCESS_YEAR(s->time->y, length);
22099
5.67k
    TIMELIB_DEINIT;
22100
5.67k
    return TIMELIB_PG_TEXT;
22101
19.2k
  }
22102
0
#line 22103 "ext/date/lib/parse_date.c"
22103
6.06k
yy1142:
22104
6.06k
  YYDEBUG(1142, *YYCURSOR);
22105
6.06k
  ++YYCURSOR;
22106
6.06k
  goto yy290;
22107
19.3k
yy1143:
22108
19.3k
  YYDEBUG(1143, *YYCURSOR);
22109
19.3k
  yych = *++YYCURSOR;
22110
19.3k
  if (yych <= '/') goto yy1070;
22111
14.7k
  if (yych <= '9') goto yy1200;
22112
4.57k
  goto yy1070;
22113
73.4k
yy1144:
22114
73.4k
  YYDEBUG(1144, *YYCURSOR);
22115
73.4k
  yyaccept = 29;
22116
73.4k
  yych = *(YYMARKER = ++YYCURSOR);
22117
73.4k
  if (yych <= 'O') {
22118
28.3k
    if (yych <= ' ') {
22119
17.0k
      if (yych == '\t') goto yy1201;
22120
11.4k
      if (yych >= ' ') goto yy1201;
22121
11.4k
    } else {
22122
11.2k
      if (yych <= '9') {
22123
8.59k
        if (yych >= '0') goto yy1147;
22124
8.59k
      } else {
22125
2.66k
        if (yych == 'A') goto yy1203;
22126
2.66k
      }
22127
11.2k
    }
22128
45.1k
  } else {
22129
45.1k
    if (yych <= 'p') {
22130
12.0k
      if (yych <= '`') {
22131
2.38k
        if (yych <= 'P') goto yy1203;
22132
9.63k
      } else {
22133
9.63k
        if (yych <= 'a') goto yy1203;
22134
3.12k
        if (yych >= 'p') goto yy1203;
22135
3.12k
      }
22136
33.1k
    } else {
22137
33.1k
      if (yych <= 0xC2) {
22138
12.9k
        if (yych >= 0xC2) goto yy1204;
22139
20.1k
      } else {
22140
20.1k
        if (yych == 0xE2) goto yy1205;
22141
20.1k
      }
22142
33.1k
    }
22143
45.1k
  }
22144
160k
yy1145:
22145
160k
  YYDEBUG(1145, *YYCURSOR);
22146
160k
#line 1304 "ext/date/lib/parse_date.re"
22147
160k
  {
22148
160k
    DEBUG_OUTPUT("backof | frontof");
22149
160k
    TIMELIB_INIT;
22150
160k
    TIMELIB_UNHAVE_TIME();
22151
160k
    TIMELIB_HAVE_TIME();
22152
22153
160k
    if (*ptr == 'b') {
22154
33.3k
      s->time->h = timelib_get_nr(&ptr, 2);
22155
33.3k
      s->time->i = 15;
22156
127k
    } else {
22157
127k
      s->time->h = timelib_get_nr(&ptr, 2) - 1;
22158
127k
      s->time->i = 45;
22159
127k
    }
22160
160k
    if (*ptr != '\0' ) {
22161
19.3k
      timelib_eat_spaces(&ptr);
22162
19.3k
      s->time->h += timelib_meridian(&ptr, s->time->h);
22163
19.3k
    }
22164
22165
160k
    TIMELIB_DEINIT;
22166
160k
    return TIMELIB_LF_DAY_OF_MONTH;
22167
160k
  }
22168
0
#line 22169 "ext/date/lib/parse_date.c"
22169
50.9k
yy1146:
22170
50.9k
  YYDEBUG(1146, *YYCURSOR);
22171
50.9k
  yyaccept = 29;
22172
50.9k
  yych = *(YYMARKER = ++YYCURSOR);
22173
50.9k
  if (yych <= 'O') {
22174
21.8k
    if (yych <= ' ') {
22175
7.54k
      if (yych == '\t') goto yy1201;
22176
6.20k
      if (yych <= 0x1F) goto yy1145;
22177
4.39k
      goto yy1201;
22178
14.3k
    } else {
22179
14.3k
      if (yych <= '4') {
22180
8.85k
        if (yych <= '/') goto yy1145;
22181
8.85k
      } else {
22182
5.48k
        if (yych == 'A') goto yy1203;
22183
4.19k
        goto yy1145;
22184
5.48k
      }
22185
14.3k
    }
22186
29.0k
  } else {
22187
29.0k
    if (yych <= 'p') {
22188
10.0k
      if (yych <= '`') {
22189
3.47k
        if (yych <= 'P') goto yy1203;
22190
1.20k
        goto yy1145;
22191
6.53k
      } else {
22192
6.53k
        if (yych <= 'a') goto yy1203;
22193
3.22k
        if (yych <= 'o') goto yy1145;
22194
2.01k
        goto yy1203;
22195
3.22k
      }
22196
19.0k
    } else {
22197
19.0k
      if (yych <= 0xC2) {
22198
15.5k
        if (yych <= 0xC1) goto yy1145;
22199
13.4k
        goto yy1204;
22200
15.5k
      } else {
22201
3.52k
        if (yych == 0xE2) goto yy1205;
22202
923
        goto yy1145;
22203
3.52k
      }
22204
19.0k
    }
22205
29.0k
  }
22206
50.4k
yy1147:
22207
50.4k
  YYDEBUG(1147, *YYCURSOR);
22208
50.4k
  yyaccept = 29;
22209
50.4k
  yych = *(YYMARKER = ++YYCURSOR);
22210
50.4k
  if (yych <= 'P') {
22211
23.0k
    if (yych <= ' ') {
22212
7.69k
      if (yych == '\t') goto yy1201;
22213
4.26k
      if (yych <= 0x1F) goto yy1145;
22214
3.04k
      goto yy1201;
22215
15.3k
    } else {
22216
15.3k
      if (yych == 'A') goto yy1203;
22217
10.1k
      if (yych <= 'O') goto yy1145;
22218
6.33k
      goto yy1203;
22219
10.1k
    }
22220
27.4k
  } else {
22221
27.4k
    if (yych <= 'p') {
22222
9.64k
      if (yych == 'a') goto yy1203;
22223
7.05k
      if (yych <= 'o') goto yy1145;
22224
4.20k
      goto yy1203;
22225
17.7k
    } else {
22226
17.7k
      if (yych <= 0xC2) {
22227
8.39k
        if (yych <= 0xC1) goto yy1145;
22228
7.17k
        goto yy1204;
22229
9.37k
      } else {
22230
9.37k
        if (yych == 0xE2) goto yy1205;
22231
1.74k
        goto yy1145;
22232
9.37k
      }
22233
17.7k
    }
22234
27.4k
  }
22235
24.4k
yy1148:
22236
24.4k
  YYDEBUG(1148, *YYCURSOR);
22237
24.4k
  yych = *++YYCURSOR;
22238
24.4k
  if (yych == 'K') goto yy1206;
22239
13.5k
  if (yych == 'k') goto yy1206;
22240
3.49k
  goto yy59;
22241
185k
yy1149:
22242
185k
  YYDEBUG(1149, *YYCURSOR);
22243
185k
  yyaccept = 20;
22244
185k
  yych = *(YYMARKER = ++YYCURSOR);
22245
185k
  if (yych <= ',') {
22246
50.6k
    if (yych <= ' ') {
22247
17.6k
      if (yych == '\t') goto yy1208;
22248
9.88k
      if (yych <= 0x1F) goto yy849;
22249
7.43k
      goto yy1208;
22250
33.0k
    } else {
22251
33.0k
      if (yych <= '(') {
22252
9.51k
        if (yych <= '\'') goto yy849;
22253
5.46k
        goto yy1208;
22254
23.5k
      } else {
22255
23.5k
        if (yych == '+') goto yy1208;
22256
3.85k
        goto yy849;
22257
23.5k
      }
22258
33.0k
    }
22259
134k
  } else {
22260
134k
    if (yych <= 'z') {
22261
77.4k
      if (yych <= '@') {
22262
14.7k
        if (yych <= '-') goto yy1208;
22263
7.93k
        goto yy849;
22264
62.6k
      } else {
22265
62.6k
        if (yych <= 'Z') goto yy1208;
22266
9.22k
        if (yych <= '`') goto yy849;
22267
5.94k
        goto yy1208;
22268
9.22k
      }
22269
77.4k
    } else {
22270
57.2k
      if (yych <= 0xC2) {
22271
28.2k
        if (yych <= 0xC1) goto yy849;
22272
25.1k
        goto yy1214;
22273
29.0k
      } else {
22274
29.0k
        if (yych == 0xE2) goto yy1215;
22275
5.11k
        goto yy849;
22276
29.0k
      }
22277
57.2k
    }
22278
134k
  }
22279
445k
yy1150:
22280
445k
  YYDEBUG(1150, *YYCURSOR);
22281
445k
  yyaccept = 20;
22282
445k
  yych = *(YYMARKER = ++YYCURSOR);
22283
445k
  if (yych <= ',') {
22284
89.3k
    if (yych <= ' ') {
22285
67.3k
      if (yych == '\t') goto yy1217;
22286
56.9k
      if (yych <= 0x1F) goto yy849;
22287
50.0k
      goto yy1217;
22288
56.9k
    } else {
22289
22.0k
      if (yych <= '(') {
22290
7.53k
        if (yych <= '\'') goto yy849;
22291
4.81k
        goto yy1217;
22292
14.5k
      } else {
22293
14.5k
        if (yych == '+') goto yy1217;
22294
1.48k
        goto yy849;
22295
14.5k
      }
22296
22.0k
    }
22297
356k
  } else {
22298
356k
    if (yych <= 'z') {
22299
256k
      if (yych <= '@') {
22300
36.8k
        if (yych <= '-') goto yy1217;
22301
11.7k
        goto yy849;
22302
220k
      } else {
22303
220k
        if (yych <= 'Z') goto yy1217;
22304
39.9k
        if (yych <= '`') goto yy849;
22305
37.3k
        goto yy1217;
22306
39.9k
      }
22307
256k
    } else {
22308
99.3k
      if (yych <= 0xC2) {
22309
46.4k
        if (yych <= 0xC1) goto yy849;
22310
43.7k
        goto yy1220;
22311
52.9k
      } else {
22312
52.9k
        if (yych == 0xE2) goto yy1221;
22313
3.80k
        goto yy849;
22314
52.9k
      }
22315
99.3k
    }
22316
356k
  }
22317
18.9k
yy1151:
22318
18.9k
  YYDEBUG(1151, *YYCURSOR);
22319
18.9k
  yych = *++YYCURSOR;
22320
18.9k
  if (yych == 'M') goto yy1152;
22321
14.2k
  if (yych != 'm') goto yy59;
22322
31.8k
yy1152:
22323
31.8k
  YYDEBUG(1152, *YYCURSOR);
22324
31.8k
  yych = *++YYCURSOR;
22325
31.8k
  if (yych <= 0x1F) {
22326
12.1k
    if (yych <= 0x00) goto yy1222;
22327
7.19k
    if (yych == '\t') goto yy1222;
22328
4.52k
    goto yy59;
22329
19.7k
  } else {
22330
19.7k
    if (yych <= ' ') goto yy1222;
22331
17.2k
    if (yych == '.') goto yy1224;
22332
10.2k
    goto yy59;
22333
17.2k
  }
22334
25.3k
yy1153:
22335
25.3k
  YYDEBUG(1153, *YYCURSOR);
22336
25.3k
  ++YYCURSOR;
22337
25.3k
  if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
22338
25.3k
  yych = *YYCURSOR;
22339
25.3k
  if (yych <= '`') {
22340
9.26k
    if (yych <= 'A') {
22341
4.16k
      if (yych <= '@') goto yy59;
22342
2.29k
      goto yy1083;
22343
5.10k
    } else {
22344
5.10k
      if (yych == 'P') goto yy1083;
22345
3.06k
      goto yy59;
22346
5.10k
    }
22347
16.1k
  } else {
22348
16.1k
    if (yych <= 'p') {
22349
4.77k
      if (yych <= 'a') goto yy1083;
22350
2.42k
      if (yych <= 'o') goto yy59;
22351
1.86k
      goto yy1083;
22352
11.3k
    } else {
22353
11.3k
      if (yych == 0xC2) goto yy1084;
22354
2.28k
      goto yy59;
22355
11.3k
    }
22356
16.1k
  }
22357
20.9k
yy1154:
22358
20.9k
  YYDEBUG(1154, *YYCURSOR);
22359
20.9k
  ++YYCURSOR;
22360
20.9k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
22361
20.9k
  yych = *YYCURSOR;
22362
20.9k
  if (yych == 0xAF) goto yy1225;
22363
1.86k
  goto yy59;
22364
21.5k
yy1155:
22365
21.5k
  YYDEBUG(1155, *YYCURSOR);
22366
21.5k
  ++YYCURSOR;
22367
21.5k
  goto yy982;
22368
28.8k
yy1156:
22369
28.8k
  YYDEBUG(1156, *YYCURSOR);
22370
28.8k
  yych = *++YYCURSOR;
22371
28.8k
  if (yych <= 'N') {
22372
6.38k
    if (yych == 'H') goto yy1226;
22373
3.52k
    if (yych <= 'M') goto yy59;
22374
1.39k
    goto yy1227;
22375
22.4k
  } else {
22376
22.4k
    if (yych <= 'h') {
22377
18.6k
      if (yych <= 'g') goto yy59;
22378
16.0k
      goto yy1226;
22379
18.6k
    } else {
22380
3.74k
      if (yych == 'n') goto yy1227;
22381
3.23k
      goto yy59;
22382
3.74k
    }
22383
22.4k
  }
22384
58.7k
yy1157:
22385
58.7k
  YYDEBUG(1157, *YYCURSOR);
22386
58.7k
  ++YYCURSOR;
22387
58.7k
  if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
22388
58.7k
  yych = *YYCURSOR;
22389
58.7k
  YYDEBUG(1158, *YYCURSOR);
22390
58.7k
  if (yych <= ' ') {
22391
23.9k
    if (yych == '\t') goto yy1157;
22392
12.0k
    if (yych <= 0x1F) goto yy59;
22393
7.01k
    goto yy1157;
22394
34.7k
  } else {
22395
34.7k
    if (yych <= 'O') {
22396
13.2k
      if (yych <= 'N') goto yy59;
22397
2.26k
      goto yy1228;
22398
21.5k
    } else {
22399
21.5k
      if (yych == 'o') goto yy1228;
22400
16.1k
      goto yy59;
22401
21.5k
    }
22402
34.7k
  }
22403
54.7k
yy1159:
22404
54.7k
  YYDEBUG(1159, *YYCURSOR);
22405
54.7k
  yych = *++YYCURSOR;
22406
54.7k
  if (yych == 'A') goto yy1229;
22407
45.3k
  if (yych == 'a') goto yy1229;
22408
8.59k
  goto yy59;
22409
22.2k
yy1160:
22410
22.2k
  YYDEBUG(1160, *YYCURSOR);
22411
22.2k
  ++YYCURSOR;
22412
22.2k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
22413
22.2k
  yych = *YYCURSOR;
22414
22.2k
  if (yych == 0xA0) goto yy1230;
22415
10.2k
  goto yy59;
22416
28.1k
yy1161:
22417
28.1k
  YYDEBUG(1161, *YYCURSOR);
22418
28.1k
  ++YYCURSOR;
22419
28.1k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
22420
28.1k
  yych = *YYCURSOR;
22421
28.1k
  if (yych == 0x80) goto yy1231;
22422
15.1k
  goto yy59;
22423
15.8k
yy1162:
22424
15.8k
  YYDEBUG(1162, *YYCURSOR);
22425
15.8k
  yych = *++YYCURSOR;
22426
15.8k
  if (yych == 'O') goto yy1232;
22427
12.6k
  if (yych == 'o') goto yy1232;
22428
2.50k
  goto yy59;
22429
6.46k
yy1163:
22430
6.46k
  YYDEBUG(1163, *YYCURSOR);
22431
6.46k
  yych = *++YYCURSOR;
22432
6.46k
  if (yych == 'I') goto yy1232;
22433
4.69k
  if (yych == 'i') goto yy1232;
22434
2.41k
  goto yy59;
22435
9.25k
yy1164:
22436
9.25k
  YYDEBUG(1164, *YYCURSOR);
22437
9.25k
  yych = *++YYCURSOR;
22438
9.25k
  if (yych == 'T') goto yy1233;
22439
5.73k
  if (yych == 't') goto yy1233;
22440
2.92k
  goto yy59;
22441
10.3k
yy1165:
22442
10.3k
  YYDEBUG(1165, *YYCURSOR);
22443
10.3k
  yych = *++YYCURSOR;
22444
10.3k
  if (yych == 'H') goto yy1086;
22445
8.35k
  if (yych == 'h') goto yy1086;
22446
6.94k
  goto yy59;
22447
12.4k
yy1166:
22448
12.4k
  YYDEBUG(1166, *YYCURSOR);
22449
12.4k
  yych = *++YYCURSOR;
22450
12.4k
  if (yych == 'R') goto yy1169;
22451
10.5k
  if (yych == 'r') goto yy1169;
22452
5.50k
  goto yy59;
22453
14.7k
yy1167:
22454
14.7k
  YYDEBUG(1167, *YYCURSOR);
22455
14.7k
  yych = *++YYCURSOR;
22456
14.7k
  if (yych == 'N') goto yy1234;
22457
6.32k
  if (yych == 'n') goto yy1234;
22458
3.80k
  goto yy59;
22459
34.9k
yy1168:
22460
34.9k
  YYDEBUG(1168, *YYCURSOR);
22461
34.9k
  yych = *++YYCURSOR;
22462
34.9k
  if (yych == 'S') goto yy1169;
22463
32.5k
  if (yych != 's') goto yy59;
22464
36.2k
yy1169:
22465
36.2k
  YYDEBUG(1169, *YYCURSOR);
22466
36.2k
  yych = *++YYCURSOR;
22467
36.2k
  if (yych == 'D') goto yy1159;
22468
32.2k
  if (yych == 'd') goto yy1159;
22469
13.0k
  goto yy59;
22470
35.4k
yy1170:
22471
35.4k
  YYDEBUG(1170, *YYCURSOR);
22472
35.4k
  yych = *++YYCURSOR;
22473
35.4k
  if (yych == 'E') goto yy1168;
22474
34.0k
  if (yych == 'e') goto yy1168;
22475
9.88k
  goto yy59;
22476
21.6k
yy1171:
22477
21.6k
  YYDEBUG(1171, *YYCURSOR);
22478
21.6k
  yyaccept = 30;
22479
21.6k
  yych = *(YYMARKER = ++YYCURSOR);
22480
21.6k
  if (yych <= 'S') {
22481
8.49k
    if (yych == 'D') goto yy856;
22482
2.67k
    if (yych >= 'S') goto yy1155;
22483
13.1k
  } else {
22484
13.1k
    if (yych <= 'd') {
22485
10.4k
      if (yych >= 'd') goto yy856;
22486
10.4k
    } else {
22487
2.77k
      if (yych == 's') goto yy1155;
22488
2.77k
    }
22489
13.1k
  }
22490
16.1k
yy1172:
22491
16.1k
  YYDEBUG(1172, *YYCURSOR);
22492
16.1k
#line 1848 "ext/date/lib/parse_date.re"
22493
16.1k
  {
22494
16.1k
    timelib_sll i;
22495
16.1k
    int         behavior = 0;
22496
16.1k
    DEBUG_OUTPUT("relativetextweek");
22497
16.1k
    TIMELIB_INIT;
22498
16.1k
    TIMELIB_HAVE_RELATIVE();
22499
22500
32.3k
    while(*ptr) {
22501
16.1k
      i = timelib_get_relative_text(&ptr, &behavior);
22502
16.1k
      timelib_eat_spaces(&ptr);
22503
16.1k
      timelib_set_relative(&ptr, i, behavior, s, TIMELIB_TIME_PART_DONT_KEEP);
22504
16.1k
      s->time->relative.weekday_behavior = 2;
22505
22506
      /* to handle the format weekday + last/this/next week */
22507
16.1k
      if (s->time->relative.have_weekday_relative == 0) {
22508
501
        TIMELIB_HAVE_WEEKDAY_RELATIVE();
22509
501
        s->time->relative.weekday = 1;
22510
501
      }
22511
16.1k
    }
22512
16.1k
    TIMELIB_DEINIT;
22513
16.1k
    return TIMELIB_RELATIVE;
22514
21.6k
  }
22515
0
#line 22516 "ext/date/lib/parse_date.c"
22516
8.42k
yy1173:
22517
8.42k
  YYDEBUG(1173, *YYCURSOR);
22518
8.42k
  yych = *++YYCURSOR;
22519
8.42k
  if (yych == 'O') goto yy1235;
22520
5.85k
  if (yych == 'o') goto yy1235;
22521
2.45k
  goto yy59;
22522
8.01k
yy1174:
22523
8.01k
  YYDEBUG(1174, *YYCURSOR);
22524
8.01k
  ++YYCURSOR;
22525
12.8k
yy1175:
22526
12.8k
  YYDEBUG(1175, *YYCURSOR);
22527
12.8k
#line 1166 "ext/date/lib/parse_date.re"
22528
12.8k
  {
22529
12.8k
    DEBUG_OUTPUT("yesterday");
22530
12.8k
    TIMELIB_INIT;
22531
12.8k
    TIMELIB_HAVE_RELATIVE();
22532
12.8k
    TIMELIB_UNHAVE_TIME();
22533
22534
12.8k
    s->time->relative.d = -1;
22535
12.8k
    TIMELIB_DEINIT;
22536
12.8k
    return TIMELIB_RELATIVE;
22537
8.01k
  }
22538
0
#line 22539 "ext/date/lib/parse_date.c"
22539
5.29k
yy1176:
22540
5.29k
  YYDEBUG(1176, *YYCURSOR);
22541
5.29k
  yyaccept = 31;
22542
5.29k
  yych = *(YYMARKER = ++YYCURSOR);
22543
5.29k
  if (yybm[0+yych] & 128) {
22544
767
    goto yy954;
22545
767
  }
22546
4.52k
  if (yych <= '.') {
22547
2.12k
    if (yych == '-') goto yy297;
22548
1.39k
    goto yy1175;
22549
2.40k
  } else {
22550
2.40k
    if (yych <= '/') goto yy297;
22551
2.01k
    if (yych == '_') goto yy297;
22552
783
    goto yy1175;
22553
2.01k
  }
22554
14.8k
yy1177:
22555
14.8k
  YYDEBUG(1177, *YYCURSOR);
22556
14.8k
  yych = *++YYCURSOR;
22557
14.8k
  if (yych <= '/') goto yy59;
22558
9.96k
  if (yych <= '9') goto yy1187;
22559
5.01k
  goto yy59;
22560
17.2k
yy1178:
22561
17.2k
  YYDEBUG(1178, *YYCURSOR);
22562
17.2k
  yych = *++YYCURSOR;
22563
17.2k
  if (yych <= '/') goto yy59;
22564
12.3k
  if (yych <= '1') goto yy1187;
22565
9.53k
  goto yy59;
22566
25.3k
yy1179:
22567
25.3k
  YYDEBUG(1179, *YYCURSOR);
22568
25.3k
  yych = *++YYCURSOR;
22569
25.3k
  if (yych <= '/') goto yy59;
22570
22.7k
  if (yych <= '2') goto yy1236;
22571
15.2k
  if (yych <= '3') goto yy1237;
22572
3.10k
  goto yy59;
22573
307k
yy1180:
22574
307k
  YYDEBUG(1180, *YYCURSOR);
22575
307k
  yych = *++YYCURSOR;
22576
307k
  if (yych <= '9') {
22577
279k
    if (yych == '-') goto yy893;
22578
276k
    if (yych <= '/') goto yy196;
22579
266k
    goto yy1238;
22580
276k
  } else {
22581
27.6k
    if (yych <= 0xC2) {
22582
20.2k
      if (yych <= 0xC1) goto yy196;
22583
1.63k
      goto yy97;
22584
20.2k
    } else {
22585
7.43k
      if (yych == 0xE2) goto yy98;
22586
5.72k
      goto yy196;
22587
7.43k
    }
22588
27.6k
  }
22589
220k
yy1181:
22590
220k
  YYDEBUG(1181, *YYCURSOR);
22591
220k
  yych = *++YYCURSOR;
22592
220k
  if (yych == ':') goto yy1239;
22593
19.2k
  goto yy59;
22594
20.5k
yy1182:
22595
20.5k
  YYDEBUG(1182, *YYCURSOR);
22596
20.5k
  yych = *++YYCURSOR;
22597
20.5k
  if (yych <= '/') goto yy59;
22598
18.4k
  if (yych <= '9') goto yy1184;
22599
10.4k
  if (yych <= ':') goto yy1240;
22600
1.70k
  goto yy59;
22601
11.2k
yy1183:
22602
11.2k
  YYDEBUG(1183, *YYCURSOR);
22603
11.2k
  yych = *++YYCURSOR;
22604
11.2k
  if (yych <= '/') goto yy59;
22605
9.03k
  if (yych <= '4') goto yy1184;
22606
6.11k
  if (yych == ':') goto yy1240;
22607
2.44k
  goto yy59;
22608
17.1k
yy1184:
22609
17.1k
  YYDEBUG(1184, *YYCURSOR);
22610
17.1k
  yych = *++YYCURSOR;
22611
17.1k
  if (yych == ':') goto yy1240;
22612
5.65k
  goto yy59;
22613
16.1k
yy1185:
22614
16.1k
  YYDEBUG(1185, *YYCURSOR);
22615
16.1k
  yyaccept = 15;
22616
16.1k
  yych = *(YYMARKER = ++YYCURSOR);
22617
16.1k
  if (yych == 'T') goto yy1115;
22618
14.6k
  goto yy567;
22619
155k
yy1186:
22620
155k
  YYDEBUG(1186, *YYCURSOR);
22621
155k
  yyaccept = 26;
22622
155k
  yych = *(YYMARKER = ++YYCURSOR);
22623
155k
  if (yych <= 'n') {
22624
142k
    if (yych == 'T') goto yy1241;
22625
11.8k
    if (yych <= 'm') goto yy1043;
22626
1.78k
    goto yy1116;
22627
13.0k
  } else {
22628
13.0k
    if (yych <= 'r') {
22629
3.21k
      if (yych <= 'q') goto yy1043;
22630
1.79k
      goto yy1116;
22631
9.86k
    } else {
22632
9.86k
      if (yych <= 's') goto yy1117;
22633
8.30k
      if (yych <= 't') goto yy1118;
22634
4.73k
      goto yy1043;
22635
8.30k
    }
22636
13.0k
  }
22637
23.1k
yy1187:
22638
23.1k
  YYDEBUG(1187, *YYCURSOR);
22639
23.1k
  ++YYCURSOR;
22640
23.1k
  goto yy1043;
22641
14.6k
yy1188:
22642
14.6k
  YYDEBUG(1188, *YYCURSOR);
22643
14.6k
  yyaccept = 26;
22644
14.6k
  yych = *(YYMARKER = ++YYCURSOR);
22645
14.6k
  if (yych <= 'n') {
22646
4.23k
    if (yych == '/') goto yy1187;
22647
2.81k
    if (yych <= 'm') goto yy1043;
22648
813
    goto yy1121;
22649
10.4k
  } else {
22650
10.4k
    if (yych <= 'r') {
22651
2.94k
      if (yych <= 'q') goto yy1043;
22652
1.84k
      goto yy1121;
22653
7.48k
    } else {
22654
7.48k
      if (yych <= 's') goto yy1122;
22655
6.37k
      if (yych <= 't') goto yy1123;
22656
4.25k
      goto yy1043;
22657
6.37k
    }
22658
10.4k
  }
22659
3.57M
yy1189:
22660
3.57M
  YYDEBUG(1189, *YYCURSOR);
22661
3.57M
  yych = *++YYCURSOR;
22662
3.57M
  if (yych <= 0xC1) {
22663
3.52M
    if (yych <= '/') goto yy196;
22664
3.31M
    if (yych <= '9') goto yy1242;
22665
191k
    goto yy196;
22666
3.31M
  } else {
22667
50.3k
    if (yych <= 0xC2) goto yy97;
22668
45.6k
    if (yych == 0xE2) goto yy98;
22669
36.4k
    goto yy196;
22670
45.6k
  }
22671
28.1k
yy1190:
22672
28.1k
  YYDEBUG(1190, *YYCURSOR);
22673
28.1k
  yych = *++YYCURSOR;
22674
28.1k
  if (yych <= '/') goto yy59;
22675
26.4k
  if (yych <= '5') goto yy1243;
22676
14.5k
  if (yych <= '9') goto yy1192;
22677
4.07k
  if (yych <= ':') goto yy1244;
22678
1.10k
  goto yy59;
22679
21.7k
yy1191:
22680
21.7k
  YYDEBUG(1191, *YYCURSOR);
22681
21.7k
  yych = *++YYCURSOR;
22682
21.7k
  if (yych <= '5') {
22683
18.1k
    if (yych <= '/') goto yy59;
22684
16.9k
    if (yych <= '4') goto yy1243;
22685
2.66k
    goto yy1245;
22686
16.9k
  } else {
22687
3.54k
    if (yych == ':') goto yy1244;
22688
1.40k
    goto yy59;
22689
3.54k
  }
22690
16.8k
yy1192:
22691
16.8k
  YYDEBUG(1192, *YYCURSOR);
22692
16.8k
  yych = *++YYCURSOR;
22693
16.8k
  if (yych <= '/') goto yy59;
22694
15.5k
  if (yych <= '5') goto yy1245;
22695
7.07k
  if (yych == ':') goto yy1244;
22696
4.22k
  goto yy59;
22697
21.7k
yy1193:
22698
21.7k
  YYDEBUG(1193, *YYCURSOR);
22699
21.7k
  yych = *++YYCURSOR;
22700
21.7k
  if (yych <= '/') goto yy59;
22701
20.7k
  if (yych <= '5') goto yy1246;
22702
3.08k
  if (yych <= '9') goto yy1195;
22703
1.64k
  goto yy59;
22704
17.1k
yy1194:
22705
17.1k
  YYDEBUG(1194, *YYCURSOR);
22706
17.1k
  yych = *++YYCURSOR;
22707
17.1k
  if (yych <= '/') goto yy59;
22708
15.4k
  if (yych <= '4') goto yy1246;
22709
5.29k
  if (yych <= '5') goto yy1245;
22710
2.10k
  goto yy59;
22711
7.57k
yy1195:
22712
7.57k
  YYDEBUG(1195, *YYCURSOR);
22713
7.57k
  yych = *++YYCURSOR;
22714
7.57k
  if (yych <= '/') goto yy59;
22715
6.23k
  if (yych <= '5') goto yy1245;
22716
1.41k
  goto yy59;
22717
66.8k
yy1196:
22718
66.8k
  YYDEBUG(1196, *YYCURSOR);
22719
66.8k
  yych = *++YYCURSOR;
22720
66.8k
  if (yych == ' ') goto yy1247;
22721
54.8k
  goto yy59;
22722
54.8k
yy1197:
22723
9.23k
  YYDEBUG(1197, *YYCURSOR);
22724
9.23k
  yych = *++YYCURSOR;
22725
9.23k
  if (yych == 'Y') goto yy790;
22726
7.95k
  if (yych == 'y') goto yy790;
22727
5.46k
  goto yy59;
22728
8.03k
yy1198:
22729
8.03k
  YYDEBUG(1198, *YYCURSOR);
22730
8.03k
  yych = *++YYCURSOR;
22731
8.03k
  if (yych == 'R') goto yy790;
22732
5.39k
  if (yych == 'r') goto yy790;
22733
3.61k
  goto yy59;
22734
33.0k
yy1199:
22735
33.0k
  YYDEBUG(1199, *YYCURSOR);
22736
33.0k
  yych = *++YYCURSOR;
22737
33.0k
  if (yych <= 'L') {
22738
15.1k
    if (yych == '.') goto yy1248;
22739
7.70k
    goto yy59;
22740
17.9k
  } else {
22741
17.9k
    if (yych <= 'M') goto yy1249;
22742
14.4k
    if (yych == 'm') goto yy1249;
22743
2.98k
    goto yy59;
22744
14.4k
  }
22745
10.1k
yy1200:
22746
10.1k
  YYDEBUG(1200, *YYCURSOR);
22747
10.1k
  yych = *++YYCURSOR;
22748
10.1k
  if (yych <= '/') goto yy1070;
22749
8.58k
  if (yych <= '9') goto yy1250;
22750
4.89k
  goto yy1070;
22751
44.0k
yy1201:
22752
44.0k
  YYDEBUG(1201, *YYCURSOR);
22753
44.0k
  ++YYCURSOR;
22754
44.0k
  if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
22755
44.0k
  yych = *YYCURSOR;
22756
44.0k
  YYDEBUG(1202, *YYCURSOR);
22757
44.0k
  if (yych <= 'A') {
22758
26.5k
    if (yych <= 0x1F) {
22759
16.2k
      if (yych == '\t') goto yy1201;
22760
2.26k
      goto yy59;
22761
16.2k
    } else {
22762
10.3k
      if (yych <= ' ') goto yy1201;
22763
6.47k
      if (yych <= '@') goto yy59;
22764
6.47k
    }
22765
26.5k
  } else {
22766
17.5k
    if (yych <= '`') {
22767
4.13k
      if (yych != 'P') goto yy59;
22768
13.3k
    } else {
22769
13.3k
      if (yych <= 'a') goto yy1203;
22770
11.6k
      if (yych != 'p') goto yy59;
22771
11.6k
    }
22772
17.5k
  }
22773
73.9k
yy1203:
22774
73.9k
  YYDEBUG(1203, *YYCURSOR);
22775
73.9k
  yych = *++YYCURSOR;
22776
73.9k
  if (yych <= 'L') {
22777
25.2k
    if (yych == '.') goto yy1251;
22778
15.7k
    goto yy59;
22779
48.6k
  } else {
22780
48.6k
    if (yych <= 'M') goto yy1252;
22781
36.6k
    if (yych == 'm') goto yy1252;
22782
20.6k
    goto yy59;
22783
36.6k
  }
22784
40.6k
yy1204:
22785
40.6k
  YYDEBUG(1204, *YYCURSOR);
22786
40.6k
  ++YYCURSOR;
22787
40.6k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
22788
40.6k
  yych = *YYCURSOR;
22789
40.6k
  if (yych == 0xA0) goto yy1253;
22790
4.48k
  goto yy59;
22791
45.8k
yy1205:
22792
45.8k
  YYDEBUG(1205, *YYCURSOR);
22793
45.8k
  ++YYCURSOR;
22794
45.8k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
22795
45.8k
  yych = *YYCURSOR;
22796
45.8k
  if (yych == 0x80) goto yy1254;
22797
6.78k
  goto yy59;
22798
20.9k
yy1206:
22799
20.9k
  YYDEBUG(1206, *YYCURSOR);
22800
20.9k
  yych = *++YYCURSOR;
22801
20.9k
  if (yych <= 'S') {
22802
12.5k
    if (yych == 'D') goto yy856;
22803
7.54k
    if (yych <= 'R') goto yy59;
22804
2.69k
    goto yy1155;
22805
8.46k
  } else {
22806
8.46k
    if (yych <= 'd') {
22807
3.86k
      if (yych <= 'c') goto yy59;
22808
1.29k
      goto yy856;
22809
4.60k
    } else {
22810
4.60k
      if (yych == 's') goto yy1155;
22811
3.76k
      goto yy59;
22812
4.60k
    }
22813
8.46k
  }
22814
43.0k
yy1207:
22815
43.0k
  YYDEBUG(1207, *YYCURSOR);
22816
43.0k
  ++YYCURSOR;
22817
43.0k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
22818
43.0k
  yych = *YYCURSOR;
22819
149k
yy1208:
22820
149k
  YYDEBUG(1208, *YYCURSOR);
22821
149k
  if (yych <= '+') {
22822
71.3k
    if (yych <= ' ') {
22823
44.0k
      if (yych == '\t') goto yy1207;
22824
16.6k
      if (yych <= 0x1F) goto yy59;
22825
15.6k
      goto yy1207;
22826
27.2k
    } else {
22827
27.2k
      if (yych == '(') goto yy1209;
22828
21.5k
      if (yych <= '*') goto yy59;
22829
19.7k
      goto yy1210;
22830
21.5k
    }
22831
78.2k
  } else {
22832
78.2k
    if (yych <= 'F') {
22833
28.4k
      if (yych == '-') goto yy1210;
22834
21.5k
      if (yych <= '@') goto yy59;
22835
19.0k
      goto yy1211;
22836
49.8k
    } else {
22837
49.8k
      if (yych <= 'Z') {
22838
37.8k
        if (yych <= 'G') goto yy1212;
22839
10.0k
        goto yy1211;
22840
37.8k
      } else {
22841
12.0k
        if (yych <= '`') goto yy59;
22842
9.67k
        if (yych <= 'z') goto yy1213;
22843
3.21k
        goto yy59;
22844
9.67k
      }
22845
49.8k
    }
22846
78.2k
  }
22847
19.5k
yy1209:
22848
19.5k
  YYDEBUG(1209, *YYCURSOR);
22849
19.5k
  yych = *++YYCURSOR;
22850
19.5k
  if (yych <= '@') goto yy59;
22851
16.6k
  if (yych <= 'Z') goto yy1213;
22852
10.7k
  if (yych <= '`') goto yy59;
22853
8.32k
  if (yych <= 'z') goto yy1213;
22854
2.44k
  goto yy59;
22855
98.9k
yy1210:
22856
98.9k
  YYDEBUG(1210, *YYCURSOR);
22857
98.9k
  yych = *++YYCURSOR;
22858
98.9k
  if (yych <= '/') goto yy59;
22859
86.4k
  if (yych <= '1') goto yy1255;
22860
51.6k
  if (yych <= '2') goto yy1256;
22861
19.0k
  if (yych <= '9') goto yy1257;
22862
8.05k
  goto yy59;
22863
110k
yy1211:
22864
110k
  YYDEBUG(1211, *YYCURSOR);
22865
110k
  yych = *++YYCURSOR;
22866
110k
  if (yych <= '@') {
22867
13.8k
    if (yych == ')') goto yy1078;
22868
11.1k
    goto yy849;
22869
96.8k
  } else {
22870
96.8k
    if (yych <= 'Z') goto yy1258;
22871
86.7k
    if (yych <= '`') goto yy849;
22872
85.5k
    if (yych <= 'z') goto yy1259;
22873
3.05k
    goto yy849;
22874
85.5k
  }
22875
78.5k
yy1212:
22876
78.5k
  YYDEBUG(1212, *YYCURSOR);
22877
78.5k
  yych = *++YYCURSOR;
22878
78.5k
  if (yych <= 'L') {
22879
7.79k
    if (yych == ')') goto yy1078;
22880
7.43k
    if (yych <= '@') goto yy849;
22881
3.98k
    goto yy1258;
22882
70.7k
  } else {
22883
70.7k
    if (yych <= 'Z') {
22884
46.2k
      if (yych <= 'M') goto yy1260;
22885
2.41k
      goto yy1258;
22886
46.2k
    } else {
22887
24.5k
      if (yych <= '`') goto yy849;
22888
22.7k
      if (yych <= 'z') goto yy1259;
22889
2.16k
      goto yy849;
22890
22.7k
    }
22891
70.7k
  }
22892
49.3k
yy1213:
22893
49.3k
  YYDEBUG(1213, *YYCURSOR);
22894
49.3k
  yych = *++YYCURSOR;
22895
49.3k
  if (yych <= '@') {
22896
9.65k
    if (yych == ')') goto yy1078;
22897
8.45k
    goto yy849;
22898
39.7k
  } else {
22899
39.7k
    if (yych <= 'Z') goto yy1258;
22900
33.4k
    if (yych <= '`') goto yy849;
22901
29.6k
    if (yych <= 'z') goto yy1258;
22902
2.96k
    goto yy849;
22903
29.6k
  }
22904
29.0k
yy1214:
22905
29.0k
  YYDEBUG(1214, *YYCURSOR);
22906
29.0k
  ++YYCURSOR;
22907
29.0k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
22908
29.0k
  yych = *YYCURSOR;
22909
29.0k
  if (yych == 0xA0) goto yy1261;
22910
3.20k
  goto yy59;
22911
30.1k
yy1215:
22912
30.1k
  YYDEBUG(1215, *YYCURSOR);
22913
30.1k
  ++YYCURSOR;
22914
30.1k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
22915
30.1k
  yych = *YYCURSOR;
22916
30.1k
  if (yych == 0x80) goto yy1262;
22917
3.66k
  goto yy59;
22918
109k
yy1216:
22919
109k
  YYDEBUG(1216, *YYCURSOR);
22920
109k
  ++YYCURSOR;
22921
109k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
22922
109k
  yych = *YYCURSOR;
22923
430k
yy1217:
22924
430k
  YYDEBUG(1217, *YYCURSOR);
22925
430k
  if (yych <= '@') {
22926
172k
    if (yych <= '\'') {
22927
114k
      if (yych <= '\t') {
22928
27.9k
        if (yych <= 0x08) goto yy59;
22929
24.0k
        goto yy1216;
22930
86.5k
      } else {
22931
86.5k
        if (yych == ' ') goto yy1216;
22932
1.23k
        goto yy59;
22933
86.5k
      }
22934
114k
    } else {
22935
58.0k
      if (yych <= '+') {
22936
22.2k
        if (yych <= '(') goto yy1209;
22937
16.6k
        if (yych <= '*') goto yy59;
22938
14.6k
        goto yy1210;
22939
35.8k
      } else {
22940
35.8k
        if (yych == '-') goto yy1210;
22941
5.14k
        goto yy59;
22942
35.8k
      }
22943
58.0k
    }
22944
257k
  } else {
22945
257k
    if (yych <= 'Z') {
22946
197k
      if (yych <= 'G') {
22947
137k
        if (yych <= 'A') goto yy1218;
22948
65.8k
        if (yych <= 'F') goto yy1211;
22949
42.2k
        goto yy1212;
22950
65.8k
      } else {
22951
59.5k
        if (yych != 'P') goto yy1211;
22952
59.5k
      }
22953
197k
    } else {
22954
60.6k
      if (yych <= 'o') {
22955
42.9k
        if (yych <= '`') goto yy59;
22956
41.7k
        if (yych <= 'a') goto yy1219;
22957
17.2k
        goto yy1213;
22958
41.7k
      } else {
22959
17.7k
        if (yych <= 'p') goto yy1219;
22960
11.0k
        if (yych <= 'z') goto yy1213;
22961
3.80k
        goto yy59;
22962
11.0k
      }
22963
60.6k
    }
22964
257k
  }
22965
109k
yy1218:
22966
109k
  YYDEBUG(1218, *YYCURSOR);
22967
109k
  yyaccept = 20;
22968
109k
  yych = *(YYMARKER = ++YYCURSOR);
22969
109k
  if (yych <= 'L') {
22970
25.5k
    if (yych <= '-') {
22971
8.71k
      if (yych == ')') goto yy1078;
22972
3.65k
      goto yy849;
22973
16.8k
    } else {
22974
16.8k
      if (yych <= '.') goto yy1151;
22975
7.95k
      if (yych <= '@') goto yy849;
22976
2.88k
      goto yy1258;
22977
7.95k
    }
22978
84.4k
  } else {
22979
84.4k
    if (yych <= '`') {
22980
16.7k
      if (yych <= 'M') goto yy1263;
22981
5.78k
      if (yych <= 'Z') goto yy1258;
22982
2.18k
      goto yy849;
22983
67.7k
    } else {
22984
67.7k
      if (yych == 'm') goto yy1264;
22985
29.7k
      if (yych <= 'z') goto yy1259;
22986
2.29k
      goto yy849;
22987
29.7k
    }
22988
84.4k
  }
22989
40.5k
yy1219:
22990
40.5k
  YYDEBUG(1219, *YYCURSOR);
22991
40.5k
  yyaccept = 20;
22992
40.5k
  yych = *(YYMARKER = ++YYCURSOR);
22993
40.5k
  if (yych <= 'L') {
22994
15.5k
    if (yych <= '-') {
22995
9.34k
      if (yych == ')') goto yy1078;
22996
4.85k
      goto yy849;
22997
9.34k
    } else {
22998
6.24k
      if (yych <= '.') goto yy1151;
22999
5.20k
      if (yych <= '@') goto yy849;
23000
2.21k
      goto yy1258;
23001
5.20k
    }
23002
25.0k
  } else {
23003
25.0k
    if (yych <= '`') {
23004
10.6k
      if (yych <= 'M') goto yy1263;
23005
3.00k
      if (yych <= 'Z') goto yy1258;
23006
1.31k
      goto yy849;
23007
14.4k
    } else {
23008
14.4k
      if (yych == 'm') goto yy1263;
23009
7.03k
      if (yych <= 'z') goto yy1258;
23010
977
      goto yy849;
23011
7.03k
    }
23012
25.0k
  }
23013
54.8k
yy1220:
23014
54.8k
  YYDEBUG(1220, *YYCURSOR);
23015
54.8k
  ++YYCURSOR;
23016
54.8k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
23017
54.8k
  yych = *YYCURSOR;
23018
54.8k
  if (yych == 0xA0) goto yy1265;
23019
4.23k
  goto yy59;
23020
49.7k
yy1221:
23021
49.7k
  YYDEBUG(1221, *YYCURSOR);
23022
49.7k
  ++YYCURSOR;
23023
49.7k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
23024
49.7k
  yych = *YYCURSOR;
23025
49.7k
  if (yych == 0x80) goto yy1266;
23026
2.69k
  goto yy59;
23027
30.7k
yy1222:
23028
30.7k
  YYDEBUG(1222, *YYCURSOR);
23029
30.7k
  ++YYCURSOR;
23030
30.7k
  YYDEBUG(1223, *YYCURSOR);
23031
30.7k
#line 1914 "ext/date/lib/parse_date.re"
23032
30.7k
  {
23033
30.7k
    DEBUG_OUTPUT("dateshortwithtimeshort12 | dateshortwithtimelong12");
23034
30.7k
    TIMELIB_INIT;
23035
30.7k
    TIMELIB_HAVE_DATE();
23036
12.4k
    s->time->m = timelib_get_month(&ptr);
23037
12.4k
    s->time->d = timelib_get_nr(&ptr, 2);
23038
23039
12.4k
    TIMELIB_HAVE_TIME();
23040
10.1k
    s->time->h = timelib_get_nr(&ptr, 2);
23041
10.1k
    s->time->i = timelib_get_nr(&ptr, 2);
23042
10.1k
    if (*ptr == ':' || *ptr == '.') {
23043
3.83k
      s->time->s = timelib_get_nr(&ptr, 2);
23044
23045
3.83k
      if (*ptr == '.') {
23046
0
        s->time->us = timelib_get_frac_nr(&ptr);
23047
0
      }
23048
3.83k
    }
23049
23050
10.1k
    s->time->h += timelib_meridian(&ptr, s->time->h);
23051
10.1k
    TIMELIB_DEINIT;
23052
10.1k
    return TIMELIB_SHORTDATE_WITH_TIME;
23053
12.4k
  }
23054
0
#line 23055 "ext/date/lib/parse_date.c"
23055
14.6k
yy1224:
23056
14.6k
  YYDEBUG(1224, *YYCURSOR);
23057
14.6k
  yych = *++YYCURSOR;
23058
14.6k
  if (yych <= '\t') {
23059
7.94k
    if (yych <= 0x00) goto yy1222;
23060
5.74k
    if (yych <= 0x08) goto yy59;
23061
3.83k
    goto yy1222;
23062
6.73k
  } else {
23063
6.73k
    if (yych == ' ') goto yy1222;
23064
4.17k
    goto yy59;
23065
6.73k
  }
23066
19.0k
yy1225:
23067
19.0k
  YYDEBUG(1225, *YYCURSOR);
23068
19.0k
  ++YYCURSOR;
23069
19.0k
  if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
23070
19.0k
  yych = *YYCURSOR;
23071
19.0k
  if (yych <= '`') {
23072
3.55k
    if (yych <= 'A') {
23073
2.05k
      if (yych <= '@') goto yy59;
23074
607
      goto yy1083;
23075
2.05k
    } else {
23076
1.49k
      if (yych == 'P') goto yy1083;
23077
1.24k
      goto yy59;
23078
1.49k
    }
23079
15.5k
  } else {
23080
15.5k
    if (yych <= 'p') {
23081
9.53k
      if (yych <= 'a') goto yy1083;
23082
9.08k
      if (yych <= 'o') goto yy59;
23083
4.16k
      goto yy1083;
23084
9.08k
    } else {
23085
5.99k
      if (yych == 0xE2) goto yy1085;
23086
828
      goto yy59;
23087
5.99k
    }
23088
15.5k
  }
23089
18.8k
yy1226:
23090
18.8k
  YYDEBUG(1226, *YYCURSOR);
23091
18.8k
  yych = *++YYCURSOR;
23092
18.8k
  if (yych == 'N') goto yy1227;
23093
7.88k
  if (yych != 'n') goto yy59;
23094
18.7k
yy1227:
23095
18.7k
  YYDEBUG(1227, *YYCURSOR);
23096
18.7k
  yych = *++YYCURSOR;
23097
18.7k
  if (yych == 'I') goto yy1267;
23098
10.0k
  if (yych == 'i') goto yy1267;
23099
3.75k
  goto yy59;
23100
14.4k
yy1228:
23101
14.4k
  YYDEBUG(1228, *YYCURSOR);
23102
14.4k
  yych = *++YYCURSOR;
23103
14.4k
  if (yych == 'F') goto yy1268;
23104
10.4k
  if (yych == 'f') goto yy1268;
23105
5.50k
  goto yy59;
23106
46.1k
yy1229:
23107
46.1k
  YYDEBUG(1229, *YYCURSOR);
23108
46.1k
  yych = *++YYCURSOR;
23109
46.1k
  if (yych == 'Y') goto yy1270;
23110
33.2k
  if (yych == 'y') goto yy1270;
23111
6.95k
  goto yy59;
23112
12.0k
yy1230:
23113
12.0k
  YYDEBUG(1230, *YYCURSOR);
23114
12.0k
  ++YYCURSOR;
23115
12.0k
  if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
23116
12.0k
  yych = *YYCURSOR;
23117
12.0k
  if (yych <= 'n') {
23118
4.41k
    if (yych == 'O') goto yy1228;
23119
1.14k
    goto yy59;
23120
7.58k
  } else {
23121
7.58k
    if (yych <= 'o') goto yy1228;
23122
6.10k
    if (yych == 0xC2) goto yy1160;
23123
2.06k
    goto yy59;
23124
6.10k
  }
23125
12.9k
yy1231:
23126
12.9k
  YYDEBUG(1231, *YYCURSOR);
23127
12.9k
  ++YYCURSOR;
23128
12.9k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
23129
12.9k
  yych = *YYCURSOR;
23130
12.9k
  if (yych == 0xAF) goto yy1271;
23131
2.91k
  goto yy59;
23132
17.4k
yy1232:
23133
17.4k
  YYDEBUG(1232, *YYCURSOR);
23134
17.4k
  yych = *++YYCURSOR;
23135
17.4k
  if (yych == 'S') goto yy1272;
23136
11.4k
  if (yych == 's') goto yy1272;
23137
2.47k
  goto yy59;
23138
6.32k
yy1233:
23139
6.32k
  YYDEBUG(1233, *YYCURSOR);
23140
6.32k
  yych = *++YYCURSOR;
23141
6.32k
  if (yych == 'E') goto yy1086;
23142
4.47k
  if (yych == 'e') goto yy1086;
23143
1.47k
  goto yy59;
23144
10.9k
yy1234:
23145
10.9k
  YYDEBUG(1234, *YYCURSOR);
23146
10.9k
  yych = *++YYCURSOR;
23147
10.9k
  if (yych == 'D') goto yy1086;
23148
4.96k
  if (yych == 'd') goto yy1086;
23149
3.84k
  goto yy59;
23150
5.97k
yy1235:
23151
5.97k
  YYDEBUG(1235, *YYCURSOR);
23152
5.97k
  yych = *++YYCURSOR;
23153
5.97k
  if (yych == 'F') goto yy1273;
23154
4.54k
  if (yych == 'f') goto yy1273;
23155
2.14k
  goto yy59;
23156
7.50k
yy1236:
23157
7.50k
  YYDEBUG(1236, *YYCURSOR);
23158
7.50k
  yych = *++YYCURSOR;
23159
7.50k
  if (yych <= '/') goto yy59;
23160
4.79k
  if (yych <= '9') goto yy1275;
23161
2.23k
  goto yy59;
23162
12.1k
yy1237:
23163
12.1k
  YYDEBUG(1237, *YYCURSOR);
23164
12.1k
  yych = *++YYCURSOR;
23165
12.1k
  if (yych <= '/') goto yy59;
23166
8.43k
  if (yych <= '1') goto yy1275;
23167
5.85k
  goto yy59;
23168
266k
yy1238:
23169
266k
  YYDEBUG(1238, *YYCURSOR);
23170
266k
  yych = *++YYCURSOR;
23171
266k
  if (yych <= '9') {
23172
242k
    if (yych == '-') goto yy893;
23173
227k
    if (yych <= '/') goto yy196;
23174
216k
    goto yy1277;
23175
227k
  } else {
23176
24.2k
    if (yych <= 0xC2) {
23177
19.1k
      if (yych <= 0xC1) goto yy196;
23178
2.27k
      goto yy97;
23179
19.1k
    } else {
23180
5.09k
      if (yych == 0xE2) goto yy98;
23181
3.37k
      goto yy196;
23182
5.09k
    }
23183
24.2k
  }
23184
200k
yy1239:
23185
200k
  YYDEBUG(1239, *YYCURSOR);
23186
200k
  yych = *++YYCURSOR;
23187
200k
  if (yych <= '/') goto yy59;
23188
196k
  if (yych <= '1') goto yy1278;
23189
29.0k
  if (yych <= '2') goto yy1279;
23190
6.87k
  goto yy59;
23191
30.6k
yy1240:
23192
30.6k
  YYDEBUG(1240, *YYCURSOR);
23193
30.6k
  yych = *++YYCURSOR;
23194
30.6k
  if (yych <= '/') goto yy59;
23195
26.5k
  if (yych <= '5') goto yy1280;
23196
5.69k
  if (yych <= '9') goto yy1281;
23197
3.22k
  goto yy59;
23198
131k
yy1241:
23199
131k
  YYDEBUG(1241, *YYCURSOR);
23200
131k
  yych = *++YYCURSOR;
23201
131k
  if (yych <= '/') goto yy59;
23202
124k
  if (yych <= '1') goto yy1282;
23203
25.6k
  if (yych <= '2') goto yy1283;
23204
8.09k
  if (yych <= '9') goto yy1184;
23205
4.88k
  goto yy59;
23206
3.12M
yy1242:
23207
3.12M
  YYDEBUG(1242, *YYCURSOR);
23208
3.12M
  yych = *++YYCURSOR;
23209
3.12M
  if (yych <= 0xC1) {
23210
3.07M
    if (yych <= '/') goto yy196;
23211
2.93M
    if (yych <= '9') goto yy1284;
23212
154k
    goto yy196;
23213
2.93M
  } else {
23214
51.1k
    if (yych <= 0xC2) goto yy97;
23215
38.3k
    if (yych == 0xE2) goto yy98;
23216
22.7k
    goto yy196;
23217
38.3k
  }
23218
26.2k
yy1243:
23219
26.2k
  YYDEBUG(1243, *YYCURSOR);
23220
26.2k
  yych = *++YYCURSOR;
23221
26.2k
  if (yych <= '/') goto yy59;
23222
25.4k
  if (yych <= '5') goto yy1285;
23223
16.4k
  if (yych <= '9') goto yy1286;
23224
11.5k
  if (yych >= ';') goto yy59;
23225
18.9k
yy1244:
23226
18.9k
  YYDEBUG(1244, *YYCURSOR);
23227
18.9k
  yych = *++YYCURSOR;
23228
18.9k
  if (yych <= '/') goto yy59;
23229
16.6k
  if (yych <= '5') goto yy1287;
23230
5.33k
  goto yy59;
23231
19.1k
yy1245:
23232
19.1k
  YYDEBUG(1245, *YYCURSOR);
23233
19.1k
  yych = *++YYCURSOR;
23234
19.1k
  if (yych <= '/') goto yy59;
23235
11.2k
  if (yych <= '9') goto yy1286;
23236
2.69k
  goto yy59;
23237
27.7k
yy1246:
23238
27.7k
  YYDEBUG(1246, *YYCURSOR);
23239
27.7k
  yych = *++YYCURSOR;
23240
27.7k
  if (yych <= '/') goto yy59;
23241
26.4k
  if (yych <= '5') goto yy1285;
23242
4.49k
  if (yych <= '9') goto yy1286;
23243
2.19k
  goto yy59;
23244
12.0k
yy1247:
23245
12.0k
  YYDEBUG(1247, *YYCURSOR);
23246
12.0k
  yych = *++YYCURSOR;
23247
12.0k
  if (yych <= '/') goto yy59;
23248
10.0k
  if (yych <= '1') goto yy1288;
23249
6.00k
  if (yych <= '2') goto yy1289;
23250
1.16k
  goto yy59;
23251
7.42k
yy1248:
23252
7.42k
  YYDEBUG(1248, *YYCURSOR);
23253
7.42k
  yych = *++YYCURSOR;
23254
7.42k
  if (yych == 'M') goto yy1249;
23255
5.64k
  if (yych != 'm') goto yy59;
23256
20.7k
yy1249:
23257
20.7k
  YYDEBUG(1249, *YYCURSOR);
23258
20.7k
  yych = *++YYCURSOR;
23259
20.7k
  if (yych <= 0x1F) {
23260
4.89k
    if (yych <= 0x00) goto yy1290;
23261
2.59k
    if (yych == '\t') goto yy1290;
23262
839
    goto yy59;
23263
15.8k
  } else {
23264
15.8k
    if (yych <= ' ') goto yy1290;
23265
11.7k
    if (yych == '.') goto yy1292;
23266
2.55k
    goto yy59;
23267
11.7k
  }
23268
3.68k
yy1250:
23269
3.68k
  YYDEBUG(1250, *YYCURSOR);
23270
3.68k
  ++YYCURSOR;
23271
3.68k
  goto yy1070;
23272
9.52k
yy1251:
23273
9.52k
  YYDEBUG(1251, *YYCURSOR);
23274
9.52k
  yych = *++YYCURSOR;
23275
9.52k
  if (yych == 'M') goto yy1252;
23276
5.58k
  if (yych != 'm') goto yy59;
23277
34.4k
yy1252:
23278
34.4k
  YYDEBUG(1252, *YYCURSOR);
23279
34.4k
  yych = *++YYCURSOR;
23280
34.4k
  if (yych <= 0x1F) {
23281
7.72k
    if (yych <= 0x00) goto yy1293;
23282
4.76k
    if (yych == '\t') goto yy1293;
23283
3.07k
    goto yy59;
23284
26.7k
  } else {
23285
26.7k
    if (yych <= ' ') goto yy1293;
23286
22.0k
    if (yych == '.') goto yy1294;
23287
6.22k
    goto yy59;
23288
22.0k
  }
23289
36.1k
yy1253:
23290
36.1k
  YYDEBUG(1253, *YYCURSOR);
23291
36.1k
  ++YYCURSOR;
23292
36.1k
  if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
23293
36.1k
  yych = *YYCURSOR;
23294
36.1k
  if (yych <= '`') {
23295
11.1k
    if (yych <= 'A') {
23296
6.43k
      if (yych <= '@') goto yy59;
23297
3.16k
      goto yy1203;
23298
6.43k
    } else {
23299
4.67k
      if (yych == 'P') goto yy1203;
23300
2.86k
      goto yy59;
23301
4.67k
    }
23302
25.0k
  } else {
23303
25.0k
    if (yych <= 'p') {
23304
11.9k
      if (yych <= 'a') goto yy1203;
23305
6.26k
      if (yych <= 'o') goto yy59;
23306
4.90k
      goto yy1203;
23307
13.0k
    } else {
23308
13.0k
      if (yych == 0xC2) goto yy1204;
23309
3.03k
      goto yy59;
23310
13.0k
    }
23311
25.0k
  }
23312
39.0k
yy1254:
23313
39.0k
  YYDEBUG(1254, *YYCURSOR);
23314
39.0k
  ++YYCURSOR;
23315
39.0k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
23316
39.0k
  yych = *YYCURSOR;
23317
39.0k
  if (yych == 0xAF) goto yy1295;
23318
3.10k
  goto yy59;
23319
34.7k
yy1255:
23320
34.7k
  YYDEBUG(1255, *YYCURSOR);
23321
34.7k
  yyaccept = 20;
23322
34.7k
  yych = *(YYMARKER = ++YYCURSOR);
23323
34.7k
  if (yych <= '/') goto yy849;
23324
31.2k
  if (yych <= '9') goto yy1296;
23325
5.19k
  if (yych <= ':') goto yy1297;
23326
3.10k
  goto yy849;
23327
32.6k
yy1256:
23328
32.6k
  YYDEBUG(1256, *YYCURSOR);
23329
32.6k
  yyaccept = 20;
23330
32.6k
  yych = *(YYMARKER = ++YYCURSOR);
23331
32.6k
  if (yych <= '5') {
23332
24.8k
    if (yych <= '/') goto yy849;
23333
23.4k
    if (yych <= '4') goto yy1296;
23334
2.86k
    goto yy1298;
23335
23.4k
  } else {
23336
7.83k
    if (yych <= '9') goto yy1078;
23337
4.86k
    if (yych <= ':') goto yy1297;
23338
1.41k
    goto yy849;
23339
4.86k
  }
23340
10.9k
yy1257:
23341
10.9k
  YYDEBUG(1257, *YYCURSOR);
23342
10.9k
  yyaccept = 20;
23343
10.9k
  yych = *(YYMARKER = ++YYCURSOR);
23344
10.9k
  if (yych <= '/') goto yy849;
23345
8.45k
  if (yych <= '5') goto yy1298;
23346
6.52k
  if (yych <= '9') goto yy1078;
23347
4.85k
  if (yych <= ':') goto yy1297;
23348
3.16k
  goto yy849;
23349
65.8k
yy1258:
23350
65.8k
  YYDEBUG(1258, *YYCURSOR);
23351
65.8k
  yych = *++YYCURSOR;
23352
65.8k
  if (yych <= '@') {
23353
13.0k
    if (yych == ')') goto yy1078;
23354
10.8k
    goto yy849;
23355
52.8k
  } else {
23356
52.8k
    if (yych <= 'Z') goto yy1299;
23357
41.2k
    if (yych <= '`') goto yy849;
23358
38.5k
    if (yych <= 'z') goto yy1299;
23359
5.42k
    goto yy849;
23360
38.5k
  }
23361
130k
yy1259:
23362
130k
  YYDEBUG(1259, *YYCURSOR);
23363
130k
  yyaccept = 20;
23364
130k
  yych = *(YYMARKER = ++YYCURSOR);
23365
130k
  if (yych <= '/') {
23366
12.9k
    if (yych <= ',') {
23367
5.90k
      if (yych == ')') goto yy1078;
23368
4.69k
      goto yy849;
23369
7.02k
    } else {
23370
7.02k
      if (yych == '.') goto yy849;
23371
2.15k
      goto yy1300;
23372
7.02k
    }
23373
117k
  } else {
23374
117k
    if (yych <= '^') {
23375
14.3k
      if (yych <= '@') goto yy849;
23376
8.38k
      if (yych <= 'Z') goto yy1299;
23377
2.62k
      goto yy849;
23378
103k
    } else {
23379
103k
      if (yych <= '_') goto yy1300;
23380
100k
      if (yych <= '`') goto yy849;
23381
98.5k
      if (yych <= 'z') goto yy1301;
23382
4.47k
      goto yy849;
23383
98.5k
    }
23384
117k
  }
23385
43.8k
yy1260:
23386
43.8k
  YYDEBUG(1260, *YYCURSOR);
23387
43.8k
  yych = *++YYCURSOR;
23388
43.8k
  if (yych <= 'S') {
23389
7.15k
    if (yych == ')') goto yy1078;
23390
5.21k
    if (yych <= '@') goto yy849;
23391
1.68k
    goto yy1299;
23392
36.6k
  } else {
23393
36.6k
    if (yych <= 'Z') {
23394
32.1k
      if (yych <= 'T') goto yy1302;
23395
1.59k
      goto yy1299;
23396
32.1k
    } else {
23397
4.51k
      if (yych <= '`') goto yy849;
23398
3.30k
      if (yych <= 'z') goto yy1299;
23399
825
      goto yy849;
23400
3.30k
    }
23401
36.6k
  }
23402
25.8k
yy1261:
23403
25.8k
  YYDEBUG(1261, *YYCURSOR);
23404
25.8k
  ++YYCURSOR;
23405
25.8k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
23406
25.8k
  yych = *YYCURSOR;
23407
25.8k
  if (yych <= '@') {
23408
12.3k
    if (yych <= '*') {
23409
3.18k
      if (yych == '(') goto yy1209;
23410
1.12k
      goto yy59;
23411
9.13k
    } else {
23412
9.13k
      if (yych == ',') goto yy59;
23413
5.69k
      if (yych <= '-') goto yy1210;
23414
2.19k
      goto yy59;
23415
5.69k
    }
23416
13.5k
  } else {
23417
13.5k
    if (yych <= '`') {
23418
6.14k
      if (yych == 'G') goto yy1212;
23419
1.64k
      if (yych <= 'Z') goto yy1211;
23420
532
      goto yy59;
23421
7.41k
    } else {
23422
7.41k
      if (yych <= 'z') goto yy1213;
23423
6.12k
      if (yych == 0xC2) goto yy1214;
23424
2.14k
      goto yy59;
23425
6.12k
    }
23426
13.5k
  }
23427
26.4k
yy1262:
23428
26.4k
  YYDEBUG(1262, *YYCURSOR);
23429
26.4k
  ++YYCURSOR;
23430
26.4k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
23431
26.4k
  yych = *YYCURSOR;
23432
26.4k
  if (yych == 0xAF) goto yy1303;
23433
1.70k
  goto yy59;
23434
25.8k
yy1263:
23435
25.8k
  YYDEBUG(1263, *YYCURSOR);
23436
25.8k
  yyaccept = 20;
23437
25.8k
  yych = *(YYMARKER = ++YYCURSOR);
23438
25.8k
  if (yych <= ')') {
23439
10.0k
    if (yych <= '\t') {
23440
5.02k
      if (yych <= 0x00) goto yy1222;
23441
3.14k
      if (yych <= 0x08) goto yy849;
23442
1.79k
      goto yy1222;
23443
5.04k
    } else {
23444
5.04k
      if (yych == ' ') goto yy1222;
23445
4.45k
      if (yych <= '(') goto yy849;
23446
1.73k
      goto yy1078;
23447
4.45k
    }
23448
15.8k
  } else {
23449
15.8k
    if (yych <= '@') {
23450
6.11k
      if (yych == '.') goto yy1224;
23451
1.82k
      goto yy849;
23452
9.71k
    } else {
23453
9.71k
      if (yych <= 'Z') goto yy1299;
23454
6.62k
      if (yych <= '`') goto yy849;
23455
4.32k
      if (yych <= 'z') goto yy1299;
23456
2.20k
      goto yy849;
23457
4.32k
    }
23458
15.8k
  }
23459
37.9k
yy1264:
23460
37.9k
  YYDEBUG(1264, *YYCURSOR);
23461
37.9k
  yyaccept = 20;
23462
37.9k
  yych = *(YYMARKER = ++YYCURSOR);
23463
37.9k
  if (yych <= '-') {
23464
16.3k
    if (yych <= 0x1F) {
23465
5.61k
      if (yych <= 0x00) goto yy1222;
23466
1.89k
      if (yych == '\t') goto yy1222;
23467
1.12k
      goto yy849;
23468
10.7k
    } else {
23469
10.7k
      if (yych <= '(') {
23470
5.55k
        if (yych <= ' ') goto yy1222;
23471
2.24k
        goto yy849;
23472
5.55k
      } else {
23473
5.21k
        if (yych <= ')') goto yy1078;
23474
3.64k
        if (yych <= ',') goto yy849;
23475
1.84k
        goto yy1300;
23476
3.64k
      }
23477
10.7k
    }
23478
21.6k
  } else {
23479
21.6k
    if (yych <= 'Z') {
23480
9.26k
      if (yych <= '.') goto yy1224;
23481
5.86k
      if (yych <= '/') goto yy1300;
23482
4.54k
      if (yych <= '@') goto yy849;
23483
2.62k
      goto yy1299;
23484
12.3k
    } else {
23485
12.3k
      if (yych <= '_') {
23486
2.94k
        if (yych <= '^') goto yy849;
23487
1.91k
        goto yy1300;
23488
9.38k
      } else {
23489
9.38k
        if (yych <= '`') goto yy849;
23490
7.88k
        if (yych <= 'z') goto yy1301;
23491
2.77k
        goto yy849;
23492
7.88k
      }
23493
12.3k
    }
23494
21.6k
  }
23495
50.6k
yy1265:
23496
50.6k
  YYDEBUG(1265, *YYCURSOR);
23497
50.6k
  ++YYCURSOR;
23498
50.6k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
23499
50.6k
  yych = *YYCURSOR;
23500
50.6k
  if (yych <= 'G') {
23501
18.2k
    if (yych <= ',') {
23502
10.9k
      if (yych <= '(') {
23503
5.41k
        if (yych <= '\'') goto yy59;
23504
1.63k
        goto yy1209;
23505
5.49k
      } else {
23506
5.49k
        if (yych == '+') goto yy1210;
23507
970
        goto yy59;
23508
5.49k
      }
23509
10.9k
    } else {
23510
7.37k
      if (yych <= '@') {
23511
1.25k
        if (yych <= '-') goto yy1210;
23512
675
        goto yy59;
23513
6.12k
      } else {
23514
6.12k
        if (yych <= 'A') goto yy1218;
23515
2.79k
        if (yych <= 'F') goto yy1211;
23516
1.36k
        goto yy1212;
23517
2.79k
      }
23518
7.37k
    }
23519
32.3k
  } else {
23520
32.3k
    if (yych <= 'a') {
23521
16.9k
      if (yych <= 'P') {
23522
9.12k
        if (yych <= 'O') goto yy1211;
23523
3.52k
        goto yy1218;
23524
9.12k
      } else {
23525
7.84k
        if (yych <= 'Z') goto yy1211;
23526
4.00k
        if (yych <= '`') goto yy59;
23527
2.41k
        goto yy1219;
23528
4.00k
      }
23529
16.9k
    } else {
23530
15.4k
      if (yych <= 'z') {
23531
2.11k
        if (yych == 'p') goto yy1219;
23532
1.86k
        goto yy1213;
23533
13.3k
      } else {
23534
13.3k
        if (yych == 0xC2) goto yy1220;
23535
2.14k
        goto yy59;
23536
13.3k
      }
23537
15.4k
    }
23538
32.3k
  }
23539
47.0k
yy1266:
23540
47.0k
  YYDEBUG(1266, *YYCURSOR);
23541
47.0k
  ++YYCURSOR;
23542
47.0k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
23543
47.0k
  yych = *YYCURSOR;
23544
47.0k
  if (yych == 0xAF) goto yy1304;
23545
5.79k
  goto yy59;
23546
15.0k
yy1267:
23547
15.0k
  YYDEBUG(1267, *YYCURSOR);
23548
15.0k
  yych = *++YYCURSOR;
23549
15.0k
  if (yych == 'G') goto yy1305;
23550
7.44k
  if (yych == 'g') goto yy1305;
23551
3.71k
  goto yy59;
23552
8.89k
yy1268:
23553
8.89k
  YYDEBUG(1268, *YYCURSOR);
23554
8.89k
  ++YYCURSOR;
23555
8.89k
  YYDEBUG(1269, *YYCURSOR);
23556
8.89k
#line 1327 "ext/date/lib/parse_date.re"
23557
8.89k
  {
23558
8.89k
    timelib_sll i;
23559
8.89k
    int         behavior = 0;
23560
8.89k
    DEBUG_OUTPUT("weekdayof");
23561
8.89k
    TIMELIB_INIT;
23562
8.89k
    TIMELIB_HAVE_RELATIVE();
23563
8.89k
    TIMELIB_HAVE_SPECIAL_RELATIVE();
23564
23565
8.89k
    i = timelib_get_relative_text(&ptr, &behavior);
23566
8.89k
    timelib_eat_spaces(&ptr);
23567
8.89k
    if (i > 0) { /* first, second... etc */
23568
5.66k
      s->time->relative.special.type = TIMELIB_SPECIAL_DAY_OF_WEEK_IN_MONTH;
23569
5.66k
      timelib_set_relative(&ptr, i, 1, s, TIMELIB_TIME_PART_DONT_KEEP);
23570
5.66k
    } else { /* last */
23571
3.23k
      s->time->relative.special.type = TIMELIB_SPECIAL_LAST_DAY_OF_WEEK_IN_MONTH;
23572
3.23k
      timelib_set_relative(&ptr, i, behavior, s, TIMELIB_TIME_PART_DONT_KEEP);
23573
3.23k
    }
23574
8.89k
    TIMELIB_DEINIT;
23575
8.89k
    return TIMELIB_WEEK_DAY_OF_MONTH;
23576
7.44k
  }
23577
0
#line 23578 "ext/date/lib/parse_date.c"
23578
39.2k
yy1270:
23579
39.2k
  YYDEBUG(1270, *YYCURSOR);
23580
39.2k
  yyaccept = 24;
23581
39.2k
  yych = *(YYMARKER = ++YYCURSOR);
23582
39.2k
  if (yych <= 'S') {
23583
18.1k
    if (yych <= 0x1F) {
23584
6.97k
      if (yych == '\t') goto yy1157;
23585
3.16k
      goto yy982;
23586
11.1k
    } else {
23587
11.1k
      if (yych <= ' ') goto yy1157;
23588
7.38k
      if (yych <= 'R') goto yy982;
23589
4.00k
      goto yy1306;
23590
7.38k
    }
23591
21.0k
  } else {
23592
21.0k
    if (yych <= 0xC1) {
23593
16.3k
      if (yych == 's') goto yy1306;
23594
3.14k
      goto yy982;
23595
16.3k
    } else {
23596
4.76k
      if (yych <= 0xC2) goto yy1160;
23597
4.15k
      if (yych == 0xE2) goto yy1161;
23598
1.93k
      goto yy982;
23599
4.15k
    }
23600
21.0k
  }
23601
10.0k
yy1271:
23602
10.0k
  YYDEBUG(1271, *YYCURSOR);
23603
10.0k
  ++YYCURSOR;
23604
10.0k
  if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
23605
10.0k
  yych = *YYCURSOR;
23606
10.0k
  if (yych <= 'n') {
23607
3.37k
    if (yych == 'O') goto yy1228;
23608
3.05k
    goto yy59;
23609
6.71k
  } else {
23610
6.71k
    if (yych <= 'o') goto yy1228;
23611
5.07k
    if (yych == 0xE2) goto yy1161;
23612
589
    goto yy59;
23613
5.07k
  }
23614
14.9k
yy1272:
23615
14.9k
  YYDEBUG(1272, *YYCURSOR);
23616
14.9k
  yych = *++YYCURSOR;
23617
14.9k
  if (yych == 'E') goto yy1307;
23618
13.6k
  if (yych == 'e') goto yy1307;
23619
2.82k
  goto yy59;
23620
3.83k
yy1273:
23621
3.83k
  YYDEBUG(1273, *YYCURSOR);
23622
3.83k
  ++YYCURSOR;
23623
3.83k
  YYDEBUG(1274, *YYCURSOR);
23624
3.83k
#line 1287 "ext/date/lib/parse_date.re"
23625
3.83k
  {
23626
3.83k
    DEBUG_OUTPUT("firstdayof | lastdayof");
23627
3.83k
    TIMELIB_INIT;
23628
3.83k
    TIMELIB_HAVE_RELATIVE();
23629
23630
    /* skip "last day of" or "first day of" */
23631
3.83k
    if (*ptr == 'l' || *ptr == 'L') {
23632
3.23k
      s->time->relative.first_last_day_of = TIMELIB_SPECIAL_LAST_DAY_OF_MONTH;
23633
3.23k
    } else {
23634
599
      s->time->relative.first_last_day_of = TIMELIB_SPECIAL_FIRST_DAY_OF_MONTH;
23635
599
    }
23636
23637
3.83k
    TIMELIB_DEINIT;
23638
3.83k
    return TIMELIB_LF_DAY_OF_MONTH;
23639
13.6k
  }
23640
0
#line 23641 "ext/date/lib/parse_date.c"
23641
5.14k
yy1275:
23642
5.14k
  YYDEBUG(1275, *YYCURSOR);
23643
5.14k
  ++YYCURSOR;
23644
5.14k
  YYDEBUG(1276, *YYCURSOR);
23645
5.14k
#line 1523 "ext/date/lib/parse_date.re"
23646
5.14k
  {
23647
5.14k
    DEBUG_OUTPUT("iso8601datex");
23648
5.14k
    TIMELIB_INIT;
23649
5.14k
    TIMELIB_HAVE_DATE();
23650
808
    s->time->y = timelib_get_signed_nr(s, &ptr, 19);
23651
808
    s->time->m = timelib_get_nr(&ptr, 2);
23652
808
    s->time->d = timelib_get_nr(&ptr, 2);
23653
808
    TIMELIB_DEINIT;
23654
808
    return TIMELIB_ISO_DATE;
23655
5.14k
  }
23656
0
#line 23657 "ext/date/lib/parse_date.c"
23657
216k
yy1277:
23658
216k
  YYDEBUG(1277, *YYCURSOR);
23659
216k
  yych = *++YYCURSOR;
23660
216k
  if (yych <= '9') {
23661
196k
    if (yych == '-') goto yy893;
23662
190k
    if (yych <= '/') goto yy196;
23663
184k
    goto yy1308;
23664
190k
  } else {
23665
19.4k
    if (yych <= 0xC2) {
23666
16.1k
      if (yych <= 0xC1) goto yy196;
23667
3.57k
      goto yy97;
23668
16.1k
    } else {
23669
3.28k
      if (yych == 0xE2) goto yy98;
23670
2.02k
      goto yy196;
23671
3.28k
    }
23672
19.4k
  }
23673
167k
yy1278:
23674
167k
  YYDEBUG(1278, *YYCURSOR);
23675
167k
  yych = *++YYCURSOR;
23676
167k
  if (yych <= '/') goto yy59;
23677
162k
  if (yych <= '9') goto yy1309;
23678
5.72k
  goto yy59;
23679
22.1k
yy1279:
23680
22.1k
  YYDEBUG(1279, *YYCURSOR);
23681
22.1k
  yych = *++YYCURSOR;
23682
22.1k
  if (yych <= '/') goto yy59;
23683
18.1k
  if (yych <= '4') goto yy1309;
23684
3.13k
  goto yy59;
23685
20.9k
yy1280:
23686
20.9k
  YYDEBUG(1280, *YYCURSOR);
23687
20.9k
  yych = *++YYCURSOR;
23688
20.9k
  if (yych <= '/') goto yy59;
23689
18.2k
  if (yych <= '9') goto yy1281;
23690
10.4k
  if (yych <= ':') goto yy1310;
23691
2.67k
  goto yy59;
23692
11.4k
yy1281:
23693
11.4k
  YYDEBUG(1281, *YYCURSOR);
23694
11.4k
  yych = *++YYCURSOR;
23695
11.4k
  if (yych == ':') goto yy1310;
23696
8.38k
  goto yy59;
23697
99.1k
yy1282:
23698
99.1k
  YYDEBUG(1282, *YYCURSOR);
23699
99.1k
  yych = *++YYCURSOR;
23700
99.1k
  if (yych <= '/') goto yy59;
23701
96.8k
  if (yych <= '9') goto yy1311;
23702
5.13k
  if (yych <= ':') goto yy1240;
23703
1.93k
  goto yy59;
23704
17.5k
yy1283:
23705
17.5k
  YYDEBUG(1283, *YYCURSOR);
23706
17.5k
  yych = *++YYCURSOR;
23707
17.5k
  if (yych <= '/') goto yy59;
23708
16.5k
  if (yych <= '4') goto yy1311;
23709
5.57k
  if (yych == ':') goto yy1240;
23710
2.03k
  goto yy59;
23711
2.78M
yy1284:
23712
2.78M
  YYDEBUG(1284, *YYCURSOR);
23713
2.78M
  yych = *++YYCURSOR;
23714
2.78M
  if (yych <= 0xC1) {
23715
2.72M
    if (yych <= '/') goto yy196;
23716
2.63M
    if (yych <= '9') goto yy1312;
23717
173k
    goto yy196;
23718
2.63M
  } else {
23719
57.4k
    if (yych <= 0xC2) goto yy97;
23720
51.2k
    if (yych == 0xE2) goto yy98;
23721
30.2k
    goto yy196;
23722
51.2k
  }
23723
30.8k
yy1285:
23724
30.8k
  YYDEBUG(1285, *YYCURSOR);
23725
30.8k
  yych = *++YYCURSOR;
23726
30.8k
  if (yych <= '/') goto yy59;
23727
23.2k
  if (yych <= '5') goto yy1310;
23728
13.2k
  if (yych <= '6') goto yy1313;
23729
5.96k
  if (yych >= ':') goto yy59;
23730
22.0k
yy1286:
23731
22.0k
  YYDEBUG(1286, *YYCURSOR);
23732
22.0k
  yych = *++YYCURSOR;
23733
22.0k
  if (yych <= '/') goto yy59;
23734
18.2k
  if (yych <= '5') goto yy1314;
23735
9.88k
  if (yych <= '6') goto yy1315;
23736
7.51k
  goto yy59;
23737
11.3k
yy1287:
23738
11.3k
  YYDEBUG(1287, *YYCURSOR);
23739
11.3k
  yych = *++YYCURSOR;
23740
11.3k
  if (yych <= '/') goto yy59;
23741
9.25k
  if (yych <= '9') goto yy1316;
23742
5.80k
  goto yy59;
23743
5.80k
yy1288:
23744
4.09k
  YYDEBUG(1288, *YYCURSOR);
23745
4.09k
  yych = *++YYCURSOR;
23746
4.09k
  if (yych <= '/') goto yy59;
23747
2.92k
  if (yych <= '9') goto yy1317;
23748
1.63k
  goto yy59;
23749
4.83k
yy1289:
23750
4.83k
  YYDEBUG(1289, *YYCURSOR);
23751
4.83k
  yych = *++YYCURSOR;
23752
4.83k
  if (yych <= '/') goto yy59;
23753
3.10k
  if (yych <= '4') goto yy1317;
23754
1.11k
  goto yy59;
23755
13.6k
yy1290:
23756
13.6k
  YYDEBUG(1290, *YYCURSOR);
23757
13.6k
  ++YYCURSOR;
23758
13.6k
  YYDEBUG(1291, *YYCURSOR);
23759
13.6k
#line 1367 "ext/date/lib/parse_date.re"
23760
13.6k
  {
23761
13.6k
    DEBUG_OUTPUT("mssqltime");
23762
13.6k
    TIMELIB_INIT;
23763
13.6k
    TIMELIB_HAVE_TIME();
23764
3.72k
    s->time->h = timelib_get_nr(&ptr, 2);
23765
3.72k
    s->time->i = timelib_get_nr(&ptr, 2);
23766
3.72k
    if (*ptr == ':' || *ptr == '.') {
23767
3.72k
      s->time->s = timelib_get_nr(&ptr, 2);
23768
23769
3.72k
      if (*ptr == ':' || *ptr == '.') {
23770
3.72k
        s->time->us = timelib_get_frac_nr(&ptr);
23771
3.72k
      }
23772
3.72k
    }
23773
3.72k
    timelib_eat_spaces(&ptr);
23774
3.72k
    s->time->h += timelib_meridian(&ptr, s->time->h);
23775
3.72k
    TIMELIB_DEINIT;
23776
3.72k
    return TIMELIB_TIME24_WITH_ZONE;
23777
13.6k
  }
23778
0
#line 23779 "ext/date/lib/parse_date.c"
23779
9.20k
yy1292:
23780
9.20k
  YYDEBUG(1292, *YYCURSOR);
23781
9.20k
  yych = *++YYCURSOR;
23782
9.20k
  if (yych <= '\t') {
23783
4.75k
    if (yych <= 0x00) goto yy1290;
23784
3.68k
    if (yych <= 0x08) goto yy59;
23785
2.37k
    goto yy1290;
23786
4.45k
  } else {
23787
4.45k
    if (yych == ' ') goto yy1290;
23788
2.40k
    goto yy59;
23789
4.45k
  }
23790
19.3k
yy1293:
23791
19.3k
  YYDEBUG(1293, *YYCURSOR);
23792
19.3k
  ++YYCURSOR;
23793
19.3k
  goto yy1145;
23794
15.8k
yy1294:
23795
15.8k
  YYDEBUG(1294, *YYCURSOR);
23796
15.8k
  yych = *++YYCURSOR;
23797
15.8k
  if (yych <= '\t') {
23798
8.33k
    if (yych <= 0x00) goto yy1293;
23799
4.55k
    if (yych <= 0x08) goto yy59;
23800
2.20k
    goto yy1293;
23801
7.53k
  } else {
23802
7.53k
    if (yych == ' ') goto yy1293;
23803
3.50k
    goto yy59;
23804
7.53k
  }
23805
35.9k
yy1295:
23806
35.9k
  YYDEBUG(1295, *YYCURSOR);
23807
35.9k
  ++YYCURSOR;
23808
35.9k
  if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
23809
35.9k
  yych = *YYCURSOR;
23810
35.9k
  if (yych <= '`') {
23811
7.91k
    if (yych <= 'A') {
23812
5.97k
      if (yych <= '@') goto yy59;
23813
2.86k
      goto yy1203;
23814
5.97k
    } else {
23815
1.93k
      if (yych == 'P') goto yy1203;
23816
705
      goto yy59;
23817
1.93k
    }
23818
28.0k
  } else {
23819
28.0k
    if (yych <= 'p') {
23820
7.80k
      if (yych <= 'a') goto yy1203;
23821
6.68k
      if (yych <= 'o') goto yy59;
23822
5.22k
      goto yy1203;
23823
20.2k
    } else {
23824
20.2k
      if (yych == 0xE2) goto yy1205;
23825
3.04k
      goto yy59;
23826
20.2k
    }
23827
28.0k
  }
23828
46.6k
yy1296:
23829
46.6k
  YYDEBUG(1296, *YYCURSOR);
23830
46.6k
  yyaccept = 20;
23831
46.6k
  yych = *(YYMARKER = ++YYCURSOR);
23832
46.6k
  if (yych <= '/') goto yy849;
23833
42.8k
  if (yych <= '5') goto yy1318;
23834
27.2k
  if (yych <= '9') goto yy1078;
23835
24.7k
  if (yych <= ':') goto yy1319;
23836
4.96k
  goto yy849;
23837
7.23k
yy1297:
23838
7.23k
  YYDEBUG(1297, *YYCURSOR);
23839
7.23k
  yych = *++YYCURSOR;
23840
7.23k
  if (yych <= '/') goto yy59;
23841
5.79k
  if (yych <= '5') goto yy1298;
23842
3.65k
  if (yych <= '9') goto yy1078;
23843
1.83k
  goto yy59;
23844
6.93k
yy1298:
23845
6.93k
  YYDEBUG(1298, *YYCURSOR);
23846
6.93k
  yych = *++YYCURSOR;
23847
6.93k
  if (yych <= '/') goto yy849;
23848
5.26k
  if (yych <= '9') goto yy1078;
23849
3.54k
  goto yy849;
23850
64.0k
yy1299:
23851
64.0k
  YYDEBUG(1299, *YYCURSOR);
23852
64.0k
  yych = *++YYCURSOR;
23853
64.0k
  if (yych <= '@') {
23854
17.4k
    if (yych == ')') goto yy1078;
23855
15.2k
    goto yy849;
23856
46.5k
  } else {
23857
46.5k
    if (yych <= 'Z') goto yy1320;
23858
37.3k
    if (yych <= '`') goto yy849;
23859
34.2k
    if (yych <= 'z') goto yy1320;
23860
4.03k
    goto yy849;
23861
34.2k
  }
23862
70.7k
yy1300:
23863
70.7k
  YYDEBUG(1300, *YYCURSOR);
23864
70.7k
  ++YYCURSOR;
23865
70.7k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
23866
70.7k
  yych = *YYCURSOR;
23867
70.7k
  if (yych <= '@') goto yy59;
23868
61.4k
  if (yych <= 'Z') goto yy1321;
23869
41.3k
  if (yych <= '`') goto yy59;
23870
40.2k
  if (yych <= 'z') goto yy1321;
23871
4.85k
  goto yy59;
23872
99.1k
yy1301:
23873
99.1k
  YYDEBUG(1301, *YYCURSOR);
23874
99.1k
  yyaccept = 20;
23875
99.1k
  yych = *(YYMARKER = ++YYCURSOR);
23876
99.1k
  if (yych <= '/') {
23877
7.06k
    if (yych <= ',') {
23878
3.79k
      if (yych == ')') goto yy1078;
23879
1.42k
      goto yy849;
23880
3.79k
    } else {
23881
3.27k
      if (yych == '.') goto yy849;
23882
2.14k
      goto yy1300;
23883
3.27k
    }
23884
92.1k
  } else {
23885
92.1k
    if (yych <= '^') {
23886
9.30k
      if (yych <= '@') goto yy849;
23887
7.51k
      if (yych <= 'Z') goto yy1320;
23888
1.35k
      goto yy849;
23889
82.8k
    } else {
23890
82.8k
      if (yych <= '_') goto yy1300;
23891
79.3k
      if (yych <= '`') goto yy849;
23892
77.7k
      if (yych <= 'z') goto yy1323;
23893
1.17k
      goto yy849;
23894
77.7k
    }
23895
92.1k
  }
23896
30.5k
yy1302:
23897
30.5k
  YYDEBUG(1302, *YYCURSOR);
23898
30.5k
  yyaccept = 20;
23899
30.5k
  yych = *(YYMARKER = ++YYCURSOR);
23900
30.5k
  if (yych <= ',') {
23901
16.6k
    if (yych <= ')') {
23902
4.01k
      if (yych <= '(') goto yy849;
23903
2.81k
      goto yy1078;
23904
12.6k
    } else {
23905
12.6k
      if (yych == '+') goto yy1210;
23906
2.15k
      goto yy849;
23907
12.6k
    }
23908
16.6k
  } else {
23909
13.9k
    if (yych <= 'Z') {
23910
8.41k
      if (yych <= '-') goto yy1210;
23911
4.91k
      if (yych <= '@') goto yy849;
23912
1.73k
      goto yy1320;
23913
5.54k
    } else {
23914
5.54k
      if (yych <= '`') goto yy849;
23915
5.18k
      if (yych <= 'z') goto yy1320;
23916
635
      goto yy849;
23917
5.18k
    }
23918
13.9k
  }
23919
24.7k
yy1303:
23920
24.7k
  YYDEBUG(1303, *YYCURSOR);
23921
24.7k
  ++YYCURSOR;
23922
24.7k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
23923
24.7k
  yych = *YYCURSOR;
23924
24.7k
  if (yych <= '@') {
23925
8.31k
    if (yych <= '*') {
23926
3.90k
      if (yych == '(') goto yy1209;
23927
3.33k
      goto yy59;
23928
4.41k
    } else {
23929
4.41k
      if (yych == ',') goto yy59;
23930
3.39k
      if (yych <= '-') goto yy1210;
23931
2.22k
      goto yy59;
23932
3.39k
    }
23933
16.4k
  } else {
23934
16.4k
    if (yych <= '`') {
23935
6.08k
      if (yych == 'G') goto yy1212;
23936
5.41k
      if (yych <= 'Z') goto yy1211;
23937
1.07k
      goto yy59;
23938
10.3k
    } else {
23939
10.3k
      if (yych <= 'z') goto yy1213;
23940
8.43k
      if (yych == 0xE2) goto yy1215;
23941
2.29k
      goto yy59;
23942
8.43k
    }
23943
16.4k
  }
23944
41.2k
yy1304:
23945
41.2k
  YYDEBUG(1304, *YYCURSOR);
23946
41.2k
  ++YYCURSOR;
23947
41.2k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
23948
41.2k
  yych = *YYCURSOR;
23949
41.2k
  if (yych <= 'G') {
23950
25.2k
    if (yych <= ',') {
23951
10.6k
      if (yych <= '(') {
23952
5.62k
        if (yych <= '\'') goto yy59;
23953
3.95k
        goto yy1209;
23954
5.62k
      } else {
23955
5.02k
        if (yych == '+') goto yy1210;
23956
3.17k
        goto yy59;
23957
5.02k
      }
23958
14.5k
    } else {
23959
14.5k
      if (yych <= '@') {
23960
2.80k
        if (yych <= '-') goto yy1210;
23961
1.43k
        goto yy59;
23962
11.7k
      } else {
23963
11.7k
        if (yych <= 'A') goto yy1218;
23964
7.86k
        if (yych <= 'F') goto yy1211;
23965
1.97k
        goto yy1212;
23966
7.86k
      }
23967
14.5k
    }
23968
25.2k
  } else {
23969
16.0k
    if (yych <= 'a') {
23970
6.12k
      if (yych <= 'P') {
23971
2.98k
        if (yych <= 'O') goto yy1211;
23972
2.52k
        goto yy1218;
23973
3.13k
      } else {
23974
3.13k
        if (yych <= 'Z') goto yy1211;
23975
2.19k
        if (yych <= '`') goto yy59;
23976
594
        goto yy1219;
23977
2.19k
      }
23978
9.91k
    } else {
23979
9.91k
      if (yych <= 'z') {
23980
7.75k
        if (yych == 'p') goto yy1219;
23981
1.58k
        goto yy1213;
23982
7.75k
      } else {
23983
2.15k
        if (yych == 0xE2) goto yy1221;
23984
1.54k
        goto yy59;
23985
2.15k
      }
23986
9.91k
    }
23987
16.0k
  }
23988
11.3k
yy1305:
23989
11.3k
  YYDEBUG(1305, *YYCURSOR);
23990
11.3k
  yych = *++YYCURSOR;
23991
11.3k
  if (yych == 'H') goto yy1324;
23992
8.00k
  if (yych == 'h') goto yy1324;
23993
1.66k
  goto yy59;
23994
17.1k
yy1306:
23995
17.1k
  YYDEBUG(1306, *YYCURSOR);
23996
17.1k
  yyaccept = 24;
23997
17.1k
  yych = *(YYMARKER = ++YYCURSOR);
23998
17.1k
  if (yych <= ' ') {
23999
7.58k
    if (yych == '\t') goto yy1157;
24000
4.59k
    if (yych <= 0x1F) goto yy982;
24001
1.65k
    goto yy1157;
24002
9.60k
  } else {
24003
9.60k
    if (yych <= 0xC2) {
24004
5.11k
      if (yych <= 0xC1) goto yy982;
24005
2.04k
      goto yy1160;
24006
5.11k
    } else {
24007
4.48k
      if (yych == 0xE2) goto yy1161;
24008
1.00k
      goto yy982;
24009
4.48k
    }
24010
9.60k
  }
24011
12.1k
yy1307:
24012
12.1k
  YYDEBUG(1307, *YYCURSOR);
24013
12.1k
  yych = *++YYCURSOR;
24014
12.1k
  if (yych == 'C') goto yy1325;
24015
9.60k
  if (yych == 'c') goto yy1325;
24016
2.72k
  goto yy59;
24017
184k
yy1308:
24018
184k
  YYDEBUG(1308, *YYCURSOR);
24019
184k
  yych = *++YYCURSOR;
24020
184k
  if (yych <= '9') {
24021
160k
    if (yych == '-') goto yy893;
24022
152k
    if (yych <= '/') goto yy196;
24023
143k
    goto yy1326;
24024
152k
  } else {
24025
24.3k
    if (yych <= 0xC2) {
24026
19.9k
      if (yych <= 0xC1) goto yy196;
24027
1.19k
      goto yy97;
24028
19.9k
    } else {
24029
4.34k
      if (yych == 0xE2) goto yy98;
24030
1.40k
      goto yy196;
24031
4.34k
    }
24032
24.3k
  }
24033
172k
yy1309:
24034
172k
  YYDEBUG(1309, *YYCURSOR);
24035
172k
  yych = *++YYCURSOR;
24036
172k
  if (yych == ':') goto yy1327;
24037
13.5k
  goto yy59;
24038
22.7k
yy1310:
24039
22.7k
  YYDEBUG(1310, *YYCURSOR);
24040
22.7k
  yych = *++YYCURSOR;
24041
22.7k
  if (yych <= '/') goto yy59;
24042
16.8k
  if (yych <= '5') goto yy1328;
24043
12.2k
  if (yych <= '6') goto yy1330;
24044
8.51k
  if (yych <= '9') goto yy1331;
24045
4.98k
  goto yy59;
24046
102k
yy1311:
24047
102k
  YYDEBUG(1311, *YYCURSOR);
24048
102k
  yych = *++YYCURSOR;
24049
102k
  if (yych == ':') goto yy1332;
24050
3.74k
  goto yy59;
24051
2.46M
yy1312:
24052
2.46M
  YYDEBUG(1312, *YYCURSOR);
24053
2.46M
  yych = *++YYCURSOR;
24054
2.46M
  if (yych == 0xC2) goto yy97;
24055
2.45M
  if (yych == 0xE2) goto yy98;
24056
2.42M
  goto yy196;
24057
2.42M
yy1313:
24058
7.28k
  YYDEBUG(1313, *YYCURSOR);
24059
7.28k
  yych = *++YYCURSOR;
24060
7.28k
  if (yych <= '/') goto yy59;
24061
6.81k
  if (yych <= '0') goto yy1328;
24062
5.74k
  if (yych <= '5') goto yy1314;
24063
3.95k
  if (yych <= '6') goto yy1315;
24064
961
  goto yy59;
24065
11.6k
yy1314:
24066
11.6k
  YYDEBUG(1314, *YYCURSOR);
24067
11.6k
  yych = *++YYCURSOR;
24068
11.6k
  if (yych <= '/') goto yy59;
24069
7.76k
  if (yych <= '9') goto yy1331;
24070
3.07k
  goto yy59;
24071
6.39k
yy1315:
24072
6.39k
  YYDEBUG(1315, *YYCURSOR);
24073
6.39k
  yych = *++YYCURSOR;
24074
6.39k
  if (yych == '0') goto yy1331;
24075
4.94k
  goto yy59;
24076
4.94k
yy1316:
24077
3.44k
  YYDEBUG(1316, *YYCURSOR);
24078
3.44k
  yych = *++YYCURSOR;
24079
3.44k
  if (yych == ':') goto yy1286;
24080
1.30k
  goto yy59;
24081
3.29k
yy1317:
24082
3.29k
  YYDEBUG(1317, *YYCURSOR);
24083
3.29k
  yych = *++YYCURSOR;
24084
3.29k
  if (yych == ':') goto yy1244;
24085
2.02k
  goto yy59;
24086
15.5k
yy1318:
24087
15.5k
  YYDEBUG(1318, *YYCURSOR);
24088
15.5k
  yych = *++YYCURSOR;
24089
15.5k
  if (yych <= '/') goto yy849;
24090
13.0k
  if (yych <= '9') goto yy1333;
24091
1.56k
  goto yy849;
24092
19.7k
yy1319:
24093
19.7k
  YYDEBUG(1319, *YYCURSOR);
24094
19.7k
  yych = *++YYCURSOR;
24095
19.7k
  if (yych <= '/') goto yy59;
24096
18.9k
  if (yych <= '5') goto yy1334;
24097
4.72k
  if (yych <= '9') goto yy1078;
24098
1.89k
  goto yy59;
24099
51.8k
yy1320:
24100
51.8k
  YYDEBUG(1320, *YYCURSOR);
24101
51.8k
  yych = *++YYCURSOR;
24102
51.8k
  if (yych <= '@') {
24103
9.09k
    if (yych == ')') goto yy1078;
24104
6.98k
    goto yy849;
24105
42.7k
  } else {
24106
42.7k
    if (yych <= 'Z') goto yy1335;
24107
36.6k
    if (yych <= '`') goto yy849;
24108
32.6k
    if (yych <= 'z') goto yy1335;
24109
3.61k
    goto yy849;
24110
32.6k
  }
24111
174k
yy1321:
24112
174k
  YYDEBUG(1321, *YYCURSOR);
24113
174k
  yyaccept = 20;
24114
174k
  YYMARKER = ++YYCURSOR;
24115
174k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
24116
174k
  yych = *YYCURSOR;
24117
174k
  YYDEBUG(1322, *YYCURSOR);
24118
174k
  if (yych <= '@') {
24119
30.9k
    if (yych <= '-') {
24120
16.5k
      if (yych <= ',') goto yy849;
24121
12.7k
      goto yy1300;
24122
16.5k
    } else {
24123
14.3k
      if (yych == '/') goto yy1300;
24124
8.11k
      goto yy849;
24125
14.3k
    }
24126
143k
  } else {
24127
143k
    if (yych <= '_') {
24128
40.7k
      if (yych <= 'Z') goto yy1321;
24129
15.4k
      if (yych <= '^') goto yy849;
24130
12.0k
      goto yy1300;
24131
103k
    } else {
24132
103k
      if (yych <= '`') goto yy849;
24133
101k
      if (yych <= 'z') goto yy1321;
24134
7.40k
      goto yy849;
24135
101k
    }
24136
143k
  }
24137
76.5k
yy1323:
24138
76.5k
  YYDEBUG(1323, *YYCURSOR);
24139
76.5k
  yyaccept = 20;
24140
76.5k
  yych = *(YYMARKER = ++YYCURSOR);
24141
76.5k
  if (yych <= '/') {
24142
11.9k
    if (yych <= ',') {
24143
5.44k
      if (yych == ')') goto yy1078;
24144
3.75k
      goto yy849;
24145
6.48k
    } else {
24146
6.48k
      if (yych == '.') goto yy849;
24147
3.19k
      goto yy1300;
24148
6.48k
    }
24149
64.6k
  } else {
24150
64.6k
    if (yych <= '^') {
24151
8.84k
      if (yych <= '@') goto yy849;
24152
6.70k
      if (yych <= 'Z') goto yy1335;
24153
857
      goto yy849;
24154
55.8k
    } else {
24155
55.8k
      if (yych <= '_') goto yy1300;
24156
53.1k
      if (yych <= '`') goto yy849;
24157
51.1k
      if (yych <= 'z') goto yy1336;
24158
3.03k
      goto yy849;
24159
51.1k
    }
24160
64.6k
  }
24161
9.65k
yy1324:
24162
9.65k
  YYDEBUG(1324, *YYCURSOR);
24163
9.65k
  yych = *++YYCURSOR;
24164
9.65k
  if (yych == 'T') goto yy1086;
24165
7.68k
  if (yych == 't') goto yy1086;
24166
2.53k
  goto yy59;
24167
9.40k
yy1325:
24168
9.40k
  YYDEBUG(1325, *YYCURSOR);
24169
9.40k
  yych = *++YYCURSOR;
24170
9.40k
  if (yych == 'O') goto yy1167;
24171
4.78k
  if (yych == 'o') goto yy1167;
24172
3.14k
  goto yy59;
24173
143k
yy1326:
24174
143k
  YYDEBUG(1326, *YYCURSOR);
24175
143k
  yych = *++YYCURSOR;
24176
143k
  if (yych <= '9') {
24177
122k
    if (yych == '-') goto yy893;
24178
119k
    if (yych <= '/') goto yy196;
24179
114k
    goto yy1337;
24180
119k
  } else {
24181
21.2k
    if (yych <= 0xC2) {
24182
13.9k
      if (yych <= 0xC1) goto yy196;
24183
4.13k
      goto yy97;
24184
13.9k
    } else {
24185
7.28k
      if (yych == 0xE2) goto yy98;
24186
2.22k
      goto yy196;
24187
7.28k
    }
24188
21.2k
  }
24189
158k
yy1327:
24190
158k
  YYDEBUG(1327, *YYCURSOR);
24191
158k
  yych = *++YYCURSOR;
24192
158k
  if (yych <= '/') goto yy59;
24193
154k
  if (yych <= '5') goto yy1338;
24194
4.09k
  goto yy59;
24195
10.0k
yy1328:
24196
10.0k
  YYDEBUG(1328, *YYCURSOR);
24197
10.0k
  yych = *++YYCURSOR;
24198
10.0k
  if (yych <= '/') goto yy1329;
24199
8.50k
  if (yych <= '9') goto yy1331;
24200
91.0k
yy1329:
24201
91.0k
  YYDEBUG(1329, *YYCURSOR);
24202
91.0k
#line 1670 "ext/date/lib/parse_date.re"
24203
91.0k
  {
24204
91.0k
    int tz_not_found;
24205
91.0k
    DEBUG_OUTPUT("xmlrpc | xmlrpcnocolon | soap | wddx | exif");
24206
91.0k
    TIMELIB_INIT;
24207
91.0k
    TIMELIB_HAVE_TIME();
24208
14.6k
    TIMELIB_HAVE_DATE();
24209
10.2k
    s->time->y = timelib_get_nr(&ptr, 4);
24210
10.2k
    s->time->m = timelib_get_nr(&ptr, 2);
24211
10.2k
    s->time->d = timelib_get_nr(&ptr, 2);
24212
10.2k
    s->time->h = timelib_get_nr(&ptr, 2);
24213
10.2k
    s->time->i = timelib_get_nr(&ptr, 2);
24214
10.2k
    s->time->s = timelib_get_nr(&ptr, 2);
24215
10.2k
    if (*ptr == '.') {
24216
6.87k
      s->time->us = timelib_get_frac_nr(&ptr);
24217
6.87k
      if (*ptr) { /* timezone is optional */
24218
4.37k
        s->time->z = timelib_parse_zone(&ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
24219
4.37k
        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
4.37k
      }
24223
6.87k
    }
24224
10.2k
    TIMELIB_DEINIT;
24225
10.2k
    return TIMELIB_XMLRPC_SOAP;
24226
14.6k
  }
24227
0
#line 24228 "ext/date/lib/parse_date.c"
24228
3.73k
yy1330:
24229
3.73k
  YYDEBUG(1330, *YYCURSOR);
24230
3.73k
  yych = *++YYCURSOR;
24231
3.73k
  if (yych != '0') goto yy1329;
24232
25.7k
yy1331:
24233
25.7k
  YYDEBUG(1331, *YYCURSOR);
24234
25.7k
  ++YYCURSOR;
24235
25.7k
  goto yy1329;
24236
98.9k
yy1332:
24237
98.9k
  YYDEBUG(1332, *YYCURSOR);
24238
98.9k
  yych = *++YYCURSOR;
24239
98.9k
  if (yych <= '/') goto yy59;
24240
96.5k
  if (yych <= '5') goto yy1339;
24241
5.23k
  if (yych <= '9') goto yy1281;
24242
4.02k
  goto yy59;
24243
11.4k
yy1333:
24244
11.4k
  YYDEBUG(1333, *YYCURSOR);
24245
11.4k
  yyaccept = 20;
24246
11.4k
  yych = *(YYMARKER = ++YYCURSOR);
24247
11.4k
  if (yych <= '/') goto yy849;
24248
10.7k
  if (yych <= '5') goto yy1340;
24249
5.94k
  if (yych <= '6') goto yy1341;
24250
3.02k
  goto yy849;
24251
14.2k
yy1334:
24252
14.2k
  YYDEBUG(1334, *YYCURSOR);
24253
14.2k
  yych = *++YYCURSOR;
24254
14.2k
  if (yych <= '/') goto yy849;
24255
13.0k
  if (yych <= '9') goto yy1342;
24256
1.14k
  goto yy849;
24257
40.9k
yy1335:
24258
40.9k
  YYDEBUG(1335, *YYCURSOR);
24259
40.9k
  yych = *++YYCURSOR;
24260
40.9k
  if (yych <= '@') {
24261
7.97k
    if (yych == ')') goto yy1078;
24262
6.70k
    goto yy849;
24263
33.0k
  } else {
24264
33.0k
    if (yych <= 'Z') goto yy1343;
24265
28.4k
    if (yych <= '`') goto yy849;
24266
24.9k
    if (yych <= 'z') goto yy1343;
24267
6.32k
    goto yy849;
24268
24.9k
  }
24269
48.1k
yy1336:
24270
48.1k
  YYDEBUG(1336, *YYCURSOR);
24271
48.1k
  yyaccept = 20;
24272
48.1k
  yych = *(YYMARKER = ++YYCURSOR);
24273
48.1k
  if (yych <= '/') {
24274
7.92k
    if (yych <= ',') {
24275
2.47k
      if (yych == ')') goto yy1078;
24276
1.60k
      goto yy849;
24277
5.45k
    } else {
24278
5.45k
      if (yych == '.') goto yy849;
24279
4.09k
      goto yy1300;
24280
5.45k
    }
24281
40.2k
  } else {
24282
40.2k
    if (yych <= '^') {
24283
5.63k
      if (yych <= '@') goto yy849;
24284
2.44k
      if (yych <= 'Z') goto yy1343;
24285
1.51k
      goto yy849;
24286
34.5k
    } else {
24287
34.5k
      if (yych <= '_') goto yy1300;
24288
32.8k
      if (yych <= '`') goto yy849;
24289
32.0k
      if (yych <= 'z') goto yy1344;
24290
2.94k
      goto yy849;
24291
32.0k
    }
24292
40.2k
  }
24293
114k
yy1337:
24294
114k
  YYDEBUG(1337, *YYCURSOR);
24295
114k
  yych = *++YYCURSOR;
24296
114k
  if (yych == '-') goto yy893;
24297
110k
  if (yych <= '/') goto yy59;
24298
102k
  if (yych <= '9') goto yy1345;
24299
6.09k
  goto yy59;
24300
150k
yy1338:
24301
150k
  YYDEBUG(1338, *YYCURSOR);
24302
150k
  yych = *++YYCURSOR;
24303
150k
  if (yych <= '/') goto yy59;
24304
147k
  if (yych <= '9') goto yy1346;
24305
4.11k
  goto yy59;
24306
91.3k
yy1339:
24307
91.3k
  YYDEBUG(1339, *YYCURSOR);
24308
91.3k
  yych = *++YYCURSOR;
24309
91.3k
  if (yych <= '/') goto yy59;
24310
89.2k
  if (yych <= '9') goto yy1347;
24311
3.98k
  if (yych <= ':') goto yy1310;
24312
2.12k
  goto yy59;
24313
5.77k
yy1340:
24314
5.77k
  YYDEBUG(1340, *YYCURSOR);
24315
5.77k
  yych = *++YYCURSOR;
24316
5.77k
  if (yych <= '/') goto yy59;
24317
4.34k
  if (yych <= '9') goto yy1078;
24318
2.69k
  goto yy59;
24319
3.73k
yy1341:
24320
3.73k
  YYDEBUG(1341, *YYCURSOR);
24321
3.73k
  yych = *++YYCURSOR;
24322
3.73k
  if (yych == '0') goto yy1078;
24323
2.67k
  goto yy59;
24324
11.9k
yy1342:
24325
11.9k
  YYDEBUG(1342, *YYCURSOR);
24326
11.9k
  yyaccept = 20;
24327
11.9k
  yych = *(YYMARKER = ++YYCURSOR);
24328
11.9k
  if (yych == ':') goto yy1348;
24329
2.38k
  goto yy849;
24330
24.1k
yy1343:
24331
24.1k
  YYDEBUG(1343, *YYCURSOR);
24332
24.1k
  yych = *++YYCURSOR;
24333
24.1k
  if (yych == ')') goto yy1078;
24334
22.2k
  goto yy849;
24335
29.0k
yy1344:
24336
29.0k
  YYDEBUG(1344, *YYCURSOR);
24337
29.0k
  yyaccept = 20;
24338
29.0k
  yych = *(YYMARKER = ++YYCURSOR);
24339
29.0k
  if (yych <= '.') {
24340
6.41k
    if (yych <= ')') {
24341
3.26k
      if (yych <= '(') goto yy849;
24342
817
      goto yy1078;
24343
3.26k
    } else {
24344
3.15k
      if (yych == '-') goto yy1300;
24345
956
      goto yy849;
24346
3.15k
    }
24347
22.6k
  } else {
24348
22.6k
    if (yych <= '_') {
24349
6.52k
      if (yych <= '/') goto yy1300;
24350
5.36k
      if (yych <= '^') goto yy849;
24351
3.85k
      goto yy1300;
24352
16.1k
    } else {
24353
16.1k
      if (yych <= '`') goto yy849;
24354
14.8k
      if (yych <= 'z') goto yy1349;
24355
3.04k
      goto yy849;
24356
14.8k
    }
24357
22.6k
  }
24358
96.1k
yy1345:
24359
96.1k
  YYDEBUG(1345, *YYCURSOR);
24360
96.1k
  yych = *++YYCURSOR;
24361
96.1k
  if (yych == '-') goto yy893;
24362
92.9k
  if (yych <= '/') goto yy59;
24363
88.9k
  if (yych <= '9') goto yy1351;
24364
6.90k
  goto yy59;
24365
143k
yy1346:
24366
143k
  YYDEBUG(1346, *YYCURSOR);
24367
143k
  yych = *++YYCURSOR;
24368
143k
  if (yych == ':') goto yy1352;
24369
13.4k
  goto yy59;
24370
85.2k
yy1347:
24371
85.2k
  YYDEBUG(1347, *YYCURSOR);
24372
85.2k
  yych = *++YYCURSOR;
24373
85.2k
  if (yych == ':') goto yy1353;
24374
5.25k
  goto yy59;
24375
9.52k
yy1348:
24376
9.52k
  YYDEBUG(1348, *YYCURSOR);
24377
9.52k
  yych = *++YYCURSOR;
24378
9.52k
  if (yych <= '/') goto yy59;
24379
8.12k
  if (yych <= '5') goto yy1340;
24380
7.15k
  if (yych <= '6') goto yy1341;
24381
6.34k
  goto yy59;
24382
36.5k
yy1349:
24383
36.5k
  YYDEBUG(1349, *YYCURSOR);
24384
36.5k
  ++YYCURSOR;
24385
36.5k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
24386
36.5k
  yych = *YYCURSOR;
24387
36.5k
  YYDEBUG(1350, *YYCURSOR);
24388
36.5k
  if (yych <= '/') {
24389
4.83k
    if (yych == '-') goto yy1300;
24390
2.51k
    if (yych <= '.') goto yy59;
24391
1.23k
    goto yy1300;
24392
31.7k
  } else {
24393
31.7k
    if (yych <= '_') {
24394
4.02k
      if (yych <= '^') goto yy59;
24395
1.61k
      goto yy1300;
24396
27.7k
    } else {
24397
27.7k
      if (yych <= '`') goto yy59;
24398
26.8k
      if (yych <= 'z') goto yy1349;
24399
2.04k
      goto yy59;
24400
26.8k
    }
24401
31.7k
  }
24402
82.0k
yy1351:
24403
82.0k
  YYDEBUG(1351, *YYCURSOR);
24404
82.0k
  yych = *++YYCURSOR;
24405
82.0k
  if (yych == '-') goto yy893;
24406
79.4k
  if (yych <= '/') goto yy59;
24407
77.4k
  if (yych <= '9') goto yy1354;
24408
4.31k
  goto yy59;
24409
129k
yy1352:
24410
129k
  YYDEBUG(1352, *YYCURSOR);
24411
129k
  yych = *++YYCURSOR;
24412
129k
  if (yych <= '/') goto yy59;
24413
126k
  if (yych <= '5') goto yy1355;
24414
13.7k
  if (yych <= '6') goto yy1356;
24415
4.07k
  goto yy59;
24416
80.0k
yy1353:
24417
80.0k
  YYDEBUG(1353, *YYCURSOR);
24418
80.0k
  yych = *++YYCURSOR;
24419
80.0k
  if (yych <= '/') goto yy59;
24420
75.8k
  if (yych <= '5') goto yy1357;
24421
15.9k
  if (yych <= '6') goto yy1358;
24422
5.09k
  if (yych <= '9') goto yy1331;
24423
1.17k
  goto yy59;
24424
73.1k
yy1354:
24425
73.1k
  YYDEBUG(1354, *YYCURSOR);
24426
73.1k
  yych = *++YYCURSOR;
24427
73.1k
  if (yych == '-') goto yy893;
24428
71.0k
  if (yych <= '/') goto yy59;
24429
68.7k
  if (yych <= '9') goto yy1359;
24430
19.5k
  goto yy59;
24431
113k
yy1355:
24432
113k
  YYDEBUG(1355, *YYCURSOR);
24433
113k
  yych = *++YYCURSOR;
24434
113k
  if (yych <= '/') goto yy59;
24435
108k
  if (yych <= '9') goto yy1360;
24436
4.03k
  goto yy59;
24437
9.64k
yy1356:
24438
9.64k
  YYDEBUG(1356, *YYCURSOR);
24439
9.64k
  yych = *++YYCURSOR;
24440
9.64k
  if (yych == '0') goto yy1360;
24441
1.15k
  goto yy59;
24442
59.9k
yy1357:
24443
59.9k
  YYDEBUG(1357, *YYCURSOR);
24444
59.9k
  yych = *++YYCURSOR;
24445
59.9k
  if (yych <= '/') goto yy1329;
24446
57.0k
  if (yych <= '9') goto yy1361;
24447
3.05k
  goto yy1329;
24448
10.8k
yy1358:
24449
10.8k
  YYDEBUG(1358, *YYCURSOR);
24450
10.8k
  yych = *++YYCURSOR;
24451
10.8k
  if (yych == '0') goto yy1361;
24452
4.82k
  goto yy1329;
24453
49.1k
yy1359:
24454
49.1k
  YYDEBUG(1359, *YYCURSOR);
24455
49.1k
  yych = *++YYCURSOR;
24456
49.1k
  if (yych == '-') goto yy893;
24457
48.4k
  if (yych <= '/') goto yy59;
24458
46.2k
  if (yych <= '9') goto yy1362;
24459
4.44k
  goto yy59;
24460
113k
yy1360:
24461
113k
  YYDEBUG(1360, *YYCURSOR);
24462
113k
  yych = *++YYCURSOR;
24463
113k
  if (yych <= ' ') {
24464
60.0k
    if (yych == '\t') goto yy1363;
24465
25.3k
    if (yych <= 0x1F) goto yy59;
24466
21.8k
    goto yy1363;
24467
53.2k
  } else {
24468
53.2k
    if (yych <= 0xC2) {
24469
27.5k
      if (yych <= 0xC1) goto yy59;
24470
24.1k
      goto yy1365;
24471
27.5k
    } else {
24472
25.7k
      if (yych == 0xE2) goto yy1366;
24473
7.64k
      goto yy59;
24474
25.7k
    }
24475
53.2k
  }
24476
60.0k
yy1361:
24477
60.0k
  YYDEBUG(1361, *YYCURSOR);
24478
60.0k
  yyaccept = 32;
24479
60.0k
  yych = *(YYMARKER = ++YYCURSOR);
24480
60.0k
  if (yych == '.') goto yy1367;
24481
4.08k
  goto yy1329;
24482
41.8k
yy1362:
24483
41.8k
  YYDEBUG(1362, *YYCURSOR);
24484
41.8k
  yych = *++YYCURSOR;
24485
41.8k
  if (yych == '-') goto yy893;
24486
40.8k
  goto yy59;
24487
219k
yy1363:
24488
219k
  YYDEBUG(1363, *YYCURSOR);
24489
219k
  ++YYCURSOR;
24490
219k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
24491
219k
  yych = *YYCURSOR;
24492
219k
  YYDEBUG(1364, *YYCURSOR);
24493
219k
  if (yych <= '*') {
24494
168k
    if (yych <= '\t') {
24495
164k
      if (yych <= 0x08) goto yy59;
24496
160k
      goto yy1363;
24497
164k
    } else {
24498
4.58k
      if (yych == ' ') goto yy1363;
24499
2.10k
      goto yy59;
24500
4.58k
    }
24501
168k
  } else {
24502
50.6k
    if (yych <= '-') {
24503
36.8k
      if (yych == ',') goto yy59;
24504
35.0k
      goto yy1368;
24505
36.8k
    } else {
24506
13.8k
      if (yych == 'G') goto yy1369;
24507
4.63k
      goto yy59;
24508
13.8k
    }
24509
50.6k
  }
24510
27.4k
yy1365:
24511
27.4k
  YYDEBUG(1365, *YYCURSOR);
24512
27.4k
  ++YYCURSOR;
24513
27.4k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
24514
27.4k
  yych = *YYCURSOR;
24515
27.4k
  if (yych == 0xA0) goto yy1370;
24516
3.68k
  goto yy59;
24517
19.8k
yy1366:
24518
19.8k
  YYDEBUG(1366, *YYCURSOR);
24519
19.8k
  ++YYCURSOR;
24520
19.8k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
24521
19.8k
  yych = *YYCURSOR;
24522
19.8k
  if (yych == 0x80) goto yy1371;
24523
2.53k
  goto yy59;
24524
55.9k
yy1367:
24525
55.9k
  YYDEBUG(1367, *YYCURSOR);
24526
55.9k
  yych = *++YYCURSOR;
24527
55.9k
  if (yych <= '/') goto yy59;
24528
54.9k
  if (yych <= '9') goto yy1372;
24529
3.12k
  goto yy59;
24530
57.3k
yy1368:
24531
57.3k
  YYDEBUG(1368, *YYCURSOR);
24532
57.3k
  yych = *++YYCURSOR;
24533
57.3k
  if (yych <= '/') goto yy59;
24534
54.6k
  if (yych <= '1') goto yy1374;
24535
30.7k
  if (yych <= '2') goto yy1376;
24536
13.5k
  if (yych <= '9') goto yy1377;
24537
7.06k
  goto yy59;
24538
16.3k
yy1369:
24539
16.3k
  YYDEBUG(1369, *YYCURSOR);
24540
16.3k
  yych = *++YYCURSOR;
24541
16.3k
  if (yych == 'M') goto yy1378;
24542
2.95k
  goto yy59;
24543
23.8k
yy1370:
24544
23.8k
  YYDEBUG(1370, *YYCURSOR);
24545
23.8k
  ++YYCURSOR;
24546
23.8k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
24547
23.8k
  yych = *YYCURSOR;
24548
23.8k
  if (yych <= '-') {
24549
6.44k
    if (yych == '+') goto yy1368;
24550
4.05k
    if (yych <= ',') goto yy59;
24551
1.87k
    goto yy1368;
24552
17.3k
  } else {
24553
17.3k
    if (yych <= 'G') {
24554
10.6k
      if (yych <= 'F') goto yy59;
24555
6.18k
      goto yy1369;
24556
10.6k
    } else {
24557
6.73k
      if (yych == 0xC2) goto yy1365;
24558
3.36k
      goto yy59;
24559
6.73k
    }
24560
17.3k
  }
24561
17.2k
yy1371:
24562
17.2k
  YYDEBUG(1371, *YYCURSOR);
24563
17.2k
  ++YYCURSOR;
24564
17.2k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
24565
17.2k
  yych = *YYCURSOR;
24566
17.2k
  if (yych == 0xAF) goto yy1379;
24567
2.14k
  goto yy59;
24568
92.2k
yy1372:
24569
92.2k
  YYDEBUG(1372, *YYCURSOR);
24570
92.2k
  yyaccept = 32;
24571
92.2k
  YYMARKER = ++YYCURSOR;
24572
92.2k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
24573
92.2k
  yych = *YYCURSOR;
24574
92.2k
  YYDEBUG(1373, *YYCURSOR);
24575
92.2k
  if (yych <= '-') {
24576
42.3k
    if (yych == '+') goto yy1380;
24577
40.4k
    if (yych <= ',') goto yy1329;
24578
38.4k
    goto yy1380;
24579
49.9k
  } else {
24580
49.9k
    if (yych <= '9') {
24581
41.6k
      if (yych <= '/') goto yy1329;
24582
40.4k
      goto yy1372;
24583
41.6k
    } else {
24584
8.34k
      if (yych == 'G') goto yy1381;
24585
2.39k
      goto yy1329;
24586
8.34k
    }
24587
49.9k
  }
24588
23.8k
yy1374:
24589
23.8k
  YYDEBUG(1374, *YYCURSOR);
24590
23.8k
  yyaccept = 33;
24591
23.8k
  yych = *(YYMARKER = ++YYCURSOR);
24592
23.8k
  if (yych <= '/') goto yy1375;
24593
22.9k
  if (yych <= '9') goto yy1382;
24594
5.07k
  if (yych <= ':') goto yy1383;
24595
47.5k
yy1375:
24596
47.5k
  YYDEBUG(1375, *YYCURSOR);
24597
47.5k
#line 1776 "ext/date/lib/parse_date.re"
24598
47.5k
  {
24599
47.5k
    int tz_not_found;
24600
47.5k
    DEBUG_OUTPUT("clf");
24601
47.5k
    TIMELIB_INIT;
24602
47.5k
    TIMELIB_HAVE_TIME();
24603
8.07k
    TIMELIB_HAVE_DATE();
24604
6.56k
    s->time->d = timelib_get_nr(&ptr, 2);
24605
6.56k
    s->time->m = timelib_get_month(&ptr);
24606
6.56k
    s->time->y = timelib_get_nr(&ptr, 4);
24607
6.56k
    s->time->h = timelib_get_nr(&ptr, 2);
24608
6.56k
    s->time->i = timelib_get_nr(&ptr, 2);
24609
6.56k
    s->time->s = timelib_get_nr(&ptr, 2);
24610
24611
6.56k
    timelib_eat_spaces(&ptr);
24612
24613
6.56k
    s->time->z = timelib_parse_zone(&ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
24614
6.56k
    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
6.56k
    TIMELIB_DEINIT;
24618
6.56k
    return TIMELIB_CLF;
24619
8.07k
  }
24620
0
#line 24621 "ext/date/lib/parse_date.c"
24621
17.2k
yy1376:
24622
17.2k
  YYDEBUG(1376, *YYCURSOR);
24623
17.2k
  yyaccept = 33;
24624
17.2k
  yych = *(YYMARKER = ++YYCURSOR);
24625
17.2k
  if (yych <= '5') {
24626
12.5k
    if (yych <= '/') goto yy1375;
24627
11.0k
    if (yych <= '4') goto yy1382;
24628
2.22k
    goto yy1384;
24629
11.0k
  } else {
24630
4.67k
    if (yych <= '9') goto yy1385;
24631
3.75k
    if (yych <= ':') goto yy1383;
24632
1.27k
    goto yy1375;
24633
3.75k
  }
24634
6.46k
yy1377:
24635
6.46k
  YYDEBUG(1377, *YYCURSOR);
24636
6.46k
  yyaccept = 33;
24637
6.46k
  yych = *(YYMARKER = ++YYCURSOR);
24638
6.46k
  if (yych <= '/') goto yy1375;
24639
5.97k
  if (yych <= '5') goto yy1384;
24640
3.37k
  if (yych <= '9') goto yy1385;
24641
3.13k
  if (yych <= ':') goto yy1383;
24642
1.18k
  goto yy1375;
24643
13.4k
yy1378:
24644
13.4k
  YYDEBUG(1378, *YYCURSOR);
24645
13.4k
  yych = *++YYCURSOR;
24646
13.4k
  if (yych == 'T') goto yy1386;
24647
1.16k
  goto yy59;
24648
15.1k
yy1379:
24649
15.1k
  YYDEBUG(1379, *YYCURSOR);
24650
15.1k
  ++YYCURSOR;
24651
15.1k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
24652
15.1k
  yych = *YYCURSOR;
24653
15.1k
  if (yych <= '-') {
24654
9.44k
    if (yych == '+') goto yy1368;
24655
7.16k
    if (yych <= ',') goto yy59;
24656
4.59k
    goto yy1368;
24657
7.16k
  } else {
24658
5.68k
    if (yych <= 'G') {
24659
2.38k
      if (yych <= 'F') goto yy59;
24660
1.01k
      goto yy1369;
24661
3.29k
    } else {
24662
3.29k
      if (yych == 0xE2) goto yy1366;
24663
1.61k
      goto yy59;
24664
3.29k
    }
24665
5.68k
  }
24666
43.4k
yy1380:
24667
43.4k
  YYDEBUG(1380, *YYCURSOR);
24668
43.4k
  yych = *++YYCURSOR;
24669
43.4k
  if (yych <= '/') goto yy59;
24670
41.8k
  if (yych <= '1') goto yy1387;
24671
27.2k
  if (yych <= '2') goto yy1388;
24672
10.4k
  if (yych <= '9') goto yy1389;
24673
2.71k
  goto yy59;
24674
5.95k
yy1381:
24675
5.95k
  YYDEBUG(1381, *YYCURSOR);
24676
5.95k
  yych = *++YYCURSOR;
24677
5.95k
  if (yych == 'M') goto yy1390;
24678
1.04k
  goto yy59;
24679
26.6k
yy1382:
24680
26.6k
  YYDEBUG(1382, *YYCURSOR);
24681
26.6k
  yyaccept = 33;
24682
26.6k
  yych = *(YYMARKER = ++YYCURSOR);
24683
26.6k
  if (yych <= '/') goto yy1375;
24684
24.1k
  if (yych <= '5') goto yy1391;
24685
15.7k
  if (yych <= '9') goto yy1385;
24686
14.5k
  if (yych <= ':') goto yy1392;
24687
720
  goto yy1375;
24688
6.98k
yy1383:
24689
6.98k
  YYDEBUG(1383, *YYCURSOR);
24690
6.98k
  yych = *++YYCURSOR;
24691
6.98k
  if (yych <= '/') goto yy59;
24692
4.36k
  if (yych <= '5') goto yy1384;
24693
2.30k
  if (yych <= '9') goto yy1385;
24694
625
  goto yy59;
24695
6.88k
yy1384:
24696
6.88k
  YYDEBUG(1384, *YYCURSOR);
24697
6.88k
  yych = *++YYCURSOR;
24698
6.88k
  if (yych <= '/') goto yy1375;
24699
5.81k
  if (yych >= ':') goto yy1375;
24700
11.9k
yy1385:
24701
11.9k
  YYDEBUG(1385, *YYCURSOR);
24702
11.9k
  ++YYCURSOR;
24703
11.9k
  goto yy1375;
24704
12.2k
yy1386:
24705
12.2k
  YYDEBUG(1386, *YYCURSOR);
24706
12.2k
  yych = *++YYCURSOR;
24707
12.2k
  if (yych == '+') goto yy1368;
24708
6.90k
  if (yych == '-') goto yy1368;
24709
1.12k
  goto yy59;
24710
14.6k
yy1387:
24711
14.6k
  YYDEBUG(1387, *YYCURSOR);
24712
14.6k
  yyaccept = 32;
24713
14.6k
  yych = *(YYMARKER = ++YYCURSOR);
24714
14.6k
  if (yych <= '/') goto yy1329;
24715
13.9k
  if (yych <= '9') goto yy1393;
24716
3.67k
  if (yych <= ':') goto yy1394;
24717
1.03k
  goto yy1329;
24718
16.7k
yy1388:
24719
16.7k
  YYDEBUG(1388, *YYCURSOR);
24720
16.7k
  yyaccept = 32;
24721
16.7k
  yych = *(YYMARKER = ++YYCURSOR);
24722
16.7k
  if (yych <= '5') {
24723
14.3k
    if (yych <= '/') goto yy1329;
24724
13.5k
    if (yych <= '4') goto yy1393;
24725
625
    goto yy1328;
24726
13.5k
  } else {
24727
2.38k
    if (yych <= '9') goto yy1331;
24728
1.75k
    if (yych <= ':') goto yy1394;
24729
994
    goto yy1329;
24730
1.75k
  }
24731
7.76k
yy1389:
24732
7.76k
  YYDEBUG(1389, *YYCURSOR);
24733
7.76k
  yyaccept = 32;
24734
7.76k
  yych = *(YYMARKER = ++YYCURSOR);
24735
7.76k
  if (yych <= '/') goto yy1329;
24736
6.59k
  if (yych <= '5') goto yy1328;
24737
5.68k
  if (yych <= '9') goto yy1331;
24738
4.30k
  if (yych <= ':') goto yy1394;
24739
986
  goto yy1329;
24740
4.90k
yy1390:
24741
4.90k
  YYDEBUG(1390, *YYCURSOR);
24742
4.90k
  yych = *++YYCURSOR;
24743
4.90k
  if (yych == 'T') goto yy1395;
24744
932
  goto yy59;
24745
8.46k
yy1391:
24746
8.46k
  YYDEBUG(1391, *YYCURSOR);
24747
8.46k
  yych = *++YYCURSOR;
24748
8.46k
  if (yych <= '/') goto yy1375;
24749
7.97k
  if (yych <= '9') goto yy1396;
24750
1.07k
  goto yy1375;
24751
13.8k
yy1392:
24752
13.8k
  YYDEBUG(1392, *YYCURSOR);
24753
13.8k
  yych = *++YYCURSOR;
24754
13.8k
  if (yych <= '/') goto yy59;
24755
13.3k
  if (yych <= '5') goto yy1397;
24756
2.32k
  if (yych <= '9') goto yy1385;
24757
1.41k
  goto yy59;
24758
23.1k
yy1393:
24759
23.1k
  YYDEBUG(1393, *YYCURSOR);
24760
23.1k
  yyaccept = 32;
24761
23.1k
  yych = *(YYMARKER = ++YYCURSOR);
24762
23.1k
  if (yych <= '/') goto yy1329;
24763
21.7k
  if (yych <= '5') goto yy1398;
24764
13.4k
  if (yych <= '9') goto yy1331;
24765
13.0k
  if (yych <= ':') goto yy1399;
24766
2.14k
  goto yy1329;
24767
6.72k
yy1394:
24768
6.72k
  YYDEBUG(1394, *YYCURSOR);
24769
6.72k
  yych = *++YYCURSOR;
24770
6.72k
  if (yych <= '/') goto yy59;
24771
4.50k
  if (yych <= '5') goto yy1328;
24772
1.68k
  if (yych <= '9') goto yy1331;
24773
681
  goto yy59;
24774
3.97k
yy1395:
24775
3.97k
  YYDEBUG(1395, *YYCURSOR);
24776
3.97k
  yych = *++YYCURSOR;
24777
3.97k
  if (yych == '+') goto yy1380;
24778
1.45k
  if (yych == '-') goto yy1380;
24779
778
  goto yy59;
24780
6.90k
yy1396:
24781
6.90k
  YYDEBUG(1396, *YYCURSOR);
24782
6.90k
  yyaccept = 33;
24783
6.90k
  yych = *(YYMARKER = ++YYCURSOR);
24784
6.90k
  if (yych <= '/') goto yy1375;
24785
6.27k
  if (yych <= '5') goto yy1400;
24786
3.47k
  if (yych <= '6') goto yy1401;
24787
1.97k
  goto yy1375;
24788
11.0k
yy1397:
24789
11.0k
  YYDEBUG(1397, *YYCURSOR);
24790
11.0k
  yych = *++YYCURSOR;
24791
11.0k
  if (yych <= '/') goto yy1375;
24792
8.22k
  if (yych <= '9') goto yy1402;
24793
823
  goto yy1375;
24794
8.26k
yy1398:
24795
8.26k
  YYDEBUG(1398, *YYCURSOR);
24796
8.26k
  yych = *++YYCURSOR;
24797
8.26k
  if (yych <= '/') goto yy1329;
24798
6.77k
  if (yych <= '9') goto yy1403;
24799
1.21k
  goto yy1329;
24800
10.9k
yy1399:
24801
10.9k
  YYDEBUG(1399, *YYCURSOR);
24802
10.9k
  yych = *++YYCURSOR;
24803
10.9k
  if (yych <= '/') goto yy59;
24804
10.0k
  if (yych <= '5') goto yy1404;
24805
1.24k
  if (yych <= '9') goto yy1331;
24806
449
  goto yy59;
24807
3.90k
yy1400:
24808
3.90k
  YYDEBUG(1400, *YYCURSOR);
24809
3.90k
  yych = *++YYCURSOR;
24810
3.90k
  if (yych <= '/') goto yy59;
24811
3.37k
  if (yych <= '9') goto yy1385;
24812
801
  goto yy59;
24813
3.33k
yy1401:
24814
3.33k
  YYDEBUG(1401, *YYCURSOR);
24815
3.33k
  yych = *++YYCURSOR;
24816
3.33k
  if (yych == '0') goto yy1385;
24817
1.22k
  goto yy59;
24818
7.40k
yy1402:
24819
7.40k
  YYDEBUG(1402, *YYCURSOR);
24820
7.40k
  yyaccept = 33;
24821
7.40k
  yych = *(YYMARKER = ++YYCURSOR);
24822
7.40k
  if (yych == ':') goto yy1405;
24823
785
  goto yy1375;
24824
5.55k
yy1403:
24825
5.55k
  YYDEBUG(1403, *YYCURSOR);
24826
5.55k
  yyaccept = 32;
24827
5.55k
  yych = *(YYMARKER = ++YYCURSOR);
24828
5.55k
  if (yych <= '/') goto yy1329;
24829
4.53k
  if (yych <= '5') goto yy1314;
24830
3.03k
  if (yych <= '6') goto yy1315;
24831
2.01k
  goto yy1329;
24832
8.85k
yy1404:
24833
8.85k
  YYDEBUG(1404, *YYCURSOR);
24834
8.85k
  yych = *++YYCURSOR;
24835
8.85k
  if (yych <= '/') goto yy1329;
24836
6.62k
  if (yych <= '9') goto yy1406;
24837
2.56k
  goto yy1329;
24838
6.62k
yy1405:
24839
6.62k
  YYDEBUG(1405, *YYCURSOR);
24840
6.62k
  yych = *++YYCURSOR;
24841
6.62k
  if (yych <= '/') goto yy59;
24842
5.26k
  if (yych <= '5') goto yy1400;
24843
4.15k
  if (yych <= '6') goto yy1401;
24844
2.33k
  goto yy59;
24845
4.05k
yy1406:
24846
4.05k
  YYDEBUG(1406, *YYCURSOR);
24847
4.05k
  yyaccept = 32;
24848
4.05k
  yych = *(YYMARKER = ++YYCURSOR);
24849
4.05k
  if (yych == ':') goto yy1286;
24850
815
  goto yy1329;
24851
4.05k
}
24852
4.05k
#line 2004 "ext/date/lib/parse_date.re"
24853
24854
4.05k
}
24855
24856
682k
#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
341k
{
24861
341k
  Scanner in;
24862
341k
  int t;
24863
341k
  const char *e = s + len - 1;
24864
24865
341k
  memset(&in, 0, sizeof(in));
24866
341k
  in.errors = timelib_malloc(sizeof(timelib_error_container));
24867
341k
  in.errors->warning_count = 0;
24868
341k
  in.errors->warning_messages = NULL;
24869
341k
  in.errors->error_count = 0;
24870
341k
  in.errors->error_messages = NULL;
24871
24872
341k
  if (len > 0) {
24873
362k
    while (isspace((unsigned char)*s) && s < e) {
24874
21.7k
      s++;
24875
21.7k
    }
24876
376k
    while (isspace((unsigned char)*e) && e > s) {
24877
35.0k
      e--;
24878
35.0k
    }
24879
341k
  }
24880
341k
  if (e - s < 0) {
24881
2
    in.time = timelib_time_ctor();
24882
2
    add_error(&in, TIMELIB_ERR_EMPTY_STRING, "Empty string");
24883
2
    if (errors) {
24884
2
      *errors = in.errors;
24885
2
    } else {
24886
0
      timelib_error_container_dtor(in.errors);
24887
0
    }
24888
2
    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
2
    in.time->is_localtime = in.time->zone_type = 0;
24890
2
    return in.time;
24891
2
  }
24892
341k
  e++;
24893
24894
341k
  in.str = timelib_malloc((e - s) + YYMAXFILL);
24895
341k
  memset(in.str, 0, (e - s) + YYMAXFILL);
24896
341k
  memcpy(in.str, s, (e - s));
24897
341k
  in.lim = in.str + (e - s) + YYMAXFILL;
24898
341k
  in.cur = in.str;
24899
341k
  in.time = timelib_time_ctor();
24900
341k
  in.time->y = TIMELIB_UNSET;
24901
341k
  in.time->d = TIMELIB_UNSET;
24902
341k
  in.time->m = TIMELIB_UNSET;
24903
341k
  in.time->h = TIMELIB_UNSET;
24904
341k
  in.time->i = TIMELIB_UNSET;
24905
341k
  in.time->s = TIMELIB_UNSET;
24906
341k
  in.time->us = TIMELIB_UNSET;
24907
341k
  in.time->z = TIMELIB_UNSET;
24908
341k
  in.time->dst = TIMELIB_UNSET;
24909
341k
  in.tzdb = tzdb;
24910
341k
  in.time->is_localtime = 0;
24911
341k
  in.time->zone_type = 0;
24912
341k
  in.time->relative.days = TIMELIB_UNSET;
24913
24914
205M
  do {
24915
205M
    t = scan(&in, tz_get_wrapper);
24916
#ifdef DEBUG_PARSER
24917
    printf("%d\n", t);
24918
#endif
24919
205M
  } while(t != EOI);
24920
24921
  /* do funky checking whether the parsed time was valid time */
24922
341k
  if (in.time->have_time && !timelib_valid_time( in.time->h, in.time->i, in.time->s)) {
24923
4.17k
    add_warning(&in, TIMELIB_WARN_INVALID_TIME, "The parsed time was invalid");
24924
4.17k
  }
24925
  /* do funky checking whether the parsed date was valid date */
24926
341k
  if (in.time->have_date && !timelib_valid_date( in.time->y, in.time->m, in.time->d)) {
24927
139k
    add_warning(&in, TIMELIB_WARN_INVALID_DATE, "The parsed date was invalid");
24928
139k
  }
24929
24930
341k
  timelib_free(in.str);
24931
341k
  if (errors) {
24932
341k
    *errors = in.errors;
24933
341k
  } else {
24934
3
    timelib_error_container_dtor(in.errors);
24935
3
  }
24936
341k
  return in.time;
24937
341k
}
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
311
{
25541
311
  if (!(options & TIMELIB_OVERRIDE_TIME) && parsed->have_date && !parsed->have_time) {
25542
17
    parsed->h = 0;
25543
17
    parsed->i = 0;
25544
17
    parsed->s = 0;
25545
17
    parsed->us = 0;
25546
17
  }
25547
311
  if (
25548
311
    parsed->y != TIMELIB_UNSET || parsed->m != TIMELIB_UNSET || parsed->d != TIMELIB_UNSET ||
25549
207
    parsed->h != TIMELIB_UNSET || parsed->i != TIMELIB_UNSET || parsed->s != TIMELIB_UNSET
25550
311
  ) {
25551
281
    if (parsed->us == TIMELIB_UNSET) parsed->us = 0;
25552
281
  } else {
25553
30
    if (parsed->us == TIMELIB_UNSET) parsed->us = now->us != TIMELIB_UNSET ? now->us : 0;
25554
30
  }
25555
311
  if (parsed->y == TIMELIB_UNSET) parsed->y = now->y != TIMELIB_UNSET ? now->y : 0;
25556
311
  if (parsed->m == TIMELIB_UNSET) parsed->m = now->m != TIMELIB_UNSET ? now->m : 0;
25557
311
  if (parsed->d == TIMELIB_UNSET) parsed->d = now->d != TIMELIB_UNSET ? now->d : 0;
25558
311
  if (parsed->h == TIMELIB_UNSET) parsed->h = now->h != TIMELIB_UNSET ? now->h : 0;
25559
311
  if (parsed->i == TIMELIB_UNSET) parsed->i = now->i != TIMELIB_UNSET ? now->i : 0;
25560
311
  if (parsed->s == TIMELIB_UNSET) parsed->s = now->s != TIMELIB_UNSET ? now->s : 0;
25561
25562
311
  if (!parsed->tz_info) {
25563
308
    parsed->tz_info = now->tz_info ? (!(options & TIMELIB_NO_CLONE) ? timelib_tzinfo_clone(now->tz_info) : now->tz_info) : NULL;
25564
25565
308
    if (parsed->z == TIMELIB_UNSET) parsed->z = now->z != TIMELIB_UNSET ? now->z : 0;
25566
308
    if (parsed->dst == TIMELIB_UNSET) parsed->dst = now->dst != TIMELIB_UNSET ? now->dst : 0;
25567
25568
308
    if (!parsed->tz_abbr) {
25569
297
      parsed->tz_abbr = now->tz_abbr ? timelib_strdup(now->tz_abbr) : NULL;
25570
297
    }
25571
308
  }
25572
25573
311
  if (parsed->zone_type == 0 && now->zone_type != 0) {
25574
246
    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
246
*/    parsed->is_localtime = 1;
25578
246
  }
25579
/*  timelib_dump_date(parsed, 2);
25580
  timelib_dump_date(now, 2);
25581
*/
25582
311
}
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
 */