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