Coverage Report

Created: 2026-06-02 06:40

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/php-src/Zend/zend_ini_scanner.c
Line
Count
Source
1
/* Generated by re2c 1.3 */
2
#line 1 "Zend/zend_ini_scanner.l"
3
/*
4
   +----------------------------------------------------------------------+
5
   | Zend Engine                                                          |
6
   +----------------------------------------------------------------------+
7
   | Copyright © Zend Technologies Ltd., a subsidiary company of          |
8
   |     Perforce Software, Inc., and Contributors.                       |
9
   +----------------------------------------------------------------------+
10
   | This source file is subject to the Modified BSD License that is      |
11
   | bundled with this package in the file LICENSE, and is available      |
12
   | through the World Wide Web at <https://www.php.net/license/>.        |
13
   |                                                                      |
14
   | SPDX-License-Identifier: BSD-3-Clause                                |
15
   +----------------------------------------------------------------------+
16
   | Authors: Zeev Suraski <zeev@php.net>                                 |
17
   |          Jani Taskinen <jani@php.net>                                |
18
   |          Marcus Boerger <helly@php.net>                              |
19
   |          Nuno Lopes <nlopess@php.net>                                |
20
   |          Scott MacVicar <scottmac@php.net>                           |
21
   +----------------------------------------------------------------------+
22
*/
23
24
#include <errno.h>
25
#include "zend.h"
26
#include "zend_API.h"
27
#include "zend_globals.h"
28
#include <zend_ini_parser.h>
29
#include "zend_ini_scanner.h"
30
31
#ifdef YYDEBUG
32
#undef YYDEBUG
33
#endif
34
35
#if 0
36
# define YYDEBUG(s, c) printf("state: %d char: %c\n", s, c)
37
#else
38
# define YYDEBUG(s, c)
39
#endif
40
41
#include "zend_ini_scanner_defs.h"
42
43
1.36M
#define YYCTYPE   unsigned char
44
/* allow the scanner to read one null byte after the end of the string (from ZEND_MMAP_AHEAD)
45
 * so that if will be able to terminate to match the current token (e.g. non-enclosed string) */
46
14.0M
#define YYFILL(n) { if (YYCURSOR > YYLIMIT) return 0; }
47
47.4M
#define YYCURSOR  SCNG(yy_cursor)
48
19.1M
#define YYLIMIT   SCNG(yy_limit)
49
3.51M
#define YYMARKER  SCNG(yy_marker)
50
51
4.34M
#define YYGETCONDITION()  SCNG(yy_state)
52
670k
#define YYSETCONDITION(s) SCNG(yy_state) = s
53
54
21.7k
#define STATE(name)  yyc##name
55
56
/* emulate flex constructs */
57
211k
#define BEGIN(state) YYSETCONDITION(STATE(state))
58
21.7k
#define YYSTATE      YYGETCONDITION()
59
1.57M
#define yytext       ((const char*)SCNG(yy_text))
60
2.98M
#define yyleng       SCNG(yy_leng)
61
2.04k
#define yyless(x)    do { YYCURSOR = (const unsigned char*)yytext + x; \
62
2.04k
              yyleng   = (unsigned int)x; } while(0)
63
64
/* #define yymore()     goto yymore_restart */
65
66
/* perform sanity check. If this message is triggered you should
67
   increase the ZEND_MMAP_AHEAD value in the zend_streams.h file */
68
#define YYMAXFILL 6
69
70
#if ZEND_MMAP_AHEAD < (YYMAXFILL + 1)
71
# error ZEND_MMAP_AHEAD should be greater than YYMAXFILL
72
#endif
73
74
75
/* How it works (for the core ini directives):
76
 * ===========================================
77
 *
78
 * 1. Scanner scans file for tokens and passes them to parser.
79
 * 2. Parser parses the tokens and passes the name/value pairs to the callback
80
 *    function which stores them in the configuration hash table.
81
 * 3. Later REGISTER_INI_ENTRIES() is called which triggers the actual
82
 *    registering of ini entries and uses zend_get_configuration_directive()
83
 *    to fetch the previously stored name/value pair from configuration hash table
84
 *    and registers the static ini entries which match the name to the value
85
 *    into EG(ini_directives) hash table.
86
 * 4. PATH section entries are used per-request from down to top, each overriding
87
 *    previous if one exists. zend_alter_ini_entry() is called for each entry.
88
 *    Settings in PATH section are ZEND_INI_SYSTEM accessible and thus mimics the
89
 *    php_admin_* directives used within Apache httpd.conf when PHP is compiled as
90
 *    module for Apache.
91
 * 5. User defined ini files (like .htaccess for apache) are parsed for each request and
92
 *    stored in separate hash defined by SAPI.
93
 */
94
95
/* TODO: (ordered by importance :-)
96
 * ===============================================================================
97
 *
98
 *  - Separate constant lookup totally from plain strings (using CONSTANT pattern)
99
 *  - Add #if .. #else .. #endif and ==, !=, <, > , <=, >= operators
100
 *  - Add #include "some.ini"
101
 *  - Allow variables to refer to options also when using parse_ini_file()
102
 *
103
 */
104
105
/* Globals Macros */
106
85.8M
#define SCNG  INI_SCNG
107
#ifdef ZTS
108
ZEND_API ts_rsrc_id ini_scanner_globals_id;
109
ZEND_API size_t ini_scanner_globals_offset;
110
#else
111
ZEND_API zend_ini_scanner_globals ini_scanner_globals;
112
#endif
113
114
#define ZEND_SYSTEM_INI CG(ini_parser_unbuffered_errors)
115
116
/* Eat leading whitespace */
117
#define EAT_LEADING_WHITESPACE()                     \
118
202k
  while (yyleng) {                                 \
119
202k
    if (yytext[0] == ' ' || yytext[0] == '\t') { \
120
9.08k
      SCNG(yy_text)++;                         \
121
9.08k
      yyleng--;                                \
122
193k
    } else {                                     \
123
193k
      break;                                   \
124
193k
    }                                            \
125
202k
  }
126
127
/* Eat trailing whitespace + extra char */
128
#define EAT_TRAILING_WHITESPACE_EX(ch)              \
129
240k
  while (yyleng && (                              \
130
240k
    (ch != 'X' && yytext[yyleng - 1] ==  ch) || \
131
240k
    yytext[yyleng - 1] == '\n' ||               \
132
240k
    yytext[yyleng - 1] == '\r' ||               \
133
240k
    yytext[yyleng - 1] == '\t' ||               \
134
240k
    yytext[yyleng - 1] == ' ')                  \
135
193k
  ) {                                             \
136
47.0k
    yyleng--;                                   \
137
47.0k
  }
138
139
/* Eat trailing whitespace */
140
190k
#define EAT_TRAILING_WHITESPACE() EAT_TRAILING_WHITESPACE_EX('X')
141
142
#define zend_ini_copy_value(retval, str, len) \
143
625k
  ZVAL_NEW_STR(retval, zend_string_init(str, len, ZEND_SYSTEM_INI))
144
145
146
494k
#define RETURN_TOKEN(type, str, len) {                             \
147
494k
  if (SCNG(scanner_mode) == ZEND_INI_SCANNER_TYPED &&            \
148
494k
    (YYSTATE == STATE(ST_VALUE) || YYSTATE == STATE(ST_RAW))) {\
149
822
    zend_ini_copy_typed_value(ini_lval, type, str, len);       \
150
494k
  } else {                                                       \
151
494k
    zend_ini_copy_value(ini_lval, str, len);                   \
152
494k
  }                                                              \
153
494k
  Z_EXTRA_P(ini_lval) = 0;                                       \
154
494k
  return type;                                                   \
155
494k
}
156
157
static void zend_ini_copy_typed_value(zval *retval, const int type, const char *str, int len)
158
822
{
159
822
  switch (type) {
160
2
    case BOOL_FALSE:
161
46
    case BOOL_TRUE:
162
46
      ZVAL_BOOL(retval, type == BOOL_TRUE);
163
46
      break;
164
165
72
    case NULL_NULL:
166
72
      ZVAL_NULL(retval);
167
72
      break;
168
169
704
    default:
170
704
      zend_ini_copy_value(retval, str, len);
171
822
  }
172
822
}
173
174
static void _yy_push_state(int new_state)
175
230k
{
176
230k
  zend_stack_push(&SCNG(state_stack), (void *) &YYGETCONDITION());
177
230k
  YYSETCONDITION(new_state);
178
230k
}
179
180
230k
#define yy_push_state(state_and_tsrm) _yy_push_state(yyc##state_and_tsrm)
181
182
static void yy_pop_state(void)
183
227k
{
184
227k
  int *stack_state = zend_stack_top(&SCNG(state_stack));
185
227k
  YYSETCONDITION(*stack_state);
186
227k
  zend_stack_del_top(&SCNG(state_stack));
187
227k
}
188
189
static void yy_scan_buffer(const char *str, unsigned int len)
190
24.9k
{
191
24.9k
  YYCURSOR = (const YYCTYPE*)str;
192
24.9k
  SCNG(yy_start) = YYCURSOR;
193
24.9k
  YYLIMIT  = YYCURSOR + len;
194
24.9k
}
195
196
66.8k
#define ini_filename SCNG(filename)
197
198
/* {{{ init_ini_scanner() */
199
static zend_result init_ini_scanner(int scanner_mode, zend_file_handle *fh)
200
24.9k
{
201
  /* Sanity check */
202
24.9k
  if (scanner_mode != ZEND_INI_SCANNER_NORMAL && scanner_mode != ZEND_INI_SCANNER_RAW && scanner_mode != ZEND_INI_SCANNER_TYPED) {
203
2
    zend_error(E_WARNING, "Invalid scanner mode");
204
2
    return FAILURE;
205
2
  }
206
207
24.9k
  SCNG(lineno) = 1;
208
24.9k
  SCNG(scanner_mode) = scanner_mode;
209
24.9k
  SCNG(yy_in) = fh;
210
211
24.9k
  if (fh != NULL) {
212
0
    ini_filename = zend_string_copy(fh->filename);
213
24.9k
  } else {
214
24.9k
    ini_filename = NULL;
215
24.9k
  }
216
217
24.9k
  zend_stack_init(&SCNG(state_stack), sizeof(int));
218
24.9k
  BEGIN(INITIAL);
219
220
24.9k
  return SUCCESS;
221
24.9k
}
222
/* }}} */
223
224
/* {{{ shutdown_ini_scanner() */
225
void shutdown_ini_scanner(void)
226
24.9k
{
227
24.9k
  zend_stack_destroy(&SCNG(state_stack));
228
24.9k
  if (ini_filename) {
229
0
    zend_string_release(ini_filename);
230
0
  }
231
24.9k
}
232
/* }}} */
233
234
/* {{{ zend_ini_scanner_get_lineno() */
235
ZEND_COLD uint32_t zend_ini_scanner_get_lineno(void)
236
16.8k
{
237
16.8k
  return SCNG(lineno);
238
16.8k
}
239
/* }}} */
240
241
/* {{{ zend_ini_scanner_get_filename() */
242
ZEND_COLD const char *zend_ini_scanner_get_filename(void)
243
16.8k
{
244
16.8k
  return ini_filename ? ZSTR_VAL(ini_filename) : "Unknown";
245
16.8k
}
246
/* }}} */
247
248
/* {{{ zend_ini_open_file_for_scanning() */
249
zend_result zend_ini_open_file_for_scanning(zend_file_handle *fh, int scanner_mode)
250
0
{
251
0
  char *buf;
252
0
  size_t size;
253
254
0
  if (zend_stream_fixup(fh, &buf, &size) == FAILURE) {
255
0
    return FAILURE;
256
0
  }
257
258
0
  if (init_ini_scanner(scanner_mode, fh) == FAILURE) {
259
0
    return FAILURE;
260
0
  }
261
262
0
  yy_scan_buffer(buf, (unsigned int)size);
263
264
0
  return SUCCESS;
265
0
}
266
/* }}} */
267
268
/* {{{ zend_ini_prepare_string_for_scanning() */
269
zend_result zend_ini_prepare_string_for_scanning(const char *str, int scanner_mode)
270
24.9k
{
271
24.9k
  int len = (int)strlen(str);
272
273
24.9k
  if (init_ini_scanner(scanner_mode, NULL) == FAILURE) {
274
2
    return FAILURE;
275
2
  }
276
277
24.9k
  yy_scan_buffer(str, len);
278
279
24.9k
  return SUCCESS;
280
24.9k
}
281
/* }}} */
282
283
/* {{{ zend_ini_escape_string() */
284
static void zend_ini_escape_string(zval *lval, const char *str, int len, char quote_type)
285
130k
{
286
130k
  char *s, *t;
287
130k
  char *end;
288
289
130k
  zend_ini_copy_value(lval, str, len);
290
291
  /* convert escape sequences */
292
130k
  s = t = Z_STRVAL_P(lval);
293
130k
  end = s + Z_STRLEN_P(lval);
294
295
3.48M
  while (s < end) {
296
3.35M
    if (*s == '\\') {
297
20.1k
      s++;
298
20.1k
      if (s >= end) {
299
40
        *t++ = '\\';
300
40
        continue;
301
40
      }
302
20.0k
      switch (*s) {
303
50
        case '"':
304
50
          if (*s != quote_type) {
305
0
            *t++ = '\\';
306
0
            *t++ = *s;
307
0
            break;
308
0
          }
309
50
          ZEND_FALLTHROUGH;
310
4.44k
        case '\\':
311
4.44k
        case '$':
312
4.44k
          *t++ = *s;
313
4.44k
          Z_STRLEN_P(lval)--;
314
4.44k
          break;
315
15.6k
        default:
316
15.6k
          *t++ = '\\';
317
15.6k
          *t++ = *s;
318
15.6k
          break;
319
20.0k
      }
320
3.33M
    } else {
321
3.33M
      *t++ = *s;
322
3.33M
    }
323
3.35M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
324
83.6k
      SCNG(lineno)++;
325
83.6k
    }
326
3.35M
    s++;
327
3.35M
  }
328
130k
  *t = 0;
329
130k
}
330
/* }}} */
331
332
int ini_lex(zval *ini_lval)
333
1.37M
{
334
1.37M
restart:
335
1.37M
  SCNG(yy_text) = YYCURSOR;
336
337
/* yymore_restart: */
338
  /* detect EOF */
339
1.37M
  if (YYCURSOR >= YYLIMIT) {
340
11.3k
    if (YYSTATE == STATE(ST_VALUE) || YYSTATE == STATE(ST_RAW)) {
341
3.58k
      BEGIN(INITIAL);
342
3.58k
      return END_OF_LINE;
343
3.58k
    }
344
7.74k
    return 0;
345
11.3k
  }
346
347
  /* Eat any UTF-8 BOM we find in the first 3 bytes */
348
1.36M
  if (YYCURSOR == SCNG(yy_start) && YYCURSOR + 3 < YYLIMIT) {
349
24.4k
    if (memcmp(YYCURSOR, "\xef\xbb\xbf", 3) == 0) {
350
167
      YYCURSOR += 3;
351
167
      goto restart;
352
167
    }
353
24.4k
  }
354
355
1.36M
#line 356 "Zend/zend_ini_scanner.c"
356
1.36M
{
357
1.36M
  YYCTYPE yych;
358
1.36M
  unsigned int yyaccept = 0;
359
1.36M
  if (YYGETCONDITION() < 4) {
360
1.00M
    if (YYGETCONDITION() < 2) {
361
648k
      if (YYGETCONDITION() < 1) {
362
398k
        goto yyc_INITIAL;
363
398k
      } else {
364
249k
        goto yyc_ST_OFFSET;
365
249k
      }
366
648k
    } else {
367
356k
      if (YYGETCONDITION() < 3) {
368
53.0k
        goto yyc_ST_SECTION_VALUE;
369
303k
      } else {
370
303k
        goto yyc_ST_VALUE;
371
303k
      }
372
356k
    }
373
1.00M
  } else {
374
359k
    if (YYGETCONDITION() < 6) {
375
358k
      if (YYGETCONDITION() < 5) {
376
0
        goto yyc_ST_SECTION_RAW;
377
358k
      } else {
378
358k
        goto yyc_ST_DOUBLE_QUOTES;
379
358k
      }
380
358k
    } else {
381
498
      if (YYGETCONDITION() < 7) {
382
192
        goto yyc_ST_VAR_FALLBACK;
383
306
      } else {
384
306
        if (YYGETCONDITION() < 8) {
385
122
          goto yyc_ST_VARNAME;
386
184
        } else {
387
184
          goto yyc_ST_RAW;
388
184
        }
389
306
      }
390
498
    }
391
359k
  }
392
/* *********************************** */
393
398k
yyc_INITIAL:
394
398k
  {
395
398k
    static const unsigned char yybm[] = {
396
398k
      128, 144, 144, 144, 144, 144, 144, 144, 
397
398k
      144, 160,   0, 144, 144,   0, 144, 144, 
398
398k
      144, 144, 144, 144, 144, 144, 144, 144, 
399
398k
      144, 144, 144, 144, 144, 144, 144, 144, 
400
398k
      240, 128, 128, 144, 128, 144, 128, 144, 
401
398k
      128, 128, 144, 144, 144, 144, 144, 144, 
402
398k
      144, 144, 144, 144, 144, 144, 144, 144, 
403
398k
      144, 144, 144, 128, 144, 128, 144, 144, 
404
398k
      144, 144, 144, 144, 144, 144, 144, 144, 
405
398k
      144, 144, 144, 144, 144, 144, 144, 144, 
406
398k
      144, 144, 144, 144, 144, 144, 144, 144, 
407
398k
      144, 144, 144, 128, 144, 128, 128, 144, 
408
398k
      144, 144, 144, 144, 144, 144, 144, 144, 
409
398k
      144, 144, 144, 144, 144, 144, 144, 144, 
410
398k
      144, 144, 144, 144, 144, 144, 144, 144, 
411
398k
      144, 144, 144, 128, 128, 128, 128, 144, 
412
398k
      144, 144, 144, 144, 144, 144, 144, 144, 
413
398k
      144, 144, 144, 144, 144, 144, 144, 144, 
414
398k
      144, 144, 144, 144, 144, 144, 144, 144, 
415
398k
      144, 144, 144, 144, 144, 144, 144, 144, 
416
398k
      144, 144, 144, 144, 144, 144, 144, 144, 
417
398k
      144, 144, 144, 144, 144, 144, 144, 144, 
418
398k
      144, 144, 144, 144, 144, 144, 144, 144, 
419
398k
      144, 144, 144, 144, 144, 144, 144, 144, 
420
398k
      144, 144, 144, 144, 144, 144, 144, 144, 
421
398k
      144, 144, 144, 144, 144, 144, 144, 144, 
422
398k
      144, 144, 144, 144, 144, 144, 144, 144, 
423
398k
      144, 144, 144, 144, 144, 144, 144, 144, 
424
398k
      144, 144, 144, 144, 144, 144, 144, 144, 
425
398k
      144, 144, 144, 144, 144, 144, 144, 144, 
426
398k
      144, 144, 144, 144, 144, 144, 144, 144, 
427
398k
      144, 144, 144, 144, 144, 144, 144, 144, 
428
398k
    };
429
398k
    YYDEBUG(1, *YYCURSOR);
430
398k
    YYFILL(5);
431
398k
    yych = *YYCURSOR;
432
398k
    if (yybm[0+yych] & 64) {
433
3.77k
      goto yy14;
434
3.77k
    }
435
395k
    if (yych <= 'M') {
436
268k
      if (yych <= '$') {
437
97.9k
        if (yych <= '\f') {
438
54.4k
          if (yych <= 0x08) {
439
333
            if (yych >= 0x01) goto yy5;
440
54.1k
          } else {
441
54.1k
            if (yych <= '\t') goto yy8;
442
51.5k
            if (yych <= '\n') goto yy11;
443
13.4k
            goto yy5;
444
51.5k
          }
445
54.4k
        } else {
446
43.4k
          if (yych <= 0x1F) {
447
42.2k
            if (yych <= '\r') goto yy13;
448
1.31k
            goto yy5;
449
42.2k
          } else {
450
1.25k
            if (yych == '#') goto yy5;
451
1.11k
            goto yy16;
452
1.25k
          }
453
43.4k
        }
454
170k
      } else {
455
170k
        if (yych <= ':') {
456
50.1k
          if (yych <= '&') {
457
199
            if (yych <= '%') goto yy5;
458
152
            goto yy16;
459
49.9k
          } else {
460
49.9k
            if (yych <= '\'') goto yy5;
461
49.5k
            if (yych <= ')') goto yy16;
462
48.4k
            goto yy5;
463
49.5k
          }
464
120k
        } else {
465
120k
          if (yych <= '=') {
466
115k
            if (yych <= ';') goto yy18;
467
71.7k
            if (yych <= '<') goto yy5;
468
71.0k
            goto yy20;
469
71.7k
          } else {
470
4.51k
            if (yych == 'F') goto yy23;
471
4.43k
            goto yy5;
472
4.51k
          }
473
120k
        }
474
170k
      }
475
268k
    } else {
476
126k
      if (yych <= 'e') {
477
28.1k
        if (yych <= 'X') {
478
1.11k
          if (yych <= 'O') {
479
671
            if (yych <= 'N') goto yy24;
480
222
            goto yy25;
481
671
          } else {
482
448
            if (yych == 'T') goto yy26;
483
357
            goto yy5;
484
448
          }
485
27.0k
        } else {
486
27.0k
          if (yych <= '[') {
487
4.23k
            if (yych <= 'Y') goto yy27;
488
4.15k
            if (yych <= 'Z') goto yy5;
489
4.15k
            goto yy28;
490
22.8k
          } else {
491
22.8k
            if (yych <= '\\') goto yy5;
492
22.8k
            if (yych <= '^') goto yy16;
493
22.5k
            goto yy5;
494
22.8k
          }
495
27.0k
        }
496
98.6k
      } else {
497
98.6k
        if (yych <= 's') {
498
15.1k
          if (yych <= 'm') {
499
2.15k
            if (yych <= 'f') goto yy23;
500
412
            goto yy5;
501
13.0k
          } else {
502
13.0k
            if (yych <= 'n') goto yy24;
503
12.7k
            if (yych <= 'o') goto yy25;
504
1.89k
            goto yy5;
505
12.7k
          }
506
83.4k
        } else {
507
83.4k
          if (yych <= 'y') {
508
7.34k
            if (yych <= 't') goto yy26;
509
293
            if (yych <= 'x') goto yy5;
510
109
            goto yy27;
511
76.1k
          } else {
512
76.1k
            if (yych <= 'z') goto yy5;
513
76.0k
            if (yych <= '~') goto yy16;
514
75.1k
            goto yy5;
515
76.0k
          }
516
83.4k
        }
517
98.6k
      }
518
126k
    }
519
0
    YYDEBUG(3, *YYCURSOR);
520
0
    ++YYCURSOR;
521
0
    YYDEBUG(4, *YYCURSOR);
522
0
    yyleng = YYCURSOR - SCNG(yy_text);
523
0
#line 685 "Zend/zend_ini_scanner.l"
524
0
    {
525
0
  return 0;
526
395k
}
527
0
#line 528 "Zend/zend_ini_scanner.c"
528
1.32M
yy5:
529
1.32M
    YYDEBUG(5, *YYCURSOR);
530
1.32M
    ++YYCURSOR;
531
1.32M
    YYFILL(1);
532
1.32M
    yych = *YYCURSOR;
533
1.33M
yy6:
534
1.33M
    YYDEBUG(6, *YYCURSOR);
535
1.33M
    if (yybm[0+yych] & 16) {
536
1.13M
      goto yy5;
537
1.13M
    }
538
193k
    if (yych <= '=') goto yy7;
539
3.81k
    if (yych <= '[') goto yy30;
540
190k
yy7:
541
190k
    YYDEBUG(7, *YYCURSOR);
542
190k
    yyleng = YYCURSOR - SCNG(yy_text);
543
190k
#line 502 "Zend/zend_ini_scanner.l"
544
190k
    { /* Get option name */
545
  /* Eat leading whitespace */
546
190k
  EAT_LEADING_WHITESPACE();
547
548
  /* Eat trailing whitespace */
549
190k
  EAT_TRAILING_WHITESPACE();
550
551
190k
  RETURN_TOKEN(TC_LABEL, yytext, yyleng);
552
0
}
553
0
#line 554 "Zend/zend_ini_scanner.c"
554
3.85k
yy8:
555
3.85k
    YYDEBUG(8, *YYCURSOR);
556
3.85k
    ++YYCURSOR;
557
3.85k
    YYFILL(2);
558
3.85k
    yych = *YYCURSOR;
559
3.85k
    YYDEBUG(9, *YYCURSOR);
560
3.85k
    if (yybm[0+yych] & 32) {
561
1.27k
      goto yy8;
562
1.27k
    }
563
2.58k
    if (yych <= '\r') {
564
331
      if (yych <= 0x08) goto yy10;
565
255
      if (yych <= '\n') goto yy11;
566
156
      if (yych >= '\r') goto yy13;
567
2.24k
    } else {
568
2.24k
      if (yych <= ';') {
569
89
        if (yych >= ';') goto yy18;
570
2.16k
      } else {
571
2.16k
        if (yych == '=') goto yy20;
572
2.16k
      }
573
2.24k
    }
574
2.08k
yy10:
575
2.08k
    YYDEBUG(10, *YYCURSOR);
576
2.08k
    yyleng = YYCURSOR - SCNG(yy_text);
577
2.08k
#line 664 "Zend/zend_ini_scanner.l"
578
2.08k
    {
579
  /* eat whitespace */
580
2.08k
  goto restart;
581
2.58k
}
582
0
#line 583 "Zend/zend_ini_scanner.c"
583
43.7k
yy11:
584
43.7k
    YYDEBUG(11, *YYCURSOR);
585
43.7k
    ++YYCURSOR;
586
79.4k
yy12:
587
79.4k
    YYDEBUG(12, *YYCURSOR);
588
79.4k
    yyleng = YYCURSOR - SCNG(yy_text);
589
79.4k
#line 669 "Zend/zend_ini_scanner.l"
590
79.4k
    {
591
79.4k
  SCNG(lineno)++;
592
79.4k
  return END_OF_LINE;
593
43.7k
}
594
0
#line 595 "Zend/zend_ini_scanner.c"
595
41.0k
yy13:
596
41.0k
    YYDEBUG(13, *YYCURSOR);
597
41.0k
    yych = *++YYCURSOR;
598
41.0k
    if (yych == '\n') goto yy11;
599
35.7k
    goto yy12;
600
35.7k
yy14:
601
9.67k
    YYDEBUG(14, *YYCURSOR);
602
9.67k
    ++YYCURSOR;
603
9.67k
    YYFILL(2);
604
9.67k
    yych = *YYCURSOR;
605
9.67k
    YYDEBUG(15, *YYCURSOR);
606
9.67k
    if (yybm[0+yych] & 64) {
607
5.90k
      goto yy14;
608
5.90k
    }
609
3.77k
    if (yych <= '&') {
610
642
      if (yych <= '\r') {
611
364
        if (yych <= '\t') {
612
227
          if (yych <= 0x00) goto yy7;
613
173
          if (yych <= 0x08) goto yy5;
614
0
          goto yy8;
615
173
        } else {
616
137
          if (yych <= '\n') goto yy11;
617
0
          if (yych <= '\f') goto yy5;
618
0
          goto yy13;
619
0
        }
620
364
      } else {
621
278
        if (yych <= '#') {
622
107
          if (yych <= 0x1F) goto yy5;
623
64
          if (yych <= '"') goto yy7;
624
0
          goto yy5;
625
171
        } else {
626
171
          if (yych == '%') goto yy5;
627
170
          goto yy7;
628
171
        }
629
278
      }
630
3.13k
    } else {
631
3.13k
      if (yych <= '=') {
632
720
        if (yych <= ':') {
633
491
          if (yych <= '\'') goto yy5;
634
491
          if (yych <= ')') goto yy7;
635
398
          goto yy5;
636
491
        } else {
637
229
          if (yych <= ';') goto yy18;
638
224
          if (yych <= '<') goto yy5;
639
224
          goto yy20;
640
224
        }
641
2.41k
      } else {
642
2.41k
        if (yych <= '\\') {
643
451
          if (yych == '[') goto yy30;
644
445
          goto yy5;
645
1.96k
        } else {
646
1.96k
          if (yych <= '^') goto yy7;
647
1.83k
          if (yych <= 'z') goto yy5;
648
963
          if (yych <= '~') goto yy7;
649
879
          goto yy5;
650
963
        }
651
2.41k
      }
652
3.13k
    }
653
3.57k
yy16:
654
3.57k
    YYDEBUG(16, *YYCURSOR);
655
3.57k
    ++YYCURSOR;
656
3.57k
    YYDEBUG(17, *YYCURSOR);
657
3.57k
    yyleng = YYCURSOR - SCNG(yy_text);
658
3.57k
#line 583 "Zend/zend_ini_scanner.l"
659
3.57k
    { /* Disallow these chars outside option values */
660
3.57k
  return yytext[0];
661
3.77k
}
662
0
#line 663 "Zend/zend_ini_scanner.c"
663
1.83M
yy18:
664
1.83M
    YYDEBUG(18, *YYCURSOR);
665
1.83M
    ++YYCURSOR;
666
1.83M
    YYFILL(2);
667
1.82M
    yych = *YYCURSOR;
668
1.82M
    YYDEBUG(19, *YYCURSOR);
669
1.82M
    if (yybm[0+yych] & 128) {
670
1.78M
      goto yy18;
671
1.78M
    }
672
42.8k
    if (yych <= '\n') goto yy33;
673
2.59k
    goto yy35;
674
83.2k
yy20:
675
83.2k
    YYDEBUG(20, *YYCURSOR);
676
83.2k
    ++YYCURSOR;
677
83.2k
    YYFILL(1);
678
83.2k
    yych = *YYCURSOR;
679
83.2k
    YYDEBUG(21, *YYCURSOR);
680
83.2k
    if (yych == '\t') goto yy20;
681
83.1k
    if (yych == ' ') goto yy20;
682
71.5k
    YYDEBUG(22, *YYCURSOR);
683
71.5k
    yyleng = YYCURSOR - SCNG(yy_text);
684
71.5k
#line 512 "Zend/zend_ini_scanner.l"
685
71.5k
    { /* Start option value */
686
71.5k
  if (SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW) {
687
100
    BEGIN(ST_RAW);
688
71.4k
  } else {
689
71.4k
    BEGIN(ST_VALUE);
690
71.4k
  }
691
71.5k
  return '=';
692
83.1k
}
693
0
#line 694 "Zend/zend_ini_scanner.c"
694
1.82k
yy23:
695
1.82k
    YYDEBUG(23, *YYCURSOR);
696
1.82k
    yych = *++YYCURSOR;
697
1.82k
    if (yych == 'A') goto yy36;
698
1.74k
    if (yych == 'a') goto yy36;
699
1.09k
    goto yy6;
700
1.09k
yy24:
701
720
    YYDEBUG(24, *YYCURSOR);
702
720
    yych = *++YYCURSOR;
703
720
    if (yych <= 'U') {
704
429
      if (yych == 'O') goto yy37;
705
429
      if (yych <= 'T') goto yy6;
706
342
      goto yy39;
707
429
    } else {
708
291
      if (yych <= 'o') {
709
240
        if (yych <= 'n') goto yy6;
710
187
        goto yy37;
711
240
      } else {
712
51
        if (yych == 'u') goto yy39;
713
45
        goto yy6;
714
51
      }
715
291
    }
716
11.0k
yy25:
717
11.0k
    YYDEBUG(25, *YYCURSOR);
718
11.0k
    yych = *++YYCURSOR;
719
11.0k
    if (yych <= 'N') {
720
10.4k
      if (yych == 'F') goto yy40;
721
10.4k
      if (yych <= 'M') goto yy6;
722
9.32k
      goto yy41;
723
10.4k
    } else {
724
625
      if (yych <= 'f') {
725
61
        if (yych <= 'e') goto yy6;
726
0
        goto yy40;
727
564
      } else {
728
564
        if (yych == 'n') goto yy41;
729
89
        goto yy6;
730
564
      }
731
625
    }
732
7.14k
yy26:
733
7.14k
    YYDEBUG(26, *YYCURSOR);
734
7.14k
    yych = *++YYCURSOR;
735
7.14k
    if (yych == 'R') goto yy44;
736
7.14k
    if (yych == 'r') goto yy44;
737
6.90k
    goto yy6;
738
6.90k
yy27:
739
188
    YYDEBUG(27, *YYCURSOR);
740
188
    yych = *++YYCURSOR;
741
188
    if (yych == 'E') goto yy45;
742
188
    if (yych == 'e') goto yy45;
743
128
    goto yy6;
744
4.15k
yy28:
745
4.15k
    YYDEBUG(28, *YYCURSOR);
746
4.15k
    ++YYCURSOR;
747
4.15k
    YYDEBUG(29, *YYCURSOR);
748
4.15k
    yyleng = YYCURSOR - SCNG(yy_text);
749
4.15k
#line 378 "Zend/zend_ini_scanner.l"
750
4.15k
    { /* Section start */
751
  /* Enter section data lookup state */
752
4.15k
  if (SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW) {
753
0
    BEGIN(ST_SECTION_RAW);
754
4.15k
  } else {
755
4.15k
    BEGIN(ST_SECTION_VALUE);
756
4.15k
  }
757
4.15k
  return TC_SECTION;
758
188
}
759
0
#line 760 "Zend/zend_ini_scanner.c"
760
4.03k
yy30:
761
4.03k
    YYDEBUG(30, *YYCURSOR);
762
4.03k
    ++YYCURSOR;
763
4.03k
    YYFILL(1);
764
4.03k
    yych = *YYCURSOR;
765
4.03k
    YYDEBUG(31, *YYCURSOR);
766
4.03k
    if (yych == '\t') goto yy30;
767
3.76k
    if (yych == ' ') goto yy30;
768
3.45k
    YYDEBUG(32, *YYCURSOR);
769
3.45k
    yyleng = YYCURSOR - SCNG(yy_text);
770
3.45k
#line 403 "Zend/zend_ini_scanner.l"
771
3.45k
    { /* Start of option with offset */
772
  /* Eat leading whitespace */
773
3.45k
  EAT_LEADING_WHITESPACE();
774
775
  /* Eat trailing whitespace and [ */
776
3.45k
  EAT_TRAILING_WHITESPACE_EX('[');
777
778
  /* Enter offset lookup state */
779
3.45k
  BEGIN(ST_OFFSET);
780
781
3.45k
  RETURN_TOKEN(TC_OFFSET, yytext, yyleng);
782
0
}
783
0
#line 784 "Zend/zend_ini_scanner.c"
784
42.1k
yy33:
785
42.1k
    YYDEBUG(33, *YYCURSOR);
786
42.1k
    ++YYCURSOR;
787
42.8k
yy34:
788
42.8k
    YYDEBUG(34, *YYCURSOR);
789
42.8k
    yyleng = YYCURSOR - SCNG(yy_text);
790
42.8k
#line 674 "Zend/zend_ini_scanner.l"
791
42.8k
    { /* Comment */
792
42.8k
  BEGIN(INITIAL);
793
42.8k
  SCNG(lineno)++;
794
42.8k
  return END_OF_LINE;
795
42.1k
}
796
0
#line 797 "Zend/zend_ini_scanner.c"
797
2.59k
yy35:
798
2.59k
    YYDEBUG(35, *YYCURSOR);
799
2.59k
    yych = *++YYCURSOR;
800
2.59k
    if (yych == '\n') goto yy33;
801
654
    goto yy34;
802
723
yy36:
803
723
    YYDEBUG(36, *YYCURSOR);
804
723
    yych = *++YYCURSOR;
805
723
    if (yych == 'L') goto yy46;
806
723
    if (yych == 'l') goto yy46;
807
76
    goto yy6;
808
187
yy37:
809
187
    YYDEBUG(37, *YYCURSOR);
810
187
    yych = *++YYCURSOR;
811
187
    if (yych <= '\'') {
812
0
      if (yych <= 0x1F) {
813
0
        if (yych <= '\t') {
814
0
          if (yych <= 0x00) goto yy38;
815
0
          if (yych <= 0x08) goto yy6;
816
0
          goto yy47;
817
0
        } else {
818
0
          if (yych <= '\n') goto yy38;
819
0
          if (yych != '\r') goto yy6;
820
0
        }
821
0
      } else {
822
0
        if (yych <= '#') {
823
0
          if (yych <= ' ') goto yy49;
824
0
          if (yych >= '#') goto yy6;
825
0
        } else {
826
0
          if (yych == '%') goto yy6;
827
0
          if (yych >= '\'') goto yy6;
828
0
        }
829
0
      }
830
187
    } else {
831
187
      if (yych <= 'N') {
832
40
        if (yych <= ';') {
833
0
          if (yych <= ')') goto yy38;
834
0
          if (yych <= ':') goto yy6;
835
40
        } else {
836
40
          if (yych == '=') goto yy38;
837
40
          if (yych <= 'M') goto yy6;
838
0
          goto yy51;
839
40
        }
840
147
      } else {
841
147
        if (yych <= 'm') {
842
87
          if (yych <= '\\') goto yy6;
843
87
          if (yych >= '_') goto yy6;
844
87
        } else {
845
60
          if (yych <= 'n') goto yy51;
846
24
          if (yych <= 'z') goto yy6;
847
22
          if (yych >= 0x7F) goto yy6;
848
22
        }
849
147
      }
850
187
    }
851
311
yy38:
852
311
    YYDEBUG(38, *YYCURSOR);
853
311
    yyleng = YYCURSOR - SCNG(yy_text);
854
311
#line 494 "Zend/zend_ini_scanner.l"
855
311
    { /* FALSE value (when used outside option value/offset this causes parse error!)*/
856
311
  RETURN_TOKEN(BOOL_FALSE, "", 0);
857
0
}
858
0
#line 859 "Zend/zend_ini_scanner.c"
859
348
yy39:
860
348
    YYDEBUG(39, *YYCURSOR);
861
348
    yych = *++YYCURSOR;
862
348
    if (yych == 'L') goto yy52;
863
348
    if (yych == 'l') goto yy52;
864
342
    goto yy6;
865
342
yy40:
866
0
    YYDEBUG(40, *YYCURSOR);
867
0
    yych = *++YYCURSOR;
868
0
    if (yych == 'F') goto yy49;
869
0
    if (yych == 'f') goto yy49;
870
0
    goto yy6;
871
9.87k
yy41:
872
9.87k
    YYDEBUG(41, *YYCURSOR);
873
9.87k
    ++YYCURSOR;
874
9.87k
    YYFILL(1);
875
9.87k
    yych = *YYCURSOR;
876
9.87k
    YYDEBUG(42, *YYCURSOR);
877
9.87k
    if (yych <= '&') {
878
142
      if (yych <= '\r') {
879
34
        if (yych <= '\t') {
880
0
          if (yych <= 0x00) goto yy43;
881
0
          if (yych <= 0x08) goto yy5;
882
0
          goto yy53;
883
34
        } else {
884
34
          if (yych <= '\n') goto yy43;
885
0
          if (yych <= '\f') goto yy5;
886
0
        }
887
108
      } else {
888
108
        if (yych <= '"') {
889
72
          if (yych <= 0x1F) goto yy5;
890
20
          if (yych <= ' ') goto yy41;
891
36
        } else {
892
36
          if (yych == '$') goto yy43;
893
36
          if (yych <= '%') goto yy5;
894
36
        }
895
108
      }
896
9.72k
    } else {
897
9.72k
      if (yych <= '=') {
898
568
        if (yych <= ':') {
899
492
          if (yych <= '\'') goto yy5;
900
360
          if (yych >= '*') goto yy5;
901
360
        } else {
902
76
          if (yych == '<') goto yy5;
903
76
        }
904
9.16k
      } else {
905
9.16k
        if (yych <= '\\') {
906
8.52k
          if (yych == '[') goto yy30;
907
8.52k
          goto yy5;
908
8.52k
        } else {
909
632
          if (yych <= '^') goto yy43;
910
620
          if (yych <= 'z') goto yy5;
911
223
          if (yych >= 0x7F) goto yy5;
912
223
        }
913
9.16k
      }
914
9.72k
    }
915
170
yy43:
916
170
    YYDEBUG(43, *YYCURSOR);
917
170
    yyleng = YYCURSOR - SCNG(yy_text);
918
170
#line 490 "Zend/zend_ini_scanner.l"
919
170
    { /* TRUE value (when used outside option value/offset this causes parse error!) */
920
170
  RETURN_TOKEN(BOOL_TRUE, "1", 1);
921
0
}
922
0
#line 923 "Zend/zend_ini_scanner.c"
923
243
yy44:
924
243
    YYDEBUG(44, *YYCURSOR);
925
243
    yych = *++YYCURSOR;
926
243
    if (yych == 'U') goto yy55;
927
243
    if (yych == 'u') goto yy55;
928
237
    goto yy6;
929
237
yy45:
930
60
    YYDEBUG(45, *YYCURSOR);
931
60
    yych = *++YYCURSOR;
932
60
    if (yych == 'S') goto yy41;
933
60
    if (yych == 's') goto yy41;
934
0
    goto yy6;
935
647
yy46:
936
647
    YYDEBUG(46, *YYCURSOR);
937
647
    yych = *++YYCURSOR;
938
647
    if (yych == 'S') goto yy51;
939
647
    if (yych == 's') goto yy51;
940
0
    goto yy6;
941
0
yy47:
942
0
    YYDEBUG(47, *YYCURSOR);
943
0
    ++YYCURSOR;
944
0
    YYFILL(1);
945
0
    yych = *YYCURSOR;
946
0
    YYDEBUG(48, *YYCURSOR);
947
0
    if (yych == '\t') goto yy47;
948
0
    if (yych == ' ') goto yy47;
949
0
    goto yy38;
950
8.05k
yy49:
951
8.05k
    YYDEBUG(49, *YYCURSOR);
952
8.05k
    ++YYCURSOR;
953
8.05k
    YYFILL(1);
954
8.05k
    yych = *YYCURSOR;
955
8.05k
    YYDEBUG(50, *YYCURSOR);
956
8.05k
    if (yych <= '&') {
957
7.62k
      if (yych <= '\r') {
958
0
        if (yych <= '\t') {
959
0
          if (yych <= 0x00) goto yy38;
960
0
          if (yych <= 0x08) goto yy5;
961
0
          goto yy47;
962
0
        } else {
963
0
          if (yych <= '\n') goto yy38;
964
0
          if (yych <= '\f') goto yy5;
965
0
          goto yy38;
966
0
        }
967
7.62k
      } else {
968
7.62k
        if (yych <= '"') {
969
7.59k
          if (yych <= 0x1F) goto yy5;
970
7.52k
          if (yych <= ' ') goto yy49;
971
98
          goto yy38;
972
7.52k
        } else {
973
26
          if (yych == '$') goto yy38;
974
26
          if (yych <= '%') goto yy5;
975
0
          goto yy38;
976
26
        }
977
7.62k
      }
978
7.62k
    } else {
979
426
      if (yych <= '=') {
980
213
        if (yych <= ':') {
981
142
          if (yych <= '\'') goto yy5;
982
142
          if (yych <= ')') goto yy38;
983
0
          goto yy5;
984
142
        } else {
985
71
          if (yych == '<') goto yy5;
986
71
          goto yy38;
987
71
        }
988
213
      } else {
989
213
        if (yych <= '\\') {
990
33
          if (yych == '[') goto yy30;
991
33
          goto yy5;
992
180
        } else {
993
180
          if (yych <= '^') goto yy38;
994
180
          if (yych <= 'z') goto yy5;
995
71
          if (yych <= '~') goto yy38;
996
71
          goto yy5;
997
71
        }
998
213
      }
999
426
    }
1000
683
yy51:
1001
683
    YYDEBUG(51, *YYCURSOR);
1002
683
    yych = *++YYCURSOR;
1003
683
    if (yych == 'E') goto yy49;
1004
683
    if (yych == 'e') goto yy49;
1005
62
    goto yy6;
1006
62
yy52:
1007
6
    YYDEBUG(52, *YYCURSOR);
1008
6
    yych = *++YYCURSOR;
1009
6
    if (yych == 'L') goto yy56;
1010
6
    if (yych == 'l') goto yy56;
1011
0
    goto yy6;
1012
0
yy53:
1013
0
    YYDEBUG(53, *YYCURSOR);
1014
0
    ++YYCURSOR;
1015
0
    YYFILL(1);
1016
0
    yych = *YYCURSOR;
1017
0
    YYDEBUG(54, *YYCURSOR);
1018
0
    if (yych == '\t') goto yy53;
1019
0
    if (yych == ' ') goto yy53;
1020
0
    goto yy43;
1021
6
yy55:
1022
6
    YYDEBUG(55, *YYCURSOR);
1023
6
    yych = *++YYCURSOR;
1024
6
    if (yych == 'E') goto yy41;
1025
6
    if (yych == 'e') goto yy41;
1026
0
    goto yy6;
1027
6
yy56:
1028
6
    YYDEBUG(56, *YYCURSOR);
1029
6
    ++YYCURSOR;
1030
6
    YYFILL(1);
1031
6
    yych = *YYCURSOR;
1032
6
    YYDEBUG(57, *YYCURSOR);
1033
6
    if (yych <= '&') {
1034
0
      if (yych <= '\r') {
1035
0
        if (yych <= '\t') {
1036
0
          if (yych <= 0x00) goto yy58;
1037
0
          if (yych <= 0x08) goto yy5;
1038
0
          goto yy59;
1039
0
        } else {
1040
0
          if (yych <= '\n') goto yy58;
1041
0
          if (yych <= '\f') goto yy5;
1042
0
        }
1043
0
      } else {
1044
0
        if (yych <= '"') {
1045
0
          if (yych <= 0x1F) goto yy5;
1046
0
          if (yych <= ' ') goto yy56;
1047
0
        } else {
1048
0
          if (yych == '$') goto yy58;
1049
0
          if (yych <= '%') goto yy5;
1050
0
        }
1051
0
      }
1052
6
    } else {
1053
6
      if (yych <= '=') {
1054
0
        if (yych <= ':') {
1055
0
          if (yych <= '\'') goto yy5;
1056
0
          if (yych >= '*') goto yy5;
1057
0
        } else {
1058
0
          if (yych == '<') goto yy5;
1059
0
        }
1060
6
      } else {
1061
6
        if (yych <= '\\') {
1062
0
          if (yych == '[') goto yy30;
1063
0
          goto yy5;
1064
6
        } else {
1065
6
          if (yych <= '^') goto yy58;
1066
6
          if (yych <= 'z') goto yy5;
1067
6
          if (yych >= 0x7F) goto yy5;
1068
6
        }
1069
6
      }
1070
6
    }
1071
0
yy58:
1072
0
    YYDEBUG(58, *YYCURSOR);
1073
0
    yyleng = YYCURSOR - SCNG(yy_text);
1074
0
#line 498 "Zend/zend_ini_scanner.l"
1075
0
    {
1076
0
  RETURN_TOKEN(NULL_NULL, "", 0);
1077
0
}
1078
0
#line 1079 "Zend/zend_ini_scanner.c"
1079
0
yy59:
1080
0
    YYDEBUG(59, *YYCURSOR);
1081
0
    ++YYCURSOR;
1082
0
    YYFILL(1);
1083
0
    yych = *YYCURSOR;
1084
0
    YYDEBUG(60, *YYCURSOR);
1085
0
    if (yych == '\t') goto yy59;
1086
0
    if (yych == ' ') goto yy59;
1087
0
    goto yy58;
1088
0
  }
1089
/* *********************************** */
1090
249k
yyc_ST_OFFSET:
1091
249k
  {
1092
249k
    static const unsigned char yybm[] = {
1093
249k
      132, 132, 132, 132, 132, 132, 132, 132, 
1094
249k
      132, 140, 128, 132, 132, 128, 132, 132, 
1095
249k
      132, 132, 132, 132, 132, 132, 132, 132, 
1096
249k
      132, 132, 132, 132, 132, 132, 132, 132, 
1097
249k
      140, 132, 128, 132, 192, 132, 132,   0, 
1098
249k
      132, 132, 132, 132, 132, 132, 132, 132, 
1099
249k
      180, 180, 180, 180, 180, 180, 180, 180, 
1100
249k
      180, 180, 132, 128, 132, 132, 132, 132, 
1101
249k
      132, 164, 164, 164, 164, 164, 164, 164, 
1102
249k
      164, 164, 164, 164, 164, 164, 164, 164, 
1103
249k
      164, 164, 164, 164, 164, 164, 164, 164, 
1104
249k
      164, 164, 164, 132, 192, 128, 132, 164, 
1105
249k
      132, 164, 164, 164, 164, 164, 164, 164, 
1106
249k
      164, 164, 164, 164, 164, 164, 164, 164, 
1107
249k
      164, 164, 164, 164, 164, 164, 164, 164, 
1108
249k
      164, 164, 164, 132, 132, 132, 132, 132, 
1109
249k
      132, 132, 132, 132, 132, 132, 132, 132, 
1110
249k
      132, 132, 132, 132, 132, 132, 132, 132, 
1111
249k
      132, 132, 132, 132, 132, 132, 132, 132, 
1112
249k
      132, 132, 132, 132, 132, 132, 132, 132, 
1113
249k
      132, 132, 132, 132, 132, 132, 132, 132, 
1114
249k
      132, 132, 132, 132, 132, 132, 132, 132, 
1115
249k
      132, 132, 132, 132, 132, 132, 132, 132, 
1116
249k
      132, 132, 132, 132, 132, 132, 132, 132, 
1117
249k
      132, 132, 132, 132, 132, 132, 132, 132, 
1118
249k
      132, 132, 132, 132, 132, 132, 132, 132, 
1119
249k
      132, 132, 132, 132, 132, 132, 132, 132, 
1120
249k
      132, 132, 132, 132, 132, 132, 132, 132, 
1121
249k
      132, 132, 132, 132, 132, 132, 132, 132, 
1122
249k
      132, 132, 132, 132, 132, 132, 132, 132, 
1123
249k
      132, 132, 132, 132, 132, 132, 132, 132, 
1124
249k
      132, 132, 132, 132, 132, 132, 132, 132, 
1125
249k
    };
1126
249k
    YYDEBUG(61, *YYCURSOR);
1127
249k
    YYFILL(2);
1128
249k
    yych = *YYCURSOR;
1129
249k
    if (yybm[0+yych] & 8) {
1130
944
      goto yy66;
1131
944
    }
1132
248k
    if (yych <= '/') {
1133
184k
      if (yych <= '"') {
1134
150k
        if (yych <= '\f') {
1135
4.34k
          if (yych <= 0x08) goto yy63;
1136
613
          if (yych <= '\n') goto yy68;
1137
146k
        } else {
1138
146k
          if (yych <= '\r') goto yy68;
1139
146k
          if (yych >= '"') goto yy70;
1140
146k
        }
1141
150k
      } else {
1142
33.4k
        if (yych <= '&') {
1143
3.65k
          if (yych == '$') goto yy72;
1144
29.8k
        } else {
1145
29.8k
          if (yych <= '\'') goto yy73;
1146
12.5k
          if (yych <= ',') goto yy63;
1147
11.9k
          if (yych <= '.') goto yy74;
1148
11.9k
        }
1149
33.4k
      }
1150
184k
    } else {
1151
64.3k
      if (yych <= '[') {
1152
35.7k
        if (yych <= ';') {
1153
32.4k
          if (yych <= '9') goto yy75;
1154
404
          if (yych >= ';') goto yy68;
1155
3.35k
        } else {
1156
3.35k
          if (yych <= '@') goto yy63;
1157
3.19k
          if (yych <= 'Z') goto yy78;
1158
3.19k
        }
1159
35.7k
      } else {
1160
28.6k
        if (yych <= '^') {
1161
708
          if (yych <= '\\') goto yy81;
1162
114
          if (yych <= ']') goto yy82;
1163
27.9k
        } else {
1164
27.9k
          if (yych == '`') goto yy63;
1165
27.9k
          if (yych <= 'z') goto yy78;
1166
27.9k
        }
1167
28.6k
      }
1168
64.3k
    }
1169
1.06M
yy63:
1170
1.06M
    YYDEBUG(63, *YYCURSOR);
1171
1.06M
    yyaccept = 0;
1172
1.06M
    YYMARKER = ++YYCURSOR;
1173
1.06M
    YYFILL(1);
1174
1.06M
    yych = *YYCURSOR;
1175
1.07M
yy64:
1176
1.07M
    YYDEBUG(64, *YYCURSOR);
1177
1.07M
    if (yybm[0+yych] & 4) {
1178
940k
      goto yy63;
1179
940k
    }
1180
133k
    if (yych <= '"') goto yy65;
1181
77.4k
    if (yych <= '$') goto yy84;
1182
20.1k
    if (yych <= ';') goto yy65;
1183
11.1k
    if (yych <= '\\') goto yy81;
1184
65.3k
yy65:
1185
65.3k
    YYDEBUG(65, *YYCURSOR);
1186
65.3k
    yyleng = YYCURSOR - SCNG(yy_text);
1187
65.3k
#line 605 "Zend/zend_ini_scanner.l"
1188
65.3k
    { /* Get rest as section/offset value */
1189
65.3k
  RETURN_TOKEN(TC_STRING, yytext, yyleng);
1190
0
}
1191
0
#line 1192 "Zend/zend_ini_scanner.c"
1192
2.86k
yy66:
1193
2.86k
    YYDEBUG(66, *YYCURSOR);
1194
2.86k
    yyaccept = 0;
1195
2.86k
    YYMARKER = ++YYCURSOR;
1196
2.86k
    YYFILL(1);
1197
2.86k
    yych = *YYCURSOR;
1198
2.86k
    YYDEBUG(67, *YYCURSOR);
1199
2.86k
    if (yybm[0+yych] & 8) {
1200
1.92k
      goto yy66;
1201
1.92k
    }
1202
944
    if (yych <= '$') {
1203
0
      if (yych <= '\r') {
1204
0
        if (yych <= 0x08) goto yy63;
1205
0
        if (yych <= '\n') goto yy65;
1206
0
        if (yych <= '\f') goto yy63;
1207
0
        goto yy65;
1208
0
      } else {
1209
0
        if (yych == '"') goto yy70;
1210
0
        if (yych <= '#') goto yy63;
1211
0
        goto yy84;
1212
0
      }
1213
944
    } else {
1214
944
      if (yych <= ';') {
1215
33
        if (yych == '\'') goto yy65;
1216
33
        if (yych <= ':') goto yy63;
1217
0
        goto yy65;
1218
911
      } else {
1219
911
        if (yych <= '[') goto yy63;
1220
226
        if (yych <= '\\') goto yy81;
1221
226
        if (yych <= ']') goto yy82;
1222
226
        goto yy63;
1223
226
      }
1224
944
    }
1225
1.05k
yy68:
1226
1.05k
    YYDEBUG(68, *YYCURSOR);
1227
1.05k
    ++YYCURSOR;
1228
1.24k
yy69:
1229
1.24k
    YYDEBUG(69, *YYCURSOR);
1230
1.24k
    yyleng = YYCURSOR - SCNG(yy_text);
1231
1.24k
#line 685 "Zend/zend_ini_scanner.l"
1232
1.24k
    {
1233
1.24k
  return 0;
1234
1.05k
}
1235
0
#line 1236 "Zend/zend_ini_scanner.c"
1236
144k
yy70:
1237
144k
    YYDEBUG(70, *YYCURSOR);
1238
144k
    ++YYCURSOR;
1239
144k
    YYDEBUG(71, *YYCURSOR);
1240
144k
    yyleng = YYCURSOR - SCNG(yy_text);
1241
144k
#line 609 "Zend/zend_ini_scanner.l"
1242
144k
    { /* Double quoted '"' string start */
1243
144k
  yy_push_state(ST_DOUBLE_QUOTES);
1244
144k
  return '"';
1245
1.05k
}
1246
0
#line 1247 "Zend/zend_ini_scanner.c"
1247
2.14k
yy72:
1248
2.14k
    YYDEBUG(72, *YYCURSOR);
1249
2.14k
    yych = *++YYCURSOR;
1250
2.14k
    if (yych <= '\\') {
1251
231
      if (yych <= 0x00) goto yy69;
1252
138
      if (yych <= '[') goto yy63;
1253
0
      goto yy86;
1254
1.91k
    } else {
1255
1.91k
      if (yych == '{') goto yy88;
1256
1.89k
      goto yy63;
1257
1.91k
    }
1258
17.2k
yy73:
1259
17.2k
    YYDEBUG(73, *YYCURSOR);
1260
17.2k
    yych = *++YYCURSOR;
1261
17.2k
    if (yybm[0+yych] & 128) {
1262
17.2k
      goto yy90;
1263
17.2k
    }
1264
95
    goto yy69;
1265
11.7k
yy74:
1266
11.7k
    YYDEBUG(74, *YYCURSOR);
1267
11.7k
    yyaccept = 0;
1268
11.7k
    yych = *(YYMARKER = ++YYCURSOR);
1269
11.7k
    if (yych <= '/') goto yy64;
1270
11.7k
    if (yych <= '9') goto yy92;
1271
9.14k
    goto yy64;
1272
94.2k
yy75:
1273
94.2k
    YYDEBUG(75, *YYCURSOR);
1274
94.2k
    yyaccept = 1;
1275
94.2k
    YYMARKER = ++YYCURSOR;
1276
94.2k
    YYFILL(1);
1277
94.2k
    yych = *YYCURSOR;
1278
94.2k
    YYDEBUG(76, *YYCURSOR);
1279
94.2k
    if (yybm[0+yych] & 16) {
1280
62.2k
      goto yy75;
1281
62.2k
    }
1282
31.9k
    if (yych <= '&') {
1283
7.48k
      if (yych <= '\r') {
1284
129
        if (yych == '\n') goto yy77;
1285
111
        if (yych <= '\f') goto yy63;
1286
7.35k
      } else {
1287
7.35k
        if (yych <= '"') {
1288
6.53k
          if (yych <= '!') goto yy63;
1289
6.53k
        } else {
1290
818
          if (yych == '$') goto yy84;
1291
787
          goto yy63;
1292
818
        }
1293
7.35k
      }
1294
24.5k
    } else {
1295
24.5k
      if (yych <= ':') {
1296
19.5k
        if (yych <= '\'') goto yy77;
1297
17.8k
        if (yych == '.') goto yy92;
1298
2.13k
        goto yy63;
1299
17.8k
      } else {
1300
4.99k
        if (yych <= '[') {
1301
874
          if (yych >= '<') goto yy63;
1302
4.11k
        } else {
1303
4.11k
          if (yych <= '\\') goto yy81;
1304
4.06k
          if (yych >= '^') goto yy63;
1305
4.06k
        }
1306
4.99k
      }
1307
24.5k
    }
1308
16.9k
yy77:
1309
16.9k
    YYDEBUG(77, *YYCURSOR);
1310
16.9k
    yyleng = YYCURSOR - SCNG(yy_text);
1311
16.9k
#line 579 "Zend/zend_ini_scanner.l"
1312
16.9k
    { /* Get number option value as string */
1313
16.9k
  RETURN_TOKEN(TC_NUMBER, yytext, yyleng);
1314
0
}
1315
0
#line 1316 "Zend/zend_ini_scanner.c"
1316
57.5k
yy78:
1317
57.5k
    YYDEBUG(78, *YYCURSOR);
1318
57.5k
    yyaccept = 2;
1319
57.5k
    YYMARKER = ++YYCURSOR;
1320
57.5k
    YYFILL(1);
1321
57.5k
    yych = *YYCURSOR;
1322
57.5k
    YYDEBUG(79, *YYCURSOR);
1323
57.5k
    if (yybm[0+yych] & 32) {
1324
31.4k
      goto yy78;
1325
31.4k
    }
1326
26.1k
    if (yych <= '$') {
1327
10.4k
      if (yych <= '\r') {
1328
1.79k
        if (yych == '\n') goto yy80;
1329
1.66k
        if (yych <= '\f') goto yy63;
1330
8.65k
      } else {
1331
8.65k
        if (yych == '"') goto yy80;
1332
6.00k
        if (yych <= '#') goto yy63;
1333
3.16k
        goto yy84;
1334
6.00k
      }
1335
15.6k
    } else {
1336
15.6k
      if (yych <= ';') {
1337
4.07k
        if (yych == '\'') goto yy80;
1338
3.62k
        if (yych <= ':') goto yy63;
1339
11.5k
      } else {
1340
11.5k
        if (yych <= '[') goto yy63;
1341
10.2k
        if (yych <= '\\') goto yy81;
1342
7.22k
        if (yych >= '^') goto yy63;
1343
7.22k
      }
1344
15.6k
    }
1345
3.24k
yy80:
1346
3.24k
    YYDEBUG(80, *YYCURSOR);
1347
3.24k
    yyleng = YYCURSOR - SCNG(yy_text);
1348
3.24k
#line 575 "Zend/zend_ini_scanner.l"
1349
3.24k
    { /* Get constant option value */
1350
3.24k
  RETURN_TOKEN(TC_CONSTANT, yytext, yyleng);
1351
0
}
1352
0
#line 1353 "Zend/zend_ini_scanner.c"
1353
14.7k
yy81:
1354
14.7k
    YYDEBUG(81, *YYCURSOR);
1355
14.7k
    ++YYCURSOR;
1356
14.7k
    YYFILL(1);
1357
14.7k
    yych = *YYCURSOR;
1358
14.7k
    goto yy63;
1359
114
yy82:
1360
114
    YYDEBUG(82, *YYCURSOR);
1361
114
    ++YYCURSOR;
1362
114
    YYDEBUG(83, *YYCURSOR);
1363
114
    yyleng = YYCURSOR - SCNG(yy_text);
1364
114
#line 416 "Zend/zend_ini_scanner.l"
1365
114
    { /* End of section or an option offset */
1366
114
  BEGIN(INITIAL);
1367
114
  return ']';
1368
14.7k
}
1369
0
#line 1370 "Zend/zend_ini_scanner.c"
1370
60.5k
yy84:
1371
60.5k
    YYDEBUG(84, *YYCURSOR);
1372
60.5k
    ++YYCURSOR;
1373
60.5k
    YYFILL(1);
1374
60.5k
    yych = *YYCURSOR;
1375
60.5k
    if (yych <= '\\') {
1376
60.5k
      if (yych <= 0x00) goto yy85;
1377
60.4k
      if (yych <= '[') goto yy63;
1378
0
      goto yy86;
1379
60.4k
    } else {
1380
6
      if (yych != '{') goto yy63;
1381
6
    }
1382
97
yy85:
1383
97
    YYDEBUG(85, *YYCURSOR);
1384
97
    YYCURSOR = YYMARKER;
1385
97
    if (yyaccept <= 1) {
1386
95
      if (yyaccept == 0) {
1387
67
        goto yy65;
1388
67
      } else {
1389
28
        goto yy77;
1390
28
      }
1391
95
    } else {
1392
2
      goto yy80;
1393
2
    }
1394
0
yy86:
1395
0
    YYDEBUG(86, *YYCURSOR);
1396
0
    ++YYCURSOR;
1397
0
    YYFILL(1);
1398
0
    yych = *YYCURSOR;
1399
0
    YYDEBUG(87, *YYCURSOR);
1400
0
    if (yybm[0+yych] & 64) {
1401
0
      goto yy86;
1402
0
    }
1403
0
    goto yy63;
1404
18
yy88:
1405
18
    YYDEBUG(88, *YYCURSOR);
1406
18
    ++YYCURSOR;
1407
18
    YYDEBUG(89, *YYCURSOR);
1408
18
    yyleng = YYCURSOR - SCNG(yy_text);
1409
18
#line 421 "Zend/zend_ini_scanner.l"
1410
18
    { /* Variable start */
1411
18
  yy_push_state(ST_VARNAME);
1412
18
  return TC_DOLLAR_CURLY;
1413
0
}
1414
0
#line 1415 "Zend/zend_ini_scanner.c"
1415
833k
yy90:
1416
833k
    YYDEBUG(90, *YYCURSOR);
1417
833k
    ++YYCURSOR;
1418
833k
    YYFILL(1);
1419
832k
    yych = *YYCURSOR;
1420
832k
    YYDEBUG(91, *YYCURSOR);
1421
832k
    if (yybm[0+yych] & 128) {
1422
816k
      goto yy90;
1423
816k
    }
1424
16.8k
    goto yy94;
1425
40.2k
yy92:
1426
40.2k
    YYDEBUG(92, *YYCURSOR);
1427
40.2k
    yyaccept = 1;
1428
40.2k
    YYMARKER = ++YYCURSOR;
1429
40.2k
    YYFILL(1);
1430
40.2k
    yych = *YYCURSOR;
1431
40.2k
    YYDEBUG(93, *YYCURSOR);
1432
40.2k
    if (yych <= '&') {
1433
9.25k
      if (yych <= '\r') {
1434
109
        if (yych == '\n') goto yy77;
1435
109
        if (yych <= '\f') goto yy63;
1436
79
        goto yy77;
1437
9.14k
      } else {
1438
9.14k
        if (yych <= '"') {
1439
8.63k
          if (yych <= '!') goto yy63;
1440
6.22k
          goto yy77;
1441
8.63k
        } else {
1442
506
          if (yych == '$') goto yy84;
1443
441
          goto yy63;
1444
506
        }
1445
9.14k
      }
1446
30.9k
    } else {
1447
30.9k
      if (yych <= ':') {
1448
28.1k
        if (yych <= '\'') goto yy77;
1449
25.6k
        if (yych <= '/') goto yy63;
1450
22.0k
        if (yych <= '9') goto yy92;
1451
71
        goto yy63;
1452
22.0k
      } else {
1453
2.86k
        if (yych <= '[') {
1454
94
          if (yych <= ';') goto yy77;
1455
67
          goto yy63;
1456
2.76k
        } else {
1457
2.76k
          if (yych <= '\\') goto yy81;
1458
2.76k
          if (yych <= ']') goto yy77;
1459
2.76k
          goto yy63;
1460
2.76k
        }
1461
2.86k
      }
1462
30.9k
    }
1463
16.8k
yy94:
1464
16.8k
    YYDEBUG(94, *YYCURSOR);
1465
16.8k
    ++YYCURSOR;
1466
16.8k
    YYDEBUG(95, *YYCURSOR);
1467
16.8k
    yyleng = YYCURSOR - SCNG(yy_text);
1468
16.8k
#line 388 "Zend/zend_ini_scanner.l"
1469
16.8k
    { /* Raw string */
1470
  /* Eat leading and trailing single quotes */
1471
16.8k
  if (yytext[0] == '\'' && yytext[yyleng - 1] == '\'') {
1472
16.8k
    SCNG(yy_text)++;
1473
16.8k
    yyleng = yyleng - 2;
1474
16.8k
  }
1475
16.8k
  RETURN_TOKEN(TC_RAW, yytext, yyleng);
1476
0
}
1477
0
#line 1478 "Zend/zend_ini_scanner.c"
1478
0
  }
1479
/* *********************************** */
1480
53.0k
yyc_ST_SECTION_VALUE:
1481
53.0k
  {
1482
53.0k
    static const unsigned char yybm[] = {
1483
53.0k
      132, 132, 132, 132, 132, 132, 132, 132, 
1484
53.0k
      132, 140, 128, 132, 132, 128, 132, 132, 
1485
53.0k
      132, 132, 132, 132, 132, 132, 132, 132, 
1486
53.0k
      132, 132, 132, 132, 132, 132, 132, 132, 
1487
53.0k
      140, 132, 128, 132, 192, 132, 132,   0, 
1488
53.0k
      132, 132, 132, 132, 132, 132, 132, 132, 
1489
53.0k
      180, 180, 180, 180, 180, 180, 180, 180, 
1490
53.0k
      180, 180, 132, 128, 132, 132, 132, 132, 
1491
53.0k
      132, 164, 164, 164, 164, 164, 164, 164, 
1492
53.0k
      164, 164, 164, 164, 164, 164, 164, 164, 
1493
53.0k
      164, 164, 164, 164, 164, 164, 164, 164, 
1494
53.0k
      164, 164, 164, 132, 192, 128, 132, 164, 
1495
53.0k
      132, 164, 164, 164, 164, 164, 164, 164, 
1496
53.0k
      164, 164, 164, 164, 164, 164, 164, 164, 
1497
53.0k
      164, 164, 164, 164, 164, 164, 164, 164, 
1498
53.0k
      164, 164, 164, 132, 132, 132, 132, 132, 
1499
53.0k
      132, 132, 132, 132, 132, 132, 132, 132, 
1500
53.0k
      132, 132, 132, 132, 132, 132, 132, 132, 
1501
53.0k
      132, 132, 132, 132, 132, 132, 132, 132, 
1502
53.0k
      132, 132, 132, 132, 132, 132, 132, 132, 
1503
53.0k
      132, 132, 132, 132, 132, 132, 132, 132, 
1504
53.0k
      132, 132, 132, 132, 132, 132, 132, 132, 
1505
53.0k
      132, 132, 132, 132, 132, 132, 132, 132, 
1506
53.0k
      132, 132, 132, 132, 132, 132, 132, 132, 
1507
53.0k
      132, 132, 132, 132, 132, 132, 132, 132, 
1508
53.0k
      132, 132, 132, 132, 132, 132, 132, 132, 
1509
53.0k
      132, 132, 132, 132, 132, 132, 132, 132, 
1510
53.0k
      132, 132, 132, 132, 132, 132, 132, 132, 
1511
53.0k
      132, 132, 132, 132, 132, 132, 132, 132, 
1512
53.0k
      132, 132, 132, 132, 132, 132, 132, 132, 
1513
53.0k
      132, 132, 132, 132, 132, 132, 132, 132, 
1514
53.0k
      132, 132, 132, 132, 132, 132, 132, 132, 
1515
53.0k
    };
1516
53.0k
    YYDEBUG(96, *YYCURSOR);
1517
53.0k
    YYFILL(2);
1518
53.0k
    yych = *YYCURSOR;
1519
53.0k
    if (yybm[0+yych] & 8) {
1520
6.74k
      goto yy101;
1521
6.74k
    }
1522
46.3k
    if (yych <= '/') {
1523
29.2k
      if (yych <= '"') {
1524
13.8k
        if (yych <= '\f') {
1525
558
          if (yych <= 0x08) goto yy98;
1526
555
          if (yych <= '\n') goto yy103;
1527
13.2k
        } else {
1528
13.2k
          if (yych <= '\r') goto yy103;
1529
13.0k
          if (yych >= '"') goto yy105;
1530
13.0k
        }
1531
15.4k
      } else {
1532
15.4k
        if (yych <= '&') {
1533
145
          if (yych == '$') goto yy107;
1534
15.2k
        } else {
1535
15.2k
          if (yych <= '\'') goto yy108;
1536
3.25k
          if (yych <= ',') goto yy98;
1537
3.07k
          if (yych <= '.') goto yy109;
1538
3.07k
        }
1539
15.4k
      }
1540
29.2k
    } else {
1541
17.0k
      if (yych <= '[') {
1542
7.50k
        if (yych <= ';') {
1543
1.97k
          if (yych <= '9') goto yy110;
1544
261
          if (yych >= ';') goto yy103;
1545
5.53k
        } else {
1546
5.53k
          if (yych <= '@') goto yy98;
1547
4.81k
          if (yych <= 'Z') goto yy113;
1548
4.81k
        }
1549
9.58k
      } else {
1550
9.58k
        if (yych <= '^') {
1551
904
          if (yych <= '\\') goto yy116;
1552
803
          if (yych <= ']') goto yy117;
1553
8.67k
        } else {
1554
8.67k
          if (yych == '`') goto yy98;
1555
8.67k
          if (yych <= 'z') goto yy113;
1556
8.67k
        }
1557
9.58k
      }
1558
17.0k
    }
1559
962k
yy98:
1560
962k
    YYDEBUG(98, *YYCURSOR);
1561
962k
    yyaccept = 0;
1562
962k
    YYMARKER = ++YYCURSOR;
1563
962k
    YYFILL(1);
1564
961k
    yych = *YYCURSOR;
1565
964k
yy99:
1566
964k
    YYDEBUG(99, *YYCURSOR);
1567
964k
    if (yybm[0+yych] & 4) {
1568
930k
      goto yy98;
1569
930k
    }
1570
34.0k
    if (yych <= '"') goto yy100;
1571
22.6k
    if (yych <= '$') goto yy120;
1572
15.2k
    if (yych <= ';') goto yy100;
1573
3.43k
    if (yych <= '\\') goto yy116;
1574
23.6k
yy100:
1575
23.6k
    YYDEBUG(100, *YYCURSOR);
1576
23.6k
    yyleng = YYCURSOR - SCNG(yy_text);
1577
23.6k
#line 605 "Zend/zend_ini_scanner.l"
1578
23.6k
    { /* Get rest as section/offset value */
1579
23.6k
  RETURN_TOKEN(TC_STRING, yytext, yyleng);
1580
0
}
1581
0
#line 1582 "Zend/zend_ini_scanner.c"
1582
19.9k
yy101:
1583
19.9k
    YYDEBUG(101, *YYCURSOR);
1584
19.9k
    yyaccept = 0;
1585
19.9k
    YYMARKER = ++YYCURSOR;
1586
19.9k
    YYFILL(1);
1587
19.9k
    yych = *YYCURSOR;
1588
19.9k
    YYDEBUG(102, *YYCURSOR);
1589
19.9k
    if (yybm[0+yych] & 8) {
1590
13.1k
      goto yy101;
1591
13.1k
    }
1592
6.74k
    if (yych <= '$') {
1593
1.37k
      if (yych <= '\r') {
1594
76
        if (yych <= 0x08) goto yy98;
1595
0
        if (yych <= '\n') goto yy100;
1596
0
        if (yych <= '\f') goto yy98;
1597
0
        goto yy100;
1598
1.30k
      } else {
1599
1.30k
        if (yych == '"') goto yy105;
1600
0
        if (yych <= '#') goto yy98;
1601
0
        goto yy120;
1602
0
      }
1603
5.36k
    } else {
1604
5.36k
      if (yych <= ';') {
1605
300
        if (yych == '\'') goto yy100;
1606
300
        if (yych <= ':') goto yy98;
1607
0
        goto yy100;
1608
5.06k
      } else {
1609
5.06k
        if (yych <= '[') goto yy98;
1610
2.27k
        if (yych <= '\\') goto yy116;
1611
2.27k
        if (yych <= ']') goto yy100;
1612
2.27k
        goto yy98;
1613
2.27k
      }
1614
5.36k
    }
1615
1.04k
yy103:
1616
1.04k
    YYDEBUG(103, *YYCURSOR);
1617
1.04k
    ++YYCURSOR;
1618
1.11k
yy104:
1619
1.11k
    YYDEBUG(104, *YYCURSOR);
1620
1.11k
    yyleng = YYCURSOR - SCNG(yy_text);
1621
1.11k
#line 685 "Zend/zend_ini_scanner.l"
1622
1.11k
    {
1623
1.11k
  return 0;
1624
1.04k
}
1625
0
#line 1626 "Zend/zend_ini_scanner.c"
1626
13.6k
yy105:
1627
13.6k
    YYDEBUG(105, *YYCURSOR);
1628
13.6k
    ++YYCURSOR;
1629
13.6k
    YYDEBUG(106, *YYCURSOR);
1630
13.6k
    yyleng = YYCURSOR - SCNG(yy_text);
1631
13.6k
#line 609 "Zend/zend_ini_scanner.l"
1632
13.6k
    { /* Double quoted '"' string start */
1633
13.6k
  yy_push_state(ST_DOUBLE_QUOTES);
1634
13.6k
  return '"';
1635
1.04k
}
1636
0
#line 1637 "Zend/zend_ini_scanner.c"
1637
96
yy107:
1638
96
    YYDEBUG(107, *YYCURSOR);
1639
96
    yych = *++YYCURSOR;
1640
96
    if (yych <= '\\') {
1641
36
      if (yych <= 0x00) goto yy104;
1642
36
      if (yych <= '[') goto yy98;
1643
0
      goto yy122;
1644
60
    } else {
1645
60
      if (yych == '{') goto yy124;
1646
16
      goto yy98;
1647
60
    }
1648
12.0k
yy108:
1649
12.0k
    YYDEBUG(108, *YYCURSOR);
1650
12.0k
    yych = *++YYCURSOR;
1651
12.0k
    if (yybm[0+yych] & 128) {
1652
11.9k
      goto yy126;
1653
11.9k
    }
1654
75
    goto yy104;
1655
3.07k
yy109:
1656
3.07k
    YYDEBUG(109, *YYCURSOR);
1657
3.07k
    yyaccept = 0;
1658
3.07k
    yych = *(YYMARKER = ++YYCURSOR);
1659
3.07k
    if (yych <= '/') goto yy99;
1660
752
    if (yych <= '9') goto yy128;
1661
407
    goto yy99;
1662
4.79k
yy110:
1663
4.79k
    YYDEBUG(110, *YYCURSOR);
1664
4.79k
    yyaccept = 1;
1665
4.79k
    YYMARKER = ++YYCURSOR;
1666
4.79k
    YYFILL(1);
1667
4.79k
    yych = *YYCURSOR;
1668
4.79k
    YYDEBUG(111, *YYCURSOR);
1669
4.79k
    if (yybm[0+yych] & 16) {
1670
3.08k
      goto yy110;
1671
3.08k
    }
1672
1.71k
    if (yych <= '&') {
1673
747
      if (yych <= '\r') {
1674
2
        if (yych == '\n') goto yy112;
1675
2
        if (yych <= '\f') goto yy98;
1676
745
      } else {
1677
745
        if (yych <= '"') {
1678
603
          if (yych <= '!') goto yy98;
1679
603
        } else {
1680
142
          if (yych == '$') goto yy120;
1681
142
          goto yy98;
1682
142
        }
1683
745
      }
1684
965
    } else {
1685
965
      if (yych <= ':') {
1686
641
        if (yych <= '\'') goto yy112;
1687
640
        if (yych == '.') goto yy128;
1688
560
        goto yy98;
1689
640
      } else {
1690
324
        if (yych <= '[') {
1691
188
          if (yych >= '<') goto yy98;
1692
188
        } else {
1693
136
          if (yych <= '\\') goto yy116;
1694
136
          if (yych >= '^') goto yy98;
1695
136
        }
1696
324
      }
1697
965
    }
1698
386
yy112:
1699
386
    YYDEBUG(112, *YYCURSOR);
1700
386
    yyleng = YYCURSOR - SCNG(yy_text);
1701
386
#line 579 "Zend/zend_ini_scanner.l"
1702
386
    { /* Get number option value as string */
1703
386
  RETURN_TOKEN(TC_NUMBER, yytext, yyleng);
1704
0
}
1705
0
#line 1706 "Zend/zend_ini_scanner.c"
1706
12.9k
yy113:
1707
12.9k
    YYDEBUG(113, *YYCURSOR);
1708
12.9k
    yyaccept = 2;
1709
12.9k
    YYMARKER = ++YYCURSOR;
1710
12.9k
    YYFILL(1);
1711
12.9k
    yych = *YYCURSOR;
1712
12.9k
    YYDEBUG(114, *YYCURSOR);
1713
12.9k
    if (yybm[0+yych] & 32) {
1714
5.88k
      goto yy113;
1715
5.88k
    }
1716
7.06k
    if (yych <= '$') {
1717
3.09k
      if (yych <= '\r') {
1718
337
        if (yych == '\n') goto yy115;
1719
174
        if (yych <= '\f') goto yy98;
1720
2.75k
      } else {
1721
2.75k
        if (yych == '"') goto yy115;
1722
2.66k
        if (yych <= '#') goto yy98;
1723
34
        goto yy120;
1724
2.66k
      }
1725
3.96k
    } else {
1726
3.96k
      if (yych <= ';') {
1727
392
        if (yych == '\'') goto yy115;
1728
390
        if (yych <= ':') goto yy98;
1729
3.57k
      } else {
1730
3.57k
        if (yych <= '[') goto yy98;
1731
3.35k
        if (yych <= '\\') goto yy116;
1732
3.23k
        if (yych >= '^') goto yy98;
1733
3.23k
      }
1734
3.96k
    }
1735
314
yy115:
1736
314
    YYDEBUG(115, *YYCURSOR);
1737
314
    yyleng = YYCURSOR - SCNG(yy_text);
1738
314
#line 575 "Zend/zend_ini_scanner.l"
1739
314
    { /* Get constant option value */
1740
314
  RETURN_TOKEN(TC_CONSTANT, yytext, yyleng);
1741
0
}
1742
0
#line 1743 "Zend/zend_ini_scanner.c"
1743
3.11k
yy116:
1744
3.11k
    YYDEBUG(116, *YYCURSOR);
1745
3.11k
    ++YYCURSOR;
1746
3.11k
    YYFILL(1);
1747
3.11k
    yych = *YYCURSOR;
1748
3.11k
    goto yy98;
1749
867
yy117:
1750
867
    YYDEBUG(117, *YYCURSOR);
1751
867
    ++YYCURSOR;
1752
867
    YYFILL(2);
1753
867
    yych = *YYCURSOR;
1754
867
    YYDEBUG(118, *YYCURSOR);
1755
867
    if (yych <= '\f') {
1756
323
      if (yych <= 0x08) goto yy119;
1757
181
      if (yych <= '\t') goto yy117;
1758
181
      if (yych <= '\n') goto yy130;
1759
544
    } else {
1760
544
      if (yych <= '\r') goto yy131;
1761
544
      if (yych == ' ') goto yy117;
1762
544
    }
1763
803
yy119:
1764
803
    YYDEBUG(119, *YYCURSOR);
1765
803
    yyleng = YYCURSOR - SCNG(yy_text);
1766
803
#line 397 "Zend/zend_ini_scanner.l"
1767
803
    { /* End of section */
1768
803
  BEGIN(INITIAL);
1769
803
  SCNG(lineno)++;
1770
803
  return ']';
1771
867
}
1772
0
#line 1773 "Zend/zend_ini_scanner.c"
1773
7.48k
yy120:
1774
7.48k
    YYDEBUG(120, *YYCURSOR);
1775
7.48k
    ++YYCURSOR;
1776
7.48k
    YYFILL(1);
1777
7.48k
    yych = *YYCURSOR;
1778
7.48k
    if (yych <= '\\') {
1779
3.91k
      if (yych <= 0x00) goto yy121;
1780
3.91k
      if (yych <= '[') goto yy98;
1781
0
      goto yy122;
1782
3.91k
    } else {
1783
3.56k
      if (yych != '{') goto yy98;
1784
3.56k
    }
1785
12
yy121:
1786
12
    YYDEBUG(121, *YYCURSOR);
1787
12
    YYCURSOR = YYMARKER;
1788
12
    if (yyaccept <= 1) {
1789
12
      if (yyaccept == 0) {
1790
12
        goto yy100;
1791
12
      } else {
1792
0
        goto yy112;
1793
0
      }
1794
12
    } else {
1795
0
      goto yy115;
1796
0
    }
1797
0
yy122:
1798
0
    YYDEBUG(122, *YYCURSOR);
1799
0
    ++YYCURSOR;
1800
0
    YYFILL(1);
1801
0
    yych = *YYCURSOR;
1802
0
    YYDEBUG(123, *YYCURSOR);
1803
0
    if (yybm[0+yych] & 64) {
1804
0
      goto yy122;
1805
0
    }
1806
0
    goto yy98;
1807
44
yy124:
1808
44
    YYDEBUG(124, *YYCURSOR);
1809
44
    ++YYCURSOR;
1810
44
    YYDEBUG(125, *YYCURSOR);
1811
44
    yyleng = YYCURSOR - SCNG(yy_text);
1812
44
#line 421 "Zend/zend_ini_scanner.l"
1813
44
    { /* Variable start */
1814
44
  yy_push_state(ST_VARNAME);
1815
44
  return TC_DOLLAR_CURLY;
1816
0
}
1817
0
#line 1818 "Zend/zend_ini_scanner.c"
1818
746k
yy126:
1819
746k
    YYDEBUG(126, *YYCURSOR);
1820
746k
    ++YYCURSOR;
1821
746k
    YYFILL(1);
1822
745k
    yych = *YYCURSOR;
1823
745k
    YYDEBUG(127, *YYCURSOR);
1824
745k
    if (yybm[0+yych] & 128) {
1825
734k
      goto yy126;
1826
734k
    }
1827
11.7k
    goto yy132;
1828
11.7k
yy128:
1829
437
    YYDEBUG(128, *YYCURSOR);
1830
437
    yyaccept = 1;
1831
437
    YYMARKER = ++YYCURSOR;
1832
437
    YYFILL(1);
1833
437
    yych = *YYCURSOR;
1834
437
    YYDEBUG(129, *YYCURSOR);
1835
437
    if (yych <= '&') {
1836
267
      if (yych <= '\r') {
1837
0
        if (yych == '\n') goto yy112;
1838
0
        if (yych <= '\f') goto yy98;
1839
0
        goto yy112;
1840
267
      } else {
1841
267
        if (yych <= '"') {
1842
267
          if (yych <= '!') goto yy98;
1843
0
          goto yy112;
1844
267
        } else {
1845
0
          if (yych == '$') goto yy120;
1846
0
          goto yy98;
1847
0
        }
1848
267
      }
1849
267
    } else {
1850
170
      if (yych <= ':') {
1851
92
        if (yych <= '\'') goto yy112;
1852
92
        if (yych <= '/') goto yy98;
1853
12
        if (yych <= '9') goto yy128;
1854
0
        goto yy98;
1855
78
      } else {
1856
78
        if (yych <= '[') {
1857
2
          if (yych <= ';') goto yy112;
1858
2
          goto yy98;
1859
76
        } else {
1860
76
          if (yych <= '\\') goto yy116;
1861
76
          if (yych <= ']') goto yy112;
1862
76
          goto yy98;
1863
76
        }
1864
78
      }
1865
170
    }
1866
179
yy130:
1867
179
    YYDEBUG(130, *YYCURSOR);
1868
179
    ++YYCURSOR;
1869
179
    goto yy119;
1870
0
yy131:
1871
0
    YYDEBUG(131, *YYCURSOR);
1872
0
    yych = *++YYCURSOR;
1873
0
    if (yych == '\n') goto yy130;
1874
0
    goto yy119;
1875
11.7k
yy132:
1876
11.7k
    YYDEBUG(132, *YYCURSOR);
1877
11.7k
    ++YYCURSOR;
1878
11.7k
    YYDEBUG(133, *YYCURSOR);
1879
11.7k
    yyleng = YYCURSOR - SCNG(yy_text);
1880
11.7k
#line 388 "Zend/zend_ini_scanner.l"
1881
11.7k
    { /* Raw string */
1882
  /* Eat leading and trailing single quotes */
1883
11.7k
  if (yytext[0] == '\'' && yytext[yyleng - 1] == '\'') {
1884
11.7k
    SCNG(yy_text)++;
1885
11.7k
    yyleng = yyleng - 2;
1886
11.7k
  }
1887
11.7k
  RETURN_TOKEN(TC_RAW, yytext, yyleng);
1888
0
}
1889
0
#line 1890 "Zend/zend_ini_scanner.c"
1890
0
  }
1891
/* *********************************** */
1892
303k
yyc_ST_VALUE:
1893
303k
  {
1894
303k
    static const unsigned char yybm[] = {
1895
303k
       80,  82,  82,  82,  82,  82,  82,  82, 
1896
303k
       82,  84,  64,  82,  82,  64,  82,  82, 
1897
303k
       82,  82,  82,  82,  82,  82,  82,  82, 
1898
303k
       82,  82,  82,  82,  82,  82,  82,  82, 
1899
303k
       84,  80,  80,  82, 208,  82,  80,  16, 
1900
303k
       80,  80,  82,  82,  82,  82,  82,  82, 
1901
303k
      122, 122, 122, 122, 122, 122, 122, 122, 
1902
303k
      122, 122,  82,  80,  82,  80,  82,  82, 
1903
303k
       82, 114, 114, 114, 114, 114, 114, 114, 
1904
303k
      114, 114, 114, 114, 114, 114, 114, 114, 
1905
303k
      114, 114, 114, 114, 114, 114, 114, 114, 
1906
303k
      114, 114, 114,  82,  82,  82,  80, 114, 
1907
303k
       82, 114, 114, 114, 114, 114, 114, 114, 
1908
303k
      114, 114, 114, 114, 114, 114, 114, 114, 
1909
303k
      114, 114, 114, 114, 114, 114, 114, 114, 
1910
303k
      114, 114, 114,  82,  80,  82,  80,  82, 
1911
303k
       82,  82,  82,  82,  82,  82,  82,  82, 
1912
303k
       82,  82,  82,  82,  82,  82,  82,  82, 
1913
303k
       82,  82,  82,  82,  82,  82,  82,  82, 
1914
303k
       82,  82,  82,  82,  82,  82,  82,  82, 
1915
303k
       82,  82,  82,  82,  82,  82,  82,  82, 
1916
303k
       82,  82,  82,  82,  82,  82,  82,  82, 
1917
303k
       82,  82,  82,  82,  82,  82,  82,  82, 
1918
303k
       82,  82,  82,  82,  82,  82,  82,  82, 
1919
303k
       82,  82,  82,  82,  82,  82,  82,  82, 
1920
303k
       82,  82,  82,  82,  82,  82,  82,  82, 
1921
303k
       82,  82,  82,  82,  82,  82,  82,  82, 
1922
303k
       82,  82,  82,  82,  82,  82,  82,  82, 
1923
303k
       82,  82,  82,  82,  82,  82,  82,  82, 
1924
303k
       82,  82,  82,  82,  82,  82,  82,  82, 
1925
303k
       82,  82,  82,  82,  82,  82,  82,  82, 
1926
303k
       82,  82,  82,  82,  82,  82,  82,  82, 
1927
303k
    };
1928
303k
    YYDEBUG(134, *YYCURSOR);
1929
303k
    YYFILL(6);
1930
303k
    yych = *YYCURSOR;
1931
303k
    if (yybm[0+yych] & 4) {
1932
36.5k
      goto yy141;
1933
36.5k
    }
1934
267k
    switch (yych) {
1935
0
    case 0x00:  goto yy136;
1936
0
    case '\t':
1937
14.7k
    case '\n':  goto yy144;
1938
3.91k
    case '\r':  goto yy146;
1939
0
    case ' ':
1940
640
    case '!':
1941
2.42k
    case '&':
1942
3.99k
    case '(':
1943
4.33k
    case ')':
1944
5.81k
    case '^':
1945
7.71k
    case '|':
1946
8.15k
    case '~': goto yy147;
1947
70.0k
    case '"': goto yy150;
1948
515
    case '$': goto yy152;
1949
9.72k
    case '\'':  goto yy153;
1950
222
    case '-':
1951
637
    case '.': goto yy154;
1952
2.03k
    case '0':
1953
5.51k
    case '1':
1954
16.2k
    case '2':
1955
17.8k
    case '3':
1956
18.8k
    case '4':
1957
21.4k
    case '5':
1958
21.7k
    case '6':
1959
22.0k
    case '7':
1960
22.6k
    case '8':
1961
23.1k
    case '9': goto yy155;
1962
36.0k
    case ';': goto yy158;
1963
2.04k
    case '=': goto yy160;
1964
5.64k
    case 'A':
1965
5.88k
    case 'B':
1966
6.09k
    case 'C':
1967
6.53k
    case 'D':
1968
6.57k
    case 'E':
1969
6.81k
    case 'G':
1970
6.81k
    case 'H':
1971
10.4k
    case 'I':
1972
10.4k
    case 'J':
1973
10.6k
    case 'K':
1974
10.6k
    case 'L':
1975
10.7k
    case 'M':
1976
10.8k
    case 'P':
1977
10.9k
    case 'Q':
1978
10.9k
    case 'R':
1979
10.9k
    case 'S':
1980
11.1k
    case 'U':
1981
11.2k
    case 'V':
1982
11.4k
    case 'W':
1983
11.8k
    case 'X':
1984
11.8k
    case 'Z':
1985
13.8k
    case '_':
1986
16.2k
    case 'a':
1987
18.1k
    case 'b':
1988
19.4k
    case 'c':
1989
19.6k
    case 'd':
1990
21.1k
    case 'e':
1991
23.2k
    case 'g':
1992
23.3k
    case 'h':
1993
23.8k
    case 'i':
1994
23.8k
    case 'j':
1995
24.2k
    case 'k':
1996
24.5k
    case 'l':
1997
24.6k
    case 'm':
1998
26.7k
    case 'p':
1999
26.9k
    case 'q':
2000
28.5k
    case 'r':
2001
29.3k
    case 's':
2002
29.8k
    case 'u':
2003
30.2k
    case 'v':
2004
30.3k
    case 'w':
2005
30.4k
    case 'x':
2006
30.5k
    case 'z': goto yy162;
2007
1.16k
    case 'F':
2008
3.43k
    case 'f': goto yy165;
2009
3.77k
    case 'N':
2010
7.62k
    case 'n': goto yy166;
2011
231
    case 'O':
2012
28.5k
    case 'o': goto yy167;
2013
2.09k
    case 'T':
2014
3.35k
    case 't': goto yy168;
2015
180
    case 'Y':
2016
677
    case 'y': goto yy169;
2017
23.9k
    default:  goto yy138;
2018
267k
    }
2019
0
yy136:
2020
0
    YYDEBUG(136, *YYCURSOR);
2021
0
    ++YYCURSOR;
2022
220
yy137:
2023
220
    YYDEBUG(137, *YYCURSOR);
2024
220
    yyleng = YYCURSOR - SCNG(yy_text);
2025
220
#line 680 "Zend/zend_ini_scanner.l"
2026
220
    { /* End of option value (if EOF is reached before EOL */
2027
220
  BEGIN(INITIAL);
2028
220
  return END_OF_LINE;
2029
0
}
2030
0
#line 2031 "Zend/zend_ini_scanner.c"
2031
816k
yy138:
2032
816k
    YYDEBUG(138, *YYCURSOR);
2033
816k
    yyaccept = 0;
2034
816k
    YYMARKER = ++YYCURSOR;
2035
816k
    YYFILL(1);
2036
816k
    yych = *YYCURSOR;
2037
835k
yy139:
2038
835k
    YYDEBUG(139, *YYCURSOR);
2039
835k
    if (yybm[0+yych] & 2) {
2040
760k
      goto yy138;
2041
760k
    }
2042
74.4k
    if (yych <= '"') goto yy140;
2043
20.7k
    if (yych <= '$') goto yy170;
2044
67.7k
yy140:
2045
67.7k
    YYDEBUG(140, *YYCURSOR);
2046
67.7k
    yyleng = YYCURSOR - SCNG(yy_text);
2047
67.7k
#line 597 "Zend/zend_ini_scanner.l"
2048
67.7k
    { /* Get everything else as option/offset value */
2049
67.7k
  RETURN_TOKEN(TC_STRING, yytext, yyleng);
2050
0
}
2051
0
#line 2052 "Zend/zend_ini_scanner.c"
2052
48.7k
yy141:
2053
48.7k
    YYDEBUG(141, *YYCURSOR);
2054
48.7k
    ++YYCURSOR;
2055
48.7k
    YYFILL(2);
2056
48.7k
    yych = *YYCURSOR;
2057
48.7k
    YYDEBUG(142, *YYCURSOR);
2058
48.7k
    if (yybm[0+yych] & 4) {
2059
12.1k
      goto yy141;
2060
12.1k
    }
2061
36.5k
    if (yych <= '\r') {
2062
738
      if (yych <= 0x08) goto yy143;
2063
413
      if (yych <= '\n') goto yy144;
2064
227
      if (yych >= '\r') goto yy146;
2065
35.8k
    } else {
2066
35.8k
      if (yych <= '"') {
2067
1.91k
        if (yych >= '"') goto yy150;
2068
33.9k
      } else {
2069
33.9k
        if (yych == ';') goto yy158;
2070
33.9k
      }
2071
35.8k
    }
2072
30.4k
yy143:
2073
30.4k
    YYDEBUG(143, *YYCURSOR);
2074
30.4k
    yyleng = YYCURSOR - SCNG(yy_text);
2075
30.4k
#line 660 "Zend/zend_ini_scanner.l"
2076
30.4k
    {
2077
30.4k
  RETURN_TOKEN(TC_WHITESPACE, yytext, yyleng);
2078
0
}
2079
0
#line 2080 "Zend/zend_ini_scanner.c"
2080
15.2k
yy144:
2081
15.2k
    YYDEBUG(144, *YYCURSOR);
2082
15.2k
    ++YYCURSOR;
2083
18.8k
yy145:
2084
18.8k
    YYDEBUG(145, *YYCURSOR);
2085
18.8k
    yyleng = YYCURSOR - SCNG(yy_text);
2086
18.8k
#line 569 "Zend/zend_ini_scanner.l"
2087
18.8k
    { /* End of option value */
2088
18.8k
  BEGIN(INITIAL);
2089
18.8k
  SCNG(lineno)++;
2090
18.8k
  return END_OF_LINE;
2091
15.2k
}
2092
0
#line 2093 "Zend/zend_ini_scanner.c"
2093
3.95k
yy146:
2094
3.95k
    YYDEBUG(146, *YYCURSOR);
2095
3.95k
    yych = *++YYCURSOR;
2096
3.95k
    if (yych == '\n') goto yy144;
2097
3.66k
    goto yy145;
2098
11.6k
yy147:
2099
11.6k
    YYDEBUG(147, *YYCURSOR);
2100
11.6k
    ++YYCURSOR;
2101
11.6k
    YYFILL(1);
2102
11.6k
    yych = *YYCURSOR;
2103
11.6k
    YYDEBUG(148, *YYCURSOR);
2104
11.6k
    if (yych == '\t') goto yy147;
2105
11.5k
    if (yych == ' ') goto yy147;
2106
8.15k
    YYDEBUG(149, *YYCURSOR);
2107
8.15k
    yyleng = YYCURSOR - SCNG(yy_text);
2108
8.15k
#line 587 "Zend/zend_ini_scanner.l"
2109
8.15k
    { /* Boolean operators */
2110
8.15k
  return yytext[0];
2111
11.5k
}
2112
0
#line 2113 "Zend/zend_ini_scanner.c"
2113
71.7k
yy150:
2114
71.7k
    YYDEBUG(150, *YYCURSOR);
2115
71.7k
    ++YYCURSOR;
2116
71.7k
    YYDEBUG(151, *YYCURSOR);
2117
71.7k
    yyleng = YYCURSOR - SCNG(yy_text);
2118
71.7k
#line 609 "Zend/zend_ini_scanner.l"
2119
71.7k
    { /* Double quoted '"' string start */
2120
71.7k
  yy_push_state(ST_DOUBLE_QUOTES);
2121
71.7k
  return '"';
2122
11.5k
}
2123
0
#line 2124 "Zend/zend_ini_scanner.c"
2124
515
yy152:
2125
515
    YYDEBUG(152, *YYCURSOR);
2126
515
    yych = *++YYCURSOR;
2127
515
    if (yych <= '\\') {
2128
486
      if (yych <= 0x00) goto yy137;
2129
320
      if (yych <= '[') goto yy138;
2130
0
      goto yy172;
2131
320
    } else {
2132
29
      if (yych == '{') goto yy173;
2133
29
      goto yy138;
2134
29
    }
2135
9.72k
yy153:
2136
9.72k
    YYDEBUG(153, *YYCURSOR);
2137
9.72k
    yych = *++YYCURSOR;
2138
9.72k
    if (yybm[0+yych] & 64) {
2139
9.66k
      goto yy175;
2140
9.66k
    }
2141
54
    goto yy137;
2142
637
yy154:
2143
637
    YYDEBUG(154, *YYCURSOR);
2144
637
    yyaccept = 0;
2145
637
    yych = *(YYMARKER = ++YYCURSOR);
2146
637
    if (yych <= '/') goto yy139;
2147
434
    if (yych <= '9') goto yy177;
2148
114
    goto yy139;
2149
45.8k
yy155:
2150
45.8k
    YYDEBUG(155, *YYCURSOR);
2151
45.8k
    yyaccept = 1;
2152
45.8k
    YYMARKER = ++YYCURSOR;
2153
45.8k
    YYFILL(1);
2154
45.8k
    yych = *YYCURSOR;
2155
45.8k
    YYDEBUG(156, *YYCURSOR);
2156
45.8k
    if (yybm[0+yych] & 8) {
2157
22.7k
      goto yy155;
2158
22.7k
    }
2159
23.1k
    if (yych <= '-') {
2160
4.49k
      if (yych <= 0x1F) {
2161
1.17k
        if (yych <= '\n') {
2162
874
          if (yych <= 0x00) goto yy157;
2163
750
          if (yych <= 0x08) goto yy138;
2164
750
        } else {
2165
304
          if (yych != '\r') goto yy138;
2166
304
        }
2167
3.31k
      } else {
2168
3.31k
        if (yych <= '$') {
2169
2.35k
          if (yych <= '"') goto yy157;
2170
197
          if (yych <= '#') goto yy138;
2171
110
          goto yy170;
2172
963
        } else {
2173
963
          if (yych <= '%') goto yy138;
2174
941
          if (yych >= '*') goto yy138;
2175
941
        }
2176
3.31k
      }
2177
18.6k
    } else {
2178
18.6k
      if (yych <= ']') {
2179
16.8k
        if (yych <= ';') {
2180
16.0k
          if (yych <= '.') goto yy177;
2181
15.4k
          if (yych <= ':') goto yy138;
2182
15.4k
        } else {
2183
859
          if (yych != '=') goto yy138;
2184
859
        }
2185
16.8k
      } else {
2186
1.78k
        if (yych <= '|') {
2187
480
          if (yych <= '^') goto yy157;
2188
465
          if (yych <= '{') goto yy138;
2189
1.30k
        } else {
2190
1.30k
          if (yych != '~') goto yy138;
2191
1.30k
        }
2192
1.78k
      }
2193
18.6k
    }
2194
19.1k
yy157:
2195
19.1k
    YYDEBUG(157, *YYCURSOR);
2196
19.1k
    yyleng = YYCURSOR - SCNG(yy_text);
2197
19.1k
#line 579 "Zend/zend_ini_scanner.l"
2198
19.1k
    { /* Get number option value as string */
2199
19.1k
  RETURN_TOKEN(TC_NUMBER, yytext, yyleng);
2200
0
}
2201
0
#line 2202 "Zend/zend_ini_scanner.c"
2202
3.41M
yy158:
2203
3.41M
    YYDEBUG(158, *YYCURSOR);
2204
3.41M
    ++YYCURSOR;
2205
3.41M
    YYFILL(2);
2206
3.41M
    yych = *YYCURSOR;
2207
3.41M
    YYDEBUG(159, *YYCURSOR);
2208
3.41M
    if (yybm[0+yych] & 16) {
2209
3.37M
      goto yy158;
2210
3.37M
    }
2211
39.1k
    if (yych <= '\n') goto yy179;
2212
2.41k
    goto yy181;
2213
2.41k
yy160:
2214
2.04k
    YYDEBUG(160, *YYCURSOR);
2215
2.04k
    ++YYCURSOR;
2216
2.04k
    YYDEBUG(161, *YYCURSOR);
2217
2.04k
    yyleng = YYCURSOR - SCNG(yy_text);
2218
2.04k
#line 591 "Zend/zend_ini_scanner.l"
2219
2.04k
    { /* Make = used in option value to trigger error */
2220
2.04k
  yyless(0);
2221
2.04k
  BEGIN(INITIAL);
2222
2.04k
  return END_OF_LINE;
2223
39.1k
}
2224
0
#line 2225 "Zend/zend_ini_scanner.c"
2225
294k
yy162:
2226
294k
    YYDEBUG(162, *YYCURSOR);
2227
294k
    yyaccept = 2;
2228
294k
    YYMARKER = ++YYCURSOR;
2229
294k
    YYFILL(1);
2230
294k
    yych = *YYCURSOR;
2231
294k
    YYDEBUG(163, *YYCURSOR);
2232
294k
    if (yybm[0+yych] & 32) {
2233
243k
      goto yy162;
2234
243k
    }
2235
50.9k
    if (yych <= ')') {
2236
22.0k
      if (yych <= '\r') {
2237
4.00k
        if (yych <= 0x08) {
2238
938
          if (yych >= 0x01) goto yy138;
2239
3.06k
        } else {
2240
3.06k
          if (yych <= '\n') goto yy164;
2241
426
          if (yych <= '\f') goto yy138;
2242
426
        }
2243
18.0k
      } else {
2244
18.0k
        if (yych <= '#') {
2245
15.8k
          if (yych <= 0x1F) goto yy138;
2246
12.3k
          if (yych >= '#') goto yy138;
2247
12.3k
        } else {
2248
2.18k
          if (yych <= '$') goto yy170;
2249
2.12k
          if (yych <= '%') goto yy138;
2250
2.12k
        }
2251
18.0k
      }
2252
28.8k
    } else {
2253
28.8k
      if (yych <= ']') {
2254
21.1k
        if (yych <= ';') {
2255
14.1k
          if (yych <= ':') goto yy138;
2256
14.1k
        } else {
2257
7.03k
          if (yych != '=') goto yy138;
2258
7.03k
        }
2259
21.1k
      } else {
2260
7.72k
        if (yych <= '|') {
2261
447
          if (yych <= '^') goto yy164;
2262
258
          if (yych <= '{') goto yy138;
2263
7.28k
        } else {
2264
7.28k
          if (yych != '~') goto yy138;
2265
7.28k
        }
2266
7.72k
      }
2267
28.8k
    }
2268
33.4k
yy164:
2269
33.4k
    YYDEBUG(164, *YYCURSOR);
2270
33.4k
    yyleng = YYCURSOR - SCNG(yy_text);
2271
33.4k
#line 575 "Zend/zend_ini_scanner.l"
2272
33.4k
    { /* Get constant option value */
2273
33.4k
  RETURN_TOKEN(TC_CONSTANT, yytext, yyleng);
2274
0
}
2275
0
#line 2276 "Zend/zend_ini_scanner.c"
2276
3.43k
yy165:
2277
3.43k
    YYDEBUG(165, *YYCURSOR);
2278
3.43k
    yyaccept = 2;
2279
3.43k
    yych = *(YYMARKER = ++YYCURSOR);
2280
3.43k
    if (yych <= '<') {
2281
1.55k
      if (yych <= '"') {
2282
972
        if (yych <= '\n') {
2283
307
          if (yych <= 0x00) goto yy164;
2284
75
          if (yych <= 0x08) goto yy139;
2285
75
          goto yy164;
2286
665
        } else {
2287
665
          if (yych == '\r') goto yy164;
2288
665
          if (yych <= 0x1F) goto yy139;
2289
368
          goto yy164;
2290
665
        }
2291
972
      } else {
2292
584
        if (yych <= '/') {
2293
127
          if (yych <= '%') goto yy139;
2294
127
          if (yych <= ')') goto yy164;
2295
127
          goto yy139;
2296
457
        } else {
2297
457
          if (yych <= '9') goto yy162;
2298
87
          if (yych == ';') goto yy164;
2299
43
          goto yy139;
2300
87
        }
2301
584
      }
2302
1.88k
    } else {
2303
1.88k
      if (yych <= '_') {
2304
338
        if (yych <= 'A') {
2305
36
          if (yych <= '=') goto yy164;
2306
36
          if (yych <= '@') goto yy139;
2307
0
          goto yy182;
2308
302
        } else {
2309
302
          if (yych <= 'Z') goto yy162;
2310
284
          if (yych <= ']') goto yy139;
2311
284
          if (yych <= '^') goto yy164;
2312
284
          goto yy162;
2313
284
        }
2314
1.54k
      } else {
2315
1.54k
        if (yych <= '{') {
2316
751
          if (yych <= '`') goto yy139;
2317
751
          if (yych <= 'a') goto yy182;
2318
749
          if (yych <= 'z') goto yy162;
2319
83
          goto yy139;
2320
792
        } else {
2321
792
          if (yych == '}') goto yy139;
2322
792
          if (yych <= '~') goto yy164;
2323
721
          goto yy139;
2324
792
        }
2325
1.54k
      }
2326
1.88k
    }
2327
7.62k
yy166:
2328
7.62k
    YYDEBUG(166, *YYCURSOR);
2329
7.62k
    yyaccept = 2;
2330
7.62k
    yych = *(YYMARKER = ++YYCURSOR);
2331
7.62k
    if (yych <= 'N') {
2332
5.18k
      if (yych <= '%') {
2333
2.66k
        if (yych <= '\f') {
2334
47
          if (yych <= 0x00) goto yy164;
2335
47
          if (yych <= 0x08) goto yy139;
2336
0
          if (yych <= '\n') goto yy164;
2337
0
          goto yy139;
2338
2.62k
        } else {
2339
2.62k
          if (yych <= '\r') goto yy164;
2340
2.62k
          if (yych <= 0x1F) goto yy139;
2341
2.62k
          if (yych <= '"') goto yy164;
2342
2.62k
          goto yy139;
2343
2.62k
        }
2344
2.66k
      } else {
2345
2.51k
        if (yych <= ':') {
2346
2.34k
          if (yych <= ')') goto yy164;
2347
720
          if (yych <= '/') goto yy139;
2348
592
          if (yych <= '9') goto yy162;
2349
137
          goto yy139;
2350
592
        } else {
2351
175
          if (yych <= '<') {
2352
62
            if (yych <= ';') goto yy164;
2353
62
            goto yy139;
2354
113
          } else {
2355
113
            if (yych <= '=') goto yy164;
2356
8
            if (yych <= '@') goto yy139;
2357
8
            goto yy162;
2358
8
          }
2359
175
        }
2360
2.51k
      }
2361
5.18k
    } else {
2362
2.44k
      if (yych <= 'n') {
2363
174
        if (yych <= 'Z') {
2364
0
          if (yych <= 'O') goto yy183;
2365
0
          if (yych == 'U') goto yy185;
2366
0
          goto yy162;
2367
174
        } else {
2368
174
          if (yych <= '^') {
2369
0
            if (yych <= ']') goto yy139;
2370
0
            goto yy164;
2371
174
          } else {
2372
174
            if (yych == '`') goto yy139;
2373
174
            goto yy162;
2374
174
          }
2375
174
        }
2376
2.27k
      } else {
2377
2.27k
        if (yych <= 'z') {
2378
1.10k
          if (yych <= 'o') goto yy183;
2379
247
          if (yych == 'u') goto yy185;
2380
133
          goto yy162;
2381
1.16k
        } else {
2382
1.16k
          if (yych <= '|') {
2383
0
            if (yych <= '{') goto yy139;
2384
0
            goto yy164;
2385
1.16k
          } else {
2386
1.16k
            if (yych == '~') goto yy164;
2387
1.16k
            goto yy139;
2388
1.16k
          }
2389
1.16k
        }
2390
2.27k
      }
2391
2.44k
    }
2392
28.5k
yy167:
2393
28.5k
    YYDEBUG(167, *YYCURSOR);
2394
28.5k
    yyaccept = 2;
2395
28.5k
    yych = *(YYMARKER = ++YYCURSOR);
2396
28.5k
    if (yych <= 'E') {
2397
7.85k
      if (yych <= '%') {
2398
7.45k
        if (yych <= '\f') {
2399
6.89k
          if (yych <= 0x00) goto yy164;
2400
6.84k
          if (yych <= 0x08) goto yy139;
2401
1
          if (yych <= '\n') goto yy164;
2402
0
          goto yy139;
2403
562
        } else {
2404
562
          if (yych <= '\r') goto yy164;
2405
562
          if (yych <= 0x1F) goto yy139;
2406
546
          if (yych <= '"') goto yy164;
2407
494
          goto yy139;
2408
546
        }
2409
7.45k
      } else {
2410
403
        if (yych <= ':') {
2411
298
          if (yych <= ')') goto yy164;
2412
287
          if (yych <= '/') goto yy139;
2413
201
          if (yych <= '9') goto yy162;
2414
0
          goto yy139;
2415
201
        } else {
2416
105
          if (yych <= '<') {
2417
14
            if (yych <= ';') goto yy164;
2418
14
            goto yy139;
2419
91
          } else {
2420
91
            if (yych <= '=') goto yy164;
2421
91
            if (yych <= '@') goto yy139;
2422
0
            goto yy162;
2423
91
          }
2424
105
        }
2425
403
      }
2426
20.7k
    } else {
2427
20.7k
      if (yych <= 'e') {
2428
7.16k
        if (yych <= 'Z') {
2429
6.83k
          if (yych <= 'F') goto yy186;
2430
6.73k
          if (yych == 'N') goto yy187;
2431
284
          goto yy162;
2432
6.73k
        } else {
2433
329
          if (yych <= '^') {
2434
87
            if (yych <= ']') goto yy139;
2435
0
            goto yy164;
2436
242
          } else {
2437
242
            if (yych == '`') goto yy139;
2438
164
            goto yy162;
2439
242
          }
2440
329
        }
2441
13.5k
      } else {
2442
13.5k
        if (yych <= 'z') {
2443
13.2k
          if (yych <= 'f') goto yy186;
2444
590
          if (yych == 'n') goto yy187;
2445
454
          goto yy162;
2446
590
        } else {
2447
359
          if (yych <= '|') {
2448
178
            if (yych <= '{') goto yy139;
2449
71
            goto yy164;
2450
181
          } else {
2451
181
            if (yych == '~') goto yy164;
2452
181
            goto yy139;
2453
181
          }
2454
359
        }
2455
13.5k
      }
2456
20.7k
    }
2457
3.35k
yy168:
2458
3.35k
    YYDEBUG(168, *YYCURSOR);
2459
3.35k
    yyaccept = 2;
2460
3.35k
    yych = *(YYMARKER = ++YYCURSOR);
2461
3.35k
    if (yych <= '=') {
2462
306
      if (yych <= '"') {
2463
10
        if (yych <= '\n') {
2464
6
          if (yych <= 0x00) goto yy164;
2465
0
          if (yych <= 0x08) goto yy139;
2466
0
          goto yy164;
2467
4
        } else {
2468
4
          if (yych == '\r') goto yy164;
2469
4
          if (yych <= 0x1F) goto yy139;
2470
4
          goto yy164;
2471
4
        }
2472
296
      } else {
2473
296
        if (yych <= '9') {
2474
292
          if (yych <= '%') goto yy139;
2475
236
          if (yych <= ')') goto yy164;
2476
153
          if (yych <= '/') goto yy139;
2477
132
          goto yy162;
2478
153
        } else {
2479
4
          if (yych == ';') goto yy164;
2480
0
          if (yych <= '<') goto yy139;
2481
0
          goto yy164;
2482
0
        }
2483
296
      }
2484
3.04k
    } else {
2485
3.04k
      if (yych <= '`') {
2486
1.01k
        if (yych <= 'Z') {
2487
240
          if (yych <= '@') goto yy139;
2488
169
          if (yych == 'R') goto yy189;
2489
84
          goto yy162;
2490
771
        } else {
2491
771
          if (yych <= ']') goto yy139;
2492
140
          if (yych <= '^') goto yy164;
2493
140
          if (yych <= '_') goto yy162;
2494
0
          goto yy139;
2495
140
        }
2496
2.03k
      } else {
2497
2.03k
        if (yych <= '{') {
2498
1.93k
          if (yych == 'r') goto yy189;
2499
316
          if (yych <= 'z') goto yy162;
2500
0
          goto yy139;
2501
316
        } else {
2502
98
          if (yych == '}') goto yy139;
2503
98
          if (yych <= '~') goto yy164;
2504
98
          goto yy139;
2505
98
        }
2506
2.03k
      }
2507
3.04k
    }
2508
677
yy169:
2509
677
    YYDEBUG(169, *YYCURSOR);
2510
677
    yyaccept = 2;
2511
677
    yych = *(YYMARKER = ++YYCURSOR);
2512
677
    if (yych <= '=') {
2513
95
      if (yych <= '"') {
2514
39
        if (yych <= '\n') {
2515
1
          if (yych <= 0x00) goto yy164;
2516
0
          if (yych <= 0x08) goto yy139;
2517
0
          goto yy164;
2518
38
        } else {
2519
38
          if (yych == '\r') goto yy164;
2520
4
          if (yych <= 0x1F) goto yy139;
2521
4
          goto yy164;
2522
4
        }
2523
56
      } else {
2524
56
        if (yych <= '9') {
2525
56
          if (yych <= '%') goto yy139;
2526
56
          if (yych <= ')') goto yy164;
2527
56
          if (yych <= '/') goto yy139;
2528
56
          goto yy162;
2529
56
        } else {
2530
0
          if (yych == ';') goto yy164;
2531
0
          if (yych <= '<') goto yy139;
2532
0
          goto yy164;
2533
0
        }
2534
56
      }
2535
582
    } else {
2536
582
      if (yych <= '`') {
2537
61
        if (yych <= 'Z') {
2538
61
          if (yych <= '@') goto yy139;
2539
61
          if (yych == 'E') goto yy190;
2540
61
          goto yy162;
2541
61
        } else {
2542
0
          if (yych <= ']') goto yy139;
2543
0
          if (yych <= '^') goto yy164;
2544
0
          if (yych <= '_') goto yy162;
2545
0
          goto yy139;
2546
0
        }
2547
521
      } else {
2548
521
        if (yych <= '{') {
2549
109
          if (yych == 'e') goto yy190;
2550
105
          if (yych <= 'z') goto yy162;
2551
0
          goto yy139;
2552
412
        } else {
2553
412
          if (yych == '}') goto yy139;
2554
412
          if (yych <= '~') goto yy164;
2555
352
          goto yy139;
2556
412
        }
2557
521
      }
2558
582
    }
2559
6.93k
yy170:
2560
6.93k
    YYDEBUG(170, *YYCURSOR);
2561
6.93k
    ++YYCURSOR;
2562
6.93k
    YYFILL(1);
2563
6.93k
    yych = *YYCURSOR;
2564
6.93k
    if (yych <= '\\') {
2565
6.91k
      if (yych <= 0x00) goto yy171;
2566
6.75k
      if (yych <= '[') goto yy138;
2567
0
      goto yy172;
2568
6.75k
    } else {
2569
19
      if (yych != '{') goto yy138;
2570
19
    }
2571
166
yy171:
2572
166
    YYDEBUG(171, *YYCURSOR);
2573
166
    YYCURSOR = YYMARKER;
2574
166
    if (yyaccept <= 2) {
2575
166
      if (yyaccept <= 1) {
2576
166
        if (yyaccept == 0) {
2577
56
          goto yy140;
2578
110
        } else {
2579
110
          goto yy157;
2580
110
        }
2581
166
      } else {
2582
0
        goto yy164;
2583
0
      }
2584
166
    } else {
2585
0
      if (yyaccept <= 4) {
2586
0
        if (yyaccept == 3) {
2587
0
          goto yy184;
2588
0
        } else {
2589
0
          goto yy188;
2590
0
        }
2591
0
      } else {
2592
0
        goto yy205;
2593
0
      }
2594
0
    }
2595
0
yy172:
2596
0
    YYDEBUG(172, *YYCURSOR);
2597
0
    ++YYCURSOR;
2598
0
    YYFILL(1);
2599
0
    yych = *YYCURSOR;
2600
0
    if (yybm[0+yych] & 128) {
2601
0
      goto yy191;
2602
0
    }
2603
0
    goto yy138;
2604
0
yy173:
2605
0
    YYDEBUG(173, *YYCURSOR);
2606
0
    ++YYCURSOR;
2607
0
    YYDEBUG(174, *YYCURSOR);
2608
0
    yyleng = YYCURSOR - SCNG(yy_text);
2609
0
#line 421 "Zend/zend_ini_scanner.l"
2610
0
    { /* Variable start */
2611
0
  yy_push_state(ST_VARNAME);
2612
0
  return TC_DOLLAR_CURLY;
2613
0
}
2614
0
#line 2615 "Zend/zend_ini_scanner.c"
2615
579k
yy175:
2616
579k
    YYDEBUG(175, *YYCURSOR);
2617
579k
    ++YYCURSOR;
2618
579k
    YYFILL(1);
2619
578k
    yych = *YYCURSOR;
2620
578k
    YYDEBUG(176, *YYCURSOR);
2621
578k
    if (yybm[0+yych] & 64) {
2622
569k
      goto yy175;
2623
569k
    }
2624
9.15k
    goto yy193;
2625
9.15k
yy177:
2626
2.58k
    YYDEBUG(177, *YYCURSOR);
2627
2.58k
    yyaccept = 1;
2628
2.58k
    YYMARKER = ++YYCURSOR;
2629
2.58k
    YYFILL(1);
2630
2.58k
    yych = *YYCURSOR;
2631
2.58k
    YYDEBUG(178, *YYCURSOR);
2632
2.58k
    if (yych <= '/') {
2633
414
      if (yych <= 0x1F) {
2634
268
        if (yych <= '\n') {
2635
158
          if (yych <= 0x00) goto yy157;
2636
71
          if (yych <= 0x08) goto yy138;
2637
0
          goto yy157;
2638
110
        } else {
2639
110
          if (yych == '\r') goto yy157;
2640
4
          goto yy138;
2641
110
        }
2642
268
      } else {
2643
146
        if (yych <= '$') {
2644
14
          if (yych <= '"') goto yy157;
2645
0
          if (yych <= '#') goto yy138;
2646
0
          goto yy170;
2647
132
        } else {
2648
132
          if (yych <= '%') goto yy138;
2649
64
          if (yych <= ')') goto yy157;
2650
63
          goto yy138;
2651
64
        }
2652
146
      }
2653
2.17k
    } else {
2654
2.17k
      if (yych <= ']') {
2655
1.75k
        if (yych <= ';') {
2656
1.71k
          if (yych <= '9') goto yy177;
2657
14
          if (yych <= ':') goto yy138;
2658
14
          goto yy157;
2659
42
        } else {
2660
42
          if (yych == '=') goto yy157;
2661
40
          goto yy138;
2662
42
        }
2663
1.75k
      } else {
2664
422
        if (yych <= '|') {
2665
385
          if (yych <= '^') goto yy157;
2666
50
          if (yych <= '{') goto yy138;
2667
0
          goto yy157;
2668
50
        } else {
2669
37
          if (yych == '~') goto yy157;
2670
37
          goto yy138;
2671
37
        }
2672
422
      }
2673
2.17k
    }
2674
38.3k
yy179:
2675
38.3k
    YYDEBUG(179, *YYCURSOR);
2676
38.3k
    ++YYCURSOR;
2677
39.1k
yy180:
2678
39.1k
    YYDEBUG(180, *YYCURSOR);
2679
39.1k
    yyleng = YYCURSOR - SCNG(yy_text);
2680
39.1k
#line 674 "Zend/zend_ini_scanner.l"
2681
39.1k
    { /* Comment */
2682
39.1k
  BEGIN(INITIAL);
2683
39.1k
  SCNG(lineno)++;
2684
39.1k
  return END_OF_LINE;
2685
38.3k
}
2686
0
#line 2687 "Zend/zend_ini_scanner.c"
2687
2.41k
yy181:
2688
2.41k
    YYDEBUG(181, *YYCURSOR);
2689
2.41k
    yych = *++YYCURSOR;
2690
2.41k
    if (yych == '\n') goto yy179;
2691
749
    goto yy180;
2692
749
yy182:
2693
2
    YYDEBUG(182, *YYCURSOR);
2694
2
    yyaccept = 2;
2695
2
    yych = *(YYMARKER = ++YYCURSOR);
2696
2
    if (yych <= '=') {
2697
0
      if (yych <= '"') {
2698
0
        if (yych <= '\n') {
2699
0
          if (yych <= 0x00) goto yy164;
2700
0
          if (yych <= 0x08) goto yy139;
2701
0
          goto yy164;
2702
0
        } else {
2703
0
          if (yych == '\r') goto yy164;
2704
0
          if (yych <= 0x1F) goto yy139;
2705
0
          goto yy164;
2706
0
        }
2707
0
      } else {
2708
0
        if (yych <= '9') {
2709
0
          if (yych <= '%') goto yy139;
2710
0
          if (yych <= ')') goto yy164;
2711
0
          if (yych <= '/') goto yy139;
2712
0
          goto yy162;
2713
0
        } else {
2714
0
          if (yych == ';') goto yy164;
2715
0
          if (yych <= '<') goto yy139;
2716
0
          goto yy164;
2717
0
        }
2718
0
      }
2719
2
    } else {
2720
2
      if (yych <= '`') {
2721
0
        if (yych <= 'Z') {
2722
0
          if (yych <= '@') goto yy139;
2723
0
          if (yych == 'L') goto yy195;
2724
0
          goto yy162;
2725
0
        } else {
2726
0
          if (yych <= ']') goto yy139;
2727
0
          if (yych <= '^') goto yy164;
2728
0
          if (yych <= '_') goto yy162;
2729
0
          goto yy139;
2730
0
        }
2731
2
      } else {
2732
2
        if (yych <= '{') {
2733
2
          if (yych == 'l') goto yy195;
2734
0
          if (yych <= 'z') goto yy162;
2735
0
          goto yy139;
2736
0
        } else {
2737
0
          if (yych == '}') goto yy139;
2738
0
          if (yych <= '~') goto yy164;
2739
0
          goto yy139;
2740
0
        }
2741
2
      }
2742
2
    }
2743
860
yy183:
2744
860
    YYDEBUG(183, *YYCURSOR);
2745
860
    yyaccept = 3;
2746
860
    yych = *(YYMARKER = ++YYCURSOR);
2747
860
    if (yych <= '<') {
2748
807
      if (yych <= ' ') {
2749
807
        if (yych <= '\n') {
2750
807
          if (yych <= 0x00) goto yy184;
2751
807
          if (yych <= 0x08) goto yy139;
2752
744
          if (yych <= '\t') goto yy196;
2753
744
        } else {
2754
0
          if (yych == '\r') goto yy184;
2755
0
          if (yych <= 0x1F) goto yy139;
2756
0
          goto yy196;
2757
0
        }
2758
807
      } else {
2759
0
        if (yych <= '/') {
2760
0
          if (yych <= '"') goto yy184;
2761
0
          if (yych <= '%') goto yy139;
2762
0
          if (yych >= '*') goto yy139;
2763
0
        } else {
2764
0
          if (yych <= '9') goto yy162;
2765
0
          if (yych != ';') goto yy139;
2766
0
        }
2767
0
      }
2768
807
    } else {
2769
53
      if (yych <= '_') {
2770
0
        if (yych <= 'N') {
2771
0
          if (yych <= '=') goto yy184;
2772
0
          if (yych <= '@') goto yy139;
2773
0
          if (yych <= 'M') goto yy162;
2774
0
          goto yy198;
2775
0
        } else {
2776
0
          if (yych <= 'Z') goto yy162;
2777
0
          if (yych <= ']') goto yy139;
2778
0
          if (yych >= '_') goto yy162;
2779
0
        }
2780
53
      } else {
2781
53
        if (yych <= 'z') {
2782
53
          if (yych <= '`') goto yy139;
2783
53
          if (yych == 'n') goto yy198;
2784
0
          goto yy162;
2785
53
        } else {
2786
0
          if (yych <= '|') {
2787
0
            if (yych <= '{') goto yy139;
2788
0
          } else {
2789
0
            if (yych != '~') goto yy139;
2790
0
          }
2791
0
        }
2792
53
      }
2793
53
    }
2794
1.89k
yy184:
2795
1.89k
    YYDEBUG(184, *YYCURSOR);
2796
1.89k
    yyleng = YYCURSOR - SCNG(yy_text);
2797
1.89k
#line 494 "Zend/zend_ini_scanner.l"
2798
1.89k
    { /* FALSE value (when used outside option value/offset this causes parse error!)*/
2799
1.89k
  RETURN_TOKEN(BOOL_FALSE, "", 0);
2800
0
}
2801
0
#line 2802 "Zend/zend_ini_scanner.c"
2802
114
yy185:
2803
114
    YYDEBUG(185, *YYCURSOR);
2804
114
    yyaccept = 2;
2805
114
    yych = *(YYMARKER = ++YYCURSOR);
2806
114
    if (yych <= '=') {
2807
4
      if (yych <= '"') {
2808
2
        if (yych <= '\n') {
2809
2
          if (yych <= 0x00) goto yy164;
2810
0
          if (yych <= 0x08) goto yy139;
2811
0
          goto yy164;
2812
0
        } else {
2813
0
          if (yych == '\r') goto yy164;
2814
0
          if (yych <= 0x1F) goto yy139;
2815
0
          goto yy164;
2816
0
        }
2817
2
      } else {
2818
2
        if (yych <= '9') {
2819
2
          if (yych <= '%') goto yy139;
2820
2
          if (yych <= ')') goto yy164;
2821
2
          if (yych <= '/') goto yy139;
2822
0
          goto yy162;
2823
2
        } else {
2824
0
          if (yych == ';') goto yy164;
2825
0
          if (yych <= '<') goto yy139;
2826
0
          goto yy164;
2827
0
        }
2828
2
      }
2829
110
    } else {
2830
110
      if (yych <= '`') {
2831
0
        if (yych <= 'Z') {
2832
0
          if (yych <= '@') goto yy139;
2833
0
          if (yych == 'L') goto yy199;
2834
0
          goto yy162;
2835
0
        } else {
2836
0
          if (yych <= ']') goto yy139;
2837
0
          if (yych <= '^') goto yy164;
2838
0
          if (yych <= '_') goto yy162;
2839
0
          goto yy139;
2840
0
        }
2841
110
      } else {
2842
110
        if (yych <= '{') {
2843
110
          if (yych == 'l') goto yy199;
2844
0
          if (yych <= 'z') goto yy162;
2845
0
          goto yy139;
2846
0
        } else {
2847
0
          if (yych == '}') goto yy139;
2848
0
          if (yych <= '~') goto yy164;
2849
0
          goto yy139;
2850
0
        }
2851
110
      }
2852
110
    }
2853
12.7k
yy186:
2854
12.7k
    YYDEBUG(186, *YYCURSOR);
2855
12.7k
    yyaccept = 2;
2856
12.7k
    yych = *(YYMARKER = ++YYCURSOR);
2857
12.7k
    if (yych <= '=') {
2858
1.69k
      if (yych <= '"') {
2859
567
        if (yych <= '\n') {
2860
231
          if (yych <= 0x00) goto yy164;
2861
111
          if (yych <= 0x08) goto yy139;
2862
4
          goto yy164;
2863
336
        } else {
2864
336
          if (yych == '\r') goto yy164;
2865
336
          if (yych <= 0x1F) goto yy139;
2866
194
          goto yy164;
2867
336
        }
2868
1.13k
      } else {
2869
1.13k
        if (yych <= '9') {
2870
1.05k
          if (yych <= '%') goto yy139;
2871
1.05k
          if (yych <= ')') goto yy164;
2872
1.05k
          if (yych <= '/') goto yy139;
2873
999
          goto yy162;
2874
1.05k
        } else {
2875
72
          if (yych == ';') goto yy164;
2876
72
          if (yych <= '<') goto yy139;
2877
3
          goto yy164;
2878
72
        }
2879
1.13k
      }
2880
11.0k
    } else {
2881
11.0k
      if (yych <= '`') {
2882
83
        if (yych <= 'Z') {
2883
27
          if (yych <= '@') goto yy139;
2884
27
          if (yych == 'F') goto yy200;
2885
27
          goto yy162;
2886
56
        } else {
2887
56
          if (yych <= ']') goto yy139;
2888
0
          if (yych <= '^') goto yy164;
2889
0
          if (yych <= '_') goto yy162;
2890
0
          goto yy139;
2891
0
        }
2892
10.9k
      } else {
2893
10.9k
        if (yych <= '{') {
2894
10.4k
          if (yych == 'f') goto yy200;
2895
3.02k
          if (yych <= 'z') goto yy162;
2896
24
          goto yy139;
2897
3.02k
        } else {
2898
480
          if (yych == '}') goto yy139;
2899
480
          if (yych <= '~') goto yy164;
2900
480
          goto yy139;
2901
480
        }
2902
10.9k
      }
2903
11.0k
    }
2904
6.62k
yy187:
2905
6.62k
    YYDEBUG(187, *YYCURSOR);
2906
6.62k
    yyaccept = 4;
2907
6.62k
    yych = *(YYMARKER = ++YYCURSOR);
2908
6.62k
    if (yybm[0+yych] & 32) {
2909
5.82k
      goto yy162;
2910
5.82k
    }
2911
801
    if (yych <= ')') {
2912
111
      if (yych <= '\f') {
2913
89
        if (yych <= 0x08) {
2914
51
          if (yych >= 0x01) goto yy139;
2915
51
        } else {
2916
38
          if (yych <= '\t') goto yy201;
2917
38
          if (yych >= '\v') goto yy139;
2918
38
        }
2919
89
      } else {
2920
22
        if (yych <= ' ') {
2921
0
          if (yych <= '\r') goto yy188;
2922
0
          if (yych <= 0x1F) goto yy139;
2923
0
          goto yy201;
2924
22
        } else {
2925
22
          if (yych <= '"') goto yy188;
2926
22
          if (yych <= '%') goto yy139;
2927
22
        }
2928
22
      }
2929
690
    } else {
2930
690
      if (yych <= ']') {
2931
51
        if (yych <= ';') {
2932
51
          if (yych <= ':') goto yy139;
2933
51
        } else {
2934
0
          if (yych != '=') goto yy139;
2935
0
        }
2936
639
      } else {
2937
639
        if (yych <= '|') {
2938
0
          if (yych <= '^') goto yy188;
2939
0
          if (yych <= '{') goto yy139;
2940
639
        } else {
2941
639
          if (yych != '~') goto yy139;
2942
639
        }
2943
639
      }
2944
690
    }
2945
64
yy188:
2946
64
    YYDEBUG(188, *YYCURSOR);
2947
64
    yyleng = YYCURSOR - SCNG(yy_text);
2948
64
#line 490 "Zend/zend_ini_scanner.l"
2949
64
    { /* TRUE value (when used outside option value/offset this causes parse error!) */
2950
64
  RETURN_TOKEN(BOOL_TRUE, "1", 1);
2951
0
}
2952
0
#line 2953 "Zend/zend_ini_scanner.c"
2953
1.70k
yy189:
2954
1.70k
    YYDEBUG(189, *YYCURSOR);
2955
1.70k
    yyaccept = 2;
2956
1.70k
    yych = *(YYMARKER = ++YYCURSOR);
2957
1.70k
    if (yych <= '=') {
2958
0
      if (yych <= '"') {
2959
0
        if (yych <= '\n') {
2960
0
          if (yych <= 0x00) goto yy164;
2961
0
          if (yych <= 0x08) goto yy139;
2962
0
          goto yy164;
2963
0
        } else {
2964
0
          if (yych == '\r') goto yy164;
2965
0
          if (yych <= 0x1F) goto yy139;
2966
0
          goto yy164;
2967
0
        }
2968
0
      } else {
2969
0
        if (yych <= '9') {
2970
0
          if (yych <= '%') goto yy139;
2971
0
          if (yych <= ')') goto yy164;
2972
0
          if (yych <= '/') goto yy139;
2973
0
          goto yy162;
2974
0
        } else {
2975
0
          if (yych == ';') goto yy164;
2976
0
          if (yych <= '<') goto yy139;
2977
0
          goto yy164;
2978
0
        }
2979
0
      }
2980
1.70k
    } else {
2981
1.70k
      if (yych <= '`') {
2982
1.55k
        if (yych <= 'Z') {
2983
1.55k
          if (yych <= '@') goto yy139;
2984
1.55k
          if (yych == 'U') goto yy203;
2985
1.55k
          goto yy162;
2986
1.55k
        } else {
2987
0
          if (yych <= ']') goto yy139;
2988
0
          if (yych <= '^') goto yy164;
2989
0
          if (yych <= '_') goto yy162;
2990
0
          goto yy139;
2991
0
        }
2992
1.55k
      } else {
2993
157
        if (yych <= '{') {
2994
157
          if (yych == 'u') goto yy203;
2995
115
          if (yych <= 'z') goto yy162;
2996
0
          goto yy139;
2997
115
        } else {
2998
0
          if (yych == '}') goto yy139;
2999
0
          if (yych <= '~') goto yy164;
3000
0
          goto yy139;
3001
0
        }
3002
157
      }
3003
1.70k
    }
3004
4
yy190:
3005
4
    YYDEBUG(190, *YYCURSOR);
3006
4
    yyaccept = 2;
3007
4
    yych = *(YYMARKER = ++YYCURSOR);
3008
4
    if (yych <= '=') {
3009
0
      if (yych <= '"') {
3010
0
        if (yych <= '\n') {
3011
0
          if (yych <= 0x00) goto yy164;
3012
0
          if (yych <= 0x08) goto yy139;
3013
0
          goto yy164;
3014
0
        } else {
3015
0
          if (yych == '\r') goto yy164;
3016
0
          if (yych <= 0x1F) goto yy139;
3017
0
          goto yy164;
3018
0
        }
3019
0
      } else {
3020
0
        if (yych <= '9') {
3021
0
          if (yych <= '%') goto yy139;
3022
0
          if (yych <= ')') goto yy164;
3023
0
          if (yych <= '/') goto yy139;
3024
0
          goto yy162;
3025
0
        } else {
3026
0
          if (yych == ';') goto yy164;
3027
0
          if (yych <= '<') goto yy139;
3028
0
          goto yy164;
3029
0
        }
3030
0
      }
3031
4
    } else {
3032
4
      if (yych <= '`') {
3033
0
        if (yych <= 'Z') {
3034
0
          if (yych <= '@') goto yy139;
3035
0
          if (yych == 'S') goto yy187;
3036
0
          goto yy162;
3037
0
        } else {
3038
0
          if (yych <= ']') goto yy139;
3039
0
          if (yych <= '^') goto yy164;
3040
0
          if (yych <= '_') goto yy162;
3041
0
          goto yy139;
3042
0
        }
3043
4
      } else {
3044
4
        if (yych <= '{') {
3045
4
          if (yych == 's') goto yy187;
3046
0
          if (yych <= 'z') goto yy162;
3047
0
          goto yy139;
3048
0
        } else {
3049
0
          if (yych == '}') goto yy139;
3050
0
          if (yych <= '~') goto yy164;
3051
0
          goto yy139;
3052
0
        }
3053
4
      }
3054
4
    }
3055
0
yy191:
3056
0
    YYDEBUG(191, *YYCURSOR);
3057
0
    ++YYCURSOR;
3058
0
    YYFILL(1);
3059
0
    yych = *YYCURSOR;
3060
0
    YYDEBUG(192, *YYCURSOR);
3061
0
    if (yybm[0+yych] & 128) {
3062
0
      goto yy191;
3063
0
    }
3064
0
    if (yych <= 0x00) goto yy140;
3065
0
    if (yych == '\\') goto yy172;
3066
0
    goto yy138;
3067
9.15k
yy193:
3068
9.15k
    YYDEBUG(193, *YYCURSOR);
3069
9.15k
    ++YYCURSOR;
3070
9.15k
    YYDEBUG(194, *YYCURSOR);
3071
9.15k
    yyleng = YYCURSOR - SCNG(yy_text);
3072
9.15k
#line 388 "Zend/zend_ini_scanner.l"
3073
9.15k
    { /* Raw string */
3074
  /* Eat leading and trailing single quotes */
3075
9.15k
  if (yytext[0] == '\'' && yytext[yyleng - 1] == '\'') {
3076
9.15k
    SCNG(yy_text)++;
3077
9.15k
    yyleng = yyleng - 2;
3078
9.15k
  }
3079
9.15k
  RETURN_TOKEN(TC_RAW, yytext, yyleng);
3080
0
}
3081
0
#line 3082 "Zend/zend_ini_scanner.c"
3082
2
yy195:
3083
2
    YYDEBUG(195, *YYCURSOR);
3084
2
    yyaccept = 2;
3085
2
    yych = *(YYMARKER = ++YYCURSOR);
3086
2
    if (yych <= '=') {
3087
0
      if (yych <= '"') {
3088
0
        if (yych <= '\n') {
3089
0
          if (yych <= 0x00) goto yy164;
3090
0
          if (yych <= 0x08) goto yy139;
3091
0
          goto yy164;
3092
0
        } else {
3093
0
          if (yych == '\r') goto yy164;
3094
0
          if (yych <= 0x1F) goto yy139;
3095
0
          goto yy164;
3096
0
        }
3097
0
      } else {
3098
0
        if (yych <= '9') {
3099
0
          if (yych <= '%') goto yy139;
3100
0
          if (yych <= ')') goto yy164;
3101
0
          if (yych <= '/') goto yy139;
3102
0
          goto yy162;
3103
0
        } else {
3104
0
          if (yych == ';') goto yy164;
3105
0
          if (yych <= '<') goto yy139;
3106
0
          goto yy164;
3107
0
        }
3108
0
      }
3109
2
    } else {
3110
2
      if (yych <= '`') {
3111
0
        if (yych <= 'Z') {
3112
0
          if (yych <= '@') goto yy139;
3113
0
          if (yych == 'S') goto yy198;
3114
0
          goto yy162;
3115
0
        } else {
3116
0
          if (yych <= ']') goto yy139;
3117
0
          if (yych <= '^') goto yy164;
3118
0
          if (yych <= '_') goto yy162;
3119
0
          goto yy139;
3120
0
        }
3121
2
      } else {
3122
2
        if (yych <= '{') {
3123
2
          if (yych == 's') goto yy198;
3124
0
          if (yych <= 'z') goto yy162;
3125
0
          goto yy139;
3126
0
        } else {
3127
0
          if (yych == '}') goto yy139;
3128
0
          if (yych <= '~') goto yy164;
3129
0
          goto yy139;
3130
0
        }
3131
2
      }
3132
2
    }
3133
581
yy196:
3134
581
    YYDEBUG(196, *YYCURSOR);
3135
581
    ++YYCURSOR;
3136
581
    YYFILL(1);
3137
581
    yych = *YYCURSOR;
3138
581
    YYDEBUG(197, *YYCURSOR);
3139
581
    if (yych == '\t') goto yy196;
3140
581
    if (yych == ' ') goto yy196;
3141
328
    goto yy184;
3142
328
yy198:
3143
55
    YYDEBUG(198, *YYCURSOR);
3144
55
    yyaccept = 2;
3145
55
    yych = *(YYMARKER = ++YYCURSOR);
3146
55
    if (yych <= '=') {
3147
53
      if (yych <= '"') {
3148
53
        if (yych <= '\n') {
3149
0
          if (yych <= 0x00) goto yy164;
3150
0
          if (yych <= 0x08) goto yy139;
3151
0
          goto yy164;
3152
53
        } else {
3153
53
          if (yych == '\r') goto yy164;
3154
53
          if (yych <= 0x1F) goto yy139;
3155
0
          goto yy164;
3156
53
        }
3157
53
      } else {
3158
0
        if (yych <= '9') {
3159
0
          if (yych <= '%') goto yy139;
3160
0
          if (yych <= ')') goto yy164;
3161
0
          if (yych <= '/') goto yy139;
3162
0
          goto yy162;
3163
0
        } else {
3164
0
          if (yych == ';') goto yy164;
3165
0
          if (yych <= '<') goto yy139;
3166
0
          goto yy164;
3167
0
        }
3168
0
      }
3169
53
    } else {
3170
2
      if (yych <= '`') {
3171
0
        if (yych <= 'Z') {
3172
0
          if (yych <= '@') goto yy139;
3173
0
          if (yych == 'E') goto yy200;
3174
0
          goto yy162;
3175
0
        } else {
3176
0
          if (yych <= ']') goto yy139;
3177
0
          if (yych <= '^') goto yy164;
3178
0
          if (yych <= '_') goto yy162;
3179
0
          goto yy139;
3180
0
        }
3181
2
      } else {
3182
2
        if (yych <= '{') {
3183
2
          if (yych == 'e') goto yy200;
3184
0
          if (yych <= 'z') goto yy162;
3185
0
          goto yy139;
3186
0
        } else {
3187
0
          if (yych == '}') goto yy139;
3188
0
          if (yych <= '~') goto yy164;
3189
0
          goto yy139;
3190
0
        }
3191
2
      }
3192
2
    }
3193
110
yy199:
3194
110
    YYDEBUG(199, *YYCURSOR);
3195
110
    yyaccept = 2;
3196
110
    yych = *(YYMARKER = ++YYCURSOR);
3197
110
    if (yych <= '=') {
3198
0
      if (yych <= '"') {
3199
0
        if (yych <= '\n') {
3200
0
          if (yych <= 0x00) goto yy164;
3201
0
          if (yych <= 0x08) goto yy139;
3202
0
          goto yy164;
3203
0
        } else {
3204
0
          if (yych == '\r') goto yy164;
3205
0
          if (yych <= 0x1F) goto yy139;
3206
0
          goto yy164;
3207
0
        }
3208
0
      } else {
3209
0
        if (yych <= '9') {
3210
0
          if (yych <= '%') goto yy139;
3211
0
          if (yych <= ')') goto yy164;
3212
0
          if (yych <= '/') goto yy139;
3213
0
          goto yy162;
3214
0
        } else {
3215
0
          if (yych == ';') goto yy164;
3216
0
          if (yych <= '<') goto yy139;
3217
0
          goto yy164;
3218
0
        }
3219
0
      }
3220
110
    } else {
3221
110
      if (yych <= '`') {
3222
2
        if (yych <= 'Z') {
3223
2
          if (yych <= '@') goto yy139;
3224
0
          if (yych == 'L') goto yy204;
3225
0
          goto yy162;
3226
0
        } else {
3227
0
          if (yych <= ']') goto yy139;
3228
0
          if (yych <= '^') goto yy164;
3229
0
          if (yych <= '_') goto yy162;
3230
0
          goto yy139;
3231
0
        }
3232
108
      } else {
3233
108
        if (yych <= '{') {
3234
106
          if (yych == 'l') goto yy204;
3235
0
          if (yych <= 'z') goto yy162;
3236
0
          goto yy139;
3237
2
        } else {
3238
2
          if (yych == '}') goto yy139;
3239
2
          if (yych <= '~') goto yy164;
3240
2
          goto yy139;
3241
2
        }
3242
108
      }
3243
110
    }
3244
7.42k
yy200:
3245
7.42k
    YYDEBUG(200, *YYCURSOR);
3246
7.42k
    yyaccept = 3;
3247
7.42k
    yych = *(YYMARKER = ++YYCURSOR);
3248
7.42k
    if (yybm[0+yych] & 32) {
3249
4.75k
      goto yy162;
3250
4.75k
    }
3251
2.67k
    if (yych <= ')') {
3252
1.64k
      if (yych <= '\f') {
3253
1.15k
        if (yych <= 0x08) {
3254
771
          if (yych <= 0x00) goto yy184;
3255
684
          goto yy139;
3256
771
        } else {
3257
386
          if (yych <= '\t') goto yy196;
3258
127
          if (yych <= '\n') goto yy184;
3259
4
          goto yy139;
3260
127
        }
3261
1.15k
      } else {
3262
486
        if (yych <= ' ') {
3263
178
          if (yych <= '\r') goto yy184;
3264
178
          if (yych <= 0x1F) goto yy139;
3265
66
          goto yy196;
3266
308
        } else {
3267
308
          if (yych <= '"') goto yy184;
3268
98
          if (yych <= '%') goto yy139;
3269
80
          goto yy184;
3270
98
        }
3271
486
      }
3272
1.64k
    } else {
3273
1.03k
      if (yych <= ']') {
3274
338
        if (yych <= ';') {
3275
71
          if (yych <= ':') goto yy139;
3276
16
          goto yy184;
3277
267
        } else {
3278
267
          if (yych == '=') goto yy184;
3279
136
          goto yy139;
3280
267
        }
3281
693
      } else {
3282
693
        if (yych <= '|') {
3283
86
          if (yych <= '^') goto yy184;
3284
3
          if (yych <= '{') goto yy139;
3285
0
          goto yy184;
3286
607
        } else {
3287
607
          if (yych == '~') goto yy184;
3288
515
          goto yy139;
3289
607
        }
3290
693
      }
3291
1.03k
    }
3292
0
yy201:
3293
0
    YYDEBUG(201, *YYCURSOR);
3294
0
    ++YYCURSOR;
3295
0
    YYFILL(1);
3296
0
    yych = *YYCURSOR;
3297
0
    YYDEBUG(202, *YYCURSOR);
3298
0
    if (yych == '\t') goto yy201;
3299
0
    if (yych == ' ') goto yy201;
3300
0
    goto yy188;
3301
42
yy203:
3302
42
    YYDEBUG(203, *YYCURSOR);
3303
42
    yyaccept = 2;
3304
42
    yych = *(YYMARKER = ++YYCURSOR);
3305
42
    if (yych <= '=') {
3306
4
      if (yych <= '"') {
3307
2
        if (yych <= '\n') {
3308
0
          if (yych <= 0x00) goto yy164;
3309
0
          if (yych <= 0x08) goto yy139;
3310
0
          goto yy164;
3311
2
        } else {
3312
2
          if (yych == '\r') goto yy164;
3313
0
          if (yych <= 0x1F) goto yy139;
3314
0
          goto yy164;
3315
0
        }
3316
2
      } else {
3317
2
        if (yych <= '9') {
3318
2
          if (yych <= '%') goto yy139;
3319
2
          if (yych <= ')') goto yy164;
3320
2
          if (yych <= '/') goto yy139;
3321
0
          goto yy162;
3322
2
        } else {
3323
0
          if (yych == ';') goto yy164;
3324
0
          if (yych <= '<') goto yy139;
3325
0
          goto yy164;
3326
0
        }
3327
2
      }
3328
38
    } else {
3329
38
      if (yych <= '`') {
3330
0
        if (yych <= 'Z') {
3331
0
          if (yych <= '@') goto yy139;
3332
0
          if (yych == 'E') goto yy187;
3333
0
          goto yy162;
3334
0
        } else {
3335
0
          if (yych <= ']') goto yy139;
3336
0
          if (yych <= '^') goto yy164;
3337
0
          if (yych <= '_') goto yy162;
3338
0
          goto yy139;
3339
0
        }
3340
38
      } else {
3341
38
        if (yych <= '{') {
3342
30
          if (yych == 'e') goto yy187;
3343
0
          if (yych <= 'z') goto yy162;
3344
0
          goto yy139;
3345
8
        } else {
3346
8
          if (yych == '}') goto yy139;
3347
8
          if (yych <= '~') goto yy164;
3348
8
          goto yy139;
3349
8
        }
3350
38
      }
3351
38
    }
3352
106
yy204:
3353
106
    YYDEBUG(204, *YYCURSOR);
3354
106
    yyaccept = 5;
3355
106
    yych = *(YYMARKER = ++YYCURSOR);
3356
106
    if (yybm[0+yych] & 32) {
3357
0
      goto yy162;
3358
0
    }
3359
106
    if (yych <= ')') {
3360
84
      if (yych <= '\f') {
3361
74
        if (yych <= 0x08) {
3362
0
          if (yych >= 0x01) goto yy139;
3363
74
        } else {
3364
74
          if (yych <= '\t') goto yy206;
3365
74
          if (yych >= '\v') goto yy139;
3366
74
        }
3367
74
      } else {
3368
10
        if (yych <= ' ') {
3369
10
          if (yych <= '\r') goto yy205;
3370
10
          if (yych <= 0x1F) goto yy139;
3371
0
          goto yy206;
3372
10
        } else {
3373
0
          if (yych <= '"') goto yy205;
3374
0
          if (yych <= '%') goto yy139;
3375
0
        }
3376
10
      }
3377
84
    } else {
3378
22
      if (yych <= ']') {
3379
20
        if (yych <= ';') {
3380
20
          if (yych <= ':') goto yy139;
3381
20
        } else {
3382
0
          if (yych != '=') goto yy139;
3383
0
        }
3384
20
      } else {
3385
2
        if (yych <= '|') {
3386
0
          if (yych <= '^') goto yy205;
3387
0
          if (yych <= '{') goto yy139;
3388
2
        } else {
3389
2
          if (yych != '~') goto yy139;
3390
2
        }
3391
2
      }
3392
22
    }
3393
92
yy205:
3394
92
    YYDEBUG(205, *YYCURSOR);
3395
92
    yyleng = YYCURSOR - SCNG(yy_text);
3396
92
#line 498 "Zend/zend_ini_scanner.l"
3397
92
    {
3398
92
  RETURN_TOKEN(NULL_NULL, "", 0);
3399
0
}
3400
0
#line 3401 "Zend/zend_ini_scanner.c"
3401
0
yy206:
3402
0
    YYDEBUG(206, *YYCURSOR);
3403
0
    ++YYCURSOR;
3404
0
    YYFILL(1);
3405
0
    yych = *YYCURSOR;
3406
0
    YYDEBUG(207, *YYCURSOR);
3407
0
    if (yych == '\t') goto yy206;
3408
0
    if (yych == ' ') goto yy206;
3409
0
    goto yy205;
3410
0
  }
3411
/* *********************************** */
3412
0
yyc_ST_SECTION_RAW:
3413
0
  {
3414
0
    static const unsigned char yybm[] = {
3415
0
       64,  64,  64,  64,  64,  64,  64,  64, 
3416
0
       64, 192,   0,  64,  64,   0,  64,  64, 
3417
0
       64,  64,  64,  64,  64,  64,  64,  64, 
3418
0
       64,  64,  64,  64,  64,  64,  64,  64, 
3419
0
      192,  64,  64,  64,  64,  64,  64,  64, 
3420
0
       64,  64,  64,  64,  64,  64,  64,  64, 
3421
0
       64,  64,  64,  64,  64,  64,  64,  64, 
3422
0
       64,  64,  64,  64,  64,  64,  64,  64, 
3423
0
       64,  64,  64,  64,  64,  64,  64,  64, 
3424
0
       64,  64,  64,  64,  64,  64,  64,  64, 
3425
0
       64,  64,  64,  64,  64,  64,  64,  64, 
3426
0
       64,  64,  64,  64,  64,   0,  64,  64, 
3427
0
       64,  64,  64,  64,  64,  64,  64,  64, 
3428
0
       64,  64,  64,  64,  64,  64,  64,  64, 
3429
0
       64,  64,  64,  64,  64,  64,  64,  64, 
3430
0
       64,  64,  64,  64,  64,  64,  64,  64, 
3431
0
       64,  64,  64,  64,  64,  64,  64,  64, 
3432
0
       64,  64,  64,  64,  64,  64,  64,  64, 
3433
0
       64,  64,  64,  64,  64,  64,  64,  64, 
3434
0
       64,  64,  64,  64,  64,  64,  64,  64, 
3435
0
       64,  64,  64,  64,  64,  64,  64,  64, 
3436
0
       64,  64,  64,  64,  64,  64,  64,  64, 
3437
0
       64,  64,  64,  64,  64,  64,  64,  64, 
3438
0
       64,  64,  64,  64,  64,  64,  64,  64, 
3439
0
       64,  64,  64,  64,  64,  64,  64,  64, 
3440
0
       64,  64,  64,  64,  64,  64,  64,  64, 
3441
0
       64,  64,  64,  64,  64,  64,  64,  64, 
3442
0
       64,  64,  64,  64,  64,  64,  64,  64, 
3443
0
       64,  64,  64,  64,  64,  64,  64,  64, 
3444
0
       64,  64,  64,  64,  64,  64,  64,  64, 
3445
0
       64,  64,  64,  64,  64,  64,  64,  64, 
3446
0
       64,  64,  64,  64,  64,  64,  64,  64, 
3447
0
    };
3448
0
    YYDEBUG(208, *YYCURSOR);
3449
0
    YYFILL(1);
3450
0
    yych = *YYCURSOR;
3451
0
    if (yybm[0+yych] & 64) {
3452
0
      goto yy210;
3453
0
    }
3454
0
    if (yych <= '\r') goto yy213;
3455
0
    goto yy215;
3456
0
yy210:
3457
0
    YYDEBUG(210, *YYCURSOR);
3458
0
    ++YYCURSOR;
3459
0
    YYFILL(1);
3460
0
    yych = *YYCURSOR;
3461
0
    YYDEBUG(211, *YYCURSOR);
3462
0
    if (yybm[0+yych] & 64) {
3463
0
      goto yy210;
3464
0
    }
3465
0
    YYDEBUG(212, *YYCURSOR);
3466
0
    yyleng = YYCURSOR - SCNG(yy_text);
3467
0
#line 565 "Zend/zend_ini_scanner.l"
3468
0
    { /* Raw value, only used when SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW. */
3469
0
  RETURN_TOKEN(TC_RAW, yytext, yyleng);
3470
0
}
3471
0
#line 3472 "Zend/zend_ini_scanner.c"
3472
0
yy213:
3473
0
    YYDEBUG(213, *YYCURSOR);
3474
0
    ++YYCURSOR;
3475
0
    YYDEBUG(214, *YYCURSOR);
3476
0
    yyleng = YYCURSOR - SCNG(yy_text);
3477
0
#line 685 "Zend/zend_ini_scanner.l"
3478
0
    {
3479
0
  return 0;
3480
0
}
3481
0
#line 3482 "Zend/zend_ini_scanner.c"
3482
0
yy215:
3483
0
    YYDEBUG(215, *YYCURSOR);
3484
0
    ++YYCURSOR;
3485
0
    YYFILL(2);
3486
0
    yych = *YYCURSOR;
3487
0
    YYDEBUG(216, *YYCURSOR);
3488
0
    if (yybm[0+yych] & 128) {
3489
0
      goto yy215;
3490
0
    }
3491
0
    if (yych <= 0x08) goto yy217;
3492
0
    if (yych <= '\n') goto yy218;
3493
0
    if (yych == '\r') goto yy219;
3494
0
yy217:
3495
0
    YYDEBUG(217, *YYCURSOR);
3496
0
    yyleng = YYCURSOR - SCNG(yy_text);
3497
0
#line 397 "Zend/zend_ini_scanner.l"
3498
0
    { /* End of section */
3499
0
  BEGIN(INITIAL);
3500
0
  SCNG(lineno)++;
3501
0
  return ']';
3502
0
}
3503
0
#line 3504 "Zend/zend_ini_scanner.c"
3504
0
yy218:
3505
0
    YYDEBUG(218, *YYCURSOR);
3506
0
    ++YYCURSOR;
3507
0
    goto yy217;
3508
0
yy219:
3509
0
    YYDEBUG(219, *YYCURSOR);
3510
0
    yych = *++YYCURSOR;
3511
0
    if (yych == '\n') goto yy218;
3512
0
    goto yy217;
3513
0
  }
3514
/* *********************************** */
3515
358k
yyc_ST_DOUBLE_QUOTES:
3516
358k
  {
3517
358k
    static const unsigned char yybm[] = {
3518
358k
        0,   0,   0,   0,   0,   0,   0,   0, 
3519
358k
        0, 128,   0,   0,   0,   0,   0,   0, 
3520
358k
        0,   0,   0,   0,   0,   0,   0,   0, 
3521
358k
        0,   0,   0,   0,   0,   0,   0,   0, 
3522
358k
      128,   0,   0,   0,   0,   0,   0,   0, 
3523
358k
        0,   0,   0,   0,   0,   0,   0,   0, 
3524
358k
        0,   0,   0,   0,   0,   0,   0,   0, 
3525
358k
        0,   0,   0,   0,   0,   0,   0,   0, 
3526
358k
        0,   0,   0,   0,   0,   0,   0,   0, 
3527
358k
        0,   0,   0,   0,   0,   0,   0,   0, 
3528
358k
        0,   0,   0,   0,   0,   0,   0,   0, 
3529
358k
        0,   0,   0,   0,   0,   0,   0,   0, 
3530
358k
        0,   0,   0,   0,   0,   0,   0,   0, 
3531
358k
        0,   0,   0,   0,   0,   0,   0,   0, 
3532
358k
        0,   0,   0,   0,   0,   0,   0,   0, 
3533
358k
        0,   0,   0,   0,   0,   0,   0,   0, 
3534
358k
        0,   0,   0,   0,   0,   0,   0,   0, 
3535
358k
        0,   0,   0,   0,   0,   0,   0,   0, 
3536
358k
        0,   0,   0,   0,   0,   0,   0,   0, 
3537
358k
        0,   0,   0,   0,   0,   0,   0,   0, 
3538
358k
        0,   0,   0,   0,   0,   0,   0,   0, 
3539
358k
        0,   0,   0,   0,   0,   0,   0,   0, 
3540
358k
        0,   0,   0,   0,   0,   0,   0,   0, 
3541
358k
        0,   0,   0,   0,   0,   0,   0,   0, 
3542
358k
        0,   0,   0,   0,   0,   0,   0,   0, 
3543
358k
        0,   0,   0,   0,   0,   0,   0,   0, 
3544
358k
        0,   0,   0,   0,   0,   0,   0,   0, 
3545
358k
        0,   0,   0,   0,   0,   0,   0,   0, 
3546
358k
        0,   0,   0,   0,   0,   0,   0,   0, 
3547
358k
        0,   0,   0,   0,   0,   0,   0,   0, 
3548
358k
        0,   0,   0,   0,   0,   0,   0,   0, 
3549
358k
        0,   0,   0,   0,   0,   0,   0,   0, 
3550
358k
    };
3551
358k
    YYDEBUG(220, *YYCURSOR);
3552
358k
    YYFILL(2);
3553
358k
    yych = *YYCURSOR;
3554
358k
    if (yych == '"') goto yy224;
3555
130k
    if (yych == '$') goto yy227;
3556
130k
    YYDEBUG(222, *YYCURSOR);
3557
130k
    ++YYCURSOR;
3558
130k
yy223:
3559
130k
    YYDEBUG(223, *YYCURSOR);
3560
130k
    yyleng = YYCURSOR - SCNG(yy_text);
3561
130k
#line 619 "Zend/zend_ini_scanner.l"
3562
130k
    { /* Escape double quoted string contents */
3563
130k
  if (YYCURSOR > YYLIMIT) {
3564
0
    return 0;
3565
0
  }
3566
3567
130k
  const unsigned char *s = SCNG(yy_text);
3568
3569
3.48M
  while (s < YYLIMIT) {
3570
3.48M
    switch (*s++) {
3571
128k
      case '"':
3572
128k
        break;
3573
54.4k
      case '$':
3574
54.4k
        if (s < YYLIMIT && *s == '{') {
3575
2
          break;
3576
2
        }
3577
54.4k
        continue;
3578
54.4k
      case '\\':
3579
20.1k
        if (s < YYLIMIT) {
3580
20.0k
          unsigned char escaped = *s++;
3581
          /* A special case for Windows paths, e.g. key="C:\path\" */
3582
20.0k
          if (escaped == '"' && (s >= YYLIMIT || *s == '\n' || *s == '\r')) {
3583
0
            break;
3584
0
          }
3585
20.0k
        }
3586
20.1k
        ZEND_FALLTHROUGH;
3587
3.30M
      default:
3588
3.30M
        continue;
3589
3.48M
    }
3590
3591
128k
    s--;
3592
128k
    break;
3593
3.48M
  }
3594
3595
130k
  YYCURSOR = s;
3596
130k
  yyleng = YYCURSOR - SCNG(yy_text);
3597
3598
130k
  zend_ini_escape_string(ini_lval, yytext, yyleng, '"');
3599
130k
  Z_EXTRA_P(ini_lval) = 0;
3600
130k
  return TC_QUOTED_STRING;
3601
130k
}
3602
0
#line 3603 "Zend/zend_ini_scanner.c"
3603
239k
yy224:
3604
239k
    YYDEBUG(224, *YYCURSOR);
3605
239k
    ++YYCURSOR;
3606
239k
    YYFILL(1);
3607
239k
    yych = *YYCURSOR;
3608
239k
    YYDEBUG(225, *YYCURSOR);
3609
239k
    if (yybm[0+yych] & 128) {
3610
11.5k
      goto yy224;
3611
11.5k
    }
3612
227k
    YYDEBUG(226, *YYCURSOR);
3613
227k
    yyleng = YYCURSOR - SCNG(yy_text);
3614
227k
#line 614 "Zend/zend_ini_scanner.l"
3615
227k
    { /* Double quoted '"' string ends */
3616
227k
  yy_pop_state();
3617
227k
  return '"';
3618
239k
}
3619
0
#line 3620 "Zend/zend_ini_scanner.c"
3620
113
yy227:
3621
113
    YYDEBUG(227, *YYCURSOR);
3622
113
    yych = *++YYCURSOR;
3623
113
    if (yych != '{') goto yy223;
3624
2
    YYDEBUG(228, *YYCURSOR);
3625
2
    ++YYCURSOR;
3626
2
    YYDEBUG(229, *YYCURSOR);
3627
2
    yyleng = YYCURSOR - SCNG(yy_text);
3628
2
#line 421 "Zend/zend_ini_scanner.l"
3629
2
    { /* Variable start */
3630
2
  yy_push_state(ST_VARNAME);
3631
2
  return TC_DOLLAR_CURLY;
3632
113
}
3633
113
#line 3634 "Zend/zend_ini_scanner.c"
3634
113
  }
3635
/* *********************************** */
3636
192
yyc_ST_VAR_FALLBACK:
3637
192
  {
3638
192
    static const unsigned char yybm[] = {
3639
192
        8,   8,   8,   8,   8,   8,   8,   8, 
3640
192
        8,  24,   0,   8,   8,   0,   8,   8, 
3641
192
        8,   8,   8,   8,   8,   8,   8,   8, 
3642
192
        8,   8,   8,   8,   8,   8,   8,   8, 
3643
192
       24,   8,   0,   8, 128,   8,   8,   0, 
3644
192
        8,   8,   8,   8,   8,   8,   8,   8, 
3645
192
      104, 104, 104, 104, 104, 104, 104, 104, 
3646
192
      104, 104,   8,   0,   8,   8,   8,   8, 
3647
192
        8,  72,  72,  72,  72,  72,  72,  72, 
3648
192
       72,  72,  72,  72,  72,  72,  72,  72, 
3649
192
       72,  72,  72,  72,  72,  72,  72,  72, 
3650
192
       72,  72,  72,   8, 128,   8,   8,  72, 
3651
192
        8,  72,  72,  72,  72,  72,  72,  72, 
3652
192
       72,  72,  72,  72,  72,  72,  72,  72, 
3653
192
       72,  72,  72,  72,  72,  72,  72,  72, 
3654
192
       72,  72,  72,   8,   8,   0,   8,   8, 
3655
192
        8,   8,   8,   8,   8,   8,   8,   8, 
3656
192
        8,   8,   8,   8,   8,   8,   8,   8, 
3657
192
        8,   8,   8,   8,   8,   8,   8,   8, 
3658
192
        8,   8,   8,   8,   8,   8,   8,   8, 
3659
192
        8,   8,   8,   8,   8,   8,   8,   8, 
3660
192
        8,   8,   8,   8,   8,   8,   8,   8, 
3661
192
        8,   8,   8,   8,   8,   8,   8,   8, 
3662
192
        8,   8,   8,   8,   8,   8,   8,   8, 
3663
192
        8,   8,   8,   8,   8,   8,   8,   8, 
3664
192
        8,   8,   8,   8,   8,   8,   8,   8, 
3665
192
        8,   8,   8,   8,   8,   8,   8,   8, 
3666
192
        8,   8,   8,   8,   8,   8,   8,   8, 
3667
192
        8,   8,   8,   8,   8,   8,   8,   8, 
3668
192
        8,   8,   8,   8,   8,   8,   8,   8, 
3669
192
        8,   8,   8,   8,   8,   8,   8,   8, 
3670
192
        8,   8,   8,   8,   8,   8,   8,   8, 
3671
192
    };
3672
192
    YYDEBUG(230, *YYCURSOR);
3673
192
    YYFILL(2);
3674
192
    yych = *YYCURSOR;
3675
192
    if (yybm[0+yych] & 16) {
3676
0
      goto yy235;
3677
0
    }
3678
192
    if (yych <= '/') {
3679
98
      if (yych <= '"') {
3680
72
        if (yych <= '\f') {
3681
4
          if (yych <= 0x08) goto yy232;
3682
4
          if (yych <= '\n') goto yy237;
3683
68
        } else {
3684
68
          if (yych <= '\r') goto yy237;
3685
66
          if (yych >= '"') goto yy239;
3686
66
        }
3687
72
      } else {
3688
26
        if (yych <= '&') {
3689
6
          if (yych == '$') goto yy241;
3690
20
        } else {
3691
20
          if (yych <= '\'') goto yy237;
3692
16
          if (yych <= ',') goto yy232;
3693
14
          if (yych <= '.') goto yy242;
3694
14
        }
3695
26
      }
3696
98
    } else {
3697
94
      if (yych <= '\\') {
3698
36
        if (yych <= ';') {
3699
22
          if (yych <= '9') goto yy243;
3700
16
          if (yych >= ';') goto yy237;
3701
16
        } else {
3702
14
          if (yych <= '@') goto yy232;
3703
14
          if (yych <= 'Z') goto yy246;
3704
10
          if (yych >= '\\') goto yy249;
3705
10
        }
3706
58
      } else {
3707
58
        if (yych <= '`') {
3708
2
          if (yych == '_') goto yy246;
3709
56
        } else {
3710
56
          if (yych <= 'z') goto yy246;
3711
18
          if (yych == '}') goto yy250;
3712
18
        }
3713
58
      }
3714
94
    }
3715
1.60k
yy232:
3716
1.60k
    YYDEBUG(232, *YYCURSOR);
3717
1.60k
    yyaccept = 0;
3718
1.60k
    YYMARKER = ++YYCURSOR;
3719
1.60k
    YYFILL(1);
3720
1.59k
    yych = *YYCURSOR;
3721
1.60k
yy233:
3722
1.60k
    YYDEBUG(233, *YYCURSOR);
3723
1.60k
    if (yybm[0+yych] & 8) {
3724
1.48k
      goto yy232;
3725
1.48k
    }
3726
120
    if (yych <= '"') goto yy234;
3727
68
    if (yych <= '$') goto yy252;
3728
36
    if (yych <= ';') goto yy234;
3729
24
    if (yych <= '\\') goto yy249;
3730
74
yy234:
3731
74
    YYDEBUG(234, *YYCURSOR);
3732
74
    yyleng = YYCURSOR - SCNG(yy_text);
3733
74
#line 601 "Zend/zend_ini_scanner.l"
3734
74
    { /* Same as below, but excluding '}' */
3735
74
  RETURN_TOKEN(TC_STRING, yytext, yyleng);
3736
0
}
3737
0
#line 3738 "Zend/zend_ini_scanner.c"
3738
0
yy235:
3739
0
    YYDEBUG(235, *YYCURSOR);
3740
0
    yyaccept = 0;
3741
0
    YYMARKER = ++YYCURSOR;
3742
0
    YYFILL(1);
3743
0
    yych = *YYCURSOR;
3744
0
    YYDEBUG(236, *YYCURSOR);
3745
0
    if (yybm[0+yych] & 16) {
3746
0
      goto yy235;
3747
0
    }
3748
0
    if (yych <= '$') {
3749
0
      if (yych <= '\r') {
3750
0
        if (yych <= 0x08) goto yy232;
3751
0
        if (yych <= '\n') goto yy234;
3752
0
        if (yych <= '\f') goto yy232;
3753
0
        goto yy234;
3754
0
      } else {
3755
0
        if (yych == '"') goto yy239;
3756
0
        if (yych <= '#') goto yy232;
3757
0
        goto yy252;
3758
0
      }
3759
0
    } else {
3760
0
      if (yych <= ';') {
3761
0
        if (yych == '\'') goto yy234;
3762
0
        if (yych <= ':') goto yy232;
3763
0
        goto yy234;
3764
0
      } else {
3765
0
        if (yych <= '\\') {
3766
0
          if (yych <= '[') goto yy232;
3767
0
          goto yy249;
3768
0
        } else {
3769
0
          if (yych == '}') goto yy234;
3770
0
          goto yy232;
3771
0
        }
3772
0
      }
3773
0
    }
3774
22
yy237:
3775
22
    YYDEBUG(237, *YYCURSOR);
3776
22
    ++YYCURSOR;
3777
22
yy238:
3778
22
    YYDEBUG(238, *YYCURSOR);
3779
22
    yyleng = YYCURSOR - SCNG(yy_text);
3780
22
#line 685 "Zend/zend_ini_scanner.l"
3781
22
    {
3782
22
  return 0;
3783
22
}
3784
0
#line 3785 "Zend/zend_ini_scanner.c"
3785
64
yy239:
3786
64
    YYDEBUG(239, *YYCURSOR);
3787
64
    ++YYCURSOR;
3788
64
    YYDEBUG(240, *YYCURSOR);
3789
64
    yyleng = YYCURSOR - SCNG(yy_text);
3790
64
#line 609 "Zend/zend_ini_scanner.l"
3791
64
    { /* Double quoted '"' string start */
3792
64
  yy_push_state(ST_DOUBLE_QUOTES);
3793
64
  return '"';
3794
22
}
3795
0
#line 3796 "Zend/zend_ini_scanner.c"
3796
4
yy241:
3797
4
    YYDEBUG(241, *YYCURSOR);
3798
4
    yych = *++YYCURSOR;
3799
4
    if (yych <= '\\') {
3800
2
      if (yych <= 0x00) goto yy238;
3801
2
      if (yych <= '[') goto yy232;
3802
0
      goto yy254;
3803
2
    } else {
3804
2
      if (yych == '{') goto yy256;
3805
0
      goto yy232;
3806
2
    }
3807
14
yy242:
3808
14
    YYDEBUG(242, *YYCURSOR);
3809
14
    yyaccept = 0;
3810
14
    yych = *(YYMARKER = ++YYCURSOR);
3811
14
    if (yych <= '/') goto yy233;
3812
4
    if (yych <= '9') goto yy258;
3813
2
    goto yy233;
3814
12
yy243:
3815
12
    YYDEBUG(243, *YYCURSOR);
3816
12
    yyaccept = 1;
3817
12
    YYMARKER = ++YYCURSOR;
3818
12
    YYFILL(1);
3819
12
    yych = *YYCURSOR;
3820
12
    YYDEBUG(244, *YYCURSOR);
3821
12
    if (yybm[0+yych] & 32) {
3822
6
      goto yy243;
3823
6
    }
3824
6
    if (yych <= '&') {
3825
2
      if (yych <= '\r') {
3826
2
        if (yych == '\n') goto yy245;
3827
2
        if (yych <= '\f') goto yy232;
3828
2
      } else {
3829
0
        if (yych <= '"') {
3830
0
          if (yych <= '!') goto yy232;
3831
0
        } else {
3832
0
          if (yych == '$') goto yy252;
3833
0
          goto yy232;
3834
0
        }
3835
0
      }
3836
4
    } else {
3837
4
      if (yych <= ';') {
3838
2
        if (yych <= '-') {
3839
0
          if (yych >= '(') goto yy232;
3840
2
        } else {
3841
2
          if (yych <= '.') goto yy258;
3842
0
          if (yych <= ':') goto yy232;
3843
0
        }
3844
2
      } else {
3845
2
        if (yych <= '\\') {
3846
0
          if (yych <= '[') goto yy232;
3847
0
          goto yy249;
3848
2
        } else {
3849
2
          if (yych != '}') goto yy232;
3850
2
        }
3851
2
      }
3852
4
    }
3853
0
yy245:
3854
0
    YYDEBUG(245, *YYCURSOR);
3855
0
    yyleng = YYCURSOR - SCNG(yy_text);
3856
0
#line 579 "Zend/zend_ini_scanner.l"
3857
0
    { /* Get number option value as string */
3858
0
  RETURN_TOKEN(TC_NUMBER, yytext, yyleng);
3859
0
}
3860
0
#line 3861 "Zend/zend_ini_scanner.c"
3861
274
yy246:
3862
274
    YYDEBUG(246, *YYCURSOR);
3863
274
    yyaccept = 2;
3864
274
    YYMARKER = ++YYCURSOR;
3865
274
    YYFILL(1);
3866
274
    yych = *YYCURSOR;
3867
274
    YYDEBUG(247, *YYCURSOR);
3868
274
    if (yybm[0+yych] & 64) {
3869
232
      goto yy246;
3870
232
    }
3871
42
    if (yych <= '$') {
3872
14
      if (yych <= '\r') {
3873
0
        if (yych == '\n') goto yy248;
3874
0
        if (yych <= '\f') goto yy232;
3875
14
      } else {
3876
14
        if (yych == '"') goto yy248;
3877
6
        if (yych <= '#') goto yy232;
3878
0
        goto yy252;
3879
6
      }
3880
28
    } else {
3881
28
      if (yych <= ';') {
3882
12
        if (yych == '\'') goto yy248;
3883
10
        if (yych <= ':') goto yy232;
3884
16
      } else {
3885
16
        if (yych <= '\\') {
3886
12
          if (yych <= '[') goto yy232;
3887
0
          goto yy249;
3888
12
        } else {
3889
4
          if (yych != '}') goto yy232;
3890
4
        }
3891
16
      }
3892
28
    }
3893
12
yy248:
3894
12
    YYDEBUG(248, *YYCURSOR);
3895
12
    yyleng = YYCURSOR - SCNG(yy_text);
3896
12
#line 575 "Zend/zend_ini_scanner.l"
3897
12
    { /* Get constant option value */
3898
12
  RETURN_TOKEN(TC_CONSTANT, yytext, yyleng);
3899
0
}
3900
0
#line 3901 "Zend/zend_ini_scanner.c"
3901
16
yy249:
3902
16
    YYDEBUG(249, *YYCURSOR);
3903
16
    ++YYCURSOR;
3904
16
    YYFILL(1);
3905
16
    yych = *YYCURSOR;
3906
16
    goto yy232;
3907
10
yy250:
3908
10
    YYDEBUG(250, *YYCURSOR);
3909
10
    ++YYCURSOR;
3910
10
    YYDEBUG(251, *YYCURSOR);
3911
10
    yyleng = YYCURSOR - SCNG(yy_text);
3912
10
#line 485 "Zend/zend_ini_scanner.l"
3913
10
    { /* Variable/fallback end */
3914
10
  yy_pop_state();
3915
10
  return '}';
3916
16
}
3917
0
#line 3918 "Zend/zend_ini_scanner.c"
3918
32
yy252:
3919
32
    YYDEBUG(252, *YYCURSOR);
3920
32
    ++YYCURSOR;
3921
32
    YYFILL(1);
3922
32
    yych = *YYCURSOR;
3923
32
    if (yych <= '\\') {
3924
22
      if (yych <= 0x00) goto yy253;
3925
22
      if (yych <= '[') goto yy232;
3926
0
      goto yy254;
3927
22
    } else {
3928
10
      if (yych != '{') goto yy232;
3929
10
    }
3930
2
yy253:
3931
2
    YYDEBUG(253, *YYCURSOR);
3932
2
    YYCURSOR = YYMARKER;
3933
2
    if (yyaccept <= 1) {
3934
2
      if (yyaccept == 0) {
3935
2
        goto yy234;
3936
2
      } else {
3937
0
        goto yy245;
3938
0
      }
3939
2
    } else {
3940
0
      goto yy248;
3941
0
    }
3942
0
yy254:
3943
0
    YYDEBUG(254, *YYCURSOR);
3944
0
    ++YYCURSOR;
3945
0
    YYFILL(1);
3946
0
    yych = *YYCURSOR;
3947
0
    YYDEBUG(255, *YYCURSOR);
3948
0
    if (yybm[0+yych] & 128) {
3949
0
      goto yy254;
3950
0
    }
3951
0
    goto yy232;
3952
2
yy256:
3953
2
    YYDEBUG(256, *YYCURSOR);
3954
2
    ++YYCURSOR;
3955
2
    YYDEBUG(257, *YYCURSOR);
3956
2
    yyleng = YYCURSOR - SCNG(yy_text);
3957
2
#line 421 "Zend/zend_ini_scanner.l"
3958
2
    { /* Variable start */
3959
2
  yy_push_state(ST_VARNAME);
3960
2
  return TC_DOLLAR_CURLY;
3961
0
}
3962
0
#line 3963 "Zend/zend_ini_scanner.c"
3963
12
yy258:
3964
12
    YYDEBUG(258, *YYCURSOR);
3965
12
    yyaccept = 1;
3966
12
    YYMARKER = ++YYCURSOR;
3967
12
    YYFILL(1);
3968
12
    yych = *YYCURSOR;
3969
12
    YYDEBUG(259, *YYCURSOR);
3970
12
    if (yych <= '&') {
3971
0
      if (yych <= '\r') {
3972
0
        if (yych == '\n') goto yy245;
3973
0
        if (yych <= '\f') goto yy232;
3974
0
        goto yy245;
3975
0
      } else {
3976
0
        if (yych <= '"') {
3977
0
          if (yych <= '!') goto yy232;
3978
0
          goto yy245;
3979
0
        } else {
3980
0
          if (yych == '$') goto yy252;
3981
0
          goto yy232;
3982
0
        }
3983
0
      }
3984
12
    } else {
3985
12
      if (yych <= ';') {
3986
10
        if (yych <= '/') {
3987
2
          if (yych <= '\'') goto yy245;
3988
2
          goto yy232;
3989
8
        } else {
3990
8
          if (yych <= '9') goto yy258;
3991
0
          if (yych <= ':') goto yy232;
3992
0
          goto yy245;
3993
0
        }
3994
10
      } else {
3995
2
        if (yych <= '\\') {
3996
0
          if (yych <= '[') goto yy232;
3997
0
          goto yy249;
3998
2
        } else {
3999
2
          if (yych == '}') goto yy245;
4000
2
          goto yy232;
4001
2
        }
4002
2
      }
4003
12
    }
4004
12
  }
4005
/* *********************************** */
4006
122
yyc_ST_VARNAME:
4007
122
  YYDEBUG(260, *YYCURSOR);
4008
122
  YYFILL(2);
4009
122
  yych = *YYCURSOR;
4010
122
  if (yych <= ')') {
4011
6
    if (yych <= ' ') {
4012
0
      if (yych <= '\n') {
4013
0
        if (yych <= 0x00) goto yy262;
4014
0
        if (yych <= 0x08) goto yy264;
4015
0
      } else {
4016
0
        if (yych != '\r') goto yy264;
4017
0
      }
4018
6
    } else {
4019
6
      if (yych <= '$') {
4020
2
        if (yych == '#') goto yy264;
4021
4
      } else {
4022
4
        if (yych == '&') goto yy262;
4023
4
        if (yych <= '\'') goto yy264;
4024
4
      }
4025
6
    }
4026
116
  } else {
4027
116
    if (yych <= '[') {
4028
54
      if (yych <= ';') {
4029
54
        if (yych <= '9') goto yy264;
4030
48
        if (yych <= ':') goto yy266;
4031
48
      } else {
4032
0
        if (yych == '=') goto yy262;
4033
0
        if (yych <= 'Z') goto yy264;
4034
0
      }
4035
62
    } else {
4036
62
      if (yych <= 'z') {
4037
50
        if (yych <= '\\') goto yy264;
4038
50
        if (yych >= '_') goto yy264;
4039
50
      } else {
4040
12
        if (yych == '}') goto yy267;
4041
12
        if (yych >= 0x7F) goto yy264;
4042
12
      }
4043
62
    }
4044
116
  }
4045
12
yy262:
4046
12
  YYDEBUG(262, *YYCURSOR);
4047
12
  ++YYCURSOR;
4048
12
  YYDEBUG(263, *YYCURSOR);
4049
12
  yyleng = YYCURSOR - SCNG(yy_text);
4050
12
#line 685 "Zend/zend_ini_scanner.l"
4051
12
  {
4052
12
  return 0;
4053
122
}
4054
0
#line 4055 "Zend/zend_ini_scanner.c"
4055
62
yy264:
4056
62
  YYDEBUG(264, *YYCURSOR);
4057
62
  ++YYCURSOR;
4058
62
yy265:
4059
62
  YYDEBUG(265, *YYCURSOR);
4060
62
  yyleng = YYCURSOR - SCNG(yy_text);
4061
62
#line 433 "Zend/zend_ini_scanner.l"
4062
62
  { /* Variable name */
4063
62
  if (YYCURSOR[0] == ':' && YYCURSOR[1] == '-') {
4064
0
    YYCURSOR++;
4065
0
    goto fallback_lexing;
4066
0
  }
4067
4068
286
  while (YYCURSOR < YYLIMIT) {
4069
280
    switch (*YYCURSOR++) {
4070
0
      case '=':
4071
0
      case '\n':
4072
0
      case '\r':
4073
0
      case '\t':
4074
0
      case ';':
4075
0
      case '&':
4076
0
      case '|':
4077
0
      case '^':
4078
2
      case '$':
4079
4
      case '~':
4080
6
      case '(':
4081
8
      case ')':
4082
8
      case '{':
4083
8
      case '}':
4084
8
      case '!':
4085
8
      case '"':
4086
8
      case '[':
4087
8
      case ']':
4088
8
        break;
4089
      /* ':' is only allowed if it isn't followed by '-'. */
4090
52
      case ':':
4091
52
        if (YYCURSOR[0] == '-') {
4092
48
          break;
4093
48
        } else {
4094
4
          continue;
4095
4
        }
4096
220
      default:
4097
220
        continue;
4098
280
    }
4099
4100
56
    YYCURSOR--;
4101
56
    yyleng = YYCURSOR - SCNG(yy_text);
4102
56
    break;
4103
280
  }
4104
4105
  /* Eat leading whitespace */
4106
62
  EAT_LEADING_WHITESPACE();
4107
4108
  /* Eat trailing whitespace */
4109
62
  EAT_TRAILING_WHITESPACE();
4110
4111
62
  RETURN_TOKEN(TC_VARNAME, yytext, yyleng);
4112
0
}
4113
0
#line 4114 "Zend/zend_ini_scanner.c"
4114
48
yy266:
4115
48
  YYDEBUG(266, *YYCURSOR);
4116
48
  yych = *++YYCURSOR;
4117
48
  if (yych == '-') goto yy269;
4118
0
  goto yy265;
4119
0
yy267:
4120
0
  YYDEBUG(267, *YYCURSOR);
4121
0
  ++YYCURSOR;
4122
0
  YYDEBUG(268, *YYCURSOR);
4123
0
  yyleng = YYCURSOR - SCNG(yy_text);
4124
0
#line 485 "Zend/zend_ini_scanner.l"
4125
0
  { /* Variable/fallback end */
4126
0
  yy_pop_state();
4127
0
  return '}';
4128
48
}
4129
0
#line 4130 "Zend/zend_ini_scanner.c"
4130
48
yy269:
4131
48
  YYDEBUG(269, *YYCURSOR);
4132
48
  ++YYCURSOR;
4133
48
  YYDEBUG(270, *YYCURSOR);
4134
48
  yyleng = YYCURSOR - SCNG(yy_text);
4135
48
#line 426 "Zend/zend_ini_scanner.l"
4136
48
  { /* End Variable name, fallback start */
4137
48
fallback_lexing:
4138
48
  yy_pop_state();
4139
48
  yy_push_state(ST_VAR_FALLBACK);
4140
48
  return TC_FALLBACK;
4141
48
}
4142
0
#line 4143 "Zend/zend_ini_scanner.c"
4143
/* *********************************** */
4144
184
yyc_ST_RAW:
4145
184
  {
4146
184
    static const unsigned char yybm[] = {
4147
184
       64,  64,  64,  64,  64,  64,  64,  64, 
4148
184
       64, 192,   0,  64,  64,   0,  64,  64, 
4149
184
       64,  64,  64,  64,  64,  64,  64,  64, 
4150
184
       64,  64,  64,  64,  64,  64,  64,  64, 
4151
184
      192,  64,  64,  64,  64,  64,  64,  64, 
4152
184
       64,  64,  64,  64,  64,  64,  64,  64, 
4153
184
       64,  64,  64,  64,  64,  64,  64,  64, 
4154
184
       64,  64,  64,  64,  64,  64,  64,  64, 
4155
184
       64,  64,  64,  64,  64,  64,  64,  64, 
4156
184
       64,  64,  64,  64,  64,  64,  64,  64, 
4157
184
       64,  64,  64,  64,  64,  64,  64,  64, 
4158
184
       64,  64,  64,  64,  64,  64,  64,  64, 
4159
184
       64,  64,  64,  64,  64,  64,  64,  64, 
4160
184
       64,  64,  64,  64,  64,  64,  64,  64, 
4161
184
       64,  64,  64,  64,  64,  64,  64,  64, 
4162
184
       64,  64,  64,  64,  64,  64,  64,  64, 
4163
184
       64,  64,  64,  64,  64,  64,  64,  64, 
4164
184
       64,  64,  64,  64,  64,  64,  64,  64, 
4165
184
       64,  64,  64,  64,  64,  64,  64,  64, 
4166
184
       64,  64,  64,  64,  64,  64,  64,  64, 
4167
184
       64,  64,  64,  64,  64,  64,  64,  64, 
4168
184
       64,  64,  64,  64,  64,  64,  64,  64, 
4169
184
       64,  64,  64,  64,  64,  64,  64,  64, 
4170
184
       64,  64,  64,  64,  64,  64,  64,  64, 
4171
184
       64,  64,  64,  64,  64,  64,  64,  64, 
4172
184
       64,  64,  64,  64,  64,  64,  64,  64, 
4173
184
       64,  64,  64,  64,  64,  64,  64,  64, 
4174
184
       64,  64,  64,  64,  64,  64,  64,  64, 
4175
184
       64,  64,  64,  64,  64,  64,  64,  64, 
4176
184
       64,  64,  64,  64,  64,  64,  64,  64, 
4177
184
       64,  64,  64,  64,  64,  64,  64,  64, 
4178
184
       64,  64,  64,  64,  64,  64,  64,  64, 
4179
184
    };
4180
184
    YYDEBUG(271, *YYCURSOR);
4181
184
    YYFILL(3);
4182
184
    yych = *YYCURSOR;
4183
184
    if (yych <= '\f') {
4184
78
      if (yych <= 0x08) {
4185
2
        if (yych >= 0x01) goto yy275;
4186
76
      } else {
4187
76
        if (yych <= '\t') goto yy277;
4188
76
        if (yych <= '\n') goto yy278;
4189
0
        goto yy275;
4190
76
      }
4191
106
    } else {
4192
106
      if (yych <= ' ') {
4193
8
        if (yych <= '\r') goto yy280;
4194
0
        if (yych <= 0x1F) goto yy275;
4195
0
        goto yy277;
4196
98
      } else {
4197
98
        if (yych == ';') goto yy281;
4198
98
        goto yy275;
4199
98
      }
4200
106
    }
4201
0
    YYDEBUG(273, *YYCURSOR);
4202
0
    ++YYCURSOR;
4203
0
    YYDEBUG(274, *YYCURSOR);
4204
0
    yyleng = YYCURSOR - SCNG(yy_text);
4205
0
#line 680 "Zend/zend_ini_scanner.l"
4206
0
    { /* End of option value (if EOF is reached before EOL */
4207
0
  BEGIN(INITIAL);
4208
0
  return END_OF_LINE;
4209
184
}
4210
0
#line 4211 "Zend/zend_ini_scanner.c"
4211
100
yy275:
4212
100
    YYDEBUG(275, *YYCURSOR);
4213
100
    ++YYCURSOR;
4214
100
yy276:
4215
100
    YYDEBUG(276, *YYCURSOR);
4216
100
    yyleng = YYCURSOR - SCNG(yy_text);
4217
100
#line 521 "Zend/zend_ini_scanner.l"
4218
100
    { /* Raw value, only used when SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW. */
4219
100
  const unsigned char *sc = NULL;
4220
100
  EAT_LEADING_WHITESPACE();
4221
1.02k
  while (YYCURSOR < YYLIMIT) {
4222
1.00k
    switch (*YYCURSOR) {
4223
76
      case '\n':
4224
84
      case '\r':
4225
84
        goto end_raw_value_chars;
4226
0
        break;
4227
54
      case ';':
4228
54
        if (sc == NULL) {
4229
50
          sc = YYCURSOR;
4230
50
        }
4231
54
        YYCURSOR++;
4232
54
        break;
4233
82
      case '"':
4234
82
        if (yytext[0] == '"') {
4235
60
          sc = NULL;
4236
60
        }
4237
82
        YYCURSOR++;
4238
82
        break;
4239
784
      default:
4240
784
        YYCURSOR++;
4241
784
        break;
4242
1.00k
    }
4243
1.00k
  }
4244
100
end_raw_value_chars:
4245
100
  if (sc) {
4246
40
    yyleng = sc - SCNG(yy_text);
4247
60
  } else {
4248
60
    yyleng = YYCURSOR - SCNG(yy_text);
4249
60
  }
4250
4251
100
  EAT_TRAILING_WHITESPACE();
4252
4253
  /* Eat leading and trailing double quotes */
4254
100
  if (yyleng > 1 && yytext[0] == '"' && yytext[yyleng - 1] == '"') {
4255
54
    SCNG(yy_text)++;
4256
54
    yyleng = yyleng - 2;
4257
54
  }
4258
4259
100
  RETURN_TOKEN(TC_RAW, yytext, yyleng);
4260
0
}
4261
0
#line 4262 "Zend/zend_ini_scanner.c"
4262
0
yy277:
4263
0
    YYDEBUG(277, *YYCURSOR);
4264
0
    yych = *++YYCURSOR;
4265
0
    if (yych <= '\r') {
4266
0
      if (yych <= 0x08) goto yy276;
4267
0
      if (yych <= '\n') goto yy284;
4268
0
      if (yych <= '\f') goto yy276;
4269
0
      goto yy284;
4270
0
    } else {
4271
0
      if (yych <= ' ') {
4272
0
        if (yych <= 0x1F) goto yy276;
4273
0
        goto yy284;
4274
0
      } else {
4275
0
        if (yych == ';') goto yy284;
4276
0
        goto yy276;
4277
0
      }
4278
0
    }
4279
76
yy278:
4280
76
    YYDEBUG(278, *YYCURSOR);
4281
76
    ++YYCURSOR;
4282
84
yy279:
4283
84
    YYDEBUG(279, *YYCURSOR);
4284
84
    yyleng = YYCURSOR - SCNG(yy_text);
4285
84
#line 569 "Zend/zend_ini_scanner.l"
4286
84
    { /* End of option value */
4287
84
  BEGIN(INITIAL);
4288
84
  SCNG(lineno)++;
4289
84
  return END_OF_LINE;
4290
76
}
4291
0
#line 4292 "Zend/zend_ini_scanner.c"
4292
8
yy280:
4293
8
    YYDEBUG(280, *YYCURSOR);
4294
8
    yych = *++YYCURSOR;
4295
8
    if (yych == '\n') goto yy278;
4296
8
    goto yy279;
4297
8
yy281:
4298
0
    YYDEBUG(281, *YYCURSOR);
4299
0
    ++YYCURSOR;
4300
0
    YYFILL(2);
4301
0
    yych = *YYCURSOR;
4302
0
    YYDEBUG(282, *YYCURSOR);
4303
0
    if (yybm[0+yych] & 64) {
4304
0
      goto yy281;
4305
0
    }
4306
0
    if (yych <= '\n') goto yy286;
4307
0
    goto yy288;
4308
0
yy283:
4309
0
    YYDEBUG(283, *YYCURSOR);
4310
0
    ++YYCURSOR;
4311
0
    YYFILL(2);
4312
0
    yych = *YYCURSOR;
4313
0
yy284:
4314
0
    YYDEBUG(284, *YYCURSOR);
4315
0
    if (yybm[0+yych] & 128) {
4316
0
      goto yy283;
4317
0
    }
4318
0
    if (yych <= '\f') {
4319
0
      if (yych <= 0x08) goto yy285;
4320
0
      if (yych <= '\n') goto yy278;
4321
0
    } else {
4322
0
      if (yych <= '\r') goto yy280;
4323
0
      if (yych == ';') goto yy281;
4324
0
    }
4325
0
yy285:
4326
0
    YYDEBUG(285, *YYCURSOR);
4327
0
    yyleng = YYCURSOR - SCNG(yy_text);
4328
0
#line 664 "Zend/zend_ini_scanner.l"
4329
0
    {
4330
  /* eat whitespace */
4331
0
  goto restart;
4332
0
}
4333
0
#line 4334 "Zend/zend_ini_scanner.c"
4334
0
yy286:
4335
0
    YYDEBUG(286, *YYCURSOR);
4336
0
    ++YYCURSOR;
4337
0
yy287:
4338
0
    YYDEBUG(287, *YYCURSOR);
4339
0
    yyleng = YYCURSOR - SCNG(yy_text);
4340
0
#line 674 "Zend/zend_ini_scanner.l"
4341
0
    { /* Comment */
4342
0
  BEGIN(INITIAL);
4343
0
  SCNG(lineno)++;
4344
0
  return END_OF_LINE;
4345
0
}
4346
0
#line 4347 "Zend/zend_ini_scanner.c"
4347
0
yy288:
4348
0
    YYDEBUG(288, *YYCURSOR);
4349
0
    yych = *++YYCURSOR;
4350
0
    if (yych == '\n') goto yy286;
4351
0
    goto yy287;
4352
0
  }
4353
0
}
4354
0
#line 689 "Zend/zend_ini_scanner.l"
4355
4356
0
}