diff options
author | Sammy Kaye Powers <sammyk@sammykmedia.com> | 2017-01-03 08:01:05 -0600 |
---|---|---|
committer | Sammy Kaye Powers <sammyk@sammykmedia.com> | 2017-01-03 08:01:05 -0600 |
commit | 1e3624290ab30291765feca1502e8cf3aa773314 (patch) | |
tree | 3969ef3a1cd4d8270d050b04b81143166d699224 | |
parent | 9e29f841ce3711488781be958ffdfc42d738de4a (diff) | |
parent | f0031ed15156e7a07983aba7a9a3155c3eb31252 (diff) | |
download | php-git-1e3624290ab30291765feca1502e8cf3aa773314.tar.gz |
Resolve conflict
42 files changed, 19671 insertions, 5614 deletions
diff --git a/.appveyor.yml b/.appveyor.yml index ba0d1c132d..2c5b13239f 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -3,6 +3,17 @@ version: "{branch}.build.{build}" image: Visual Studio 2015 +branches: + except: + - PHP-5.6 + - PHP-7.0 + +skip_commits: + files: + - NEWS + - UPGRADING* + - README.* + clone_depth: 64 cache: @@ -112,6 +112,7 @@ PHP 7.2 UPGRADE NOTES ]; . count() now raises a warning when an invalid parameter is passed. Only arrays and objects implementing the Countable interface should be passed. + . pack() and unpack() now support float and double in both little and big endian. - XML: . utf8_encode() and utf8_decode() have been moved to the Standard extension diff --git a/Zend/zend_hash.c b/Zend/zend_hash.c index f6602d2d1a..64668c73a8 100644 --- a/Zend/zend_hash.c +++ b/Zend/zend_hash.c @@ -173,7 +173,6 @@ ZEND_API void ZEND_FASTCALL _zend_hash_init(HashTable *ht, uint32_t nSize, dtor_ GC_REFCOUNT(ht) = 1; GC_TYPE_INFO(ht) = IS_ARRAY | (persistent ? 0 : (GC_COLLECTABLE << GC_FLAGS_SHIFT)); ht->u.flags = (persistent ? HASH_FLAG_PERSISTENT : 0) | HASH_FLAG_APPLY_PROTECTION | HASH_FLAG_STATIC_KEYS; - ht->nTableSize = zend_hash_check_size(nSize); ht->nTableMask = HT_MIN_MASK; HT_SET_DATA_ADDR(ht, &uninitialized_bucket); ht->nNumUsed = 0; @@ -181,6 +180,7 @@ ZEND_API void ZEND_FASTCALL _zend_hash_init(HashTable *ht, uint32_t nSize, dtor_ ht->nInternalPointer = HT_INVALID_IDX; ht->nNextFreeElement = 0; ht->pDestructor = pDestructor; + ht->nTableSize = zend_hash_check_size(nSize); } static void ZEND_FASTCALL zend_hash_packed_grow(HashTable *ht) diff --git a/Zend/zend_language_scanner.c b/Zend/zend_language_scanner.c index 52583560da..afc3da52dd 100644 --- a/Zend/zend_language_scanner.c +++ b/Zend/zend_language_scanner.c @@ -1,4 +1,4 @@ -/* Generated by re2c 0.13.5 */ +/* Generated by re2c 0.16 */ #line 1 "Zend/zend_language_scanner.l" /* +----------------------------------------------------------------------+ @@ -1151,16 +1151,14 @@ restart: } /* *********************************** */ yyc_INITIAL: - - YYDEBUG(0, *YYCURSOR); + YYDEBUG(1, *YYCURSOR); YYFILL(7); yych = *YYCURSOR; - if (yych != '<') goto yy4; - YYDEBUG(2, *YYCURSOR); - ++YYCURSOR; - if ((yych = *YYCURSOR) == '?') goto yy5; -yy3: + if (yych == '<') goto yy5; YYDEBUG(3, *YYCURSOR); + ++YYCURSOR; +yy4: + YYDEBUG(4, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1804 "Zend/zend_language_scanner.l" { @@ -1207,23 +1205,21 @@ inline_char_handler: HANDLE_NEWLINES(yytext, yyleng); RETURN_TOKEN(T_INLINE_HTML); } -#line 1211 "Zend/zend_language_scanner.c" -yy4: - YYDEBUG(4, *YYCURSOR); - yych = *++YYCURSOR; - goto yy3; +#line 1209 "Zend/zend_language_scanner.c" yy5: YYDEBUG(5, *YYCURSOR); - yyaccept = 0; + yych = *++YYCURSOR; + if (yych != '?') goto yy4; + YYDEBUG(6, *YYCURSOR); yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'O') { - if (yych == '=') goto yy7; + if (yych == '=') goto yy8; } else { - if (yych <= 'P') goto yy9; - if (yych == 'p') goto yy9; + if (yych <= 'P') goto yy10; + if (yych == 'p') goto yy10; } -yy6: - YYDEBUG(6, *YYCURSOR); +yy7: + YYDEBUG(7, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1795 "Zend/zend_language_scanner.l" { @@ -1234,47 +1230,47 @@ yy6: goto inline_char_handler; } } -#line 1238 "Zend/zend_language_scanner.c" -yy7: - YYDEBUG(7, *YYCURSOR); - ++YYCURSOR; +#line 1234 "Zend/zend_language_scanner.c" +yy8: YYDEBUG(8, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(9, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1782 "Zend/zend_language_scanner.l" { BEGIN(ST_IN_SCRIPTING); RETURN_TOKEN(T_OPEN_TAG_WITH_ECHO); } -#line 1249 "Zend/zend_language_scanner.c" -yy9: - YYDEBUG(9, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'H') goto yy11; - if (yych == 'h') goto yy11; +#line 1245 "Zend/zend_language_scanner.c" yy10: YYDEBUG(10, *YYCURSOR); - YYCURSOR = YYMARKER; - goto yy6; + yych = *++YYCURSOR; + if (yych == 'H') goto yy12; + if (yych == 'h') goto yy12; yy11: YYDEBUG(11, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'P') goto yy12; - if (yych != 'p') goto yy10; + YYCURSOR = YYMARKER; + goto yy7; yy12: YYDEBUG(12, *YYCURSOR); yych = *++YYCURSOR; + if (yych == 'P') goto yy13; + if (yych != 'p') goto yy11; +yy13: + YYDEBUG(13, *YYCURSOR); + yych = *++YYCURSOR; if (yych <= '\f') { - if (yych <= 0x08) goto yy10; - if (yych >= '\v') goto yy10; + if (yych <= 0x08) goto yy11; + if (yych >= '\v') goto yy11; } else { - if (yych <= '\r') goto yy15; - if (yych != ' ') goto yy10; + if (yych <= '\r') goto yy16; + if (yych != ' ') goto yy11; } -yy13: - YYDEBUG(13, *YYCURSOR); - ++YYCURSOR; yy14: YYDEBUG(14, *YYCURSOR); + ++YYCURSOR; +yy15: + YYDEBUG(15, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1788 "Zend/zend_language_scanner.l" { @@ -1282,12 +1278,12 @@ yy14: BEGIN(ST_IN_SCRIPTING); RETURN_TOKEN(T_OPEN_TAG); } -#line 1286 "Zend/zend_language_scanner.c" -yy15: - YYDEBUG(15, *YYCURSOR); +#line 1282 "Zend/zend_language_scanner.c" +yy16: + YYDEBUG(16, *YYCURSOR); ++YYCURSOR; - if ((yych = *YYCURSOR) == '\n') goto yy13; - goto yy14; + if ((yych = *YYCURSOR) == '\n') goto yy14; + goto yy15; /* *********************************** */ yyc_ST_BACKQUOTE: { @@ -1325,32 +1321,19 @@ yyc_ST_BACKQUOTE: 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, }; - YYDEBUG(16, *YYCURSOR); + YYDEBUG(17, *YYCURSOR); YYFILL(2); yych = *YYCURSOR; if (yych <= '_') { - if (yych != '$') goto yy23; + if (yych == '$') goto yy21; } else { - if (yych <= '`') goto yy21; - if (yych == '{') goto yy20; - goto yy23; + if (yych <= '`') goto yy22; + if (yych == '{') goto yy24; } - YYDEBUG(18, *YYCURSOR); - ++YYCURSOR; - if ((yych = *YYCURSOR) <= '_') { - if (yych <= '@') goto yy19; - if (yych <= 'Z') goto yy26; - if (yych >= '_') goto yy26; - } else { - if (yych <= 'z') { - if (yych >= 'a') goto yy26; - } else { - if (yych <= '{') goto yy29; - if (yych >= 0x80) goto yy26; - } - } -yy19: YYDEBUG(19, *YYCURSOR); + ++YYCURSOR; +yy20: + YYDEBUG(20, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 2214 "Zend/zend_language_scanner.l" { @@ -1393,84 +1376,98 @@ yy19: zend_scan_escape_string(zendlval, yytext, yyleng, '`'); RETURN_TOKEN(T_ENCAPSED_AND_WHITESPACE); } -#line 1397 "Zend/zend_language_scanner.c" -yy20: - YYDEBUG(20, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '$') goto yy24; - goto yy19; +#line 1380 "Zend/zend_language_scanner.c" yy21: YYDEBUG(21, *YYCURSOR); - ++YYCURSOR; + yych = *++YYCURSOR; + if (yych <= '_') { + if (yych <= '@') goto yy20; + if (yych <= 'Z') goto yy25; + if (yych <= '^') goto yy20; + goto yy25; + } else { + if (yych <= 'z') { + if (yych <= '`') goto yy20; + goto yy25; + } else { + if (yych <= '{') goto yy28; + if (yych <= 0x7F) goto yy20; + goto yy25; + } + } +yy22: YYDEBUG(22, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(23, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 2158 "Zend/zend_language_scanner.l" { BEGIN(ST_IN_SCRIPTING); RETURN_TOKEN('`'); } -#line 1413 "Zend/zend_language_scanner.c" -yy23: - YYDEBUG(23, *YYCURSOR); - yych = *++YYCURSOR; - goto yy19; +#line 1409 "Zend/zend_language_scanner.c" yy24: YYDEBUG(24, *YYCURSOR); - ++YYCURSOR; + yych = *++YYCURSOR; + if (yych == '$') goto yy30; + goto yy20; +yy25: YYDEBUG(25, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 2145 "Zend/zend_language_scanner.l" - { - Z_LVAL_P(zendlval) = (zend_long) '{'; - yy_push_state(ST_IN_SCRIPTING); - yyless(1); - RETURN_TOKEN(T_CURLY_OPEN); -} -#line 1430 "Zend/zend_language_scanner.c" -yy26: - YYDEBUG(26, *YYCURSOR); - yyaccept = 0; YYMARKER = ++YYCURSOR; YYFILL(3); yych = *YYCURSOR; - YYDEBUG(27, *YYCURSOR); + YYDEBUG(26, *YYCURSOR); if (yybm[0+yych] & 128) { - goto yy26; + goto yy25; } - if (yych == '-') goto yy31; - if (yych == '[') goto yy33; -yy28: - YYDEBUG(28, *YYCURSOR); + if (yych == '-') goto yy32; + if (yych <= '@') goto yy27; + if (yych <= '[') goto yy34; +yy27: + YYDEBUG(27, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1869 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); RETURN_TOKEN(T_VARIABLE); } -#line 1451 "Zend/zend_language_scanner.c" -yy29: - YYDEBUG(29, *YYCURSOR); +#line 1435 "Zend/zend_language_scanner.c" +yy28: + YYDEBUG(28, *YYCURSOR); ++YYCURSOR; - YYDEBUG(30, *YYCURSOR); + YYDEBUG(29, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1587 "Zend/zend_language_scanner.l" { yy_push_state(ST_LOOKING_FOR_VARNAME); RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES); } -#line 1462 "Zend/zend_language_scanner.c" -yy31: +#line 1446 "Zend/zend_language_scanner.c" +yy30: + YYDEBUG(30, *YYCURSOR); + ++YYCURSOR; YYDEBUG(31, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '>') goto yy35; + yyleng = YYCURSOR - SCNG(yy_text); +#line 2145 "Zend/zend_language_scanner.l" + { + Z_LVAL_P(zendlval) = (zend_long) '{'; + yy_push_state(ST_IN_SCRIPTING); + yyless(1); + RETURN_TOKEN(T_CURLY_OPEN); +} +#line 1459 "Zend/zend_language_scanner.c" yy32: YYDEBUG(32, *YYCURSOR); - YYCURSOR = YYMARKER; - goto yy28; + yych = *++YYCURSOR; + if (yych == '>') goto yy36; yy33: YYDEBUG(33, *YYCURSOR); - ++YYCURSOR; + YYCURSOR = YYMARKER; + goto yy27; +yy34: YYDEBUG(34, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(35, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1862 "Zend/zend_language_scanner.l" { @@ -1479,23 +1476,23 @@ yy33: zend_copy_value(zendlval, (yytext+1), (yyleng-1)); RETURN_TOKEN(T_VARIABLE); } -#line 1483 "Zend/zend_language_scanner.c" -yy35: - YYDEBUG(35, *YYCURSOR); +#line 1480 "Zend/zend_language_scanner.c" +yy36: + YYDEBUG(36, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '_') { - if (yych <= '@') goto yy32; - if (yych <= 'Z') goto yy36; - if (yych <= '^') goto yy32; + if (yych <= '@') goto yy33; + if (yych <= 'Z') goto yy37; + if (yych <= '^') goto yy33; } else { - if (yych <= '`') goto yy32; - if (yych <= 'z') goto yy36; - if (yych <= 0x7F) goto yy32; + if (yych <= '`') goto yy33; + if (yych <= 'z') goto yy37; + if (yych <= 0x7F) goto yy33; } -yy36: - YYDEBUG(36, *YYCURSOR); - ++YYCURSOR; +yy37: YYDEBUG(37, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(38, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1853 "Zend/zend_language_scanner.l" { @@ -1504,7 +1501,7 @@ yy36: zend_copy_value(zendlval, (yytext+1), (yyleng-1)); RETURN_TOKEN(T_VARIABLE); } -#line 1508 "Zend/zend_language_scanner.c" +#line 1505 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_DOUBLE_QUOTES: @@ -1543,34 +1540,19 @@ yyc_ST_DOUBLE_QUOTES: 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, }; - YYDEBUG(38, *YYCURSOR); + YYDEBUG(39, *YYCURSOR); YYFILL(2); yych = *YYCURSOR; if (yych <= '#') { if (yych == '"') goto yy43; - goto yy45; - } else { - if (yych <= '$') goto yy40; - if (yych == '{') goto yy42; - goto yy45; - } -yy40: - YYDEBUG(40, *YYCURSOR); - ++YYCURSOR; - if ((yych = *YYCURSOR) <= '_') { - if (yych <= '@') goto yy41; - if (yych <= 'Z') goto yy48; - if (yych >= '_') goto yy48; } else { - if (yych <= 'z') { - if (yych >= 'a') goto yy48; - } else { - if (yych <= '{') goto yy51; - if (yych >= 0x80) goto yy48; - } + if (yych <= '$') goto yy45; + if (yych == '{') goto yy46; } -yy41: YYDEBUG(41, *YYCURSOR); + ++YYCURSOR; +yy42: + YYDEBUG(42, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 2164 "Zend/zend_language_scanner.l" { @@ -1621,12 +1603,7 @@ double_quotes_scan_done: zend_scan_escape_string(zendlval, yytext, yyleng, '"'); RETURN_TOKEN(T_ENCAPSED_AND_WHITESPACE); } -#line 1625 "Zend/zend_language_scanner.c" -yy42: - YYDEBUG(42, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '$') goto yy46; - goto yy41; +#line 1607 "Zend/zend_language_scanner.c" yy43: YYDEBUG(43, *YYCURSOR); ++YYCURSOR; @@ -1637,68 +1614,87 @@ yy43: BEGIN(ST_IN_SCRIPTING); RETURN_TOKEN('"'); } -#line 1641 "Zend/zend_language_scanner.c" +#line 1618 "Zend/zend_language_scanner.c" yy45: YYDEBUG(45, *YYCURSOR); yych = *++YYCURSOR; - goto yy41; + if (yych <= '_') { + if (yych <= '@') goto yy42; + if (yych <= 'Z') goto yy47; + if (yych <= '^') goto yy42; + goto yy47; + } else { + if (yych <= 'z') { + if (yych <= '`') goto yy42; + goto yy47; + } else { + if (yych <= '{') goto yy50; + if (yych <= 0x7F) goto yy42; + goto yy47; + } + } yy46: YYDEBUG(46, *YYCURSOR); - ++YYCURSOR; + yych = *++YYCURSOR; + if (yych == '$') goto yy52; + goto yy42; +yy47: YYDEBUG(47, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 2145 "Zend/zend_language_scanner.l" - { - Z_LVAL_P(zendlval) = (zend_long) '{'; - yy_push_state(ST_IN_SCRIPTING); - yyless(1); - RETURN_TOKEN(T_CURLY_OPEN); -} -#line 1658 "Zend/zend_language_scanner.c" -yy48: - YYDEBUG(48, *YYCURSOR); - yyaccept = 0; YYMARKER = ++YYCURSOR; YYFILL(3); yych = *YYCURSOR; - YYDEBUG(49, *YYCURSOR); + YYDEBUG(48, *YYCURSOR); if (yybm[0+yych] & 128) { - goto yy48; + goto yy47; } - if (yych == '-') goto yy53; - if (yych == '[') goto yy55; -yy50: - YYDEBUG(50, *YYCURSOR); + if (yych == '-') goto yy54; + if (yych <= '@') goto yy49; + if (yych <= '[') goto yy56; +yy49: + YYDEBUG(49, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1869 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); RETURN_TOKEN(T_VARIABLE); } -#line 1679 "Zend/zend_language_scanner.c" -yy51: - YYDEBUG(51, *YYCURSOR); +#line 1662 "Zend/zend_language_scanner.c" +yy50: + YYDEBUG(50, *YYCURSOR); ++YYCURSOR; - YYDEBUG(52, *YYCURSOR); + YYDEBUG(51, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1587 "Zend/zend_language_scanner.l" { yy_push_state(ST_LOOKING_FOR_VARNAME); RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES); } -#line 1690 "Zend/zend_language_scanner.c" -yy53: +#line 1673 "Zend/zend_language_scanner.c" +yy52: + YYDEBUG(52, *YYCURSOR); + ++YYCURSOR; YYDEBUG(53, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '>') goto yy57; + yyleng = YYCURSOR - SCNG(yy_text); +#line 2145 "Zend/zend_language_scanner.l" + { + Z_LVAL_P(zendlval) = (zend_long) '{'; + yy_push_state(ST_IN_SCRIPTING); + yyless(1); + RETURN_TOKEN(T_CURLY_OPEN); +} +#line 1686 "Zend/zend_language_scanner.c" yy54: YYDEBUG(54, *YYCURSOR); - YYCURSOR = YYMARKER; - goto yy50; + yych = *++YYCURSOR; + if (yych == '>') goto yy58; yy55: YYDEBUG(55, *YYCURSOR); - ++YYCURSOR; + YYCURSOR = YYMARKER; + goto yy49; +yy56: YYDEBUG(56, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(57, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1862 "Zend/zend_language_scanner.l" { @@ -1707,23 +1703,23 @@ yy55: zend_copy_value(zendlval, (yytext+1), (yyleng-1)); RETURN_TOKEN(T_VARIABLE); } -#line 1711 "Zend/zend_language_scanner.c" -yy57: - YYDEBUG(57, *YYCURSOR); +#line 1707 "Zend/zend_language_scanner.c" +yy58: + YYDEBUG(58, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '_') { - if (yych <= '@') goto yy54; - if (yych <= 'Z') goto yy58; - if (yych <= '^') goto yy54; + if (yych <= '@') goto yy55; + if (yych <= 'Z') goto yy59; + if (yych <= '^') goto yy55; } else { - if (yych <= '`') goto yy54; - if (yych <= 'z') goto yy58; - if (yych <= 0x7F) goto yy54; + if (yych <= '`') goto yy55; + if (yych <= 'z') goto yy59; + if (yych <= 0x7F) goto yy55; } -yy58: - YYDEBUG(58, *YYCURSOR); - ++YYCURSOR; +yy59: YYDEBUG(59, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(60, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1853 "Zend/zend_language_scanner.l" { @@ -1732,16 +1728,16 @@ yy58: zend_copy_value(zendlval, (yytext+1), (yyleng-1)); RETURN_TOKEN(T_VARIABLE); } -#line 1736 "Zend/zend_language_scanner.c" +#line 1732 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_END_HEREDOC: - YYDEBUG(60, *YYCURSOR); + YYDEBUG(61, *YYCURSOR); YYFILL(1); yych = *YYCURSOR; - YYDEBUG(62, *YYCURSOR); - ++YYCURSOR; YYDEBUG(63, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(64, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 2131 "Zend/zend_language_scanner.l" { @@ -1756,7 +1752,7 @@ yyc_ST_END_HEREDOC: BEGIN(ST_IN_SCRIPTING); RETURN_TOKEN(T_END_HEREDOC); } -#line 1760 "Zend/zend_language_scanner.c" +#line 1756 "Zend/zend_language_scanner.c" /* *********************************** */ yyc_ST_HEREDOC: { @@ -1794,29 +1790,15 @@ yyc_ST_HEREDOC: 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, }; - YYDEBUG(64, *YYCURSOR); + YYDEBUG(65, *YYCURSOR); YYFILL(2); yych = *YYCURSOR; - if (yych == '$') goto yy66; - if (yych == '{') goto yy68; - goto yy69; -yy66: - YYDEBUG(66, *YYCURSOR); - ++YYCURSOR; - if ((yych = *YYCURSOR) <= '_') { - if (yych <= '@') goto yy67; - if (yych <= 'Z') goto yy72; - if (yych >= '_') goto yy72; - } else { - if (yych <= 'z') { - if (yych >= 'a') goto yy72; - } else { - if (yych <= '{') goto yy75; - if (yych >= 0x80) goto yy72; - } - } -yy67: + if (yych == '$') goto yy69; + if (yych == '{') goto yy70; YYDEBUG(67, *YYCURSOR); + ++YYCURSOR; +yy68: + YYDEBUG(68, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 2256 "Zend/zend_language_scanner.l" { @@ -1891,73 +1873,87 @@ heredoc_scan_done: zend_scan_escape_string(zendlval, yytext, yyleng - newline, 0); RETURN_TOKEN(T_ENCAPSED_AND_WHITESPACE); } -#line 1895 "Zend/zend_language_scanner.c" -yy68: - YYDEBUG(68, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '$') goto yy70; - goto yy67; +#line 1877 "Zend/zend_language_scanner.c" yy69: YYDEBUG(69, *YYCURSOR); yych = *++YYCURSOR; - goto yy67; + if (yych <= '_') { + if (yych <= '@') goto yy68; + if (yych <= 'Z') goto yy71; + if (yych <= '^') goto yy68; + goto yy71; + } else { + if (yych <= 'z') { + if (yych <= '`') goto yy68; + goto yy71; + } else { + if (yych <= '{') goto yy74; + if (yych <= 0x7F) goto yy68; + goto yy71; + } + } yy70: YYDEBUG(70, *YYCURSOR); - ++YYCURSOR; + yych = *++YYCURSOR; + if (yych == '$') goto yy76; + goto yy68; +yy71: YYDEBUG(71, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 2145 "Zend/zend_language_scanner.l" - { - Z_LVAL_P(zendlval) = (zend_long) '{'; - yy_push_state(ST_IN_SCRIPTING); - yyless(1); - RETURN_TOKEN(T_CURLY_OPEN); -} -#line 1917 "Zend/zend_language_scanner.c" -yy72: - YYDEBUG(72, *YYCURSOR); - yyaccept = 0; YYMARKER = ++YYCURSOR; YYFILL(3); yych = *YYCURSOR; - YYDEBUG(73, *YYCURSOR); + YYDEBUG(72, *YYCURSOR); if (yybm[0+yych] & 128) { - goto yy72; + goto yy71; } - if (yych == '-') goto yy77; - if (yych == '[') goto yy79; -yy74: - YYDEBUG(74, *YYCURSOR); + if (yych == '-') goto yy78; + if (yych <= '@') goto yy73; + if (yych <= '[') goto yy80; +yy73: + YYDEBUG(73, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1869 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); RETURN_TOKEN(T_VARIABLE); } -#line 1938 "Zend/zend_language_scanner.c" -yy75: - YYDEBUG(75, *YYCURSOR); +#line 1921 "Zend/zend_language_scanner.c" +yy74: + YYDEBUG(74, *YYCURSOR); ++YYCURSOR; - YYDEBUG(76, *YYCURSOR); + YYDEBUG(75, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1587 "Zend/zend_language_scanner.l" { yy_push_state(ST_LOOKING_FOR_VARNAME); RETURN_TOKEN(T_DOLLAR_OPEN_CURLY_BRACES); } -#line 1949 "Zend/zend_language_scanner.c" -yy77: +#line 1932 "Zend/zend_language_scanner.c" +yy76: + YYDEBUG(76, *YYCURSOR); + ++YYCURSOR; YYDEBUG(77, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '>') goto yy81; + yyleng = YYCURSOR - SCNG(yy_text); +#line 2145 "Zend/zend_language_scanner.l" + { + Z_LVAL_P(zendlval) = (zend_long) '{'; + yy_push_state(ST_IN_SCRIPTING); + yyless(1); + RETURN_TOKEN(T_CURLY_OPEN); +} +#line 1945 "Zend/zend_language_scanner.c" yy78: YYDEBUG(78, *YYCURSOR); - YYCURSOR = YYMARKER; - goto yy74; + yych = *++YYCURSOR; + if (yych == '>') goto yy82; yy79: YYDEBUG(79, *YYCURSOR); - ++YYCURSOR; + YYCURSOR = YYMARKER; + goto yy73; +yy80: YYDEBUG(80, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(81, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1862 "Zend/zend_language_scanner.l" { @@ -1966,23 +1962,23 @@ yy79: zend_copy_value(zendlval, (yytext+1), (yyleng-1)); RETURN_TOKEN(T_VARIABLE); } -#line 1970 "Zend/zend_language_scanner.c" -yy81: - YYDEBUG(81, *YYCURSOR); +#line 1966 "Zend/zend_language_scanner.c" +yy82: + YYDEBUG(82, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '_') { - if (yych <= '@') goto yy78; - if (yych <= 'Z') goto yy82; - if (yych <= '^') goto yy78; + if (yych <= '@') goto yy79; + if (yych <= 'Z') goto yy83; + if (yych <= '^') goto yy79; } else { - if (yych <= '`') goto yy78; - if (yych <= 'z') goto yy82; - if (yych <= 0x7F) goto yy78; + if (yych <= '`') goto yy79; + if (yych <= 'z') goto yy83; + if (yych <= 0x7F) goto yy79; } -yy82: - YYDEBUG(82, *YYCURSOR); - ++YYCURSOR; +yy83: YYDEBUG(83, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(84, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1853 "Zend/zend_language_scanner.l" { @@ -1991,49 +1987,51 @@ yy82: zend_copy_value(zendlval, (yytext+1), (yyleng-1)); RETURN_TOKEN(T_VARIABLE); } -#line 1995 "Zend/zend_language_scanner.c" +#line 1991 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_IN_SCRIPTING: { static const unsigned char yybm[] = { 0, 0, 0, 0, 0, 0, 0, 0, - 0, 192, 64, 0, 0, 64, 0, 0, + 0, 36, 4, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 192, 0, 0, 0, 0, 0, 0, 0, + 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 60, 60, 44, 44, 44, 44, 44, 44, - 44, 44, 0, 0, 0, 0, 0, 0, - 0, 36, 36, 36, 36, 36, 36, 4, - 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 0, 0, 0, 0, 4, - 0, 36, 36, 36, 36, 36, 36, 4, - 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 0, 0, 0, 0, 0, - 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, + 216, 216, 152, 152, 152, 152, 152, 152, + 152, 152, 0, 0, 0, 0, 0, 0, + 0, 144, 144, 144, 144, 144, 144, 16, + 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 0, 0, 0, 0, 16, + 0, 144, 144, 144, 144, 144, 144, 16, + 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 0, 0, 0, 0, 0, + 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, }; - YYDEBUG(84, *YYCURSOR); + YYDEBUG(85, *YYCURSOR); YYFILL(16); yych = *YYCURSOR; - YYDEBUG(-1, yych); + if (yybm[0+yych] & 4) { + goto yy89; + } switch (yych) { case 0x00: case 0x01: @@ -2044,8 +2042,11 @@ yyc_ST_IN_SCRIPTING: case 0x06: case 0x07: case 0x08: + case '\t': + case '\n': case '\v': case '\f': + case '\r': case 0x0E: case 0x0F: case 0x10: @@ -2064,32 +2065,29 @@ yyc_ST_IN_SCRIPTING: case 0x1D: case 0x1E: case 0x1F: - case 0x7F: goto yy147; - case '\t': - case '\n': - case '\r': - case ' ': goto yy103; - case '!': goto yy118; - case '"': goto yy143; - case '#': goto yy139; - case '$': goto yy129; - case '%': goto yy123; - case '&': goto yy124; - case '\'': goto yy141; - case '(': goto yy112; + case 0x7F: goto yy87; + case ' ': + case '!': goto yy92; + case '"': goto yy94; + case '#': goto yy96; + case '$': goto yy98; + case '%': goto yy99; + case '&': goto yy100; + case '\'': goto yy101; + case '(': goto yy103; case ')': case ',': case ';': case '@': case '[': case ']': - case '~': goto yy130; - case '*': goto yy121; - case '+': goto yy117; - case '-': goto yy101; + case '~': goto yy104; + case '*': goto yy105; + case '+': goto yy106; + case '-': goto yy107; case '.': goto yy108; - case '/': goto yy122; - case '0': goto yy135; + case '/': goto yy109; + case '0': goto yy110; case '1': case '2': case '3': @@ -2098,1209 +2096,1204 @@ yyc_ST_IN_SCRIPTING: case '6': case '7': case '8': - case '9': goto yy137; - case ':': goto yy105; - case '<': goto yy119; - case '=': goto yy115; - case '>': goto yy120; - case '?': goto yy109; + case '9': goto yy112; + case ':': goto yy114; + case '<': goto yy115; + case '=': goto yy116; + case '>': goto yy117; + case '?': goto yy118; case 'A': - case 'a': goto yy96; + case 'a': goto yy119; case 'B': - case 'b': goto yy98; + case 'b': goto yy121; case 'C': - case 'c': goto yy90; + case 'c': goto yy122; case 'D': - case 'd': goto yy88; + case 'd': goto yy123; case 'E': - case 'e': goto yy86; + case 'e': goto yy124; case 'F': - case 'f': goto yy89; + case 'f': goto yy125; case 'G': - case 'g': goto yy99; + case 'g': goto yy126; case 'I': - case 'i': goto yy94; + case 'i': goto yy129; case 'L': - case 'l': goto yy116; + case 'l': goto yy130; case 'N': - case 'n': goto yy110; + case 'n': goto yy131; case 'O': - case 'o': goto yy127; + case 'o': goto yy132; case 'P': - case 'p': goto yy100; + case 'p': goto yy133; case 'R': - case 'r': goto yy91; + case 'r': goto yy134; case 'S': - case 's': goto yy97; + case 's': goto yy135; case 'T': - case 't': goto yy93; + case 't': goto yy136; case 'U': - case 'u': goto yy113; + case 'u': goto yy137; case 'V': - case 'v': goto yy111; + case 'v': goto yy138; case 'W': - case 'w': goto yy95; + case 'w': goto yy139; case 'X': - case 'x': goto yy128; + case 'x': goto yy140; case 'Y': - case 'y': goto yy92; - case '\\': goto yy106; - case '^': goto yy126; - case '_': goto yy114; - case '`': goto yy145; - case '{': goto yy131; - case '|': goto yy125; - case '}': goto yy133; - default: goto yy138; - } -yy86: - YYDEBUG(86, *YYCURSOR); - ++YYCURSOR; - YYDEBUG(-1, yych); - switch ((yych = *YYCURSOR)) { - case 'C': - case 'c': goto yy704; - case 'L': - case 'l': goto yy705; - case 'M': - case 'm': goto yy706; - case 'N': - case 'n': goto yy707; - case 'V': - case 'v': goto yy708; - case 'X': - case 'x': goto yy709; - default: goto yy150; + case 'y': goto yy141; + case '\\': goto yy142; + case '^': goto yy144; + case '_': goto yy145; + case '`': goto yy146; + case '{': goto yy148; + case '|': goto yy150; + case '}': goto yy151; + default: goto yy127; } yy87: YYDEBUG(87, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(88, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1892 "Zend/zend_language_scanner.l" +#line 2387 "Zend/zend_language_scanner.l" { - zend_copy_value(zendlval, yytext, yyleng); - RETURN_TOKEN(T_STRING); + if (YYCURSOR > YYLIMIT) { + RETURN_TOKEN(END); + } + + zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE); + goto restart; } -#line 2184 "Zend/zend_language_scanner.c" -yy88: - YYDEBUG(88, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'O') { - if (yych <= 'H') { - if (yych == 'E') goto yy686; - goto yy150; - } else { - if (yych <= 'I') goto yy687; - if (yych <= 'N') goto yy150; - goto yy688; - } - } else { - if (yych <= 'h') { - if (yych == 'e') goto yy686; - goto yy150; - } else { - if (yych <= 'i') goto yy687; - if (yych == 'o') goto yy688; - goto yy150; - } - } +#line 2169 "Zend/zend_language_scanner.c" yy89: YYDEBUG(89, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych <= 'N') { - if (yych == 'I') goto yy662; - goto yy150; - } else { - if (yych <= 'O') goto yy663; - if (yych <= 'T') goto yy150; - goto yy664; - } - } else { - if (yych <= 'n') { - if (yych == 'i') goto yy662; - goto yy150; - } else { - if (yych <= 'o') goto yy663; - if (yych == 'u') goto yy664; - goto yy150; - } - } -yy90: + ++YYCURSOR; + YYFILL(1); + yych = *YYCURSOR; YYDEBUG(90, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'O') { - if (yych <= 'K') { - if (yych == 'A') goto yy627; - goto yy150; - } else { - if (yych <= 'L') goto yy628; - if (yych <= 'N') goto yy150; - goto yy629; - } - } else { - if (yych <= 'k') { - if (yych == 'a') goto yy627; - goto yy150; - } else { - if (yych <= 'l') goto yy628; - if (yych == 'o') goto yy629; - goto yy150; - } + if (yybm[0+yych] & 4) { + goto yy89; } -yy91: YYDEBUG(91, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy609; - if (yych == 'e') goto yy609; - goto yy150; + yyleng = YYCURSOR - SCNG(yy_text); +#line 1291 "Zend/zend_language_scanner.l" + { + HANDLE_NEWLINES(yytext, yyleng); + RETURN_TOKEN(T_WHITESPACE); +} +#line 2186 "Zend/zend_language_scanner.c" yy92: YYDEBUG(92, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'I') goto yy597; - if (yych == 'i') goto yy597; - goto yy150; + ++YYCURSOR; + if ((yych = *YYCURSOR) == '=') goto yy153; yy93: YYDEBUG(93, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'R') { - if (yych == 'H') goto yy585; - if (yych <= 'Q') goto yy150; - goto yy586; - } else { - if (yych <= 'h') { - if (yych <= 'g') goto yy150; - goto yy585; - } else { - if (yych == 'r') goto yy586; - goto yy150; - } - } + yyleng = YYCURSOR - SCNG(yy_text); +#line 1576 "Zend/zend_language_scanner.l" + { + RETURN_TOKEN(yytext[0]); +} +#line 2198 "Zend/zend_language_scanner.c" yy94: YYDEBUG(94, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'S') { - if (yych <= 'L') { - if (yych == 'F') goto yy532; - goto yy150; - } else { - if (yych <= 'M') goto yy534; - if (yych <= 'N') goto yy535; - if (yych <= 'R') goto yy150; - goto yy536; - } - } else { - if (yych <= 'm') { - if (yych == 'f') goto yy532; - if (yych <= 'l') goto yy150; - goto yy534; - } else { - if (yych <= 'n') goto yy535; - if (yych == 's') goto yy536; - goto yy150; - } - } -yy95: + ++YYCURSOR; YYDEBUG(95, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'H') goto yy527; - if (yych == 'h') goto yy527; - goto yy150; + yyleng = YYCURSOR - SCNG(yy_text); +#line 2035 "Zend/zend_language_scanner.l" + { + int bprefix = (yytext[0] != '"') ? 1 : 0; + + while (YYCURSOR < YYLIMIT) { + switch (*YYCURSOR++) { + case '"': + yyleng = YYCURSOR - SCNG(yy_text); + zend_scan_escape_string(zendlval, yytext+bprefix+1, yyleng-bprefix-2, '"'); + RETURN_TOKEN(T_CONSTANT_ENCAPSED_STRING); + case '$': + if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') { + break; + } + continue; + case '{': + if (*YYCURSOR == '$') { + break; + } + continue; + case '\\': + if (YYCURSOR < YYLIMIT) { + YYCURSOR++; + } + /* fall through */ + default: + continue; + } + + YYCURSOR--; + break; + } + + /* Remember how much was scanned to save rescanning */ + SET_DOUBLE_QUOTES_SCANNED_LENGTH(YYCURSOR - SCNG(yy_text) - yyleng); + + YYCURSOR = SCNG(yy_text) + yyleng; + + BEGIN(ST_DOUBLE_QUOTES); + RETURN_TOKEN('"'); +} +#line 2245 "Zend/zend_language_scanner.c" yy96: YYDEBUG(96, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'S') { - if (yych <= 'M') { - if (yych == 'B') goto yy509; - goto yy150; - } else { - if (yych <= 'N') goto yy510; - if (yych <= 'Q') goto yy150; - if (yych <= 'R') goto yy511; - goto yy512; - } - } else { - if (yych <= 'n') { - if (yych == 'b') goto yy509; - if (yych <= 'm') goto yy150; - goto yy510; - } else { - if (yych <= 'q') goto yy150; - if (yych <= 'r') goto yy511; - if (yych <= 's') goto yy512; - goto yy150; - } - } -yy97: + ++YYCURSOR; YYDEBUG(97, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'W') { - if (yych == 'T') goto yy497; - if (yych <= 'V') goto yy150; - goto yy498; - } else { - if (yych <= 't') { - if (yych <= 's') goto yy150; - goto yy497; - } else { - if (yych == 'w') goto yy498; - goto yy150; - } + yyleng = YYCURSOR - SCNG(yy_text); +#line 1898 "Zend/zend_language_scanner.l" + { + while (YYCURSOR < YYLIMIT) { + switch (*YYCURSOR++) { + case '\r': + if (*YYCURSOR == '\n') { + YYCURSOR++; + } + /* fall through */ + case '\n': + CG(zend_lineno)++; + break; + case '?': + if (*YYCURSOR == '>') { + YYCURSOR--; + break; + } + /* fall through */ + default: + continue; } + + break; + } + + yyleng = YYCURSOR - SCNG(yy_text); + + RETURN_TOKEN(T_COMMENT); +} +#line 2280 "Zend/zend_language_scanner.c" yy98: YYDEBUG(98, *YYCURSOR); - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ';') { - if (yych <= '"') { - if (yych <= '!') goto yy150; - goto yy489; - } else { - if (yych == '\'') goto yy490; - goto yy150; - } + yych = *++YYCURSOR; + if (yych <= '_') { + if (yych <= '@') goto yy93; + if (yych <= 'Z') goto yy155; + if (yych <= '^') goto yy93; + goto yy155; } else { - if (yych <= 'R') { - if (yych <= '<') goto yy488; - if (yych <= 'Q') goto yy150; - goto yy491; - } else { - if (yych == 'r') goto yy491; - goto yy150; - } + if (yych <= '`') goto yy93; + if (yych <= 'z') goto yy155; + if (yych <= 0x7F) goto yy93; + goto yy155; } yy99: YYDEBUG(99, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= 'O') { - if (yych == 'L') goto yy478; - if (yych <= 'N') goto yy150; - goto yy479; - } else { - if (yych <= 'l') { - if (yych <= 'k') goto yy150; - goto yy478; - } else { - if (yych == 'o') goto yy479; - goto yy150; - } - } + if (yych == '=') goto yy158; + goto yy93; yy100: YYDEBUG(100, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych == 'R') goto yy454; - if (yych <= 'T') goto yy150; - goto yy455; - } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy150; - goto yy454; - } else { - if (yych == 'u') goto yy455; - goto yy150; - } - } + if (yych == '&') goto yy160; + if (yych == '=') goto yy162; + goto yy93; yy101: YYDEBUG(101, *YYCURSOR); ++YYCURSOR; - if ((yych = *YYCURSOR) <= '<') { - if (yych == '-') goto yy450; - } else { - if (yych <= '=') goto yy448; - if (yych <= '>') goto yy452; - } -yy102: YYDEBUG(102, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1576 "Zend/zend_language_scanner.l" +#line 1966 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(yytext[0]); + register char *s, *t; + char *end; + int bprefix = (yytext[0] != '\'') ? 1 : 0; + + while (1) { + if (YYCURSOR < YYLIMIT) { + if (*YYCURSOR == '\'') { + YYCURSOR++; + yyleng = YYCURSOR - SCNG(yy_text); + + break; + } else if (*YYCURSOR++ == '\\' && YYCURSOR < YYLIMIT) { + YYCURSOR++; + } + } else { + yyleng = YYLIMIT - SCNG(yy_text); + + /* Unclosed single quotes; treat similar to double quotes, but without a separate token + * for ' (unrecognized by parser), instead of old flex fallback to "Unexpected character..." + * rule, which continued in ST_IN_SCRIPTING state after the quote */ + ZVAL_NULL(zendlval); + RETURN_TOKEN(T_ENCAPSED_AND_WHITESPACE); + } + } + + ZVAL_STRINGL(zendlval, yytext+bprefix+1, yyleng-bprefix-2); + + /* convert escape sequences */ + s = t = Z_STRVAL_P(zendlval); + end = s+Z_STRLEN_P(zendlval); + while (s<end) { + if (*s=='\\') { + s++; + + switch(*s) { + case '\\': + case '\'': + *t++ = *s; + Z_STRLEN_P(zendlval)--; + break; + default: + *t++ = '\\'; + *t++ = *s; + break; + } + } else { + *t++ = *s; + } + + if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) { + CG(zend_lineno)++; + } + s++; + } + *t = 0; + + if (SCNG(output_filter)) { + size_t sz = 0; + char *str = NULL; + s = Z_STRVAL_P(zendlval); + // TODO: avoid reallocation ??? + SCNG(output_filter)((unsigned char **)&str, &sz, (unsigned char *)s, (size_t)Z_STRLEN_P(zendlval)); + ZVAL_STRINGL(zendlval, str, sz); + } + RETURN_TOKEN(T_CONSTANT_ENCAPSED_STRING); } -#line 2420 "Zend/zend_language_scanner.c" +#line 2379 "Zend/zend_language_scanner.c" yy103: YYDEBUG(103, *YYCURSOR); - ++YYCURSOR; - yych = *YYCURSOR; - goto yy447; + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { + if (yych <= 'D') { + if (yych <= ' ') { + if (yych == '\t') goto yy165; + if (yych <= 0x1F) goto yy93; + goto yy165; + } else { + if (yych <= '@') goto yy93; + if (yych == 'C') goto yy93; + goto yy165; + } + } else { + if (yych <= 'I') { + if (yych == 'F') goto yy165; + if (yych <= 'H') goto yy93; + goto yy165; + } else { + if (yych == 'O') goto yy165; + if (yych <= 'Q') goto yy93; + goto yy165; + } + } + } else { + if (yych <= 'f') { + if (yych <= 'b') { + if (yych == 'U') goto yy165; + if (yych <= '`') goto yy93; + goto yy165; + } else { + if (yych == 'd') goto yy165; + if (yych <= 'e') goto yy93; + goto yy165; + } + } else { + if (yych <= 'o') { + if (yych == 'i') goto yy165; + if (yych <= 'n') goto yy93; + goto yy165; + } else { + if (yych <= 's') { + if (yych <= 'q') goto yy93; + goto yy165; + } else { + if (yych == 'u') goto yy165; + goto yy93; + } + } + } + } yy104: YYDEBUG(104, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1291 "Zend/zend_language_scanner.l" - { - HANDLE_NEWLINES(yytext, yyleng); - RETURN_TOKEN(T_WHITESPACE); -} -#line 2434 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; + goto yy93; yy105: YYDEBUG(105, *YYCURSOR); yych = *++YYCURSOR; - if (yych == ':') goto yy444; - goto yy102; + if (yych == '*') goto yy176; + if (yych == '=') goto yy178; + goto yy93; yy106: YYDEBUG(106, *YYCURSOR); - ++YYCURSOR; + yych = *++YYCURSOR; + if (yych == '+') goto yy180; + if (yych == '=') goto yy182; + goto yy93; +yy107: YYDEBUG(107, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1316 "Zend/zend_language_scanner.l" - { - RETURN_TOKEN(T_NS_SEPARATOR); -} -#line 2449 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; + if (yych <= '<') { + if (yych == '-') goto yy184; + goto yy93; + } else { + if (yych <= '=') goto yy186; + if (yych <= '>') goto yy188; + goto yy93; + } yy108: YYDEBUG(108, *YYCURSOR); - yyaccept = 1; + yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { - if (yych == '.') goto yy441; - goto yy102; + if (yych == '.') goto yy190; + goto yy93; } else { - if (yych <= '9') goto yy437; - if (yych == '=') goto yy439; - goto yy102; + if (yych <= '9') goto yy191; + if (yych == '=') goto yy194; + goto yy93; } yy109: YYDEBUG(109, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '=') goto yy102; - if (yych <= '>') goto yy431; - if (yych <= '?') goto yy433; - goto yy102; + if (yych <= '.') { + if (yych == '*') goto yy196; + goto yy93; + } else { + if (yych <= '/') goto yy96; + if (yych == '=') goto yy198; + goto yy93; + } yy110: YYDEBUG(110, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych == 'A') goto yy419; - if (yych <= 'D') goto yy150; - goto yy420; + yyaccept = 1; + yych = *(YYMARKER = ++YYCURSOR); + if (yybm[0+yych] & 8) { + goto yy112; + } + if (yych <= 'W') { + if (yych <= 'A') { + if (yych == '.') goto yy191; + } else { + if (yych <= 'B') goto yy200; + if (yych == 'E') goto yy201; + } } else { - if (yych <= 'a') { - if (yych <= '`') goto yy150; - goto yy419; + if (yych <= 'd') { + if (yych <= 'X') goto yy202; + if (yych == 'b') goto yy200; } else { - if (yych == 'e') goto yy420; - goto yy150; + if (yych <= 'e') goto yy201; + if (yych == 'x') goto yy202; } } yy111: YYDEBUG(111, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy416; - if (yych == 'a') goto yy416; - goto yy150; -yy112: - YYDEBUG(112, *YYCURSOR); - yyaccept = 1; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { - if (yych <= 'D') { - if (yych <= ' ') { - if (yych == '\t') goto yy341; - if (yych <= 0x1F) goto yy102; - goto yy341; - } else { - if (yych <= '@') goto yy102; - if (yych == 'C') goto yy102; - goto yy341; - } + yyleng = YYCURSOR - SCNG(yy_text); +#line 1646 "Zend/zend_language_scanner.l" + { + char *end; + if (yyleng < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */ + errno = 0; + ZVAL_LONG(zendlval, ZEND_STRTOL(yytext, &end, 0)); + /* This isn't an assert, we need to ensure 019 isn't valid octal + * Because the lexing itself doesn't do that for us + */ + if (end != yytext + yyleng) { + zend_throw_exception(zend_ce_parse_error, "Invalid numeric literal", 0); + ZVAL_UNDEF(zendlval); + RETURN_TOKEN(T_LNUMBER); + } + } else { + errno = 0; + ZVAL_LONG(zendlval, ZEND_STRTOL(yytext, &end, 0)); + if (errno == ERANGE) { /* Overflow */ + errno = 0; + if (yytext[0] == '0') { /* octal overflow */ + errno = 0; + ZVAL_DOUBLE(zendlval, zend_oct_strtod(yytext, (const char **)&end)); } else { - if (yych <= 'I') { - if (yych == 'F') goto yy341; - if (yych <= 'H') goto yy102; - goto yy341; - } else { - if (yych == 'O') goto yy341; - if (yych <= 'Q') goto yy102; - goto yy341; - } + ZVAL_DOUBLE(zendlval, zend_strtod(yytext, (const char **)&end)); } - } else { - if (yych <= 'f') { - if (yych <= 'b') { - if (yych == 'U') goto yy341; - if (yych <= '`') goto yy102; - goto yy341; - } else { - if (yych == 'd') goto yy341; - if (yych <= 'e') goto yy102; - goto yy341; - } - } else { - if (yych <= 'o') { - if (yych == 'i') goto yy341; - if (yych <= 'n') goto yy102; - goto yy341; - } else { - if (yych <= 's') { - if (yych <= 'q') goto yy102; - goto yy341; - } else { - if (yych == 'u') goto yy341; - goto yy102; - } - } + /* Also not an assert for the same reason */ + if (end != yytext + yyleng) { + zend_throw_exception(zend_ce_parse_error, + "Invalid numeric literal", 0); + ZVAL_UNDEF(zendlval); + RETURN_TOKEN(T_DNUMBER); } + ZEND_ASSERT(!errno); + RETURN_TOKEN(T_DNUMBER); } -yy113: + /* Also not an assert for the same reason */ + if (end != yytext + yyleng) { + zend_throw_exception(zend_ce_parse_error, "Invalid numeric literal", 0); + ZVAL_UNDEF(zendlval); + RETURN_TOKEN(T_DNUMBER); + } + } + ZEND_ASSERT(!errno); + RETURN_TOKEN(T_LNUMBER); +} +#line 2554 "Zend/zend_language_scanner.c" +yy112: + YYDEBUG(112, *YYCURSOR); + yyaccept = 1; + YYMARKER = ++YYCURSOR; + YYFILL(3); + yych = *YYCURSOR; YYDEBUG(113, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'S') { - if (yych == 'N') goto yy332; - if (yych <= 'R') goto yy150; - goto yy333; + if (yybm[0+yych] & 8) { + goto yy112; + } + if (yych <= 'D') { + if (yych == '.') goto yy191; + goto yy111; } else { - if (yych <= 'n') { - if (yych <= 'm') goto yy150; - goto yy332; - } else { - if (yych == 's') goto yy333; - goto yy150; - } + if (yych <= 'E') goto yy201; + if (yych == 'e') goto yy201; + goto yy111; } yy114: YYDEBUG(114, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '_') goto yy250; - goto yy150; + if (yych == ':') goto yy203; + goto yy93; yy115: YYDEBUG(115, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '<') goto yy102; - if (yych <= '=') goto yy244; - if (yych <= '>') goto yy246; - goto yy102; + if (yych <= ';') goto yy93; + if (yych <= '<') goto yy205; + if (yych <= '=') goto yy207; + if (yych <= '>') goto yy209; + goto yy93; yy116: YYDEBUG(116, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy240; - if (yych == 'i') goto yy240; - goto yy150; + if (yych <= '<') goto yy93; + if (yych <= '=') goto yy210; + if (yych <= '>') goto yy212; + goto yy93; yy117: YYDEBUG(117, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '+') goto yy238; - if (yych == '=') goto yy236; - goto yy102; + if (yych <= '<') goto yy93; + if (yych <= '=') goto yy214; + if (yych <= '>') goto yy216; + goto yy93; yy118: YYDEBUG(118, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '=') goto yy233; - goto yy102; + if (yych <= '=') goto yy93; + if (yych <= '>') goto yy218; + if (yych <= '?') goto yy220; + goto yy93; yy119: YYDEBUG(119, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= ';') goto yy102; - if (yych <= '<') goto yy209; - if (yych <= '=') goto yy211; - if (yych <= '>') goto yy213; - goto yy102; + ++YYCURSOR; + if ((yych = *YYCURSOR) <= 'S') { + if (yych <= 'M') { + if (yych == 'B') goto yy222; + goto yy128; + } else { + if (yych <= 'N') goto yy223; + if (yych <= 'Q') goto yy128; + if (yych <= 'R') goto yy224; + goto yy225; + } + } else { + if (yych <= 'n') { + if (yych == 'b') goto yy222; + if (yych <= 'm') goto yy128; + goto yy223; + } else { + if (yych <= 'q') goto yy128; + if (yych <= 'r') goto yy224; + if (yych <= 's') goto yy225; + goto yy128; + } + } yy120: YYDEBUG(120, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '<') goto yy102; - if (yych <= '=') goto yy205; - if (yych <= '>') goto yy203; - goto yy102; + yyleng = YYCURSOR - SCNG(yy_text); +#line 1892 "Zend/zend_language_scanner.l" + { + zend_copy_value(zendlval, yytext, yyleng); + RETURN_TOKEN(T_STRING); +} +#line 2640 "Zend/zend_language_scanner.c" yy121: YYDEBUG(121, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '*') goto yy197; - if (yych == '=') goto yy199; - goto yy102; + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ';') { + if (yych <= '"') { + if (yych <= '!') goto yy128; + goto yy94; + } else { + if (yych == '\'') goto yy101; + goto yy128; + } + } else { + if (yych <= 'R') { + if (yych <= '<') goto yy227; + if (yych <= 'Q') goto yy128; + goto yy228; + } else { + if (yych == 'r') goto yy228; + goto yy128; + } + } yy122: YYDEBUG(122, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '.') { - if (yych == '*') goto yy189; - goto yy102; + if (yych <= 'O') { + if (yych <= 'K') { + if (yych == 'A') goto yy229; + goto yy128; + } else { + if (yych <= 'L') goto yy230; + if (yych <= 'N') goto yy128; + goto yy231; + } } else { - if (yych <= '/') goto yy191; - if (yych == '=') goto yy192; - goto yy102; + if (yych <= 'k') { + if (yych == 'a') goto yy229; + goto yy128; + } else { + if (yych <= 'l') goto yy230; + if (yych == 'o') goto yy231; + goto yy128; + } } yy123: YYDEBUG(123, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '=') goto yy187; - goto yy102; + if (yych <= 'O') { + if (yych <= 'H') { + if (yych == 'E') goto yy232; + goto yy128; + } else { + if (yych <= 'I') goto yy233; + if (yych <= 'N') goto yy128; + goto yy234; + } + } else { + if (yych <= 'h') { + if (yych == 'e') goto yy232; + goto yy128; + } else { + if (yych <= 'i') goto yy233; + if (yych == 'o') goto yy234; + goto yy128; + } + } yy124: YYDEBUG(124, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '&') goto yy183; - if (yych == '=') goto yy185; - goto yy102; + switch (yych) { + case 'C': + case 'c': goto yy236; + case 'L': + case 'l': goto yy237; + case 'M': + case 'm': goto yy238; + case 'N': + case 'n': goto yy239; + case 'V': + case 'v': goto yy240; + case 'X': + case 'x': goto yy241; + default: goto yy128; + } yy125: YYDEBUG(125, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '=') goto yy181; - if (yych == '|') goto yy179; - goto yy102; + if (yych <= 'U') { + if (yych <= 'N') { + if (yych == 'I') goto yy242; + goto yy128; + } else { + if (yych <= 'O') goto yy243; + if (yych <= 'T') goto yy128; + goto yy244; + } + } else { + if (yych <= 'n') { + if (yych == 'i') goto yy242; + goto yy128; + } else { + if (yych <= 'o') goto yy243; + if (yych == 'u') goto yy244; + goto yy128; + } + } yy126: YYDEBUG(126, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '=') goto yy177; - goto yy102; + if (yych <= 'O') { + if (yych == 'L') goto yy245; + if (yych <= 'N') goto yy128; + goto yy246; + } else { + if (yych <= 'l') { + if (yych <= 'k') goto yy128; + goto yy245; + } else { + if (yych == 'o') goto yy246; + goto yy128; + } + } yy127: YYDEBUG(127, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy175; - if (yych == 'r') goto yy175; - goto yy150; + ++YYCURSOR; + YYFILL(1); + yych = *YYCURSOR; yy128: YYDEBUG(128, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'O') goto yy172; - if (yych == 'o') goto yy172; - goto yy150; + if (yybm[0+yych] & 16) { + goto yy127; + } + goto yy120; yy129: YYDEBUG(129, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= '_') { - if (yych <= '@') goto yy102; - if (yych <= 'Z') goto yy169; - if (yych <= '^') goto yy102; - goto yy169; + if (yych <= 'S') { + if (yych <= 'L') { + if (yych == 'F') goto yy247; + goto yy128; + } else { + if (yych <= 'M') goto yy249; + if (yych <= 'N') goto yy250; + if (yych <= 'R') goto yy128; + goto yy251; + } } else { - if (yych <= '`') goto yy102; - if (yych <= 'z') goto yy169; - if (yych <= 0x7F) goto yy102; - goto yy169; + if (yych <= 'm') { + if (yych == 'f') goto yy247; + if (yych <= 'l') goto yy128; + goto yy249; + } else { + if (yych <= 'n') goto yy250; + if (yych == 's') goto yy251; + goto yy128; + } } yy130: YYDEBUG(130, *YYCURSOR); yych = *++YYCURSOR; - goto yy102; + if (yych == 'I') goto yy252; + if (yych == 'i') goto yy252; + goto yy128; yy131: YYDEBUG(131, *YYCURSOR); - ++YYCURSOR; + yych = *++YYCURSOR; + if (yych <= 'E') { + if (yych == 'A') goto yy253; + if (yych <= 'D') goto yy128; + goto yy254; + } else { + if (yych <= 'a') { + if (yych <= '`') goto yy128; + goto yy253; + } else { + if (yych == 'e') goto yy254; + goto yy128; + } + } +yy132: YYDEBUG(132, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1581 "Zend/zend_language_scanner.l" - { - yy_push_state(ST_IN_SCRIPTING); - RETURN_TOKEN('{'); -} -#line 2683 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; + if (yych == 'R') goto yy255; + if (yych == 'r') goto yy255; + goto yy128; yy133: YYDEBUG(133, *YYCURSOR); - ++YYCURSOR; + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych == 'R') goto yy257; + if (yych <= 'T') goto yy128; + goto yy258; + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy128; + goto yy257; + } else { + if (yych == 'u') goto yy258; + goto yy128; + } + } +yy134: YYDEBUG(134, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1593 "Zend/zend_language_scanner.l" - { - RESET_DOC_COMMENT(); - if (!zend_stack_is_empty(&SCNG(state_stack))) { - yy_pop_state(); - } - RETURN_TOKEN('}'); -} -#line 2697 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; + if (yych == 'E') goto yy259; + if (yych == 'e') goto yy259; + goto yy128; yy135: YYDEBUG(135, *YYCURSOR); - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'E') { - if (yych <= '9') { - if (yych == '.') goto yy151; - if (yych >= '0') goto yy154; - } else { - if (yych == 'B') goto yy162; - if (yych >= 'E') goto yy156; - } + yych = *++YYCURSOR; + if (yych <= 'W') { + if (yych == 'T') goto yy260; + if (yych <= 'V') goto yy128; + goto yy261; } else { - if (yych <= 'b') { - if (yych == 'X') goto yy161; - if (yych >= 'b') goto yy162; + if (yych <= 't') { + if (yych <= 's') goto yy128; + goto yy260; } else { - if (yych <= 'e') { - if (yych >= 'e') goto yy156; - } else { - if (yych == 'x') goto yy161; - } + if (yych == 'w') goto yy261; + goto yy128; } } yy136: YYDEBUG(136, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1646 "Zend/zend_language_scanner.l" - { - char *end; - if (yyleng < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */ - errno = 0; - ZVAL_LONG(zendlval, ZEND_STRTOL(yytext, &end, 0)); - /* This isn't an assert, we need to ensure 019 isn't valid octal - * Because the lexing itself doesn't do that for us - */ - if (end != yytext + yyleng) { - zend_throw_exception(zend_ce_parse_error, "Invalid numeric literal", 0); - ZVAL_UNDEF(zendlval); - RETURN_TOKEN(T_LNUMBER); - } - } else { - errno = 0; - ZVAL_LONG(zendlval, ZEND_STRTOL(yytext, &end, 0)); - if (errno == ERANGE) { /* Overflow */ - errno = 0; - if (yytext[0] == '0') { /* octal overflow */ - errno = 0; - ZVAL_DOUBLE(zendlval, zend_oct_strtod(yytext, (const char **)&end)); + yych = *++YYCURSOR; + if (yych <= 'R') { + if (yych == 'H') goto yy262; + if (yych <= 'Q') goto yy128; + goto yy263; + } else { + if (yych <= 'h') { + if (yych <= 'g') goto yy128; + goto yy262; } else { - ZVAL_DOUBLE(zendlval, zend_strtod(yytext, (const char **)&end)); + if (yych == 'r') goto yy263; + goto yy128; } - /* Also not an assert for the same reason */ - if (end != yytext + yyleng) { - zend_throw_exception(zend_ce_parse_error, - "Invalid numeric literal", 0); - ZVAL_UNDEF(zendlval); - RETURN_TOKEN(T_DNUMBER); - } - ZEND_ASSERT(!errno); - RETURN_TOKEN(T_DNUMBER); - } - /* Also not an assert for the same reason */ - if (end != yytext + yyleng) { - zend_throw_exception(zend_ce_parse_error, "Invalid numeric literal", 0); - ZVAL_UNDEF(zendlval); - RETURN_TOKEN(T_DNUMBER); } - } - ZEND_ASSERT(!errno); - RETURN_TOKEN(T_LNUMBER); -} -#line 2770 "Zend/zend_language_scanner.c" yy137: YYDEBUG(137, *YYCURSOR); - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '9') { - if (yych == '.') goto yy151; - if (yych <= '/') goto yy136; - goto yy154; + yych = *++YYCURSOR; + if (yych <= 'S') { + if (yych == 'N') goto yy264; + if (yych <= 'R') goto yy128; + goto yy265; } else { - if (yych <= 'E') { - if (yych <= 'D') goto yy136; - goto yy156; + if (yych <= 'n') { + if (yych <= 'm') goto yy128; + goto yy264; } else { - if (yych == 'e') goto yy156; - goto yy136; + if (yych == 's') goto yy265; + goto yy128; } } yy138: YYDEBUG(138, *YYCURSOR); yych = *++YYCURSOR; - goto yy150; + if (yych == 'A') goto yy266; + if (yych == 'a') goto yy266; + goto yy128; yy139: YYDEBUG(139, *YYCURSOR); - ++YYCURSOR; + yych = *++YYCURSOR; + if (yych == 'H') goto yy267; + if (yych == 'h') goto yy267; + goto yy128; yy140: YYDEBUG(140, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1898 "Zend/zend_language_scanner.l" - { - while (YYCURSOR < YYLIMIT) { - switch (*YYCURSOR++) { - case '\r': - if (*YYCURSOR == '\n') { - YYCURSOR++; - } - /* fall through */ - case '\n': - CG(zend_lineno)++; - break; - case '?': - if (*YYCURSOR == '>') { - YYCURSOR--; - break; - } - /* fall through */ - default: - continue; - } - - break; - } - - yyleng = YYCURSOR - SCNG(yy_text); - - RETURN_TOKEN(T_COMMENT); -} -#line 2827 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; + if (yych == 'O') goto yy268; + if (yych == 'o') goto yy268; + goto yy128; yy141: YYDEBUG(141, *YYCURSOR); - ++YYCURSOR; + yych = *++YYCURSOR; + if (yych == 'I') goto yy269; + if (yych == 'i') goto yy269; + goto yy128; yy142: YYDEBUG(142, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(143, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1966 "Zend/zend_language_scanner.l" +#line 1316 "Zend/zend_language_scanner.l" { - register char *s, *t; - char *end; - int bprefix = (yytext[0] != '\'') ? 1 : 0; - - while (1) { - if (YYCURSOR < YYLIMIT) { - if (*YYCURSOR == '\'') { - YYCURSOR++; - yyleng = YYCURSOR - SCNG(yy_text); - - break; - } else if (*YYCURSOR++ == '\\' && YYCURSOR < YYLIMIT) { - YYCURSOR++; - } - } else { - yyleng = YYLIMIT - SCNG(yy_text); - - /* Unclosed single quotes; treat similar to double quotes, but without a separate token - * for ' (unrecognized by parser), instead of old flex fallback to "Unexpected character..." - * rule, which continued in ST_IN_SCRIPTING state after the quote */ - ZVAL_NULL(zendlval); - RETURN_TOKEN(T_ENCAPSED_AND_WHITESPACE); - } - } - - ZVAL_STRINGL(zendlval, yytext+bprefix+1, yyleng-bprefix-2); - - /* convert escape sequences */ - s = t = Z_STRVAL_P(zendlval); - end = s+Z_STRLEN_P(zendlval); - while (s<end) { - if (*s=='\\') { - s++; - - switch(*s) { - case '\\': - case '\'': - *t++ = *s; - Z_STRLEN_P(zendlval)--; - break; - default: - *t++ = '\\'; - *t++ = *s; - break; - } - } else { - *t++ = *s; - } - - if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) { - CG(zend_lineno)++; - } - s++; - } - *t = 0; - - if (SCNG(output_filter)) { - size_t sz = 0; - char *str = NULL; - s = Z_STRVAL_P(zendlval); - // TODO: avoid reallocation ??? - SCNG(output_filter)((unsigned char **)&str, &sz, (unsigned char *)s, (size_t)Z_STRLEN_P(zendlval)); - ZVAL_STRINGL(zendlval, str, sz); - } - RETURN_TOKEN(T_CONSTANT_ENCAPSED_STRING); + RETURN_TOKEN(T_NS_SEPARATOR); } -#line 2902 "Zend/zend_language_scanner.c" -yy143: - YYDEBUG(143, *YYCURSOR); - ++YYCURSOR; +#line 2929 "Zend/zend_language_scanner.c" yy144: YYDEBUG(144, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 2035 "Zend/zend_language_scanner.l" - { - int bprefix = (yytext[0] != '"') ? 1 : 0; - - while (YYCURSOR < YYLIMIT) { - switch (*YYCURSOR++) { - case '"': - yyleng = YYCURSOR - SCNG(yy_text); - zend_scan_escape_string(zendlval, yytext+bprefix+1, yyleng-bprefix-2, '"'); - RETURN_TOKEN(T_CONSTANT_ENCAPSED_STRING); - case '$': - if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') { - break; - } - continue; - case '{': - if (*YYCURSOR == '$') { - break; - } - continue; - case '\\': - if (YYCURSOR < YYLIMIT) { - YYCURSOR++; - } - /* fall through */ - default: - continue; - } - - YYCURSOR--; - break; - } - - /* Remember how much was scanned to save rescanning */ - SET_DOUBLE_QUOTES_SCANNED_LENGTH(YYCURSOR - SCNG(yy_text) - yyleng); - - YYCURSOR = SCNG(yy_text) + yyleng; - - BEGIN(ST_DOUBLE_QUOTES); - RETURN_TOKEN('"'); -} -#line 2950 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; + if (yych == '=') goto yy270; + goto yy93; yy145: YYDEBUG(145, *YYCURSOR); - ++YYCURSOR; + yych = *++YYCURSOR; + if (yych == '_') goto yy272; + goto yy128; +yy146: YYDEBUG(146, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(147, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 2125 "Zend/zend_language_scanner.l" { BEGIN(ST_BACKQUOTE); RETURN_TOKEN('`'); } -#line 2961 "Zend/zend_language_scanner.c" -yy147: - YYDEBUG(147, *YYCURSOR); - ++YYCURSOR; +#line 2950 "Zend/zend_language_scanner.c" +yy148: YYDEBUG(148, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(149, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 2387 "Zend/zend_language_scanner.l" +#line 1581 "Zend/zend_language_scanner.l" { - if (YYCURSOR > YYLIMIT) { - RETURN_TOKEN(END); - } - - zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE); - goto restart; + yy_push_state(ST_IN_SCRIPTING); + RETURN_TOKEN('{'); } -#line 2976 "Zend/zend_language_scanner.c" -yy149: - YYDEBUG(149, *YYCURSOR); - ++YYCURSOR; - YYFILL(1); - yych = *YYCURSOR; +#line 2961 "Zend/zend_language_scanner.c" yy150: YYDEBUG(150, *YYCURSOR); - if (yybm[0+yych] & 4) { - goto yy149; - } - goto yy87; + yych = *++YYCURSOR; + if (yych == '=') goto yy273; + if (yych == '|') goto yy275; + goto yy93; yy151: YYDEBUG(151, *YYCURSOR); - yyaccept = 3; - YYMARKER = ++YYCURSOR; - YYFILL(3); - yych = *YYCURSOR; + ++YYCURSOR; YYDEBUG(152, *YYCURSOR); - if (yybm[0+yych] & 8) { - goto yy151; - } - if (yych == 'E') goto yy156; - if (yych == 'e') goto yy156; -yy153: - YYDEBUG(153, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1740 "Zend/zend_language_scanner.l" +#line 1593 "Zend/zend_language_scanner.l" { - const char *end; - - ZVAL_DOUBLE(zendlval, zend_strtod(yytext, &end)); - /* errno isn't checked since we allow HUGE_VAL/INF overflow */ - ZEND_ASSERT(end == yytext + yyleng); - RETURN_TOKEN(T_DNUMBER); + RESET_DOC_COMMENT(); + if (!zend_stack_is_empty(&SCNG(state_stack))) { + yy_pop_state(); + } + RETURN_TOKEN('}'); } -#line 3012 "Zend/zend_language_scanner.c" +#line 2981 "Zend/zend_language_scanner.c" +yy153: + YYDEBUG(153, *YYCURSOR); + ++YYCURSOR; + if ((yych = *YYCURSOR) == '=') goto yy277; yy154: YYDEBUG(154, *YYCURSOR); - yyaccept = 2; - YYMARKER = ++YYCURSOR; - YYFILL(3); - yych = *YYCURSOR; + yyleng = YYCURSOR - SCNG(yy_text); +#line 1480 "Zend/zend_language_scanner.l" + { + RETURN_TOKEN(T_IS_NOT_EQUAL); +} +#line 2993 "Zend/zend_language_scanner.c" +yy155: YYDEBUG(155, *YYCURSOR); - if (yych <= '9') { - if (yych == '.') goto yy151; - if (yych <= '/') goto yy136; - goto yy154; - } else { - if (yych <= 'E') { - if (yych <= 'D') goto yy136; - } else { - if (yych != 'e') goto yy136; - } - } -yy156: + ++YYCURSOR; + YYFILL(1); + yych = *YYCURSOR; YYDEBUG(156, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= ',') { - if (yych == '+') goto yy158; - } else { - if (yych <= '-') goto yy158; - if (yych <= '/') goto yy157; - if (yych <= '9') goto yy159; - } -yy157: - YYDEBUG(157, *YYCURSOR); - YYCURSOR = YYMARKER; - if (yyaccept <= 3) { - if (yyaccept <= 1) { - if (yyaccept <= 0) { - goto yy87; - } else { - goto yy102; - } + if (yych <= '^') { + if (yych <= '9') { + if (yych >= '0') goto yy155; } else { - if (yyaccept <= 2) { - goto yy136; - } else { - goto yy153; - } + if (yych <= '@') goto yy157; + if (yych <= 'Z') goto yy155; } } else { - if (yyaccept <= 5) { - if (yyaccept <= 4) { - goto yy190; - } else { - goto yy210; - } + if (yych <= '`') { + if (yych <= '_') goto yy155; } else { - goto yy601; + if (yych <= 'z') goto yy155; + if (yych >= 0x80) goto yy155; } } +yy157: + YYDEBUG(157, *YYCURSOR); + yyleng = YYCURSOR - SCNG(yy_text); +#line 1869 "Zend/zend_language_scanner.l" + { + zend_copy_value(zendlval, (yytext+1), (yyleng-1)); + RETURN_TOKEN(T_VARIABLE); +} +#line 3023 "Zend/zend_language_scanner.c" yy158: YYDEBUG(158, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= '/') goto yy157; - if (yych >= ':') goto yy157; -yy159: - YYDEBUG(159, *YYCURSOR); ++YYCURSOR; - YYFILL(1); - yych = *YYCURSOR; + YYDEBUG(159, *YYCURSOR); + yyleng = YYCURSOR - SCNG(yy_text); +#line 1524 "Zend/zend_language_scanner.l" + { + RETURN_TOKEN(T_MOD_EQUAL); +} +#line 3033 "Zend/zend_language_scanner.c" +yy160: YYDEBUG(160, *YYCURSOR); - if (yych <= '/') goto yy153; - if (yych <= '9') goto yy159; - goto yy153; -yy161: + ++YYCURSOR; YYDEBUG(161, *YYCURSOR); - yych = *++YYCURSOR; - if (yybm[0+yych] & 32) { - goto yy166; - } - goto yy157; + yyleng = YYCURSOR - SCNG(yy_text); +#line 1552 "Zend/zend_language_scanner.l" + { + RETURN_TOKEN(T_BOOLEAN_AND); +} +#line 3043 "Zend/zend_language_scanner.c" yy162: YYDEBUG(162, *YYCURSOR); - yych = *++YYCURSOR; - if (yybm[0+yych] & 16) { - goto yy163; - } - goto yy157; -yy163: - YYDEBUG(163, *YYCURSOR); ++YYCURSOR; - YYFILL(1); - yych = *YYCURSOR; - YYDEBUG(164, *YYCURSOR); - if (yybm[0+yych] & 16) { - goto yy163; - } - YYDEBUG(165, *YYCURSOR); + YYDEBUG(163, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1618 "Zend/zend_language_scanner.l" +#line 1536 "Zend/zend_language_scanner.l" { - char *bin = yytext + 2; /* Skip "0b" */ - int len = yyleng - 2; - char *end; - - /* Skip any leading 0s */ - while (*bin == '0') { - ++bin; - --len; - } - - if (len < SIZEOF_ZEND_LONG * 8) { - if (len == 0) { - ZVAL_LONG(zendlval, 0); - } else { - errno = 0; - ZVAL_LONG(zendlval, ZEND_STRTOL(bin, &end, 2)); - ZEND_ASSERT(!errno && end == yytext + yyleng); - } - RETURN_TOKEN(T_LNUMBER); - } else { - ZVAL_DOUBLE(zendlval, zend_bin_strtod(bin, (const char **)&end)); - /* errno isn't checked since we allow HUGE_VAL/INF overflow */ - ZEND_ASSERT(end == yytext + yyleng); - RETURN_TOKEN(T_DNUMBER); - } + RETURN_TOKEN(T_AND_EQUAL); } -#line 3136 "Zend/zend_language_scanner.c" -yy166: - YYDEBUG(166, *YYCURSOR); +#line 3053 "Zend/zend_language_scanner.c" +yy164: + YYDEBUG(164, *YYCURSOR); ++YYCURSOR; - YYFILL(1); + YYFILL(7); yych = *YYCURSOR; - YYDEBUG(167, *YYCURSOR); +yy165: + YYDEBUG(165, *YYCURSOR); if (yybm[0+yych] & 32) { - goto yy166; + goto yy164; } - YYDEBUG(168, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1691 "Zend/zend_language_scanner.l" - { - char *hex = yytext + 2; /* Skip "0x" */ - int len = yyleng - 2; - char *end; - - /* Skip any leading 0s */ - while (*hex == '0') { - hex++; - len--; - } - - if (len < SIZEOF_ZEND_LONG * 2 || (len == SIZEOF_ZEND_LONG * 2 && *hex <= '7')) { - if (len == 0) { - ZVAL_LONG(zendlval, 0); - } else { - errno = 0; - ZVAL_LONG(zendlval, ZEND_STRTOL(hex, &end, 16)); - ZEND_ASSERT(!errno && end == hex + len); + switch (yych) { + case 'A': + case 'a': goto yy167; + case 'B': + case 'b': goto yy168; + case 'D': + case 'd': goto yy169; + case 'F': + case 'f': goto yy170; + case 'I': + case 'i': goto yy171; + case 'O': + case 'o': goto yy172; + case 'R': + case 'r': goto yy173; + case 'S': + case 's': goto yy174; + case 'U': + case 'u': goto yy175; + default: goto yy166; } - RETURN_TOKEN(T_LNUMBER); - } else { - ZVAL_DOUBLE(zendlval, zend_hex_strtod(hex, (const char **)&end)); - /* errno isn't checked since we allow HUGE_VAL/INF overflow */ - ZEND_ASSERT(end == hex + len); - RETURN_TOKEN(T_DNUMBER); - } -} -#line 3176 "Zend/zend_language_scanner.c" -yy169: - YYDEBUG(169, *YYCURSOR); - ++YYCURSOR; - YYFILL(1); - yych = *YYCURSOR; - YYDEBUG(170, *YYCURSOR); - if (yych <= '^') { - if (yych <= '9') { - if (yych >= '0') goto yy169; +yy166: + YYDEBUG(166, *YYCURSOR); + YYCURSOR = YYMARKER; + if (yyaccept <= 3) { + if (yyaccept <= 1) { + if (yyaccept == 0) { + goto yy93; + } else { + goto yy111; + } } else { - if (yych <= '@') goto yy171; - if (yych <= 'Z') goto yy169; + if (yyaccept == 2) { + goto yy120; + } else { + goto yy193; + } } } else { - if (yych <= '`') { - if (yych <= '_') goto yy169; + if (yyaccept <= 5) { + if (yyaccept == 4) { + goto yy197; + } else { + goto yy206; + } } else { - if (yych <= 'z') goto yy169; - if (yych >= 0x80) goto yy169; + goto yy541; } } +yy167: + YYDEBUG(167, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'R') goto yy279; + if (yych == 'r') goto yy279; + goto yy166; +yy168: + YYDEBUG(168, *YYCURSOR); + yych = *++YYCURSOR; + if (yych <= 'O') { + if (yych == 'I') goto yy280; + if (yych <= 'N') goto yy166; + goto yy281; + } else { + if (yych <= 'i') { + if (yych <= 'h') goto yy166; + goto yy280; + } else { + if (yych == 'o') goto yy281; + goto yy166; + } + } +yy169: + YYDEBUG(169, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'O') goto yy282; + if (yych == 'o') goto yy282; + goto yy166; +yy170: + YYDEBUG(170, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'L') goto yy283; + if (yych == 'l') goto yy283; + goto yy166; yy171: YYDEBUG(171, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1869 "Zend/zend_language_scanner.l" - { - zend_copy_value(zendlval, (yytext+1), (yyleng-1)); - RETURN_TOKEN(T_VARIABLE); -} -#line 3206 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; + if (yych == 'N') goto yy284; + if (yych == 'n') goto yy284; + goto yy166; yy172: YYDEBUG(172, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy173; - if (yych != 'r') goto yy150; + if (yych == 'B') goto yy285; + if (yych == 'b') goto yy285; + goto yy166; yy173: YYDEBUG(173, *YYCURSOR); - ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; - } + yych = *++YYCURSOR; + if (yych == 'E') goto yy286; + if (yych == 'e') goto yy286; + goto yy166; +yy174: YYDEBUG(174, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'T') goto yy287; + if (yych == 't') goto yy287; + goto yy166; +yy175: + YYDEBUG(175, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'N') goto yy288; + if (yych == 'n') goto yy288; + goto yy166; +yy176: + YYDEBUG(176, *YYCURSOR); + ++YYCURSOR; + if ((yych = *YYCURSOR) == '=') goto yy289; + YYDEBUG(177, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1564 "Zend/zend_language_scanner.l" +#line 1508 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_LOGICAL_XOR); + RETURN_TOKEN(T_POW); } -#line 3224 "Zend/zend_language_scanner.c" -yy175: - YYDEBUG(175, *YYCURSOR); +#line 3187 "Zend/zend_language_scanner.c" +yy178: + YYDEBUG(178, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; - } - YYDEBUG(176, *YYCURSOR); + YYDEBUG(179, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1556 "Zend/zend_language_scanner.l" +#line 1504 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_LOGICAL_OR); + RETURN_TOKEN(T_MUL_EQUAL); } -#line 3237 "Zend/zend_language_scanner.c" -yy177: - YYDEBUG(177, *YYCURSOR); +#line 3197 "Zend/zend_language_scanner.c" +yy180: + YYDEBUG(180, *YYCURSOR); ++YYCURSOR; - YYDEBUG(178, *YYCURSOR); + YYDEBUG(181, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1544 "Zend/zend_language_scanner.l" +#line 1460 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_XOR_EQUAL); + RETURN_TOKEN(T_INC); } -#line 3247 "Zend/zend_language_scanner.c" -yy179: - YYDEBUG(179, *YYCURSOR); +#line 3207 "Zend/zend_language_scanner.c" +yy182: + YYDEBUG(182, *YYCURSOR); ++YYCURSOR; - YYDEBUG(180, *YYCURSOR); + YYDEBUG(183, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1548 "Zend/zend_language_scanner.l" +#line 1496 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_BOOLEAN_OR); + RETURN_TOKEN(T_PLUS_EQUAL); } -#line 3257 "Zend/zend_language_scanner.c" -yy181: - YYDEBUG(181, *YYCURSOR); +#line 3217 "Zend/zend_language_scanner.c" +yy184: + YYDEBUG(184, *YYCURSOR); ++YYCURSOR; - YYDEBUG(182, *YYCURSOR); + YYDEBUG(185, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1540 "Zend/zend_language_scanner.l" +#line 1464 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_OR_EQUAL); + RETURN_TOKEN(T_DEC); } -#line 3267 "Zend/zend_language_scanner.c" -yy183: - YYDEBUG(183, *YYCURSOR); +#line 3227 "Zend/zend_language_scanner.c" +yy186: + YYDEBUG(186, *YYCURSOR); ++YYCURSOR; - YYDEBUG(184, *YYCURSOR); + YYDEBUG(187, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1552 "Zend/zend_language_scanner.l" +#line 1500 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_BOOLEAN_AND); + RETURN_TOKEN(T_MINUS_EQUAL); } -#line 3277 "Zend/zend_language_scanner.c" -yy185: - YYDEBUG(185, *YYCURSOR); +#line 3237 "Zend/zend_language_scanner.c" +yy188: + YYDEBUG(188, *YYCURSOR); ++YYCURSOR; - YYDEBUG(186, *YYCURSOR); + YYDEBUG(189, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1536 "Zend/zend_language_scanner.l" +#line 1286 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_AND_EQUAL); + yy_push_state(ST_LOOKING_FOR_PROPERTY); + RETURN_TOKEN(T_OBJECT_OPERATOR); } -#line 3287 "Zend/zend_language_scanner.c" -yy187: - YYDEBUG(187, *YYCURSOR); +#line 3248 "Zend/zend_language_scanner.c" +yy190: + YYDEBUG(190, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == '.') goto yy291; + goto yy166; +yy191: + YYDEBUG(191, *YYCURSOR); + yyaccept = 3; + YYMARKER = ++YYCURSOR; + YYFILL(3); + yych = *YYCURSOR; + YYDEBUG(192, *YYCURSOR); + if (yych <= 'D') { + if (yych <= '/') goto yy193; + if (yych <= '9') goto yy191; + } else { + if (yych <= 'E') goto yy201; + if (yych == 'e') goto yy201; + } +yy193: + YYDEBUG(193, *YYCURSOR); + yyleng = YYCURSOR - SCNG(yy_text); +#line 1740 "Zend/zend_language_scanner.l" + { + const char *end; + + ZVAL_DOUBLE(zendlval, zend_strtod(yytext, &end)); + /* errno isn't checked since we allow HUGE_VAL/INF overflow */ + ZEND_ASSERT(end == yytext + yyleng); + RETURN_TOKEN(T_DNUMBER); +} +#line 3280 "Zend/zend_language_scanner.c" +yy194: + YYDEBUG(194, *YYCURSOR); ++YYCURSOR; - YYDEBUG(188, *YYCURSOR); + YYDEBUG(195, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1524 "Zend/zend_language_scanner.l" +#line 1520 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_MOD_EQUAL); + RETURN_TOKEN(T_CONCAT_EQUAL); } -#line 3297 "Zend/zend_language_scanner.c" -yy189: - YYDEBUG(189, *YYCURSOR); +#line 3290 "Zend/zend_language_scanner.c" +yy196: + YYDEBUG(196, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); - if (yych == '*') goto yy194; -yy190: - YYDEBUG(190, *YYCURSOR); + if (yych == '*') goto yy293; +yy197: + YYDEBUG(197, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1927 "Zend/zend_language_scanner.l" { @@ -3335,3714 +3328,3897 @@ yy190: RETURN_TOKEN(T_COMMENT); } -#line 3339 "Zend/zend_language_scanner.c" -yy191: - YYDEBUG(191, *YYCURSOR); - yych = *++YYCURSOR; - goto yy140; -yy192: - YYDEBUG(192, *YYCURSOR); +#line 3332 "Zend/zend_language_scanner.c" +yy198: + YYDEBUG(198, *YYCURSOR); ++YYCURSOR; - YYDEBUG(193, *YYCURSOR); + YYDEBUG(199, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1516 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_DIV_EQUAL); } -#line 3353 "Zend/zend_language_scanner.c" -yy194: - YYDEBUG(194, *YYCURSOR); +#line 3342 "Zend/zend_language_scanner.c" +yy200: + YYDEBUG(200, *YYCURSOR); yych = *++YYCURSOR; if (yybm[0+yych] & 64) { - goto yy195; + goto yy294; } - goto yy157; -yy195: - YYDEBUG(195, *YYCURSOR); - ++YYCURSOR; - YYFILL(1); - yych = *YYCURSOR; - YYDEBUG(196, *YYCURSOR); - if (yybm[0+yych] & 64) { - goto yy195; - } - goto yy190; -yy197: - YYDEBUG(197, *YYCURSOR); - ++YYCURSOR; - if ((yych = *YYCURSOR) == '=') goto yy201; - YYDEBUG(198, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1508 "Zend/zend_language_scanner.l" - { - RETURN_TOKEN(T_POW); -} -#line 3381 "Zend/zend_language_scanner.c" -yy199: - YYDEBUG(199, *YYCURSOR); - ++YYCURSOR; - YYDEBUG(200, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1504 "Zend/zend_language_scanner.l" - { - RETURN_TOKEN(T_MUL_EQUAL); -} -#line 3391 "Zend/zend_language_scanner.c" + goto yy166; yy201: YYDEBUG(201, *YYCURSOR); - ++YYCURSOR; + yych = *++YYCURSOR; + if (yych <= ',') { + if (yych == '+') goto yy297; + goto yy166; + } else { + if (yych <= '-') goto yy297; + if (yych <= '/') goto yy166; + if (yych <= '9') goto yy298; + goto yy166; + } +yy202: YYDEBUG(202, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1512 "Zend/zend_language_scanner.l" - { - RETURN_TOKEN(T_POW_EQUAL); -} -#line 3401 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; + if (yybm[0+yych] & 128) { + goto yy300; + } + goto yy166; yy203: YYDEBUG(203, *YYCURSOR); ++YYCURSOR; - if ((yych = *YYCURSOR) == '=') goto yy207; YYDEBUG(204, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1572 "Zend/zend_language_scanner.l" +#line 1312 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_SR); + RETURN_TOKEN(T_PAAMAYIM_NEKUDOTAYIM); } -#line 3412 "Zend/zend_language_scanner.c" +#line 3378 "Zend/zend_language_scanner.c" yy205: YYDEBUG(205, *YYCURSOR); - ++YYCURSOR; + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ';') goto yy206; + if (yych <= '<') goto yy303; + if (yych <= '=') goto yy305; +yy206: YYDEBUG(206, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1492 "Zend/zend_language_scanner.l" +#line 1568 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_IS_GREATER_OR_EQUAL); + RETURN_TOKEN(T_SL); } -#line 3422 "Zend/zend_language_scanner.c" +#line 3393 "Zend/zend_language_scanner.c" yy207: YYDEBUG(207, *YYCURSOR); ++YYCURSOR; + if ((yych = *YYCURSOR) == '>') goto yy307; YYDEBUG(208, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1532 "Zend/zend_language_scanner.l" +#line 1488 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_SR_EQUAL); + RETURN_TOKEN(T_IS_SMALLER_OR_EQUAL); } -#line 3432 "Zend/zend_language_scanner.c" +#line 3404 "Zend/zend_language_scanner.c" yy209: YYDEBUG(209, *YYCURSOR); - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ';') goto yy210; - if (yych <= '<') goto yy219; - if (yych <= '=') goto yy217; + yych = *++YYCURSOR; + goto yy154; yy210: YYDEBUG(210, *YYCURSOR); + ++YYCURSOR; + if ((yych = *YYCURSOR) == '=') goto yy309; + YYDEBUG(211, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1568 "Zend/zend_language_scanner.l" +#line 1476 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_SL); + RETURN_TOKEN(T_IS_EQUAL); } -#line 3447 "Zend/zend_language_scanner.c" -yy211: - YYDEBUG(211, *YYCURSOR); - ++YYCURSOR; - if ((yych = *YYCURSOR) == '>') goto yy215; +#line 3419 "Zend/zend_language_scanner.c" +yy212: YYDEBUG(212, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(213, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1488 "Zend/zend_language_scanner.l" +#line 1444 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_IS_SMALLER_OR_EQUAL); + RETURN_TOKEN(T_DOUBLE_ARROW); } -#line 3458 "Zend/zend_language_scanner.c" -yy213: - YYDEBUG(213, *YYCURSOR); - ++YYCURSOR; +#line 3429 "Zend/zend_language_scanner.c" yy214: YYDEBUG(214, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(215, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1480 "Zend/zend_language_scanner.l" +#line 1492 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_IS_NOT_EQUAL); + RETURN_TOKEN(T_IS_GREATER_OR_EQUAL); } -#line 3469 "Zend/zend_language_scanner.c" -yy215: - YYDEBUG(215, *YYCURSOR); - ++YYCURSOR; +#line 3439 "Zend/zend_language_scanner.c" +yy216: YYDEBUG(216, *YYCURSOR); + ++YYCURSOR; + if ((yych = *YYCURSOR) == '=') goto yy311; + YYDEBUG(217, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1484 "Zend/zend_language_scanner.l" +#line 1572 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_SPACESHIP); + RETURN_TOKEN(T_SR); } -#line 3479 "Zend/zend_language_scanner.c" -yy217: - YYDEBUG(217, *YYCURSOR); - ++YYCURSOR; +#line 3450 "Zend/zend_language_scanner.c" +yy218: YYDEBUG(218, *YYCURSOR); + ++YYCURSOR; + if ((yych = *YYCURSOR) == '\n') goto yy313; + if (yych == '\r') goto yy314; +yy219: + YYDEBUG(219, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1528 "Zend/zend_language_scanner.l" +#line 1960 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_SL_EQUAL); + BEGIN(INITIAL); + RETURN_TOKEN(T_CLOSE_TAG); /* implicit ';' at php-end tag */ } -#line 3489 "Zend/zend_language_scanner.c" -yy219: - YYDEBUG(219, *YYCURSOR); - ++YYCURSOR; - YYFILL(2); - yych = *YYCURSOR; +#line 3464 "Zend/zend_language_scanner.c" +yy220: YYDEBUG(220, *YYCURSOR); - if (yybm[0+yych] & 128) { - goto yy219; - } - if (yych <= 'Z') { - if (yych <= '&') { - if (yych == '"') goto yy224; - goto yy157; - } else { - if (yych <= '\'') goto yy223; - if (yych <= '@') goto yy157; - } - } else { - if (yych <= '`') { - if (yych != '_') goto yy157; - } else { - if (yych <= 'z') goto yy221; - if (yych <= 0x7F) goto yy157; - } - } -yy221: - YYDEBUG(221, *YYCURSOR); ++YYCURSOR; - YYFILL(2); - yych = *YYCURSOR; + YYDEBUG(221, *YYCURSOR); + yyleng = YYCURSOR - SCNG(yy_text); +#line 1324 "Zend/zend_language_scanner.l" + { + RETURN_TOKEN(T_COALESCE); +} +#line 3474 "Zend/zend_language_scanner.c" +yy222: YYDEBUG(222, *YYCURSOR); - if (yych <= '@') { - if (yych <= '\f') { - if (yych == '\n') goto yy228; - goto yy157; - } else { - if (yych <= '\r') goto yy230; - if (yych <= '/') goto yy157; - if (yych <= '9') goto yy221; - goto yy157; - } - } else { - if (yych <= '_') { - if (yych <= 'Z') goto yy221; - if (yych <= '^') goto yy157; - goto yy221; - } else { - if (yych <= '`') goto yy157; - if (yych <= 'z') goto yy221; - if (yych <= 0x7F) goto yy157; - goto yy221; - } - } + yych = *++YYCURSOR; + if (yych == 'S') goto yy315; + if (yych == 's') goto yy315; + goto yy128; yy223: YYDEBUG(223, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '\'') goto yy157; - if (yych <= '/') goto yy232; - if (yych <= '9') goto yy157; - goto yy232; + if (yych == 'D') goto yy316; + if (yych == 'd') goto yy316; + goto yy128; yy224: YYDEBUG(224, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '"') goto yy157; - if (yych <= '/') goto yy226; - if (yych <= '9') goto yy157; - goto yy226; + if (yych == 'R') goto yy318; + if (yych == 'r') goto yy318; + goto yy128; yy225: YYDEBUG(225, *YYCURSOR); ++YYCURSOR; - YYFILL(3); - yych = *YYCURSOR; -yy226: - YYDEBUG(226, *YYCURSOR); - if (yych <= 'Z') { - if (yych <= '/') { - if (yych != '"') goto yy157; - } else { - if (yych <= '9') goto yy225; - if (yych <= '@') goto yy157; - goto yy225; - } - } else { - if (yych <= '`') { - if (yych == '_') goto yy225; - goto yy157; - } else { - if (yych <= 'z') goto yy225; - if (yych <= 0x7F) goto yy157; - goto yy225; - } + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; } + YYDEBUG(226, *YYCURSOR); + yyleng = YYCURSOR - SCNG(yy_text); +#line 1226 "Zend/zend_language_scanner.l" + { + RETURN_TOKEN(T_AS); +} +#line 3505 "Zend/zend_language_scanner.c" yy227: YYDEBUG(227, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '\n') goto yy228; - if (yych == '\r') goto yy230; - goto yy157; + if (yych == '<') goto yy319; + goto yy166; yy228: YYDEBUG(228, *YYCURSOR); - ++YYCURSOR; + yych = *++YYCURSOR; + if (yych == 'E') goto yy320; + if (yych == 'e') goto yy320; + goto yy128; yy229: YYDEBUG(229, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 2077 "Zend/zend_language_scanner.l" - { - char *s; - int bprefix = (yytext[0] != '<') ? 1 : 0; - zend_heredoc_label *heredoc_label = emalloc(sizeof(zend_heredoc_label)); - - CG(zend_lineno)++; - heredoc_label->length = yyleng-bprefix-3-1-(yytext[yyleng-2]=='\r'?1:0); - s = yytext+bprefix+3; - while ((*s == ' ') || (*s == '\t')) { - s++; - heredoc_label->length--; - } - - if (*s == '\'') { - s++; - heredoc_label->length -= 2; - - BEGIN(ST_NOWDOC); - } else { - if (*s == '"') { - s++; - heredoc_label->length -= 2; - } - - BEGIN(ST_HEREDOC); - } - - heredoc_label->label = estrndup(s, heredoc_label->length); - - /* Check for ending label on the next line */ - if (heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, s, heredoc_label->length)) { - YYCTYPE *end = YYCURSOR + heredoc_label->length; - - if (*end == ';') { - end++; - } - - if (*end == '\n' || *end == '\r') { - BEGIN(ST_END_HEREDOC); + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= 'L') { + if (yych <= 'K') goto yy128; + goto yy321; + } else { + if (yych <= 'R') goto yy128; + if (yych <= 'S') goto yy322; + goto yy323; + } + } else { + if (yych <= 'r') { + if (yych == 'l') goto yy321; + goto yy128; + } else { + if (yych <= 's') goto yy322; + if (yych <= 't') goto yy323; + goto yy128; + } } - } - - zend_ptr_stack_push(&SCNG(heredoc_label_stack), (void *) heredoc_label); - - RETURN_TOKEN(T_START_HEREDOC); -} -#line 3641 "Zend/zend_language_scanner.c" yy230: YYDEBUG(230, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '\n') goto yy228; - goto yy229; + if (yych <= 'O') { + if (yych == 'A') goto yy324; + if (yych <= 'N') goto yy128; + goto yy325; + } else { + if (yych <= 'a') { + if (yych <= '`') goto yy128; + goto yy324; + } else { + if (yych == 'o') goto yy325; + goto yy128; + } + } yy231: YYDEBUG(231, *YYCURSOR); - ++YYCURSOR; - YYFILL(3); - yych = *YYCURSOR; + yych = *++YYCURSOR; + if (yych == 'N') goto yy326; + if (yych == 'n') goto yy326; + goto yy128; yy232: YYDEBUG(232, *YYCURSOR); - if (yych <= 'Z') { - if (yych <= '/') { - if (yych == '\'') goto yy227; - goto yy157; - } else { - if (yych <= '9') goto yy231; - if (yych <= '@') goto yy157; - goto yy231; - } + yych = *++YYCURSOR; + if (yych <= 'F') { + if (yych == 'C') goto yy327; + if (yych <= 'E') goto yy128; + goto yy328; } else { - if (yych <= '`') { - if (yych == '_') goto yy231; - goto yy157; + if (yych <= 'c') { + if (yych <= 'b') goto yy128; + goto yy327; } else { - if (yych <= 'z') goto yy231; - if (yych <= 0x7F) goto yy157; - goto yy231; + if (yych == 'f') goto yy328; + goto yy128; } } yy233: YYDEBUG(233, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '=') goto yy214; + if (yych == 'E') goto yy329; + if (yych == 'e') goto yy329; + goto yy128; +yy234: YYDEBUG(234, *YYCURSOR); ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; + } YYDEBUG(235, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1472 "Zend/zend_language_scanner.l" +#line 1194 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_IS_NOT_IDENTICAL); + RETURN_TOKEN(T_DO); } -#line 3685 "Zend/zend_language_scanner.c" +#line 3595 "Zend/zend_language_scanner.c" yy236: YYDEBUG(236, *YYCURSOR); - ++YYCURSOR; + yych = *++YYCURSOR; + if (yych == 'H') goto yy331; + if (yych == 'h') goto yy331; + goto yy128; +yy237: YYDEBUG(237, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1496 "Zend/zend_language_scanner.l" - { - RETURN_TOKEN(T_PLUS_EQUAL); -} -#line 3695 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; + if (yych == 'S') goto yy332; + if (yych == 's') goto yy332; + goto yy128; yy238: YYDEBUG(238, *YYCURSOR); - ++YYCURSOR; + yych = *++YYCURSOR; + if (yych == 'P') goto yy333; + if (yych == 'p') goto yy333; + goto yy128; +yy239: YYDEBUG(239, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1460 "Zend/zend_language_scanner.l" - { - RETURN_TOKEN(T_INC); -} -#line 3705 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; + if (yych == 'D') goto yy334; + if (yych == 'd') goto yy334; + goto yy128; yy240: YYDEBUG(240, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy241; - if (yych != 's') goto yy150; + if (yych == 'A') goto yy335; + if (yych == 'a') goto yy335; + goto yy128; yy241: YYDEBUG(241, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy242; - if (yych != 't') goto yy150; + if (yych <= 'T') { + if (yych == 'I') goto yy336; + if (yych <= 'S') goto yy128; + goto yy337; + } else { + if (yych <= 'i') { + if (yych <= 'h') goto yy128; + goto yy336; + } else { + if (yych == 't') goto yy337; + goto yy128; + } + } yy242: YYDEBUG(242, *YYCURSOR); - ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; - } + yych = *++YYCURSOR; + if (yych == 'N') goto yy338; + if (yych == 'n') goto yy338; + goto yy128; +yy243: YYDEBUG(243, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1448 "Zend/zend_language_scanner.l" - { - RETURN_TOKEN(T_LIST); -} -#line 3728 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; + if (yych == 'R') goto yy339; + if (yych == 'r') goto yy339; + goto yy128; yy244: YYDEBUG(244, *YYCURSOR); - ++YYCURSOR; - if ((yych = *YYCURSOR) == '=') goto yy248; + yych = *++YYCURSOR; + if (yych == 'N') goto yy341; + if (yych == 'n') goto yy341; + goto yy128; +yy245: YYDEBUG(245, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1476 "Zend/zend_language_scanner.l" - { - RETURN_TOKEN(T_IS_EQUAL); -} -#line 3739 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; + if (yych == 'O') goto yy342; + if (yych == 'o') goto yy342; + goto yy128; yy246: YYDEBUG(246, *YYCURSOR); - ++YYCURSOR; + yych = *++YYCURSOR; + if (yych == 'T') goto yy343; + if (yych == 't') goto yy343; + goto yy128; +yy247: YYDEBUG(247, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1444 "Zend/zend_language_scanner.l" - { - RETURN_TOKEN(T_DOUBLE_ARROW); -} -#line 3749 "Zend/zend_language_scanner.c" -yy248: - YYDEBUG(248, *YYCURSOR); ++YYCURSOR; - YYDEBUG(249, *YYCURSOR); + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; + } + YYDEBUG(248, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1468 "Zend/zend_language_scanner.l" +#line 1170 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_IS_IDENTICAL); + RETURN_TOKEN(T_IF); } -#line 3759 "Zend/zend_language_scanner.c" +#line 3684 "Zend/zend_language_scanner.c" +yy249: + YYDEBUG(249, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'P') goto yy344; + if (yych == 'p') goto yy344; + goto yy128; yy250: YYDEBUG(250, *YYCURSOR); yych = *++YYCURSOR; - YYDEBUG(-1, yych); - switch (yych) { - case 'C': - case 'c': goto yy252; - case 'D': - case 'd': goto yy257; - case 'F': - case 'f': goto yy254; - case 'H': - case 'h': goto yy251; - case 'L': - case 'l': goto yy256; - case 'M': - case 'm': goto yy255; - case 'N': - case 'n': goto yy258; - case 'T': - case 't': goto yy253; - default: goto yy150; + if (yych <= 'T') { + if (yych <= 'C') { + if (yych <= 'B') goto yy128; + goto yy345; + } else { + if (yych <= 'R') goto yy128; + if (yych <= 'S') goto yy346; + goto yy347; + } + } else { + if (yych <= 'r') { + if (yych == 'c') goto yy345; + goto yy128; + } else { + if (yych <= 's') goto yy346; + if (yych <= 't') goto yy347; + goto yy128; + } } yy251: YYDEBUG(251, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy319; - if (yych == 'a') goto yy319; - goto yy150; + if (yych == 'S') goto yy348; + if (yych == 's') goto yy348; + goto yy128; yy252: YYDEBUG(252, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy312; - if (yych == 'l') goto yy312; - goto yy150; + if (yych == 'S') goto yy349; + if (yych == 's') goto yy349; + goto yy128; yy253: YYDEBUG(253, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy305; - if (yych == 'r') goto yy305; - goto yy150; + if (yych == 'M') goto yy350; + if (yych == 'm') goto yy350; + goto yy128; yy254: YYDEBUG(254, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych == 'I') goto yy289; - if (yych <= 'T') goto yy150; - goto yy290; - } else { - if (yych <= 'i') { - if (yych <= 'h') goto yy150; - goto yy289; - } else { - if (yych == 'u') goto yy290; - goto yy150; - } - } + if (yych == 'W') goto yy351; + if (yych == 'w') goto yy351; + goto yy128; yy255: YYDEBUG(255, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy281; - if (yych == 'e') goto yy281; - goto yy150; -yy256: + ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; + } YYDEBUG(256, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'I') goto yy275; - if (yych == 'i') goto yy275; - goto yy150; + yyleng = YYCURSOR - SCNG(yy_text); +#line 1556 "Zend/zend_language_scanner.l" + { + RETURN_TOKEN(T_LOGICAL_OR); +} +#line 3749 "Zend/zend_language_scanner.c" yy257: YYDEBUG(257, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy270; - if (yych == 'i') goto yy270; - goto yy150; + if (yych <= 'O') { + if (yych == 'I') goto yy353; + if (yych <= 'N') goto yy128; + goto yy354; + } else { + if (yych <= 'i') { + if (yych <= 'h') goto yy128; + goto yy353; + } else { + if (yych == 'o') goto yy354; + goto yy128; + } + } yy258: YYDEBUG(258, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy259; - if (yych != 'a') goto yy150; + if (yych == 'B') goto yy355; + if (yych == 'b') goto yy355; + goto yy128; yy259: YYDEBUG(259, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'M') goto yy260; - if (yych != 'm') goto yy150; + if (yych <= 'T') { + if (yych == 'Q') goto yy356; + if (yych <= 'S') goto yy128; + goto yy357; + } else { + if (yych <= 'q') { + if (yych <= 'p') goto yy128; + goto yy356; + } else { + if (yych == 't') goto yy357; + goto yy128; + } + } yy260: YYDEBUG(260, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy261; - if (yych != 'e') goto yy150; + if (yych == 'A') goto yy358; + if (yych == 'a') goto yy358; + goto yy128; yy261: YYDEBUG(261, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy262; - if (yych != 's') goto yy150; + if (yych == 'I') goto yy359; + if (yych == 'i') goto yy359; + goto yy128; yy262: YYDEBUG(262, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'P') goto yy263; - if (yych != 'p') goto yy150; + if (yych == 'R') goto yy360; + if (yych == 'r') goto yy360; + goto yy128; yy263: YYDEBUG(263, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy264; - if (yych != 'a') goto yy150; + if (yych <= 'Y') { + if (yych == 'A') goto yy361; + if (yych <= 'X') goto yy128; + goto yy362; + } else { + if (yych <= 'a') { + if (yych <= '`') goto yy128; + goto yy361; + } else { + if (yych == 'y') goto yy362; + goto yy128; + } + } yy264: YYDEBUG(264, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy265; - if (yych != 'c') goto yy150; + if (yych == 'S') goto yy364; + if (yych == 's') goto yy364; + goto yy128; yy265: YYDEBUG(265, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy266; - if (yych != 'e') goto yy150; + if (yych == 'E') goto yy365; + if (yych == 'e') goto yy365; + goto yy128; yy266: YYDEBUG(266, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy150; + if (yych == 'R') goto yy367; + if (yych == 'r') goto yy367; + goto yy128; +yy267: YYDEBUG(267, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy150; + if (yych == 'I') goto yy369; + if (yych == 'i') goto yy369; + goto yy128; +yy268: YYDEBUG(268, *YYCURSOR); - ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; - } + yych = *++YYCURSOR; + if (yych == 'R') goto yy370; + if (yych == 'r') goto yy370; + goto yy128; +yy269: YYDEBUG(269, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1777 "Zend/zend_language_scanner.l" - { - RETURN_TOKEN(T_NS_C); -} -#line 3893 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; + if (yych == 'E') goto yy372; + if (yych == 'e') goto yy372; + goto yy128; yy270: YYDEBUG(270, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy271; - if (yych != 'r') goto yy150; -yy271: + ++YYCURSOR; YYDEBUG(271, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != '_') goto yy150; + yyleng = YYCURSOR - SCNG(yy_text); +#line 1544 "Zend/zend_language_scanner.l" + { + RETURN_TOKEN(T_XOR_EQUAL); +} +#line 3867 "Zend/zend_language_scanner.c" +yy272: YYDEBUG(272, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy150; + switch (yych) { + case 'C': + case 'c': goto yy373; + case 'D': + case 'd': goto yy374; + case 'F': + case 'f': goto yy375; + case 'H': + case 'h': goto yy376; + case 'L': + case 'l': goto yy377; + case 'M': + case 'm': goto yy378; + case 'N': + case 'n': goto yy379; + case 'T': + case 't': goto yy380; + default: goto yy128; + } +yy273: YYDEBUG(273, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; - } YYDEBUG(274, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1773 "Zend/zend_language_scanner.l" +#line 1540 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_DIR); + RETURN_TOKEN(T_OR_EQUAL); } -#line 3917 "Zend/zend_language_scanner.c" +#line 3899 "Zend/zend_language_scanner.c" yy275: YYDEBUG(275, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'N') goto yy276; - if (yych != 'n') goto yy150; -yy276: + ++YYCURSOR; YYDEBUG(276, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy277; - if (yych != 'e') goto yy150; + yyleng = YYCURSOR - SCNG(yy_text); +#line 1548 "Zend/zend_language_scanner.l" + { + RETURN_TOKEN(T_BOOLEAN_OR); +} +#line 3909 "Zend/zend_language_scanner.c" yy277: YYDEBUG(277, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != '_') goto yy150; - YYDEBUG(278, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != '_') goto yy150; - YYDEBUG(279, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; - } - YYDEBUG(280, *YYCURSOR); + YYDEBUG(278, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1765 "Zend/zend_language_scanner.l" +#line 1472 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_LINE); + RETURN_TOKEN(T_IS_NOT_IDENTICAL); } -#line 3946 "Zend/zend_language_scanner.c" +#line 3919 "Zend/zend_language_scanner.c" +yy279: + YYDEBUG(279, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'R') goto yy381; + if (yych == 'r') goto yy381; + goto yy166; +yy280: + YYDEBUG(280, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'N') goto yy382; + if (yych == 'n') goto yy382; + goto yy166; yy281: YYDEBUG(281, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy282; - if (yych != 't') goto yy150; + if (yych == 'O') goto yy383; + if (yych == 'o') goto yy383; + goto yy166; yy282: YYDEBUG(282, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'H') goto yy283; - if (yych != 'h') goto yy150; + if (yych == 'U') goto yy384; + if (yych == 'u') goto yy384; + goto yy166; yy283: YYDEBUG(283, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy284; - if (yych != 'o') goto yy150; + if (yych == 'O') goto yy385; + if (yych == 'o') goto yy385; + goto yy166; yy284: YYDEBUG(284, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'D') goto yy285; - if (yych != 'd') goto yy150; + if (yych == 'T') goto yy386; + if (yych == 't') goto yy386; + goto yy166; yy285: YYDEBUG(285, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy150; + if (yych == 'J') goto yy387; + if (yych == 'j') goto yy387; + goto yy166; +yy286: YYDEBUG(286, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy150; + if (yych == 'A') goto yy388; + if (yych == 'a') goto yy388; + goto yy166; +yy287: YYDEBUG(287, *YYCURSOR); - ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; - } + yych = *++YYCURSOR; + if (yych == 'R') goto yy389; + if (yych == 'r') goto yy389; + goto yy166; +yy288: YYDEBUG(288, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1761 "Zend/zend_language_scanner.l" - { - RETURN_TOKEN(T_METHOD_C); -} -#line 3985 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; + if (yych == 'S') goto yy390; + if (yych == 's') goto yy390; + goto yy166; yy289: YYDEBUG(289, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'L') goto yy300; - if (yych == 'l') goto yy300; - goto yy150; -yy290: + ++YYCURSOR; YYDEBUG(290, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'N') goto yy291; - if (yych != 'n') goto yy150; + yyleng = YYCURSOR - SCNG(yy_text); +#line 1512 "Zend/zend_language_scanner.l" + { + RETURN_TOKEN(T_POW_EQUAL); +} +#line 3989 "Zend/zend_language_scanner.c" yy291: YYDEBUG(291, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'C') goto yy292; - if (yych != 'c') goto yy150; -yy292: + ++YYCURSOR; YYDEBUG(292, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy293; - if (yych != 't') goto yy150; + yyleng = YYCURSOR - SCNG(yy_text); +#line 1320 "Zend/zend_language_scanner.l" + { + RETURN_TOKEN(T_ELLIPSIS); +} +#line 3999 "Zend/zend_language_scanner.c" yy293: YYDEBUG(293, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy294; - if (yych != 'i') goto yy150; + if (yych <= '\f') { + if (yych <= 0x08) goto yy166; + if (yych <= '\n') goto yy391; + goto yy166; + } else { + if (yych <= '\r') goto yy391; + if (yych == ' ') goto yy391; + goto yy166; + } yy294: YYDEBUG(294, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'O') goto yy295; - if (yych != 'o') goto yy150; -yy295: + ++YYCURSOR; + YYFILL(1); + yych = *YYCURSOR; YYDEBUG(295, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'N') goto yy296; - if (yych != 'n') goto yy150; -yy296: + if (yybm[0+yych] & 64) { + goto yy294; + } YYDEBUG(296, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != '_') goto yy150; + yyleng = YYCURSOR - SCNG(yy_text); +#line 1618 "Zend/zend_language_scanner.l" + { + char *bin = yytext + 2; /* Skip "0b" */ + int len = yyleng - 2; + char *end; + + /* Skip any leading 0s */ + while (*bin == '0') { + ++bin; + --len; + } + + if (len < SIZEOF_ZEND_LONG * 8) { + if (len == 0) { + ZVAL_LONG(zendlval, 0); + } else { + errno = 0; + ZVAL_LONG(zendlval, ZEND_STRTOL(bin, &end, 2)); + ZEND_ASSERT(!errno && end == yytext + yyleng); + } + RETURN_TOKEN(T_LNUMBER); + } else { + ZVAL_DOUBLE(zendlval, zend_bin_strtod(bin, (const char **)&end)); + /* errno isn't checked since we allow HUGE_VAL/INF overflow */ + ZEND_ASSERT(end == yytext + yyleng); + RETURN_TOKEN(T_DNUMBER); + } +} +#line 4051 "Zend/zend_language_scanner.c" +yy297: YYDEBUG(297, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy150; + if (yych <= '/') goto yy166; + if (yych >= ':') goto yy166; +yy298: YYDEBUG(298, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; - } + YYFILL(1); + yych = *YYCURSOR; YYDEBUG(299, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1757 "Zend/zend_language_scanner.l" - { - RETURN_TOKEN(T_FUNC_C); -} -#line 4040 "Zend/zend_language_scanner.c" + if (yych <= '/') goto yy193; + if (yych <= '9') goto yy298; + goto yy193; yy300: YYDEBUG(300, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy301; - if (yych != 'e') goto yy150; -yy301: - YYDEBUG(301, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != '_') goto yy150; - YYDEBUG(302, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != '_') goto yy150; - YYDEBUG(303, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; + YYFILL(1); + yych = *YYCURSOR; + YYDEBUG(301, *YYCURSOR); + if (yybm[0+yych] & 128) { + goto yy300; } - YYDEBUG(304, *YYCURSOR); + YYDEBUG(302, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1769 "Zend/zend_language_scanner.l" +#line 1691 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_FILE); + char *hex = yytext + 2; /* Skip "0x" */ + int len = yyleng - 2; + char *end; + + /* Skip any leading 0s */ + while (*hex == '0') { + hex++; + len--; + } + + if (len < SIZEOF_ZEND_LONG * 2 || (len == SIZEOF_ZEND_LONG * 2 && *hex <= '7')) { + if (len == 0) { + ZVAL_LONG(zendlval, 0); + } else { + errno = 0; + ZVAL_LONG(zendlval, ZEND_STRTOL(hex, &end, 16)); + ZEND_ASSERT(!errno && end == hex + len); + } + RETURN_TOKEN(T_LNUMBER); + } else { + ZVAL_DOUBLE(zendlval, zend_hex_strtod(hex, (const char **)&end)); + /* errno isn't checked since we allow HUGE_VAL/INF overflow */ + ZEND_ASSERT(end == hex + len); + RETURN_TOKEN(T_DNUMBER); + } } -#line 4064 "Zend/zend_language_scanner.c" +#line 4105 "Zend/zend_language_scanner.c" +yy303: + YYDEBUG(303, *YYCURSOR); + ++YYCURSOR; + YYFILL(2); + yych = *YYCURSOR; + YYDEBUG(304, *YYCURSOR); + if (yych <= '\'') { + if (yych <= ' ') { + if (yych == '\t') goto yy303; + if (yych <= 0x1F) goto yy166; + goto yy303; + } else { + if (yych == '"') goto yy393; + if (yych <= '&') goto yy166; + goto yy394; + } + } else { + if (yych <= '_') { + if (yych <= '@') goto yy166; + if (yych <= 'Z') goto yy395; + if (yych <= '^') goto yy166; + goto yy395; + } else { + if (yych <= '`') goto yy166; + if (yych <= 'z') goto yy395; + if (yych <= 0x7F) goto yy166; + goto yy395; + } + } yy305: YYDEBUG(305, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy306; - if (yych != 'a') goto yy150; -yy306: + ++YYCURSOR; YYDEBUG(306, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'I') goto yy307; - if (yych != 'i') goto yy150; + yyleng = YYCURSOR - SCNG(yy_text); +#line 1528 "Zend/zend_language_scanner.l" + { + RETURN_TOKEN(T_SL_EQUAL); +} +#line 4144 "Zend/zend_language_scanner.c" yy307: YYDEBUG(307, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy308; - if (yych != 't') goto yy150; -yy308: + ++YYCURSOR; YYDEBUG(308, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != '_') goto yy150; + yyleng = YYCURSOR - SCNG(yy_text); +#line 1484 "Zend/zend_language_scanner.l" + { + RETURN_TOKEN(T_SPACESHIP); +} +#line 4154 "Zend/zend_language_scanner.c" +yy309: YYDEBUG(309, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != '_') goto yy150; - YYDEBUG(310, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; - } - YYDEBUG(311, *YYCURSOR); + YYDEBUG(310, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1753 "Zend/zend_language_scanner.l" +#line 1468 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_TRAIT_C); + RETURN_TOKEN(T_IS_IDENTICAL); } -#line 4098 "Zend/zend_language_scanner.c" -yy312: +#line 4164 "Zend/zend_language_scanner.c" +yy311: + YYDEBUG(311, *YYCURSOR); + ++YYCURSOR; YYDEBUG(312, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy313; - if (yych != 'a') goto yy150; + yyleng = YYCURSOR - SCNG(yy_text); +#line 1532 "Zend/zend_language_scanner.l" + { + RETURN_TOKEN(T_SR_EQUAL); +} +#line 4174 "Zend/zend_language_scanner.c" yy313: YYDEBUG(313, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy314; - if (yych != 's') goto yy150; + goto yy219; yy314: YYDEBUG(314, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy315; - if (yych != 's') goto yy150; + if (yych == '\n') goto yy313; + goto yy219; yy315: YYDEBUG(315, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy150; + if (yych == 'T') goto yy397; + if (yych == 't') goto yy397; + goto yy128; +yy316: YYDEBUG(316, *YYCURSOR); - yych = *++YYCURSOR; - if (yych != '_') goto yy150; - YYDEBUG(317, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; } - YYDEBUG(318, *YYCURSOR); + YYDEBUG(317, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1749 "Zend/zend_language_scanner.l" +#line 1560 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_CLASS_C); + RETURN_TOKEN(T_LOGICAL_AND); } -#line 4132 "Zend/zend_language_scanner.c" +#line 4202 "Zend/zend_language_scanner.c" +yy318: + YYDEBUG(318, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'A') goto yy398; + if (yych == 'a') goto yy398; + goto yy128; yy319: YYDEBUG(319, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy320; - if (yych != 'l') goto yy150; + if (yych == '<') goto yy303; + goto yy166; yy320: YYDEBUG(320, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy321; - if (yych != 't') goto yy150; + if (yych == 'A') goto yy399; + if (yych == 'a') goto yy399; + goto yy128; yy321: YYDEBUG(321, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '_') goto yy150; + if (yych == 'L') goto yy400; + if (yych == 'l') goto yy400; + goto yy128; +yy322: YYDEBUG(322, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy323; - if (yych != 'c') goto yy150; + if (yych == 'E') goto yy401; + if (yych == 'e') goto yy401; + goto yy128; yy323: YYDEBUG(323, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy324; - if (yych != 'o') goto yy150; + if (yych == 'C') goto yy403; + if (yych == 'c') goto yy403; + goto yy128; yy324: YYDEBUG(324, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'M') goto yy325; - if (yych != 'm') goto yy150; + if (yych == 'S') goto yy404; + if (yych == 's') goto yy404; + goto yy128; yy325: YYDEBUG(325, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'P') goto yy326; - if (yych != 'p') goto yy150; + if (yych == 'N') goto yy405; + if (yych == 'n') goto yy405; + goto yy128; yy326: YYDEBUG(326, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy327; - if (yych != 'i') goto yy150; + if (yych <= 'T') { + if (yych <= 'R') goto yy128; + if (yych <= 'S') goto yy406; + goto yy407; + } else { + if (yych <= 'r') goto yy128; + if (yych <= 's') goto yy406; + if (yych <= 't') goto yy407; + goto yy128; + } yy327: YYDEBUG(327, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy328; - if (yych != 'l') goto yy150; + if (yych == 'L') goto yy408; + if (yych == 'l') goto yy408; + goto yy128; yy328: YYDEBUG(328, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy329; - if (yych != 'e') goto yy150; + if (yych == 'A') goto yy409; + if (yych == 'a') goto yy409; + goto yy128; yy329: YYDEBUG(329, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy330; - if (yych != 'r') goto yy150; -yy330: - YYDEBUG(330, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; } - YYDEBUG(331, *YYCURSOR); + YYDEBUG(330, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1412 "Zend/zend_language_scanner.l" +#line 1129 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_HALT_COMPILER); + RETURN_TOKEN(T_EXIT); } -#line 4198 "Zend/zend_language_scanner.c" +#line 4287 "Zend/zend_language_scanner.c" +yy331: + YYDEBUG(331, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'O') goto yy410; + if (yych == 'o') goto yy410; + goto yy128; yy332: YYDEBUG(332, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy336; - if (yych == 's') goto yy336; - goto yy150; + if (yych == 'E') goto yy412; + if (yych == 'e') goto yy412; + goto yy128; yy333: YYDEBUG(333, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy334; - if (yych != 'e') goto yy150; + if (yych == 'T') goto yy414; + if (yych == 't') goto yy414; + goto yy128; yy334: YYDEBUG(334, *YYCURSOR); - ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; + yych = *++YYCURSOR; + switch (yych) { + case 'D': + case 'd': goto yy415; + case 'F': + case 'f': goto yy416; + case 'I': + case 'i': goto yy417; + case 'S': + case 's': goto yy418; + case 'W': + case 'w': goto yy419; + default: goto yy128; } +yy335: YYDEBUG(335, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1392 "Zend/zend_language_scanner.l" - { - RETURN_TOKEN(T_USE); -} -#line 4222 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; + if (yych == 'L') goto yy420; + if (yych == 'l') goto yy420; + goto yy128; yy336: YYDEBUG(336, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy337; - if (yych != 'e') goto yy150; + if (yych == 'T') goto yy422; + if (yych == 't') goto yy422; + goto yy128; yy337: YYDEBUG(337, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy338; - if (yych != 't') goto yy150; + if (yych == 'E') goto yy424; + if (yych == 'e') goto yy424; + goto yy128; yy338: YYDEBUG(338, *YYCURSOR); - ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; - } + yych = *++YYCURSOR; + if (yych == 'A') goto yy425; + if (yych == 'a') goto yy425; + goto yy128; +yy339: YYDEBUG(339, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1440 "Zend/zend_language_scanner.l" - { - RETURN_TOKEN(T_UNSET); -} -#line 4245 "Zend/zend_language_scanner.c" -yy340: - YYDEBUG(340, *YYCURSOR); ++YYCURSOR; - YYFILL(7); - yych = *YYCURSOR; -yy341: - YYDEBUG(341, *YYCURSOR); - if (yych <= 'S') { - if (yych <= 'D') { - if (yych <= ' ') { - if (yych == '\t') goto yy340; - if (yych <= 0x1F) goto yy157; - goto yy340; - } else { - if (yych <= 'A') { - if (yych <= '@') goto yy157; - goto yy345; - } else { - if (yych <= 'B') goto yy343; - if (yych <= 'C') goto yy157; - goto yy348; - } - } + if ((yych = *YYCURSOR) <= '^') { + if (yych <= '@') { + if (yych <= '/') goto yy340; + if (yych <= '9') goto yy127; } else { - if (yych <= 'I') { - if (yych == 'F') goto yy349; - if (yych <= 'H') goto yy157; - goto yy350; - } else { - if (yych <= 'O') { - if (yych <= 'N') goto yy157; - goto yy344; - } else { - if (yych <= 'Q') goto yy157; - if (yych <= 'R') goto yy347; - goto yy346; - } - } + if (yych == 'E') goto yy426; + if (yych <= 'Z') goto yy127; } } else { - if (yych <= 'f') { - if (yych <= 'a') { - if (yych == 'U') goto yy342; - if (yych <= '`') goto yy157; - goto yy345; - } else { - if (yych <= 'c') { - if (yych <= 'b') goto yy343; - goto yy157; - } else { - if (yych <= 'd') goto yy348; - if (yych <= 'e') goto yy157; - goto yy349; - } - } + if (yych <= 'd') { + if (yych != '`') goto yy127; } else { - if (yych <= 'q') { - if (yych <= 'i') { - if (yych <= 'h') goto yy157; - goto yy350; - } else { - if (yych == 'o') goto yy344; - goto yy157; - } - } else { - if (yych <= 's') { - if (yych <= 'r') goto yy347; - goto yy346; - } else { - if (yych != 'u') goto yy157; - } - } + if (yych <= 'e') goto yy426; + if (yych <= 'z') goto yy127; + if (yych >= 0x80) goto yy127; } } +yy340: + YYDEBUG(340, *YYCURSOR); + yyleng = YYCURSOR - SCNG(yy_text); +#line 1198 "Zend/zend_language_scanner.l" + { + RETURN_TOKEN(T_FOR); +} +#line 4373 "Zend/zend_language_scanner.c" +yy341: + YYDEBUG(341, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'C') goto yy427; + if (yych == 'c') goto yy427; + goto yy128; yy342: YYDEBUG(342, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy409; - if (yych == 'n') goto yy409; - goto yy157; + if (yych == 'B') goto yy428; + if (yych == 'b') goto yy428; + goto yy128; yy343: YYDEBUG(343, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= 'O') { - if (yych == 'I') goto yy396; - if (yych <= 'N') goto yy157; - goto yy397; - } else { - if (yych <= 'i') { - if (yych <= 'h') goto yy157; - goto yy396; - } else { - if (yych == 'o') goto yy397; - goto yy157; - } - } + if (yych == 'O') goto yy429; + if (yych == 'o') goto yy429; + goto yy128; yy344: YYDEBUG(344, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'B') goto yy388; - if (yych == 'b') goto yy388; - goto yy157; + if (yych == 'L') goto yy431; + if (yych == 'l') goto yy431; + goto yy128; yy345: YYDEBUG(345, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy381; - if (yych == 'r') goto yy381; - goto yy157; + if (yych == 'L') goto yy432; + if (yych == 'l') goto yy432; + goto yy128; yy346: YYDEBUG(346, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy373; - if (yych == 't') goto yy373; - goto yy157; + if (yych == 'T') goto yy433; + if (yych == 't') goto yy433; + goto yy128; yy347: YYDEBUG(347, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy371; - if (yych == 'e') goto yy371; - goto yy157; + if (yych == 'E') goto yy434; + if (yych == 'e') goto yy434; + goto yy128; yy348: YYDEBUG(348, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy367; - if (yych == 'o') goto yy367; - goto yy157; + if (yych == 'E') goto yy435; + if (yych == 'e') goto yy435; + goto yy128; yy349: YYDEBUG(349, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy360; - if (yych == 'l') goto yy360; - goto yy157; + if (yych == 'T') goto yy436; + if (yych == 't') goto yy436; + goto yy128; yy350: YYDEBUG(350, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy351; - if (yych != 'n') goto yy157; + if (yych == 'E') goto yy438; + if (yych == 'e') goto yy438; + goto yy128; yy351: YYDEBUG(351, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy352; - if (yych != 't') goto yy157; -yy352: + ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; + } YYDEBUG(352, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy353; - if (yych != 'e') goto yy355; + yyleng = YYCURSOR - SCNG(yy_text); +#line 1328 "Zend/zend_language_scanner.l" + { + RETURN_TOKEN(T_NEW); +} +#line 4446 "Zend/zend_language_scanner.c" yy353: YYDEBUG(353, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'G') goto yy358; - if (yych == 'g') goto yy358; - goto yy157; + if (yych <= 'V') { + if (yych == 'N') goto yy439; + if (yych <= 'U') goto yy128; + goto yy440; + } else { + if (yych <= 'n') { + if (yych <= 'm') goto yy128; + goto yy439; + } else { + if (yych == 'v') goto yy440; + goto yy128; + } + } yy354: YYDEBUG(354, *YYCURSOR); - ++YYCURSOR; - YYFILL(1); - yych = *YYCURSOR; + yych = *++YYCURSOR; + if (yych == 'T') goto yy441; + if (yych == 't') goto yy441; + goto yy128; yy355: YYDEBUG(355, *YYCURSOR); - if (yych <= 0x1F) { - if (yych == '\t') goto yy354; - goto yy157; - } else { - if (yych <= ' ') goto yy354; - if (yych != ')') goto yy157; - } + yych = *++YYCURSOR; + if (yych == 'L') goto yy442; + if (yych == 'l') goto yy442; + goto yy128; +yy356: YYDEBUG(356, *YYCURSOR); - ++YYCURSOR; + yych = *++YYCURSOR; + if (yych == 'U') goto yy443; + if (yych == 'u') goto yy443; + goto yy128; +yy357: YYDEBUG(357, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1340 "Zend/zend_language_scanner.l" - { - RETURN_TOKEN(T_INT_CAST); -} -#line 4421 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; + if (yych == 'U') goto yy444; + if (yych == 'u') goto yy444; + goto yy128; yy358: YYDEBUG(358, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy359; - if (yych != 'e') goto yy157; + if (yych == 'T') goto yy445; + if (yych == 't') goto yy445; + goto yy128; yy359: YYDEBUG(359, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy354; - if (yych == 'r') goto yy354; - goto yy157; + if (yych == 'T') goto yy446; + if (yych == 't') goto yy446; + goto yy128; yy360: YYDEBUG(360, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy361; - if (yych != 'o') goto yy157; + if (yych == 'O') goto yy447; + if (yych == 'o') goto yy447; + goto yy128; yy361: YYDEBUG(361, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy362; - if (yych != 'a') goto yy157; + if (yych == 'I') goto yy448; + if (yych == 'i') goto yy448; + goto yy128; yy362: YYDEBUG(362, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy363; - if (yych != 't') goto yy157; -yy363: - YYDEBUG(363, *YYCURSOR); ++YYCURSOR; - YYFILL(1); - yych = *YYCURSOR; - YYDEBUG(364, *YYCURSOR); - if (yych <= 0x1F) { - if (yych == '\t') goto yy363; - goto yy157; - } else { - if (yych <= ' ') goto yy363; - if (yych != ')') goto yy157; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; } + YYDEBUG(363, *YYCURSOR); + yyleng = YYCURSOR - SCNG(yy_text); +#line 1154 "Zend/zend_language_scanner.l" + { + RETURN_TOKEN(T_TRY); +} +#line 4523 "Zend/zend_language_scanner.c" +yy364: + YYDEBUG(364, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'E') goto yy449; + if (yych == 'e') goto yy449; + goto yy128; +yy365: YYDEBUG(365, *YYCURSOR); ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; + } YYDEBUG(366, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1344 "Zend/zend_language_scanner.l" +#line 1392 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_DOUBLE_CAST); + RETURN_TOKEN(T_USE); } -#line 4469 "Zend/zend_language_scanner.c" +#line 4542 "Zend/zend_language_scanner.c" yy367: YYDEBUG(367, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'U') goto yy368; - if (yych != 'u') goto yy157; -yy368: + ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; + } YYDEBUG(368, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'B') goto yy369; - if (yych != 'b') goto yy157; + yyleng = YYCURSOR - SCNG(yy_text); +#line 1336 "Zend/zend_language_scanner.l" + { + RETURN_TOKEN(T_VAR); +} +#line 4555 "Zend/zend_language_scanner.c" yy369: YYDEBUG(369, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy370; - if (yych != 'l') goto yy157; + if (yych == 'L') goto yy450; + if (yych == 'l') goto yy450; + goto yy128; yy370: YYDEBUG(370, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy363; - if (yych == 'e') goto yy363; - goto yy157; -yy371: + ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; + } YYDEBUG(371, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy372; - if (yych != 'a') goto yy157; + yyleng = YYCURSOR - SCNG(yy_text); +#line 1564 "Zend/zend_language_scanner.l" + { + RETURN_TOKEN(T_LOGICAL_XOR); +} +#line 4574 "Zend/zend_language_scanner.c" yy372: YYDEBUG(372, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy363; - if (yych == 'l') goto yy363; - goto yy157; + if (yych == 'L') goto yy451; + if (yych == 'l') goto yy451; + goto yy128; yy373: YYDEBUG(373, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy374; - if (yych != 'r') goto yy157; + if (yych == 'L') goto yy452; + if (yych == 'l') goto yy452; + goto yy128; yy374: YYDEBUG(374, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy375; - if (yych != 'i') goto yy157; + if (yych == 'I') goto yy453; + if (yych == 'i') goto yy453; + goto yy128; yy375: YYDEBUG(375, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy376; - if (yych != 'n') goto yy157; + if (yych <= 'U') { + if (yych == 'I') goto yy454; + if (yych <= 'T') goto yy128; + goto yy455; + } else { + if (yych <= 'i') { + if (yych <= 'h') goto yy128; + goto yy454; + } else { + if (yych == 'u') goto yy455; + goto yy128; + } + } yy376: YYDEBUG(376, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'G') goto yy377; - if (yych != 'g') goto yy157; + if (yych == 'A') goto yy456; + if (yych == 'a') goto yy456; + goto yy128; yy377: YYDEBUG(377, *YYCURSOR); - ++YYCURSOR; - YYFILL(1); - yych = *YYCURSOR; + yych = *++YYCURSOR; + if (yych == 'I') goto yy457; + if (yych == 'i') goto yy457; + goto yy128; +yy378: YYDEBUG(378, *YYCURSOR); - if (yych <= 0x1F) { - if (yych == '\t') goto yy377; - goto yy157; - } else { - if (yych <= ' ') goto yy377; - if (yych != ')') goto yy157; - } + yych = *++YYCURSOR; + if (yych == 'E') goto yy458; + if (yych == 'e') goto yy458; + goto yy128; +yy379: YYDEBUG(379, *YYCURSOR); - ++YYCURSOR; + yych = *++YYCURSOR; + if (yych == 'A') goto yy459; + if (yych == 'a') goto yy459; + goto yy128; +yy380: YYDEBUG(380, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1348 "Zend/zend_language_scanner.l" - { - RETURN_TOKEN(T_STRING_CAST); -} -#line 4543 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; + if (yych == 'R') goto yy460; + if (yych == 'r') goto yy460; + goto yy128; yy381: YYDEBUG(381, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy382; - if (yych != 'r') goto yy157; + if (yych == 'A') goto yy461; + if (yych == 'a') goto yy461; + goto yy166; yy382: YYDEBUG(382, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy383; - if (yych != 'a') goto yy157; + if (yych == 'A') goto yy462; + if (yych == 'a') goto yy462; + goto yy166; yy383: YYDEBUG(383, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'Y') goto yy384; - if (yych != 'y') goto yy157; + if (yych == 'L') goto yy463; + if (yych == 'l') goto yy463; + goto yy166; yy384: YYDEBUG(384, *YYCURSOR); - ++YYCURSOR; - YYFILL(1); - yych = *YYCURSOR; + yych = *++YYCURSOR; + if (yych == 'B') goto yy464; + if (yych == 'b') goto yy464; + goto yy166; +yy385: YYDEBUG(385, *YYCURSOR); - if (yych <= 0x1F) { - if (yych == '\t') goto yy384; - goto yy157; - } else { - if (yych <= ' ') goto yy384; - if (yych != ')') goto yy157; - } + yych = *++YYCURSOR; + if (yych == 'A') goto yy465; + if (yych == 'a') goto yy465; + goto yy166; +yy386: YYDEBUG(386, *YYCURSOR); - ++YYCURSOR; + yych = *++YYCURSOR; + if (yych == 'E') goto yy470; + if (yych == 'e') goto yy470; + goto yy467; +yy387: YYDEBUG(387, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1352 "Zend/zend_language_scanner.l" - { - RETURN_TOKEN(T_ARRAY_CAST); -} -#line 4580 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; + if (yych == 'E') goto yy471; + if (yych == 'e') goto yy471; + goto yy166; yy388: YYDEBUG(388, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'J') goto yy389; - if (yych != 'j') goto yy157; + if (yych == 'L') goto yy472; + if (yych == 'l') goto yy472; + goto yy166; yy389: YYDEBUG(389, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy390; - if (yych != 'e') goto yy157; + if (yych == 'I') goto yy474; + if (yych == 'i') goto yy474; + goto yy166; yy390: YYDEBUG(390, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy391; - if (yych != 'c') goto yy157; + if (yych == 'E') goto yy475; + if (yych == 'e') goto yy475; + goto yy166; yy391: YYDEBUG(391, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy392; - if (yych != 't') goto yy157; -yy392: - YYDEBUG(392, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(393, *YYCURSOR); - if (yych <= 0x1F) { - if (yych == '\t') goto yy392; - goto yy157; + YYDEBUG(392, *YYCURSOR); + if (yych <= '\f') { + if (yych <= 0x08) goto yy197; + if (yych <= '\n') goto yy391; + goto yy197; } else { - if (yych <= ' ') goto yy392; - if (yych != ')') goto yy157; + if (yych <= '\r') goto yy391; + if (yych == ' ') goto yy391; + goto yy197; } +yy393: + YYDEBUG(393, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == '"') goto yy166; + if (yych <= '/') goto yy477; + if (yych <= '9') goto yy166; + goto yy477; +yy394: YYDEBUG(394, *YYCURSOR); - ++YYCURSOR; + yych = *++YYCURSOR; + if (yych == '\'') goto yy166; + if (yych <= '/') goto yy479; + if (yych <= '9') goto yy166; + goto yy479; +yy395: YYDEBUG(395, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1356 "Zend/zend_language_scanner.l" - { - RETURN_TOKEN(T_OBJECT_CAST); -} -#line 4622 "Zend/zend_language_scanner.c" -yy396: + ++YYCURSOR; + YYFILL(2); + yych = *YYCURSOR; YYDEBUG(396, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'N') goto yy406; - if (yych == 'n') goto yy406; - goto yy157; + if (yych <= '@') { + if (yych <= '\f') { + if (yych == '\n') goto yy480; + goto yy166; + } else { + if (yych <= '\r') goto yy482; + if (yych <= '/') goto yy166; + if (yych <= '9') goto yy395; + goto yy166; + } + } else { + if (yych <= '_') { + if (yych <= 'Z') goto yy395; + if (yych <= '^') goto yy166; + goto yy395; + } else { + if (yych <= '`') goto yy166; + if (yych <= 'z') goto yy395; + if (yych <= 0x7F) goto yy166; + goto yy395; + } + } yy397: YYDEBUG(397, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy398; - if (yych != 'o') goto yy157; + if (yych == 'R') goto yy483; + if (yych == 'r') goto yy483; + goto yy128; yy398: YYDEBUG(398, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy399; - if (yych != 'l') goto yy157; + if (yych == 'Y') goto yy484; + if (yych == 'y') goto yy484; + goto yy128; yy399: YYDEBUG(399, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy404; - if (yych == 'e') goto yy404; - goto yy401; + if (yych == 'K') goto yy486; + if (yych == 'k') goto yy486; + goto yy128; yy400: YYDEBUG(400, *YYCURSOR); - ++YYCURSOR; - YYFILL(1); - yych = *YYCURSOR; + yych = *++YYCURSOR; + if (yych == 'A') goto yy488; + if (yych == 'a') goto yy488; + goto yy128; yy401: YYDEBUG(401, *YYCURSOR); - if (yych <= 0x1F) { - if (yych == '\t') goto yy400; - goto yy157; - } else { - if (yych <= ' ') goto yy400; - if (yych != ')') goto yy157; + ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; } YYDEBUG(402, *YYCURSOR); - ++YYCURSOR; - YYDEBUG(403, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1360 "Zend/zend_language_scanner.l" +#line 1238 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_BOOL_CAST); + RETURN_TOKEN(T_CASE); } -#line 4667 "Zend/zend_language_scanner.c" +#line 4792 "Zend/zend_language_scanner.c" +yy403: + YYDEBUG(403, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'H') goto yy489; + if (yych == 'h') goto yy489; + goto yy128; yy404: YYDEBUG(404, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy405; - if (yych != 'a') goto yy157; + if (yych == 'S') goto yy491; + if (yych == 's') goto yy491; + goto yy128; yy405: YYDEBUG(405, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy400; - if (yych == 'n') goto yy400; - goto yy157; + if (yych == 'E') goto yy493; + if (yych == 'e') goto yy493; + goto yy128; yy406: YYDEBUG(406, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy407; - if (yych != 'a') goto yy157; + if (yych == 'T') goto yy495; + if (yych == 't') goto yy495; + goto yy128; yy407: YYDEBUG(407, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy408; - if (yych != 'r') goto yy157; + if (yych == 'I') goto yy497; + if (yych == 'i') goto yy497; + goto yy128; yy408: YYDEBUG(408, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'Y') goto yy377; - if (yych == 'y') goto yy377; - goto yy157; + if (yych == 'A') goto yy498; + if (yych == 'a') goto yy498; + goto yy128; yy409: YYDEBUG(409, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy410; - if (yych != 's') goto yy157; + if (yych == 'U') goto yy499; + if (yych == 'u') goto yy499; + goto yy128; yy410: YYDEBUG(410, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy411; - if (yych != 'e') goto yy157; -yy411: + ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; + } YYDEBUG(411, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy412; - if (yych != 't') goto yy157; + yyleng = YYCURSOR - SCNG(yy_text); +#line 1258 "Zend/zend_language_scanner.l" + { + RETURN_TOKEN(T_ECHO); +} +#line 4847 "Zend/zend_language_scanner.c" yy412: YYDEBUG(412, *YYCURSOR); ++YYCURSOR; - YYFILL(1); - yych = *YYCURSOR; - YYDEBUG(413, *YYCURSOR); - if (yych <= 0x1F) { - if (yych == '\t') goto yy412; - goto yy157; + if ((yych = *YYCURSOR) <= '^') { + if (yych <= '@') { + if (yych <= '/') goto yy413; + if (yych <= '9') goto yy127; + } else { + if (yych == 'I') goto yy500; + if (yych <= 'Z') goto yy127; + } } else { - if (yych <= ' ') goto yy412; - if (yych != ')') goto yy157; + if (yych <= 'h') { + if (yych != '`') goto yy127; + } else { + if (yych <= 'i') goto yy500; + if (yych <= 'z') goto yy127; + if (yych >= 0x80) goto yy127; + } } - YYDEBUG(414, *YYCURSOR); - ++YYCURSOR; - YYDEBUG(415, *YYCURSOR); +yy413: + YYDEBUG(413, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1364 "Zend/zend_language_scanner.l" +#line 1182 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_UNSET_CAST); + RETURN_TOKEN(T_ELSE); } -#line 4731 "Zend/zend_language_scanner.c" +#line 4875 "Zend/zend_language_scanner.c" +yy414: + YYDEBUG(414, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'Y') goto yy501; + if (yych == 'y') goto yy501; + goto yy128; +yy415: + YYDEBUG(415, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'E') goto yy503; + if (yych == 'e') goto yy503; + goto yy128; yy416: YYDEBUG(416, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy417; - if (yych != 'r') goto yy150; + if (yych == 'O') goto yy504; + if (yych == 'o') goto yy504; + goto yy128; yy417: YYDEBUG(417, *YYCURSOR); - ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; - } + yych = *++YYCURSOR; + if (yych == 'F') goto yy505; + if (yych == 'f') goto yy505; + goto yy128; +yy418: YYDEBUG(418, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1336 "Zend/zend_language_scanner.l" - { - RETURN_TOKEN(T_VAR); -} -#line 4749 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; + if (yych == 'W') goto yy507; + if (yych == 'w') goto yy507; + goto yy128; yy419: YYDEBUG(419, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'M') goto yy423; - if (yych == 'm') goto yy423; - goto yy150; + if (yych == 'H') goto yy508; + if (yych == 'h') goto yy508; + goto yy128; yy420: YYDEBUG(420, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'W') goto yy421; - if (yych != 'w') goto yy150; -yy421: - YYDEBUG(421, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; } - YYDEBUG(422, *YYCURSOR); + YYDEBUG(421, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1328 "Zend/zend_language_scanner.l" +#line 1368 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_NEW); + RETURN_TOKEN(T_EVAL); } -#line 4773 "Zend/zend_language_scanner.c" -yy423: +#line 4924 "Zend/zend_language_scanner.c" +yy422: + YYDEBUG(422, *YYCURSOR); + ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; + } YYDEBUG(423, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy424; - if (yych != 'e') goto yy150; + yyleng = YYCURSOR - SCNG(yy_text); +#line 1125 "Zend/zend_language_scanner.l" + { + RETURN_TOKEN(T_EXIT); +} +#line 4937 "Zend/zend_language_scanner.c" yy424: YYDEBUG(424, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy425; - if (yych != 's') goto yy150; + if (yych == 'N') goto yy509; + if (yych == 'n') goto yy509; + goto yy128; yy425: YYDEBUG(425, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'P') goto yy426; - if (yych != 'p') goto yy150; + if (yych == 'L') goto yy510; + if (yych == 'l') goto yy510; + goto yy128; yy426: YYDEBUG(426, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy427; - if (yych != 'a') goto yy150; + if (yych == 'A') goto yy512; + if (yych == 'a') goto yy512; + goto yy128; yy427: YYDEBUG(427, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy428; - if (yych != 'c') goto yy150; + if (yych == 'T') goto yy513; + if (yych == 't') goto yy513; + goto yy128; yy428: YYDEBUG(428, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy429; - if (yych != 'e') goto yy150; + if (yych == 'A') goto yy514; + if (yych == 'a') goto yy514; + goto yy128; yy429: YYDEBUG(429, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; } YYDEBUG(430, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1388 "Zend/zend_language_scanner.l" +#line 1254 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_NAMESPACE); + RETURN_TOKEN(T_GOTO); } -#line 4816 "Zend/zend_language_scanner.c" +#line 4980 "Zend/zend_language_scanner.c" yy431: YYDEBUG(431, *YYCURSOR); - ++YYCURSOR; - if ((yych = *YYCURSOR) == '\n') goto yy435; - if (yych == '\r') goto yy436; + yych = *++YYCURSOR; + if (yych == 'E') goto yy515; + if (yych == 'e') goto yy515; + goto yy128; yy432: YYDEBUG(432, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1960 "Zend/zend_language_scanner.l" - { - BEGIN(INITIAL); - RETURN_TOKEN(T_CLOSE_TAG); /* implicit ';' at php-end tag */ -} -#line 4830 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; + if (yych == 'U') goto yy516; + if (yych == 'u') goto yy516; + goto yy128; yy433: YYDEBUG(433, *YYCURSOR); - ++YYCURSOR; + yych = *++YYCURSOR; + if (yych <= 'E') { + if (yych == 'A') goto yy517; + if (yych <= 'D') goto yy128; + goto yy518; + } else { + if (yych <= 'a') { + if (yych <= '`') goto yy128; + goto yy517; + } else { + if (yych == 'e') goto yy518; + goto yy128; + } + } +yy434: YYDEBUG(434, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1324 "Zend/zend_language_scanner.l" - { - RETURN_TOKEN(T_COALESCE); -} -#line 4840 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; + if (yych == 'R') goto yy519; + if (yych == 'r') goto yy519; + goto yy128; yy435: YYDEBUG(435, *YYCURSOR); yych = *++YYCURSOR; - goto yy432; + if (yych == 'T') goto yy520; + if (yych == 't') goto yy520; + goto yy128; yy436: YYDEBUG(436, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '\n') goto yy435; - goto yy432; -yy437: + ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; + } YYDEBUG(437, *YYCURSOR); - yyaccept = 3; - YYMARKER = ++YYCURSOR; - YYFILL(3); - yych = *YYCURSOR; + yyleng = YYCURSOR - SCNG(yy_text); +#line 1448 "Zend/zend_language_scanner.l" + { + RETURN_TOKEN(T_LIST); +} +#line 5033 "Zend/zend_language_scanner.c" +yy438: YYDEBUG(438, *YYCURSOR); - if (yych <= 'D') { - if (yych <= '/') goto yy153; - if (yych <= '9') goto yy437; - goto yy153; - } else { - if (yych <= 'E') goto yy156; - if (yych == 'e') goto yy156; - goto yy153; - } + yych = *++YYCURSOR; + if (yych == 'S') goto yy522; + if (yych == 's') goto yy522; + goto yy128; yy439: YYDEBUG(439, *YYCURSOR); - ++YYCURSOR; + yych = *++YYCURSOR; + if (yych == 'T') goto yy523; + if (yych == 't') goto yy523; + goto yy128; +yy440: YYDEBUG(440, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1520 "Zend/zend_language_scanner.l" - { - RETURN_TOKEN(T_CONCAT_EQUAL); -} -#line 4875 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; + if (yych == 'A') goto yy525; + if (yych == 'a') goto yy525; + goto yy128; yy441: YYDEBUG(441, *YYCURSOR); yych = *++YYCURSOR; - if (yych != '.') goto yy157; + if (yych == 'E') goto yy526; + if (yych == 'e') goto yy526; + goto yy128; +yy442: YYDEBUG(442, *YYCURSOR); - ++YYCURSOR; + yych = *++YYCURSOR; + if (yych == 'I') goto yy527; + if (yych == 'i') goto yy527; + goto yy128; +yy443: YYDEBUG(443, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1320 "Zend/zend_language_scanner.l" - { - RETURN_TOKEN(T_ELLIPSIS); -} -#line 4888 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; + if (yych == 'I') goto yy528; + if (yych == 'i') goto yy528; + goto yy128; yy444: YYDEBUG(444, *YYCURSOR); - ++YYCURSOR; + yych = *++YYCURSOR; + if (yych == 'R') goto yy529; + if (yych == 'r') goto yy529; + goto yy128; +yy445: YYDEBUG(445, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1312 "Zend/zend_language_scanner.l" - { - RETURN_TOKEN(T_PAAMAYIM_NEKUDOTAYIM); -} -#line 4898 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; + if (yych == 'I') goto yy530; + if (yych == 'i') goto yy530; + goto yy128; yy446: YYDEBUG(446, *YYCURSOR); - ++YYCURSOR; - YYFILL(1); - yych = *YYCURSOR; + yych = *++YYCURSOR; + if (yych == 'C') goto yy531; + if (yych == 'c') goto yy531; + goto yy128; yy447: YYDEBUG(447, *YYCURSOR); - if (yych <= '\f') { - if (yych <= 0x08) goto yy104; - if (yych <= '\n') goto yy446; - goto yy104; - } else { - if (yych <= '\r') goto yy446; - if (yych == ' ') goto yy446; - goto yy104; - } + yych = *++YYCURSOR; + if (yych == 'W') goto yy532; + if (yych == 'w') goto yy532; + goto yy128; yy448: YYDEBUG(448, *YYCURSOR); - ++YYCURSOR; + yych = *++YYCURSOR; + if (yych == 'T') goto yy534; + if (yych == 't') goto yy534; + goto yy128; +yy449: YYDEBUG(449, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1500 "Zend/zend_language_scanner.l" - { - RETURN_TOKEN(T_MINUS_EQUAL); -} -#line 4924 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; + if (yych == 'T') goto yy536; + if (yych == 't') goto yy536; + goto yy128; yy450: YYDEBUG(450, *YYCURSOR); - ++YYCURSOR; + yych = *++YYCURSOR; + if (yych == 'E') goto yy538; + if (yych == 'e') goto yy538; + goto yy128; +yy451: YYDEBUG(451, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1464 "Zend/zend_language_scanner.l" - { - RETURN_TOKEN(T_DEC); -} -#line 4934 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; + if (yych == 'D') goto yy540; + if (yych == 'd') goto yy540; + goto yy128; yy452: YYDEBUG(452, *YYCURSOR); - ++YYCURSOR; + yych = *++YYCURSOR; + if (yych == 'A') goto yy542; + if (yych == 'a') goto yy542; + goto yy128; +yy453: YYDEBUG(453, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1286 "Zend/zend_language_scanner.l" - { - yy_push_state(ST_LOOKING_FOR_PROPERTY); - RETURN_TOKEN(T_OBJECT_OPERATOR); -} -#line 4945 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; + if (yych == 'R') goto yy543; + if (yych == 'r') goto yy543; + goto yy128; yy454: YYDEBUG(454, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= 'O') { - if (yych == 'I') goto yy461; - if (yych <= 'N') goto yy150; - goto yy462; - } else { - if (yych <= 'i') { - if (yych <= 'h') goto yy150; - goto yy461; - } else { - if (yych == 'o') goto yy462; - goto yy150; - } - } + if (yych == 'L') goto yy544; + if (yych == 'l') goto yy544; + goto yy128; yy455: YYDEBUG(455, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'B') goto yy456; - if (yych != 'b') goto yy150; + if (yych == 'N') goto yy545; + if (yych == 'n') goto yy545; + goto yy128; yy456: YYDEBUG(456, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy457; - if (yych != 'l') goto yy150; + if (yych == 'L') goto yy546; + if (yych == 'l') goto yy546; + goto yy128; yy457: YYDEBUG(457, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy458; - if (yych != 'i') goto yy150; + if (yych == 'N') goto yy547; + if (yych == 'n') goto yy547; + goto yy128; yy458: YYDEBUG(458, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy459; - if (yych != 'c') goto yy150; + if (yych == 'T') goto yy548; + if (yych == 't') goto yy548; + goto yy128; yy459: YYDEBUG(459, *YYCURSOR); - ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; - } + yych = *++YYCURSOR; + if (yych == 'M') goto yy549; + if (yych == 'm') goto yy549; + goto yy128; +yy460: YYDEBUG(460, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1436 "Zend/zend_language_scanner.l" - { - RETURN_TOKEN(T_PUBLIC); -} -#line 4994 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; + if (yych == 'A') goto yy550; + if (yych == 'a') goto yy550; + goto yy128; yy461: YYDEBUG(461, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= 'V') { - if (yych == 'N') goto yy470; - if (yych <= 'U') goto yy150; - goto yy471; - } else { - if (yych <= 'n') { - if (yych <= 'm') goto yy150; - goto yy470; - } else { - if (yych == 'v') goto yy471; - goto yy150; - } - } + if (yych == 'Y') goto yy551; + if (yych == 'y') goto yy551; + goto yy166; yy462: YYDEBUG(462, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy463; - if (yych != 't') goto yy150; + if (yych == 'R') goto yy553; + if (yych == 'r') goto yy553; + goto yy166; yy463: YYDEBUG(463, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy464; - if (yych != 'e') goto yy150; + if (yych == 'E') goto yy558; + if (yych == 'e') goto yy558; + goto yy555; yy464: YYDEBUG(464, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy465; - if (yych != 'c') goto yy150; + if (yych == 'L') goto yy559; + if (yych == 'l') goto yy559; + goto yy166; yy465: YYDEBUG(465, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy466; - if (yych != 't') goto yy150; + if (yych == 'T') goto yy472; + if (yych == 't') goto yy472; + goto yy166; yy466: YYDEBUG(466, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy467; - if (yych != 'e') goto yy150; + ++YYCURSOR; + YYFILL(1); + yych = *YYCURSOR; yy467: YYDEBUG(467, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'D') goto yy468; - if (yych != 'd') goto yy150; -yy468: + if (yych <= 0x1F) { + if (yych == '\t') goto yy466; + goto yy166; + } else { + if (yych <= ' ') goto yy466; + if (yych != ')') goto yy166; + } YYDEBUG(468, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; - } YYDEBUG(469, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1432 "Zend/zend_language_scanner.l" +#line 1340 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_PROTECTED); + RETURN_TOKEN(T_INT_CAST); } -#line 5053 "Zend/zend_language_scanner.c" +#line 5224 "Zend/zend_language_scanner.c" yy470: YYDEBUG(470, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy476; - if (yych == 't') goto yy476; - goto yy150; + if (yych == 'G') goto yy560; + if (yych == 'g') goto yy560; + goto yy166; yy471: YYDEBUG(471, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy472; - if (yych != 'a') goto yy150; + if (yych == 'C') goto yy561; + if (yych == 'c') goto yy561; + goto yy166; yy472: YYDEBUG(472, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy473; - if (yych != 't') goto yy150; -yy473: + ++YYCURSOR; + YYFILL(1); + yych = *YYCURSOR; YYDEBUG(473, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy474; - if (yych != 'e') goto yy150; + if (yych <= 0x1F) { + if (yych == '\t') goto yy472; + goto yy166; + } else { + if (yych <= ' ') goto yy472; + if (yych == ')') goto yy562; + goto yy166; + } yy474: YYDEBUG(474, *YYCURSOR); - ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; - } + yych = *++YYCURSOR; + if (yych == 'N') goto yy564; + if (yych == 'n') goto yy564; + goto yy166; +yy475: YYDEBUG(475, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1428 "Zend/zend_language_scanner.l" - { - RETURN_TOKEN(T_PRIVATE); -} -#line 5087 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; + if (yych == 'T') goto yy565; + if (yych == 't') goto yy565; + goto yy166; yy476: YYDEBUG(476, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; - } + YYFILL(3); + yych = *YYCURSOR; +yy477: YYDEBUG(477, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1262 "Zend/zend_language_scanner.l" - { - RETURN_TOKEN(T_PRINT); -} -#line 5100 "Zend/zend_language_scanner.c" + if (yych <= 'Z') { + if (yych <= '/') { + if (yych == '"') goto yy567; + goto yy166; + } else { + if (yych <= '9') goto yy476; + if (yych <= '@') goto yy166; + goto yy476; + } + } else { + if (yych <= '`') { + if (yych == '_') goto yy476; + goto yy166; + } else { + if (yych <= 'z') goto yy476; + if (yych <= 0x7F) goto yy166; + goto yy476; + } + } yy478: YYDEBUG(478, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'O') goto yy483; - if (yych == 'o') goto yy483; - goto yy150; + ++YYCURSOR; + YYFILL(3); + yych = *YYCURSOR; yy479: YYDEBUG(479, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy480; - if (yych != 't') goto yy150; + if (yych <= 'Z') { + if (yych <= '/') { + if (yych == '\'') goto yy567; + goto yy166; + } else { + if (yych <= '9') goto yy478; + if (yych <= '@') goto yy166; + goto yy478; + } + } else { + if (yych <= '`') { + if (yych == '_') goto yy478; + goto yy166; + } else { + if (yych <= 'z') goto yy478; + if (yych <= 0x7F) goto yy166; + goto yy478; + } + } yy480: YYDEBUG(480, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'O') goto yy481; - if (yych != 'o') goto yy150; + ++YYCURSOR; yy481: YYDEBUG(481, *YYCURSOR); - ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; - } - YYDEBUG(482, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1254 "Zend/zend_language_scanner.l" +#line 2077 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_GOTO); + char *s; + int bprefix = (yytext[0] != '<') ? 1 : 0; + zend_heredoc_label *heredoc_label = emalloc(sizeof(zend_heredoc_label)); + + CG(zend_lineno)++; + heredoc_label->length = yyleng-bprefix-3-1-(yytext[yyleng-2]=='\r'?1:0); + s = yytext+bprefix+3; + while ((*s == ' ') || (*s == '\t')) { + s++; + heredoc_label->length--; + } + + if (*s == '\'') { + s++; + heredoc_label->length -= 2; + + BEGIN(ST_NOWDOC); + } else { + if (*s == '"') { + s++; + heredoc_label->length -= 2; + } + + BEGIN(ST_HEREDOC); + } + + heredoc_label->label = estrndup(s, heredoc_label->length); + + /* Check for ending label on the next line */ + if (heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, s, heredoc_label->length)) { + YYCTYPE *end = YYCURSOR + heredoc_label->length; + + if (*end == ';') { + end++; + } + + if (*end == '\n' || *end == '\r') { + BEGIN(ST_END_HEREDOC); + } + } + + zend_ptr_stack_push(&SCNG(heredoc_label_stack), (void *) heredoc_label); + + RETURN_TOKEN(T_START_HEREDOC); } -#line 5129 "Zend/zend_language_scanner.c" +#line 5368 "Zend/zend_language_scanner.c" +yy482: + YYDEBUG(482, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == '\n') goto yy480; + goto yy481; yy483: YYDEBUG(483, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'B') goto yy484; - if (yych != 'b') goto yy150; + if (yych == 'A') goto yy568; + if (yych == 'a') goto yy568; + goto yy128; yy484: YYDEBUG(484, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy485; - if (yych != 'a') goto yy150; -yy485: + ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; + } YYDEBUG(485, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'L') goto yy486; - if (yych != 'l') goto yy150; + yyleng = YYCURSOR - SCNG(yy_text); +#line 1452 "Zend/zend_language_scanner.l" + { + RETURN_TOKEN(T_ARRAY); +} +#line 5392 "Zend/zend_language_scanner.c" yy486: YYDEBUG(486, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; } YYDEBUG(487, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1400 "Zend/zend_language_scanner.l" +#line 1246 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_GLOBAL); + RETURN_TOKEN(T_BREAK); } -#line 5157 "Zend/zend_language_scanner.c" +#line 5405 "Zend/zend_language_scanner.c" yy488: YYDEBUG(488, *YYCURSOR); yych = *++YYCURSOR; - if (yych == '<') goto yy496; - goto yy157; + if (yych == 'B') goto yy569; + if (yych == 'b') goto yy569; + goto yy128; yy489: YYDEBUG(489, *YYCURSOR); - yych = *++YYCURSOR; - goto yy144; -yy490: + ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; + } YYDEBUG(490, *YYCURSOR); - yych = *++YYCURSOR; - goto yy142; + yyleng = YYCURSOR - SCNG(yy_text); +#line 1158 "Zend/zend_language_scanner.l" + { + RETURN_TOKEN(T_CATCH); +} +#line 5424 "Zend/zend_language_scanner.c" yy491: YYDEBUG(491, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy492; - if (yych != 'e') goto yy150; -yy492: + ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; + } YYDEBUG(492, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy493; - if (yych != 'a') goto yy150; + yyleng = YYCURSOR - SCNG(yy_text); +#line 1266 "Zend/zend_language_scanner.l" + { + RETURN_TOKEN(T_CLASS); +} +#line 5437 "Zend/zend_language_scanner.c" yy493: YYDEBUG(493, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'K') goto yy494; - if (yych != 'k') goto yy150; -yy494: - YYDEBUG(494, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; } - YYDEBUG(495, *YYCURSOR); + YYDEBUG(494, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1246 "Zend/zend_language_scanner.l" +#line 1332 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_BREAK); + RETURN_TOKEN(T_CLONE); } -#line 5198 "Zend/zend_language_scanner.c" -yy496: +#line 5450 "Zend/zend_language_scanner.c" +yy495: + YYDEBUG(495, *YYCURSOR); + ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; + } YYDEBUG(496, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == '<') goto yy219; - goto yy157; + yyleng = YYCURSOR - SCNG(yy_text); +#line 1137 "Zend/zend_language_scanner.l" + { + RETURN_TOKEN(T_CONST); +} +#line 5463 "Zend/zend_language_scanner.c" yy497: YYDEBUG(497, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy504; - if (yych == 'a') goto yy504; - goto yy150; + if (yych == 'N') goto yy570; + if (yych == 'n') goto yy570; + goto yy128; yy498: YYDEBUG(498, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy499; - if (yych != 'i') goto yy150; + if (yych == 'R') goto yy571; + if (yych == 'r') goto yy571; + goto yy128; yy499: YYDEBUG(499, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy500; - if (yych != 't') goto yy150; + if (yych == 'L') goto yy572; + if (yych == 'l') goto yy572; + goto yy128; yy500: YYDEBUG(500, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy501; - if (yych != 'c') goto yy150; + if (yych == 'F') goto yy573; + if (yych == 'f') goto yy573; + goto yy128; yy501: YYDEBUG(501, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'H') goto yy502; - if (yych != 'h') goto yy150; -yy502: - YYDEBUG(502, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; } - YYDEBUG(503, *YYCURSOR); + YYDEBUG(502, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1230 "Zend/zend_language_scanner.l" +#line 1408 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_SWITCH); + RETURN_TOKEN(T_EMPTY); } -#line 5242 "Zend/zend_language_scanner.c" +#line 5500 "Zend/zend_language_scanner.c" +yy503: + YYDEBUG(503, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'C') goto yy575; + if (yych == 'c') goto yy575; + goto yy128; yy504: YYDEBUG(504, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy505; - if (yych != 't') goto yy150; + if (yych == 'R') goto yy576; + if (yych == 'r') goto yy576; + goto yy128; yy505: YYDEBUG(505, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'I') goto yy506; - if (yych != 'i') goto yy150; -yy506: - YYDEBUG(506, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'C') goto yy507; - if (yych != 'c') goto yy150; -yy507: - YYDEBUG(507, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; } - YYDEBUG(508, *YYCURSOR); + YYDEBUG(506, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1416 "Zend/zend_language_scanner.l" +#line 1178 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_STATIC); + RETURN_TOKEN(T_ENDIF); } -#line 5270 "Zend/zend_language_scanner.c" +#line 5525 "Zend/zend_language_scanner.c" +yy507: + YYDEBUG(507, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'I') goto yy578; + if (yych == 'i') goto yy578; + goto yy128; +yy508: + YYDEBUG(508, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'I') goto yy579; + if (yych == 'i') goto yy579; + goto yy128; yy509: YYDEBUG(509, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy520; - if (yych == 's') goto yy520; - goto yy150; + if (yych == 'D') goto yy580; + if (yych == 'd') goto yy580; + goto yy128; yy510: YYDEBUG(510, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'D') goto yy518; - if (yych == 'd') goto yy518; - goto yy150; -yy511: - YYDEBUG(511, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy514; - if (yych == 'r') goto yy514; - goto yy150; -yy512: - YYDEBUG(512, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; + if ((yych = *YYCURSOR) <= '^') { + if (yych <= '@') { + if (yych <= '/') goto yy511; + if (yych <= '9') goto yy127; + } else { + if (yych == 'L') goto yy581; + if (yych <= 'Z') goto yy127; + } + } else { + if (yych <= 'k') { + if (yych != '`') goto yy127; + } else { + if (yych <= 'l') goto yy581; + if (yych <= 'z') goto yy127; + if (yych >= 0x80) goto yy127; + } } - YYDEBUG(513, *YYCURSOR); +yy511: + YYDEBUG(511, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1226 "Zend/zend_language_scanner.l" +#line 1424 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_AS); + RETURN_TOKEN(T_FINAL); } -#line 5301 "Zend/zend_language_scanner.c" +#line 5571 "Zend/zend_language_scanner.c" +yy512: + YYDEBUG(512, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'C') goto yy582; + if (yych == 'c') goto yy582; + goto yy128; +yy513: + YYDEBUG(513, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'I') goto yy583; + if (yych == 'i') goto yy583; + goto yy128; yy514: YYDEBUG(514, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy515; - if (yych != 'a') goto yy150; + if (yych == 'L') goto yy584; + if (yych == 'l') goto yy584; + goto yy128; yy515: YYDEBUG(515, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'Y') goto yy516; - if (yych != 'y') goto yy150; + if (yych == 'M') goto yy586; + if (yych == 'm') goto yy586; + goto yy128; yy516: YYDEBUG(516, *YYCURSOR); - ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; - } + yych = *++YYCURSOR; + if (yych == 'D') goto yy587; + if (yych == 'd') goto yy587; + goto yy128; +yy517: YYDEBUG(517, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1452 "Zend/zend_language_scanner.l" - { - RETURN_TOKEN(T_ARRAY); -} -#line 5324 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; + if (yych == 'N') goto yy588; + if (yych == 'n') goto yy588; + goto yy128; yy518: YYDEBUG(518, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'A') goto yy589; + if (yych == 'a') goto yy589; + goto yy128; +yy519: + YYDEBUG(519, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'F') goto yy590; + if (yych == 'f') goto yy590; + goto yy128; +yy520: + YYDEBUG(520, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; } - YYDEBUG(519, *YYCURSOR); + YYDEBUG(521, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1560 "Zend/zend_language_scanner.l" +#line 1404 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_LOGICAL_AND); + RETURN_TOKEN(T_ISSET); } -#line 5337 "Zend/zend_language_scanner.c" -yy520: - YYDEBUG(520, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy521; - if (yych != 't') goto yy150; -yy521: - YYDEBUG(521, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy522; - if (yych != 'r') goto yy150; +#line 5632 "Zend/zend_language_scanner.c" yy522: YYDEBUG(522, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy523; - if (yych != 'a') goto yy150; + if (yych == 'P') goto yy591; + if (yych == 'p') goto yy591; + goto yy128; yy523: YYDEBUG(523, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'C') goto yy524; - if (yych != 'c') goto yy150; -yy524: - YYDEBUG(524, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy525; - if (yych != 't') goto yy150; -yy525: - YYDEBUG(525, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; } - YYDEBUG(526, *YYCURSOR); + YYDEBUG(524, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1420 "Zend/zend_language_scanner.l" +#line 1262 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_ABSTRACT); + RETURN_TOKEN(T_PRINT); } -#line 5375 "Zend/zend_language_scanner.c" +#line 5651 "Zend/zend_language_scanner.c" +yy525: + YYDEBUG(525, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'T') goto yy592; + if (yych == 't') goto yy592; + goto yy128; +yy526: + YYDEBUG(526, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'C') goto yy593; + if (yych == 'c') goto yy593; + goto yy128; yy527: YYDEBUG(527, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy528; - if (yych != 'i') goto yy150; + if (yych == 'C') goto yy594; + if (yych == 'c') goto yy594; + goto yy128; yy528: YYDEBUG(528, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy529; - if (yych != 'l') goto yy150; + if (yych == 'R') goto yy596; + if (yych == 'r') goto yy596; + goto yy128; yy529: YYDEBUG(529, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy530; - if (yych != 'e') goto yy150; + if (yych == 'N') goto yy597; + if (yych == 'n') goto yy597; + goto yy128; yy530: YYDEBUG(530, *YYCURSOR); - ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; - } + yych = *++YYCURSOR; + if (yych == 'C') goto yy599; + if (yych == 'c') goto yy599; + goto yy128; +yy531: YYDEBUG(531, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1186 "Zend/zend_language_scanner.l" - { - RETURN_TOKEN(T_WHILE); -} -#line 5403 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; + if (yych == 'H') goto yy601; + if (yych == 'h') goto yy601; + goto yy128; yy532: YYDEBUG(532, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; } YYDEBUG(533, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1170 "Zend/zend_language_scanner.l" +#line 1166 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_IF); + RETURN_TOKEN(T_THROW); } -#line 5416 "Zend/zend_language_scanner.c" +#line 5706 "Zend/zend_language_scanner.c" yy534: YYDEBUG(534, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'P') goto yy576; - if (yych == 'p') goto yy576; - goto yy150; -yy535: - YYDEBUG(535, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych <= 'C') { - if (yych <= 'B') goto yy150; - goto yy543; - } else { - if (yych <= 'R') goto yy150; - if (yych <= 'S') goto yy541; - goto yy542; - } - } else { - if (yych <= 'r') { - if (yych == 'c') goto yy543; - goto yy150; - } else { - if (yych <= 's') goto yy541; - if (yych <= 't') goto yy542; - goto yy150; - } + ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; } + YYDEBUG(535, *YYCURSOR); + yyleng = YYCURSOR - SCNG(yy_text); +#line 1274 "Zend/zend_language_scanner.l" + { + RETURN_TOKEN(T_TRAIT); +} +#line 5719 "Zend/zend_language_scanner.c" yy536: YYDEBUG(536, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'S') goto yy537; - if (yych != 's') goto yy150; -yy537: + ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; + } YYDEBUG(537, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy538; - if (yych != 'e') goto yy150; + yyleng = YYCURSOR - SCNG(yy_text); +#line 1440 "Zend/zend_language_scanner.l" + { + RETURN_TOKEN(T_UNSET); +} +#line 5732 "Zend/zend_language_scanner.c" yy538: YYDEBUG(538, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy539; - if (yych != 't') goto yy150; -yy539: - YYDEBUG(539, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; } - YYDEBUG(540, *YYCURSOR); + YYDEBUG(539, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1404 "Zend/zend_language_scanner.l" +#line 1186 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_ISSET); + RETURN_TOKEN(T_WHILE); } -#line 5472 "Zend/zend_language_scanner.c" +#line 5745 "Zend/zend_language_scanner.c" +yy540: + YYDEBUG(540, *YYCURSOR); + yyaccept = 6; + yych = *(YYMARKER = ++YYCURSOR); + if (yybm[0+yych] & 16) { + goto yy127; + } + if (yych <= '\f') { + if (yych <= 0x08) goto yy541; + if (yych <= '\n') goto yy603; + } else { + if (yych <= '\r') goto yy603; + if (yych == ' ') goto yy603; + } yy541: YYDEBUG(541, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy562; - if (yych == 't') goto yy562; - goto yy150; + yyleng = YYCURSOR - SCNG(yy_text); +#line 1150 "Zend/zend_language_scanner.l" + { + RETURN_TOKEN(T_YIELD); +} +#line 5767 "Zend/zend_language_scanner.c" yy542: YYDEBUG(542, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy555; - if (yych == 'e') goto yy555; - goto yy150; + if (yych == 'S') goto yy605; + if (yych == 's') goto yy605; + goto yy128; yy543: YYDEBUG(543, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy544; - if (yych != 'l') goto yy150; + if (yych == '_') goto yy606; + goto yy128; yy544: YYDEBUG(544, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'U') goto yy545; - if (yych != 'u') goto yy150; + if (yych == 'E') goto yy607; + if (yych == 'e') goto yy607; + goto yy128; yy545: YYDEBUG(545, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'D') goto yy546; - if (yych != 'd') goto yy150; + if (yych == 'C') goto yy608; + if (yych == 'c') goto yy608; + goto yy128; yy546: YYDEBUG(546, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy547; - if (yych != 'e') goto yy150; + if (yych == 'T') goto yy609; + if (yych == 't') goto yy609; + goto yy128; yy547: YYDEBUG(547, *YYCURSOR); - ++YYCURSOR; - if ((yych = *YYCURSOR) <= '^') { - if (yych <= '9') { - if (yych >= '0') goto yy149; - } else { - if (yych <= '@') goto yy548; - if (yych <= 'Z') goto yy149; - } - } else { - if (yych <= '`') { - if (yych <= '_') goto yy549; - } else { - if (yych <= 'z') goto yy149; - if (yych >= 0x80) goto yy149; - } - } + yych = *++YYCURSOR; + if (yych == 'E') goto yy610; + if (yych == 'e') goto yy610; + goto yy128; yy548: YYDEBUG(548, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1372 "Zend/zend_language_scanner.l" - { - RETURN_TOKEN(T_INCLUDE); -} -#line 5530 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; + if (yych == 'H') goto yy611; + if (yych == 'h') goto yy611; + goto yy128; yy549: YYDEBUG(549, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy550; - if (yych != 'o') goto yy150; + if (yych == 'E') goto yy612; + if (yych == 'e') goto yy612; + goto yy128; yy550: YYDEBUG(550, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy551; - if (yych != 'n') goto yy150; + if (yych == 'I') goto yy613; + if (yych == 'i') goto yy613; + goto yy128; yy551: YYDEBUG(551, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'C') goto yy552; - if (yych != 'c') goto yy150; -yy552: + ++YYCURSOR; + YYFILL(1); + yych = *YYCURSOR; YYDEBUG(552, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy553; - if (yych != 'e') goto yy150; + if (yych <= 0x1F) { + if (yych == '\t') goto yy551; + goto yy166; + } else { + if (yych <= ' ') goto yy551; + if (yych == ')') goto yy614; + goto yy166; + } yy553: YYDEBUG(553, *YYCURSOR); - ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; - } + yych = *++YYCURSOR; + if (yych == 'Y') goto yy616; + if (yych == 'y') goto yy616; + goto yy166; +yy554: YYDEBUG(554, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1376 "Zend/zend_language_scanner.l" - { - RETURN_TOKEN(T_INCLUDE_ONCE); -} -#line 5563 "Zend/zend_language_scanner.c" + ++YYCURSOR; + YYFILL(1); + yych = *YYCURSOR; yy555: YYDEBUG(555, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy556; - if (yych != 'r') goto yy150; -yy556: + if (yych <= 0x1F) { + if (yych == '\t') goto yy554; + goto yy166; + } else { + if (yych <= ' ') goto yy554; + if (yych != ')') goto yy166; + } YYDEBUG(556, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'F') goto yy557; - if (yych != 'f') goto yy150; -yy557: + ++YYCURSOR; YYDEBUG(557, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy558; - if (yych != 'a') goto yy150; + yyleng = YYCURSOR - SCNG(yy_text); +#line 1360 "Zend/zend_language_scanner.l" + { + RETURN_TOKEN(T_BOOL_CAST); +} +#line 5863 "Zend/zend_language_scanner.c" yy558: YYDEBUG(558, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy559; - if (yych != 'c') goto yy150; + if (yych == 'A') goto yy618; + if (yych == 'a') goto yy618; + goto yy166; yy559: YYDEBUG(559, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy560; - if (yych != 'e') goto yy150; + if (yych == 'E') goto yy472; + if (yych == 'e') goto yy472; + goto yy166; yy560: YYDEBUG(560, *YYCURSOR); - ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; - } + yych = *++YYCURSOR; + if (yych == 'E') goto yy619; + if (yych == 'e') goto yy619; + goto yy166; +yy561: YYDEBUG(561, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1270 "Zend/zend_language_scanner.l" - { - RETURN_TOKEN(T_INTERFACE); -} -#line 5601 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; + if (yych == 'T') goto yy620; + if (yych == 't') goto yy620; + goto yy166; yy562: YYDEBUG(562, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych == 'A') goto yy563; - if (yych <= 'D') goto yy150; - goto yy564; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy150; - } else { - if (yych == 'e') goto yy564; - goto yy150; - } - } -yy563: + ++YYCURSOR; YYDEBUG(563, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'N') goto yy570; - if (yych == 'n') goto yy570; - goto yy150; + yyleng = YYCURSOR - SCNG(yy_text); +#line 1344 "Zend/zend_language_scanner.l" + { + RETURN_TOKEN(T_DOUBLE_CAST); +} +#line 5897 "Zend/zend_language_scanner.c" yy564: YYDEBUG(564, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy565; - if (yych != 'a') goto yy150; + if (yych == 'G') goto yy616; + if (yych == 'g') goto yy616; + goto yy166; yy565: YYDEBUG(565, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'D') goto yy566; - if (yych != 'd') goto yy150; -yy566: + ++YYCURSOR; + YYFILL(1); + yych = *YYCURSOR; YYDEBUG(566, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'O') goto yy567; - if (yych != 'o') goto yy150; + if (yych <= 0x1F) { + if (yych == '\t') goto yy565; + goto yy166; + } else { + if (yych <= ' ') goto yy565; + if (yych == ')') goto yy622; + goto yy166; + } yy567: YYDEBUG(567, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'F') goto yy568; - if (yych != 'f') goto yy150; + if (yych == '\n') goto yy480; + if (yych == '\r') goto yy482; + goto yy166; yy568: YYDEBUG(568, *YYCURSOR); - ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; - } + yych = *++YYCURSOR; + if (yych == 'C') goto yy624; + if (yych == 'c') goto yy624; + goto yy128; +yy569: YYDEBUG(569, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1396 "Zend/zend_language_scanner.l" - { - RETURN_TOKEN(T_INSTEADOF); -} -#line 5655 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; + if (yych == 'L') goto yy625; + if (yych == 'l') goto yy625; + goto yy128; yy570: YYDEBUG(570, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy571; - if (yych != 'c') goto yy150; + if (yych == 'U') goto yy626; + if (yych == 'u') goto yy626; + goto yy128; yy571: YYDEBUG(571, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy572; - if (yych != 'e') goto yy150; + if (yych == 'E') goto yy627; + if (yych == 'e') goto yy627; + goto yy128; yy572: YYDEBUG(572, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy573; - if (yych != 'o') goto yy150; + if (yych == 'T') goto yy629; + if (yych == 't') goto yy629; + goto yy128; yy573: YYDEBUG(573, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'F') goto yy574; - if (yych != 'f') goto yy150; -yy574: - YYDEBUG(574, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; } - YYDEBUG(575, *YYCURSOR); + YYDEBUG(574, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1222 "Zend/zend_language_scanner.l" +#line 1174 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_INSTANCEOF); + RETURN_TOKEN(T_ELSEIF); } -#line 5688 "Zend/zend_language_scanner.c" +#line 5966 "Zend/zend_language_scanner.c" +yy575: + YYDEBUG(575, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'L') goto yy631; + if (yych == 'l') goto yy631; + goto yy128; yy576: YYDEBUG(576, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'L') goto yy577; - if (yych != 'l') goto yy150; + ++YYCURSOR; + if ((yych = *YYCURSOR) <= '^') { + if (yych <= '@') { + if (yych <= '/') goto yy577; + if (yych <= '9') goto yy127; + } else { + if (yych == 'E') goto yy632; + if (yych <= 'Z') goto yy127; + } + } else { + if (yych <= 'd') { + if (yych != '`') goto yy127; + } else { + if (yych <= 'e') goto yy632; + if (yych <= 'z') goto yy127; + if (yych >= 0x80) goto yy127; + } + } yy577: YYDEBUG(577, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy578; - if (yych != 'e') goto yy150; + yyleng = YYCURSOR - SCNG(yy_text); +#line 1202 "Zend/zend_language_scanner.l" + { + RETURN_TOKEN(T_ENDFOR); +} +#line 6000 "Zend/zend_language_scanner.c" yy578: YYDEBUG(578, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'M') goto yy579; - if (yych != 'm') goto yy150; + if (yych == 'T') goto yy633; + if (yych == 't') goto yy633; + goto yy128; yy579: YYDEBUG(579, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy580; - if (yych != 'e') goto yy150; + if (yych == 'L') goto yy634; + if (yych == 'l') goto yy634; + goto yy128; yy580: YYDEBUG(580, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy581; - if (yych != 'n') goto yy150; + if (yych == 'S') goto yy635; + if (yych == 's') goto yy635; + goto yy128; yy581: YYDEBUG(581, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy582; - if (yych != 't') goto yy150; + if (yych == 'Y') goto yy637; + if (yych == 'y') goto yy637; + goto yy128; yy582: YYDEBUG(582, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy583; - if (yych != 's') goto yy150; + if (yych == 'H') goto yy639; + if (yych == 'h') goto yy639; + goto yy128; yy583: YYDEBUG(583, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'O') goto yy641; + if (yych == 'o') goto yy641; + goto yy128; +yy584: + YYDEBUG(584, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; } - YYDEBUG(584, *YYCURSOR); + YYDEBUG(585, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1282 "Zend/zend_language_scanner.l" +#line 1400 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_IMPLEMENTS); + RETURN_TOKEN(T_GLOBAL); } -#line 5736 "Zend/zend_language_scanner.c" -yy585: - YYDEBUG(585, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy593; - if (yych == 'r') goto yy593; - goto yy150; +#line 6049 "Zend/zend_language_scanner.c" yy586: YYDEBUG(586, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= 'Y') { - if (yych == 'A') goto yy589; - if (yych <= 'X') goto yy150; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy150; - goto yy589; - } else { - if (yych != 'y') goto yy150; - } - } + if (yych == 'E') goto yy642; + if (yych == 'e') goto yy642; + goto yy128; +yy587: YYDEBUG(587, *YYCURSOR); - ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; - } + yych = *++YYCURSOR; + if (yych == 'E') goto yy643; + if (yych == 'e') goto yy643; + goto yy128; +yy588: YYDEBUG(588, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1154 "Zend/zend_language_scanner.l" - { - RETURN_TOKEN(T_TRY); -} -#line 5768 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; + if (yych == 'C') goto yy645; + if (yych == 'c') goto yy645; + goto yy128; yy589: YYDEBUG(589, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy590; - if (yych != 'i') goto yy150; + if (yych == 'D') goto yy646; + if (yych == 'd') goto yy646; + goto yy128; yy590: YYDEBUG(590, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy591; - if (yych != 't') goto yy150; + if (yych == 'A') goto yy647; + if (yych == 'a') goto yy647; + goto yy128; yy591: YYDEBUG(591, *YYCURSOR); - ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; - } + yych = *++YYCURSOR; + if (yych == 'A') goto yy648; + if (yych == 'a') goto yy648; + goto yy128; +yy592: YYDEBUG(592, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1274 "Zend/zend_language_scanner.l" - { - RETURN_TOKEN(T_TRAIT); -} -#line 5791 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; + if (yych == 'E') goto yy649; + if (yych == 'e') goto yy649; + goto yy128; yy593: YYDEBUG(593, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy594; - if (yych != 'o') goto yy150; + if (yych == 'T') goto yy651; + if (yych == 't') goto yy651; + goto yy128; yy594: YYDEBUG(594, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'W') goto yy595; - if (yych != 'w') goto yy150; -yy595: - YYDEBUG(595, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; } - YYDEBUG(596, *YYCURSOR); + YYDEBUG(595, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1166 "Zend/zend_language_scanner.l" +#line 1436 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_THROW); + RETURN_TOKEN(T_PUBLIC); } -#line 5814 "Zend/zend_language_scanner.c" +#line 6110 "Zend/zend_language_scanner.c" +yy596: + YYDEBUG(596, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'E') goto yy652; + if (yych == 'e') goto yy652; + goto yy128; yy597: YYDEBUG(597, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy598; - if (yych != 'e') goto yy150; -yy598: + ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; + } YYDEBUG(598, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'L') goto yy599; - if (yych != 'l') goto yy150; + yyleng = YYCURSOR - SCNG(yy_text); +#line 1141 "Zend/zend_language_scanner.l" + { + RETURN_TOKEN(T_RETURN); +} +#line 6129 "Zend/zend_language_scanner.c" yy599: YYDEBUG(599, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'D') goto yy600; - if (yych != 'd') goto yy150; -yy600: - YYDEBUG(600, *YYCURSOR); - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); - if (yybm[0+yych] & 4) { - goto yy149; - } - if (yych <= '\f') { - if (yych <= 0x08) goto yy601; - if (yych <= '\n') goto yy602; - } else { - if (yych <= '\r') goto yy602; - if (yych == ' ') goto yy602; + ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; } + YYDEBUG(600, *YYCURSOR); + yyleng = YYCURSOR - SCNG(yy_text); +#line 1416 "Zend/zend_language_scanner.l" + { + RETURN_TOKEN(T_STATIC); +} +#line 6142 "Zend/zend_language_scanner.c" yy601: YYDEBUG(601, *YYCURSOR); + ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; + } + YYDEBUG(602, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1150 "Zend/zend_language_scanner.l" +#line 1230 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_YIELD); + RETURN_TOKEN(T_SWITCH); } -#line 5851 "Zend/zend_language_scanner.c" -yy602: - YYDEBUG(602, *YYCURSOR); +#line 6155 "Zend/zend_language_scanner.c" +yy603: + YYDEBUG(603, *YYCURSOR); ++YYCURSOR; YYFILL(4); yych = *YYCURSOR; - YYDEBUG(603, *YYCURSOR); + YYDEBUG(604, *YYCURSOR); if (yych <= 0x1F) { if (yych <= '\n') { - if (yych <= 0x08) goto yy157; - goto yy602; + if (yych <= 0x08) goto yy166; + goto yy603; } else { - if (yych == '\r') goto yy602; - goto yy157; + if (yych == '\r') goto yy603; + goto yy166; } } else { if (yych <= 'F') { - if (yych <= ' ') goto yy602; - if (yych <= 'E') goto yy157; + if (yych <= ' ') goto yy603; + if (yych <= 'E') goto yy166; + goto yy654; } else { - if (yych != 'f') goto yy157; + if (yych == 'f') goto yy654; + goto yy166; } } - YYDEBUG(604, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy605; - if (yych != 'r') goto yy157; yy605: YYDEBUG(605, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'O') goto yy606; - if (yych != 'o') goto yy157; + if (yych == 'S') goto yy655; + if (yych == 's') goto yy655; + goto yy128; yy606: YYDEBUG(606, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'M') goto yy607; - if (yych != 'm') goto yy157; + if (yych == '_') goto yy656; + goto yy128; yy607: YYDEBUG(607, *YYCURSOR); - ++YYCURSOR; + yych = *++YYCURSOR; + if (yych == '_') goto yy658; + goto yy128; +yy608: YYDEBUG(608, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1145 "Zend/zend_language_scanner.l" - { - HANDLE_NEWLINES(yytext, yyleng); - RETURN_TOKEN(T_YIELD_FROM); -} -#line 5898 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; + if (yych == 'T') goto yy659; + if (yych == 't') goto yy659; + goto yy128; yy609: YYDEBUG(609, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych == 'Q') goto yy611; - if (yych <= 'S') goto yy150; - } else { - if (yych <= 'q') { - if (yych <= 'p') goto yy150; - goto yy611; - } else { - if (yych != 't') goto yy150; - } - } + if (yych == '_') goto yy660; + goto yy128; +yy610: YYDEBUG(610, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'U') goto yy623; - if (yych == 'u') goto yy623; - goto yy150; + if (yych == '_') goto yy661; + goto yy128; yy611: YYDEBUG(611, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'U') goto yy612; - if (yych != 'u') goto yy150; + if (yych == 'O') goto yy662; + if (yych == 'o') goto yy662; + goto yy128; yy612: YYDEBUG(612, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy613; - if (yych != 'i') goto yy150; + if (yych == 'S') goto yy663; + if (yych == 's') goto yy663; + goto yy128; yy613: YYDEBUG(613, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy614; - if (yych != 'r') goto yy150; + if (yych == 'T') goto yy664; + if (yych == 't') goto yy664; + goto yy128; yy614: YYDEBUG(614, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy615; - if (yych != 'e') goto yy150; -yy615: - YYDEBUG(615, *YYCURSOR); ++YYCURSOR; - if ((yych = *YYCURSOR) <= '^') { - if (yych <= '9') { - if (yych >= '0') goto yy149; - } else { - if (yych <= '@') goto yy616; - if (yych <= 'Z') goto yy149; - } - } else { - if (yych <= '`') { - if (yych <= '_') goto yy617; - } else { - if (yych <= 'z') goto yy149; - if (yych >= 0x80) goto yy149; - } - } -yy616: - YYDEBUG(616, *YYCURSOR); + YYDEBUG(615, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1380 "Zend/zend_language_scanner.l" +#line 1352 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_REQUIRE); + RETURN_TOKEN(T_ARRAY_CAST); } -#line 5963 "Zend/zend_language_scanner.c" -yy617: +#line 6239 "Zend/zend_language_scanner.c" +yy616: + YYDEBUG(616, *YYCURSOR); + ++YYCURSOR; + YYFILL(1); + yych = *YYCURSOR; YYDEBUG(617, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'O') goto yy618; - if (yych != 'o') goto yy150; + if (yych <= 0x1F) { + if (yych == '\t') goto yy616; + goto yy166; + } else { + if (yych <= ' ') goto yy616; + if (yych == ')') goto yy665; + goto yy166; + } yy618: YYDEBUG(618, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy619; - if (yych != 'n') goto yy150; + if (yych == 'N') goto yy554; + if (yych == 'n') goto yy554; + goto yy166; yy619: YYDEBUG(619, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy620; - if (yych != 'c') goto yy150; + if (yych == 'R') goto yy466; + if (yych == 'r') goto yy466; + goto yy166; yy620: YYDEBUG(620, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy621; - if (yych != 'e') goto yy150; -yy621: - YYDEBUG(621, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; + YYFILL(1); + yych = *YYCURSOR; + YYDEBUG(621, *YYCURSOR); + if (yych <= 0x1F) { + if (yych == '\t') goto yy620; + goto yy166; + } else { + if (yych <= ' ') goto yy620; + if (yych == ')') goto yy667; + goto yy166; } +yy622: YYDEBUG(622, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(623, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1384 "Zend/zend_language_scanner.l" +#line 1364 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_REQUIRE_ONCE); + RETURN_TOKEN(T_UNSET_CAST); } -#line 5996 "Zend/zend_language_scanner.c" -yy623: - YYDEBUG(623, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy624; - if (yych != 'r') goto yy150; +#line 6289 "Zend/zend_language_scanner.c" yy624: YYDEBUG(624, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy625; - if (yych != 'n') goto yy150; + if (yych == 'T') goto yy669; + if (yych == 't') goto yy669; + goto yy128; yy625: YYDEBUG(625, *YYCURSOR); - ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; - } + yych = *++YYCURSOR; + if (yych == 'E') goto yy671; + if (yych == 'e') goto yy671; + goto yy128; +yy626: YYDEBUG(626, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1141 "Zend/zend_language_scanner.l" - { - RETURN_TOKEN(T_RETURN); -} -#line 6019 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; + if (yych == 'E') goto yy673; + if (yych == 'e') goto yy673; + goto yy128; yy627: YYDEBUG(627, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych <= 'L') { - if (yych <= 'K') goto yy150; - goto yy650; - } else { - if (yych <= 'R') goto yy150; - if (yych <= 'S') goto yy649; - goto yy648; - } - } else { - if (yych <= 'r') { - if (yych == 'l') goto yy650; - goto yy150; - } else { - if (yych <= 's') goto yy649; - if (yych <= 't') goto yy648; - goto yy150; - } + ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; } -yy628: YYDEBUG(628, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'O') { - if (yych == 'A') goto yy640; - if (yych <= 'N') goto yy150; - goto yy641; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy150; - goto yy640; - } else { - if (yych == 'o') goto yy641; - goto yy150; - } - } + yyleng = YYCURSOR - SCNG(yy_text); +#line 1214 "Zend/zend_language_scanner.l" + { + RETURN_TOKEN(T_DECLARE); +} +#line 6320 "Zend/zend_language_scanner.c" yy629: YYDEBUG(629, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'N') goto yy630; - if (yych != 'n') goto yy150; -yy630: - YYDEBUG(630, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych <= 'R') goto yy150; - if (yych >= 'T') goto yy632; - } else { - if (yych <= 'r') goto yy150; - if (yych <= 's') goto yy631; - if (yych <= 't') goto yy632; - goto yy150; + ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; } + YYDEBUG(630, *YYCURSOR); + yyleng = YYCURSOR - SCNG(yy_text); +#line 1242 "Zend/zend_language_scanner.l" + { + RETURN_TOKEN(T_DEFAULT); +} +#line 6333 "Zend/zend_language_scanner.c" yy631: YYDEBUG(631, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy638; - if (yych == 't') goto yy638; - goto yy150; + if (yych == 'A') goto yy675; + if (yych == 'a') goto yy675; + goto yy128; yy632: YYDEBUG(632, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'I') goto yy633; - if (yych != 'i') goto yy150; + if (yych == 'A') goto yy676; + if (yych == 'a') goto yy676; + goto yy128; yy633: YYDEBUG(633, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy634; - if (yych != 'n') goto yy150; + if (yych == 'C') goto yy677; + if (yych == 'c') goto yy677; + goto yy128; yy634: YYDEBUG(634, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'U') goto yy635; - if (yych != 'u') goto yy150; + if (yych == 'E') goto yy678; + if (yych == 'e') goto yy678; + goto yy128; yy635: YYDEBUG(635, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy636; - if (yych != 'e') goto yy150; -yy636: - YYDEBUG(636, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; } - YYDEBUG(637, *YYCURSOR); + YYDEBUG(636, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1250 "Zend/zend_language_scanner.l" +#line 1278 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_CONTINUE); + RETURN_TOKEN(T_EXTENDS); } -#line 6113 "Zend/zend_language_scanner.c" -yy638: - YYDEBUG(638, *YYCURSOR); +#line 6370 "Zend/zend_language_scanner.c" +yy637: + YYDEBUG(637, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; } - YYDEBUG(639, *YYCURSOR); + YYDEBUG(638, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1137 "Zend/zend_language_scanner.l" +#line 1162 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_CONST); + RETURN_TOKEN(T_FINALLY); } -#line 6126 "Zend/zend_language_scanner.c" -yy640: +#line 6383 "Zend/zend_language_scanner.c" +yy639: + YYDEBUG(639, *YYCURSOR); + ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; + } YYDEBUG(640, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'S') goto yy645; - if (yych == 's') goto yy645; - goto yy150; + yyleng = YYCURSOR - SCNG(yy_text); +#line 1206 "Zend/zend_language_scanner.l" + { + RETURN_TOKEN(T_FOREACH); +} +#line 6396 "Zend/zend_language_scanner.c" yy641: YYDEBUG(641, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy642; - if (yych != 'n') goto yy150; + if (yych == 'N') goto yy680; + if (yych == 'n') goto yy680; + goto yy128; yy642: YYDEBUG(642, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy643; - if (yych != 'e') goto yy150; + if (yych == 'N') goto yy682; + if (yych == 'n') goto yy682; + goto yy128; yy643: YYDEBUG(643, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; + if ((yych = *YYCURSOR) <= '^') { + if (yych <= '9') { + if (yych >= '0') goto yy127; + } else { + if (yych <= '@') goto yy644; + if (yych <= 'Z') goto yy127; + } + } else { + if (yych <= '`') { + if (yych <= '_') goto yy683; + } else { + if (yych <= 'z') goto yy127; + if (yych >= 0x80) goto yy127; + } } +yy644: YYDEBUG(644, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1332 "Zend/zend_language_scanner.l" +#line 1372 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_CLONE); + RETURN_TOKEN(T_INCLUDE); } -#line 6155 "Zend/zend_language_scanner.c" +#line 6434 "Zend/zend_language_scanner.c" yy645: YYDEBUG(645, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy646; - if (yych != 's') goto yy150; + if (yych == 'E') goto yy684; + if (yych == 'e') goto yy684; + goto yy128; yy646: YYDEBUG(646, *YYCURSOR); - ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; - } + yych = *++YYCURSOR; + if (yych == 'O') goto yy685; + if (yych == 'o') goto yy685; + goto yy128; +yy647: YYDEBUG(647, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1266 "Zend/zend_language_scanner.l" - { - RETURN_TOKEN(T_CLASS); -} -#line 6173 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; + if (yych == 'C') goto yy686; + if (yych == 'c') goto yy686; + goto yy128; yy648: YYDEBUG(648, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy659; - if (yych == 'c') goto yy659; - goto yy150; + if (yych == 'C') goto yy687; + if (yych == 'c') goto yy687; + goto yy128; yy649: YYDEBUG(649, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy657; - if (yych == 'e') goto yy657; - goto yy150; -yy650: + ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; + } YYDEBUG(650, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'L') goto yy651; - if (yych != 'l') goto yy150; + yyleng = YYCURSOR - SCNG(yy_text); +#line 1428 "Zend/zend_language_scanner.l" + { + RETURN_TOKEN(T_PRIVATE); +} +#line 6471 "Zend/zend_language_scanner.c" yy651: YYDEBUG(651, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy652; - if (yych != 'a') goto yy150; + if (yych == 'E') goto yy688; + if (yych == 'e') goto yy688; + goto yy128; yy652: YYDEBUG(652, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'B') goto yy653; - if (yych != 'b') goto yy150; + ++YYCURSOR; + if ((yych = *YYCURSOR) <= '^') { + if (yych <= '9') { + if (yych >= '0') goto yy127; + } else { + if (yych <= '@') goto yy653; + if (yych <= 'Z') goto yy127; + } + } else { + if (yych <= '`') { + if (yych <= '_') goto yy689; + } else { + if (yych <= 'z') goto yy127; + if (yych >= 0x80) goto yy127; + } + } yy653: YYDEBUG(653, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'L') goto yy654; - if (yych != 'l') goto yy150; + yyleng = YYCURSOR - SCNG(yy_text); +#line 1380 "Zend/zend_language_scanner.l" + { + RETURN_TOKEN(T_REQUIRE); +} +#line 6503 "Zend/zend_language_scanner.c" yy654: YYDEBUG(654, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy655; - if (yych != 'e') goto yy150; + if (yych == 'R') goto yy690; + if (yych == 'r') goto yy690; + goto yy166; yy655: YYDEBUG(655, *YYCURSOR); - ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; - } + yych = *++YYCURSOR; + if (yych == '_') goto yy691; + goto yy128; +yy656: YYDEBUG(656, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1456 "Zend/zend_language_scanner.l" - { - RETURN_TOKEN(T_CALLABLE); -} -#line 6223 "Zend/zend_language_scanner.c" -yy657: - YYDEBUG(657, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; } - YYDEBUG(658, *YYCURSOR); + YYDEBUG(657, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1238 "Zend/zend_language_scanner.l" +#line 1773 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_CASE); + RETURN_TOKEN(T_DIR); } -#line 6236 "Zend/zend_language_scanner.c" +#line 6527 "Zend/zend_language_scanner.c" +yy658: + YYDEBUG(658, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == '_') goto yy692; + goto yy128; yy659: YYDEBUG(659, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'H') goto yy660; - if (yych != 'h') goto yy150; + if (yych == 'I') goto yy694; + if (yych == 'i') goto yy694; + goto yy128; yy660: YYDEBUG(660, *YYCURSOR); - ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; - } + yych = *++YYCURSOR; + if (yych == 'C') goto yy695; + if (yych == 'c') goto yy695; + goto yy128; +yy661: YYDEBUG(661, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1158 "Zend/zend_language_scanner.l" - { - RETURN_TOKEN(T_CATCH); -} -#line 6254 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; + if (yych == '_') goto yy696; + goto yy128; yy662: YYDEBUG(662, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy679; - if (yych == 'n') goto yy679; - goto yy150; + if (yych == 'D') goto yy698; + if (yych == 'd') goto yy698; + goto yy128; yy663: YYDEBUG(663, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy672; - if (yych == 'r') goto yy672; - goto yy150; + if (yych == 'P') goto yy699; + if (yych == 'p') goto yy699; + goto yy128; yy664: YYDEBUG(664, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'N') goto yy665; - if (yych != 'n') goto yy150; + if (yych == '_') goto yy700; + goto yy128; yy665: YYDEBUG(665, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'C') goto yy666; - if (yych != 'c') goto yy150; -yy666: + ++YYCURSOR; YYDEBUG(666, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy667; - if (yych != 't') goto yy150; + yyleng = YYCURSOR - SCNG(yy_text); +#line 1348 "Zend/zend_language_scanner.l" + { + RETURN_TOKEN(T_STRING_CAST); +} +#line 6576 "Zend/zend_language_scanner.c" yy667: YYDEBUG(667, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'I') goto yy668; - if (yych != 'i') goto yy150; -yy668: + ++YYCURSOR; YYDEBUG(668, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'O') goto yy669; - if (yych != 'o') goto yy150; + yyleng = YYCURSOR - SCNG(yy_text); +#line 1356 "Zend/zend_language_scanner.l" + { + RETURN_TOKEN(T_OBJECT_CAST); +} +#line 6586 "Zend/zend_language_scanner.c" yy669: YYDEBUG(669, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'N') goto yy670; - if (yych != 'n') goto yy150; -yy670: - YYDEBUG(670, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; } - YYDEBUG(671, *YYCURSOR); + YYDEBUG(670, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1133 "Zend/zend_language_scanner.l" +#line 1420 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_FUNCTION); + RETURN_TOKEN(T_ABSTRACT); } -#line 6309 "Zend/zend_language_scanner.c" -yy672: - YYDEBUG(672, *YYCURSOR); +#line 6599 "Zend/zend_language_scanner.c" +yy671: + YYDEBUG(671, *YYCURSOR); ++YYCURSOR; - if ((yych = *YYCURSOR) <= '^') { - if (yych <= '@') { - if (yych <= '/') goto yy673; - if (yych <= '9') goto yy149; - } else { - if (yych == 'E') goto yy674; - if (yych <= 'Z') goto yy149; - } - } else { - if (yych <= 'd') { - if (yych != '`') goto yy149; - } else { - if (yych <= 'e') goto yy674; - if (yych <= 'z') goto yy149; - if (yych >= 0x80) goto yy149; - } + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; } + YYDEBUG(672, *YYCURSOR); + yyleng = YYCURSOR - SCNG(yy_text); +#line 1456 "Zend/zend_language_scanner.l" + { + RETURN_TOKEN(T_CALLABLE); +} +#line 6612 "Zend/zend_language_scanner.c" yy673: YYDEBUG(673, *YYCURSOR); + ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; + } + YYDEBUG(674, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1198 "Zend/zend_language_scanner.l" +#line 1250 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_FOR); + RETURN_TOKEN(T_CONTINUE); } -#line 6337 "Zend/zend_language_scanner.c" -yy674: - YYDEBUG(674, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy675; - if (yych != 'a') goto yy150; +#line 6625 "Zend/zend_language_scanner.c" yy675: YYDEBUG(675, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy676; - if (yych != 'c') goto yy150; + if (yych == 'R') goto yy701; + if (yych == 'r') goto yy701; + goto yy128; yy676: YYDEBUG(676, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'H') goto yy677; - if (yych != 'h') goto yy150; + if (yych == 'C') goto yy702; + if (yych == 'c') goto yy702; + goto yy128; yy677: YYDEBUG(677, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'H') goto yy703; + if (yych == 'h') goto yy703; + goto yy128; +yy678: + YYDEBUG(678, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; } - YYDEBUG(678, *YYCURSOR); + YYDEBUG(679, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1206 "Zend/zend_language_scanner.l" +#line 1190 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_FOREACH); + RETURN_TOKEN(T_ENDWHILE); } -#line 6365 "Zend/zend_language_scanner.c" -yy679: - YYDEBUG(679, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy680; - if (yych != 'a') goto yy150; +#line 6656 "Zend/zend_language_scanner.c" yy680: YYDEBUG(680, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'L') goto yy681; - if (yych != 'l') goto yy150; -yy681: - YYDEBUG(681, *YYCURSOR); ++YYCURSOR; - if ((yych = *YYCURSOR) <= '^') { - if (yych <= '@') { - if (yych <= '/') goto yy682; - if (yych <= '9') goto yy149; - } else { - if (yych == 'L') goto yy683; - if (yych <= 'Z') goto yy149; - } - } else { - if (yych <= 'k') { - if (yych != '`') goto yy149; - } else { - if (yych <= 'l') goto yy683; - if (yych <= 'z') goto yy149; - if (yych >= 0x80) goto yy149; - } + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; } -yy682: - YYDEBUG(682, *YYCURSOR); + YYDEBUG(681, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1424 "Zend/zend_language_scanner.l" +#line 1133 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_FINAL); + RETURN_TOKEN(T_FUNCTION); } -#line 6403 "Zend/zend_language_scanner.c" +#line 6669 "Zend/zend_language_scanner.c" +yy682: + YYDEBUG(682, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'T') goto yy705; + if (yych == 't') goto yy705; + goto yy128; yy683: YYDEBUG(683, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'Y') goto yy684; - if (yych != 'y') goto yy150; + if (yych == 'O') goto yy706; + if (yych == 'o') goto yy706; + goto yy128; yy684: YYDEBUG(684, *YYCURSOR); - ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; - } + yych = *++YYCURSOR; + if (yych == 'O') goto yy707; + if (yych == 'o') goto yy707; + goto yy128; +yy685: YYDEBUG(685, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1162 "Zend/zend_language_scanner.l" - { - RETURN_TOKEN(T_FINALLY); -} -#line 6421 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; + if (yych == 'F') goto yy708; + if (yych == 'f') goto yy708; + goto yy128; yy686: YYDEBUG(686, *YYCURSOR); yych = *++YYCURSOR; - if (yych <= 'F') { - if (yych == 'C') goto yy692; - if (yych <= 'E') goto yy150; - goto yy693; - } else { - if (yych <= 'c') { - if (yych <= 'b') goto yy150; - goto yy692; - } else { - if (yych == 'f') goto yy693; - goto yy150; - } - } + if (yych == 'E') goto yy710; + if (yych == 'e') goto yy710; + goto yy128; yy687: YYDEBUG(687, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy690; - if (yych == 'e') goto yy690; - goto yy150; + if (yych == 'E') goto yy712; + if (yych == 'e') goto yy712; + goto yy128; yy688: YYDEBUG(688, *YYCURSOR); - ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; - } + yych = *++YYCURSOR; + if (yych == 'D') goto yy714; + if (yych == 'd') goto yy714; + goto yy128; +yy689: YYDEBUG(689, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1194 "Zend/zend_language_scanner.l" - { - RETURN_TOKEN(T_DO); -} -#line 6456 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; + if (yych == 'O') goto yy716; + if (yych == 'o') goto yy716; + goto yy128; yy690: YYDEBUG(690, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'O') goto yy717; + if (yych == 'o') goto yy717; + goto yy166; +yy691: + YYDEBUG(691, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == '_') goto yy718; + goto yy128; +yy692: + YYDEBUG(692, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; } - YYDEBUG(691, *YYCURSOR); + YYDEBUG(693, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1129 "Zend/zend_language_scanner.l" +#line 1769 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_EXIT); + RETURN_TOKEN(T_FILE); } -#line 6469 "Zend/zend_language_scanner.c" -yy692: - YYDEBUG(692, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'L') goto yy699; - if (yych == 'l') goto yy699; - goto yy150; -yy693: - YYDEBUG(693, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy694; - if (yych != 'a') goto yy150; +#line 6741 "Zend/zend_language_scanner.c" yy694: YYDEBUG(694, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'U') goto yy695; - if (yych != 'u') goto yy150; + if (yych == 'O') goto yy720; + if (yych == 'o') goto yy720; + goto yy128; yy695: YYDEBUG(695, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'L') goto yy696; - if (yych != 'l') goto yy150; + if (yych == 'O') goto yy721; + if (yych == 'o') goto yy721; + goto yy128; yy696: YYDEBUG(696, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy697; - if (yych != 't') goto yy150; -yy697: - YYDEBUG(697, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; } - YYDEBUG(698, *YYCURSOR); + YYDEBUG(697, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1242 "Zend/zend_language_scanner.l" +#line 1765 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_DEFAULT); + RETURN_TOKEN(T_LINE); } -#line 6508 "Zend/zend_language_scanner.c" +#line 6766 "Zend/zend_language_scanner.c" +yy698: + YYDEBUG(698, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == '_') goto yy722; + goto yy128; yy699: YYDEBUG(699, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy700; - if (yych != 'a') goto yy150; + if (yych == 'A') goto yy723; + if (yych == 'a') goto yy723; + goto yy128; yy700: YYDEBUG(700, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'R') goto yy701; - if (yych != 'r') goto yy150; + if (yych == '_') goto yy724; + goto yy128; yy701: YYDEBUG(701, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy702; - if (yych != 'e') goto yy150; + if (yych == 'E') goto yy726; + if (yych == 'e') goto yy726; + goto yy128; yy702: YYDEBUG(702, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'H') goto yy728; + if (yych == 'h') goto yy728; + goto yy128; +yy703: + YYDEBUG(703, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; } - YYDEBUG(703, *YYCURSOR); + YYDEBUG(704, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1214 "Zend/zend_language_scanner.l" +#line 1234 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_DECLARE); + RETURN_TOKEN(T_ENDSWITCH); } -#line 6536 "Zend/zend_language_scanner.c" -yy704: - YYDEBUG(704, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'H') goto yy766; - if (yych == 'h') goto yy766; - goto yy150; +#line 6807 "Zend/zend_language_scanner.c" yy705: YYDEBUG(705, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'S') goto yy760; - if (yych == 's') goto yy760; - goto yy150; + if (yych == 'S') goto yy730; + if (yych == 's') goto yy730; + goto yy128; yy706: YYDEBUG(706, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'P') goto yy756; - if (yych == 'p') goto yy756; - goto yy150; + if (yych == 'N') goto yy732; + if (yych == 'n') goto yy732; + goto yy128; yy707: YYDEBUG(707, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'D') goto yy722; - if (yych == 'd') goto yy722; - goto yy150; + if (yych == 'F') goto yy733; + if (yych == 'f') goto yy733; + goto yy128; yy708: YYDEBUG(708, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy719; - if (yych == 'a') goto yy719; - goto yy150; -yy709: - YYDEBUG(709, *YYCURSOR); - yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych == 'I') goto yy710; - if (yych <= 'S') goto yy150; - goto yy711; - } else { - if (yych <= 'i') { - if (yych <= 'h') goto yy150; - } else { - if (yych == 't') goto yy711; - goto yy150; - } + ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; } + YYDEBUG(709, *YYCURSOR); + yyleng = YYCURSOR - SCNG(yy_text); +#line 1396 "Zend/zend_language_scanner.l" + { + RETURN_TOKEN(T_INSTEADOF); +} +#line 6838 "Zend/zend_language_scanner.c" yy710: YYDEBUG(710, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy717; - if (yych == 't') goto yy717; - goto yy150; -yy711: + ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; + } YYDEBUG(711, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy712; - if (yych != 'e') goto yy150; + yyleng = YYCURSOR - SCNG(yy_text); +#line 1270 "Zend/zend_language_scanner.l" + { + RETURN_TOKEN(T_INTERFACE); +} +#line 6851 "Zend/zend_language_scanner.c" yy712: YYDEBUG(712, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'N') goto yy713; - if (yych != 'n') goto yy150; -yy713: + ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; + } YYDEBUG(713, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'D') goto yy714; - if (yych != 'd') goto yy150; + yyleng = YYCURSOR - SCNG(yy_text); +#line 1388 "Zend/zend_language_scanner.l" + { + RETURN_TOKEN(T_NAMESPACE); +} +#line 6864 "Zend/zend_language_scanner.c" yy714: YYDEBUG(714, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'S') goto yy715; - if (yych != 's') goto yy150; -yy715: - YYDEBUG(715, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; } - YYDEBUG(716, *YYCURSOR); + YYDEBUG(715, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1278 "Zend/zend_language_scanner.l" +#line 1432 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_EXTENDS); + RETURN_TOKEN(T_PROTECTED); } -#line 6620 "Zend/zend_language_scanner.c" +#line 6877 "Zend/zend_language_scanner.c" +yy716: + YYDEBUG(716, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'N') goto yy735; + if (yych == 'n') goto yy735; + goto yy128; yy717: YYDEBUG(717, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'M') goto yy736; + if (yych == 'm') goto yy736; + goto yy166; +yy718: + YYDEBUG(718, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; } - YYDEBUG(718, *YYCURSOR); + YYDEBUG(719, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1125 "Zend/zend_language_scanner.l" +#line 1749 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_EXIT); + RETURN_TOKEN(T_CLASS_C); } -#line 6633 "Zend/zend_language_scanner.c" -yy719: - YYDEBUG(719, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'L') goto yy720; - if (yych != 'l') goto yy150; +#line 6902 "Zend/zend_language_scanner.c" yy720: YYDEBUG(720, *YYCURSOR); - ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; - } + yych = *++YYCURSOR; + if (yych == 'N') goto yy738; + if (yych == 'n') goto yy738; + goto yy128; +yy721: YYDEBUG(721, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1368 "Zend/zend_language_scanner.l" - { - RETURN_TOKEN(T_EVAL); -} -#line 6651 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; + if (yych == 'M') goto yy739; + if (yych == 'm') goto yy739; + goto yy128; yy722: YYDEBUG(722, *YYCURSOR); yych = *++YYCURSOR; - YYDEBUG(-1, yych); - switch (yych) { - case 'D': - case 'd': goto yy723; - case 'F': - case 'f': goto yy724; - case 'I': - case 'i': goto yy725; - case 'S': - case 's': goto yy726; - case 'W': - case 'w': goto yy727; - default: goto yy150; - } + if (yych == '_') goto yy740; + goto yy128; yy723: YYDEBUG(723, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'E') goto yy749; - if (yych == 'e') goto yy749; - goto yy150; + if (yych == 'C') goto yy742; + if (yych == 'c') goto yy742; + goto yy128; yy724: YYDEBUG(724, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'O') goto yy741; - if (yych == 'o') goto yy741; - goto yy150; -yy725: + ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; + } YYDEBUG(725, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'F') goto yy739; - if (yych == 'f') goto yy739; - goto yy150; + yyleng = YYCURSOR - SCNG(yy_text); +#line 1753 "Zend/zend_language_scanner.l" + { + RETURN_TOKEN(T_TRAIT_C); +} +#line 6938 "Zend/zend_language_scanner.c" yy726: YYDEBUG(726, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'W') goto yy733; - if (yych == 'w') goto yy733; - goto yy150; -yy727: + ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; + } YYDEBUG(727, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'H') goto yy728; - if (yych != 'h') goto yy150; + yyleng = YYCURSOR - SCNG(yy_text); +#line 1218 "Zend/zend_language_scanner.l" + { + RETURN_TOKEN(T_ENDDECLARE); +} +#line 6951 "Zend/zend_language_scanner.c" yy728: YYDEBUG(728, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'I') goto yy729; - if (yych != 'i') goto yy150; -yy729: + ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; + } YYDEBUG(729, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'L') goto yy730; - if (yych != 'l') goto yy150; + yyleng = YYCURSOR - SCNG(yy_text); +#line 1210 "Zend/zend_language_scanner.l" + { + RETURN_TOKEN(T_ENDFOREACH); +} +#line 6964 "Zend/zend_language_scanner.c" yy730: YYDEBUG(730, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy731; - if (yych != 'e') goto yy150; -yy731: - YYDEBUG(731, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; } - YYDEBUG(732, *YYCURSOR); + YYDEBUG(731, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1190 "Zend/zend_language_scanner.l" +#line 1282 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_ENDWHILE); + RETURN_TOKEN(T_IMPLEMENTS); } -#line 6725 "Zend/zend_language_scanner.c" +#line 6977 "Zend/zend_language_scanner.c" +yy732: + YYDEBUG(732, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'C') goto yy743; + if (yych == 'c') goto yy743; + goto yy128; yy733: YYDEBUG(733, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'I') goto yy734; - if (yych != 'i') goto yy150; -yy734: + ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; + } YYDEBUG(734, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'T') goto yy735; - if (yych != 't') goto yy150; + yyleng = YYCURSOR - SCNG(yy_text); +#line 1222 "Zend/zend_language_scanner.l" + { + RETURN_TOKEN(T_INSTANCEOF); +} +#line 6996 "Zend/zend_language_scanner.c" yy735: YYDEBUG(735, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy736; - if (yych != 'c') goto yy150; + if (yych == 'C') goto yy744; + if (yych == 'c') goto yy744; + goto yy128; yy736: YYDEBUG(736, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'H') goto yy737; - if (yych != 'h') goto yy150; -yy737: - YYDEBUG(737, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; - } - YYDEBUG(738, *YYCURSOR); + YYDEBUG(737, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1234 "Zend/zend_language_scanner.l" +#line 1145 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_ENDSWITCH); + HANDLE_NEWLINES(yytext, yyleng); + RETURN_TOKEN(T_YIELD_FROM); } -#line 6758 "Zend/zend_language_scanner.c" +#line 7013 "Zend/zend_language_scanner.c" +yy738: + YYDEBUG(738, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == '_') goto yy745; + goto yy128; yy739: YYDEBUG(739, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'P') goto yy746; + if (yych == 'p') goto yy746; + goto yy128; +yy740: + YYDEBUG(740, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; } - YYDEBUG(740, *YYCURSOR); + YYDEBUG(741, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1178 "Zend/zend_language_scanner.l" +#line 1761 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_ENDIF); + RETURN_TOKEN(T_METHOD_C); } -#line 6771 "Zend/zend_language_scanner.c" -yy741: - YYDEBUG(741, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy742; - if (yych != 'r') goto yy150; +#line 7037 "Zend/zend_language_scanner.c" yy742: YYDEBUG(742, *YYCURSOR); - ++YYCURSOR; - if ((yych = *YYCURSOR) <= '^') { - if (yych <= '@') { - if (yych <= '/') goto yy743; - if (yych <= '9') goto yy149; - } else { - if (yych == 'E') goto yy744; - if (yych <= 'Z') goto yy149; - } - } else { - if (yych <= 'd') { - if (yych != '`') goto yy149; - } else { - if (yych <= 'e') goto yy744; - if (yych <= 'z') goto yy149; - if (yych >= 0x80) goto yy149; - } - } + yych = *++YYCURSOR; + if (yych == 'E') goto yy747; + if (yych == 'e') goto yy747; + goto yy128; yy743: YYDEBUG(743, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1202 "Zend/zend_language_scanner.l" - { - RETURN_TOKEN(T_ENDFOR); -} -#line 6804 "Zend/zend_language_scanner.c" + yych = *++YYCURSOR; + if (yych == 'E') goto yy748; + if (yych == 'e') goto yy748; + goto yy128; yy744: YYDEBUG(744, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'A') goto yy745; - if (yych != 'a') goto yy150; + if (yych == 'E') goto yy750; + if (yych == 'e') goto yy750; + goto yy128; yy745: YYDEBUG(745, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'C') goto yy746; - if (yych != 'c') goto yy150; + if (yych == '_') goto yy752; + goto yy128; yy746: YYDEBUG(746, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'H') goto yy747; - if (yych != 'h') goto yy150; + if (yych == 'I') goto yy754; + if (yych == 'i') goto yy754; + goto yy128; yy747: YYDEBUG(747, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == '_') goto yy755; + goto yy128; +yy748: + YYDEBUG(748, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; } - YYDEBUG(748, *YYCURSOR); + YYDEBUG(749, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1210 "Zend/zend_language_scanner.l" +#line 1376 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_ENDFOREACH); + RETURN_TOKEN(T_INCLUDE_ONCE); } -#line 6832 "Zend/zend_language_scanner.c" -yy749: - YYDEBUG(749, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'C') goto yy750; - if (yych != 'c') goto yy150; +#line 7084 "Zend/zend_language_scanner.c" yy750: YYDEBUG(750, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'L') goto yy751; - if (yych != 'l') goto yy150; -yy751: + ++YYCURSOR; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; + } YYDEBUG(751, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'A') goto yy752; - if (yych != 'a') goto yy150; + yyleng = YYCURSOR - SCNG(yy_text); +#line 1384 "Zend/zend_language_scanner.l" + { + RETURN_TOKEN(T_REQUIRE_ONCE); +} +#line 7097 "Zend/zend_language_scanner.c" yy752: YYDEBUG(752, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'R') goto yy753; - if (yych != 'r') goto yy150; -yy753: - YYDEBUG(753, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy754; - if (yych != 'e') goto yy150; -yy754: - YYDEBUG(754, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; } - YYDEBUG(755, *YYCURSOR); + YYDEBUG(753, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1218 "Zend/zend_language_scanner.l" +#line 1757 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_ENDDECLARE); + RETURN_TOKEN(T_FUNC_C); } -#line 6870 "Zend/zend_language_scanner.c" +#line 7110 "Zend/zend_language_scanner.c" +yy754: + YYDEBUG(754, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'L') goto yy756; + if (yych == 'l') goto yy756; + goto yy128; +yy755: + YYDEBUG(755, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == '_') goto yy757; + goto yy128; yy756: YYDEBUG(756, *YYCURSOR); yych = *++YYCURSOR; - if (yych == 'T') goto yy757; - if (yych != 't') goto yy150; + if (yych == 'E') goto yy759; + if (yych == 'e') goto yy759; + goto yy128; yy757: YYDEBUG(757, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'Y') goto yy758; - if (yych != 'y') goto yy150; -yy758: - YYDEBUG(758, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; } - YYDEBUG(759, *YYCURSOR); + YYDEBUG(758, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1408 "Zend/zend_language_scanner.l" +#line 1777 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_EMPTY); + RETURN_TOKEN(T_NS_C); } -#line 6893 "Zend/zend_language_scanner.c" +#line 7140 "Zend/zend_language_scanner.c" +yy759: + YYDEBUG(759, *YYCURSOR); + yych = *++YYCURSOR; + if (yych == 'R') goto yy760; + if (yych != 'r') goto yy128; yy760: YYDEBUG(760, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'E') goto yy761; - if (yych != 'e') goto yy150; -yy761: - YYDEBUG(761, *YYCURSOR); - ++YYCURSOR; - if ((yych = *YYCURSOR) <= '^') { - if (yych <= '@') { - if (yych <= '/') goto yy762; - if (yych <= '9') goto yy149; - } else { - if (yych == 'I') goto yy763; - if (yych <= 'Z') goto yy149; - } - } else { - if (yych <= 'h') { - if (yych != '`') goto yy149; - } else { - if (yych <= 'i') goto yy763; - if (yych <= 'z') goto yy149; - if (yych >= 0x80) goto yy149; - } - } -yy762: - YYDEBUG(762, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1182 "Zend/zend_language_scanner.l" - { - RETURN_TOKEN(T_ELSE); -} -#line 6926 "Zend/zend_language_scanner.c" -yy763: - YYDEBUG(763, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'F') goto yy764; - if (yych != 'f') goto yy150; -yy764: - YYDEBUG(764, *YYCURSOR); - ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; - } - YYDEBUG(765, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1174 "Zend/zend_language_scanner.l" - { - RETURN_TOKEN(T_ELSEIF); -} -#line 6944 "Zend/zend_language_scanner.c" -yy766: - YYDEBUG(766, *YYCURSOR); - yych = *++YYCURSOR; - if (yych == 'O') goto yy767; - if (yych != 'o') goto yy150; -yy767: - YYDEBUG(767, *YYCURSOR); ++YYCURSOR; - if (yybm[0+(yych = *YYCURSOR)] & 4) { - goto yy149; + if (yybm[0+(yych = *YYCURSOR)] & 16) { + goto yy127; } - YYDEBUG(768, *YYCURSOR); + YYDEBUG(761, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1258 "Zend/zend_language_scanner.l" +#line 1412 "Zend/zend_language_scanner.l" { - RETURN_TOKEN(T_ECHO); + RETURN_TOKEN(T_HALT_COMPILER); } -#line 6962 "Zend/zend_language_scanner.c" +#line 7158 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_LOOKING_FOR_PROPERTY: { static const unsigned char yybm[] = { 0, 0, 0, 0, 0, 0, 0, 0, - 0, 128, 128, 0, 0, 128, 0, 0, + 0, 64, 64, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 128, 0, 0, 0, 0, 0, 0, 0, + 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 0, 0, 0, 0, 0, 0, - 0, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 0, 0, 0, 0, 64, - 0, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 0, 0, 0, 0, 0, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 0, 0, 0, 0, 0, 0, + 0, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 0, 0, 0, 0, 128, + 0, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 0, 0, 0, 0, 0, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, }; - YYDEBUG(769, *YYCURSOR); + YYDEBUG(762, *YYCURSOR); YYFILL(2); yych = *YYCURSOR; - if (yych <= '-') { - if (yych <= '\r') { - if (yych <= 0x08) goto yy777; - if (yych <= '\n') goto yy771; - if (yych <= '\f') goto yy777; + if (yybm[0+yych] & 64) { + goto yy766; + } + if (yych <= '^') { + if (yych <= '-') { + if (yych >= '-') goto yy769; } else { - if (yych == ' ') goto yy771; - if (yych <= ',') goto yy777; - goto yy773; + if (yych <= '@') goto yy764; + if (yych <= 'Z') goto yy770; } } else { - if (yych <= '_') { - if (yych <= '@') goto yy777; - if (yych <= 'Z') goto yy775; - if (yych <= '^') goto yy777; - goto yy775; + if (yych <= '`') { + if (yych <= '_') goto yy770; } else { - if (yych <= '`') goto yy777; - if (yych <= 'z') goto yy775; - if (yych <= 0x7F) goto yy777; - goto yy775; + if (yych <= 'z') goto yy770; + if (yych >= 0x80) goto yy770; } } -yy771: - YYDEBUG(771, *YYCURSOR); - ++YYCURSOR; - yych = *YYCURSOR; - goto yy783; -yy772: - YYDEBUG(772, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1291 "Zend/zend_language_scanner.l" - { - HANDLE_NEWLINES(yytext, yyleng); - RETURN_TOKEN(T_WHITESPACE); -} -#line 7040 "Zend/zend_language_scanner.c" -yy773: - YYDEBUG(773, *YYCURSOR); +yy764: + YYDEBUG(764, *YYCURSOR); ++YYCURSOR; - if ((yych = *YYCURSOR) == '>') goto yy780; -yy774: - YYDEBUG(774, *YYCURSOR); +yy765: + YYDEBUG(765, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1306 "Zend/zend_language_scanner.l" { @@ -7050,58 +7226,57 @@ yy774: yy_pop_state(); goto restart; } -#line 7054 "Zend/zend_language_scanner.c" -yy775: - YYDEBUG(775, *YYCURSOR); +#line 7230 "Zend/zend_language_scanner.c" +yy766: + YYDEBUG(766, *YYCURSOR); ++YYCURSOR; + YYFILL(1); yych = *YYCURSOR; - goto yy779; -yy776: - YYDEBUG(776, *YYCURSOR); + YYDEBUG(767, *YYCURSOR); + if (yybm[0+yych] & 64) { + goto yy766; + } + YYDEBUG(768, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1300 "Zend/zend_language_scanner.l" +#line 1291 "Zend/zend_language_scanner.l" { - yy_pop_state(); - zend_copy_value(zendlval, yytext, yyleng); - RETURN_TOKEN(T_STRING); + HANDLE_NEWLINES(yytext, yyleng); + RETURN_TOKEN(T_WHITESPACE); } -#line 7069 "Zend/zend_language_scanner.c" -yy777: - YYDEBUG(777, *YYCURSOR); +#line 7247 "Zend/zend_language_scanner.c" +yy769: + YYDEBUG(769, *YYCURSOR); yych = *++YYCURSOR; - goto yy774; -yy778: - YYDEBUG(778, *YYCURSOR); + if (yych == '>') goto yy773; + goto yy765; +yy770: + YYDEBUG(770, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy779: - YYDEBUG(779, *YYCURSOR); - if (yybm[0+yych] & 64) { - goto yy778; + YYDEBUG(771, *YYCURSOR); + if (yybm[0+yych] & 128) { + goto yy770; } - goto yy776; -yy780: - YYDEBUG(780, *YYCURSOR); + YYDEBUG(772, *YYCURSOR); + yyleng = YYCURSOR - SCNG(yy_text); +#line 1300 "Zend/zend_language_scanner.l" + { + yy_pop_state(); + zend_copy_value(zendlval, yytext, yyleng); + RETURN_TOKEN(T_STRING); +} +#line 7270 "Zend/zend_language_scanner.c" +yy773: + YYDEBUG(773, *YYCURSOR); ++YYCURSOR; - YYDEBUG(781, *YYCURSOR); + YYDEBUG(774, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1296 "Zend/zend_language_scanner.l" { RETURN_TOKEN(T_OBJECT_OPERATOR); } -#line 7094 "Zend/zend_language_scanner.c" -yy782: - YYDEBUG(782, *YYCURSOR); - ++YYCURSOR; - YYFILL(1); - yych = *YYCURSOR; -yy783: - YYDEBUG(783, *YYCURSOR); - if (yybm[0+yych] & 128) { - goto yy782; - } - goto yy772; +#line 7280 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_LOOKING_FOR_VARNAME: @@ -7140,73 +7315,77 @@ yyc_ST_LOOKING_FOR_VARNAME: 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, }; - YYDEBUG(784, *YYCURSOR); + YYDEBUG(775, *YYCURSOR); YYFILL(2); yych = *YYCURSOR; if (yych <= '_') { - if (yych <= '@') goto yy788; - if (yych <= 'Z') goto yy786; - if (yych <= '^') goto yy788; + if (yych <= '@') goto yy777; + if (yych <= 'Z') goto yy779; + if (yych >= '_') goto yy779; } else { - if (yych <= '`') goto yy788; - if (yych <= 'z') goto yy786; - if (yych <= 0x7F) goto yy788; + if (yych <= '`') goto yy777; + if (yych <= 'z') goto yy779; + if (yych >= 0x80) goto yy779; } -yy786: - YYDEBUG(786, *YYCURSOR); - yyaccept = 0; +yy777: + YYDEBUG(777, *YYCURSOR); + ++YYCURSOR; +yy778: + YYDEBUG(778, *YYCURSOR); + yyleng = YYCURSOR - SCNG(yy_text); +#line 1611 "Zend/zend_language_scanner.l" + { + yyless(0); + yy_pop_state(); + yy_push_state(ST_IN_SCRIPTING); + goto restart; +} +#line 7344 "Zend/zend_language_scanner.c" +yy779: + YYDEBUG(779, *YYCURSOR); yych = *(YYMARKER = ++YYCURSOR); if (yych <= '_') { if (yych <= '@') { - if (yych <= '/') goto yy787; - if (yych <= '9') goto yy790; + if (yych <= '/') goto yy778; + if (yych <= '9') goto yy781; + goto yy778; } else { - if (yych <= '[') goto yy790; - if (yych >= '_') goto yy790; + if (yych <= '[') goto yy781; + if (yych <= '^') goto yy778; + goto yy781; } } else { if (yych <= '|') { - if (yych <= '`') goto yy787; - if (yych <= 'z') goto yy790; + if (yych <= '`') goto yy778; + if (yych <= 'z') goto yy781; + goto yy778; } else { - if (yych <= '}') goto yy790; - if (yych >= 0x80) goto yy790; + if (yych <= '}') goto yy781; + if (yych <= 0x7F) goto yy778; + goto yy781; } } -yy787: - YYDEBUG(787, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1611 "Zend/zend_language_scanner.l" - { - yyless(0); - yy_pop_state(); - yy_push_state(ST_IN_SCRIPTING); - goto restart; -} -#line 7187 "Zend/zend_language_scanner.c" -yy788: - YYDEBUG(788, *YYCURSOR); - yych = *++YYCURSOR; - goto yy787; -yy789: - YYDEBUG(789, *YYCURSOR); +yy780: + YYDEBUG(780, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; -yy790: - YYDEBUG(790, *YYCURSOR); +yy781: + YYDEBUG(781, *YYCURSOR); if (yybm[0+yych] & 128) { - goto yy789; + goto yy780; } - if (yych == '[') goto yy792; - if (yych == '}') goto yy792; - YYDEBUG(791, *YYCURSOR); + if (yych <= '@') goto yy782; + if (yych <= '[') goto yy783; + if (yych == '}') goto yy783; +yy782: + YYDEBUG(782, *YYCURSOR); YYCURSOR = YYMARKER; - goto yy787; -yy792: - YYDEBUG(792, *YYCURSOR); + goto yy778; +yy783: + YYDEBUG(783, *YYCURSOR); ++YYCURSOR; - YYDEBUG(793, *YYCURSOR); + YYDEBUG(784, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1602 "Zend/zend_language_scanner.l" { @@ -7216,16 +7395,16 @@ yy792: yy_push_state(ST_IN_SCRIPTING); RETURN_TOKEN(T_STRING_VARNAME); } -#line 7220 "Zend/zend_language_scanner.c" +#line 7399 "Zend/zend_language_scanner.c" } /* *********************************** */ yyc_ST_NOWDOC: - YYDEBUG(794, *YYCURSOR); + YYDEBUG(785, *YYCURSOR); YYFILL(1); yych = *YYCURSOR; - YYDEBUG(796, *YYCURSOR); + YYDEBUG(787, *YYCURSOR); ++YYCURSOR; - YYDEBUG(797, *YYCURSOR); + YYDEBUG(788, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 2330 "Zend/zend_language_scanner.l" { @@ -7283,7 +7462,7 @@ nowdoc_scan_done: HANDLE_NEWLINES(yytext, yyleng - newline); RETURN_TOKEN(T_ENCAPSED_AND_WHITESPACE); } -#line 7287 "Zend/zend_language_scanner.c" +#line 7466 "Zend/zend_language_scanner.c" /* *********************************** */ yyc_ST_VAR_OFFSET: { @@ -7294,99 +7473,152 @@ yyc_ST_VAR_OFFSET: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 240, 240, 112, 112, 112, 112, 112, 112, - 112, 112, 0, 0, 0, 0, 0, 0, - 0, 80, 80, 80, 80, 80, 80, 16, - 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 0, 0, 0, 0, 16, - 0, 80, 80, 80, 80, 80, 80, 16, - 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 0, 0, 0, 0, 0, - 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, + 240, 240, 176, 176, 176, 176, 176, 176, + 176, 176, 0, 0, 0, 0, 0, 0, + 0, 160, 160, 160, 160, 160, 160, 32, + 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 0, 0, 0, 0, 32, + 0, 160, 160, 160, 160, 160, 160, 32, + 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 0, 0, 0, 0, 0, + 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, }; - YYDEBUG(798, *YYCURSOR); + YYDEBUG(789, *YYCURSOR); YYFILL(3); yych = *YYCURSOR; if (yych <= '0') { if (yych <= ' ') { if (yych <= '\f') { - if (yych <= 0x08) goto yy812; - if (yych <= '\n') goto yy808; - goto yy812; + if (yych <= 0x08) goto yy791; + if (yych <= '\n') goto yy793; } else { - if (yych <= '\r') goto yy808; - if (yych <= 0x1F) goto yy812; - goto yy808; + if (yych <= '\r') goto yy793; + if (yych >= ' ') goto yy793; } } else { if (yych <= '$') { - if (yych <= '"') goto yy807; - if (yych <= '#') goto yy808; - goto yy803; + if (yych <= '"') goto yy795; + if (yych <= '#') goto yy793; + goto yy797; } else { - if (yych == '\'') goto yy808; - if (yych <= '/') goto yy807; + if (yych == '\'') goto yy793; + if (yych <= '/') goto yy795; + goto yy798; } } } else { if (yych <= ']') { if (yych <= 'Z') { - if (yych <= '9') goto yy802; - if (yych <= '@') goto yy807; - goto yy810; + if (yych <= '9') goto yy800; + if (yych <= '@') goto yy795; + goto yy802; } else { - if (yych <= '[') goto yy807; - if (yych <= '\\') goto yy808; + if (yych <= '[') goto yy795; + if (yych <= '\\') goto yy793; goto yy805; } } else { if (yych <= '`') { - if (yych == '_') goto yy810; - goto yy807; + if (yych == '_') goto yy802; + goto yy795; } else { - if (yych <= 'z') goto yy810; - if (yych <= '~') goto yy807; - if (yych <= 0x7F) goto yy812; - goto yy810; + if (yych <= 'z') goto yy802; + if (yych <= '~') goto yy795; + if (yych >= 0x80) goto yy802; } } } - YYDEBUG(800, *YYCURSOR); - yyaccept = 0; +yy791: + YYDEBUG(791, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(792, *YYCURSOR); + yyleng = YYCURSOR - SCNG(yy_text); +#line 2387 "Zend/zend_language_scanner.l" + { + if (YYCURSOR > YYLIMIT) { + RETURN_TOKEN(END); + } + + zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE); + goto restart; +} +#line 7563 "Zend/zend_language_scanner.c" +yy793: + YYDEBUG(793, *YYCURSOR); + ++YYCURSOR; + YYDEBUG(794, *YYCURSOR); + yyleng = YYCURSOR - SCNG(yy_text); +#line 1884 "Zend/zend_language_scanner.l" + { + /* Invalid rule to return a more explicit parse error with proper line number */ + yyless(0); + yy_pop_state(); + ZVAL_NULL(zendlval); + RETURN_TOKEN(T_ENCAPSED_AND_WHITESPACE); +} +#line 7577 "Zend/zend_language_scanner.c" +yy795: + YYDEBUG(795, *YYCURSOR); + ++YYCURSOR; +yy796: + YYDEBUG(796, *YYCURSOR); + yyleng = YYCURSOR - SCNG(yy_text); +#line 1879 "Zend/zend_language_scanner.l" + { + /* Only '[' or '-' can be valid, but returning other tokens will allow a more explicit parse error */ + RETURN_TOKEN(yytext[0]); +} +#line 7589 "Zend/zend_language_scanner.c" +yy797: + YYDEBUG(797, *YYCURSOR); + yych = *++YYCURSOR; + if (yych <= '_') { + if (yych <= '@') goto yy796; + if (yych <= 'Z') goto yy807; + if (yych <= '^') goto yy796; + goto yy807; + } else { + if (yych <= '`') goto yy796; + if (yych <= 'z') goto yy807; + if (yych <= 0x7F) goto yy796; + goto yy807; + } +yy798: + YYDEBUG(798, *YYCURSOR); yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'W') { if (yych <= '9') { - if (yych >= '0') goto yy824; + if (yych >= '0') goto yy810; } else { - if (yych == 'B') goto yy821; + if (yych == 'B') goto yy813; } } else { if (yych <= 'b') { - if (yych <= 'X') goto yy823; - if (yych >= 'b') goto yy821; + if (yych <= 'X') goto yy815; + if (yych >= 'b') goto yy813; } else { - if (yych == 'x') goto yy823; + if (yych == 'x') goto yy815; } } -yy801: - YYDEBUG(801, *YYCURSOR); +yy799: + YYDEBUG(799, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1719 "Zend/zend_language_scanner.l" { /* Offset could be treated as a long */ @@ -7404,32 +7636,34 @@ string: } RETURN_TOKEN(T_NUM_STRING); } -#line 7408 "Zend/zend_language_scanner.c" +#line 7640 "Zend/zend_language_scanner.c" +yy800: + YYDEBUG(800, *YYCURSOR); + ++YYCURSOR; + YYFILL(1); + yych = *YYCURSOR; + YYDEBUG(801, *YYCURSOR); + if (yybm[0+yych] & 16) { + goto yy800; + } + goto yy799; yy802: YYDEBUG(802, *YYCURSOR); - yych = *++YYCURSOR; - goto yy820; -yy803: - YYDEBUG(803, *YYCURSOR); ++YYCURSOR; - if ((yych = *YYCURSOR) <= '_') { - if (yych <= '@') goto yy804; - if (yych <= 'Z') goto yy816; - if (yych >= '_') goto yy816; - } else { - if (yych <= '`') goto yy804; - if (yych <= 'z') goto yy816; - if (yych >= 0x80) goto yy816; + YYFILL(1); + yych = *YYCURSOR; + YYDEBUG(803, *YYCURSOR); + if (yybm[0+yych] & 32) { + goto yy802; } -yy804: YYDEBUG(804, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); -#line 1879 "Zend/zend_language_scanner.l" +#line 1892 "Zend/zend_language_scanner.l" { - /* Only '[' or '-' can be valid, but returning other tokens will allow a more explicit parse error */ - RETURN_TOKEN(yytext[0]); + zend_copy_value(zendlval, yytext, yyleng); + RETURN_TOKEN(T_STRING); } -#line 7433 "Zend/zend_language_scanner.c" +#line 7667 "Zend/zend_language_scanner.c" yy805: YYDEBUG(805, *YYCURSOR); ++YYCURSOR; @@ -7440,160 +7674,91 @@ yy805: yy_pop_state(); RETURN_TOKEN(']'); } -#line 7444 "Zend/zend_language_scanner.c" +#line 7678 "Zend/zend_language_scanner.c" yy807: YYDEBUG(807, *YYCURSOR); - yych = *++YYCURSOR; - goto yy804; -yy808: - YYDEBUG(808, *YYCURSOR); - ++YYCURSOR; - YYDEBUG(809, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1884 "Zend/zend_language_scanner.l" - { - /* Invalid rule to return a more explicit parse error with proper line number */ - yyless(0); - yy_pop_state(); - ZVAL_NULL(zendlval); - RETURN_TOKEN(T_ENCAPSED_AND_WHITESPACE); -} -#line 7462 "Zend/zend_language_scanner.c" -yy810: - YYDEBUG(810, *YYCURSOR); - ++YYCURSOR; - yych = *YYCURSOR; - goto yy815; -yy811: - YYDEBUG(811, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 1892 "Zend/zend_language_scanner.l" - { - zend_copy_value(zendlval, yytext, yyleng); - RETURN_TOKEN(T_STRING); -} -#line 7476 "Zend/zend_language_scanner.c" -yy812: - YYDEBUG(812, *YYCURSOR); - ++YYCURSOR; - YYDEBUG(813, *YYCURSOR); - yyleng = YYCURSOR - SCNG(yy_text); -#line 2387 "Zend/zend_language_scanner.l" - { - if (YYCURSOR > YYLIMIT) { - RETURN_TOKEN(END); - } - - zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE); - goto restart; -} -#line 7491 "Zend/zend_language_scanner.c" -yy814: - YYDEBUG(814, *YYCURSOR); - ++YYCURSOR; - YYFILL(1); - yych = *YYCURSOR; -yy815: - YYDEBUG(815, *YYCURSOR); - if (yybm[0+yych] & 16) { - goto yy814; - } - goto yy811; -yy816: - YYDEBUG(816, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(817, *YYCURSOR); + YYDEBUG(808, *YYCURSOR); if (yych <= '^') { if (yych <= '9') { - if (yych >= '0') goto yy816; + if (yych >= '0') goto yy807; } else { - if (yych <= '@') goto yy818; - if (yych <= 'Z') goto yy816; + if (yych <= '@') goto yy809; + if (yych <= 'Z') goto yy807; } } else { if (yych <= '`') { - if (yych <= '_') goto yy816; + if (yych <= '_') goto yy807; } else { - if (yych <= 'z') goto yy816; - if (yych >= 0x80) goto yy816; + if (yych <= 'z') goto yy807; + if (yych >= 0x80) goto yy807; } } -yy818: - YYDEBUG(818, *YYCURSOR); +yy809: + YYDEBUG(809, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1869 "Zend/zend_language_scanner.l" { zend_copy_value(zendlval, (yytext+1), (yyleng-1)); RETURN_TOKEN(T_VARIABLE); } -#line 7532 "Zend/zend_language_scanner.c" -yy819: - YYDEBUG(819, *YYCURSOR); - ++YYCURSOR; - YYFILL(1); - yych = *YYCURSOR; -yy820: - YYDEBUG(820, *YYCURSOR); - if (yybm[0+yych] & 32) { - goto yy819; - } - goto yy801; -yy821: - YYDEBUG(821, *YYCURSOR); - yych = *++YYCURSOR; - if (yybm[0+yych] & 128) { - goto yy829; - } -yy822: - YYDEBUG(822, *YYCURSOR); - YYCURSOR = YYMARKER; - goto yy801; -yy823: - YYDEBUG(823, *YYCURSOR); - yych = *++YYCURSOR; - if (yybm[0+yych] & 64) { - goto yy827; - } - goto yy822; -yy824: - YYDEBUG(824, *YYCURSOR); +#line 7708 "Zend/zend_language_scanner.c" +yy810: + YYDEBUG(810, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(825, *YYCURSOR); - if (yych <= '/') goto yy826; - if (yych <= '9') goto yy824; -yy826: - YYDEBUG(826, *YYCURSOR); + YYDEBUG(811, *YYCURSOR); + if (yych <= '/') goto yy812; + if (yych <= '9') goto yy810; +yy812: + YYDEBUG(812, *YYCURSOR); yyleng = YYCURSOR - SCNG(yy_text); #line 1735 "Zend/zend_language_scanner.l" { /* Offset must be treated as a string */ ZVAL_STRINGL(zendlval, yytext, yyleng); RETURN_TOKEN(T_NUM_STRING); } -#line 7577 "Zend/zend_language_scanner.c" -yy827: - YYDEBUG(827, *YYCURSOR); +#line 7725 "Zend/zend_language_scanner.c" +yy813: + YYDEBUG(813, *YYCURSOR); + yych = *++YYCURSOR; + if (yybm[0+yych] & 64) { + goto yy816; + } +yy814: + YYDEBUG(814, *YYCURSOR); + YYCURSOR = YYMARKER; + goto yy799; +yy815: + YYDEBUG(815, *YYCURSOR); + yych = *++YYCURSOR; + if (yybm[0+yych] & 128) { + goto yy818; + } + goto yy814; +yy816: + YYDEBUG(816, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(828, *YYCURSOR); + YYDEBUG(817, *YYCURSOR); if (yybm[0+yych] & 64) { - goto yy827; + goto yy816; } - goto yy826; -yy829: - YYDEBUG(829, *YYCURSOR); + goto yy812; +yy818: + YYDEBUG(818, *YYCURSOR); ++YYCURSOR; YYFILL(1); yych = *YYCURSOR; - YYDEBUG(830, *YYCURSOR); + YYDEBUG(819, *YYCURSOR); if (yybm[0+yych] & 128) { - goto yy829; + goto yy818; } - goto yy826; + goto yy812; } } #line 2396 "Zend/zend_language_scanner.l" diff --git a/Zend/zend_language_scanner_defs.h b/Zend/zend_language_scanner_defs.h index 5926e3c61d..c89b1bba45 100644 --- a/Zend/zend_language_scanner_defs.h +++ b/Zend/zend_language_scanner_defs.h @@ -1,4 +1,4 @@ -/* Generated by re2c 0.13.5 */ +/* Generated by re2c 0.16 */ #line 3 "Zend/zend_language_scanner_defs.h" enum YYCONDTYPE { diff --git a/Zend/zend_portability.h b/Zend/zend_portability.h index ce56f8d737..bb83e8d8d5 100644 --- a/Zend/zend_portability.h +++ b/Zend/zend_portability.h @@ -480,7 +480,7 @@ static zend_always_inline double _zend_get_nan(void) /* {{{ */ #ifdef ZEND_WIN32 #define ZEND_SECURE_ZERO(var, size) RtlSecureZeroMemory((var), (size)) #else -#define ZEND_SECURE_ZERO(var, size) memset((var), 0, (size)) +#define ZEND_SECURE_ZERO(var, size) explicit_bzero((var), (size)) #endif /* This check should only be used on network socket, not file descriptors */ diff --git a/appveyor/build_task.bat b/appveyor/build_task.bat index 90eea2f643..97db9db4d5 100644 --- a/appveyor/build_task.bat +++ b/appveyor/build_task.bat @@ -33,7 +33,7 @@ if "%OPCACHE%" equ "0" set EXT_EXCLUDE_FROM_TEST=%EXT_EXCLUDE_FROM_TEST%,opcache call configure.bat ^ --enable-snapshot-build ^ - --enable-debug-pack ^ + --disable-debug-pack ^ --enable-com-dotnet=shared ^ --without-analyzer ^ --enable-object-out-dir=%PHP_BUILD_OBJ_DIR% ^ diff --git a/configure.in b/configure.in index be73e1ebb7..ea52783903 100644 --- a/configure.in +++ b/configure.in @@ -745,7 +745,7 @@ if test "$ac_cv_func_sync_fetch_and_add" = yes; then AC_DEFINE(HAVE_SYNC_FETCH_AND_ADD,1,[Define if you have the __sync_fetch_and_add function]) fi -AC_REPLACE_FUNCS(strlcat strlcpy getopt) +AC_REPLACE_FUNCS(strlcat strlcpy explicit_bzero getopt) AC_FUNC_UTIME_NULL AC_FUNC_ALLOCA dnl PHP_AC_BROKEN_SPRINTF @@ -1446,7 +1446,7 @@ PHP_ADD_SOURCES(TSRM, TSRM.c tsrm_strtok_r.c, -DZEND_ENABLE_STATIC_TSRMLS_CACHE= PHP_ADD_SOURCES(main, main.c snprintf.c spprintf.c php_sprintf.c \ fopen_wrappers.c alloca.c php_scandir.c \ php_ini.c SAPI.c rfc1867.c php_content_types.c strlcpy.c \ - strlcat.c mergesort.c reentrancy.c php_variables.c php_ticks.c \ + strlcat.c explicit_bzero.c mergesort.c reentrancy.c php_variables.c php_ticks.c \ network.c php_open_temporary_file.c \ output.c getopt.c, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1) diff --git a/ext/exif/exif.c b/ext/exif/exif.c index 9d75868107..b5c99dd6c3 100644 --- a/ext/exif/exif.c +++ b/ext/exif/exif.c @@ -1682,7 +1682,7 @@ static size_t exif_convert_any_to_int(void *value, int format, int motorola_inte if (s_den == 0) { return 0; } else { - return php_ifd_get32s(value, motorola_intel) / s_den; + return (size_t)((double)php_ifd_get32s(value, motorola_intel) / s_den); } case TAG_FMT_SSHORT: return php_ifd_get16u(value, motorola_intel); diff --git a/ext/exif/tests/bug73737.phpt b/ext/exif/tests/bug73737.phpt new file mode 100644 index 0000000000..21eaf80585 --- /dev/null +++ b/ext/exif/tests/bug73737.phpt @@ -0,0 +1,12 @@ +--TEST-- +Bug #73737 (Crash when parsing a tag format) +--SKIPIF-- +<?php if (!extension_loaded('exif')) print 'skip exif extension not available';?> +--FILE-- +<?php + $exif = exif_thumbnail(__DIR__ . '/bug73737.tiff'); + var_dump($exif); +?> +--EXPECTF-- +Warning: exif_thumbnail(bug73737.tiff): Error in TIFF: filesize(x0030) less than start of IFD dir(x10102) in %s line %d +bool(false) diff --git a/ext/exif/tests/bug73737.tiff b/ext/exif/tests/bug73737.tiff Binary files differnew file mode 100644 index 0000000000..2cb036fc47 --- /dev/null +++ b/ext/exif/tests/bug73737.tiff diff --git a/ext/mysqli/mysqli_nonapi.c b/ext/mysqli/mysqli_nonapi.c index 08817dc7f0..3dba36317d 100644 --- a/ext/mysqli/mysqli_nonapi.c +++ b/ext/mysqli/mysqli_nonapi.c @@ -183,6 +183,10 @@ void mysqli_common_connect(INTERNAL_FUNCTION_PARAMETERS, zend_bool is_real_conne mysqlnd_restart_psession(mysql->mysql); #endif MyG(num_active_persistent)++; + + /* clear error */ + php_mysqli_set_error(mysql_errno(mysql->mysql), (char *) mysql_error(mysql->mysql)); + goto end; } else { mysqli_close(mysql->mysql, MYSQLI_CLOSE_IMPLICIT); diff --git a/ext/mysqli/tests/bug73462.phpt b/ext/mysqli/tests/bug73462.phpt new file mode 100644 index 0000000000..6de73761f4 --- /dev/null +++ b/ext/mysqli/tests/bug73462.phpt @@ -0,0 +1,41 @@ +--TEST-- +Bug #73462 (Persistent connections don't set $connect_errno) +--SKIPIF-- +<?php +require_once('skipif.inc'); +require_once('skipifemb.inc'); +require_once('skipifconnectfailure.inc'); +?> +--FILE-- +<?php + require_once("connect.inc"); + + /* Initial persistent connection */ + $mysql_1 = new mysqli('p:'.$host, $user, $passwd, $db); + $result = $mysql_1->query("SHOW STATUS LIKE 'Connections'"); + $c1 = $result->fetch_row(); + $result->free(); + $mysql_1->close(); + + /* Failed connection to invalid host */ + $mysql_2 = @new mysqli(' !!! invalid !!! ', $user, $passwd, $db); + @$mysql_2->close(); + + /* Re-use persistent connection */ + $mysql_3 = new mysqli('p:'.$host, $user, $passwd, $db); + $error = mysqli_connect_errno(); + $result = $mysql_3->query("SHOW STATUS LIKE 'Connections'"); + $c3 = $result->fetch_row(); + $result->free(); + $mysql_3->close(); + + if (end($c1) !== end($c3)) + printf("[001] Expected '%d' got '%d'.\n", end($c1), end($c3)); + + if ($error !== 0) + printf("[002] Expected '0' got '%d'.\n", $error); + + print "done!"; +?> +--EXPECTF-- +done! diff --git a/ext/mysqlnd/mysqlnd_wireprotocol.c b/ext/mysqlnd/mysqlnd_wireprotocol.c index 70e9f948bd..d5495715e0 100644 --- a/ext/mysqlnd/mysqlnd_wireprotocol.c +++ b/ext/mysqlnd/mysqlnd_wireprotocol.c @@ -1468,7 +1468,7 @@ php_mysqlnd_read_row_ex(MYSQLND_PFC * pfc, zend_bool first_iteration = TRUE; DBG_ENTER("php_mysqlnd_read_row_ex"); - + /* To ease the process the server splits everything in packets up to 2^24 - 1. Even in the case the payload is evenly divisible by this value, the last @@ -1531,7 +1531,7 @@ php_mysqlnd_read_row_ex(MYSQLND_PFC * pfc, pool->free_chunk(pool, *buffer); *buffer = NULL; } - *data_size--; + (*data_size)--; DBG_RETURN(ret); } /* }}} */ diff --git a/ext/opcache/tests/basic_logging.phpt b/ext/opcache/tests/basic_logging.phpt index c62ea039a5..4a571b5b93 100644 --- a/ext/opcache/tests/basic_logging.phpt +++ b/ext/opcache/tests/basic_logging.phpt @@ -7,6 +7,7 @@ outputs the correct logging at the highest log_verbosity_level --INI-- opcache.enable=1 opcache.enable_cli=1 +opcache.file_cache_only=0 opcache.log_verbosity_level=4 --SKIPIF-- <?php require_once('skipif.inc'); ?> diff --git a/ext/opcache/tests/issue0115.phpt b/ext/opcache/tests/issue0115.phpt index 0dfdd9f0eb..26d99080eb 100644 --- a/ext/opcache/tests/issue0115.phpt +++ b/ext/opcache/tests/issue0115.phpt @@ -16,28 +16,28 @@ require "phar://this/index.php"; __HALT_COMPILER(); ?>'; $p = new Phar(__DIR__ . '/issue0115_1.phar.php', 0, 'this'); $p['index.php'] = '<?php -echo "Hello from Index 1.\n"; -require_once "phar://this/hello.php"; + echo "Hello from Index 1.\n"; + require_once "phar://this/hello.php"; '; -$p['hello.php'] = "Hello World 1!\n"; +$p['hello.php'] = "Hello World 1!\n"; $p->setStub($stub); unset($p); $p = new Phar(__DIR__ . '/issue0115_2.phar.php', 0, 'this'); $p['index.php'] = '<?php -echo "Hello from Index 2.\n"; -require_once "phar://this/hello.php"; + echo "Hello from Index 2.\n"; + require_once "phar://this/hello.php"; '; -$p['hello.php'] = "Hello World 2!\n"; +$p['hello.php'] = "Hello World 2!\n"; $p->setStub($stub); unset($p); include "php_cli_server.inc"; -php_cli_server_start('-d opcache.enable=1 -d opcache.enable_cli=1'); +php_cli_server_start('-d opcache.enable=1 -d opcache.enable_cli=1 -d extension=phar.'.PHP_SHLIB_SUFFIX); echo file_get_contents('http://' . PHP_CLI_SERVER_ADDRESS . '/issue0115_1.phar.php'); echo file_get_contents('http://' . PHP_CLI_SERVER_ADDRESS . '/issue0115_2.phar.php'); ?> --CLEAN-- -<?php +<?php @unlink(__DIR__ . '/issue0115_1.phar.php'); @unlink(__DIR__ . '/issue0115_2.phar.php'); ?> diff --git a/ext/opcache/tests/issue0149.phpt b/ext/opcache/tests/issue0149.phpt index 8c7f1bb7e0..ba57623fce 100644 --- a/ext/opcache/tests/issue0149.phpt +++ b/ext/opcache/tests/issue0149.phpt @@ -20,13 +20,13 @@ $p->setStub($stub); unset($p); include "php_cli_server.inc"; -php_cli_server_start('-d opcache.enable=1 -d opcache.enable_cli=1'); +php_cli_server_start('-d opcache.enable=1 -d opcache.enable_cli=1 -d extension=phar.'.PHP_SHLIB_SUFFIX); echo file_get_contents('http://' . PHP_CLI_SERVER_ADDRESS . '/issue0149.phar.php'); echo file_get_contents('http://' . PHP_CLI_SERVER_ADDRESS . '/issue0149.phar.php'); echo file_get_contents('http://' . PHP_CLI_SERVER_ADDRESS . '/issue0149.phar.php'); ?> --CLEAN-- -<?php +<?php @unlink(__DIR__ . '/issue0149.phar.php'); ?> --EXPECT-- diff --git a/ext/opcache/tests/log_verbosity_bug.phpt b/ext/opcache/tests/log_verbosity_bug.phpt index 725b8889f4..2e5d7a9add 100644 --- a/ext/opcache/tests/log_verbosity_bug.phpt +++ b/ext/opcache/tests/log_verbosity_bug.phpt @@ -7,6 +7,7 @@ The process should die regardless of the log_verbosity_level. --INI-- opcache.enable=1 opcache.enable_cli=1 +opcache.file_cache_only=0 opcache.memory_consumption=999999999 opcache.log_verbosity_level=-1 --SKIPIF-- diff --git a/ext/phar/phar.c b/ext/phar/phar.c index a80c1b0b9e..2f25f85ff3 100644 --- a/ext/phar/phar.c +++ b/ext/phar/phar.c @@ -983,7 +983,6 @@ static int phar_parse_pharfile(php_stream *fp, char *fname, int fname_len, char /* if the alias is stored we enforce it (implicit overrides explicit) */ if (alias && alias_len && (alias_len != (int)tmp_len || strncmp(alias, buffer, tmp_len))) { - buffer[tmp_len] = '\0'; php_stream_close(fp); if (signature) { @@ -991,7 +990,7 @@ static int phar_parse_pharfile(php_stream *fp, char *fname, int fname_len, char } if (error) { - spprintf(error, 0, "cannot load phar \"%s\" with implicit alias \"%s\" under different alias \"%s\"", fname, buffer, alias); + spprintf(error, 0, "cannot load phar \"%s\" with implicit alias \"%.*s\" under different alias \"%s\"", fname, tmp_len, buffer, alias); } efree(savebuf); @@ -1057,7 +1056,7 @@ static int phar_parse_pharfile(php_stream *fp, char *fname, int fname_len, char entry.is_persistent = mydata->is_persistent; for (manifest_index = 0; manifest_index < manifest_count; ++manifest_index) { - if (buffer + 4 > endbuffer) { + if (buffer + 28 > endbuffer) { MAPPHAR_FAIL("internal corruption of phar \"%s\" (truncated manifest entry)") } @@ -1071,7 +1070,7 @@ static int phar_parse_pharfile(php_stream *fp, char *fname, int fname_len, char entry.manifest_pos = manifest_index; } - if (entry.filename_len + 20 > (size_t)(endbuffer - buffer)) { + if (entry.filename_len > (size_t)(endbuffer - buffer - 24)) { MAPPHAR_FAIL("internal corruption of phar \"%s\" (truncated manifest entry)"); } diff --git a/ext/phar/tests/bug73764.phar b/ext/phar/tests/bug73764.phar Binary files differnew file mode 100644 index 0000000000..89a5ff6542 --- /dev/null +++ b/ext/phar/tests/bug73764.phar diff --git a/ext/phar/tests/bug73764.phpt b/ext/phar/tests/bug73764.phpt new file mode 100644 index 0000000000..cab314a731 --- /dev/null +++ b/ext/phar/tests/bug73764.phpt @@ -0,0 +1,16 @@ +--TEST-- +Phar: PHP bug #73764: Crash while loading hostile phar archive +--SKIPIF-- +<?php if (!extension_loaded("phar")) die("skip"); ?> +--FILE-- +<?php +chdir(__DIR__); +try { +$p = Phar::LoadPhar('bug73764.phar', 'alias.phar'); +echo "OK\n"; +} catch(PharException $e) { + echo $e->getMessage(); +} +?> +--EXPECTF-- +internal corruption of phar "%sbug73764.phar" (truncated manifest entry)
\ No newline at end of file diff --git a/ext/phar/tests/bug73768.phar b/ext/phar/tests/bug73768.phar Binary files differnew file mode 100644 index 0000000000..3f429c2365 --- /dev/null +++ b/ext/phar/tests/bug73768.phar diff --git a/ext/phar/tests/bug73768.phpt b/ext/phar/tests/bug73768.phpt new file mode 100644 index 0000000000..37a4da0253 --- /dev/null +++ b/ext/phar/tests/bug73768.phpt @@ -0,0 +1,16 @@ +--TEST-- +Phar: PHP bug #73768: Memory corruption when loading hostile phar +--SKIPIF-- +<?php if (!extension_loaded("phar")) die("skip"); ?> +--FILE-- +<?php +chdir(__DIR__); +try { +$p = Phar::LoadPhar('bug73768.phar', 'alias.phar'); +echo "OK\n"; +} catch(PharException $e) { + echo $e->getMessage(); +} +?> +--EXPECTF-- +cannot load phar "%sbug73768.phar" with implicit alias "" under different alias "alias.phar" diff --git a/ext/standard/browscap.c b/ext/standard/browscap.c index ce9b77abc0..653f8bd492 100644 --- a/ext/standard/browscap.c +++ b/ext/standard/browscap.c @@ -27,10 +27,29 @@ #include "zend_ini_scanner.h" #include "zend_globals.h" +#define BROWSCAP_NUM_CONTAINS 5 + +typedef struct { + zend_string *key; + zend_string *value; +} browscap_kv; + +typedef struct { + zend_string *pattern; + zend_string *parent; + uint32_t kv_start; + uint32_t kv_end; + /* We ensure that the length fits in 16 bits, so this is fine */ + uint16_t contains_start[BROWSCAP_NUM_CONTAINS]; + uint8_t contains_len[BROWSCAP_NUM_CONTAINS]; + uint8_t prefix_len; +} browscap_entry; + typedef struct { HashTable *htab; - zval current_section; - char *current_section_name; + browscap_kv *kv; + uint32_t kv_used; + uint32_t kv_size; char filename[MAXPATHLEN]; } browser_data; @@ -50,43 +69,106 @@ ZEND_DECLARE_MODULE_GLOBALS(browscap) /* OBJECTS_FIXME: This whole extension needs going through. The use of objects looks pretty broken here */ -static void browscap_entry_dtor_request(zval *zvalue) /* {{{ */ +static void browscap_entry_dtor(zval *zvalue) { - if (Z_TYPE_P(zvalue) == IS_ARRAY) { - zend_hash_destroy(Z_ARRVAL_P(zvalue)); - efree(Z_ARR_P(zvalue)); - } else if (Z_TYPE_P(zvalue) == IS_STRING) { - zend_string_release(Z_STR_P(zvalue)); + browscap_entry *entry = Z_PTR_P(zvalue); + zend_string_release(entry->pattern); + if (entry->parent) { + zend_string_release(entry->parent); } + efree(entry); } -/* }}} */ -static void browscap_entry_dtor_persistent(zval *zvalue) /* {{{ */ { - if (Z_TYPE_P(zvalue) == IS_ARRAY) { - zend_hash_destroy(Z_ARRVAL_P(zvalue)); - free(Z_ARR_P(zvalue)); - } else if (Z_TYPE_P(zvalue) == IS_STRING) { - zend_string_release(Z_STR_P(zvalue)); +static void browscap_entry_dtor_persistent(zval *zvalue) +{ + browscap_entry *entry = Z_PTR_P(zvalue); + zend_string_release(entry->pattern); + if (entry->parent) { + zend_string_release(entry->parent); } + pefree(entry, 1); +} + +static inline zend_bool is_placeholder(char c) { + return c == '?' || c == '*'; +} + +/* Length of prefix not containing any wildcards */ +static uint8_t browscap_compute_prefix_len(zend_string *pattern) { + size_t i; + for (i = 0; i < ZSTR_LEN(pattern); i++) { + if (is_placeholder(ZSTR_VAL(pattern)[i])) { + break; + } + } + return MIN(i, UINT8_MAX); +} + +static size_t browscap_compute_contains( + zend_string *pattern, size_t start_pos, + uint16_t *contains_start, uint8_t *contains_len) { + size_t i = start_pos; + /* Find first non-placeholder character after prefix */ + for (; i < ZSTR_LEN(pattern); i++) { + if (!is_placeholder(ZSTR_VAL(pattern)[i])) { + /* Skip the case of a single non-placeholder character. + * Let's try to find something longer instead. */ + if (i + 1 < ZSTR_LEN(pattern) && + !is_placeholder(ZSTR_VAL(pattern)[i + 1])) { + break; + } + } + } + *contains_start = i; + + /* Find first placeholder character after that */ + for (; i < ZSTR_LEN(pattern); i++) { + if (is_placeholder(ZSTR_VAL(pattern)[i])) { + break; + } + } + *contains_len = MIN(i - *contains_start, UINT8_MAX); + return i; +} + +/* Length of regex, including escapes, anchors, etc. */ +static size_t browscap_compute_regex_len(zend_string *pattern) { + size_t i, len = ZSTR_LEN(pattern); + for (i = 0; i < ZSTR_LEN(pattern); i++) { + switch (ZSTR_VAL(pattern)[i]) { + case '*': + case '.': + case '\\': + case '(': + case ')': + case '~': + case '+': + len++; + break; + } + } + + return len + sizeof("~^$~")-1; } -/* }}} */ -static void convert_browscap_pattern(zval *pattern, int persistent) /* {{{ */ +static zend_string *browscap_convert_pattern(zend_string *pattern, int persistent) /* {{{ */ { size_t i, j=0; char *t; zend_string *res; char *lc_pattern; + ALLOCA_FLAG(use_heap); - res = zend_string_safe_alloc(Z_STRLEN_P(pattern), 2, 4, persistent); + res = zend_string_alloc(browscap_compute_regex_len(pattern), persistent); t = ZSTR_VAL(res); - lc_pattern = zend_str_tolower_dup(Z_STRVAL_P(pattern), Z_STRLEN_P(pattern)); + lc_pattern = do_alloca(ZSTR_LEN(pattern) + 1, use_heap); + zend_str_tolower_copy(lc_pattern, ZSTR_VAL(pattern), ZSTR_LEN(pattern)); t[j++] = '~'; t[j++] = '^'; - for (i=0; i<Z_STRLEN_P(pattern); i++, j++) { + for (i = 0; i < ZSTR_LEN(pattern); i++, j++) { switch (lc_pattern[i]) { case '?': t[j] = '.'; @@ -127,17 +209,100 @@ static void convert_browscap_pattern(zval *pattern, int persistent) /* {{{ */ t[j++] = '$'; t[j++] = '~'; - t[j]=0; + ZSTR_LEN(res) = j; - Z_STR_P(pattern) = res; - efree(lc_pattern); + free_alloca(lc_pattern, use_heap); + return res; } /* }}} */ +typedef struct _browscap_parser_ctx { + browser_data *bdata; + browscap_entry *current_entry; + zend_string *current_section_name; + zend_string *str_empty; + zend_string *str_one; + HashTable str_interned; +} browscap_parser_ctx; + +static zend_string *browscap_intern_str( + browscap_parser_ctx *ctx, zend_string *str) { + zend_string *interned = zend_hash_find_ptr(&ctx->str_interned, str); + if (interned) { + zend_string_addref(interned); + } else { + interned = zend_string_copy(str); + zend_hash_add_new_ptr(&ctx->str_interned, interned, interned); + } + + return interned; +} + +static zend_string *browscap_intern_str_ci( + browscap_parser_ctx *ctx, zend_string *str, zend_bool persistent) { + zend_string *lcname; + zend_string *interned; + ALLOCA_FLAG(use_heap); + + ZSTR_ALLOCA_ALLOC(lcname, ZSTR_LEN(str), use_heap); + zend_str_tolower_copy(ZSTR_VAL(lcname), ZSTR_VAL(str), ZSTR_LEN(str)); + interned = zend_hash_find_ptr(&ctx->str_interned, lcname); + + if (interned) { + zend_string_addref(interned); + } else { + interned = zend_string_dup(lcname, persistent); + zend_hash_add_new_ptr(&ctx->str_interned, interned, interned); + } + + ZSTR_ALLOCA_FREE(lcname, use_heap); + return interned; +} + +static void browscap_add_kv( + browser_data *bdata, zend_string *key, zend_string *value, zend_bool persistent) { + if (bdata->kv_used == bdata->kv_size) { + bdata->kv_size *= 2; + bdata->kv = safe_perealloc(bdata->kv, sizeof(browscap_kv), bdata->kv_size, 0, persistent); + } + + bdata->kv[bdata->kv_used].key = key; + bdata->kv[bdata->kv_used].value = value; + bdata->kv_used++; +} + +static HashTable *browscap_entry_to_array(browser_data *bdata, browscap_entry *entry) { + zval tmp; + uint32_t i; + + HashTable *ht; + ALLOC_HASHTABLE(ht); + zend_hash_init(ht, 8, NULL, ZVAL_PTR_DTOR, 0); + + ZVAL_STR(&tmp, browscap_convert_pattern(entry->pattern, 0)); + zend_hash_str_add(ht, "browser_name_regex", sizeof("browser_name_regex")-1, &tmp); + + ZVAL_STR_COPY(&tmp, entry->pattern); + zend_hash_str_add(ht, "browser_name_pattern", sizeof("browser_name_pattern")-1, &tmp); + + if (entry->parent) { + ZVAL_STR_COPY(&tmp, entry->parent); + zend_hash_str_add(ht, "parent", sizeof("parent")-1, &tmp); + } + + for (i = entry->kv_start; i < entry->kv_end; i++) { + ZVAL_STR_COPY(&tmp, bdata->kv[i].value); + zend_hash_add(ht, bdata->kv[i].key, &tmp); + } + + return ht; +} + static void php_browscap_parser_cb(zval *arg1, zval *arg2, zval *arg3, int callback_type, void *arg) /* {{{ */ { - browser_data *bdata = arg; + browscap_parser_ctx *ctx = arg; + browser_data *bdata = ctx->bdata; int persistent = bdata->htab->u.flags & HASH_FLAG_PERSISTENT; if (!arg1) { @@ -146,74 +311,81 @@ static void php_browscap_parser_cb(zval *arg1, zval *arg2, zval *arg3, int callb switch (callback_type) { case ZEND_INI_PARSER_ENTRY: - if (Z_TYPE(bdata->current_section) != IS_UNDEF && arg2) { - zval new_property; - zend_string *new_key; - - /* parent entry can not be same as current section -> causes infinite loop! */ - if (!strcasecmp(Z_STRVAL_P(arg1), "parent") && - bdata->current_section_name != NULL && - !strcasecmp(bdata->current_section_name, Z_STRVAL_P(arg2)) - ) { - zend_error(E_CORE_ERROR, "Invalid browscap ini file: " - "'Parent' value cannot be same as the section name: %s " - "(in file %s)", bdata->current_section_name, INI_STR("browscap")); - return; - } + if (ctx->current_entry != NULL && arg2) { + zend_string *new_key, *new_value; /* Set proper value for true/false settings */ if ((Z_STRLEN_P(arg2) == 2 && !strncasecmp(Z_STRVAL_P(arg2), "on", sizeof("on") - 1)) || (Z_STRLEN_P(arg2) == 3 && !strncasecmp(Z_STRVAL_P(arg2), "yes", sizeof("yes") - 1)) || (Z_STRLEN_P(arg2) == 4 && !strncasecmp(Z_STRVAL_P(arg2), "true", sizeof("true") - 1)) ) { - ZVAL_NEW_STR(&new_property, zend_string_init("1", sizeof("1")-1, persistent)); + new_value = zend_string_copy(ctx->str_one); } else if ( (Z_STRLEN_P(arg2) == 2 && !strncasecmp(Z_STRVAL_P(arg2), "no", sizeof("no") - 1)) || (Z_STRLEN_P(arg2) == 3 && !strncasecmp(Z_STRVAL_P(arg2), "off", sizeof("off") - 1)) || (Z_STRLEN_P(arg2) == 4 && !strncasecmp(Z_STRVAL_P(arg2), "none", sizeof("none") - 1)) || (Z_STRLEN_P(arg2) == 5 && !strncasecmp(Z_STRVAL_P(arg2), "false", sizeof("false") - 1)) ) { - // TODO: USE ZSTR_EMPTY_ALLOC()? - ZVAL_NEW_STR(&new_property, zend_string_init("", sizeof("")-1, persistent)); + new_value = zend_string_copy(ctx->str_empty); } else { /* Other than true/false setting */ - ZVAL_STR(&new_property, zend_string_dup(Z_STR_P(arg2), persistent)); + new_value = browscap_intern_str(ctx, Z_STR_P(arg2)); } - new_key = zend_string_dup(Z_STR_P(arg1), persistent); - zend_str_tolower(ZSTR_VAL(new_key), ZSTR_LEN(new_key)); - zend_hash_update(Z_ARRVAL(bdata->current_section), new_key, &new_property); - zend_string_release(new_key); - } - break; - case ZEND_INI_PARSER_SECTION: { - zval processed; - zval unprocessed; - /*printf("'%s' (%d)\n",$1.value.str.val,$1.value.str.len + 1);*/ - if (persistent) { - ZVAL_NEW_PERSISTENT_ARR(&bdata->current_section); + if (!strcasecmp(Z_STRVAL_P(arg1), "parent")) { + /* parent entry can not be same as current section -> causes infinite loop! */ + if (ctx->current_section_name != NULL && + !strcasecmp(ZSTR_VAL(ctx->current_section_name), Z_STRVAL_P(arg2)) + ) { + zend_error(E_CORE_ERROR, "Invalid browscap ini file: " + "'Parent' value cannot be same as the section name: %s " + "(in file %s)", ZSTR_VAL(ctx->current_section_name), INI_STR("browscap")); + return; + } + + if (ctx->current_entry->parent) { + zend_string_release(ctx->current_entry->parent); + } + ctx->current_entry->parent = new_value; } else { - ZVAL_NEW_ARR(&bdata->current_section); + new_key = browscap_intern_str_ci(ctx, Z_STR_P(arg1), persistent); + browscap_add_kv(bdata, new_key, new_value, persistent); + ctx->current_entry->kv_end = bdata->kv_used; } - zend_hash_init(Z_ARRVAL(bdata->current_section), 0, NULL, - (dtor_func_t) (persistent?browscap_entry_dtor_persistent - :browscap_entry_dtor_request), - persistent); - if (bdata->current_section_name) { - pefree(bdata->current_section_name, persistent); - } - bdata->current_section_name = pestrndup(Z_STRVAL_P(arg1), - Z_STRLEN_P(arg1), persistent); + } + break; + case ZEND_INI_PARSER_SECTION: + { + browscap_entry *entry; + zend_string *pattern = Z_STR_P(arg1); + size_t pos; + int i; + + if (ZSTR_LEN(pattern) > UINT16_MAX) { + php_error_docref(NULL, E_WARNING, + "Skipping excessively long pattern of length %zd", ZSTR_LEN(pattern)); + break; + } + + entry = ctx->current_entry + = pemalloc(sizeof(browscap_entry), persistent); + zend_hash_update_ptr(bdata->htab, pattern, entry); - zend_hash_update(bdata->htab, Z_STR_P(arg1), &bdata->current_section); + if (ctx->current_section_name) { + zend_string_release(ctx->current_section_name); + } + ctx->current_section_name = zend_string_copy(pattern); - ZVAL_STR(&processed, Z_STR_P(arg1)); - ZVAL_STR(&unprocessed, zend_string_dup(Z_STR_P(arg1), persistent)); + entry->pattern = zend_string_copy(pattern); + entry->kv_end = entry->kv_start = bdata->kv_used; + entry->parent = NULL; - convert_browscap_pattern(&processed, persistent); - zend_hash_str_update(Z_ARRVAL(bdata->current_section), "browser_name_regex", sizeof("browser_name_regex")-1, &processed); - zend_hash_str_update(Z_ARRVAL(bdata->current_section), "browser_name_pattern", sizeof("browser_name_pattern")-1, &unprocessed); + pos = entry->prefix_len = browscap_compute_prefix_len(pattern); + for (i = 0; i < BROWSCAP_NUM_CONTAINS; i++) { + pos = browscap_compute_contains(pattern, pos, + &entry->contains_start[i], &entry->contains_len[i]); } break; + } } } /* }}} */ @@ -221,41 +393,53 @@ static void php_browscap_parser_cb(zval *arg1, zval *arg2, zval *arg3, int callb static int browscap_read_file(char *filename, browser_data *browdata, int persistent) /* {{{ */ { zend_file_handle fh; + browscap_parser_ctx ctx = {0}; if (filename == NULL || filename[0] == '\0') { return FAILURE; } - browdata->htab = pemalloc(sizeof *browdata->htab, persistent); - if (browdata->htab == NULL) { - return FAILURE; - } - - zend_hash_init_ex(browdata->htab, 0, NULL, - (dtor_func_t) (persistent?browscap_entry_dtor_persistent - :browscap_entry_dtor_request), - persistent, 0); - - memset(&fh, 0, sizeof(fh)); fh.handle.fp = VCWD_FOPEN(filename, "r"); fh.opened_path = NULL; fh.free_filename = 0; if (!fh.handle.fp) { - zend_hash_destroy(browdata->htab); - pefree(browdata->htab, persistent); - browdata->htab = NULL; zend_error(E_CORE_WARNING, "Cannot open '%s' for reading", filename); return FAILURE; } + fh.filename = filename; fh.type = ZEND_HANDLE_FP; - browdata->current_section_name = NULL; + + browdata->htab = pemalloc(sizeof *browdata->htab, persistent); + if (browdata->htab == NULL) { + return FAILURE; + } + + zend_hash_init_ex(browdata->htab, 0, NULL, + persistent ? browscap_entry_dtor_persistent : browscap_entry_dtor, persistent, 0); + + browdata->kv_size = 16 * 1024; + browdata->kv_used = 0; + browdata->kv = pemalloc(sizeof(browscap_kv) * browdata->kv_size, persistent); + + /* Create parser context */ + ctx.bdata = browdata; + ctx.current_entry = NULL; + ctx.current_section_name = NULL; + ctx.str_empty = zend_string_init("", sizeof("")-1, persistent); + ctx.str_one = zend_string_init("1", sizeof("1")-1, persistent); + zend_hash_init(&ctx.str_interned, 8, NULL, NULL, persistent); + zend_parse_ini_file(&fh, 1, ZEND_INI_SCANNER_RAW, - (zend_ini_parser_cb_t) php_browscap_parser_cb, browdata); - if (browdata->current_section_name != NULL) { - pefree(browdata->current_section_name, persistent); - browdata->current_section_name = NULL; + (zend_ini_parser_cb_t) php_browscap_parser_cb, &ctx); + + /* Destroy parser context */ + if (ctx.current_section_name) { + zend_string_release(ctx.current_section_name); } + zend_string_release(ctx.str_one); + zend_string_release(ctx.str_empty); + zend_hash_destroy(&ctx.str_interned); return SUCCESS; } @@ -265,8 +449,7 @@ static int browscap_read_file(char *filename, browser_data *browdata, int persis static void browscap_globals_ctor(zend_browscap_globals *browscap_globals) /* {{{ */ { browscap_globals->activation_bdata.htab = NULL; - ZVAL_UNDEF(&browscap_globals->activation_bdata.current_section); - browscap_globals->activation_bdata.current_section_name = NULL; + browscap_globals->activation_bdata.kv = NULL; browscap_globals->activation_bdata.filename[0] = '\0'; } /* }}} */ @@ -275,12 +458,20 @@ static void browscap_globals_ctor(zend_browscap_globals *browscap_globals) /* {{ static void browscap_bdata_dtor(browser_data *bdata, int persistent) /* {{{ */ { if (bdata->htab != NULL) { + uint32_t i; + zend_hash_destroy(bdata->htab); pefree(bdata->htab, persistent); bdata->htab = NULL; + + for (i = 0; i < bdata->kv_used; i++) { + zend_string_release(bdata->kv[i].key); + zend_string_release(bdata->kv[i].value); + } + pefree(bdata->kv, persistent); + bdata->kv = NULL; } bdata->filename[0] = '\0'; - /* current_section_* are only used during parsing */ } /* }}} */ @@ -344,49 +535,89 @@ PHP_MSHUTDOWN_FUNCTION(browscap) /* {{{ */ } /* }}} */ -static int browser_reg_compare(zval *browser, int num_args, va_list args, zend_hash_key *key) /* {{{ */ +static inline size_t browscap_get_minimum_length(browscap_entry *entry) { + size_t len = entry->prefix_len; + int i; + for (i = 0; i < BROWSCAP_NUM_CONTAINS; i++) { + len += entry->contains_len[i]; + } + return len; +} + +static int browser_reg_compare( + zval *entry_zv, int num_args, va_list args, zend_hash_key *key) /* {{{ */ { - zval *browser_regex, *previous_match; + browscap_entry *entry = Z_PTR_P(entry_zv); + zend_string *agent_name = va_arg(args, zend_string *); + browscap_entry **found_entry_ptr = va_arg(args, browscap_entry **); + browscap_entry *found_entry = *found_entry_ptr; + ALLOCA_FLAG(use_heap); + zend_string *pattern_lc, *regex; + const char *cur; + int i; + pcre *re; int re_options; pcre_extra *re_extra; - char *lookup_browser_name = va_arg(args, char *); - int lookup_browser_length = va_arg(args, int); - zval *found_browser_entry = va_arg(args, zval *); - /* See if we have an exact match, if so, we're done... */ - if (Z_TYPE_P(found_browser_entry) == IS_ARRAY) { - if ((previous_match = zend_hash_str_find(Z_ARRVAL_P(found_browser_entry), "browser_name_pattern", sizeof("browser_name_pattern")-1)) == NULL) { - return 0; - } - else if (!strcasecmp(Z_STRVAL_P(previous_match), lookup_browser_name)) { - return 0; - } + /* Agent name too short */ + if (ZSTR_LEN(agent_name) < browscap_get_minimum_length(entry)) { + return 0; } - if ((browser_regex = zend_hash_str_find(Z_ARRVAL_P(browser), "browser_name_regex", sizeof("browser_name_regex")-1)) == NULL) { + /* Quickly discard patterns where the prefix doesn't match. */ + if (zend_binary_strcasecmp( + ZSTR_VAL(agent_name), entry->prefix_len, + ZSTR_VAL(entry->pattern), entry->prefix_len) != 0) { return 0; } - re = pcre_get_compiled_regex(Z_STR_P(browser_regex), &re_extra, &re_options); + /* Lowercase the pattern, the agent name is already lowercase */ + ZSTR_ALLOCA_ALLOC(pattern_lc, ZSTR_LEN(entry->pattern), use_heap); + zend_str_tolower_copy(ZSTR_VAL(pattern_lc), ZSTR_VAL(entry->pattern), ZSTR_LEN(entry->pattern)); + + /* Check if the agent contains the "contains" portions */ + cur = ZSTR_VAL(agent_name) + entry->prefix_len; + for (i = 0; i < BROWSCAP_NUM_CONTAINS; i++) { + if (entry->contains_len[i] != 0) { + cur = zend_memnstr(cur, + ZSTR_VAL(pattern_lc) + entry->contains_start[i], + entry->contains_len[i], + ZSTR_VAL(agent_name) + ZSTR_LEN(agent_name)); + if (!cur) { + ZSTR_ALLOCA_FREE(pattern_lc, use_heap); + return 0; + } + cur += entry->contains_len[i]; + } + } + + /* See if we have an exact match, if so, we're done... */ + if (zend_string_equals(agent_name, pattern_lc)) { + *found_entry_ptr = entry; + ZSTR_ALLOCA_FREE(pattern_lc, use_heap); + return ZEND_HASH_APPLY_STOP; + } + + regex = browscap_convert_pattern(entry->pattern, 0); + re = pcre_get_compiled_regex(regex, &re_extra, &re_options); if (re == NULL) { + ZSTR_ALLOCA_FREE(pattern_lc, use_heap); + zend_string_release(regex); return 0; } - if (pcre_exec(re, re_extra, lookup_browser_name, lookup_browser_length, 0, re_options, NULL, 0) == 0) { + if (pcre_exec(re, re_extra, ZSTR_VAL(agent_name), ZSTR_LEN(agent_name), 0, re_options, NULL, 0) == 0) { /* If we've found a possible browser, we need to do a comparison of the number of characters changed in the user agent being checked versus the previous match found and the current match. */ - if (Z_TYPE_P(found_browser_entry) == IS_ARRAY) { + if (found_entry) { size_t i, prev_len = 0, curr_len = 0; - zval *current_match = zend_hash_str_find(Z_ARRVAL_P(browser), "browser_name_pattern", sizeof("browser_name_pattern")-1); - - if (!current_match) { - return 0; - } + zend_string *previous_match = found_entry->pattern; + zend_string *current_match = entry->pattern; - for (i = 0; i < Z_STRLEN_P(previous_match); i++) { - switch (Z_STRVAL_P(previous_match)[i]) { + for (i = 0; i < ZSTR_LEN(previous_match); i++) { + switch (ZSTR_VAL(previous_match)[i]) { case '?': case '*': /* do nothing, ignore these characters in the count */ @@ -397,8 +628,8 @@ static int browser_reg_compare(zval *browser, int num_args, va_list args, zend_h } } - for (i = 0; i < Z_STRLEN_P(current_match); i++) { - switch (Z_STRVAL_P(current_match)[i]) { + for (i = 0; i < ZSTR_LEN(current_match); i++) { + switch (ZSTR_VAL(current_match)[i]) { case '?': case '*': /* do nothing, ignore these characters in the count */ @@ -412,14 +643,15 @@ static int browser_reg_compare(zval *browser, int num_args, va_list args, zend_h /* Pick which browser pattern replaces the least amount of characters when compared to the original user agent string... */ if (prev_len < curr_len) { - ZVAL_COPY_VALUE(found_browser_entry, browser); + *found_entry_ptr = entry; } - } - else { - ZVAL_COPY_VALUE(found_browser_entry, browser); + } else { + *found_entry_ptr = entry; } } + ZSTR_ALLOCA_FREE(pattern_lc, use_heap); + zend_string_release(regex); return 0; } /* }}} */ @@ -434,13 +666,11 @@ static void browscap_zval_copy_ctor(zval *p) /* {{{ */ Get information about the capabilities of a browser. If browser_name is omitted or null, HTTP_USER_AGENT is used. Returns an object by default; if return_array is true, returns an array. */ PHP_FUNCTION(get_browser) { - char *agent_name = NULL; - size_t agent_name_len = 0; + zend_string *agent_name = NULL, *lookup_browser_name; zend_bool return_array = 0; - zval *agent, *z_agent_name, *http_user_agent; - zval found_browser_entry; - char *lookup_browser_name; browser_data *bdata; + browscap_entry *found_entry = NULL; + HashTable *agent_ht; if (BROWSCAP_G(activation_bdata).filename[0] != '\0') { bdata = &BROWSCAP_G(activation_bdata); @@ -459,58 +689,66 @@ PHP_FUNCTION(get_browser) ZEND_PARSE_PARAMETERS_START(0, 2) Z_PARAM_OPTIONAL - Z_PARAM_STRING_EX(agent_name, agent_name_len, 1, 0) + Z_PARAM_STR_EX(agent_name, 1, 0) Z_PARAM_BOOL(return_array) ZEND_PARSE_PARAMETERS_END(); if (agent_name == NULL) { - if ((Z_TYPE(PG(http_globals)[TRACK_VARS_SERVER]) == IS_ARRAY || zend_is_auto_global_str(ZEND_STRL("_SERVER"))) && - (http_user_agent = zend_hash_str_find(Z_ARRVAL_P(&PG(http_globals)[TRACK_VARS_SERVER]), "HTTP_USER_AGENT", sizeof("HTTP_USER_AGENT")-1)) == NULL - ) { + zval *http_user_agent = NULL; + if (Z_TYPE(PG(http_globals)[TRACK_VARS_SERVER]) == IS_ARRAY + || zend_is_auto_global_str(ZEND_STRL("_SERVER"))) { + http_user_agent = zend_hash_str_find( + Z_ARRVAL_P(&PG(http_globals)[TRACK_VARS_SERVER]), + "HTTP_USER_AGENT", sizeof("HTTP_USER_AGENT")-1); + } + if (http_user_agent == NULL) { php_error_docref(NULL, E_WARNING, "HTTP_USER_AGENT variable is not set, cannot determine user agent name"); RETURN_FALSE; } - agent_name = Z_STRVAL_P(http_user_agent); - agent_name_len = Z_STRLEN_P(http_user_agent); + agent_name = Z_STR_P(http_user_agent); } - lookup_browser_name = estrndup(agent_name, agent_name_len); - php_strtolower(lookup_browser_name, agent_name_len); + lookup_browser_name = zend_string_tolower(agent_name); + found_entry = zend_hash_find_ptr(bdata->htab, lookup_browser_name); + if (found_entry == NULL) { + zend_hash_apply_with_arguments(bdata->htab, browser_reg_compare, 2, lookup_browser_name, &found_entry); - if ((agent = zend_hash_str_find(bdata->htab, lookup_browser_name, agent_name_len)) == NULL) { - ZVAL_UNDEF(&found_browser_entry); - zend_hash_apply_with_arguments(bdata->htab, browser_reg_compare, 3, lookup_browser_name, agent_name_len, &found_browser_entry); - - if (Z_TYPE(found_browser_entry) != IS_UNDEF) { - agent = &found_browser_entry; - } else if ((agent = zend_hash_str_find(bdata->htab, DEFAULT_SECTION_NAME, sizeof(DEFAULT_SECTION_NAME)-1)) == NULL) { - efree(lookup_browser_name); - RETURN_FALSE; + if (found_entry == NULL) { + found_entry = zend_hash_str_find_ptr(bdata->htab, + DEFAULT_SECTION_NAME, sizeof(DEFAULT_SECTION_NAME)-1); + if (found_entry == NULL) { + efree(lookup_browser_name); + RETURN_FALSE; + } } } + agent_ht = browscap_entry_to_array(bdata, found_entry); + if (return_array) { - RETVAL_ARR(zend_array_dup(Z_ARRVAL_P(agent))); - } - else { - object_init(return_value); - zend_hash_copy(Z_OBJPROP_P(return_value), Z_ARRVAL_P(agent), (copy_ctor_func_t) browscap_zval_copy_ctor); + RETVAL_ARR(agent_ht); + } else { + object_and_properties_init(return_value, zend_standard_class_def, agent_ht); } - while ((z_agent_name = zend_hash_str_find(Z_ARRVAL_P(agent), "parent", sizeof("parent")-1)) != NULL) { - if ((agent = zend_hash_find(bdata->htab, Z_STR_P(z_agent_name))) == NULL) { + while (found_entry->parent) { + found_entry = zend_hash_find_ptr(bdata->htab, found_entry->parent); + if (found_entry == NULL) { break; } + agent_ht = browscap_entry_to_array(bdata, found_entry); if (return_array) { - zend_hash_merge(Z_ARRVAL_P(return_value), Z_ARRVAL_P(agent), (copy_ctor_func_t) browscap_zval_copy_ctor, 0); - } - else { - zend_hash_merge(Z_OBJPROP_P(return_value), Z_ARRVAL_P(agent), (copy_ctor_func_t) browscap_zval_copy_ctor, 0); + zend_hash_merge(Z_ARRVAL_P(return_value), agent_ht, (copy_ctor_func_t) browscap_zval_copy_ctor, 0); + } else { + zend_hash_merge(Z_OBJPROP_P(return_value), agent_ht, (copy_ctor_func_t) browscap_zval_copy_ctor, 0); } + + zend_hash_destroy(agent_ht); + efree(agent_ht); } - efree(lookup_browser_name); + zend_string_release(lookup_browser_name); } /* }}} */ diff --git a/ext/standard/crypt.c b/ext/standard/crypt.c index f905981cfb..f1b713ffaf 100644 --- a/ext/standard/crypt.c +++ b/ext/standard/crypt.c @@ -129,12 +129,12 @@ PHPAPI zend_string *php_crypt(const char *password, const int pass_len, const ch crypt_res = php_sha512_crypt_r(password, salt, output, PHP_MAX_SALT_LEN); if (!crypt_res) { - memset(output, 0, PHP_MAX_SALT_LEN); + ZEND_SECURE_ZERO(output, PHP_MAX_SALT_LEN); efree(output); return NULL; } else { result = zend_string_init(output, strlen(output), 0); - memset(output, 0, PHP_MAX_SALT_LEN); + ZEND_SECURE_ZERO(output, PHP_MAX_SALT_LEN); efree(output); return result; } @@ -144,12 +144,12 @@ PHPAPI zend_string *php_crypt(const char *password, const int pass_len, const ch crypt_res = php_sha256_crypt_r(password, salt, output, PHP_MAX_SALT_LEN); if (!crypt_res) { - memset(output, 0, PHP_MAX_SALT_LEN); + ZEND_SECURE_ZERO(output, PHP_MAX_SALT_LEN); efree(output); return NULL; } else { result = zend_string_init(output, strlen(output), 0); - memset(output, 0, PHP_MAX_SALT_LEN); + ZEND_SECURE_ZERO(output, PHP_MAX_SALT_LEN); efree(output); return result; } diff --git a/ext/standard/pack.c b/ext/standard/pack.c index cd759acbea..680e67c5c0 100644 --- a/ext/standard/pack.c +++ b/ext/standard/pack.c @@ -97,8 +97,132 @@ static void php_pack(zval *val, size_t size, int *map, char *output) } /* }}} */ +/* {{{ php_pack_reverse_int32 + */ +static inline uint32_t php_pack_reverse_int32(uint32_t arg) +{ + uint32_t result; + result = ((arg & 0xFF) << 24) | ((arg & 0xFF00) << 8) | ((arg >> 8) & 0xFF00) | ((arg >> 24) & 0xFF); + + return result; +} +/* }}} */ + +/* {{{ php_pack + */ +static inline uint64_t php_pack_reverse_int64(uint64_t arg) +{ + union Swap64 { + uint64_t i; + uint32_t ul[2]; + } tmp, result; + tmp.i = arg; + result.ul[0] = php_pack_reverse_int32(tmp.ul[1]); + result.ul[1] = php_pack_reverse_int32(tmp.ul[0]); + + return result.i; +} +/* }}} */ + +/* {{{ php_pack_copy_float + */ +static void php_pack_copy_float(int is_little_endian, void * dst, float f) +{ + union Copy32 { + float f; + uint32_t i; + } m; + m.f = f; + +#ifdef WORDS_BIGENDIAN + if (is_little_endian) { + m.i = php_pack_reverse_int32(m.i); + } +#else /* WORDS_BIGENDIAN */ + if (!is_little_endian) { + m.i = php_pack_reverse_int32(m.i); + } +#endif /* WORDS_BIGENDIAN */ + + memcpy(dst, &m.f, sizeof(float)); +} +/* }}} */ + +/* {{{ php_pack_copy_double + */ +static void php_pack_copy_double(int is_little_endian, void * dst, double d) +{ + union Copy64 { + double d; + uint64_t i; + } m; + m.d = d; + +#ifdef WORDS_BIGENDIAN + if (is_little_endian) { + m.i = php_pack_reverse_int64(m.i); + } +#else /* WORDS_BIGENDIAN */ + if (!is_little_endian) { + m.i = php_pack_reverse_int64(m.i); + } +#endif /* WORDS_BIGENDIAN */ + + memcpy(dst, &m.d, sizeof(double)); +} +/* }}} */ + +/* {{{ php_pack_parse_float + */ +static float php_pack_parse_float(int is_little_endian, void * src) +{ + union Copy32 { + float f; + uint32_t i; + } m; + memcpy(&m.i, src, sizeof(float)); + +#ifdef WORDS_BIGENDIAN + if (is_little_endian) { + m.i = php_pack_reverse_int32(m.i); + } +#else /* WORDS_BIGENDIAN */ + if (!is_little_endian) { + m.i = php_pack_reverse_int32(m.i); + } +#endif /* WORDS_BIGENDIAN */ + + return m.f; +} +/* }}} */ + +/* {{{ php_pack_parse_double + */ +static double php_pack_parse_double(int is_little_endian, void * src) +{ + union Copy64 { + double d; + uint64_t i; + } m; + memcpy(&m.i, src, sizeof(double)); + +#ifdef WORDS_BIGENDIAN + if (is_little_endian) { + m.i = php_pack_reverse_int64(m.i); + } +#else /* WORDS_BIGENDIAN */ + if (!is_little_endian) { + m.i = php_pack_reverse_int64(m.i); + } +#endif /* WORDS_BIGENDIAN */ + + return m.d; +} +/* }}} */ + /* pack() idea stolen from Perl (implemented formats behave the same as there except J and P) * Implemented formats are Z, A, a, h, H, c, C, s, S, i, I, l, L, n, N, q, Q, J, P, f, d, x, X, @. + * Added g, G for little endian float and big endian float, added e, E for little endian double and big endian double. */ /* {{{ proto string pack(string format, mixed arg1 [, mixed arg2 [, mixed ...]]) Takes one or more arguments and packs them into a binary string according to the format argument */ @@ -210,8 +334,12 @@ PHP_FUNCTION(pack) case 'N': case 'v': case 'V': - case 'f': - case 'd': + case 'f': /* float */ + case 'g': /* little endian float */ + case 'G': /* big endian float */ + case 'd': /* double */ + case 'e': /* little endian double */ + case 'E': /* big endian double */ if (arg < 0) { arg = num_args - currentarg; } @@ -289,11 +417,15 @@ PHP_FUNCTION(pack) break; #endif - case 'f': + case 'f': /* float */ + case 'g': /* little endian float */ + case 'G': /* big endian float */ INC_OUTPUTPOS(arg,sizeof(float)) break; - case 'd': + case 'd': /* double */ + case 'e': /* little endian double */ + case 'E': /* big endian double */ INC_OUTPUTPOS(arg,sizeof(double)) break; @@ -468,6 +600,26 @@ PHP_FUNCTION(pack) } break; } + + case 'g': { + /* pack little endian float */ + while (arg-- > 0) { + float v = (float) zval_get_double(&argv[currentarg++]); + php_pack_copy_float(1, &ZSTR_VAL(output)[outputpos], v); + outputpos += sizeof(v); + } + + break; + } + case 'G': { + /* pack big endian float */ + while (arg-- > 0) { + float v = (float) zval_get_double(&argv[currentarg++]); + php_pack_copy_float(0, &ZSTR_VAL(output)[outputpos], v); + outputpos += sizeof(v); + } + break; + } case 'd': { while (arg-- > 0) { @@ -477,6 +629,26 @@ PHP_FUNCTION(pack) } break; } + + case 'e': { + /* pack little endian double */ + while (arg-- > 0) { + double v = (double) zval_get_double(&argv[currentarg++]); + php_pack_copy_double(1, &ZSTR_VAL(output)[outputpos], v); + outputpos += sizeof(v); + } + break; + } + + case 'E': { + /* pack big endian double */ + while (arg-- > 0) { + double v = (double) zval_get_double(&argv[currentarg++]); + php_pack_copy_double(0, &ZSTR_VAL(output)[outputpos], v); + outputpos += sizeof(v); + } + break; + } case 'x': memset(&ZSTR_VAL(output)[outputpos], '\0', arg); @@ -537,6 +709,7 @@ static zend_long php_unpack(char *data, size_t size, int issigned, int *map) * Numeric pack types will return numbers, a and A will return strings, * f and d will return doubles. * Implemented formats are Z, A, a, h, H, c, C, s, S, i, I, l, L, n, N, q, Q, J, P, f, d, x, X, @. + * Added g, G for little endian float and big endian float, added e, E for little endian double and big endian double. */ /* {{{ proto array unpack(string format, string input) Unpack binary string into named array elements according to format argument */ @@ -679,11 +852,15 @@ PHP_FUNCTION(unpack) /* Use sizeof(float) bytes of input */ case 'f': + case 'g': + case 'G': size = sizeof(float); break; /* Use sizeof(double) bytes of input */ case 'd': + case 'e': + case 'E': size = sizeof(double); break; @@ -939,18 +1116,37 @@ PHP_FUNCTION(unpack) } #endif - case 'f': { + case 'f': /* float */ + case 'g': /* little endian float*/ + case 'G': /* big endian float*/ + { float v; - memcpy(&v, &input[inputpos], sizeof(float)); + if (type == 'g') { + v = php_pack_parse_float(1, &input[inputpos]); + } else if (type == 'G') { + v = php_pack_parse_float(0, &input[inputpos]); + } else { + memcpy(&v, &input[inputpos], sizeof(float)); + } + add_assoc_double(return_value, n, (double)v); break; } + - case 'd': { + case 'd': /* double */ + case 'e': /* little endian float */ + case 'E': /* big endian float */ + { double v; - - memcpy(&v, &input[inputpos], sizeof(double)); + if (type == 'e') { + v = php_pack_parse_double(1, &input[inputpos]); + } else if (type == 'E') { + v = php_pack_parse_double(0, &input[inputpos]); + } else { + memcpy(&v, &input[inputpos], sizeof(double)); + } add_assoc_double(return_value, n, v); break; } diff --git a/ext/standard/php_crypt_r.c b/ext/standard/php_crypt_r.c index ea2ea74fbe..4f0c26acc8 100644 --- a/ext/standard/php_crypt_r.c +++ b/ext/standard/php_crypt_r.c @@ -364,7 +364,7 @@ char * php_md5_crypt_r(const char *pw, const char *salt, char *out) PHP_MD5Update(&ctx, final, (unsigned int)(pl > 16 ? 16 : pl)); /* Don't leave anything around in vm they could use. */ - memset(final, 0, sizeof(final)); + ZEND_SECURE_ZERO(final, sizeof(final)); /* Then something really weird... */ for (i = pwl; i != 0; i >>= 1) diff --git a/ext/standard/tests/misc/browscap_lite_2016_12_06.ini b/ext/standard/tests/misc/browscap_lite_2016_12_06.ini new file mode 100644 index 0000000000..8f91165977 --- /dev/null +++ b/ext/standard/tests/misc/browscap_lite_2016_12_06.ini @@ -0,0 +1,11018 @@ +;;; Provided courtesy of http://browscap.org/ +;;; Created on Tuesday, December 6, 2016 at 12:42 AM UTC +;;; Keep up with the latest goings-on with the project: +;;; Follow us on Twitter <https://twitter.com/browscap>, or... +;;; Like us on Facebook <https://facebook.com/browscap>, or... +;;; Collaborate on GitHub <https://github.com/browscap>, or... +;;; Discuss on Google Groups <https://groups.google.com/forum/#!forum/browscap>. + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Browscap Version + +[GJK_Browscap_Version] +Version=6019 +Released=Tue, 06 Dec 2016 00:42:57 +0000 +Format=php +Type=LITE + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; DefaultProperties + +[DefaultProperties] +Comment="DefaultProperties" +Browser="DefaultProperties" +Version="0.0" +Platform="unknown" +isMobileDevice="false" +isTablet="false" +Device_Type="unknown" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Chromium 55.0 + +[Chromium 55.0] +Parent="DefaultProperties" +Comment="Chromium 55.0" +Browser="Chromium" +Version="55.0" +Platform="Linux" +Device_Type="Desktop" + +[Mozilla/5.0 (SMART-TV; X11; Linux armv7l) AppleWebkit/* (KHTML* like Gecko) Chromium/55.*Chrome/*Safari/*] +Parent="Chromium 55.0" +Device_Type="TV Device" + +[Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko)*Chromium/55.*Chrome/*Safari/*] +Parent="Chromium 55.0" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Chromium 54.0 + +[Chromium 54.0] +Parent="DefaultProperties" +Comment="Chromium 54.0" +Browser="Chromium" +Version="54.0" +Platform="Linux" +Device_Type="Desktop" + +[Mozilla/5.0 (SMART-TV; X11; Linux armv7l) AppleWebkit/* (KHTML* like Gecko) Chromium/54.*Chrome/*Safari/*] +Parent="Chromium 54.0" +Device_Type="TV Device" + +[Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko)*Chromium/54.*Chrome/*Safari/*] +Parent="Chromium 54.0" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Chromium 53.0 + +[Chromium 53.0] +Parent="DefaultProperties" +Comment="Chromium 53.0" +Browser="Chromium" +Version="53.0" +Platform="Linux" +Device_Type="Desktop" + +[Mozilla/5.0 (SMART-TV; X11; Linux armv7l) AppleWebkit/* (KHTML* like Gecko) Chromium/53.*Chrome/*Safari/*] +Parent="Chromium 53.0" +Device_Type="TV Device" + +[Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko)*Chromium/53.*Chrome/*Safari/*] +Parent="Chromium 53.0" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Chromium 52.0 + +[Chromium 52.0] +Parent="DefaultProperties" +Comment="Chromium 52.0" +Browser="Chromium" +Version="52.0" +Platform="Linux" +Device_Type="Desktop" + +[Mozilla/5.0 (SMART-TV; X11; Linux armv7l) AppleWebkit/* (KHTML* like Gecko) Chromium/52.*Chrome/*Safari/*] +Parent="Chromium 52.0" +Device_Type="TV Device" + +[Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko)*Chromium/52.*Chrome/*Safari/*] +Parent="Chromium 52.0" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Chromium 51.0 + +[Chromium 51.0] +Parent="DefaultProperties" +Comment="Chromium 51.0" +Browser="Chromium" +Version="51.0" +Platform="Linux" +Device_Type="Desktop" + +[Mozilla/5.0 (SMART-TV; X11; Linux armv7l) AppleWebkit/* (KHTML* like Gecko) Chromium/51.*Chrome/*Safari/*] +Parent="Chromium 51.0" +Device_Type="TV Device" + +[Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko)*Chromium/51.*Chrome/*Safari/*] +Parent="Chromium 51.0" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Chromium 50.0 + +[Chromium 50.0] +Parent="DefaultProperties" +Comment="Chromium 50.0" +Browser="Chromium" +Version="50.0" +Platform="Linux" +Device_Type="Desktop" + +[Mozilla/5.0 (SMART-TV; X11; Linux armv7l) AppleWebkit/* (KHTML* like Gecko) Chromium/50.*Chrome/*Safari/*] +Parent="Chromium 50.0" +Device_Type="TV Device" + +[Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko)*Chromium/50.*Chrome/*Safari/*] +Parent="Chromium 50.0" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Chromium 49.0 + +[Chromium 49.0] +Parent="DefaultProperties" +Comment="Chromium 49.0" +Browser="Chromium" +Version="49.0" +Platform="Linux" +Device_Type="Desktop" + +[Mozilla/5.0 (SMART-TV; X11; Linux armv7l) AppleWebkit/* (KHTML* like Gecko) Chromium/49.*Chrome/*Safari/*] +Parent="Chromium 49.0" +Device_Type="TV Device" + +[Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko)*Chromium/49.*Chrome/*Safari/*] +Parent="Chromium 49.0" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Chromium 48.0 + +[Chromium 48.0] +Parent="DefaultProperties" +Comment="Chromium 48.0" +Browser="Chromium" +Version="48.0" +Platform="Linux" +Device_Type="Desktop" + +[Mozilla/5.0 (SMART-TV; X11; Linux armv7l) AppleWebkit/* (KHTML* like Gecko) Chromium/48.*Chrome/*Safari/*] +Parent="Chromium 48.0" +Device_Type="TV Device" + +[Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko)*Chromium/48.*Chrome/*Safari/*] +Parent="Chromium 48.0" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Chromium 47.0 + +[Chromium 47.0] +Parent="DefaultProperties" +Comment="Chromium 47.0" +Browser="Chromium" +Version="47.0" +Platform="Linux" +Device_Type="Desktop" + +[Mozilla/5.0 (SMART-TV; X11; Linux armv7l) AppleWebkit/* (KHTML* like Gecko) Chromium/47.*Chrome/*Safari/*] +Parent="Chromium 47.0" +Device_Type="TV Device" + +[Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko)*Chromium/47.*Chrome/*Safari/*] +Parent="Chromium 47.0" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Chromium 46.0 + +[Chromium 46.0] +Parent="DefaultProperties" +Comment="Chromium 46.0" +Browser="Chromium" +Version="46.0" +Platform="Linux" +Device_Type="Desktop" + +[Mozilla/5.0 (SMART-TV; X11; Linux armv7l) AppleWebkit/* (KHTML* like Gecko) Chromium/46.*Chrome/*Safari/*] +Parent="Chromium 46.0" +Device_Type="TV Device" + +[Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko)*Chromium/46.*Chrome/*Safari/*] +Parent="Chromium 46.0" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Chromium 45.0 + +[Chromium 45.0] +Parent="DefaultProperties" +Comment="Chromium 45.0" +Browser="Chromium" +Version="45.0" +Platform="Linux" +Device_Type="Desktop" + +[Mozilla/5.0 (SMART-TV; X11; Linux armv7l) AppleWebkit/* (KHTML* like Gecko) Chromium/45.*Chrome/*Safari/*] +Parent="Chromium 45.0" +Device_Type="TV Device" + +[Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko)*Chromium/45.*Chrome/*Safari/*] +Parent="Chromium 45.0" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Android WebView 5.0 + +[Android WebView 5.0] +Parent="DefaultProperties" +Comment="Android WebView 5.0" +Browser="Android WebView" +Version="5.0" +Platform="Android" +isMobileDevice="true" +Device_Type="Mobile Phone" + +[*Mozilla/5.0 (*Linux*Android*) AppleWebKit/*KHTML* like Gecko) Version/5.0*Chrome*Safari*] +Parent="Android WebView 5.0" + +[Mozilla/5.0 (*Linux*Android* Build/*) AppleWebKit/* (KHTML,*like Gecko*) Version/5.0*Chrome*Safari*] +Parent="Android WebView 5.0" + +[Mozilla/5.0 (*Linux*Android*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/5.0*Chrome*Safari*] +Parent="Android WebView 5.0" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit*(KTHML,like Gecko)*Version/5.0*Chrome*Safari*] +Parent="Android WebView 5.0" +isTablet="true" +Device_Type="Tablet" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit* (KHMTL,*like Gecko*)*Version/5.0*Chrome*Safari*] +Parent="Android WebView 5.0" + +[Mozilla/5.0 (*Linux*Android*)*AppleWebKit* (KHTML,*likeGecko*)*Version/5.0*Chrome*Safari*] +Parent="Android WebView 5.0" + +[Mozilla/5.0(*Linux*Android*)*AppleWebKit/*(KHTML,*like Gecko*)*Version/5.0*Chrome*Safari*] +Parent="Android WebView 5.0" + +[Mozilla/5.0 (*Linux*Android* Build/*) AppleWebKit/* (KHTML,*like Gecko*) Version/5.0*Safari*Chrome*] +Parent="Android WebView 5.0" + +[Mozilla/5.0 (*Linux*Android*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/5.0*Safari*Chrome*] +Parent="Android WebView 5.0" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Android WebView 4.4 + +[Android WebView 4.4] +Parent="DefaultProperties" +Comment="Android WebView 4.4" +Browser="Android WebView" +Version="4.4" +Platform="Android" +isMobileDevice="true" +Device_Type="Mobile Phone" + +[*Mozilla/5.0 (*Linux*Android*) AppleWebKit/*KHTML* like Gecko) Version/4.4*Chrome*Safari*] +Parent="Android WebView 4.4" + +[Mozilla/5.0 (*Linux*Android* Build/*) AppleWebKit/* (KHTML,*like Gecko*) Version/4.4*Chrome*Safari*] +Parent="Android WebView 4.4" + +[Mozilla/5.0 (*Linux*Android*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/4.4*Chrome*Safari*] +Parent="Android WebView 4.4" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit*(KTHML,like Gecko)*Version/4.4*Chrome*Safari*] +Parent="Android WebView 4.4" +isTablet="true" +Device_Type="Tablet" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit* (KHMTL,*like Gecko*)*Version/4.4*Chrome*Safari*] +Parent="Android WebView 4.4" + +[Mozilla/5.0 (*Linux*Android*)*AppleWebKit* (KHTML,*likeGecko*)*Version/4.4*Chrome*Safari*] +Parent="Android WebView 4.4" + +[Mozilla/5.0(*Linux*Android*)*AppleWebKit/*(KHTML,*like Gecko*)*Version/4.4*Chrome*Safari*] +Parent="Android WebView 4.4" + +[Mozilla/5.0 (*Linux*Android* Build/*) AppleWebKit/* (KHTML,*like Gecko*) Version/4.4*Safari*Chrome*] +Parent="Android WebView 4.4" + +[Mozilla/5.0 (*Linux*Android*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/4.4*Safari*Chrome*] +Parent="Android WebView 4.4" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Android WebView 4.3 + +[Android WebView 4.3] +Parent="DefaultProperties" +Comment="Android WebView 4.3" +Browser="Android WebView" +Version="4.3" +Platform="Android" +isMobileDevice="true" +Device_Type="Mobile Phone" + +[*Mozilla/5.0 (*Linux*Android*) AppleWebKit/*KHTML* like Gecko) Version/4.3*Chrome*Safari*] +Parent="Android WebView 4.3" + +[Mozilla/5.0 (*Linux*Android* Build/*) AppleWebKit/* (KHTML,*like Gecko*) Version/4.3*Chrome*Safari*] +Parent="Android WebView 4.3" + +[Mozilla/5.0 (*Linux*Android*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/4.3*Chrome*Safari*] +Parent="Android WebView 4.3" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit*(KTHML,like Gecko)*Version/4.3*Chrome*Safari*] +Parent="Android WebView 4.3" +isTablet="true" +Device_Type="Tablet" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit* (KHMTL,*like Gecko*)*Version/4.3*Chrome*Safari*] +Parent="Android WebView 4.3" + +[Mozilla/5.0 (*Linux*Android*)*AppleWebKit* (KHTML,*likeGecko*)*Version/4.3*Chrome*Safari*] +Parent="Android WebView 4.3" + +[Mozilla/5.0(*Linux*Android*)*AppleWebKit/*(KHTML,*like Gecko*)*Version/4.3*Chrome*Safari*] +Parent="Android WebView 4.3" + +[Mozilla/5.0 (*Linux*Android* Build/*) AppleWebKit/* (KHTML,*like Gecko*) Version/4.3*Safari*Chrome*] +Parent="Android WebView 4.3" + +[Mozilla/5.0 (*Linux*Android*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/4.3*Safari*Chrome*] +Parent="Android WebView 4.3" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Android WebView 4.2 + +[Android WebView 4.2] +Parent="DefaultProperties" +Comment="Android WebView 4.2" +Browser="Android WebView" +Version="4.2" +Platform="Android" +isMobileDevice="true" +Device_Type="Mobile Phone" + +[*Mozilla/5.0 (*Linux*Android*) AppleWebKit/*KHTML* like Gecko) Version/4.2*Chrome*Safari*] +Parent="Android WebView 4.2" + +[Mozilla/5.0 (*Linux*Android* Build/*) AppleWebKit/* (KHTML,*like Gecko*) Version/4.2*Chrome*Safari*] +Parent="Android WebView 4.2" + +[Mozilla/5.0 (*Linux*Android*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/4.2*Chrome*Safari*] +Parent="Android WebView 4.2" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit*(KTHML,like Gecko)*Version/4.2*Chrome*Safari*] +Parent="Android WebView 4.2" +isTablet="true" +Device_Type="Tablet" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit* (KHMTL,*like Gecko*)*Version/4.2*Chrome*Safari*] +Parent="Android WebView 4.2" + +[Mozilla/5.0 (*Linux*Android*)*AppleWebKit* (KHTML,*likeGecko*)*Version/4.2*Chrome*Safari*] +Parent="Android WebView 4.2" + +[Mozilla/5.0(*Linux*Android*)*AppleWebKit/*(KHTML,*like Gecko*)*Version/4.2*Chrome*Safari*] +Parent="Android WebView 4.2" + +[Mozilla/5.0 (*Linux*Android* Build/*) AppleWebKit/* (KHTML,*like Gecko*) Version/4.2*Safari*Chrome*] +Parent="Android WebView 4.2" + +[Mozilla/5.0 (*Linux*Android*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/4.2*Safari*Chrome*] +Parent="Android WebView 4.2" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Android WebView 4.1 + +[Android WebView 4.1] +Parent="DefaultProperties" +Comment="Android WebView 4.1" +Browser="Android WebView" +Version="4.1" +Platform="Android" +isMobileDevice="true" +Device_Type="Mobile Phone" + +[*Mozilla/5.0 (*Linux*Android*) AppleWebKit/*KHTML* like Gecko) Version/4.1*Chrome*Safari*] +Parent="Android WebView 4.1" + +[Mozilla/5.0 (*Linux*Android* Build/*) AppleWebKit/* (KHTML,*like Gecko*) Version/4.1*Chrome*Safari*] +Parent="Android WebView 4.1" + +[Mozilla/5.0 (*Linux*Android*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/4.1*Chrome*Safari*] +Parent="Android WebView 4.1" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit*(KTHML,like Gecko)*Version/4.1*Chrome*Safari*] +Parent="Android WebView 4.1" +isTablet="true" +Device_Type="Tablet" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit* (KHMTL,*like Gecko*)*Version/4.1*Chrome*Safari*] +Parent="Android WebView 4.1" + +[Mozilla/5.0 (*Linux*Android*)*AppleWebKit* (KHTML,*likeGecko*)*Version/4.1*Chrome*Safari*] +Parent="Android WebView 4.1" + +[Mozilla/5.0(*Linux*Android*)*AppleWebKit/*(KHTML,*like Gecko*)*Version/4.1*Chrome*Safari*] +Parent="Android WebView 4.1" + +[Mozilla/5.0 (*Linux*Android* Build/*) AppleWebKit/* (KHTML,*like Gecko*) Version/4.1*Safari*Chrome*] +Parent="Android WebView 4.1" + +[Mozilla/5.0 (*Linux*Android*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/4.1*Safari*Chrome*] +Parent="Android WebView 4.1" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Android WebView 4.0 + +[Android WebView 4.0] +Parent="DefaultProperties" +Comment="Android WebView 4.0" +Browser="Android WebView" +Version="4.0" +Platform="Android" +isMobileDevice="true" +Device_Type="Mobile Phone" + +[*Mozilla/5.0 (*Linux*Android*) AppleWebKit/*KHTML* like Gecko) Version/4.0*Chrome*Safari*] +Parent="Android WebView 4.0" + +[Mozilla/5.0 (*Linux*Android* Build/*) AppleWebKit/* (KHTML,*like Gecko*) Version/4.0*Chrome*Safari*] +Parent="Android WebView 4.0" + +[Mozilla/5.0 (*Linux*Android*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/4.0*Chrome*Safari*] +Parent="Android WebView 4.0" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit*(KTHML,like Gecko)*Version/4.0*Chrome*Safari*] +Parent="Android WebView 4.0" +isTablet="true" +Device_Type="Tablet" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit* (KHMTL,*like Gecko*)*Version/4.0*Chrome*Safari*] +Parent="Android WebView 4.0" + +[Mozilla/5.0 (*Linux*Android*)*AppleWebKit* (KHTML,*likeGecko*)*Version/4.0*Chrome*Safari*] +Parent="Android WebView 4.0" + +[Mozilla/5.0(*Linux*Android*)*AppleWebKit/*(KHTML,*like Gecko*)*Version/4.0*Chrome*Safari*] +Parent="Android WebView 4.0" + +[Mozilla/5.0 (*Linux*Android* Build/*) AppleWebKit/* (KHTML,*like Gecko*) Version/4.0*Safari*Chrome*] +Parent="Android WebView 4.0" + +[Mozilla/5.0 (*Linux*Android*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/4.0*Safari*Chrome*] +Parent="Android WebView 4.0" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Android WebView 2.1 + +[Android WebView 2.1] +Parent="DefaultProperties" +Comment="Android WebView 2.1" +Browser="Android WebView" +Version="2.1" +Platform="Android" +isMobileDevice="true" +Device_Type="Mobile Phone" + +[*Mozilla/5.0 (*Linux*Android*) AppleWebKit/*KHTML* like Gecko) Version/2.1*Chrome*Safari*] +Parent="Android WebView 2.1" + +[Mozilla/5.0 (*Linux*Android* Build/*) AppleWebKit/* (KHTML,*like Gecko*) Version/2.1*Chrome*Safari*] +Parent="Android WebView 2.1" + +[Mozilla/5.0 (*Linux*Android*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/2.1*Chrome*Safari*] +Parent="Android WebView 2.1" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit*(KTHML,like Gecko)*Version/2.1*Chrome*Safari*] +Parent="Android WebView 2.1" +isTablet="true" +Device_Type="Tablet" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit* (KHMTL,*like Gecko*)*Version/2.1*Chrome*Safari*] +Parent="Android WebView 2.1" + +[Mozilla/5.0 (*Linux*Android*)*AppleWebKit* (KHTML,*likeGecko*)*Version/2.1*Chrome*Safari*] +Parent="Android WebView 2.1" + +[Mozilla/5.0(*Linux*Android*)*AppleWebKit/*(KHTML,*like Gecko*)*Version/2.1*Chrome*Safari*] +Parent="Android WebView 2.1" + +[Mozilla/5.0 (*Linux*Android* Build/*) AppleWebKit/* (KHTML,*like Gecko*) Version/2.1*Safari*Chrome*] +Parent="Android WebView 2.1" + +[Mozilla/5.0 (*Linux*Android*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/2.1*Safari*Chrome*] +Parent="Android WebView 2.1" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Android WebView 2.0 + +[Android WebView 2.0] +Parent="DefaultProperties" +Comment="Android WebView 2.0" +Browser="Android WebView" +Version="2.0" +Platform="Android" +isMobileDevice="true" +Device_Type="Mobile Phone" + +[*Mozilla/5.0 (*Linux*Android*) AppleWebKit/*KHTML* like Gecko) Version/2.0*Chrome*Safari*] +Parent="Android WebView 2.0" + +[Mozilla/5.0 (*Linux*Android* Build/*) AppleWebKit/* (KHTML,*like Gecko*) Version/2.0*Chrome*Safari*] +Parent="Android WebView 2.0" + +[Mozilla/5.0 (*Linux*Android*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/2.0*Chrome*Safari*] +Parent="Android WebView 2.0" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit*(KTHML,like Gecko)*Version/2.0*Chrome*Safari*] +Parent="Android WebView 2.0" +isTablet="true" +Device_Type="Tablet" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit* (KHMTL,*like Gecko*)*Version/2.0*Chrome*Safari*] +Parent="Android WebView 2.0" + +[Mozilla/5.0 (*Linux*Android*)*AppleWebKit* (KHTML,*likeGecko*)*Version/2.0*Chrome*Safari*] +Parent="Android WebView 2.0" + +[Mozilla/5.0(*Linux*Android*)*AppleWebKit/*(KHTML,*like Gecko*)*Version/2.0*Chrome*Safari*] +Parent="Android WebView 2.0" + +[Mozilla/5.0 (*Linux*Android* Build/*) AppleWebKit/* (KHTML,*like Gecko*) Version/2.0*Safari*Chrome*] +Parent="Android WebView 2.0" + +[Mozilla/5.0 (*Linux*Android*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/2.0*Safari*Chrome*] +Parent="Android WebView 2.0" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Android WebView 1.6 + +[Android WebView 1.6] +Parent="DefaultProperties" +Comment="Android WebView 1.6" +Browser="Android WebView" +Version="1.6" +Platform="Android" +isMobileDevice="true" +Device_Type="Mobile Phone" + +[*Mozilla/5.0 (*Linux*Android*) AppleWebKit/*KHTML* like Gecko) Version/1.6*Chrome*Safari*] +Parent="Android WebView 1.6" + +[Mozilla/5.0 (*Linux*Android* Build/*) AppleWebKit/* (KHTML,*like Gecko*) Version/1.6*Chrome*Safari*] +Parent="Android WebView 1.6" + +[Mozilla/5.0 (*Linux*Android*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/1.6*Chrome*Safari*] +Parent="Android WebView 1.6" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit*(KTHML,like Gecko)*Version/1.6*Chrome*Safari*] +Parent="Android WebView 1.6" +isTablet="true" +Device_Type="Tablet" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit* (KHMTL,*like Gecko*)*Version/1.6*Chrome*Safari*] +Parent="Android WebView 1.6" + +[Mozilla/5.0 (*Linux*Android*)*AppleWebKit* (KHTML,*likeGecko*)*Version/1.6*Chrome*Safari*] +Parent="Android WebView 1.6" + +[Mozilla/5.0(*Linux*Android*)*AppleWebKit/*(KHTML,*like Gecko*)*Version/1.6*Chrome*Safari*] +Parent="Android WebView 1.6" + +[Mozilla/5.0 (*Linux*Android* Build/*) AppleWebKit/* (KHTML,*like Gecko*) Version/1.6*Safari*Chrome*] +Parent="Android WebView 1.6" + +[Mozilla/5.0 (*Linux*Android*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/1.6*Safari*Chrome*] +Parent="Android WebView 1.6" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Android WebView 1.5 + +[Android WebView 1.5] +Parent="DefaultProperties" +Comment="Android WebView 1.5" +Browser="Android WebView" +Version="1.5" +Platform="Android" +isMobileDevice="true" +Device_Type="Mobile Phone" + +[*Mozilla/5.0 (*Linux*Android*) AppleWebKit/*KHTML* like Gecko) Version/1.5*Chrome*Safari*] +Parent="Android WebView 1.5" + +[Mozilla/5.0 (*Linux*Android* Build/*) AppleWebKit/* (KHTML,*like Gecko*) Version/1.5*Chrome*Safari*] +Parent="Android WebView 1.5" + +[Mozilla/5.0 (*Linux*Android*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/1.5*Chrome*Safari*] +Parent="Android WebView 1.5" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit*(KTHML,like Gecko)*Version/1.5*Chrome*Safari*] +Parent="Android WebView 1.5" +isTablet="true" +Device_Type="Tablet" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit* (KHMTL,*like Gecko*)*Version/1.5*Chrome*Safari*] +Parent="Android WebView 1.5" + +[Mozilla/5.0 (*Linux*Android*)*AppleWebKit* (KHTML,*likeGecko*)*Version/1.5*Chrome*Safari*] +Parent="Android WebView 1.5" + +[Mozilla/5.0(*Linux*Android*)*AppleWebKit/*(KHTML,*like Gecko*)*Version/1.5*Chrome*Safari*] +Parent="Android WebView 1.5" + +[Mozilla/5.0 (*Linux*Android* Build/*) AppleWebKit/* (KHTML,*like Gecko*) Version/1.5*Safari*Chrome*] +Parent="Android WebView 1.5" + +[Mozilla/5.0 (*Linux*Android*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/1.5*Safari*Chrome*] +Parent="Android WebView 1.5" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Android WebView 1.0 + +[Android WebView 1.0] +Parent="DefaultProperties" +Comment="Android WebView 1.0" +Browser="Android WebView" +Version="1.0" +Platform="Android" +isMobileDevice="true" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (*Linux*Android* Build/*) AppleWebKit/* (KHTML,*like Gecko*)*Version/1.0*Chrome*Safari*] +Parent="Android WebView 1.0" + +[Mozilla/5.0 (*Linux*Android*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/1.0*Chrome*Safari*] +Parent="Android WebView 1.0" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit*(KTHML,like Gecko)*Version/1.0*Chrome*Safari*] +Parent="Android WebView 1.0" +isTablet="true" +Device_Type="Tablet" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit* (KHMTL,*like Gecko*)*Version/1.0*Chrome*Safari*] +Parent="Android WebView 1.0" + +[Mozilla/5.0(*Linux*Android*) AppleWebKit/* (KHTML,*like Gecko*)*Version/1.0*Chrome*Safari*] +Parent="Android WebView 1.0" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Android WebView Generic + +[Android WebView Generic] +Parent="DefaultProperties" +Comment="Android WebView Generic" +Browser="Android WebView" +Platform="Android" +isMobileDevice="true" +Device_Type="Mobile Phone" + +[*Mozilla/5.0 (*Linux*Android*) AppleWebKit/*KHTML* like Gecko) Version/*Chrome*Safari*] +Parent="Android WebView Generic" + +[Mozilla/5.0 (*Linux*Android* Build/*) AppleWebKit/* (KHTML,*like Gecko*) Version/*Chrome*Safari*] +Parent="Android WebView Generic" + +[Mozilla/5.0 (*Linux*Android*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/*Chrome*Safari*] +Parent="Android WebView Generic" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit*(KTHML,like Gecko)*Version/*Chrome*Safari*] +Parent="Android WebView Generic" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit* (KHMTL,*like Gecko*)*Version/*Chrome*Safari*] +Parent="Android WebView Generic" + +[Mozilla/5.0 (*Linux*Android*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/*Safari*Chrome*] +Parent="Android WebView Generic" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera 42.0 + +[Opera 42.0] +Parent="DefaultProperties" +Comment="Opera 42.0" +Browser="Opera" +Version="42.0" +Device_Type="Desktop" + +[Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML, like Gecko)*Chrome/*Safari/*OPR/42.0*] +Parent="Opera 42.0" +Platform="Linux" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML, like Gecko)*Chrome/*Safari/*OPR/42.0*] +Parent="Opera 42.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML, like Gecko)*Chrome/*Safari/*OPR/42.0*] +Parent="Opera 42.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML, like Gecko)*Chrome/*Safari/*OPR/42.0*] +Parent="Opera 42.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML, like Gecko)*Chrome/*Safari/*OPR/42.0*] +Parent="Opera 42.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML, like Gecko)*Chrome/*Safari/*OPR/42.0*] +Parent="Opera 42.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML, like Gecko)*Chrome/*Safari/*OPR/42.0*] +Parent="Opera 42.0" +Platform="Win10" + +[Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML, like Gecko)*Chrome/*Safari/*OPR/42.0*] +Parent="Opera 42.0" +Platform="MacOSX" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera 41.0 + +[Opera 41.0] +Parent="DefaultProperties" +Comment="Opera 41.0" +Browser="Opera" +Version="41.0" +Device_Type="Desktop" + +[Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML, like Gecko)*Chrome/*Safari/*OPR/41.0*] +Parent="Opera 41.0" +Platform="Linux" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML, like Gecko)*Chrome/*Safari/*OPR/41.0*] +Parent="Opera 41.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML, like Gecko)*Chrome/*Safari/*OPR/41.0*] +Parent="Opera 41.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML, like Gecko)*Chrome/*Safari/*OPR/41.0*] +Parent="Opera 41.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML, like Gecko)*Chrome/*Safari/*OPR/41.0*] +Parent="Opera 41.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML, like Gecko)*Chrome/*Safari/*OPR/41.0*] +Parent="Opera 41.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML, like Gecko)*Chrome/*Safari/*OPR/41.0*] +Parent="Opera 41.0" +Platform="Win10" + +[Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML, like Gecko)*Chrome/*Safari/*OPR/41.0*] +Parent="Opera 41.0" +Platform="MacOSX" + +[Opera 40.0] +Parent="DefaultProperties" +Comment="Opera 40.0" +Browser="Opera" +Version="40.0" +Device_Type="Desktop" + +[Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML, like Gecko)*Chrome/*Safari/*OPR/40.0*] +Parent="Opera 40.0" +Platform="Linux" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML, like Gecko)*Chrome/*Safari/*OPR/40.0*] +Parent="Opera 40.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML, like Gecko)*Chrome/*Safari/*OPR/40.0*] +Parent="Opera 40.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML, like Gecko)*Chrome/*Safari/*OPR/40.0*] +Parent="Opera 40.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML, like Gecko)*Chrome/*Safari/*OPR/40.0*] +Parent="Opera 40.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML, like Gecko)*Chrome/*Safari/*OPR/40.0*] +Parent="Opera 40.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML, like Gecko)*Chrome/*Safari/*OPR/40.0*] +Parent="Opera 40.0" +Platform="Win10" + +[Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML, like Gecko)*Chrome/*Safari/*OPR/40.0*] +Parent="Opera 40.0" +Platform="MacOSX" + +[Opera 39.0] +Parent="DefaultProperties" +Comment="Opera 39.0" +Browser="Opera" +Version="39.0" +Device_Type="Desktop" + +[Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML, like Gecko)*Chrome/*Safari/*OPR/39.0*] +Parent="Opera 39.0" +Platform="Linux" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML, like Gecko)*Chrome/*Safari/*OPR/39.0*] +Parent="Opera 39.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML, like Gecko)*Chrome/*Safari/*OPR/39.0*] +Parent="Opera 39.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML, like Gecko)*Chrome/*Safari/*OPR/39.0*] +Parent="Opera 39.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML, like Gecko)*Chrome/*Safari/*OPR/39.0*] +Parent="Opera 39.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML, like Gecko)*Chrome/*Safari/*OPR/39.0*] +Parent="Opera 39.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML, like Gecko)*Chrome/*Safari/*OPR/39.0*] +Parent="Opera 39.0" +Platform="Win10" + +[Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML, like Gecko)*Chrome/*Safari/*OPR/39.0*] +Parent="Opera 39.0" +Platform="MacOSX" + +[Opera 38.0] +Parent="DefaultProperties" +Comment="Opera 38.0" +Browser="Opera" +Version="38.0" +Device_Type="Desktop" + +[Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML, like Gecko)*Chrome/*Safari/*OPR/38.0*] +Parent="Opera 38.0" +Platform="Linux" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML, like Gecko)*Chrome/*Safari/*OPR/38.0*] +Parent="Opera 38.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML, like Gecko)*Chrome/*Safari/*OPR/38.0*] +Parent="Opera 38.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML, like Gecko)*Chrome/*Safari/*OPR/38.0*] +Parent="Opera 38.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML, like Gecko)*Chrome/*Safari/*OPR/38.0*] +Parent="Opera 38.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML, like Gecko)*Chrome/*Safari/*OPR/38.0*] +Parent="Opera 38.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML, like Gecko)*Chrome/*Safari/*OPR/38.0*] +Parent="Opera 38.0" +Platform="Win10" + +[Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML, like Gecko)*Chrome/*Safari/*OPR/38.0*] +Parent="Opera 38.0" +Platform="MacOSX" + +[Opera 37.0] +Parent="DefaultProperties" +Comment="Opera 37.0" +Browser="Opera" +Version="37.0" +Device_Type="Desktop" + +[Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML, like Gecko)*Chrome/*Safari/*OPR/37.0*] +Parent="Opera 37.0" +Platform="Linux" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML, like Gecko)*Chrome/*Safari/*OPR/37.0*] +Parent="Opera 37.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML, like Gecko)*Chrome/*Safari/*OPR/37.0*] +Parent="Opera 37.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML, like Gecko)*Chrome/*Safari/*OPR/37.0*] +Parent="Opera 37.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML, like Gecko)*Chrome/*Safari/*OPR/37.0*] +Parent="Opera 37.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML, like Gecko)*Chrome/*Safari/*OPR/37.0*] +Parent="Opera 37.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML, like Gecko)*Chrome/*Safari/*OPR/37.0*] +Parent="Opera 37.0" +Platform="Win10" + +[Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML, like Gecko)*Chrome/*Safari/*OPR/37.0*] +Parent="Opera 37.0" +Platform="MacOSX" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera 36.0 + +[Opera 36.0] +Parent="DefaultProperties" +Comment="Opera 36.0" +Browser="Opera" +Version="36.0" +Device_Type="Desktop" + +[Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/36.0*] +Parent="Opera 36.0" +Platform="Linux" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/36.0*] +Parent="Opera 36.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/36.0*] +Parent="Opera 36.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/36.0*] +Parent="Opera 36.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/36.0*] +Parent="Opera 36.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/36.0*] +Parent="Opera 36.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/36.0*] +Parent="Opera 36.0" +Platform="Win10" + +[Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/36.0*] +Parent="Opera 36.0" +Platform="MacOSX" + +[Opera 35.0] +Parent="DefaultProperties" +Comment="Opera 35.0" +Browser="Opera" +Version="35.0" +Device_Type="Desktop" + +[Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/35.0*] +Parent="Opera 35.0" +Platform="Linux" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/35.0*] +Parent="Opera 35.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/35.0*] +Parent="Opera 35.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/35.0*] +Parent="Opera 35.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/35.0*] +Parent="Opera 35.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/35.0*] +Parent="Opera 35.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/35.0*] +Parent="Opera 35.0" +Platform="Win10" + +[Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/35.0*] +Parent="Opera 35.0" +Platform="MacOSX" + +[Opera 34.0] +Parent="DefaultProperties" +Comment="Opera 34.0" +Browser="Opera" +Version="34.0" +Device_Type="Desktop" + +[Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/34.0*] +Parent="Opera 34.0" +Platform="Linux" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/34.0*] +Parent="Opera 34.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/34.0*] +Parent="Opera 34.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/34.0*] +Parent="Opera 34.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/34.0*] +Parent="Opera 34.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/34.0*] +Parent="Opera 34.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/34.0*] +Parent="Opera 34.0" +Platform="Win10" + +[Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/34.0*] +Parent="Opera 34.0" +Platform="MacOSX" + +[Opera 33.0] +Parent="DefaultProperties" +Comment="Opera 33.0" +Browser="Opera" +Version="33.0" +Device_Type="Desktop" + +[Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/33.0*] +Parent="Opera 33.0" +Platform="Linux" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/33.0*] +Parent="Opera 33.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/33.0*] +Parent="Opera 33.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/33.0*] +Parent="Opera 33.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/33.0*] +Parent="Opera 33.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/33.0*] +Parent="Opera 33.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/33.0*] +Parent="Opera 33.0" +Platform="Win10" + +[Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/33.0*] +Parent="Opera 33.0" +Platform="MacOSX" + +[Opera 32.0] +Parent="DefaultProperties" +Comment="Opera 32.0" +Browser="Opera" +Version="32.0" +Device_Type="Desktop" + +[Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/32.0*] +Parent="Opera 32.0" +Platform="Linux" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/32.0*] +Parent="Opera 32.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/32.0*] +Parent="Opera 32.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/32.0*] +Parent="Opera 32.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/32.0*] +Parent="Opera 32.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/32.0*] +Parent="Opera 32.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/32.0*] +Parent="Opera 32.0" +Platform="Win10" + +[Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/32.0*] +Parent="Opera 32.0" +Platform="MacOSX" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Opera 31.0 + +[Opera 31.0] +Parent="DefaultProperties" +Comment="Opera 31.0" +Browser="Opera" +Version="31.0" +Device_Type="Desktop" + +[Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/31.0*] +Parent="Opera 31.0" +Platform="Linux" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/31.0*] +Parent="Opera 31.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/31.0*] +Parent="Opera 31.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/31.0*] +Parent="Opera 31.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/31.0*] +Parent="Opera 31.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/31.0*] +Parent="Opera 31.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/31.0*] +Parent="Opera 31.0" +Platform="Win10" + +[Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/31.0*] +Parent="Opera 31.0" +Platform="MacOSX" + +[Opera 30.0] +Parent="DefaultProperties" +Comment="Opera 30.0" +Browser="Opera" +Version="30.0" +Device_Type="Desktop" + +[Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/30.0*] +Parent="Opera 30.0" +Platform="Linux" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/30.0*] +Parent="Opera 30.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/30.0*] +Parent="Opera 30.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/30.0*] +Parent="Opera 30.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/30.0*] +Parent="Opera 30.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/30.0*] +Parent="Opera 30.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/30.0*] +Parent="Opera 30.0" +Platform="Win10" + +[Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/30.0*] +Parent="Opera 30.0" +Platform="MacOSX" + +[Opera 29.0] +Parent="DefaultProperties" +Comment="Opera 29.0" +Browser="Opera" +Version="29.0" +Device_Type="Desktop" + +[Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/29.0*] +Parent="Opera 29.0" +Platform="Linux" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/29.0*] +Parent="Opera 29.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/29.0*] +Parent="Opera 29.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/29.0*] +Parent="Opera 29.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/29.0*] +Parent="Opera 29.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/29.0*] +Parent="Opera 29.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/29.0*] +Parent="Opera 29.0" +Platform="Win10" + +[Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/29.0*] +Parent="Opera 29.0" +Platform="MacOSX" + +[Opera 28.0] +Parent="DefaultProperties" +Comment="Opera 28.0" +Browser="Opera" +Version="28.0" +Device_Type="Desktop" + +[Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/28.0*] +Parent="Opera 28.0" +Platform="Linux" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/28.0*] +Parent="Opera 28.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/28.0*] +Parent="Opera 28.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/28.0*] +Parent="Opera 28.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/28.0*] +Parent="Opera 28.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/28.0*] +Parent="Opera 28.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/28.0*] +Parent="Opera 28.0" +Platform="Win10" + +[Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/28.0*] +Parent="Opera 28.0" +Platform="MacOSX" + +[Opera 27.0] +Parent="DefaultProperties" +Comment="Opera 27.0" +Browser="Opera" +Version="27.0" +Device_Type="Desktop" + +[Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/27.0*] +Parent="Opera 27.0" +Platform="Linux" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/27.0*] +Parent="Opera 27.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/27.0*] +Parent="Opera 27.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/27.0*] +Parent="Opera 27.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/27.0*] +Parent="Opera 27.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/27.0*] +Parent="Opera 27.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/27.0*] +Parent="Opera 27.0" +Platform="Win10" + +[Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/27.0*] +Parent="Opera 27.0" +Platform="MacOSX" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Edge 17.0 + +[Edge 17.0] +Parent="DefaultProperties" +Comment="Edge 17.0" +Browser="Edge" +Version="17.0" +Device_Type="Desktop" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML* like Gecko) Chrome/* Safari/* Edge/17.*] +Parent="Edge 17.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/* Safari/* Edge/17.*] +Parent="Edge 17.0" +Platform="Win10" + +[Edge Mobile 17.0] +Parent="DefaultProperties" +Comment="Edge Mobile 17.0" +Browser="Edge Mobile" +Version="17.0" +Platform="WinPhone10" +isMobileDevice="true" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (*Windows Phone 10.0*NOKIA; Lumia 930) AppleWebKit/* (KHTML* like Gecko) Chrome/* Safari/* Edge/17.*] +Parent="Edge Mobile 17.0" + +[Mozilla/5.0 (*Windows Phone 10.0*Xbox; Xbox One) AppleWebKit/* (KHTML* like Gecko) Chrome/* Safari/* Edge/17.*] +Parent="Edge Mobile 17.0" +isMobileDevice="false" +Device_Type="TV Device" + +[Mozilla/5.0 (*Windows Phone 10.0*NOKIA; RM-1010) AppleWebKit/* (KHTML* like Gecko) Chrome/* Safari/* Edge/17.*] +Parent="Edge Mobile 17.0" + +[Mozilla/5.0 (*Windows Phone 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/* Safari/* Edge/17.*] +Parent="Edge Mobile 17.0" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Edge 16.0 + +[Edge 16.0] +Parent="DefaultProperties" +Comment="Edge 16.0" +Browser="Edge" +Version="16.0" +Device_Type="Desktop" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML* like Gecko) Chrome/* Safari/* Edge/16.*] +Parent="Edge 16.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/* Safari/* Edge/16.*] +Parent="Edge 16.0" +Platform="Win10" + +[Edge Mobile 16.0] +Parent="DefaultProperties" +Comment="Edge Mobile 16.0" +Browser="Edge Mobile" +Version="16.0" +Platform="WinPhone10" +isMobileDevice="true" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (*Windows Phone 10.0*NOKIA; Lumia 930) AppleWebKit/* (KHTML* like Gecko) Chrome/* Safari/* Edge/16.*] +Parent="Edge Mobile 16.0" + +[Mozilla/5.0 (*Windows Phone 10.0*Xbox; Xbox One) AppleWebKit/* (KHTML* like Gecko) Chrome/* Safari/* Edge/16.*] +Parent="Edge Mobile 16.0" +isMobileDevice="false" +Device_Type="TV Device" + +[Mozilla/5.0 (*Windows Phone 10.0*NOKIA; RM-1010) AppleWebKit/* (KHTML* like Gecko) Chrome/* Safari/* Edge/16.*] +Parent="Edge Mobile 16.0" + +[Mozilla/5.0 (*Windows Phone 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/* Safari/* Edge/16.*] +Parent="Edge Mobile 16.0" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Edge 15.0 + +[Edge 15.0] +Parent="DefaultProperties" +Comment="Edge 15.0" +Browser="Edge" +Version="15.0" +Device_Type="Desktop" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML* like Gecko) Chrome/* Safari/* Edge/15.*] +Parent="Edge 15.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/* Safari/* Edge/15.*] +Parent="Edge 15.0" +Platform="Win10" + +[Edge Mobile 15.0] +Parent="DefaultProperties" +Comment="Edge Mobile 15.0" +Browser="Edge Mobile" +Version="15.0" +Platform="WinPhone10" +isMobileDevice="true" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (*Windows Phone 10.0*NOKIA; Lumia 930) AppleWebKit/* (KHTML* like Gecko) Chrome/* Safari/* Edge/15.*] +Parent="Edge Mobile 15.0" + +[Mozilla/5.0 (*Windows Phone 10.0*Xbox; Xbox One) AppleWebKit/* (KHTML* like Gecko) Chrome/* Safari/* Edge/15.*] +Parent="Edge Mobile 15.0" +isMobileDevice="false" +Device_Type="TV Device" + +[Mozilla/5.0 (*Windows Phone 10.0*NOKIA; RM-1010) AppleWebKit/* (KHTML* like Gecko) Chrome/* Safari/* Edge/15.*] +Parent="Edge Mobile 15.0" + +[Mozilla/5.0 (*Windows Phone 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/* Safari/* Edge/15.*] +Parent="Edge Mobile 15.0" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Edge 14.0 + +[Edge 14.0] +Parent="DefaultProperties" +Comment="Edge 14.0" +Browser="Edge" +Version="14.0" +Device_Type="Desktop" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML* like Gecko) Chrome/* Safari/* Edge/14.*] +Parent="Edge 14.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/* Safari/* Edge/14.*] +Parent="Edge 14.0" +Platform="Win10" + +[Edge Mobile 14.0] +Parent="DefaultProperties" +Comment="Edge Mobile 14.0" +Browser="Edge Mobile" +Version="14.0" +Platform="WinPhone10" +isMobileDevice="true" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (*Windows Phone 10.0*NOKIA; Lumia 930) AppleWebKit/* (KHTML* like Gecko) Chrome/* Safari/* Edge/14.*] +Parent="Edge Mobile 14.0" + +[Mozilla/5.0 (*Windows Phone 10.0*Xbox; Xbox One) AppleWebKit/* (KHTML* like Gecko) Chrome/* Safari/* Edge/14.*] +Parent="Edge Mobile 14.0" +isMobileDevice="false" +Device_Type="TV Device" + +[Mozilla/5.0 (*Windows Phone 10.0*NOKIA; RM-1010) AppleWebKit/* (KHTML* like Gecko) Chrome/* Safari/* Edge/14.*] +Parent="Edge Mobile 14.0" + +[Mozilla/5.0 (*Windows Phone 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/* Safari/* Edge/14.*] +Parent="Edge Mobile 14.0" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Edge 13.0 + +[Edge 13.0] +Parent="DefaultProperties" +Comment="Edge 13.0" +Browser="Edge" +Version="13.0" +Device_Type="Desktop" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML* like Gecko) Chrome/* Safari/* Edge/13.*] +Parent="Edge 13.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/* Safari/* Edge/13.*] +Parent="Edge 13.0" +Platform="Win10" + +[Edge Mobile 13.0] +Parent="DefaultProperties" +Comment="Edge Mobile 13.0" +Browser="Edge Mobile" +Version="13.0" +Platform="WinPhone10" +isMobileDevice="true" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (*Windows Phone 10.0*NOKIA; Lumia 930) AppleWebKit/* (KHTML* like Gecko) Chrome/* Safari/* Edge/13.*] +Parent="Edge Mobile 13.0" + +[Mozilla/5.0 (*Windows Phone 10.0*Xbox; Xbox One) AppleWebKit/* (KHTML* like Gecko) Chrome/* Safari/* Edge/13.*] +Parent="Edge Mobile 13.0" +isMobileDevice="false" +Device_Type="TV Device" + +[Mozilla/5.0 (*Windows Phone 10.0*NOKIA; RM-1010) AppleWebKit/* (KHTML* like Gecko) Chrome/* Safari/* Edge/13.*] +Parent="Edge Mobile 13.0" + +[Mozilla/5.0 (*Windows Phone 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/* Safari/* Edge/13.*] +Parent="Edge Mobile 13.0" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Edge 12.0 + +[Edge 12.0] +Parent="DefaultProperties" +Comment="Edge 12.0" +Browser="Edge" +Version="12.0" +Device_Type="Desktop" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML* like Gecko) Chrome/* Safari/* Edge/12.*] +Parent="Edge 12.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/* Safari/* Edge/12.*] +Parent="Edge 12.0" +Platform="Win10" + +[Edge Mobile 12.0] +Parent="DefaultProperties" +Comment="Edge Mobile 12.0" +Browser="Edge Mobile" +Version="12.0" +Platform="WinPhone10" +isMobileDevice="true" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (*Windows Phone 10.0*NOKIA; Lumia 930) AppleWebKit/* (KHTML* like Gecko) Chrome/* Safari/* Edge/12.*] +Parent="Edge Mobile 12.0" + +[Mozilla/5.0 (*Windows Phone 10.0*Microsoft; id336*) AppleWebKit/* (KHTML* like Gecko) Chrome/* Safari/* Edge/12.*] +Parent="Edge Mobile 12.0" + +[Mozilla/5.0 (*Windows Phone 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/* Safari/* Edge/12.*] +Parent="Edge Mobile 12.0" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Chrome 55.0 + +[Chrome 55.0 for Android] +Parent="DefaultProperties" +Comment="Chrome 55.0" +Browser="Chrome" +Version="55.0" +Platform="Android" +isMobileDevice="true" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko) Chrome/55.*Safari/*] +Parent="Chrome 55.0 for Android" + +[Mozilla/5.0 (*Linux*Android*)*AppleWebKit/* (KHTML* like Gecko) Chrome/55.*Safari/*] +Parent="Chrome 55.0 for Android" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko) 55.*Safari/*] +Parent="Chrome 55.0 for Android" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko*) Chrome/55.*Safari/*] +Parent="Chrome 55.0 for Android" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit/*(KHTML,*like Gecko) Chrome/55.*Safari/*] +Parent="Chrome 55.0 for Android" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko)*CrMo/55.*Safari/*] +Parent="Chrome 55.0 for Android" + +[Chrome 55.0 for iOS] +Parent="DefaultProperties" +Comment="Chrome 55.0" +Browser="Chrome" +Version="55.0" +Platform="iOS" +isMobileDevice="true" +Device_Type="Mobile Device" + +[Mozilla/5.0 (iPad*CPU*OS* like Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *CriOS/55.*Safari/*] +Parent="Chrome 55.0 for iOS" +isTablet="true" +Device_Type="Tablet" + +[Mozilla/5.0 (iPhone*CPU*OS* like Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *CriOS/55.*Safari/*] +Parent="Chrome 55.0 for iOS" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (iPod*CPU*OS* like Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *CriOS/55.*Safari/*] +Parent="Chrome 55.0 for iOS" + +[Mozilla/5.0 (*CPU*OS* like Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *CriOS/55.*Safari/*] +Parent="Chrome 55.0 for iOS" + +[Chrome 55.0] +Parent="DefaultProperties" +Comment="Chrome 55.0" +Browser="Chrome" +Version="55.0" +Device_Type="Desktop" + +[Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) Chrome/55.*Safari/*] +Parent="Chrome 55.0" +Platform="Linux" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/55.*Safari/*] +Parent="Chrome 55.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/55.*Safari/*] +Parent="Chrome 55.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/55.*Safari/*] +Parent="Chrome 55.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/55.*Safari/*] +Parent="Chrome 55.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML* like Gecko) Chrome/55.*Safari/*] +Parent="Chrome 55.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/55.*Safari/*] +Parent="Chrome 55.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/55.*Safari/*] +Parent="Chrome 55.0" +Platform="Win32" + +[Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/55.*Safari/*] +Parent="Chrome 55.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML,*like Gecko) Chrome/55.*] +Parent="Chrome 55.0" +Platform="Linux" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/55.*] +Parent="Chrome 55.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/55.*] +Parent="Chrome 55.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/55.*] +Parent="Chrome 55.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/55.*] +Parent="Chrome 55.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML* like Gecko) Chrome/55.*] +Parent="Chrome 55.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/55.*] +Parent="Chrome 55.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/55.*] +Parent="Chrome 55.0" +Platform="Win32" + +[Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/55.*] +Parent="Chrome 55.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/55.*Chrome anonymized by*] +Parent="Chrome 55.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/55.*Chrome anonymized by*] +Parent="Chrome 55.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/55.*Chrome anonymized by*] +Parent="Chrome 55.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/55.*Chrome anonymized by*] +Parent="Chrome 55.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML* like Gecko) Chrome/55.*Chrome anonymized by*] +Parent="Chrome 55.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/55.*Chrome anonymized by*] +Parent="Chrome 55.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/55.*Chrome anonymized by*] +Parent="Chrome 55.0" +Platform="Win32" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/55.*Anonymisiert durch*] +Parent="Chrome 55.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/55.*Anonymisiert durch*] +Parent="Chrome 55.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/55.*Anonymisiert durch*] +Parent="Chrome 55.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/55.*Anonymisiert durch*] +Parent="Chrome 55.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML* like Gecko) Chrome/55.*Anonymisiert durch*] +Parent="Chrome 55.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/55.*Anonymisiert durch*] +Parent="Chrome 55.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/55.*Anonymisiert durch*] +Parent="Chrome 55.0" +Platform="Win32" + +[Mozilla/5.0 (*Linux*) AppleWebKit/*(KHTML,like Gecko) Chrome/55.*] +Parent="Chrome 55.0" +Platform="Linux" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Chrome 54.0 + +[Chrome 54.0 for Android] +Parent="DefaultProperties" +Comment="Chrome 54.0" +Browser="Chrome" +Version="54.0" +Platform="Android" +isMobileDevice="true" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/*] +Parent="Chrome 54.0 for Android" + +[Mozilla/5.0 (*Linux*Android*)*AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/*] +Parent="Chrome 54.0 for Android" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko) 54.*Safari/*] +Parent="Chrome 54.0 for Android" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko*) Chrome/54.*Safari/*] +Parent="Chrome 54.0 for Android" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit/*(KHTML,*like Gecko) Chrome/54.*Safari/*] +Parent="Chrome 54.0 for Android" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko)*CrMo/54.*Safari/*] +Parent="Chrome 54.0 for Android" + +[Chrome 54.0 for iOS] +Parent="DefaultProperties" +Comment="Chrome 54.0" +Browser="Chrome" +Version="54.0" +Platform="iOS" +isMobileDevice="true" +Device_Type="Mobile Device" + +[Mozilla/5.0 (iPad*CPU*OS* like Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *CriOS/54.*Safari/*] +Parent="Chrome 54.0 for iOS" +isTablet="true" +Device_Type="Tablet" + +[Mozilla/5.0 (iPhone*CPU*OS* like Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *CriOS/54.*Safari/*] +Parent="Chrome 54.0 for iOS" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (iPod*CPU*OS* like Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *CriOS/54.*Safari/*] +Parent="Chrome 54.0 for iOS" + +[Mozilla/5.0 (*CPU*OS* like Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *CriOS/54.*Safari/*] +Parent="Chrome 54.0 for iOS" + +[Chrome 54.0] +Parent="DefaultProperties" +Comment="Chrome 54.0" +Browser="Chrome" +Version="54.0" +Device_Type="Desktop" + +[Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/*] +Parent="Chrome 54.0" +Platform="Linux" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/*] +Parent="Chrome 54.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/*] +Parent="Chrome 54.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/*] +Parent="Chrome 54.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/*] +Parent="Chrome 54.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/*] +Parent="Chrome 54.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/*] +Parent="Chrome 54.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/*] +Parent="Chrome 54.0" +Platform="Win32" + +[Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/*] +Parent="Chrome 54.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML,*like Gecko) Chrome/54.*] +Parent="Chrome 54.0" +Platform="Linux" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*] +Parent="Chrome 54.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*] +Parent="Chrome 54.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*] +Parent="Chrome 54.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*] +Parent="Chrome 54.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*] +Parent="Chrome 54.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*] +Parent="Chrome 54.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*] +Parent="Chrome 54.0" +Platform="Win32" + +[Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*] +Parent="Chrome 54.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Chrome anonymized by*] +Parent="Chrome 54.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Chrome anonymized by*] +Parent="Chrome 54.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Chrome anonymized by*] +Parent="Chrome 54.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Chrome anonymized by*] +Parent="Chrome 54.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Chrome anonymized by*] +Parent="Chrome 54.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Chrome anonymized by*] +Parent="Chrome 54.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Chrome anonymized by*] +Parent="Chrome 54.0" +Platform="Win32" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Anonymisiert durch*] +Parent="Chrome 54.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Anonymisiert durch*] +Parent="Chrome 54.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Anonymisiert durch*] +Parent="Chrome 54.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Anonymisiert durch*] +Parent="Chrome 54.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Anonymisiert durch*] +Parent="Chrome 54.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Anonymisiert durch*] +Parent="Chrome 54.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Anonymisiert durch*] +Parent="Chrome 54.0" +Platform="Win32" + +[Mozilla/5.0 (*Linux*) AppleWebKit/*(KHTML,like Gecko) Chrome/54.*] +Parent="Chrome 54.0" +Platform="Linux" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Chrome 53.0 + +[Chrome 53.0 for Android] +Parent="DefaultProperties" +Comment="Chrome 53.0" +Browser="Chrome" +Version="53.0" +Platform="Android" +isMobileDevice="true" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko) Chrome/53.*Safari/*] +Parent="Chrome 53.0 for Android" + +[Mozilla/5.0 (*Linux*Android*)*AppleWebKit/* (KHTML* like Gecko) Chrome/53.*Safari/*] +Parent="Chrome 53.0 for Android" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko) 53.*Safari/*] +Parent="Chrome 53.0 for Android" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko*) Chrome/53.*Safari/*] +Parent="Chrome 53.0 for Android" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit/*(KHTML,*like Gecko) Chrome/53.*Safari/*] +Parent="Chrome 53.0 for Android" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko)*CrMo/53.*Safari/*] +Parent="Chrome 53.0 for Android" + +[Chrome 53.0 for iOS] +Parent="DefaultProperties" +Comment="Chrome 53.0" +Browser="Chrome" +Version="53.0" +Platform="iOS" +isMobileDevice="true" +Device_Type="Mobile Device" + +[Mozilla/5.0 (iPad*CPU*OS* like Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *CriOS/53.*Safari/*] +Parent="Chrome 53.0 for iOS" +isTablet="true" +Device_Type="Tablet" + +[Mozilla/5.0 (iPhone*CPU*OS* like Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *CriOS/53.*Safari/*] +Parent="Chrome 53.0 for iOS" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (iPod*CPU*OS* like Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *CriOS/53.*Safari/*] +Parent="Chrome 53.0 for iOS" + +[Mozilla/5.0 (*CPU*OS* like Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *CriOS/53.*Safari/*] +Parent="Chrome 53.0 for iOS" + +[Chrome 53.0] +Parent="DefaultProperties" +Comment="Chrome 53.0" +Browser="Chrome" +Version="53.0" +Device_Type="Desktop" + +[Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) Chrome/53.*Safari/*] +Parent="Chrome 53.0" +Platform="Linux" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/53.*Safari/*] +Parent="Chrome 53.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/53.*Safari/*] +Parent="Chrome 53.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/53.*Safari/*] +Parent="Chrome 53.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/53.*Safari/*] +Parent="Chrome 53.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML* like Gecko) Chrome/53.*Safari/*] +Parent="Chrome 53.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/53.*Safari/*] +Parent="Chrome 53.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/53.*Safari/*] +Parent="Chrome 53.0" +Platform="Win32" + +[Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/53.*Safari/*] +Parent="Chrome 53.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML,*like Gecko) Chrome/53.*] +Parent="Chrome 53.0" +Platform="Linux" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/53.*] +Parent="Chrome 53.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/53.*] +Parent="Chrome 53.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/53.*] +Parent="Chrome 53.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/53.*] +Parent="Chrome 53.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML* like Gecko) Chrome/53.*] +Parent="Chrome 53.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/53.*] +Parent="Chrome 53.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/53.*] +Parent="Chrome 53.0" +Platform="Win32" + +[Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/53.*] +Parent="Chrome 53.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/53.*Chrome anonymized by*] +Parent="Chrome 53.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/53.*Chrome anonymized by*] +Parent="Chrome 53.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/53.*Chrome anonymized by*] +Parent="Chrome 53.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/53.*Chrome anonymized by*] +Parent="Chrome 53.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML* like Gecko) Chrome/53.*Chrome anonymized by*] +Parent="Chrome 53.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/53.*Chrome anonymized by*] +Parent="Chrome 53.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/53.*Chrome anonymized by*] +Parent="Chrome 53.0" +Platform="Win32" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/53.*Anonymisiert durch*] +Parent="Chrome 53.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/53.*Anonymisiert durch*] +Parent="Chrome 53.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/53.*Anonymisiert durch*] +Parent="Chrome 53.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/53.*Anonymisiert durch*] +Parent="Chrome 53.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML* like Gecko) Chrome/53.*Anonymisiert durch*] +Parent="Chrome 53.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/53.*Anonymisiert durch*] +Parent="Chrome 53.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/53.*Anonymisiert durch*] +Parent="Chrome 53.0" +Platform="Win32" + +[Mozilla/5.0 (*Linux*) AppleWebKit/*(KHTML,like Gecko) Chrome/53.*] +Parent="Chrome 53.0" +Platform="Linux" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Chrome 52.0 + +[Chrome 52.0 for Android] +Parent="DefaultProperties" +Comment="Chrome 52.0" +Browser="Chrome" +Version="52.0" +Platform="Android" +isMobileDevice="true" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko) Chrome/52.*Safari/*] +Parent="Chrome 52.0 for Android" + +[Mozilla/5.0 (*Linux*Android*)*AppleWebKit/* (KHTML* like Gecko) Chrome/52.*Safari/*] +Parent="Chrome 52.0 for Android" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko) 52.*Safari/*] +Parent="Chrome 52.0 for Android" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko*) Chrome/52.*Safari/*] +Parent="Chrome 52.0 for Android" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit/*(KHTML,*like Gecko) Chrome/52.*Safari/*] +Parent="Chrome 52.0 for Android" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko)*CrMo/52.*Safari/*] +Parent="Chrome 52.0 for Android" + +[Chrome 52.0 for iOS] +Parent="DefaultProperties" +Comment="Chrome 52.0" +Browser="Chrome" +Version="52.0" +Platform="iOS" +isMobileDevice="true" +Device_Type="Mobile Device" + +[Mozilla/5.0 (iPad*CPU*OS* like Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *CriOS/52.*Safari/*] +Parent="Chrome 52.0 for iOS" +isTablet="true" +Device_Type="Tablet" + +[Mozilla/5.0 (iPhone*CPU*OS* like Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *CriOS/52.*Safari/*] +Parent="Chrome 52.0 for iOS" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (iPod*CPU*OS* like Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *CriOS/52.*Safari/*] +Parent="Chrome 52.0 for iOS" + +[Mozilla/5.0 (*CPU*OS* like Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *CriOS/52.*Safari/*] +Parent="Chrome 52.0 for iOS" + +[Chrome 52.0] +Parent="DefaultProperties" +Comment="Chrome 52.0" +Browser="Chrome" +Version="52.0" +Device_Type="Desktop" + +[Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) Chrome/52.*Safari/*] +Parent="Chrome 52.0" +Platform="Linux" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/52.*Safari/*] +Parent="Chrome 52.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/52.*Safari/*] +Parent="Chrome 52.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/52.*Safari/*] +Parent="Chrome 52.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/52.*Safari/*] +Parent="Chrome 52.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML* like Gecko) Chrome/52.*Safari/*] +Parent="Chrome 52.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/52.*Safari/*] +Parent="Chrome 52.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/52.*Safari/*] +Parent="Chrome 52.0" +Platform="Win32" + +[Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/52.*Safari/*] +Parent="Chrome 52.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML,*like Gecko) Chrome/52.*] +Parent="Chrome 52.0" +Platform="Linux" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/52.*] +Parent="Chrome 52.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/52.*] +Parent="Chrome 52.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/52.*] +Parent="Chrome 52.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/52.*] +Parent="Chrome 52.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML* like Gecko) Chrome/52.*] +Parent="Chrome 52.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/52.*] +Parent="Chrome 52.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/52.*] +Parent="Chrome 52.0" +Platform="Win32" + +[Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/52.*] +Parent="Chrome 52.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/52.*Chrome anonymized by*] +Parent="Chrome 52.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/52.*Chrome anonymized by*] +Parent="Chrome 52.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/52.*Chrome anonymized by*] +Parent="Chrome 52.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/52.*Chrome anonymized by*] +Parent="Chrome 52.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML* like Gecko) Chrome/52.*Chrome anonymized by*] +Parent="Chrome 52.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/52.*Chrome anonymized by*] +Parent="Chrome 52.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/52.*Chrome anonymized by*] +Parent="Chrome 52.0" +Platform="Win32" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/52.*Anonymisiert durch*] +Parent="Chrome 52.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/52.*Anonymisiert durch*] +Parent="Chrome 52.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/52.*Anonymisiert durch*] +Parent="Chrome 52.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/52.*Anonymisiert durch*] +Parent="Chrome 52.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML* like Gecko) Chrome/52.*Anonymisiert durch*] +Parent="Chrome 52.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/52.*Anonymisiert durch*] +Parent="Chrome 52.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/52.*Anonymisiert durch*] +Parent="Chrome 52.0" +Platform="Win32" + +[Mozilla/5.0 (*Linux*) AppleWebKit/*(KHTML,like Gecko) Chrome/52.*] +Parent="Chrome 52.0" +Platform="Linux" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Chrome 51.0 + +[Chrome 51.0 for Android] +Parent="DefaultProperties" +Comment="Chrome 51.0" +Browser="Chrome" +Version="51.0" +Platform="Android" +isMobileDevice="true" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko) Chrome/51.*Safari/*] +Parent="Chrome 51.0 for Android" + +[Mozilla/5.0 (*Linux*Android*)*AppleWebKit/* (KHTML* like Gecko) Chrome/51.*Safari/*] +Parent="Chrome 51.0 for Android" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko) 51.*Safari/*] +Parent="Chrome 51.0 for Android" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko*) Chrome/51.*Safari/*] +Parent="Chrome 51.0 for Android" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit/*(KHTML,*like Gecko) Chrome/51.*Safari/*] +Parent="Chrome 51.0 for Android" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko)*CrMo/51.*Safari/*] +Parent="Chrome 51.0 for Android" + +[Chrome 51.0 for iOS] +Parent="DefaultProperties" +Comment="Chrome 51.0" +Browser="Chrome" +Version="51.0" +Platform="iOS" +isMobileDevice="true" +Device_Type="Mobile Device" + +[Mozilla/5.0 (iPad*CPU*OS* like Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *CriOS/51.*Safari/*] +Parent="Chrome 51.0 for iOS" +isTablet="true" +Device_Type="Tablet" + +[Mozilla/5.0 (iPhone*CPU*OS* like Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *CriOS/51.*Safari/*] +Parent="Chrome 51.0 for iOS" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (iPod*CPU*OS* like Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *CriOS/51.*Safari/*] +Parent="Chrome 51.0 for iOS" + +[Mozilla/5.0 (*CPU*OS* like Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *CriOS/51.*Safari/*] +Parent="Chrome 51.0 for iOS" + +[Chrome 51.0] +Parent="DefaultProperties" +Comment="Chrome 51.0" +Browser="Chrome" +Version="51.0" +Device_Type="Desktop" + +[Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) Chrome/51.*Safari/*] +Parent="Chrome 51.0" +Platform="Linux" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/51.*Safari/*] +Parent="Chrome 51.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/51.*Safari/*] +Parent="Chrome 51.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/51.*Safari/*] +Parent="Chrome 51.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/51.*Safari/*] +Parent="Chrome 51.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML* like Gecko) Chrome/51.*Safari/*] +Parent="Chrome 51.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/51.*Safari/*] +Parent="Chrome 51.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/51.*Safari/*] +Parent="Chrome 51.0" +Platform="Win32" + +[Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/51.*Safari/*] +Parent="Chrome 51.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML,*like Gecko) Chrome/51.*] +Parent="Chrome 51.0" +Platform="Linux" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/51.*] +Parent="Chrome 51.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/51.*] +Parent="Chrome 51.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/51.*] +Parent="Chrome 51.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/51.*] +Parent="Chrome 51.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML* like Gecko) Chrome/51.*] +Parent="Chrome 51.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/51.*] +Parent="Chrome 51.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/51.*] +Parent="Chrome 51.0" +Platform="Win32" + +[Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/51.*] +Parent="Chrome 51.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/51.*Chrome anonymized by*] +Parent="Chrome 51.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/51.*Chrome anonymized by*] +Parent="Chrome 51.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/51.*Chrome anonymized by*] +Parent="Chrome 51.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/51.*Chrome anonymized by*] +Parent="Chrome 51.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML* like Gecko) Chrome/51.*Chrome anonymized by*] +Parent="Chrome 51.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/51.*Chrome anonymized by*] +Parent="Chrome 51.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/51.*Chrome anonymized by*] +Parent="Chrome 51.0" +Platform="Win32" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/51.*Anonymisiert durch*] +Parent="Chrome 51.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/51.*Anonymisiert durch*] +Parent="Chrome 51.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/51.*Anonymisiert durch*] +Parent="Chrome 51.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/51.*Anonymisiert durch*] +Parent="Chrome 51.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML* like Gecko) Chrome/51.*Anonymisiert durch*] +Parent="Chrome 51.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/51.*Anonymisiert durch*] +Parent="Chrome 51.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/51.*Anonymisiert durch*] +Parent="Chrome 51.0" +Platform="Win32" + +[Mozilla/5.0 (*Linux*) AppleWebKit/*(KHTML,like Gecko) Chrome/51.*] +Parent="Chrome 51.0" +Platform="Linux" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Chrome 50.0 + +[Chrome 50.0 for Android] +Parent="DefaultProperties" +Comment="Chrome 50.0" +Browser="Chrome" +Version="50.0" +Platform="Android" +isMobileDevice="true" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko) Chrome/50.*Safari/*] +Parent="Chrome 50.0 for Android" + +[Mozilla/5.0 (*Linux*Android*)*AppleWebKit/* (KHTML* like Gecko) Chrome/50.*Safari/*] +Parent="Chrome 50.0 for Android" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko) 50.*Safari/*] +Parent="Chrome 50.0 for Android" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko*) Chrome/50.*Safari/*] +Parent="Chrome 50.0 for Android" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit/*(KHTML,*like Gecko) Chrome/50.*Safari/*] +Parent="Chrome 50.0 for Android" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko)*CrMo/50.*Safari/*] +Parent="Chrome 50.0 for Android" + +[Chrome 50.0 for iOS] +Parent="DefaultProperties" +Comment="Chrome 50.0" +Browser="Chrome" +Version="50.0" +Platform="iOS" +isMobileDevice="true" +Device_Type="Mobile Device" + +[Mozilla/5.0 (iPad*CPU*OS* like Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *CriOS/50.*Safari/*] +Parent="Chrome 50.0 for iOS" +isTablet="true" +Device_Type="Tablet" + +[Mozilla/5.0 (iPhone*CPU*OS* like Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *CriOS/50.*Safari/*] +Parent="Chrome 50.0 for iOS" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (iPod*CPU*OS* like Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *CriOS/50.*Safari/*] +Parent="Chrome 50.0 for iOS" + +[Mozilla/5.0 (*CPU*OS* like Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *CriOS/50.*Safari/*] +Parent="Chrome 50.0 for iOS" + +[Chrome 50.0] +Parent="DefaultProperties" +Comment="Chrome 50.0" +Browser="Chrome" +Version="50.0" +Device_Type="Desktop" + +[Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) Chrome/50.*Safari/*] +Parent="Chrome 50.0" +Platform="Linux" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/50.*Safari/*] +Parent="Chrome 50.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/50.*Safari/*] +Parent="Chrome 50.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/50.*Safari/*] +Parent="Chrome 50.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/50.*Safari/*] +Parent="Chrome 50.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML* like Gecko) Chrome/50.*Safari/*] +Parent="Chrome 50.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/50.*Safari/*] +Parent="Chrome 50.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/50.*Safari/*] +Parent="Chrome 50.0" +Platform="Win32" + +[Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/50.*Safari/*] +Parent="Chrome 50.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML,*like Gecko) Chrome/50.*] +Parent="Chrome 50.0" +Platform="Linux" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/50.*] +Parent="Chrome 50.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/50.*] +Parent="Chrome 50.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/50.*] +Parent="Chrome 50.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/50.*] +Parent="Chrome 50.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML* like Gecko) Chrome/50.*] +Parent="Chrome 50.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/50.*] +Parent="Chrome 50.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/50.*] +Parent="Chrome 50.0" +Platform="Win32" + +[Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/50.*] +Parent="Chrome 50.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/50.*Chrome anonymized by*] +Parent="Chrome 50.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/50.*Chrome anonymized by*] +Parent="Chrome 50.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/50.*Chrome anonymized by*] +Parent="Chrome 50.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/50.*Chrome anonymized by*] +Parent="Chrome 50.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML* like Gecko) Chrome/50.*Chrome anonymized by*] +Parent="Chrome 50.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/50.*Chrome anonymized by*] +Parent="Chrome 50.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/50.*Chrome anonymized by*] +Parent="Chrome 50.0" +Platform="Win32" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/50.*Anonymisiert durch*] +Parent="Chrome 50.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/50.*Anonymisiert durch*] +Parent="Chrome 50.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/50.*Anonymisiert durch*] +Parent="Chrome 50.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/50.*Anonymisiert durch*] +Parent="Chrome 50.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML* like Gecko) Chrome/50.*Anonymisiert durch*] +Parent="Chrome 50.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/50.*Anonymisiert durch*] +Parent="Chrome 50.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/50.*Anonymisiert durch*] +Parent="Chrome 50.0" +Platform="Win32" + +[Mozilla/5.0 (*Linux*) AppleWebKit/*(KHTML,like Gecko) Chrome/50.*] +Parent="Chrome 50.0" +Platform="Linux" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Chrome 49.0 + +[Chrome 49.0 for Android] +Parent="DefaultProperties" +Comment="Chrome 49.0" +Browser="Chrome" +Version="49.0" +Platform="Android" +isMobileDevice="true" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko) Chrome/49.*Safari/*] +Parent="Chrome 49.0 for Android" + +[Mozilla/5.0 (*Linux*Android*)*AppleWebKit/* (KHTML* like Gecko) Chrome/49.*Safari/*] +Parent="Chrome 49.0 for Android" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko) 49.*Safari/*] +Parent="Chrome 49.0 for Android" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko*) Chrome/49.*Safari/*] +Parent="Chrome 49.0 for Android" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko)*CrMo/49.*Safari/*] +Parent="Chrome 49.0 for Android" + +[Chrome 49.0 for iOS] +Parent="DefaultProperties" +Comment="Chrome 49.0" +Browser="Chrome" +Version="49.0" +Platform="iOS" +isMobileDevice="true" +Device_Type="Mobile Device" + +[Mozilla/5.0 (iPad*CPU*OS* like Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *CriOS/49.*Safari/*] +Parent="Chrome 49.0 for iOS" +isTablet="true" +Device_Type="Tablet" + +[Mozilla/5.0 (iPhone*CPU*OS* like Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *CriOS/49.*Safari/*] +Parent="Chrome 49.0 for iOS" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (iPod*CPU*OS* like Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *CriOS/49.*Safari/*] +Parent="Chrome 49.0 for iOS" + +[Mozilla/5.0 (*CPU*OS* like Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *CriOS/49.*Safari/*] +Parent="Chrome 49.0 for iOS" + +[Chrome 49.0] +Parent="DefaultProperties" +Comment="Chrome 49.0" +Browser="Chrome" +Version="49.0" +Device_Type="Desktop" + +[Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) Chrome/49.*Safari/*] +Parent="Chrome 49.0" +Platform="Linux" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/49.*Safari/*] +Parent="Chrome 49.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/49.*Safari/*] +Parent="Chrome 49.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/49.*Safari/*] +Parent="Chrome 49.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/49.*Safari/*] +Parent="Chrome 49.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML* like Gecko) Chrome/49.*Safari/*] +Parent="Chrome 49.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/49.*Safari/*] +Parent="Chrome 49.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/49.*Safari/*] +Parent="Chrome 49.0" +Platform="Win32" + +[Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/49.*Safari/*] +Parent="Chrome 49.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML,*like Gecko) Chrome/49.*] +Parent="Chrome 49.0" +Platform="Linux" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/49.*] +Parent="Chrome 49.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/49.*] +Parent="Chrome 49.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/49.*] +Parent="Chrome 49.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/49.*] +Parent="Chrome 49.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML* like Gecko) Chrome/49.*] +Parent="Chrome 49.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/49.*] +Parent="Chrome 49.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/49.*] +Parent="Chrome 49.0" +Platform="Win32" + +[Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/49.*] +Parent="Chrome 49.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/49.*Chrome anonymized by*] +Parent="Chrome 49.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/49.*Chrome anonymized by*] +Parent="Chrome 49.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/49.*Chrome anonymized by*] +Parent="Chrome 49.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/49.*Chrome anonymized by*] +Parent="Chrome 49.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML* like Gecko) Chrome/49.*Chrome anonymized by*] +Parent="Chrome 49.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/49.*Chrome anonymized by*] +Parent="Chrome 49.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/49.*Chrome anonymized by*] +Parent="Chrome 49.0" +Platform="Win32" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/49.*Anonymisiert durch*] +Parent="Chrome 49.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/49.*Anonymisiert durch*] +Parent="Chrome 49.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/49.*Anonymisiert durch*] +Parent="Chrome 49.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/49.*Anonymisiert durch*] +Parent="Chrome 49.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML* like Gecko) Chrome/49.*Anonymisiert durch*] +Parent="Chrome 49.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/49.*Anonymisiert durch*] +Parent="Chrome 49.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/49.*Anonymisiert durch*] +Parent="Chrome 49.0" +Platform="Win32" + +[Mozilla/5.0 (*Linux*) AppleWebKit/*(KHTML,like Gecko) Chrome/49.*] +Parent="Chrome 49.0" +Platform="Linux" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Chrome 48.0 + +[Chrome 48.0 for Android] +Parent="DefaultProperties" +Comment="Chrome 48.0" +Browser="Chrome" +Version="48.0" +Platform="Android" +isMobileDevice="true" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko) Chrome/48.*Safari/*] +Parent="Chrome 48.0 for Android" + +[Mozilla/5.0 (*Linux*Android*)*AppleWebKit/* (KHTML* like Gecko) Chrome/48.*Safari/*] +Parent="Chrome 48.0 for Android" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko) 48.*Safari/*] +Parent="Chrome 48.0 for Android" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko*) Chrome/48.*Safari/*] +Parent="Chrome 48.0 for Android" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko)*CrMo/48.*Safari/*] +Parent="Chrome 48.0 for Android" + +[Chrome 48.0 for iOS] +Parent="DefaultProperties" +Comment="Chrome 48.0" +Browser="Chrome" +Version="48.0" +Platform="iOS" +isMobileDevice="true" +Device_Type="Mobile Device" + +[Mozilla/5.0 (iPad*CPU*OS* like Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *CriOS/48.*Safari/*] +Parent="Chrome 48.0 for iOS" +isTablet="true" +Device_Type="Tablet" + +[Mozilla/5.0 (iPhone*CPU*OS* like Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *CriOS/48.*Safari/*] +Parent="Chrome 48.0 for iOS" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (iPod*CPU*OS* like Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *CriOS/48.*Safari/*] +Parent="Chrome 48.0 for iOS" + +[Mozilla/5.0 (*CPU*OS* like Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *CriOS/48.*Safari/*] +Parent="Chrome 48.0 for iOS" + +[Chrome 48.0] +Parent="DefaultProperties" +Comment="Chrome 48.0" +Browser="Chrome" +Version="48.0" +Device_Type="Desktop" + +[Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) Chrome/48.*Safari/*] +Parent="Chrome 48.0" +Platform="Linux" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/48.*Safari/*] +Parent="Chrome 48.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/48.*Safari/*] +Parent="Chrome 48.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/48.*Safari/*] +Parent="Chrome 48.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/48.*Safari/*] +Parent="Chrome 48.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML* like Gecko) Chrome/48.*Safari/*] +Parent="Chrome 48.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/48.*Safari/*] +Parent="Chrome 48.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/48.*Safari/*] +Parent="Chrome 48.0" +Platform="Win32" + +[Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/48.*Safari/*] +Parent="Chrome 48.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML,*like Gecko) Chrome/48.*] +Parent="Chrome 48.0" +Platform="Linux" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/48.*] +Parent="Chrome 48.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/48.*] +Parent="Chrome 48.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/48.*] +Parent="Chrome 48.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/48.*] +Parent="Chrome 48.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML* like Gecko) Chrome/48.*] +Parent="Chrome 48.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/48.*] +Parent="Chrome 48.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/48.*] +Parent="Chrome 48.0" +Platform="Win32" + +[Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/48.*] +Parent="Chrome 48.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/48.*Chrome anonymized by*] +Parent="Chrome 48.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/48.*Chrome anonymized by*] +Parent="Chrome 48.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/48.*Chrome anonymized by*] +Parent="Chrome 48.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/48.*Chrome anonymized by*] +Parent="Chrome 48.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML* like Gecko) Chrome/48.*Chrome anonymized by*] +Parent="Chrome 48.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/48.*Chrome anonymized by*] +Parent="Chrome 48.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/48.*Chrome anonymized by*] +Parent="Chrome 48.0" +Platform="Win32" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/48.*Anonymisiert durch*] +Parent="Chrome 48.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/48.*Anonymisiert durch*] +Parent="Chrome 48.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/48.*Anonymisiert durch*] +Parent="Chrome 48.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/48.*Anonymisiert durch*] +Parent="Chrome 48.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML* like Gecko) Chrome/48.*Anonymisiert durch*] +Parent="Chrome 48.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/48.*Anonymisiert durch*] +Parent="Chrome 48.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/48.*Anonymisiert durch*] +Parent="Chrome 48.0" +Platform="Win32" + +[Mozilla/5.0 (*Linux*) AppleWebKit/*(KHTML,like Gecko) Chrome/48.*] +Parent="Chrome 48.0" +Platform="Linux" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Chrome 47.0 + +[Chrome 47.0 for Android] +Parent="DefaultProperties" +Comment="Chrome 47.0" +Browser="Chrome" +Version="47.0" +Platform="Android" +isMobileDevice="true" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko) Chrome/47.*Safari/*] +Parent="Chrome 47.0 for Android" + +[Mozilla/5.0 (*Linux*Android*)*AppleWebKit/* (KHTML* like Gecko) Chrome/47.*Safari/*] +Parent="Chrome 47.0 for Android" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko) 47.*Safari/*] +Parent="Chrome 47.0 for Android" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko*) Chrome/47.*Safari/*] +Parent="Chrome 47.0 for Android" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko)*CrMo/47.*Safari/*] +Parent="Chrome 47.0 for Android" + +[Chrome 47.0 for iOS] +Parent="DefaultProperties" +Comment="Chrome 47.0" +Browser="Chrome" +Version="47.0" +Platform="iOS" +isMobileDevice="true" +Device_Type="Mobile Device" + +[Mozilla/5.0 (iPad*CPU*OS* like Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *CriOS/47.*Safari/*] +Parent="Chrome 47.0 for iOS" +isTablet="true" +Device_Type="Tablet" + +[Mozilla/5.0 (iPhone*CPU*OS* like Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *CriOS/47.*Safari/*] +Parent="Chrome 47.0 for iOS" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (iPod*CPU*OS* like Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *CriOS/47.*Safari/*] +Parent="Chrome 47.0 for iOS" + +[Mozilla/5.0 (*CPU*OS* like Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *CriOS/47.*Safari/*] +Parent="Chrome 47.0 for iOS" + +[Chrome 47.0] +Parent="DefaultProperties" +Comment="Chrome 47.0" +Browser="Chrome" +Version="47.0" +Device_Type="Desktop" + +[Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) Chrome/47.*Safari/*] +Parent="Chrome 47.0" +Platform="Linux" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/47.*Safari/*] +Parent="Chrome 47.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/47.*Safari/*] +Parent="Chrome 47.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/47.*Safari/*] +Parent="Chrome 47.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/47.*Safari/*] +Parent="Chrome 47.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML* like Gecko) Chrome/47.*Safari/*] +Parent="Chrome 47.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/47.*Safari/*] +Parent="Chrome 47.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/47.*Safari/*] +Parent="Chrome 47.0" +Platform="Win32" + +[Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/47.*Safari/*] +Parent="Chrome 47.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML,*like Gecko) Chrome/47.*] +Parent="Chrome 47.0" +Platform="Linux" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/47.*] +Parent="Chrome 47.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/47.*] +Parent="Chrome 47.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/47.*] +Parent="Chrome 47.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/47.*] +Parent="Chrome 47.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML* like Gecko) Chrome/47.*] +Parent="Chrome 47.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/47.*] +Parent="Chrome 47.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/47.*] +Parent="Chrome 47.0" +Platform="Win32" + +[Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/47.*] +Parent="Chrome 47.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/47.*Chrome anonymized by*] +Parent="Chrome 47.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/47.*Chrome anonymized by*] +Parent="Chrome 47.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/47.*Chrome anonymized by*] +Parent="Chrome 47.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/47.*Chrome anonymized by*] +Parent="Chrome 47.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML* like Gecko) Chrome/47.*Chrome anonymized by*] +Parent="Chrome 47.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/47.*Chrome anonymized by*] +Parent="Chrome 47.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/47.*Chrome anonymized by*] +Parent="Chrome 47.0" +Platform="Win32" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/47.*Anonymisiert durch*] +Parent="Chrome 47.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/47.*Anonymisiert durch*] +Parent="Chrome 47.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/47.*Anonymisiert durch*] +Parent="Chrome 47.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/47.*Anonymisiert durch*] +Parent="Chrome 47.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML* like Gecko) Chrome/47.*Anonymisiert durch*] +Parent="Chrome 47.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/47.*Anonymisiert durch*] +Parent="Chrome 47.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/47.*Anonymisiert durch*] +Parent="Chrome 47.0" +Platform="Win32" + +[Mozilla/5.0 (*Linux*) AppleWebKit/*(KHTML,like Gecko) Chrome/47.*] +Parent="Chrome 47.0" +Platform="Linux" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Chrome 46.0 + +[Chrome 46.0 for Android] +Parent="DefaultProperties" +Comment="Chrome 46.0" +Browser="Chrome" +Version="46.0" +Platform="Android" +isMobileDevice="true" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko) Chrome/46.*Safari/*] +Parent="Chrome 46.0 for Android" + +[Mozilla/5.0 (*Linux*Android*)*AppleWebKit/* (KHTML* like Gecko) Chrome/46.*Safari/*] +Parent="Chrome 46.0 for Android" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko) 46.*Safari/*] +Parent="Chrome 46.0 for Android" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko*) Chrome/46.*Safari/*] +Parent="Chrome 46.0 for Android" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko)*CrMo/46.*Safari/*] +Parent="Chrome 46.0 for Android" + +[Chrome 46.0 for iOS] +Parent="DefaultProperties" +Comment="Chrome 46.0" +Browser="Chrome" +Version="46.0" +Platform="iOS" +isMobileDevice="true" +Device_Type="Mobile Device" + +[Mozilla/5.0 (iPad*CPU*OS* like Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *CriOS/46.*Safari/*] +Parent="Chrome 46.0 for iOS" +isTablet="true" +Device_Type="Tablet" + +[Mozilla/5.0 (iPhone*CPU*OS* like Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *CriOS/46.*Safari/*] +Parent="Chrome 46.0 for iOS" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (iPod*CPU*OS* like Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *CriOS/46.*Safari/*] +Parent="Chrome 46.0 for iOS" + +[Mozilla/5.0 (*CPU*OS* like Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *CriOS/46.*Safari/*] +Parent="Chrome 46.0 for iOS" + +[Chrome 46.0] +Parent="DefaultProperties" +Comment="Chrome 46.0" +Browser="Chrome" +Version="46.0" +Device_Type="Desktop" + +[Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) Chrome/46.*Safari/*] +Parent="Chrome 46.0" +Platform="Linux" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/46.*Safari/*] +Parent="Chrome 46.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/46.*Safari/*] +Parent="Chrome 46.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/46.*Safari/*] +Parent="Chrome 46.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/46.*Safari/*] +Parent="Chrome 46.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML* like Gecko) Chrome/46.*Safari/*] +Parent="Chrome 46.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/46.*Safari/*] +Parent="Chrome 46.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/46.*Safari/*] +Parent="Chrome 46.0" +Platform="Win32" + +[Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/46.*Safari/*] +Parent="Chrome 46.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML,*like Gecko) Chrome/46.*] +Parent="Chrome 46.0" +Platform="Linux" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/46.*] +Parent="Chrome 46.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/46.*] +Parent="Chrome 46.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/46.*] +Parent="Chrome 46.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/46.*] +Parent="Chrome 46.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML* like Gecko) Chrome/46.*] +Parent="Chrome 46.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/46.*] +Parent="Chrome 46.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/46.*] +Parent="Chrome 46.0" +Platform="Win32" + +[Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/46.*] +Parent="Chrome 46.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/46.*Chrome anonymized by*] +Parent="Chrome 46.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/46.*Chrome anonymized by*] +Parent="Chrome 46.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/46.*Chrome anonymized by*] +Parent="Chrome 46.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/46.*Chrome anonymized by*] +Parent="Chrome 46.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML* like Gecko) Chrome/46.*Chrome anonymized by*] +Parent="Chrome 46.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/46.*Chrome anonymized by*] +Parent="Chrome 46.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/46.*Chrome anonymized by*] +Parent="Chrome 46.0" +Platform="Win32" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/46.*Anonymisiert durch*] +Parent="Chrome 46.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/46.*Anonymisiert durch*] +Parent="Chrome 46.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/46.*Anonymisiert durch*] +Parent="Chrome 46.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/46.*Anonymisiert durch*] +Parent="Chrome 46.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML* like Gecko) Chrome/46.*Anonymisiert durch*] +Parent="Chrome 46.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/46.*Anonymisiert durch*] +Parent="Chrome 46.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/46.*Anonymisiert durch*] +Parent="Chrome 46.0" +Platform="Win32" + +[Mozilla/5.0 (*Linux*) AppleWebKit/*(KHTML,like Gecko) Chrome/46.*] +Parent="Chrome 46.0" +Platform="Linux" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Chrome 45.0 + +[Chrome 45.0 for Android] +Parent="DefaultProperties" +Comment="Chrome 45.0" +Browser="Chrome" +Version="45.0" +Platform="Android" +isMobileDevice="true" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko) Chrome/45.*Safari/*] +Parent="Chrome 45.0 for Android" + +[Mozilla/5.0 (*Linux*Android*)*AppleWebKit/* (KHTML* like Gecko) Chrome/45.*Safari/*] +Parent="Chrome 45.0 for Android" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko) 45.*Safari/*] +Parent="Chrome 45.0 for Android" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko*) Chrome/45.*Safari/*] +Parent="Chrome 45.0 for Android" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko)*CrMo/45.*Safari/*] +Parent="Chrome 45.0 for Android" + +[Chrome 45.0 for iOS] +Parent="DefaultProperties" +Comment="Chrome 45.0" +Browser="Chrome" +Version="45.0" +Platform="iOS" +isMobileDevice="true" +Device_Type="Mobile Device" + +[Mozilla/5.0 (iPad*CPU*OS* like Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *CriOS/45.*Safari/*] +Parent="Chrome 45.0 for iOS" +isTablet="true" +Device_Type="Tablet" + +[Mozilla/5.0 (iPhone*CPU*OS* like Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *CriOS/45.*Safari/*] +Parent="Chrome 45.0 for iOS" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (iPod*CPU*OS* like Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *CriOS/45.*Safari/*] +Parent="Chrome 45.0 for iOS" + +[Mozilla/5.0 (*CPU*OS* like Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *CriOS/45.*Safari/*] +Parent="Chrome 45.0 for iOS" + +[Chrome 45.0] +Parent="DefaultProperties" +Comment="Chrome 45.0" +Browser="Chrome" +Version="45.0" +Device_Type="Desktop" + +[Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) Chrome/45.*Safari/*] +Parent="Chrome 45.0" +Platform="Linux" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/45.*Safari/*] +Parent="Chrome 45.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/45.*Safari/*] +Parent="Chrome 45.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/45.*Safari/*] +Parent="Chrome 45.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/45.*Safari/*] +Parent="Chrome 45.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML* like Gecko) Chrome/45.*Safari/*] +Parent="Chrome 45.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/45.*Safari/*] +Parent="Chrome 45.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/45.*Safari/*] +Parent="Chrome 45.0" +Platform="Win32" + +[Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/45.*Safari/*] +Parent="Chrome 45.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML,*like Gecko) Chrome/45.*] +Parent="Chrome 45.0" +Platform="Linux" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/45.*] +Parent="Chrome 45.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/45.*] +Parent="Chrome 45.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/45.*] +Parent="Chrome 45.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/45.*] +Parent="Chrome 45.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML* like Gecko) Chrome/45.*] +Parent="Chrome 45.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/45.*] +Parent="Chrome 45.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/45.*] +Parent="Chrome 45.0" +Platform="Win32" + +[Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/45.*] +Parent="Chrome 45.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/45.*Chrome anonymized by*] +Parent="Chrome 45.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/45.*Chrome anonymized by*] +Parent="Chrome 45.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/45.*Chrome anonymized by*] +Parent="Chrome 45.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/45.*Chrome anonymized by*] +Parent="Chrome 45.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML* like Gecko) Chrome/45.*Chrome anonymized by*] +Parent="Chrome 45.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/45.*Chrome anonymized by*] +Parent="Chrome 45.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/45.*Chrome anonymized by*] +Parent="Chrome 45.0" +Platform="Win32" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/45.*Anonymisiert durch*] +Parent="Chrome 45.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/45.*Anonymisiert durch*] +Parent="Chrome 45.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/45.*Anonymisiert durch*] +Parent="Chrome 45.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/45.*Anonymisiert durch*] +Parent="Chrome 45.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML* like Gecko) Chrome/45.*Anonymisiert durch*] +Parent="Chrome 45.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/45.*Anonymisiert durch*] +Parent="Chrome 45.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/45.*Anonymisiert durch*] +Parent="Chrome 45.0" +Platform="Win32" + +[Mozilla/5.0 (*Linux*) AppleWebKit/*(KHTML,like Gecko) Chrome/45.*] +Parent="Chrome 45.0" +Platform="Linux" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Chrome Generic + +[Chrome Generic for Android] +Parent="DefaultProperties" +Comment="Chrome Generic" +Browser="Chrome" +Platform="Android" +isMobileDevice="true" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/*] +Parent="Chrome Generic for Android" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML, like Gecko*) Chrome/*Safari/*] +Parent="Chrome Generic for Android" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit/*(KHTML,*like Gecko) Chrome/*Safari/*] +Parent="Chrome Generic for Android" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko)*CrMo/*Safari/*] +Parent="Chrome Generic for Android" + +[Chrome Generic for iOS] +Parent="DefaultProperties" +Comment="Chrome Generic" +Browser="Chrome" +Platform="iOS" +isMobileDevice="true" +Device_Type="Mobile Device" + +[Mozilla/5.0 (iPad*CPU*OS* like Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *CriOS/*Safari/*] +Parent="Chrome Generic for iOS" +isTablet="true" +Device_Type="Tablet" + +[Mozilla/5.0 (iPhone*CPU*OS* like Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *CriOS/*Safari/*] +Parent="Chrome Generic for iOS" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (*CPU*OS* like Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *CriOS/*Safari/*] +Parent="Chrome Generic for iOS" + +[Chrome Generic] +Parent="DefaultProperties" +Comment="Chrome Generic" +Browser="Chrome" +Device_Type="Desktop" + +[Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko)*Chrome/* Large Screen Safari/* GoogleTV/*] +Parent="Chrome Generic" +Platform="Linux" +Device_Type="TV Device" + +[Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/*] +Parent="Chrome Generic" +Platform="Linux" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/*] +Parent="Chrome Generic" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/*] +Parent="Chrome Generic" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/*] +Parent="Chrome Generic" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/*] +Parent="Chrome Generic" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/*] +Parent="Chrome Generic" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/*] +Parent="Chrome Generic" +Platform="Win10" + +[Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/*] +Parent="Chrome Generic" +Platform="Win32" + +[Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/*] +Parent="Chrome Generic" +Platform="MacOSX" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Chrome anonymized by*] +Parent="Chrome Generic" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Chrome anonymized by*] +Parent="Chrome Generic" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Chrome anonymized by*] +Parent="Chrome Generic" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Chrome anonymized by*] +Parent="Chrome Generic" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Chrome anonymized by*] +Parent="Chrome Generic" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Chrome anonymized by*] +Parent="Chrome Generic" +Platform="Win10" + +[Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Chrome anonymized by*] +Parent="Chrome Generic" +Platform="Win32" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Anonymisiert durch*] +Parent="Chrome Generic" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Anonymisiert durch*] +Parent="Chrome Generic" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Anonymisiert durch*] +Parent="Chrome Generic" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Anonymisiert durch*] +Parent="Chrome Generic" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Anonymisiert durch*] +Parent="Chrome Generic" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Anonymisiert durch*] +Parent="Chrome Generic" +Platform="Win10" + +[Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Anonymisiert durch*] +Parent="Chrome Generic" +Platform="Win32" + +[Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) Sabayon Chrome/*] +Parent="Chrome Generic" +Platform="Linux" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; IEMobile 11.0 + +[IEMobile 11.0] +Parent="DefaultProperties" +Comment="IEMobile 11.0" +Browser="IEMobile" +Version="11.0" +Platform="WinPhone8.1" +isMobileDevice="true" +Device_Type="Mobile Phone" + +[Mozilla/5.0*(*Windows Phone 8.1*Trident/7.0*rv:11*IEMobile?11.0) like Android *; compatible) like iPhone OS * Mac OS X WebKit/537.36 (KHTML* like Gecko) Chrome*Safari*] +Parent="IEMobile 11.0" + +[Mozilla/5.0*(*Windows Phone 8.1*Trident/7.0*rv:11*IEMobile?11.0; NOKIA; Lumia 635*] +Parent="IEMobile 11.0" + +[Mozilla/5.0*(*Windows Phone 8.1*Trident/7.0*rv:11*IEMobile?11.0; NOKIA; Lumia 930*] +Parent="IEMobile 11.0" + +[Mozilla/5.0*(*Windows Phone 8.1*Trident/7.0*rv:11*IEMobile?11.0; NOKIA; Lumia 520*] +Parent="IEMobile 11.0" + +[Mozilla/5.0*(*Windows Phone 8.1*Trident/7.0*rv:11*IEMobile?11.0; NOKIA; Lumia 630*] +Parent="IEMobile 11.0" + +[Mozilla/5.0*(*Windows Phone 8.1*Trident/7.0*rv:11*IEMobile?11.0; NOKIA; Lumia 925*] +Parent="IEMobile 11.0" + +[Mozilla/5.0*(*Windows Phone 8.1*Trident/7.0*rv:11*IEMobile?11.0; NOKIA; Lumia 920*] +Parent="IEMobile 11.0" + +[Mozilla/5.0*(*Windows Phone 8.1*Trident/7.0*rv:11*IEMobile?11.0; NOKIA; Lumia 730*] +Parent="IEMobile 11.0" + +[Mozilla/5.0*(*Windows Phone 8.1*Trident/7.0*rv:11.0*; IEMobile?11.0; NOKIA; Lumia 920*] +Parent="IEMobile 11.0" + +[Mozilla/5.0*(*Windows Phone 8.1*Trident/7.0*rv:11.0*; IEMobile?11.0; NOKIA; RM-994*] +Parent="IEMobile 11.0" + +[Mozilla/5.0*(*Windows Phone 8.1*Trident/7.0*rv:11.0*; IEMobile?11.0; Microsoft; RM-1089*] +Parent="IEMobile 11.0" + +[Mozilla/5.0*(*Windows Phone 8.1*Trident/7.0*rv:11.0*; IEMobile?11.0; Microsoft; RM-1031*] +Parent="IEMobile 11.0" + +[Mozilla/5.0*(*Windows Phone 8.1*Trident/7.0*rv:11.0*; IEMobile?11.0; Microsoft; RM-1090*] +Parent="IEMobile 11.0" + +[Mozilla/5.0*(*Windows Phone 8.1*Trident/7.0*rv:11.0*; IEMobile?11.0; Microsoft; RM-1113*] +Parent="IEMobile 11.0" + +[Mozilla/5.0*(*Windows Phone 8.1*Trident/7.0*rv:11.0*; IEMobile?11.0; Microsoft; RM-1074*] +Parent="IEMobile 11.0" + +[Mozilla/5.0*(*Windows Phone 8.1*Trident/7.0*rv:11.0*; IEMobile?11.0; Microsoft;Lumia 535 Dual SIM*] +Parent="IEMobile 11.0" + +[Mozilla/5.0*(*Windows Phone 8.1*Trident/7.0*rv:11*IEMobile?11.0; NOKIA; Lumia 928*] +Parent="IEMobile 11.0" + +[Mozilla/5.0*(*Windows Phone 8.1*Trident/7.0*rv:11*IEMobile?11.0; NOKIA; Lumia 625*] +Parent="IEMobile 11.0" + +[Mozilla/5.0*(*Windows Phone 8.1*Trident/7.0*rv:11*IEMobile?11.0; NOKIA; 909*] +Parent="IEMobile 11.0" + +[Mozilla/5.0*(*Windows Phone 8.1*Trident/7.0*rv:11*IEMobile?11.0; NOKIA; Lumia 820*] +Parent="IEMobile 11.0" + +[Mozilla/5.0*(*Windows Phone 8.1*Trident/7.0*rv:11*IEMobile?11.0; NOKIA; Lumia 620*] +Parent="IEMobile 11.0" + +[Mozilla/5.0*(*Windows Phone 8.1*Trident/7.0*rv:11*IEMobile?11.0; NOKIA; Lumia 530*] +Parent="IEMobile 11.0" + +[Mozilla/5.0*(*Windows Phone 8.1*Trident/7.0*rv:11*IEMobile?11.0*] +Parent="IEMobile 11.0" + +[Mozilla/5.0 (Windows NT 6.2; ARM; Trident/7.0*rv:11.0; WPDesktop; NOKIA; Lumia 625*] +Parent="IEMobile 11.0" + +[Mozilla/5.0 (Windows NT 6.2; ARM; Trident/7.0*rv:11.0; WPDesktop; NOKIA; Lumia 1320*] +Parent="IEMobile 11.0" + +[Mozilla/5.0 (Windows NT 6.2; ARM; Trident/7.0*rv:11.0; WPDesktop; NOKIA; Lumia 820*] +Parent="IEMobile 11.0" + +[Mozilla/5.0 (Windows NT 6.2; ARM; Trident/7.0*rv:11.0; WPDesktop; NOKIA; Lumia 920*] +Parent="IEMobile 11.0" + +[Mozilla/5.0 (Windows NT 6.2; ARM; Trident/7.0*rv:11.0; WPDesktop; NOKIA; Lumia 630*] +Parent="IEMobile 11.0" + +[Mozilla/5.0 (Windows NT 6.2; ARM; Trident/7.0*rv:11.0; WPDesktop; NOKIA; Lumia 520*] +Parent="IEMobile 11.0" + +[Mozilla/5.0 (Windows NT 6.2; ARM; Trident/7.0*rv:11.0; WPDesktop; NOKIA; Lumia 1520*] +Parent="IEMobile 11.0" + +[Mozilla/5.0 (Windows NT 6.2; ARM; Trident/7.0*rv:11.0; WPDesktop; NOKIA; Lumia 925*] +Parent="IEMobile 11.0" + +[Mozilla/5.0 (Windows NT 6.2; ARM; Trident/7.0*rv:11.0; WPDesktop; NOKIA; Lumia 635*] +Parent="IEMobile 11.0" + +[Mozilla/5.0 (Windows NT 6.2; ARM; Trident/7.0*rv:11.0; WPDesktop; NOKIA; 909*] +Parent="IEMobile 11.0" + +[Mozilla/5.0 (Windows NT 6.2; ARM; Trident/7.0*rv:11.0; WPDesktop; NOKIA; Lumia 720*] +Parent="IEMobile 11.0" + +[Mozilla/5.0 (Windows NT 6.2; ARM; Trident/7.0*rv:11.0; WPDesktop; *] +Parent="IEMobile 11.0" + +[Mozilla/5.0*(*Windows Phone 8.1*Trident/8.0*rv:11*IEMobile?11.0) like Android *; compatible) like iPhone OS * Mac OS X WebKit/537.36 (KHTML* like Gecko) Chrome*Safari*] +Parent="IEMobile 11.0" + +[Mozilla/5.0*(*Windows Phone 8.1*Trident/8.0*rv:11*IEMobile?11.0; NOKIA; Lumia 635*] +Parent="IEMobile 11.0" + +[Mozilla/5.0*(*Windows Phone 8.1*Trident/8.0*rv:11*IEMobile?11.0; NOKIA; Lumia 930*] +Parent="IEMobile 11.0" + +[Mozilla/5.0*(*Windows Phone 8.1*Trident/8.0*rv:11*IEMobile?11.0; NOKIA; Lumia 520*] +Parent="IEMobile 11.0" + +[Mozilla/5.0*(*Windows Phone 8.1*Trident/8.0*rv:11*IEMobile?11.0; NOKIA; Lumia 630*] +Parent="IEMobile 11.0" + +[Mozilla/5.0*(*Windows Phone 8.1*Trident/8.0*rv:11*IEMobile?11.0; NOKIA; Lumia 925*] +Parent="IEMobile 11.0" + +[Mozilla/5.0*(*Windows Phone 8.1*Trident/8.0*rv:11*IEMobile?11.0; NOKIA; Lumia 920*] +Parent="IEMobile 11.0" + +[Mozilla/5.0*(*Windows Phone 8.1*Trident/8.0*rv:11*IEMobile?11.0; NOKIA; Lumia 730*] +Parent="IEMobile 11.0" + +[Mozilla/5.0*(*Windows Phone 8.1*Trident/8.0*rv:11.0*; IEMobile?11.0; NOKIA; Lumia 920*] +Parent="IEMobile 11.0" + +[Mozilla/5.0*(*Windows Phone 8.1*Trident/8.0*rv:11*IEMobile?11.0; NOKIA; Lumia 928*] +Parent="IEMobile 11.0" + +[Mozilla/5.0*(*Windows Phone 8.1*Trident/8.0*rv:11*IEMobile?11.0; NOKIA; Lumia 625*] +Parent="IEMobile 11.0" + +[Mozilla/5.0*(*Windows Phone 8.1*Trident/8.0*rv:11*IEMobile?11.0; NOKIA; 909*] +Parent="IEMobile 11.0" + +[Mozilla/5.0*(*Windows Phone 8.1*Trident/8.0*rv:11*IEMobile?11.0; NOKIA; Lumia 820*] +Parent="IEMobile 11.0" + +[Mozilla/5.0*(*Windows Phone 8.1*Trident/8.0*rv:11*IEMobile?11.0; NOKIA; Lumia 620*] +Parent="IEMobile 11.0" + +[Mozilla/5.0*(*Windows Phone 8.1*Trident/8.0*rv:11*IEMobile?11.0; NOKIA; Lumia 530*] +Parent="IEMobile 11.0" + +[Mozilla/5.0*(*Windows Phone 8.1*Trident/8.0*rv:11*IEMobile?11.0*] +Parent="IEMobile 11.0" + +[Mozilla/5.0 (Windows NT 6.2; ARM; Trident/8.0*rv:11.0; WPDesktop; NOKIA; Lumia 625*] +Parent="IEMobile 11.0" + +[Mozilla/5.0 (Windows NT 6.2; ARM; Trident/8.0*rv:11.0; WPDesktop; NOKIA; Lumia 1320*] +Parent="IEMobile 11.0" + +[Mozilla/5.0 (Windows NT 6.2; ARM; Trident/8.0*rv:11.0; WPDesktop; NOKIA; Lumia 820*] +Parent="IEMobile 11.0" + +[Mozilla/5.0 (Windows NT 6.2; ARM; Trident/8.0*rv:11.0; WPDesktop; NOKIA; Lumia 920*] +Parent="IEMobile 11.0" + +[Mozilla/5.0 (Windows NT 6.2; ARM; Trident/8.0*rv:11.0; WPDesktop; NOKIA; Lumia 630*] +Parent="IEMobile 11.0" + +[Mozilla/5.0 (Windows NT 6.2; ARM; Trident/8.0*rv:11.0; WPDesktop; NOKIA; Lumia 520*] +Parent="IEMobile 11.0" + +[Mozilla/5.0 (Windows NT 6.2; ARM; Trident/8.0*rv:11.0; WPDesktop; NOKIA; Lumia 1520*] +Parent="IEMobile 11.0" + +[Mozilla/5.0 (Windows NT 6.2; ARM; Trident/8.0*rv:11.0; WPDesktop; NOKIA; Lumia 925*] +Parent="IEMobile 11.0" + +[Mozilla/5.0 (Windows NT 6.2; ARM; Trident/8.0*rv:11.0; WPDesktop; NOKIA; Lumia 635*] +Parent="IEMobile 11.0" + +[Mozilla/5.0 (Windows NT 6.2; ARM; Trident/8.0*rv:11.0; WPDesktop; NOKIA; 909*] +Parent="IEMobile 11.0" + +[Mozilla/5.0 (Windows NT 6.2; ARM; Trident/8.0*rv:11.0; WPDesktop; NOKIA; Lumia 720*] +Parent="IEMobile 11.0" + +[Mozilla/5.0 (Windows NT 6.2; ARM; Trident/8.0*rv:11.0; WPDesktop; *] +Parent="IEMobile 11.0" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Android Browser 5.1 + +[Android Browser 5.1] +Parent="DefaultProperties" +Comment="Android Browser 5.1" +Browser="Android" +Version="5.1" +Platform="Android" +isMobileDevice="true" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (*Linux*Android* Build/* AppleWebKit/* (KHTML* like Gecko) Version/5.1* Mobile Safari*] +Parent="Android Browser 5.1" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Android Browser 5.0 + +[Android Browser 5.0] +Parent="DefaultProperties" +Comment="Android Browser 5.0" +Browser="Android" +Version="5.0" +Platform="Android" +isMobileDevice="true" +Device_Type="Mobile Phone" + +['Mozilla/5.0 (*Linux*Android* Build/*AppleWebKit/* (KHTML* like Gecko) Version/5.0* Mobile Safari*] +Parent="Android Browser 5.0" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Android Browser 4.4 + +[Android Browser 4.4] +Parent="DefaultProperties" +Comment="Android Browser 4.4" +Browser="Android" +Version="4.4" +Platform="Android" +isMobileDevice="true" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (*Linux*Android*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/4.4*Safari*] +Parent="Android Browser 4.4" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Android Browser 4.3 + +[Android Browser 4.3] +Parent="DefaultProperties" +Comment="Android Browser 4.3" +Browser="Android" +Version="4.3" +Platform="Android" +isMobileDevice="true" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (*Linux*Android*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/4.3*Safari*] +Parent="Android Browser 4.3" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Android Browser 4.2 + +[Android Browser 4.2] +Parent="DefaultProperties" +Comment="Android Browser 4.2" +Browser="Android" +Version="4.2" +Platform="Android" +isMobileDevice="true" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (*Linux*Android*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/4.2*Safari*] +Parent="Android Browser 4.2" + +[*Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko) Version/4.2*Safari*] +Parent="Android Browser 4.2" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit* (KHTML,*like Gecko*) Version/4.2*Safari*] +Parent="Android Browser 4.2" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Android Browser 4.1 + +[Android Browser 4.1] +Parent="DefaultProperties" +Comment="Android Browser 4.1" +Browser="Android" +Version="4.1" +Platform="Android" +isMobileDevice="true" +Device_Type="Mobile Phone" + +[*Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko) Version/4.1*Safari*] +Parent="Android Browser 4.1" + +[Mozilla/5.0 (*Linux*Android*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/4.1*Safari*] +Parent="Android Browser 4.1" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit* (KHTML,*like Gecko*) Version/4.1*Safari*] +Parent="Android Browser 4.1" + +[Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) *Version/4.1* Safari/*] +Parent="Android Browser 4.1" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Android Browser 4.0 + +[Android Browser 4.0] +Parent="DefaultProperties" +Comment="Android Browser 4.0" +Browser="Android" +Version="4.0" +Platform="Android" +isMobileDevice="true" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (Macintosh; *Mac OS X*; HTC/DesireHD/*) AppleWebKit/* (KHTML,*like Gecko*) Version/4.0*Safari*] +Parent="Android Browser 4.0" + +[Mozilla/5.0 (Macintosh; *Mac OS X*; HTC/DesireS/*) AppleWebKit/* (KHTML,*like Gecko*) Version/4.0*Safari*] +Parent="Android Browser 4.0" + +[Mozilla/5.0 (Macintosh; *Mac OS X*; HTC/Sensation/*) AppleWebKit/* (KHTML,*like Gecko*) Version/5.0*Safari*] +Parent="Android Browser 4.0" + +[Mozilla/5.0 (Macintosh; *Mac OS X*; HTC/WildfireS/*) AppleWebKit/* (KHTML,*like Gecko*) Version/4.0*Safari*] +Parent="Android Browser 4.0" + +[Mozilla/5.0 (Macintosh; *Mac OS X*; HTC_DesireHD_A9191; *) AppleWebKit/* (KHTML,*like Gecko*) Version/5.0*Safari*] +Parent="Android Browser 4.0" + +[Mozilla/5.0 (Macintosh; *Mac OS X*; HTC_EVO3D_X515m; *) AppleWebKit/* (KHTML,*like Gecko*) Version/5.0*Safari*] +Parent="Android Browser 4.0" + +[Mozilla/5.0 (Macintosh; *Mac OS X*; HTC_EVO3D_X515m; *) AppleWebKit/* (KHTML,*like Gecko*) Version/5.1*Safari*] +Parent="Android Browser 4.0" + +[Mozilla/5.0 (Macintosh; *Mac OS X*; HTC_Flyer_P510e Build/*) AppleWebKit/* (KHTML,*like Gecko*) Version/4.0*Safari*] +Parent="Android Browser 4.0" +isTablet="true" +Device_Type="Tablet" + +[Mozilla/5.0 (Macintosh; *Mac OS X*; HTC_Flyer_P510e; *) AppleWebKit/* (KHTML,*like Gecko*) Version/5.0*Safari*] +Parent="Android Browser 4.0" +isTablet="true" +Device_Type="Tablet" + +[Mozilla/5.0 (Macintosh; *Mac OS X*; HTC_Flyer_P512; *) AppleWebKit/* (KHTML,*like Gecko*) Version/5.0*Safari*] +Parent="Android Browser 4.0" +isTablet="true" +Device_Type="Tablet" + +[Mozilla/5.0 (Macintosh; *Mac OS X*; HTC_IncredibleS_S710e; *) AppleWebKit/* (KHTML,*like Gecko*) Version/5.0*Safari*] +Parent="Android Browser 4.0" + +[Mozilla/5.0 (Macintosh; *Mac OS X*; HTC_Runnymede; *) AppleWebKit/* (KHTML,*like Gecko*) Version/5.0 Safari*] +Parent="Android Browser 4.0" + +[Mozilla/5.0 (Macintosh; *Mac OS X*; HTC_Sensation; *) AppleWebKit/* (KHTML,*like Gecko*) Version/5.0*Safari*] +Parent="Android Browser 4.0" + +[Mozilla/5.0 (Macintosh; *Mac OS X*; HTC_SensationXL_Beats_X315e; *) AppleWebKit/* (KHTML,*like Gecko*) Version/5.0 Safari*] +Parent="Android Browser 4.0" + +[Mozilla/5.0 (Macintosh; *Mac OS X*; HTC_Sensation_Z710e; *) AppleWebKit/* (KHTML,*like Gecko*) Version/5.0*Safari*] +Parent="Android Browser 4.0" + +[Mozilla/5.2 (Macintosh; *Mac OS X*; HTC_EVO3D_X515m; *) AppleWebKit/* (KHTML,*like Gecko*) Version/5.2*Safari*] +Parent="Android Browser 4.0" + +[Mozilla/5.0 (Linux*; Android Eclair*Build/*) AppleWebKit/* (KHTML,*like Gecko*) Version/*Safari*] +Parent="Android Browser 4.0" + +[Mozilla/5.0(*Linux*Android*) AppleWebKit/*(KHTML,*like Gecko*) Version/4.0*Safari*] +Parent="Android Browser 4.0" + +[Mozilla/5.0 (*Linux*Android*NookColor*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/4.*Safari/*] +Parent="Android Browser 4.0" +isTablet="true" +Device_Type="Tablet" + +[Mozilla/5.0 (*Linux*Android*NOOK*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/4.*Safari/*] +Parent="Android Browser 4.0" +isTablet="true" +Device_Type="Tablet" + +[Mozilla/5.0 (*Linux*Android*A5000 Build/*) AppleWebKit* (KHTML,*like Gecko*) Version/4.0*Safari*] +Parent="Android Browser 4.0" +Device_Type="Digital Camera" + +[Mozilla/5.0 (*Linux*Android* Build/*)*AppleWebKit/*(*KHTML,*like Gecko*)*Version/4.0*Safari*] +Parent="Android Browser 4.0" + +[Mozilla/5.0 (*Linux*Android*)*AppleWebKit/*(*KHTML,*like Gecko*)*Version/4.0*] +Parent="Android Browser 4.0" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit*(KTHML,like Gecko) Version/4.0*Safari*] +Parent="Android Browser 4.0" +isTablet="true" +Device_Type="Tablet" + +[Mozilla/5.0 (*Linux*Android*) AppleWebKit* (KHMTL,*like Gecko*) Version/4.0*Safari*] +Parent="Android Browser 4.0" + +[Mozilla/5.0(*Linux*Android*)AppleWebKit/*(KHTML,*like Gecko)Version/4.0*Safari*] +Parent="Android Browser 4.0" + +[Mozilla/5.0 (*Linux*Velocitymicro/T408*) AppleWebKit/*(KHTML* like Gecko) *Version/4.0*Safari/*] +Parent="Android Browser 4.0" +isTablet="true" +Device_Type="Tablet" + +[Mozilla/5.0 (*Linux*) AppleWebKit/*(KHTML* like Gecko) *Version/4.0*Safari/*] +Parent="Android Browser 4.0" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Coast 4.0 + +[Coast 4.0] +Parent="DefaultProperties" +Comment="Coast 4.0" +Browser="Coast" +Version="4.0" +Platform="iOS" +isMobileDevice="true" +Device_Type="Mobile Device" + +[Opera%20Coast/4.0* CFNetwork/*] +Parent="Coast 4.0" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Coast 3.1 + +[Coast 3.1] +Parent="DefaultProperties" +Comment="Coast 3.1" +Browser="Coast" +Version="3.1" +Platform="iOS" +isMobileDevice="true" +Device_Type="Mobile Device" + +[Opera%20Coast/3.1* CFNetwork/*] +Parent="Coast 3.1" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Coast 3.0 + +[Coast 3.0] +Parent="DefaultProperties" +Comment="Coast 3.0" +Browser="Coast" +Version="3.0" +Platform="iOS" +isMobileDevice="true" +Device_Type="Mobile Device" + +[Opera%20Coast/3.0* CFNetwork/*] +Parent="Coast 3.0" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Coast + +[Coast] +Parent="DefaultProperties" +Comment="Coast" +Browser="Coast" +Platform="iOS" +isMobileDevice="true" +Device_Type="Mobile Device" + +[Opera%20Coast/* CFNetwork/*] +Parent="Coast" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Mobile Safari 9.2 + +[Mobile Safari 9.2] +Parent="DefaultProperties" +Comment="Mobile Safari 9.2" +Browser="Safari" +Version="9.2" +Platform="iOS" +isMobileDevice="true" +Device_Type="Mobile Device" + +[Mozilla/5.0 (iPad*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/9.2*Safari/*] +Parent="Mobile Safari 9.2" +isTablet="true" +Device_Type="Tablet" + +[Mozilla/5.0 (iPhone*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/9.2*Safari/*] +Parent="Mobile Safari 9.2" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (iPod*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/9.2*Safari/*] +Parent="Mobile Safari 9.2" + +[Mozilla/5.0 (*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/9.2*Safari/*] +Parent="Mobile Safari 9.2" + +[Mozilla/6.0 (iPad*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/9.2*Safari/*] +Parent="Mobile Safari 9.2" +isTablet="true" +Device_Type="Tablet" + +[Mozilla/6.0 (iPhone*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/9.2*Safari/*] +Parent="Mobile Safari 9.2" +Device_Type="Mobile Phone" + +[Mozilla/6.0 (iPod*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/9.2*Safari/*] +Parent="Mobile Safari 9.2" + +[Mozilla/6.0 (*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/9.2*Safari/*] +Parent="Mobile Safari 9.2" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Mobile Safari 9.1 + +[Mobile Safari 9.1] +Parent="DefaultProperties" +Comment="Mobile Safari 9.1" +Browser="Safari" +Version="9.1" +Platform="iOS" +isMobileDevice="true" +Device_Type="Mobile Device" + +[Mozilla/5.0 (iPad*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/9.1*Safari/*] +Parent="Mobile Safari 9.1" +isTablet="true" +Device_Type="Tablet" + +[Mozilla/5.0 (iPhone*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/9.1*Safari/*] +Parent="Mobile Safari 9.1" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (iPod*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/9.1*Safari/*] +Parent="Mobile Safari 9.1" + +[Mozilla/5.0 (*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/9.1*Safari/*] +Parent="Mobile Safari 9.1" + +[Mozilla/6.0 (iPad*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/9.1*Safari/*] +Parent="Mobile Safari 9.1" +isTablet="true" +Device_Type="Tablet" + +[Mozilla/6.0 (iPhone*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/9.1*Safari/*] +Parent="Mobile Safari 9.1" +Device_Type="Mobile Phone" + +[Mozilla/6.0 (iPod*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/9.1*Safari/*] +Parent="Mobile Safari 9.1" + +[Mozilla/6.0 (*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/9.1*Safari/*] +Parent="Mobile Safari 9.1" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Mobile Safari 9.0 + +[Mobile Safari 9.0] +Parent="DefaultProperties" +Comment="Mobile Safari 9.0" +Browser="Safari" +Version="9.0" +Platform="iOS" +isMobileDevice="true" +Device_Type="Mobile Device" + +[Mozilla/5.0 (iPad*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/9.0*Safari/*] +Parent="Mobile Safari 9.0" +isTablet="true" +Device_Type="Tablet" + +[Mozilla/5.0 (iPhone*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/9.0*Safari/*] +Parent="Mobile Safari 9.0" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (iPod*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/9.0*Safari/*] +Parent="Mobile Safari 9.0" + +[Mozilla/5.0 (*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/9.0*Safari/*] +Parent="Mobile Safari 9.0" + +[Mozilla/6.0 (iPad*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/9.0*Safari/*] +Parent="Mobile Safari 9.0" +isTablet="true" +Device_Type="Tablet" + +[Mozilla/6.0 (iPhone*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/9.0*Safari/*] +Parent="Mobile Safari 9.0" +Device_Type="Mobile Phone" + +[Mozilla/6.0 (iPod*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/9.0*Safari/*] +Parent="Mobile Safari 9.0" + +[Mozilla/6.0 (*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/9.0*Safari/*] +Parent="Mobile Safari 9.0" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Mobile Safari 8.1 + +[Mobile Safari 8.1] +Parent="DefaultProperties" +Comment="Mobile Safari 8.1" +Browser="Safari" +Version="8.1" +Platform="iOS" +isMobileDevice="true" +Device_Type="Mobile Device" + +[Mozilla/5.0 (iPad*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/8.1*Safari/*] +Parent="Mobile Safari 8.1" +isTablet="true" +Device_Type="Tablet" + +[Mozilla/5.0 (iPhone*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/8.1*Safari/*] +Parent="Mobile Safari 8.1" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (iPod*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/8.1*Safari/*] +Parent="Mobile Safari 8.1" + +[Mozilla/5.0 (*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/8.1*Safari/*] +Parent="Mobile Safari 8.1" + +[Mozilla/6.0 (iPad*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/8.1*Safari/*] +Parent="Mobile Safari 8.1" +isTablet="true" +Device_Type="Tablet" + +[Mozilla/6.0 (iPhone*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/8.1*Safari/*] +Parent="Mobile Safari 8.1" +Device_Type="Mobile Phone" + +[Mozilla/6.0 (iPod*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/8.1*Safari/*] +Parent="Mobile Safari 8.1" + +[Mozilla/6.0 (*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/8.1*Safari/*] +Parent="Mobile Safari 8.1" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Mobile Safari 8.0 + +[Mobile Safari 8.0] +Parent="DefaultProperties" +Comment="Mobile Safari 8.0" +Browser="Safari" +Version="8.0" +Platform="iOS" +isMobileDevice="true" +Device_Type="Mobile Device" + +[Mozilla/5.0 (iPad*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/8.0*Safari/*] +Parent="Mobile Safari 8.0" +isTablet="true" +Device_Type="Tablet" + +[Mozilla/5.0 (iPhone*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/8.0*Safari/*] +Parent="Mobile Safari 8.0" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (iPod*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/8.0*Safari/*] +Parent="Mobile Safari 8.0" + +[Mozilla/5.0 (*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/8.0*Safari/*] +Parent="Mobile Safari 8.0" + +[Mozilla/6.0 (iPad*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/8.0*Safari/*] +Parent="Mobile Safari 8.0" +isTablet="true" +Device_Type="Tablet" + +[Mozilla/6.0 (iPhone*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/8.0*Safari/*] +Parent="Mobile Safari 8.0" +Device_Type="Mobile Phone" + +[Mozilla/6.0 (iPod*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/8.0*Safari/*] +Parent="Mobile Safari 8.0" + +[Mozilla/6.0 (*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/8.0*Safari/*] +Parent="Mobile Safari 8.0" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Mobile Safari 7.1 + +[Mobile Safari 7.1] +Parent="DefaultProperties" +Comment="Mobile Safari 7.1" +Browser="Safari" +Version="7.1" +Platform="iOS" +isMobileDevice="true" +Device_Type="Mobile Device" + +[Mozilla/5.0 (iPad*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/7.1*Safari/*] +Parent="Mobile Safari 7.1" +isTablet="true" +Device_Type="Tablet" + +[Mozilla/5.0 (iPhone*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/7.1*Safari/*] +Parent="Mobile Safari 7.1" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (iPod*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/7.1*Safari/*] +Parent="Mobile Safari 7.1" + +[Mozilla/5.0 (*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/7.1*Safari/*] +Parent="Mobile Safari 7.1" + +[Mozilla/6.0 (iPad*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/7.1*Safari/*] +Parent="Mobile Safari 7.1" +isTablet="true" +Device_Type="Tablet" + +[Mozilla/6.0 (iPhone*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/7.1*Safari/*] +Parent="Mobile Safari 7.1" +Device_Type="Mobile Phone" + +[Mozilla/6.0 (iPod*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/7.1*Safari/*] +Parent="Mobile Safari 7.1" + +[Mozilla/6.0 (*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/7.1*Safari/*] +Parent="Mobile Safari 7.1" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Mobile Safari 7.0 + +[Mobile Safari 7.0] +Parent="DefaultProperties" +Comment="Mobile Safari 7.0" +Browser="Safari" +Version="7.0" +Platform="iOS" +isMobileDevice="true" +Device_Type="Mobile Device" + +[Mozilla/5.0 (iPad*CPU like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/7.0*Safari/*] +Parent="Mobile Safari 7.0" +isTablet="true" +Device_Type="Tablet" + +[Mozilla/5.0 (iPad*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/7.0*Safari/*] +Parent="Mobile Safari 7.0" +isTablet="true" +Device_Type="Tablet" + +[Mozilla/5.0 (iPhone*CPU like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/7.0*Safari/*] +Parent="Mobile Safari 7.0" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (iPhone*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/7.0*Safari/*] +Parent="Mobile Safari 7.0" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (iPod*CPU like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/7.0*Safari/*] +Parent="Mobile Safari 7.0" + +[Mozilla/5.0 (iPod*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/7.0*Safari/*] +Parent="Mobile Safari 7.0" + +[Mozilla/5.0 (*CPU like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/7.0*Safari/*] +Parent="Mobile Safari 7.0" + +[Mozilla/5.0 (*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/7.0*Safari/*] +Parent="Mobile Safari 7.0" + +[MobileSafari/95??.* CFNetwork/*] +Parent="Mobile Safari 7.0" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Mobile Safari 6.1 + +[Mobile Safari 6.1] +Parent="DefaultProperties" +Comment="Mobile Safari 6.1" +Browser="Safari" +Version="6.1" +Platform="iOS" +isMobileDevice="true" +Device_Type="Mobile Device" + +[Mozilla/5.0 (iPad*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/6.1*Safari/*] +Parent="Mobile Safari 6.1" +isTablet="true" +Device_Type="Tablet" + +[Mozilla/5.0 (iPhone*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/6.1*Safari/*] +Parent="Mobile Safari 6.1" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (iPod*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/6.1*Safari/*] +Parent="Mobile Safari 6.1" + +[Mozilla/5.0 (*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/6.1*Safari/*] +Parent="Mobile Safari 6.1" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Mobile Safari 6.0 + +[Mobile Safari 6.0] +Parent="DefaultProperties" +Comment="Mobile Safari 6.0" +Browser="Safari" +Version="6.0" +Platform="iOS" +isMobileDevice="true" +Device_Type="Mobile Device" + +[Mozilla/5.0 (iPad*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/6.0*Safari/*] +Parent="Mobile Safari 6.0" +isTablet="true" +Device_Type="Tablet" + +[Mozilla/5.0 (iPhone*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/6.0*Safari/*] +Parent="Mobile Safari 6.0" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (iPod*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/6.0*Safari/*] +Parent="Mobile Safari 6.0" + +[Mozilla/5.0 (*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/6.0*Safari/*] +Parent="Mobile Safari 6.0" + +[MobileSafari/85??.* CFNetwork/*] +Parent="Mobile Safari 6.0" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Mobile Safari Generic + +[Mobile Safari Generic] +Parent="DefaultProperties" +Comment="Mobile Safari Generic" +Browser="Safari" +Platform="iOS" +isMobileDevice="true" +Device_Type="Mobile Device" + +[Mozilla/5.0 (iPad*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/*Safari/*] +Parent="Mobile Safari Generic" +isTablet="true" +Device_Type="Tablet" + +[Mozilla/5.0 (iPhone*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/*Safari/*] +Parent="Mobile Safari Generic" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (iPod*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/*Safari/*] +Parent="Mobile Safari Generic" + +[Mozilla/5.0 (*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/*Safari/*] +Parent="Mobile Safari Generic" + +[Mozilla/6.0 (iPad*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/*Safari/*] +Parent="Mobile Safari Generic" +isTablet="true" +Device_Type="Tablet" + +[Mozilla/6.0 (*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/*Safari/*] +Parent="Mobile Safari Generic" + +[MobileSafari/* CFNetwork/*] +Parent="Mobile Safari Generic" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Mobile Safari UIWebView + +[Mobile Safari UIWebView] +Parent="DefaultProperties" +Comment="Mobile Safari UIWebView" +Browser="Mobile Safari UIWebView" +Platform="iOS" +isMobileDevice="true" +Device_Type="Mobile Device" + +[Mozilla/5.0 (iPad*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Mobile*] +Parent="Mobile Safari UIWebView" +isTablet="true" +Device_Type="Tablet" + +[Mozilla/5.0*(iPhone*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Mobile*] +Parent="Mobile Safari UIWebView" +Device_Type="Mobile Phone" + +[Mozilla/5.0*(iPod*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Mobile*] +Parent="Mobile Safari UIWebView" + +[Mozilla/5.0*(*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Mobile*] +Parent="Mobile Safari UIWebView" + +[*iPad*] +Parent="Mobile Safari UIWebView" +isTablet="true" +Device_Type="Tablet" + +[*iPhone*] +Parent="Mobile Safari UIWebView" +Device_Type="Mobile Phone" + +[*iPod*] +Parent="Mobile Safari UIWebView" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Safari 10.0 + +[Safari 10.0] +Parent="DefaultProperties" +Comment="Safari 10.0" +Browser="Safari" +Version="10.0" +Device_Type="Desktop" + +[Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *Version/10.0* Safari/*] +Parent="Safari 10.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *Version/10.0*] +Parent="Safari 10.0" +Platform="MacOSX" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Safari 9.1 + +[Safari 9.1] +Parent="DefaultProperties" +Comment="Safari 9.1" +Browser="Safari" +Version="9.1" +Device_Type="Desktop" + +[Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) *Version/9.1* Safari/*] +Parent="Safari 9.1" +Platform="Linux" + +[Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *Version/9.1* Safari/*] +Parent="Safari 9.1" +Platform="MacOSX" + +[Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *Version/9.1*] +Parent="Safari 9.1" +Platform="MacOSX" + +[Safari 9.1 for SymbianOS] +Parent="DefaultProperties" +Comment="Safari 9.1" +Browser="Safari" +Version="9.1" +isMobileDevice="true" +Device_Type="Mobile Device" + +[Safari 9.0] +Parent="DefaultProperties" +Comment="Safari 9.0" +Browser="Safari" +Version="9.0" +Device_Type="Desktop" + +[Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) *Version/9.0* Safari/*] +Parent="Safari 9.0" +Platform="Linux" + +[Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *Version/9.0* Safari/*] +Parent="Safari 9.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *Version/9.0*] +Parent="Safari 9.0" +Platform="MacOSX" + +[Safari 9.0 for SymbianOS] +Parent="DefaultProperties" +Comment="Safari 9.0" +Browser="Safari" +Version="9.0" +isMobileDevice="true" +Device_Type="Mobile Device" + +[Safari 8.1] +Parent="DefaultProperties" +Comment="Safari 8.1" +Browser="Safari" +Version="8.1" +Device_Type="Desktop" + +[Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) *Version/8.1* Safari/*] +Parent="Safari 8.1" +Platform="Linux" + +[Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *Version/8.1* Safari/*] +Parent="Safari 8.1" +Platform="MacOSX" + +[Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *Version/8.1*] +Parent="Safari 8.1" +Platform="MacOSX" + +[Safari 8.1 for SymbianOS] +Parent="DefaultProperties" +Comment="Safari 8.1" +Browser="Safari" +Version="8.1" +isMobileDevice="true" +Device_Type="Mobile Device" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Safari 8.0 + +[Safari 8.0] +Parent="DefaultProperties" +Comment="Safari 8.0" +Browser="Safari" +Version="8.0" +Device_Type="Desktop" + +[Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) *Version/8.0* Safari/*] +Parent="Safari 8.0" +Platform="Linux" + +[Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *Version/8.0* Safari/*] +Parent="Safari 8.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *Version/8.0*] +Parent="Safari 8.0" +Platform="MacOSX" + +[Safari 8.0 for Darwin] +Parent="DefaultProperties" +Comment="Safari 8.0" +Browser="Safari" +Version="8.0" +Platform="MacOSX" +Device_Type="Desktop" + +[Safari/10???.* CFNetwork/*] +Parent="Safari 8.0 for Darwin" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Safari 7.1 + +[Safari 7.1] +Parent="DefaultProperties" +Comment="Safari 7.1" +Browser="Safari" +Version="7.1" +Device_Type="Desktop" + +[Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) *Version/7.1* Safari/*] +Parent="Safari 7.1" +Platform="Linux" + +[Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *Version/7.1* Safari/*] +Parent="Safari 7.1" +Platform="MacOSX" + +[Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *Version/7.1*] +Parent="Safari 7.1" +Platform="MacOSX" + +[Safari 7.1 for SymbianOS] +Parent="DefaultProperties" +Comment="Safari 7.1" +Browser="Safari" +Version="7.1" +isMobileDevice="true" +Device_Type="Mobile Device" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Safari 7.0 + +[Safari 7.0] +Parent="DefaultProperties" +Comment="Safari 7.0" +Browser="Safari" +Version="7.0" +Device_Type="Desktop" + +[Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) *Version/7.0* Safari/*] +Parent="Safari 7.0" +Platform="Linux" + +[Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *Version/7.0* Safari/*] +Parent="Safari 7.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *Version/7.0*] +Parent="Safari 7.0" +Platform="MacOSX" + +[Safari 7.0 for SymbianOS] +Parent="DefaultProperties" +Comment="Safari 7.0" +Browser="Safari" +Version="7.0" +isMobileDevice="true" +Device_Type="Mobile Device" + +[Safari 7.0 for Darwin] +Parent="DefaultProperties" +Comment="Safari 7.0" +Browser="Safari" +Version="7.0" +Platform="MacOSX" +Device_Type="Desktop" + +[Safari/95??.* CFNetwork/*] +Parent="Safari 7.0 for Darwin" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Safari 6.2 + +[Safari 6.2] +Parent="DefaultProperties" +Comment="Safari 6.2" +Browser="Safari" +Version="6.2" +Device_Type="Desktop" + +[Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) *Version/6.2* Safari/*] +Parent="Safari 6.2" +Platform="Linux" + +[Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *Version/6.2* Safari/*] +Parent="Safari 6.2" +Platform="MacOSX" + +[Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *Version/6.2*] +Parent="Safari 6.2" +Platform="MacOSX" + +[Safari 6.2 for SymbianOS] +Parent="DefaultProperties" +Comment="Safari 6.2" +Browser="Safari" +Version="6.2" +isMobileDevice="true" +Device_Type="Mobile Device" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Safari 6.1 + +[Safari 6.1] +Parent="DefaultProperties" +Comment="Safari 6.1" +Browser="Safari" +Version="6.1" +Device_Type="Desktop" + +[Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) *Version/6.1* Safari/*] +Parent="Safari 6.1" +Platform="Linux" + +[Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *Version/6.1* Safari/*] +Parent="Safari 6.1" +Platform="MacOSX" + +[Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *Version/6.1*] +Parent="Safari 6.1" +Platform="MacOSX" + +[Safari 6.1 for SymbianOS] +Parent="DefaultProperties" +Comment="Safari 6.1" +Browser="Safari" +Version="6.1" +isMobileDevice="true" +Device_Type="Mobile Device" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Safari 6.0 + +[Safari 6.0] +Parent="DefaultProperties" +Comment="Safari 6.0" +Browser="Safari" +Version="6.0" +Device_Type="Desktop" + +[Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) *Version/6.0* Safari/*] +Parent="Safari 6.0" +Platform="Linux" + +[Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *Version/6.0* Safari/*] +Parent="Safari 6.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *Version/6.0*] +Parent="Safari 6.0" +Platform="MacOSX" + +[Safari 6.0 for SymbianOS] +Parent="DefaultProperties" +Comment="Safari 6.0" +Browser="Safari" +Version="6.0" +isMobileDevice="true" +Device_Type="Mobile Device" + +[Safari 6.0 for Darwin] +Parent="DefaultProperties" +Comment="Safari 6.0" +Browser="Safari" +Version="6.0" +Platform="MacOSX" +Device_Type="Desktop" + +[Safari/85??.* CFNetwork/*] +Parent="Safari 6.0 for Darwin" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Safari Generic + +[Safari Generic] +Parent="DefaultProperties" +Comment="Safari Generic" +Browser="Safari" +Device_Type="Desktop" + +[Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) *Version/* Safari/*] +Parent="Safari Generic" +Platform="Linux" + +[Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) *Version/* Safari/*] +Parent="Safari Generic" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) *Version/* Safari/*] +Parent="Safari Generic" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) *Version/* Safari/*] +Parent="Safari Generic" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko) *Version/* Safari/*] +Parent="Safari Generic" +Platform="WinVista" + +[Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *Version/* Safari/*] +Parent="Safari Generic" +Platform="MacOSX" + +[Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko)*Safari*] +Parent="Safari Generic" +Platform="MacOSX" + +[Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *Version/*] +Parent="Safari Generic" +Platform="MacOSX" + +[Safari Generic for SymbianOS] +Parent="DefaultProperties" +Comment="Safari Generic" +Browser="Safari" +isMobileDevice="true" +Device_Type="Mobile Device" + +[Safari Generic for Darwin] +Parent="DefaultProperties" +Comment="Safari Generic" +Browser="Safari" +Platform="MacOSX" +Device_Type="Desktop" + +[Safari/* CFNetwork/*] +Parent="Safari Generic for Darwin" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; IE 11.0 + +[IE 11.0 for Win RT] +Parent="DefaultProperties" +Comment="IE 11.0" +Browser="IE" +Version="11.0" +isMobileDevice="true" +isTablet="true" +Device_Type="Tablet" + +[IE 11.0 for Tablet] +Parent="DefaultProperties" +Comment="IE 11.0" +Browser="IE" +Version="11.0" +isMobileDevice="true" +isTablet="true" +Device_Type="Tablet" + +[Mozilla/5.0 (*Windows NT 6.2*Trident/7.0*Touch*rv:11.0*)*] +Parent="IE 11.0 for Tablet" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*Trident/7.0*Touch*rv:11.0*)*] +Parent="IE 11.0 for Tablet" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*Trident/7.0*Touch*rv:11.0*)*] +Parent="IE 11.0 for Tablet" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*Trident/7.0*Touch*rv:11.0*)*] +Parent="IE 11.0 for Tablet" +Platform="Win10" + +[Mozilla/5.0 (*Windows*Trident/7.0*Touch*rv:11.0*)*] +Parent="IE 11.0 for Tablet" +Platform="Win32" + +[Mozilla/4.0 (compatible; MSIE 7.0; *Windows NT 6.2*Trident/7.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 7.0 Compatibility Mode" +Platform="Win8" + +[Mozilla/4.0 (compatible; MSIE 7.0; *Windows NT 6.3*Trident/7.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 7.0 Compatibility Mode" +Platform="Win8.1" + +[Mozilla/4.0 (compatible; MSIE 7.0; *Windows NT 6.4*Trident/7.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 7.0 Compatibility Mode" +Platform="Win10" + +[Mozilla/4.0 (compatible; MSIE 7.0; *Windows NT 10.0*Trident/7.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 7.0 Compatibility Mode" +Platform="Win10" + +[Mozilla/4.0 (compatible; MSIE 7.0; *Windows*Trident/7.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 7.0 Compatibility Mode" +Platform="Win32" + +[Mozilla/5.0 (compatible; MSIE 7.0; *Windows NT 6.2*Trident/7.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 7.0 Compatibility Mode" +Platform="Win8" + +[Mozilla/5.0 (compatible; MSIE 7.0; *Windows NT 6.3*Trident/7.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 7.0 Compatibility Mode" +Platform="Win8.1" + +[Mozilla/5.0 (compatible; MSIE 7.0; *Windows NT 6.4*Trident/7.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 7.0 Compatibility Mode" +Platform="Win10" + +[Mozilla/5.0 (compatible; MSIE 7.0; *Windows NT 10.0*Trident/7.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 7.0 Compatibility Mode" +Platform="Win10" + +[Mozilla/5.0 (compatible; MSIE 7.0; *Windows*Trident/7.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 7.0 Compatibility Mode" +Platform="Win32" + +[Mozilla/4.0 (compatible; MSIE 8.0; *Windows NT 6.2*Trident/7.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 8.0 Compatibility Mode" +Platform="Win8" + +[Mozilla/4.0 (compatible; MSIE 8.0; *Windows NT 6.3*Trident/7.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 8.0 Compatibility Mode" +Platform="Win8.1" + +[Mozilla/4.0 (compatible; MSIE 8.0; *Windows NT 6.4*Trident/7.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 8.0 Compatibility Mode" +Platform="Win10" + +[Mozilla/4.0 (compatible; MSIE 8.0; *Windows NT 10.0*Trident/7.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 8.0 Compatibility Mode" +Platform="Win10" + +[Mozilla/4.0 (compatible; MSIE 8.0; *Windows*Trident/7.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 8.0 Compatibility Mode" +Platform="Win32" + +[Mozilla/5.0 (compatible; MSIE 8.0; *Windows NT 6.2*Trident/7.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 8.0 Compatibility Mode" +Platform="Win8" + +[Mozilla/5.0 (compatible; MSIE 8.0; *Windows NT 6.3*Trident/7.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 8.0 Compatibility Mode" +Platform="Win8.1" + +[Mozilla/5.0 (compatible; MSIE 8.0; *Windows NT 6.4*Trident/7.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 8.0 Compatibility Mode" +Platform="Win10" + +[Mozilla/5.0 (compatible; MSIE 8.0; *Windows NT 10.0*Trident/7.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 8.0 Compatibility Mode" +Platform="Win10" + +[Mozilla/5.0 (compatible; MSIE 8.0; *Windows*Trident/7.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 8.0 Compatibility Mode" +Platform="Win32" + +[Mozilla/5.0 (compatible; MSIE 9.0; *Windows NT 6.2*Trident/7.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 9.0 Compatibility Mode" +Platform="Win8" + +[Mozilla/5.0 (compatible; MSIE 9.0; *Windows NT 6.3*Trident/7.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 9.0 Compatibility Mode" +Platform="Win8.1" + +[Mozilla/5.0 (compatible; MSIE 9.0; *Windows NT 6.4*Trident/7.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 9.0 Compatibility Mode" +Platform="Win10" + +[Mozilla/5.0 (compatible; MSIE 9.0; *Windows NT 10.0*Trident/7.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 9.0 Compatibility Mode" +Platform="Win10" + +[Mozilla/5.0 (compatible; MSIE 9.0; *Windows*Trident/7.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 9.0 Compatibility Mode" +Platform="Win32" + +[Mozilla/4.0 (compatible; MSIE 9.0; *Windows NT 6.2*Trident/7.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 9.0 Compatibility Mode" +Platform="Win8" + +[Mozilla/4.0 (compatible; MSIE 9.0; *Windows NT 6.3*Trident/7.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 9.0 Compatibility Mode" +Platform="Win8.1" + +[Mozilla/4.0 (compatible; MSIE 9.0; *Windows NT 6.4*Trident/7.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 9.0 Compatibility Mode" +Platform="Win10" + +[Mozilla/4.0 (compatible; MSIE 9.0; *Windows NT 10.0*Trident/7.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 9.0 Compatibility Mode" +Platform="Win10" + +[Mozilla/4.0 (compatible; MSIE 9.0; *Windows*Trident/7.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 9.0 Compatibility Mode" +Platform="Win32" + +[Mozilla/5.0 (compatible; MSIE 10.0; *Windows NT 6.2*Trident/7.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 10.0 Compatibility Mode" +Platform="Win8" + +[Mozilla/5.0 (compatible; MSIE 10.0; *Windows NT 6.3*Trident/7.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 10.0 Compatibility Mode" +Platform="Win8.1" + +[Mozilla/5.0 (compatible; MSIE 10.0; *Windows NT 6.4*Trident/7.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 10.0 Compatibility Mode" +Platform="Win10" + +[Mozilla/5.0 (compatible; MSIE 10.0; *Windows NT 10.0*Trident/7.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 10.0 Compatibility Mode" +Platform="Win10" + +[Mozilla/5.0 (compatible; MSIE 10.0; *Windows*Trident/7.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 10.0 Compatibility Mode" +Platform="Win32" + +[Mozilla/5.0 (*Windows NT 6.2*Trident/8.0*Touch*rv:11.0*)*] +Parent="IE 11.0 for Tablet" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*Trident/8.0*Touch*rv:11.0*)*] +Parent="IE 11.0 for Tablet" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*Trident/8.0*Touch*rv:11.0*)*] +Parent="IE 11.0 for Tablet" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*Trident/8.0*Touch*rv:11.0*)*] +Parent="IE 11.0 for Tablet" +Platform="Win10" + +[Mozilla/5.0 (*Windows*Trident/8.0*Touch*rv:11.0*)*] +Parent="IE 11.0 for Tablet" +Platform="Win32" + +[Mozilla/4.0 (compatible; MSIE 7.0; *Windows NT 6.2*Trident/8.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 7.0 Compatibility Mode" +Platform="Win8" + +[Mozilla/4.0 (compatible; MSIE 7.0; *Windows NT 6.3*Trident/8.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 7.0 Compatibility Mode" +Platform="Win8.1" + +[Mozilla/4.0 (compatible; MSIE 7.0; *Windows NT 6.4*Trident/8.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 7.0 Compatibility Mode" +Platform="Win10" + +[Mozilla/4.0 (compatible; MSIE 7.0; *Windows NT 10.0*Trident/8.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 7.0 Compatibility Mode" +Platform="Win10" + +[Mozilla/4.0 (compatible; MSIE 7.0; *Windows*Trident/8.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 7.0 Compatibility Mode" +Platform="Win32" + +[Mozilla/5.0 (compatible; MSIE 7.0; *Windows NT 6.2*Trident/8.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 7.0 Compatibility Mode" +Platform="Win8" + +[Mozilla/5.0 (compatible; MSIE 7.0; *Windows NT 6.3*Trident/8.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 7.0 Compatibility Mode" +Platform="Win8.1" + +[Mozilla/5.0 (compatible; MSIE 7.0; *Windows NT 6.4*Trident/8.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 7.0 Compatibility Mode" +Platform="Win10" + +[Mozilla/5.0 (compatible; MSIE 7.0; *Windows NT 10.0*Trident/8.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 7.0 Compatibility Mode" +Platform="Win10" + +[Mozilla/5.0 (compatible; MSIE 7.0; *Windows*Trident/8.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 7.0 Compatibility Mode" +Platform="Win32" + +[Mozilla/4.0 (compatible; MSIE 8.0; *Windows NT 6.2*Trident/8.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 8.0 Compatibility Mode" +Platform="Win8" + +[Mozilla/4.0 (compatible; MSIE 8.0; *Windows NT 6.3*Trident/8.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 8.0 Compatibility Mode" +Platform="Win8.1" + +[Mozilla/4.0 (compatible; MSIE 8.0; *Windows NT 6.4*Trident/8.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 8.0 Compatibility Mode" +Platform="Win10" + +[Mozilla/4.0 (compatible; MSIE 8.0; *Windows NT 10.0*Trident/8.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 8.0 Compatibility Mode" +Platform="Win10" + +[Mozilla/4.0 (compatible; MSIE 8.0; *Windows*Trident/8.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 8.0 Compatibility Mode" +Platform="Win32" + +[Mozilla/5.0 (compatible; MSIE 8.0; *Windows NT 6.2*Trident/8.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 8.0 Compatibility Mode" +Platform="Win8" + +[Mozilla/5.0 (compatible; MSIE 8.0; *Windows NT 6.3*Trident/8.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 8.0 Compatibility Mode" +Platform="Win8.1" + +[Mozilla/5.0 (compatible; MSIE 8.0; *Windows NT 6.4*Trident/8.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 8.0 Compatibility Mode" +Platform="Win10" + +[Mozilla/5.0 (compatible; MSIE 8.0; *Windows NT 10.0*Trident/8.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 8.0 Compatibility Mode" +Platform="Win10" + +[Mozilla/5.0 (compatible; MSIE 8.0; *Windows*Trident/8.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 8.0 Compatibility Mode" +Platform="Win32" + +[Mozilla/5.0 (compatible; MSIE 9.0; *Windows NT 6.2*Trident/8.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 9.0 Compatibility Mode" +Platform="Win8" + +[Mozilla/5.0 (compatible; MSIE 9.0; *Windows NT 6.3*Trident/8.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 9.0 Compatibility Mode" +Platform="Win8.1" + +[Mozilla/5.0 (compatible; MSIE 9.0; *Windows NT 6.4*Trident/8.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 9.0 Compatibility Mode" +Platform="Win10" + +[Mozilla/5.0 (compatible; MSIE 9.0; *Windows NT 10.0*Trident/8.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 9.0 Compatibility Mode" +Platform="Win10" + +[Mozilla/5.0 (compatible; MSIE 9.0; *Windows*Trident/8.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 9.0 Compatibility Mode" +Platform="Win32" + +[Mozilla/4.0 (compatible; MSIE 9.0; *Windows NT 6.2*Trident/8.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 9.0 Compatibility Mode" +Platform="Win8" + +[Mozilla/4.0 (compatible; MSIE 9.0; *Windows NT 6.3*Trident/8.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 9.0 Compatibility Mode" +Platform="Win8.1" + +[Mozilla/4.0 (compatible; MSIE 9.0; *Windows NT 6.4*Trident/8.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 9.0 Compatibility Mode" +Platform="Win10" + +[Mozilla/4.0 (compatible; MSIE 9.0; *Windows NT 10.0*Trident/8.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 9.0 Compatibility Mode" +Platform="Win10" + +[Mozilla/4.0 (compatible; MSIE 9.0; *Windows*Trident/8.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 9.0 Compatibility Mode" +Platform="Win32" + +[Mozilla/5.0 (compatible; MSIE 10.0; *Windows NT 6.2*Trident/8.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 10.0 Compatibility Mode" +Platform="Win8" + +[Mozilla/5.0 (compatible; MSIE 10.0; *Windows NT 6.3*Trident/8.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 10.0 Compatibility Mode" +Platform="Win8.1" + +[Mozilla/5.0 (compatible; MSIE 10.0; *Windows NT 6.4*Trident/8.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 10.0 Compatibility Mode" +Platform="Win10" + +[Mozilla/5.0 (compatible; MSIE 10.0; *Windows NT 10.0*Trident/8.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 10.0 Compatibility Mode" +Platform="Win10" + +[Mozilla/5.0 (compatible; MSIE 10.0; *Windows*Trident/8.0*Touch*)*] +Parent="IE 11.0 for Tablet" +Comment="IE 11.0 in IE 10.0 Compatibility Mode" +Platform="Win32" + +[IE 11.0 for Desktop] +Parent="DefaultProperties" +Comment="IE 11.0" +Browser="IE" +Version="11.0" +Device_Type="Desktop" + +[Mozilla/5.0 (*Windows NT 6.0*Trident/7.0*rv:11.0*] +Parent="IE 11.0 for Desktop" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*Trident/7.0*rv:11.0*] +Parent="IE 11.0 for Desktop" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*Trident/7.0*rv:11.0*] +Parent="IE 11.0 for Desktop" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*Trident/7.0*rv:11.0*] +Parent="IE 11.0 for Desktop" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*Trident/7.0*rv:11.0*] +Parent="IE 11.0 for Desktop" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*Trident/7.0*rv:11.0*] +Parent="IE 11.0 for Desktop" +Platform="Win10" + +[Mozilla/5.0 (*Windows*Trident/7.0*rv:11.0*] +Parent="IE 11.0 for Desktop" +Platform="Win32" + +[Mozilla/4.0 (compatible; MSIE 7.0; *Windows NT 6.0*Trident/7.0*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 7.0 Compatibility Mode" +Platform="WinVista" + +[Mozilla/4.0 (compatible; MSIE 7.0; *Windows NT 6.1*Trident/7.0*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 7.0 Compatibility Mode" +Platform="Win7" + +[Mozilla/4.0 (compatible; MSIE 7.0; *Windows NT 6.2*Trident/7.0*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 7.0 Compatibility Mode" +Platform="Win8" + +[Mozilla/4.0 (compatible; MSIE 7.0; *Windows NT 6.3*Trident/7.0*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 7.0 Compatibility Mode" +Platform="Win8.1" + +[Mozilla/4.0 (compatible; MSIE 7.0; *Windows NT 6.4*Trident/7.0*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 7.0 Compatibility Mode" +Platform="Win10" + +[Mozilla/4.0 (compatible; MSIE 7.0; *Windows NT 10.0*Trident/7.0*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 7.0 Compatibility Mode" +Platform="Win10" + +[Mozilla/4.0 (compatible; MSIE 7.0; *Windows*Trident/7.0*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 7.0 Compatibility Mode" +Platform="Win32" + +[Mozilla/5.0 (compatible; MSIE 7.0; *Windows NT 6.0*Trident/7.0*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 7.0 Compatibility Mode" +Platform="WinVista" + +[Mozilla/5.0 (compatible; MSIE 7.0; *Windows NT 6.1*Trident/7.0*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 7.0 Compatibility Mode" +Platform="Win7" + +[Mozilla/5.0 (compatible; MSIE 7.0; *Windows NT 6.2*Trident/7.0*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 7.0 Compatibility Mode" +Platform="Win8" + +[Mozilla/5.0 (compatible; MSIE 7.0; *Windows NT 6.3*Trident/7.0*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 7.0 Compatibility Mode" +Platform="Win8.1" + +[Mozilla/5.0 (compatible; MSIE 7.0; *Windows NT 6.4*Trident/7.0*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 7.0 Compatibility Mode" +Platform="Win10" + +[Mozilla/5.0 (compatible; MSIE 7.0; *Windows NT 10.0*Trident/7.0*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 7.0 Compatibility Mode" +Platform="Win10" + +[Mozilla/5.0 (compatible; MSIE 7.0; *Windows*Trident/7.0*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 7.0 Compatibility Mode" +Platform="Win32" + +[Mozilla/4.0 (compatible; MSIE 8.0; *Windows NT 6.0*Trident/7.0*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 8.0 Compatibility Mode" +Platform="WinVista" + +[Mozilla/4.0 (compatible; MSIE 8.0; *Windows NT 6.1*Trident/7.0*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 8.0 Compatibility Mode" +Platform="Win7" + +[Mozilla/4.0 (compatible; MSIE 8.0; *Windows NT 6.2*Trident/7.0*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 8.0 Compatibility Mode" +Platform="Win8" + +[Mozilla/4.0 (compatible; MSIE 8.0; *Windows NT 6.3*Trident/7.0*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 8.0 Compatibility Mode" +Platform="Win8.1" + +[Mozilla/4.0 (compatible; MSIE 8.0; *Windows NT 6.4*Trident/7.0*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 8.0 Compatibility Mode" +Platform="Win10" + +[Mozilla/4.0 (compatible; MSIE 8.0; *Windows NT 10.0*Trident/7.0*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 8.0 Compatibility Mode" +Platform="Win10" + +[Mozilla/4.0 (compatible; MSIE 8.0; *Windows*Trident/7.0*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 8.0 Compatibility Mode" +Platform="Win32" + +[Mozilla/5.0 (compatible; MSIE 8.0; *Windows NT 6.0*Trident/7.0*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 8.0 Compatibility Mode" +Platform="WinVista" + +[Mozilla/5.0 (compatible; MSIE 8.0; *Windows NT 6.1*Trident/7.0*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 8.0 Compatibility Mode" +Platform="Win7" + +[Mozilla/5.0 (compatible; MSIE 8.0; *Windows NT 6.2*Trident/7.0*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 8.0 Compatibility Mode" +Platform="Win8" + +[Mozilla/5.0 (compatible; MSIE 8.0; *Windows NT 6.3*Trident/7.0*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 8.0 Compatibility Mode" +Platform="Win8.1" + +[Mozilla/5.0 (compatible; MSIE 8.0; *Windows NT 6.4*Trident/7.0*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 8.0 Compatibility Mode" +Platform="Win10" + +[Mozilla/5.0 (compatible; MSIE 8.0; *Windows NT 10.0*Trident/7.0*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 8.0 Compatibility Mode" +Platform="Win10" + +[Mozilla/5.0 (compatible; MSIE 8.0; *Windows*Trident/7.0*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 8.0 Compatibility Mode" +Platform="Win32" + +[Mozilla/5.0 (compatible; MSIE 9.0; *Windows NT 6.0*Trident/7.0*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 9.0 Compatibility Mode" +Platform="WinVista" + +[Mozilla/5.0 (compatible; MSIE 9.0; *Windows NT 6.1*Trident/7.0*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 9.0 Compatibility Mode" +Platform="Win7" + +[Mozilla/5.0 (compatible; MSIE 9.0; *Windows NT 6.2*Trident/7.0*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 9.0 Compatibility Mode" +Platform="Win8" + +[Mozilla/5.0 (compatible; MSIE 9.0; *Windows NT 6.3*Trident/7.0*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 9.0 Compatibility Mode" +Platform="Win8.1" + +[Mozilla/5.0 (compatible; MSIE 9.0; *Windows NT 6.4*Trident/7.0*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 9.0 Compatibility Mode" +Platform="Win10" + +[Mozilla/5.0 (compatible; MSIE 9.0; *Windows NT 10.0*Trident/7.0*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 9.0 Compatibility Mode" +Platform="Win10" + +[Mozilla/5.0 (compatible; MSIE 9.0; *Windows*Trident/7.0*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 9.0 Compatibility Mode" +Platform="Win32" + +[Mozilla/4.0 (compatible; MSIE 9.0; *Windows NT 6.0*Trident/7.0*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 9.0 Compatibility Mode" +Platform="WinVista" + +[Mozilla/4.0 (compatible; MSIE 9.0; *Windows NT 6.1*Trident/7.0*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 9.0 Compatibility Mode" +Platform="Win7" + +[Mozilla/4.0 (compatible; MSIE 9.0; *Windows NT 6.2*Trident/7.0*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 9.0 Compatibility Mode" +Platform="Win8" + +[Mozilla/4.0 (compatible; MSIE 9.0; *Windows NT 6.3*Trident/7.0*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 9.0 Compatibility Mode" +Platform="Win8.1" + +[Mozilla/4.0 (compatible; MSIE 9.0; *Windows NT 6.4*Trident/7.0*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 9.0 Compatibility Mode" +Platform="Win10" + +[Mozilla/4.0 (compatible; MSIE 9.0; *Windows NT 10.0*Trident/7.0*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 9.0 Compatibility Mode" +Platform="Win10" + +[Mozilla/4.0 (compatible; MSIE 9.0; *Windows*Trident/7.0*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 9.0 Compatibility Mode" +Platform="Win32" + +[Mozilla/5.0 (compatible; MSIE 10.0; *Windows NT 6.0*Trident/7.0*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 10.0 Compatibility Mode" +Platform="WinVista" + +[Mozilla/5.0 (compatible; MSIE 10.0; *Windows NT 6.1*Trident/7.0*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 10.0 Compatibility Mode" +Platform="Win7" + +[Mozilla/5.0 (compatible; MSIE 10.0; *Windows NT 6.2*Trident/7.0*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 10.0 Compatibility Mode" +Platform="Win8" + +[Mozilla/5.0 (compatible; MSIE 10.0; *Windows NT 6.3*Trident/7.0*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 10.0 Compatibility Mode" +Platform="Win8.1" + +[Mozilla/5.0 (compatible; MSIE 10.0; *Windows NT 6.4*Trident/7.0*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 10.0 Compatibility Mode" +Platform="Win10" + +[Mozilla/5.0 (compatible; MSIE 10.0; *Windows NT 10.0*Trident/7.0*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 10.0 Compatibility Mode" +Platform="Win10" + +[Mozilla/5.0 (compatible; MSIE 10.0; *Windows*Trident/7.0*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 10.0 Compatibility Mode" +Platform="Win32" + +[Mozilla/5.0 (*Windows NT 6.1*; Trident/7.0*] +Parent="IE 11.0 for Desktop" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*; Trident/7.0*] +Parent="IE 11.0 for Desktop" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*; Trident/7.0*] +Parent="IE 11.0 for Desktop" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows*; Trident/7.0*] +Parent="IE 11.0 for Desktop" +Platform="Win32" + +[Mozilla/5.0 (Windows 95; Anonymisiert*; Trident/7.0*] +Parent="IE 11.0 for Desktop" +Platform="Win8.1" + +[Mozilla/5.0; TOB* (*Windows NT 6.0*Trident/7.0*rv:11.0*] +Parent="IE 11.0 for Desktop" +Platform="WinVista" + +[Mozilla/5.0; TOB* (*Windows NT 6.1*Trident/7.0*rv:11.0*] +Parent="IE 11.0 for Desktop" +Platform="Win7" + +[Mozilla/5.0; TOB* (*Windows NT 6.2*Trident/7.0*rv:11.0*] +Parent="IE 11.0 for Desktop" +Platform="Win8" + +[Mozilla/5.0; TOB* (*Windows NT 6.3*Trident/7.0*rv:11.0*] +Parent="IE 11.0 for Desktop" +Platform="Win8.1" + +[Mozilla/5.0; TOB* (*Windows NT 6.4*Trident/7.0*rv:11.0*] +Parent="IE 11.0 for Desktop" +Platform="Win10" + +[Mozilla/5.0; TOB* (*Windows NT 10.0*Trident/7.0*rv:11.0*] +Parent="IE 11.0 for Desktop" +Platform="Win10" + +[Mozilla/5.0; TOB* (*Windows*Trident/7.0*rv:11.0*] +Parent="IE 11.0 for Desktop" +Platform="Win32" + +[Mozilla/5.0 (*Windows NT 6.2*Trident/8.0; rv:550) AppleWebKit/* (KHTML* like Gecko) Version/7.0 Safari/*] +Parent="IE 11.0 for Desktop" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*Trident/8.0; rv:550) AppleWebKit/* (KHTML* like Gecko) Version/7.0 Safari/*] +Parent="IE 11.0 for Desktop" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*Trident/8.0; rv:550) AppleWebKit/* (KHTML* like Gecko) Version/7.0 Safari/*] +Parent="IE 11.0 for Desktop" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*Trident/8.0; rv:550) AppleWebKit/* (KHTML* like Gecko) Version/7.0 Safari/*] +Parent="IE 11.0 for Desktop" +Platform="Win10" + +[Mozilla/5.0 (*Windows*Trident/8.0; rv:550) AppleWebKit/* (KHTML* like Gecko) Version/7.0 Safari/*] +Parent="IE 11.0 for Desktop" +Platform="Win32" + +[Mozilla/5.0 (*Windows NT 6.2*Trident/8.0*rv:11.0*)*] +Parent="IE 11.0 for Desktop" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*Trident/8.0*rv:11.0*)*] +Parent="IE 11.0 for Desktop" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*Trident/8.0*rv:11.0*)*] +Parent="IE 11.0 for Desktop" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*Trident/8.0*rv:11.0*)*] +Parent="IE 11.0 for Desktop" +Platform="Win10" + +[Mozilla/5.0 (*Windows*Trident/8.0*rv:11.0*)*] +Parent="IE 11.0 for Desktop" +Platform="Win32" + +[Mozilla/4.0 (compatible; MSIE 7.0; *Windows NT 6.2*Trident/8.0*)*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 7.0 Compatibility Mode" +Platform="Win8" + +[Mozilla/4.0 (compatible; MSIE 7.0; *Windows NT 6.3*Trident/8.0*)*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 7.0 Compatibility Mode" +Platform="Win8.1" + +[Mozilla/4.0 (compatible; MSIE 7.0; *Windows NT 6.4*Trident/8.0*)*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 7.0 Compatibility Mode" +Platform="Win10" + +[Mozilla/4.0 (compatible; MSIE 7.0; *Windows NT 10.0*Trident/8.0*)*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 7.0 Compatibility Mode" +Platform="Win10" + +[Mozilla/4.0 (compatible; MSIE 7.0; *Windows*Trident/8.0*)*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 7.0 Compatibility Mode" +Platform="Win32" + +[Mozilla/5.0 (compatible; MSIE 7.0; *Windows NT 6.2*Trident/8.0*)*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 7.0 Compatibility Mode" +Platform="Win8" + +[Mozilla/5.0 (compatible; MSIE 7.0; *Windows NT 6.3*Trident/8.0*)*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 7.0 Compatibility Mode" +Platform="Win8.1" + +[Mozilla/5.0 (compatible; MSIE 7.0; *Windows NT 6.4*Trident/8.0*)*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 7.0 Compatibility Mode" +Platform="Win10" + +[Mozilla/5.0 (compatible; MSIE 7.0; *Windows NT 10.0*Trident/8.0*)*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 7.0 Compatibility Mode" +Platform="Win10" + +[Mozilla/5.0 (compatible; MSIE 7.0; *Windows*Trident/8.0*)*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 7.0 Compatibility Mode" +Platform="Win32" + +[Mozilla/4.0 (compatible; MSIE 8.0; *Windows NT 6.2*Trident/8.0*)*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 8.0 Compatibility Mode" +Platform="Win8" + +[Mozilla/4.0 (compatible; MSIE 8.0; *Windows NT 6.3*Trident/8.0*)*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 8.0 Compatibility Mode" +Platform="Win8.1" + +[Mozilla/4.0 (compatible; MSIE 8.0; *Windows NT 6.4*Trident/8.0*)*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 8.0 Compatibility Mode" +Platform="Win10" + +[Mozilla/4.0 (compatible; MSIE 8.0; *Windows NT 10.0*Trident/8.0*)*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 8.0 Compatibility Mode" +Platform="Win10" + +[Mozilla/4.0 (compatible; MSIE 8.0; *Windows*Trident/8.0*)*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 8.0 Compatibility Mode" +Platform="Win32" + +[Mozilla/5.0 (compatible; MSIE 8.0; *Windows NT 6.2*Trident/8.0*)*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 8.0 Compatibility Mode" +Platform="Win8" + +[Mozilla/5.0 (compatible; MSIE 8.0; *Windows NT 6.3*Trident/8.0*)*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 8.0 Compatibility Mode" +Platform="Win8.1" + +[Mozilla/5.0 (compatible; MSIE 8.0; *Windows NT 6.4*Trident/8.0*)*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 8.0 Compatibility Mode" +Platform="Win10" + +[Mozilla/5.0 (compatible; MSIE 8.0; *Windows NT 10.0*Trident/8.0*)*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 8.0 Compatibility Mode" +Platform="Win10" + +[Mozilla/5.0 (compatible; MSIE 8.0; *Windows*Trident/8.0*)*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 8.0 Compatibility Mode" +Platform="Win32" + +[Mozilla/5.0 (compatible; MSIE 9.0; *Windows NT 6.2*Trident/8.0*)*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 9.0 Compatibility Mode" +Platform="Win8" + +[Mozilla/5.0 (compatible; MSIE 9.0; *Windows NT 6.3*Trident/8.0*)*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 9.0 Compatibility Mode" +Platform="Win8.1" + +[Mozilla/5.0 (compatible; MSIE 9.0; *Windows NT 6.4*Trident/8.0*)*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 9.0 Compatibility Mode" +Platform="Win10" + +[Mozilla/5.0 (compatible; MSIE 9.0; *Windows NT 10.0*Trident/8.0*)*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 9.0 Compatibility Mode" +Platform="Win10" + +[Mozilla/5.0 (compatible; MSIE 9.0; *Windows*Trident/8.0*)*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 9.0 Compatibility Mode" +Platform="Win32" + +[Mozilla/4.0 (compatible; MSIE 9.0; *Windows NT 6.2*Trident/8.0*)*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 9.0 Compatibility Mode" +Platform="Win8" + +[Mozilla/4.0 (compatible; MSIE 9.0; *Windows NT 6.3*Trident/8.0*)*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 9.0 Compatibility Mode" +Platform="Win8.1" + +[Mozilla/4.0 (compatible; MSIE 9.0; *Windows NT 6.4*Trident/8.0*)*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 9.0 Compatibility Mode" +Platform="Win10" + +[Mozilla/4.0 (compatible; MSIE 9.0; *Windows NT 10.0*Trident/8.0*)*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 9.0 Compatibility Mode" +Platform="Win10" + +[Mozilla/4.0 (compatible; MSIE 9.0; *Windows*Trident/8.0*)*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 9.0 Compatibility Mode" +Platform="Win32" + +[Mozilla/5.0 (compatible; MSIE 10.0; *Windows NT 6.2*Trident/8.0*)*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 10.0 Compatibility Mode" +Platform="Win8" + +[Mozilla/5.0 (compatible; MSIE 10.0; *Windows NT 6.3*Trident/8.0*)*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 10.0 Compatibility Mode" +Platform="Win8.1" + +[Mozilla/5.0 (compatible; MSIE 10.0; *Windows NT 6.4*Trident/8.0*)*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 10.0 Compatibility Mode" +Platform="Win10" + +[Mozilla/5.0 (compatible; MSIE 10.0; *Windows NT 10.0*Trident/8.0*)*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 10.0 Compatibility Mode" +Platform="Win10" + +[Mozilla/5.0 (compatible; MSIE 10.0; *Windows*Trident/8.0*)*] +Parent="IE 11.0 for Desktop" +Comment="IE 11.0 in IE 10.0 Compatibility Mode" +Platform="Win32" + +[Mozilla/5.0 (*Windows NT 6.2*; Trident/8.0*)*] +Parent="IE 11.0 for Desktop" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*; Trident/8.0*)*] +Parent="IE 11.0 for Desktop" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*; Trident/8.0*)*] +Parent="IE 11.0 for Desktop" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*; Trident/8.0*)*] +Parent="IE 11.0 for Desktop" +Platform="Win10" + +[Mozilla/5.0 (*Windows*; Trident/8.0*)*] +Parent="IE 11.0 for Desktop" +Platform="Win32" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; IE 10.0 + +[IE 10.0 for Win RT] +Parent="DefaultProperties" +Comment="IE 10.0" +Browser="IE" +Version="10.0" +isMobileDevice="true" +isTablet="true" +Device_Type="Tablet" + +[IE 10.0 for Tablet] +Parent="DefaultProperties" +Comment="IE 10.0" +Browser="IE" +Version="10.0" +isMobileDevice="true" +isTablet="true" +Device_Type="Tablet" + +[Mozilla/5.0 (compatible; MSIE 10.0*Windows NT 6.2*Trident/6.0*Touch*)*] +Parent="IE 10.0 for Tablet" +Platform="Win8" + +[Mozilla/5.0 (compatible; MSIE 10.0*Windows NT 6.3*Trident/6.0*Touch*)*] +Parent="IE 10.0 for Tablet" +Platform="Win8.1" + +[Mozilla/5.0 (compatible; MSIE 10.0*Windows NT 6.4*Trident/6.0*Touch*)*] +Parent="IE 10.0 for Tablet" +Platform="Win10" + +[Mozilla/5.0 (compatible; MSIE 10.0*Windows NT 10.0*Trident/6.0*Touch*)*] +Parent="IE 10.0 for Tablet" +Platform="Win10" + +[Mozilla/5.0 (compatible; MSIE 10.0*Windows*Trident/6.0*Touch*)*] +Parent="IE 10.0 for Tablet" +Platform="Win32" + +[IE 10.0 for Desktop] +Parent="DefaultProperties" +Comment="IE 10.0" +Browser="IE" +Version="10.0" +Device_Type="Desktop" + +[Mozilla/5.0 (compatible; MSIE 10.0*Windows NT 6.2*Trident/6.0*Xbox; Xbox One*)*] +Parent="IE 10.0 for Desktop" +Platform="Win8" +Device_Type="TV Device" + +[Mozilla/5.0 (compatible; MSIE 10.0*Windows NT 6.3*Trident/6.0*Xbox; Xbox One*)*] +Parent="IE 10.0 for Desktop" +Platform="Win8.1" +Device_Type="TV Device" + +[Mozilla/5.0 (compatible; MSIE 10.0*Windows*Trident/6.0*Xbox; Xbox One*)*] +Parent="IE 10.0 for Desktop" +Platform="Win32" +Device_Type="TV Device" + +[Mozilla/5.0 (compatible; MSIE 10.0*Windows NT 6.0*Trident/6.0*)*] +Parent="IE 10.0 for Desktop" +Platform="WinVista" + +[Mozilla/5.0 (compatible; MSIE 10.0*Windows NT 6.1*Trident/6.0*)*] +Parent="IE 10.0 for Desktop" +Platform="Win7" + +[Mozilla/5.0 (compatible; MSIE 10.0*Windows NT 6.2*Trident/6.0*)*] +Parent="IE 10.0 for Desktop" +Platform="Win8" + +[Mozilla/5.0 (compatible; MSIE 10.0*Windows NT 6.3*Trident/6.0*)*] +Parent="IE 10.0 for Desktop" +Platform="Win8.1" + +[Mozilla/5.0 (compatible; MSIE 10.0*Windows*Trident/6.0*)*] +Parent="IE 10.0 for Desktop" +Platform="Win32" + +[Mozilla/5.0 (compatible; MSIE 9.*Windows NT 6.0*Trident/6.0*)*] +Parent="IE 10.0 for Desktop" +Comment="IE 10.0 in IE 9.0 Compatibility Mode" +Platform="WinVista" + +[Mozilla/5.0 (compatible; MSIE 9.*Windows NT 6.1*Trident/6.0*)*] +Parent="IE 10.0 for Desktop" +Comment="IE 10.0 in IE 9.0 Compatibility Mode" +Platform="Win7" + +[Mozilla/5.0 (compatible; MSIE 9.*Windows NT 6.2*Trident/6.0*)*] +Parent="IE 10.0 for Desktop" +Comment="IE 10.0 in IE 9.0 Compatibility Mode" +Platform="Win8" + +[Mozilla/5.0 (compatible; MSIE 9.*Windows NT 6.3*Trident/6.0*)*] +Parent="IE 10.0 for Desktop" +Comment="IE 10.0 in IE 9.0 Compatibility Mode" +Platform="Win8.1" + +[Mozilla/5.0 (compatible; MSIE 9.*Windows*Trident/6.0*)*] +Parent="IE 10.0 for Desktop" +Comment="IE 10.0 in IE 9.0 Compatibility Mode" +Platform="Win32" + +[Mozilla/4.0 (compatible; MSIE 9.*Windows NT 6.0*Trident/6.0*)*] +Parent="IE 10.0 for Desktop" +Comment="IE 10.0 in IE 9.0 Compatibility Mode" +Platform="WinVista" + +[Mozilla/4.0 (compatible; MSIE 9.*Windows NT 6.1*Trident/6.0*)*] +Parent="IE 10.0 for Desktop" +Comment="IE 10.0 in IE 9.0 Compatibility Mode" +Platform="Win7" + +[Mozilla/4.0 (compatible; MSIE 9.*Windows NT 6.2*Trident/6.0*)*] +Parent="IE 10.0 for Desktop" +Comment="IE 10.0 in IE 9.0 Compatibility Mode" +Platform="Win8" + +[Mozilla/4.0 (compatible; MSIE 9.*Windows NT 6.3*Trident/6.0*)*] +Parent="IE 10.0 for Desktop" +Comment="IE 10.0 in IE 9.0 Compatibility Mode" +Platform="Win8.1" + +[Mozilla/4.0 (compatible; MSIE 9.*Windows*Trident/6.0*)*] +Parent="IE 10.0 for Desktop" +Comment="IE 10.0 in IE 9.0 Compatibility Mode" +Platform="Win32" + +[Mozilla/4.0 (compatible; MSIE 8.*Windows NT 6.0*Trident/6.0*)*] +Parent="IE 10.0 for Desktop" +Comment="IE 10.0 in IE 8.0 Compatibility Mode" +Platform="WinVista" + +[Mozilla/4.0 (compatible; MSIE 8.*Windows NT 6.1*Trident/6.0*)*] +Parent="IE 10.0 for Desktop" +Comment="IE 10.0 in IE 8.0 Compatibility Mode" +Platform="Win7" + +[Mozilla/4.0 (compatible; MSIE 8.*Windows NT 6.2*Trident/6.0*)*] +Parent="IE 10.0 for Desktop" +Comment="IE 10.0 in IE 8.0 Compatibility Mode" +Platform="Win8" + +[Mozilla/4.0 (compatible; MSIE 8.*Windows NT 6.3*Trident/6.0*)*] +Parent="IE 10.0 for Desktop" +Comment="IE 10.0 in IE 8.0 Compatibility Mode" +Platform="Win8.1" + +[Mozilla/4.0 (compatible; MSIE 8.*Windows*Trident/6.0*)*] +Parent="IE 10.0 for Desktop" +Comment="IE 10.0 in IE 8.0 Compatibility Mode" +Platform="Win32" + +[Mozilla/5.0 (compatible; MSIE 8.*Windows NT 6.0*Trident/6.0*)*] +Parent="IE 10.0 for Desktop" +Comment="IE 10.0 in IE 8.0 Compatibility Mode" +Platform="WinVista" + +[Mozilla/5.0 (compatible; MSIE 8.*Windows NT 6.1*Trident/6.0*)*] +Parent="IE 10.0 for Desktop" +Comment="IE 10.0 in IE 8.0 Compatibility Mode" +Platform="Win7" + +[Mozilla/5.0 (compatible; MSIE 8.*Windows NT 6.2*Trident/6.0*)*] +Parent="IE 10.0 for Desktop" +Comment="IE 10.0 in IE 8.0 Compatibility Mode" +Platform="Win8" + +[Mozilla/5.0 (compatible; MSIE 8.*Windows NT 6.3*Trident/6.0*)*] +Parent="IE 10.0 for Desktop" +Comment="IE 10.0 in IE 8.0 Compatibility Mode" +Platform="Win8.1" + +[Mozilla/5.0 (compatible; MSIE 8.*Windows*Trident/6.0*)*] +Parent="IE 10.0 for Desktop" +Comment="IE 10.0 in IE 8.0 Compatibility Mode" +Platform="Win32" + +[Mozilla/4.0 (compatible; MSIE 7.*Windows NT 6.0*Trident/6.0*)*] +Parent="IE 10.0 for Desktop" +Comment="IE 10.0 in IE 7.0 Compatibility Mode" +Platform="WinVista" + +[Mozilla/4.0 (compatible; MSIE 7.*Windows NT 6.1*Trident/6.0*)*] +Parent="IE 10.0 for Desktop" +Comment="IE 10.0 in IE 7.0 Compatibility Mode" +Platform="Win7" + +[Mozilla/4.0 (compatible; MSIE 7.*Windows NT 6.2*Trident/6.0*)*] +Parent="IE 10.0 for Desktop" +Comment="IE 10.0 in IE 7.0 Compatibility Mode" +Platform="Win8" + +[Mozilla/4.0 (compatible; MSIE 7.*Windows NT 6.3*Trident/6.0*)*] +Parent="IE 10.0 for Desktop" +Comment="IE 10.0 in IE 7.0 Compatibility Mode" +Platform="Win8.1" + +[Mozilla/4.0 (compatible; MSIE 7.*Windows*Trident/6.0*)*] +Parent="IE 10.0 for Desktop" +Comment="IE 10.0 in IE 7.0 Compatibility Mode" +Platform="Win32" + +[Mozilla/5.0 (compatible; MSIE 7.*Windows NT 6.0*Trident/6.0*)*] +Parent="IE 10.0 for Desktop" +Comment="IE 10.0 in IE 7.0 Compatibility Mode" +Platform="WinVista" + +[Mozilla/5.0 (compatible; MSIE 7.*Windows NT 6.1*Trident/6.0*)*] +Parent="IE 10.0 for Desktop" +Comment="IE 10.0 in IE 7.0 Compatibility Mode" +Platform="Win7" + +[Mozilla/5.0 (compatible; MSIE 7.*Windows NT 6.2*Trident/6.0*)*] +Parent="IE 10.0 for Desktop" +Comment="IE 10.0 in IE 7.0 Compatibility Mode" +Platform="Win8" + +[Mozilla/5.0 (compatible; MSIE 7.*Windows NT 6.3*Trident/6.0*)*] +Parent="IE 10.0 for Desktop" +Comment="IE 10.0 in IE 7.0 Compatibility Mode" +Platform="Win8.1" + +[Mozilla/5.0 (compatible; MSIE 7.*Windows*Trident/6.0*)*] +Parent="IE 10.0 for Desktop" +Comment="IE 10.0 in IE 7.0 Compatibility Mode" +Platform="Win32" + +[Mozilla/4.0 (*MSIE 7.*Trident/6.0*)*] +Parent="IE 10.0 for Desktop" +Comment="IE 10.0 in IE 7.0 Compatibility Mode" +Platform="Win32" + +[Mozilla/5.0 (*MSIE 7.*Trident/6.0*)*] +Parent="IE 10.0 for Desktop" +Comment="IE 10.0 in IE 7.0 Compatibility Mode" +Platform="Win32" + +[Mozilla/5.0 (compatible; MSIE 10.0; Windows 95; Anonymisiert*Trident/6.0*)*] +Parent="IE 10.0 for Desktop" +Platform="Win8" + +[Mozilla/5.0 (compatible; MSIE 10.0*; *Windows NT 6.2*Trident/6.0; Xbox; Xbox One*] +Parent="IE 10.0 for Desktop" +Platform="Win8" +Device_Type="TV Device" + +[Mozilla/5.0 (compatible; MSIE 10.0*; *Windows*Trident/6.0; Xbox; Xbox One*] +Parent="IE 10.0 for Desktop" +Platform="Win32" +Device_Type="TV Device" + +[Mozilla/5.0 (compatible; MSIE 10.0*; *Windows NT 6.2*Trident/8.0*] +Parent="IE 10.0 for Desktop" +Platform="Win8" + +[Mozilla/5.0 (compatible; MSIE 10.0*; *Windows NT 6.3*Trident/8.0*] +Parent="IE 10.0 for Desktop" +Platform="Win8.1" + +[Mozilla/5.0 (compatible; MSIE 10.0*; *Windows NT 6.4*Trident/8.0*] +Parent="IE 10.0 for Desktop" +Platform="Win10" + +[Mozilla/5.0 (compatible; MSIE 10.0*; *Windows NT 10.0*Trident/8.0*] +Parent="IE 10.0 for Desktop" +Platform="Win10" + +[Mozilla/5.0 (compatible; MSIE 10.0*; Trident/6.0; *Windows NT 6.1*] +Parent="IE 10.0 for Desktop" +Platform="Win7" + +[Mozilla/5.0 (compatible; MSIE 10.0*; Trident/6.0; *Windows*] +Parent="IE 10.0 for Desktop" +Platform="Win32" + +[Mozilla/5.0 (compatible; MSIE 10.0*; *Windows NT 6.0*] +Parent="IE 10.0 for Desktop" +Platform="WinVista" + +[Mozilla/5.0 (compatible; MSIE 10.0*; *Windows NT 6.1*] +Parent="IE 10.0 for Desktop" +Platform="Win7" + +[Mozilla/5.0 (compatible; MSIE 10.0*; *Windows NT 6.2*] +Parent="IE 10.0 for Desktop" +Platform="Win8" + +[Mozilla/5.0 (compatible; MSIE 10.0*; *Windows*] +Parent="IE 10.0 for Desktop" +Platform="Win32" + +[Mozilla/4.0 (compatible; MSIE 10.0*; *Windows NT 6.0*] +Parent="IE 10.0 for Desktop" +Platform="WinVista" + +[Mozilla/4.0 (compatible; MSIE 10.0*; *Windows NT 6.1*] +Parent="IE 10.0 for Desktop" +Platform="Win7" + +[Mozilla/4.0 (compatible; MSIE 10.0*; *Windows NT 6.2*] +Parent="IE 10.0 for Desktop" +Platform="Win8" + +[Mozilla/4.0 (compatible; MSIE 10.0*; *Windows*] +Parent="IE 10.0 for Desktop" +Platform="Win32" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; IE 9.0 + +[IE 9.0] +Parent="DefaultProperties" +Comment="IE 9.0" +Browser="IE" +Version="9.0" +Device_Type="Desktop" + +[Mozilla/4.0 (compatible; MSIE 9.0*; *Windows NT 6.0*Trident/5.0*] +Parent="IE 9.0" +Platform="WinVista" + +[Mozilla/4.0 (compatible; MSIE 9.0*; *Windows NT 6.1*Trident/5.0*] +Parent="IE 9.0" +Platform="Win7" + +[Mozilla/4.0 (compatible; MSIE 9.0*; *Windows NT 6.2*Trident/5.0*] +Parent="IE 9.0" +Platform="Win8" + +[Mozilla/4.0 (compatible; MSIE 9.0*; *Windows*Trident/5.0*] +Parent="IE 9.0" +Platform="Win32" + +[Mozilla/5.0 (compatible; MSIE 9.0*; *Windows NT 6.0*Trident/5.0; Xbox*] +Parent="IE 9.0" +Platform="WinVista" +Device_Type="TV Device" + +[Mozilla/5.0 (compatible; MSIE 9.0*; *Windows NT 6.1*Trident/5.0; Xbox*] +Parent="IE 9.0" +Platform="Win7" +Device_Type="TV Device" + +[Mozilla/5.0 (compatible; MSIE 9.0*; *Windows NT 6.2*Trident/5.0; Xbox*] +Parent="IE 9.0" +Platform="Win8" +Device_Type="TV Device" + +[Mozilla/5.0 (compatible; MSIE 9.0*; *Windows*Trident/5.0; Xbox*] +Parent="IE 9.0" +Platform="Win32" +Device_Type="TV Device" + +[Mozilla/5.0 (compatible; MSIE 9.0*; *Windows NT 6.0*Trident/5.0*] +Parent="IE 9.0" +Platform="WinVista" + +[Mozilla/5.0 (compatible; MSIE 9.0*; *Windows NT 6.1*Trident/5.0*] +Parent="IE 9.0" +Platform="Win7" + +[Mozilla/5.0 (compatible; MSIE 9.0*; *Windows NT 6.2*Trident/5.0*] +Parent="IE 9.0" +Platform="Win8" + +[Mozilla/5.0 (compatible; MSIE 9.0*; *Windows*Trident/5.0*] +Parent="IE 9.0" +Platform="Win32" + +[Mozilla/4.0 (compatible; MSIE 7.0; *Windows NT 6.0*Trident/5.0*)*] +Parent="IE 9.0" +Comment="IE 9.0 in IE 7.0 Compatibility Mode" +Platform="WinVista" + +[Mozilla/4.0 (compatible; MSIE 7.0; *Windows NT 6.1*Trident/5.0*)*] +Parent="IE 9.0" +Comment="IE 9.0 in IE 7.0 Compatibility Mode" +Platform="Win7" + +[Mozilla/4.0 (compatible; MSIE 7.0; *Windows NT 6.2*Trident/5.0*)*] +Parent="IE 9.0" +Comment="IE 9.0 in IE 7.0 Compatibility Mode" +Platform="Win8" + +[Mozilla/4.0 (compatible; MSIE 7.0; *Windows*Trident/5.0*)*] +Parent="IE 9.0" +Comment="IE 9.0 in IE 7.0 Compatibility Mode" +Platform="Win32" + +[Mozilla/5.0 (compatible; MSIE 7.0; *Windows NT 6.0*Trident/5.0*)*] +Parent="IE 9.0" +Comment="IE 9.0 in IE 7.0 Compatibility Mode" +Platform="WinVista" + +[Mozilla/5.0 (compatible; MSIE 7.0; *Windows NT 6.1*Trident/5.0*)*] +Parent="IE 9.0" +Comment="IE 9.0 in IE 7.0 Compatibility Mode" +Platform="Win7" + +[Mozilla/5.0 (compatible; MSIE 7.0; *Windows NT 6.2*Trident/5.0*)*] +Parent="IE 9.0" +Comment="IE 9.0 in IE 7.0 Compatibility Mode" +Platform="Win8" + +[Mozilla/5.0 (compatible; MSIE 7.0; *Windows*Trident/5.0*)*] +Parent="IE 9.0" +Comment="IE 9.0 in IE 7.0 Compatibility Mode" +Platform="Win32" + +[Mozilla/4.0 (compatible; MSIE 8.0; *Windows NT 6.0*Trident/5.0*)*] +Parent="IE 9.0" +Comment="IE 9.0 in IE 8.0 Compatibility Mode" +Platform="WinVista" + +[Mozilla/4.0 (compatible; MSIE 8.0; *Windows NT 6.1*Trident/5.0*)*] +Parent="IE 9.0" +Comment="IE 9.0 in IE 8.0 Compatibility Mode" +Platform="Win7" + +[Mozilla/4.0 (compatible; MSIE 8.0; *Windows NT 6.2*Trident/5.0*)*] +Parent="IE 9.0" +Comment="IE 9.0 in IE 8.0 Compatibility Mode" +Platform="Win8" + +[Mozilla/4.0 (compatible; MSIE 8.0; *Windows*Trident/5.0*)*] +Parent="IE 9.0" +Comment="IE 9.0 in IE 8.0 Compatibility Mode" +Platform="Win32" + +[Mozilla/5.0 (compatible; MSIE 8.0; *Windows NT 6.0*Trident/5.0*)*] +Parent="IE 9.0" +Comment="IE 9.0 in IE 8.0 Compatibility Mode" +Platform="WinVista" + +[Mozilla/5.0 (compatible; MSIE 8.0; *Windows NT 6.1*Trident/5.0*)*] +Parent="IE 9.0" +Comment="IE 9.0 in IE 8.0 Compatibility Mode" +Platform="Win7" + +[Mozilla/5.0 (compatible; MSIE 8.0; *Windows NT 6.2*Trident/5.0*)*] +Parent="IE 9.0" +Comment="IE 9.0 in IE 8.0 Compatibility Mode" +Platform="Win8" + +[Mozilla/5.0 (compatible; MSIE 8.0; *Windows*Trident/5.0*)*] +Parent="IE 9.0" +Comment="IE 9.0 in IE 8.0 Compatibility Mode" +Platform="Win32" + +[Mozilla/4.0 (*MSIE 9.0*; *Windows NT 6.0*Trident/5.0*)*] +Parent="IE 9.0" +Platform="WinVista" + +[Mozilla/4.0 (*MSIE 9.0*; *Windows NT 6.1*Trident/5.0*)*] +Parent="IE 9.0" +Platform="Win7" + +[Mozilla/4.0 (*MSIE 9.0*; *Windows NT 6.2*Trident/5.0*)*] +Parent="IE 9.0" +Platform="Win8" + +[Mozilla/4.0 (*MSIE 9.0*; *Windows*Trident/5.0*)*] +Parent="IE 9.0" +Platform="Win32" + +[Mozilla/5.0 (*MSIE 9.0*; *Windows NT 6.0*Trident/5.0*)*] +Parent="IE 9.0" +Platform="WinVista" + +[Mozilla/5.0 (*MSIE 9.0*; *Windows NT 6.1*Trident/5.0*)*] +Parent="IE 9.0" +Platform="Win7" + +[Mozilla/5.0 (*MSIE 9.0*; *Windows NT 6.2*Trident/5.0*)*] +Parent="IE 9.0" +Platform="Win8" + +[Mozilla/5.0 (*MSIE 9.0*; *Windows*Trident/5.0*)*] +Parent="IE 9.0" +Platform="Win32" + +[Mozilla/5.0 (compatible; MSIE 9.0*; *Windows NT 6.0*] +Parent="IE 9.0" +Platform="WinVista" + +[Mozilla/5.0 (compatible; MSIE 9.0*; *Windows NT 6.1*] +Parent="IE 9.0" +Platform="Win7" + +[Mozilla/5.0 (compatible; MSIE 9.0*; *Windows NT 6.2*] +Parent="IE 9.0" +Platform="Win8" + +[Mozilla/5.0 (compatible; MSIE 9.0*; *Windows*] +Parent="IE 9.0" +Platform="Win32" + +[Mozilla/4.0 (compatible; MSIE 9.0*; *Windows NT 6.0*] +Parent="IE 9.0" +Platform="WinVista" + +[Mozilla/4.0 (compatible; MSIE 9.0*; *Windows NT 6.1*] +Parent="IE 9.0" +Platform="Win7" + +[Mozilla/4.0 (compatible; MSIE 9.0*; *Windows NT 6.2*] +Parent="IE 9.0" +Platform="Win8" + +[Mozilla/4.0 (compatible; MSIE 9.0*; *Windows*] +Parent="IE 9.0" +Platform="Win32" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; IE 8.0 + +[IE 8.0] +Parent="DefaultProperties" +Comment="IE 8.0" +Browser="IE" +Version="8.0" +Device_Type="Desktop" + +[Mozilla/4.0 (compatible*; MSIE 7.0; *Windows NT 6.0*Trident/4.0*Mozilla/4.0 (compatible*; MSIE 6.0*] +Parent="IE 8.0" +Comment="IE 8.0 in IE 7.0 Compatibility Mode" +Platform="WinVista" + +[Mozilla/4.0 (compatible*; MSIE 7.0; *Windows NT 6.1*Trident/4.0*Mozilla/4.0 (compatible*; MSIE 6.0*] +Parent="IE 8.0" +Comment="IE 8.0 in IE 7.0 Compatibility Mode" +Platform="Win7" + +[Mozilla/4.0 (compatible*; MSIE 7.0; *Windows NT 6.2*Trident/4.0*Mozilla/4.0 (compatible*; MSIE 6.0*] +Parent="IE 8.0" +Comment="IE 8.0 in IE 7.0 Compatibility Mode" +Platform="Win8" + +[Mozilla/4.0 (compatible*; MSIE 7.0; *Windows*Trident/4.0*Mozilla/4.0 (compatible*; MSIE 6.0*] +Parent="IE 8.0" +Comment="IE 8.0 in IE 7.0 Compatibility Mode" +Platform="Win32" + +[Mozilla/5.0 (compatible; MSIE 7.0; *Windows NT 6.0*Trident/4.0*Mozilla/4.0 (compatible; MSIE 6.0*] +Parent="IE 8.0" +Comment="IE 8.0 in IE 7.0 Compatibility Mode" +Platform="WinVista" + +[Mozilla/5.0 (compatible; MSIE 7.0; *Windows NT 6.1*Trident/4.0*Mozilla/4.0 (compatible; MSIE 6.0*] +Parent="IE 8.0" +Comment="IE 8.0 in IE 7.0 Compatibility Mode" +Platform="Win7" + +[Mozilla/5.0 (compatible; MSIE 7.0; *Windows NT 6.2*Trident/4.0*Mozilla/4.0 (compatible; MSIE 6.0*] +Parent="IE 8.0" +Comment="IE 8.0 in IE 7.0 Compatibility Mode" +Platform="Win8" + +[Mozilla/5.0 (compatible; MSIE 7.0; *Windows*Trident/4.0*Mozilla/4.0 (compatible; MSIE 6.0*] +Parent="IE 8.0" +Comment="IE 8.0 in IE 7.0 Compatibility Mode" +Platform="Win32" + +[Mozilla/4.0 (compatible; MSIE 8.0*; *Windows NT 6.0*] +Parent="IE 8.0" +Platform="WinVista" + +[Mozilla/4.0 (compatible; MSIE 8.0*; *Windows NT 6.1*] +Parent="IE 8.0" +Platform="Win7" + +[Mozilla/4.0 (compatible; MSIE 8.0*; *Windows NT 6.2*] +Parent="IE 8.0" +Platform="Win8" + +[Mozilla/4.0 (compatible; MSIE 8.0*; *Windows*] +Parent="IE 8.0" +Platform="Win32" + +[Mozilla/5.0 (compatible; MSIE 8.0*; *Windows NT 6.0*] +Parent="IE 8.0" +Platform="WinVista" + +[Mozilla/5.0 (compatible; MSIE 8.0*; *Windows NT 6.1*] +Parent="IE 8.0" +Platform="Win7" + +[Mozilla/5.0 (compatible; MSIE 8.0*; *Windows NT 6.2*] +Parent="IE 8.0" +Platform="Win8" + +[Mozilla/5.0 (compatible; MSIE 8.0*; *Windows*] +Parent="IE 8.0" +Platform="Win32" + +[Mozilla/4.0 (compatible; MSIE 8.0*; *Windows NT 6.0*Trident/4.0*] +Parent="IE 8.0" +Platform="WinVista" + +[Mozilla/4.0 (compatible; MSIE 8.0*; *Windows NT 6.1*Trident/4.0*] +Parent="IE 8.0" +Platform="Win7" + +[Mozilla/4.0 (compatible; MSIE 8.0*; *Windows NT 6.2*Trident/4.0*] +Parent="IE 8.0" +Platform="Win8" + +[Mozilla/4.0 (compatible; MSIE 8.0*; *Windows*Trident/4.0*] +Parent="IE 8.0" +Platform="Win32" + +[Mozilla/5.0 (compatible; MSIE 8.0*; *Windows NT 6.0*Trident/4.0*] +Parent="IE 8.0" +Platform="WinVista" + +[Mozilla/5.0 (compatible; MSIE 8.0*; *Windows NT 6.1*Trident/4.0*] +Parent="IE 8.0" +Platform="Win7" + +[Mozilla/5.0 (compatible; MSIE 8.0*; *Windows NT 6.2*Trident/4.0*] +Parent="IE 8.0" +Platform="Win8" + +[Mozilla/5.0 (compatible; MSIE 8.0*; *Windows*Trident/4.0*] +Parent="IE 8.0" +Platform="Win32" + +[Mozilla/4.0 (compatible; MSIE 7.0; *Windows NT 6.0*Trident/4.0*] +Parent="IE 8.0" +Comment="IE 8.0 in IE 7.0 Compatibility Mode" +Platform="WinVista" + +[Mozilla/4.0 (compatible; MSIE 7.0; *Windows NT 6.1*Trident/4.0*] +Parent="IE 8.0" +Comment="IE 8.0 in IE 7.0 Compatibility Mode" +Platform="Win7" + +[Mozilla/4.0 (compatible; MSIE 7.0; *Windows NT 6.2*Trident/4.0*] +Parent="IE 8.0" +Comment="IE 8.0 in IE 7.0 Compatibility Mode" +Platform="Win8" + +[Mozilla/4.0 (compatible; MSIE 7.0; *Windows*Trident/4.0*] +Parent="IE 8.0" +Comment="IE 8.0 in IE 7.0 Compatibility Mode" +Platform="Win32" + +[Mozilla/5.0 (compatible; MSIE 7.0; *Windows NT 6.0*Trident/4.0*] +Parent="IE 8.0" +Comment="IE 8.0 in IE 7.0 Compatibility Mode" +Platform="WinVista" + +[Mozilla/5.0 (compatible; MSIE 7.0; *Windows NT 6.1*Trident/4.0*] +Parent="IE 8.0" +Comment="IE 8.0 in IE 7.0 Compatibility Mode" +Platform="Win7" + +[Mozilla/5.0 (compatible; MSIE 7.0; *Windows NT 6.2*Trident/4.0*] +Parent="IE 8.0" +Comment="IE 8.0 in IE 7.0 Compatibility Mode" +Platform="Win8" + +[Mozilla/5.0 (compatible; MSIE 7.0; *Windows*Trident/4.0*] +Parent="IE 8.0" +Comment="IE 8.0 in IE 7.0 Compatibility Mode" +Platform="Win32" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; IE 7.0b + +[IE 7.0b] +Parent="DefaultProperties" +Comment="IE 7.0b" +Browser="IE" +Version="7.0b" +Device_Type="Desktop" + +[Mozilla/4.0 (compatible*; MSIE 7.0b*; *Windows NT 6.0*Mozilla/4.0 (compatible*; MSIE 6.0*] +Parent="IE 7.0b" +Platform="WinVista" + +[Mozilla/4.0 (compatible*; MSIE 7.0b*; *Windows NT 6.1*Mozilla/4.0 (compatible*; MSIE 6.0*] +Parent="IE 7.0b" +Platform="Win7" + +[Mozilla/4.0 (compatible*; MSIE 7.0b*; *Windows NT 6.2*Mozilla/4.0 (compatible*; MSIE 6.0*] +Parent="IE 7.0b" +Platform="Win8" + +[Mozilla/4.0 (compatible*; MSIE 7.0b*; *Windows*Mozilla/4.0 (compatible*; MSIE 6.0*] +Parent="IE 7.0b" +Platform="Win32" + +[Mozilla/5.0 (compatible; MSIE 7.0b*; *Windows NT 6.0*Mozilla/4.0 (compatible; MSIE 6.0*] +Parent="IE 7.0b" +Platform="WinVista" + +[Mozilla/5.0 (compatible; MSIE 7.0b*; *Windows NT 6.1*Mozilla/4.0 (compatible; MSIE 6.0*] +Parent="IE 7.0b" +Platform="Win7" + +[Mozilla/5.0 (compatible; MSIE 7.0b*; *Windows NT 6.2*Mozilla/4.0 (compatible; MSIE 6.0*] +Parent="IE 7.0b" +Platform="Win8" + +[Mozilla/5.0 (compatible; MSIE 7.0b*; *Windows*Mozilla/4.0 (compatible; MSIE 6.0*] +Parent="IE 7.0b" +Platform="Win32" + +[Mozilla/4.0 (compatible*; MSIE 7.0b*; *Windows NT 6.0*] +Parent="IE 7.0b" +Platform="WinVista" + +[Mozilla/4.0 (compatible*; MSIE 7.0b*; *Windows NT 6.1*] +Parent="IE 7.0b" +Platform="Win7" + +[Mozilla/4.0 (compatible*; MSIE 7.0b*; *Windows NT 6.2*] +Parent="IE 7.0b" +Platform="Win8" + +[Mozilla/4.0 (compatible*; MSIE 7.0b*; *Windows*] +Parent="IE 7.0b" +Platform="Win32" + +[Mozilla/5.0 (compatible; MSIE 7.0b*; *Windows NT 6.0*] +Parent="IE 7.0b" +Platform="WinVista" + +[Mozilla/5.0 (compatible; MSIE 7.0b*; *Windows NT 6.1*] +Parent="IE 7.0b" +Platform="Win7" + +[Mozilla/5.0 (compatible; MSIE 7.0b*; *Windows NT 6.2*] +Parent="IE 7.0b" +Platform="Win8" + +[Mozilla/5.0 (compatible; MSIE 7.0b*; *Windows*] +Parent="IE 7.0b" +Platform="Win32" + +[Mozilla/4.0 (*MSIE 7.0b*] +Parent="IE 7.0b" + +[Mozilla/5.0 (*MSIE 7.0b*] +Parent="IE 7.0b" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; IE 7.0 + +[IE 7.0] +Parent="DefaultProperties" +Comment="IE 7.0" +Browser="IE" +Version="7.0" +Device_Type="Desktop" + +[Mozilla/4.0 (compatible*; MSIE 7.0*; *Windows NT 6.0*Mozilla/4.0 (compatible*; MSIE 6.0*] +Parent="IE 7.0" +Platform="WinVista" + +[Mozilla/4.0 (compatible*; MSIE 7.0*; *Windows NT 6.1*Mozilla/4.0 (compatible*; MSIE 6.0*] +Parent="IE 7.0" +Platform="Win7" + +[Mozilla/4.0 (compatible*; MSIE 7.0*; *Windows NT 6.2*Mozilla/4.0 (compatible*; MSIE 6.0*] +Parent="IE 7.0" +Platform="Win8" + +[Mozilla/4.0 (compatible*; MSIE 7.0*; *Windows*Mozilla/4.0 (compatible*; MSIE 6.0*] +Parent="IE 7.0" +Platform="Win32" + +[Mozilla/5.0 (compatible; MSIE 7.0*; *Windows NT 6.0*Mozilla/4.0 (compatible; MSIE 6.0*] +Parent="IE 7.0" +Platform="WinVista" + +[Mozilla/5.0 (compatible; MSIE 7.0*; *Windows NT 6.1*Mozilla/4.0 (compatible; MSIE 6.0*] +Parent="IE 7.0" +Platform="Win7" + +[Mozilla/5.0 (compatible; MSIE 7.0*; *Windows NT 6.2*Mozilla/4.0 (compatible; MSIE 6.0*] +Parent="IE 7.0" +Platform="Win8" + +[Mozilla/5.0 (compatible; MSIE 7.0*; *Windows*Mozilla/4.0 (compatible; MSIE 6.0*] +Parent="IE 7.0" +Platform="Win32" + +[Mozilla/4.0 (compatible*; MSIE 7.0*; *Windows NT 6.0*] +Parent="IE 7.0" +Platform="WinVista" + +[Mozilla/4.0 (compatible*; MSIE 7.0*; *Windows NT 6.1*] +Parent="IE 7.0" +Platform="Win7" + +[Mozilla/4.0 (compatible*; MSIE 7.0*; *Windows NT 6.2*] +Parent="IE 7.0" +Platform="Win8" + +[Mozilla/4.0 (compatible*; MSIE 7.0*; *Windows*] +Parent="IE 7.0" +Platform="Win32" + +[Mozilla/5.0 (compatible; MSIE 7.0*; *Windows NT 6.0*] +Parent="IE 7.0" +Platform="WinVista" + +[Mozilla/5.0 (compatible; MSIE 7.0*; *Windows NT 6.1*] +Parent="IE 7.0" +Platform="Win7" + +[Mozilla/5.0 (compatible; MSIE 7.0*; *Windows NT 6.2*] +Parent="IE 7.0" +Platform="Win8" + +[Mozilla/5.0 (compatible; MSIE 7.0*; *Windows*] +Parent="IE 7.0" +Platform="Win32" + +[Mozilla/4.0 (*MSIE 7.0*] +Parent="IE 7.0" + +[Mozilla/5.0 (*MSIE 7.0*] +Parent="IE 7.0" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; IE 6.0 + +[IE 6.0 for Mobile] +Parent="DefaultProperties" +Comment="IE 6.0" +Browser="IE" +Version="6.0" +isMobileDevice="true" +Device_Type="Mobile Phone" + +[IE 6.0 for Desktop] +Parent="DefaultProperties" +Comment="IE 6.0" +Browser="IE" +Version="6.0" +Device_Type="Desktop" + +[Mozilla/4.0 (compatible; MSIE 6.0*; *Windows NT 6.0*] +Parent="IE 6.0 for Desktop" +Platform="WinVista" + +[Mozilla/4.0 (compatible; MSIE 6.0*; *Windows NT 6.1*] +Parent="IE 6.0 for Desktop" +Platform="Win7" + +[Mozilla/4.0 (compatible; MSIE 6.0*; *Windows NT 6.2*] +Parent="IE 6.0 for Desktop" +Platform="Win8" + +[Mozilla/4.0 (compatible; MSIE 6.0*; *Windows*] +Parent="IE 6.0 for Desktop" +Platform="Win32" + +[Mozilla/5.0 (compatible; MSIE 6.0*; *Windows NT 6.0*] +Parent="IE 6.0 for Desktop" +Platform="WinVista" + +[Mozilla/5.0 (compatible; MSIE 6.0*; *Windows NT 6.1*] +Parent="IE 6.0 for Desktop" +Platform="Win7" + +[Mozilla/5.0 (compatible; MSIE 6.0*; *Windows NT 6.2*] +Parent="IE 6.0 for Desktop" +Platform="Win8" + +[Mozilla/5.0 (compatible; MSIE 6.0*; *Windows*] +Parent="IE 6.0 for Desktop" +Platform="Win32" + +[Mozilla/4.0 (*MSIE 6.0*)*] +Parent="IE 6.0 for Desktop" + +[Mozilla/5.0 (*MSIE 6.0*)*] +Parent="IE 6.0 for Desktop" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Firefox 50.0 + +[Firefox 50.0] +Parent="DefaultProperties" +Comment="Firefox 50.0" +Browser="Firefox" +Version="50.0" +Device_Type="Desktop" + +[Mozilla/5.0 (*Linux*) Gecko* Firefox/50.0*] +Parent="Firefox 50.0" +Platform="Linux" + +[Mozilla/5.0 (*Windows NT 6.0*) Gecko* Firefox/50.0*] +Parent="Firefox 50.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/50.0*] +Parent="Firefox 50.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) Gecko* Firefox/50.0*] +Parent="Firefox 50.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) Gecko* Firefox/50.0*] +Parent="Firefox 50.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) Gecko* Firefox/50.0*] +Parent="Firefox 50.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) Gecko* Firefox/50.0*] +Parent="Firefox 50.0" +Platform="Win10" + +[Mozilla/5.0 (*Mac OS X*) Gecko* Firefox/50.0*] +Parent="Firefox 50.0" +Platform="MacOSX" + +[Mozilla/4.0 (*Linux*) Gecko* Firefox/50.0*] +Parent="Firefox 50.0" +Platform="Linux" + +[Mozilla/4.0 (*Windows NT 6.0*) Gecko* Firefox/50.0*] +Parent="Firefox 50.0" +Platform="WinVista" + +[Mozilla/4.0 (*Windows NT 6.1*) Gecko* Firefox/50.0*] +Parent="Firefox 50.0" +Platform="Win7" + +[Mozilla/4.0 (*Windows NT 6.2*) Gecko* Firefox/50.0*] +Parent="Firefox 50.0" +Platform="Win8" + +[Mozilla/4.0 (*Windows NT 6.3*) Gecko* Firefox/50.0*] +Parent="Firefox 50.0" +Platform="Win8.1" + +[Mozilla/4.0 (*Windows NT 6.4*) Gecko* Firefox/50.0*] +Parent="Firefox 50.0" +Platform="Win10" + +[Mozilla/4.0 (*Windows NT 10.0*) Gecko* Firefox/50.0*] +Parent="Firefox 50.0" +Platform="Win10" + +[Mozilla/4.0 (*Mac OS X*) Gecko* Firefox/50.0*] +Parent="Firefox 50.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Windows NT 6.0*; rv:50*) Gecko* Firefox/50*anonymized by *] +Parent="Firefox 50.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*; rv:50*) Gecko* Firefox/50*anonymized by *] +Parent="Firefox 50.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows*; rv:50*) Gecko* Firefox/50*anonymized by *] +Parent="Firefox 50.0" +Platform="Win32" + +[Mozilla/5.0 (*Windows NT 6.0*; rv:50*) Gecko* Firefox anonymized by *] +Parent="Firefox 50.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows*; rv:50*) Gecko* Firefox anonymized by *] +Parent="Firefox 50.0" +Platform="Win32" + +[Mozilla/5.0 (*Windows*) Gecko* Firefox/50.0* Anonymisiert*] +Parent="Firefox 50.0" +Platform="Win32" + +[Firefox/50.0*anonymized by Abelssoft*] +Parent="Firefox 50.0" +Platform="Win32" + +[Mozilla/5.0 (masking-agent; rv:*) Gecko* Firefox/50.0*] +Parent="Firefox 50.0" + +[Mozilla/5.0 (*Windows NT 6.0*) Gecko*/50.0*] +Parent="Firefox 50.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) Gecko*/50.0*] +Parent="Firefox 50.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) Gecko*/50.0*] +Parent="Firefox 50.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) Gecko*/50.0*] +Parent="Firefox 50.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) Gecko*/50.0*] +Parent="Firefox 50.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) Gecko*/50.0*] +Parent="Firefox 50.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.0*rv:50.0*) Gecko*/] +Parent="Firefox 50.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*rv:50.0*) Gecko*/] +Parent="Firefox 50.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*rv:50.0*) Gecko*/] +Parent="Firefox 50.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*rv:50.0*) Gecko*/] +Parent="Firefox 50.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*rv:50.0*) Gecko*/] +Parent="Firefox 50.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*rv:50.0*) Gecko*/] +Parent="Firefox 50.0" +Platform="Win10" + +[Mozilla/5.0 (*Mac OS X*) Gecko*/50.0*] +Parent="Firefox 50.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Windows NT 6.4*rv:50.0*) Gecko* Firefox*] +Parent="Firefox 50.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*rv:50.0*) Gecko* Firefox*] +Parent="Firefox 50.0" +Platform="Win10" + +[Firefox 50.0 for Android] +Parent="DefaultProperties" +Comment="Firefox 50.0" +Browser="Firefox" +Version="50.0" +Platform="Android" +isMobileDevice="true" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (*Android*Mobile*) Gecko* Firefox/50.*] +Parent="Firefox 50.0 for Android" + +[Mozilla/5.0 (*Android*Tablet*) Gecko* Firefox/50.*] +Parent="Firefox 50.0 for Android" +isTablet="true" +Device_Type="Tablet" + +[Firefox 49.0] +Parent="DefaultProperties" +Comment="Firefox 49.0" +Browser="Firefox" +Version="49.0" +Device_Type="Desktop" + +[Mozilla/5.0 (*Linux*) Gecko* Firefox/49.0*] +Parent="Firefox 49.0" +Platform="Linux" + +[Mozilla/5.0 (*Windows NT 6.0*) Gecko* Firefox/49.0*] +Parent="Firefox 49.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/49.0*] +Parent="Firefox 49.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) Gecko* Firefox/49.0*] +Parent="Firefox 49.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) Gecko* Firefox/49.0*] +Parent="Firefox 49.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) Gecko* Firefox/49.0*] +Parent="Firefox 49.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) Gecko* Firefox/49.0*] +Parent="Firefox 49.0" +Platform="Win10" + +[Mozilla/5.0 (*Mac OS X*) Gecko* Firefox/49.0*] +Parent="Firefox 49.0" +Platform="MacOSX" + +[Mozilla/4.0 (*Linux*) Gecko* Firefox/49.0*] +Parent="Firefox 49.0" +Platform="Linux" + +[Mozilla/4.0 (*Windows NT 6.0*) Gecko* Firefox/49.0*] +Parent="Firefox 49.0" +Platform="WinVista" + +[Mozilla/4.0 (*Windows NT 6.1*) Gecko* Firefox/49.0*] +Parent="Firefox 49.0" +Platform="Win7" + +[Mozilla/4.0 (*Windows NT 6.2*) Gecko* Firefox/49.0*] +Parent="Firefox 49.0" +Platform="Win8" + +[Mozilla/4.0 (*Windows NT 6.3*) Gecko* Firefox/49.0*] +Parent="Firefox 49.0" +Platform="Win8.1" + +[Mozilla/4.0 (*Windows NT 6.4*) Gecko* Firefox/49.0*] +Parent="Firefox 49.0" +Platform="Win10" + +[Mozilla/4.0 (*Windows NT 10.0*) Gecko* Firefox/49.0*] +Parent="Firefox 49.0" +Platform="Win10" + +[Mozilla/4.0 (*Mac OS X*) Gecko* Firefox/49.0*] +Parent="Firefox 49.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Windows NT 6.0*; rv:49*) Gecko* Firefox/49*anonymized by *] +Parent="Firefox 49.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*; rv:49*) Gecko* Firefox/49*anonymized by *] +Parent="Firefox 49.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows*; rv:49*) Gecko* Firefox/49*anonymized by *] +Parent="Firefox 49.0" +Platform="Win32" + +[Mozilla/5.0 (*Windows NT 6.0*; rv:49*) Gecko* Firefox anonymized by *] +Parent="Firefox 49.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows*; rv:49*) Gecko* Firefox anonymized by *] +Parent="Firefox 49.0" +Platform="Win32" + +[Mozilla/5.0 (*Windows*) Gecko* Firefox/49.0* Anonymisiert*] +Parent="Firefox 49.0" +Platform="Win32" + +[Firefox/49.0*anonymized by Abelssoft*] +Parent="Firefox 49.0" +Platform="Win32" + +[Mozilla/5.0 (masking-agent; rv:*) Gecko* Firefox/49.0*] +Parent="Firefox 49.0" + +[Mozilla/5.0 (*Windows NT 6.0*) Gecko*/49.0*] +Parent="Firefox 49.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) Gecko*/49.0*] +Parent="Firefox 49.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) Gecko*/49.0*] +Parent="Firefox 49.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) Gecko*/49.0*] +Parent="Firefox 49.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) Gecko*/49.0*] +Parent="Firefox 49.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) Gecko*/49.0*] +Parent="Firefox 49.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.0*rv:49.0*) Gecko*/] +Parent="Firefox 49.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*rv:49.0*) Gecko*/] +Parent="Firefox 49.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*rv:49.0*) Gecko*/] +Parent="Firefox 49.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*rv:49.0*) Gecko*/] +Parent="Firefox 49.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*rv:49.0*) Gecko*/] +Parent="Firefox 49.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*rv:49.0*) Gecko*/] +Parent="Firefox 49.0" +Platform="Win10" + +[Mozilla/5.0 (*Mac OS X*) Gecko*/49.0*] +Parent="Firefox 49.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Windows NT 6.4*rv:49.0*) Gecko* Firefox*] +Parent="Firefox 49.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*rv:49.0*) Gecko* Firefox*] +Parent="Firefox 49.0" +Platform="Win10" + +[Firefox 49.0 for Android] +Parent="DefaultProperties" +Comment="Firefox 49.0" +Browser="Firefox" +Version="49.0" +Platform="Android" +isMobileDevice="true" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (*Android*Mobile*) Gecko* Firefox/49.*] +Parent="Firefox 49.0 for Android" + +[Mozilla/5.0 (*Android*Tablet*) Gecko* Firefox/49.*] +Parent="Firefox 49.0 for Android" +isTablet="true" +Device_Type="Tablet" + +[Firefox 48.0] +Parent="DefaultProperties" +Comment="Firefox 48.0" +Browser="Firefox" +Version="48.0" +Device_Type="Desktop" + +[Mozilla/5.0 (*Linux*) Gecko* Firefox/48.0*] +Parent="Firefox 48.0" +Platform="Linux" + +[Mozilla/5.0 (*Windows NT 6.0*) Gecko* Firefox/48.0*] +Parent="Firefox 48.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/48.0*] +Parent="Firefox 48.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) Gecko* Firefox/48.0*] +Parent="Firefox 48.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) Gecko* Firefox/48.0*] +Parent="Firefox 48.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) Gecko* Firefox/48.0*] +Parent="Firefox 48.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) Gecko* Firefox/48.0*] +Parent="Firefox 48.0" +Platform="Win10" + +[Mozilla/5.0 (*Mac OS X*) Gecko* Firefox/48.0*] +Parent="Firefox 48.0" +Platform="MacOSX" + +[Mozilla/4.0 (*Linux*) Gecko* Firefox/48.0*] +Parent="Firefox 48.0" +Platform="Linux" + +[Mozilla/4.0 (*Windows NT 6.0*) Gecko* Firefox/48.0*] +Parent="Firefox 48.0" +Platform="WinVista" + +[Mozilla/4.0 (*Windows NT 6.1*) Gecko* Firefox/48.0*] +Parent="Firefox 48.0" +Platform="Win7" + +[Mozilla/4.0 (*Windows NT 6.2*) Gecko* Firefox/48.0*] +Parent="Firefox 48.0" +Platform="Win8" + +[Mozilla/4.0 (*Windows NT 6.3*) Gecko* Firefox/48.0*] +Parent="Firefox 48.0" +Platform="Win8.1" + +[Mozilla/4.0 (*Windows NT 6.4*) Gecko* Firefox/48.0*] +Parent="Firefox 48.0" +Platform="Win10" + +[Mozilla/4.0 (*Windows NT 10.0*) Gecko* Firefox/48.0*] +Parent="Firefox 48.0" +Platform="Win10" + +[Mozilla/4.0 (*Mac OS X*) Gecko* Firefox/48.0*] +Parent="Firefox 48.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Windows NT 6.0*; rv:48*) Gecko* Firefox/48*anonymized by *] +Parent="Firefox 48.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*; rv:48*) Gecko* Firefox/48*anonymized by *] +Parent="Firefox 48.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows*; rv:48*) Gecko* Firefox/48*anonymized by *] +Parent="Firefox 48.0" +Platform="Win32" + +[Mozilla/5.0 (*Windows NT 6.0*; rv:48*) Gecko* Firefox anonymized by *] +Parent="Firefox 48.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows*; rv:48*) Gecko* Firefox anonymized by *] +Parent="Firefox 48.0" +Platform="Win32" + +[Mozilla/5.0 (*Windows*) Gecko* Firefox/48.0* Anonymisiert*] +Parent="Firefox 48.0" +Platform="Win32" + +[Firefox/48.0*anonymized by Abelssoft*] +Parent="Firefox 48.0" +Platform="Win32" + +[Mozilla/5.0 (masking-agent; rv:*) Gecko* Firefox/48.0*] +Parent="Firefox 48.0" + +[Mozilla/5.0 (*Windows NT 6.0*) Gecko*/48.0*] +Parent="Firefox 48.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) Gecko*/48.0*] +Parent="Firefox 48.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) Gecko*/48.0*] +Parent="Firefox 48.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) Gecko*/48.0*] +Parent="Firefox 48.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) Gecko*/48.0*] +Parent="Firefox 48.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) Gecko*/48.0*] +Parent="Firefox 48.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.0*rv:48.0*) Gecko*/] +Parent="Firefox 48.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*rv:48.0*) Gecko*/] +Parent="Firefox 48.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*rv:48.0*) Gecko*/] +Parent="Firefox 48.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*rv:48.0*) Gecko*/] +Parent="Firefox 48.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*rv:48.0*) Gecko*/] +Parent="Firefox 48.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*rv:48.0*) Gecko*/] +Parent="Firefox 48.0" +Platform="Win10" + +[Mozilla/5.0 (*Mac OS X*) Gecko*/48.0*] +Parent="Firefox 48.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Windows NT 6.4*rv:48.0*) Gecko* Firefox*] +Parent="Firefox 48.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*rv:48.0*) Gecko* Firefox*] +Parent="Firefox 48.0" +Platform="Win10" + +[Firefox 48.0 for Android] +Parent="DefaultProperties" +Comment="Firefox 48.0" +Browser="Firefox" +Version="48.0" +Platform="Android" +isMobileDevice="true" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (*Android*Mobile*) Gecko* Firefox/48.*] +Parent="Firefox 48.0 for Android" + +[Mozilla/5.0 (*Android*Tablet*) Gecko* Firefox/48.*] +Parent="Firefox 48.0 for Android" +isTablet="true" +Device_Type="Tablet" + +[Firefox 47.0] +Parent="DefaultProperties" +Comment="Firefox 47.0" +Browser="Firefox" +Version="47.0" +Device_Type="Desktop" + +[Mozilla/5.0 (*Linux*) Gecko* Firefox/47.0*] +Parent="Firefox 47.0" +Platform="Linux" + +[Mozilla/5.0 (*Windows NT 6.0*) Gecko* Firefox/47.0*] +Parent="Firefox 47.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/47.0*] +Parent="Firefox 47.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) Gecko* Firefox/47.0*] +Parent="Firefox 47.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) Gecko* Firefox/47.0*] +Parent="Firefox 47.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) Gecko* Firefox/47.0*] +Parent="Firefox 47.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) Gecko* Firefox/47.0*] +Parent="Firefox 47.0" +Platform="Win10" + +[Mozilla/5.0 (*Mac OS X*) Gecko* Firefox/47.0*] +Parent="Firefox 47.0" +Platform="MacOSX" + +[Mozilla/4.0 (*Linux*) Gecko* Firefox/47.0*] +Parent="Firefox 47.0" +Platform="Linux" + +[Mozilla/4.0 (*Windows NT 6.0*) Gecko* Firefox/47.0*] +Parent="Firefox 47.0" +Platform="WinVista" + +[Mozilla/4.0 (*Windows NT 6.1*) Gecko* Firefox/47.0*] +Parent="Firefox 47.0" +Platform="Win7" + +[Mozilla/4.0 (*Windows NT 6.2*) Gecko* Firefox/47.0*] +Parent="Firefox 47.0" +Platform="Win8" + +[Mozilla/4.0 (*Windows NT 6.3*) Gecko* Firefox/47.0*] +Parent="Firefox 47.0" +Platform="Win8.1" + +[Mozilla/4.0 (*Windows NT 6.4*) Gecko* Firefox/47.0*] +Parent="Firefox 47.0" +Platform="Win10" + +[Mozilla/4.0 (*Windows NT 10.0*) Gecko* Firefox/47.0*] +Parent="Firefox 47.0" +Platform="Win10" + +[Mozilla/4.0 (*Mac OS X*) Gecko* Firefox/47.0*] +Parent="Firefox 47.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Windows NT 6.0*; rv:47*) Gecko* Firefox/47*anonymized by *] +Parent="Firefox 47.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*; rv:47*) Gecko* Firefox/47*anonymized by *] +Parent="Firefox 47.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows*; rv:47*) Gecko* Firefox/47*anonymized by *] +Parent="Firefox 47.0" +Platform="Win32" + +[Mozilla/5.0 (*Windows NT 6.0*; rv:47*) Gecko* Firefox anonymized by *] +Parent="Firefox 47.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows*; rv:47*) Gecko* Firefox anonymized by *] +Parent="Firefox 47.0" +Platform="Win32" + +[Mozilla/5.0 (*Windows*) Gecko* Firefox/47.0* Anonymisiert*] +Parent="Firefox 47.0" +Platform="Win32" + +[Firefox/47.0*anonymized by Abelssoft*] +Parent="Firefox 47.0" +Platform="Win32" + +[Mozilla/5.0 (masking-agent; rv:*) Gecko* Firefox/47.0*] +Parent="Firefox 47.0" + +[Mozilla/5.0 (*Windows NT 6.0*) Gecko*/47.0*] +Parent="Firefox 47.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) Gecko*/47.0*] +Parent="Firefox 47.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) Gecko*/47.0*] +Parent="Firefox 47.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) Gecko*/47.0*] +Parent="Firefox 47.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) Gecko*/47.0*] +Parent="Firefox 47.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) Gecko*/47.0*] +Parent="Firefox 47.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.0*rv:47.0*) Gecko*/] +Parent="Firefox 47.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*rv:47.0*) Gecko*/] +Parent="Firefox 47.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*rv:47.0*) Gecko*/] +Parent="Firefox 47.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*rv:47.0*) Gecko*/] +Parent="Firefox 47.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*rv:47.0*) Gecko*/] +Parent="Firefox 47.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*rv:47.0*) Gecko*/] +Parent="Firefox 47.0" +Platform="Win10" + +[Mozilla/5.0 (*Mac OS X*) Gecko*/47.0*] +Parent="Firefox 47.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Windows NT 6.4*rv:47.0*) Gecko* Firefox*] +Parent="Firefox 47.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*rv:47.0*) Gecko* Firefox*] +Parent="Firefox 47.0" +Platform="Win10" + +[Firefox 47.0 for Android] +Parent="DefaultProperties" +Comment="Firefox 47.0" +Browser="Firefox" +Version="47.0" +Platform="Android" +isMobileDevice="true" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (*Android*Mobile*) Gecko* Firefox/47.*] +Parent="Firefox 47.0 for Android" + +[Mozilla/5.0 (*Android*Tablet*) Gecko* Firefox/47.*] +Parent="Firefox 47.0 for Android" +isTablet="true" +Device_Type="Tablet" + +[Firefox 46.0] +Parent="DefaultProperties" +Comment="Firefox 46.0" +Browser="Firefox" +Version="46.0" +Device_Type="Desktop" + +[Mozilla/5.0 (*Linux*) Gecko* Firefox/46.0*] +Parent="Firefox 46.0" +Platform="Linux" + +[Mozilla/5.0 (*Windows NT 6.0*) Gecko* Firefox/46.0*] +Parent="Firefox 46.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/46.0*] +Parent="Firefox 46.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) Gecko* Firefox/46.0*] +Parent="Firefox 46.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) Gecko* Firefox/46.0*] +Parent="Firefox 46.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) Gecko* Firefox/46.0*] +Parent="Firefox 46.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) Gecko* Firefox/46.0*] +Parent="Firefox 46.0" +Platform="Win10" + +[Mozilla/5.0 (*Mac OS X*) Gecko* Firefox/46.0*] +Parent="Firefox 46.0" +Platform="MacOSX" + +[Mozilla/4.0 (*Linux*) Gecko* Firefox/46.0*] +Parent="Firefox 46.0" +Platform="Linux" + +[Mozilla/4.0 (*Windows NT 6.0*) Gecko* Firefox/46.0*] +Parent="Firefox 46.0" +Platform="WinVista" + +[Mozilla/4.0 (*Windows NT 6.1*) Gecko* Firefox/46.0*] +Parent="Firefox 46.0" +Platform="Win7" + +[Mozilla/4.0 (*Windows NT 6.2*) Gecko* Firefox/46.0*] +Parent="Firefox 46.0" +Platform="Win8" + +[Mozilla/4.0 (*Windows NT 6.3*) Gecko* Firefox/46.0*] +Parent="Firefox 46.0" +Platform="Win8.1" + +[Mozilla/4.0 (*Windows NT 6.4*) Gecko* Firefox/46.0*] +Parent="Firefox 46.0" +Platform="Win10" + +[Mozilla/4.0 (*Windows NT 10.0*) Gecko* Firefox/46.0*] +Parent="Firefox 46.0" +Platform="Win10" + +[Mozilla/4.0 (*Mac OS X*) Gecko* Firefox/46.0*] +Parent="Firefox 46.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Windows NT 6.0*; rv:46*) Gecko* Firefox/46*anonymized by *] +Parent="Firefox 46.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*; rv:46*) Gecko* Firefox/46*anonymized by *] +Parent="Firefox 46.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows*; rv:46*) Gecko* Firefox/46*anonymized by *] +Parent="Firefox 46.0" +Platform="Win32" + +[Mozilla/5.0 (*Windows NT 6.0*; rv:46*) Gecko* Firefox anonymized by *] +Parent="Firefox 46.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows*; rv:46*) Gecko* Firefox anonymized by *] +Parent="Firefox 46.0" +Platform="Win32" + +[Mozilla/5.0 (*Windows*) Gecko* Firefox/46.0* Anonymisiert*] +Parent="Firefox 46.0" +Platform="Win32" + +[Firefox/46.0*anonymized by Abelssoft*] +Parent="Firefox 46.0" +Platform="Win32" + +[Mozilla/5.0 (masking-agent; rv:*) Gecko* Firefox/46.0*] +Parent="Firefox 46.0" + +[Mozilla/5.0 (*Windows NT 6.0*) Gecko*/46.0*] +Parent="Firefox 46.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) Gecko*/46.0*] +Parent="Firefox 46.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) Gecko*/46.0*] +Parent="Firefox 46.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) Gecko*/46.0*] +Parent="Firefox 46.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) Gecko*/46.0*] +Parent="Firefox 46.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) Gecko*/46.0*] +Parent="Firefox 46.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.0*rv:46.0*) Gecko*/] +Parent="Firefox 46.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*rv:46.0*) Gecko*/] +Parent="Firefox 46.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*rv:46.0*) Gecko*/] +Parent="Firefox 46.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*rv:46.0*) Gecko*/] +Parent="Firefox 46.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*rv:46.0*) Gecko*/] +Parent="Firefox 46.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*rv:46.0*) Gecko*/] +Parent="Firefox 46.0" +Platform="Win10" + +[Mozilla/5.0 (*Mac OS X*) Gecko*/46.0*] +Parent="Firefox 46.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Windows NT 6.4*rv:46.0*) Gecko* Firefox*] +Parent="Firefox 46.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*rv:46.0*) Gecko* Firefox*] +Parent="Firefox 46.0" +Platform="Win10" + +[Firefox 46.0 for Android] +Parent="DefaultProperties" +Comment="Firefox 46.0" +Browser="Firefox" +Version="46.0" +Platform="Android" +isMobileDevice="true" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (*Android*Mobile*) Gecko* Firefox/46.*] +Parent="Firefox 46.0 for Android" + +[Mozilla/5.0 (*Android*Tablet*) Gecko* Firefox/46.*] +Parent="Firefox 46.0 for Android" +isTablet="true" +Device_Type="Tablet" + +[Firefox 45.0] +Parent="DefaultProperties" +Comment="Firefox 45.0" +Browser="Firefox" +Version="45.0" +Device_Type="Desktop" + +[Mozilla/5.0 (*Linux*) Gecko* Firefox/45.0*] +Parent="Firefox 45.0" +Platform="Linux" + +[Mozilla/5.0 (*Windows NT 6.0*) Gecko* Firefox/45.0*] +Parent="Firefox 45.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/45.0*] +Parent="Firefox 45.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) Gecko* Firefox/45.0*] +Parent="Firefox 45.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) Gecko* Firefox/45.0*] +Parent="Firefox 45.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) Gecko* Firefox/45.0*] +Parent="Firefox 45.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) Gecko* Firefox/45.0*] +Parent="Firefox 45.0" +Platform="Win10" + +[Mozilla/5.0 (*Mac OS X*) Gecko* Firefox/45.0*] +Parent="Firefox 45.0" +Platform="MacOSX" + +[Mozilla/4.0 (*Linux*) Gecko* Firefox/45.0*] +Parent="Firefox 45.0" +Platform="Linux" + +[Mozilla/4.0 (*Windows NT 6.0*) Gecko* Firefox/45.0*] +Parent="Firefox 45.0" +Platform="WinVista" + +[Mozilla/4.0 (*Windows NT 6.1*) Gecko* Firefox/45.0*] +Parent="Firefox 45.0" +Platform="Win7" + +[Mozilla/4.0 (*Windows NT 6.2*) Gecko* Firefox/45.0*] +Parent="Firefox 45.0" +Platform="Win8" + +[Mozilla/4.0 (*Windows NT 6.3*) Gecko* Firefox/45.0*] +Parent="Firefox 45.0" +Platform="Win8.1" + +[Mozilla/4.0 (*Windows NT 6.4*) Gecko* Firefox/45.0*] +Parent="Firefox 45.0" +Platform="Win10" + +[Mozilla/4.0 (*Windows NT 10.0*) Gecko* Firefox/45.0*] +Parent="Firefox 45.0" +Platform="Win10" + +[Mozilla/4.0 (*Mac OS X*) Gecko* Firefox/45.0*] +Parent="Firefox 45.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Windows NT 6.0*; rv:45*) Gecko* Firefox/45*anonymized by *] +Parent="Firefox 45.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*; rv:45*) Gecko* Firefox/45*anonymized by *] +Parent="Firefox 45.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows*; rv:45*) Gecko* Firefox/45*anonymized by *] +Parent="Firefox 45.0" +Platform="Win32" + +[Mozilla/5.0 (*Windows NT 6.0*; rv:45*) Gecko* Firefox anonymized by *] +Parent="Firefox 45.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows*; rv:45*) Gecko* Firefox anonymized by *] +Parent="Firefox 45.0" +Platform="Win32" + +[Mozilla/5.0 (*Windows*) Gecko* Firefox/45.0* Anonymisiert*] +Parent="Firefox 45.0" +Platform="Win32" + +[Firefox/45.0*anonymized by Abelssoft*] +Parent="Firefox 45.0" +Platform="Win32" + +[Mozilla/5.0 (masking-agent; rv:*) Gecko* Firefox/45.0*] +Parent="Firefox 45.0" + +[Mozilla/5.0 (*Windows NT 6.0*) Gecko*/45.0*] +Parent="Firefox 45.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) Gecko*/45.0*] +Parent="Firefox 45.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) Gecko*/45.0*] +Parent="Firefox 45.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) Gecko*/45.0*] +Parent="Firefox 45.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) Gecko*/45.0*] +Parent="Firefox 45.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) Gecko*/45.0*] +Parent="Firefox 45.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.0*rv:45.0*) Gecko*/] +Parent="Firefox 45.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*rv:45.0*) Gecko*/] +Parent="Firefox 45.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*rv:45.0*) Gecko*/] +Parent="Firefox 45.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*rv:45.0*) Gecko*/] +Parent="Firefox 45.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*rv:45.0*) Gecko*/] +Parent="Firefox 45.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*rv:45.0*) Gecko*/] +Parent="Firefox 45.0" +Platform="Win10" + +[Mozilla/5.0 (*Mac OS X*) Gecko*/45.0*] +Parent="Firefox 45.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Windows NT 6.4*rv:45.0*) Gecko* Firefox*] +Parent="Firefox 45.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*rv:45.0*) Gecko* Firefox*] +Parent="Firefox 45.0" +Platform="Win10" + +[Firefox 45.0 for Android] +Parent="DefaultProperties" +Comment="Firefox 45.0" +Browser="Firefox" +Version="45.0" +Platform="Android" +isMobileDevice="true" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (*Android*Mobile*) Gecko* Firefox/45.*] +Parent="Firefox 45.0 for Android" + +[Mozilla/5.0 (*Android*Tablet*) Gecko* Firefox/45.*] +Parent="Firefox 45.0 for Android" +isTablet="true" +Device_Type="Tablet" + +[Firefox 44.0] +Parent="DefaultProperties" +Comment="Firefox 44.0" +Browser="Firefox" +Version="44.0" +Device_Type="Desktop" + +[Mozilla/5.0 (*Linux*) Gecko* Firefox/44.0*] +Parent="Firefox 44.0" +Platform="Linux" + +[Mozilla/5.0 (*Windows NT 6.0*) Gecko* Firefox/44.0*] +Parent="Firefox 44.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/44.0*] +Parent="Firefox 44.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) Gecko* Firefox/44.0*] +Parent="Firefox 44.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) Gecko* Firefox/44.0*] +Parent="Firefox 44.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) Gecko* Firefox/44.0*] +Parent="Firefox 44.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) Gecko* Firefox/44.0*] +Parent="Firefox 44.0" +Platform="Win10" + +[Mozilla/5.0 (*Mac OS X*) Gecko* Firefox/44.0*] +Parent="Firefox 44.0" +Platform="MacOSX" + +[Mozilla/4.0 (*Linux*) Gecko* Firefox/44.0*] +Parent="Firefox 44.0" +Platform="Linux" + +[Mozilla/4.0 (*Windows NT 6.0*) Gecko* Firefox/44.0*] +Parent="Firefox 44.0" +Platform="WinVista" + +[Mozilla/4.0 (*Windows NT 6.1*) Gecko* Firefox/44.0*] +Parent="Firefox 44.0" +Platform="Win7" + +[Mozilla/4.0 (*Windows NT 6.2*) Gecko* Firefox/44.0*] +Parent="Firefox 44.0" +Platform="Win8" + +[Mozilla/4.0 (*Windows NT 6.3*) Gecko* Firefox/44.0*] +Parent="Firefox 44.0" +Platform="Win8.1" + +[Mozilla/4.0 (*Windows NT 6.4*) Gecko* Firefox/44.0*] +Parent="Firefox 44.0" +Platform="Win10" + +[Mozilla/4.0 (*Windows NT 10.0*) Gecko* Firefox/44.0*] +Parent="Firefox 44.0" +Platform="Win10" + +[Mozilla/4.0 (*Mac OS X*) Gecko* Firefox/44.0*] +Parent="Firefox 44.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Windows NT 6.0*; rv:44*) Gecko* Firefox/44*anonymized by *] +Parent="Firefox 44.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*; rv:44*) Gecko* Firefox/44*anonymized by *] +Parent="Firefox 44.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows*; rv:44*) Gecko* Firefox/44*anonymized by *] +Parent="Firefox 44.0" +Platform="Win32" + +[Mozilla/5.0 (*Windows NT 6.0*; rv:44*) Gecko* Firefox anonymized by *] +Parent="Firefox 44.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows*; rv:44*) Gecko* Firefox anonymized by *] +Parent="Firefox 44.0" +Platform="Win32" + +[Mozilla/5.0 (*Windows*) Gecko* Firefox/44.0* Anonymisiert*] +Parent="Firefox 44.0" +Platform="Win32" + +[Firefox/44.0*anonymized by Abelssoft*] +Parent="Firefox 44.0" +Platform="Win32" + +[Mozilla/5.0 (masking-agent; rv:*) Gecko* Firefox/44.0*] +Parent="Firefox 44.0" + +[Mozilla/5.0 (*Windows NT 6.0*) Gecko*/44.0*] +Parent="Firefox 44.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) Gecko*/44.0*] +Parent="Firefox 44.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) Gecko*/44.0*] +Parent="Firefox 44.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) Gecko*/44.0*] +Parent="Firefox 44.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) Gecko*/44.0*] +Parent="Firefox 44.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) Gecko*/44.0*] +Parent="Firefox 44.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.0*rv:44.0*) Gecko*/] +Parent="Firefox 44.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*rv:44.0*) Gecko*/] +Parent="Firefox 44.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*rv:44.0*) Gecko*/] +Parent="Firefox 44.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*rv:44.0*) Gecko*/] +Parent="Firefox 44.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*rv:44.0*) Gecko*/] +Parent="Firefox 44.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*rv:44.0*) Gecko*/] +Parent="Firefox 44.0" +Platform="Win10" + +[Mozilla/5.0 (*Mac OS X*) Gecko*/44.0*] +Parent="Firefox 44.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Windows NT 6.4*rv:44.0*) Gecko* Firefox*] +Parent="Firefox 44.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*rv:44.0*) Gecko* Firefox*] +Parent="Firefox 44.0" +Platform="Win10" + +[Firefox 44.0 for Android] +Parent="DefaultProperties" +Comment="Firefox 44.0" +Browser="Firefox" +Version="44.0" +Platform="Android" +isMobileDevice="true" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (*Android*Mobile*) Gecko* Firefox/44.*] +Parent="Firefox 44.0 for Android" + +[Mozilla/5.0 (*Android*Tablet*) Gecko* Firefox/44.*] +Parent="Firefox 44.0 for Android" +isTablet="true" +Device_Type="Tablet" + +[Firefox 43.0] +Parent="DefaultProperties" +Comment="Firefox 43.0" +Browser="Firefox" +Version="43.0" +Device_Type="Desktop" + +[Mozilla/5.0 (*Linux*) Gecko* Firefox/43.0*] +Parent="Firefox 43.0" +Platform="Linux" + +[Mozilla/5.0 (*Windows NT 6.0*) Gecko* Firefox/43.0*] +Parent="Firefox 43.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/43.0*] +Parent="Firefox 43.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) Gecko* Firefox/43.0*] +Parent="Firefox 43.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) Gecko* Firefox/43.0*] +Parent="Firefox 43.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) Gecko* Firefox/43.0*] +Parent="Firefox 43.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) Gecko* Firefox/43.0*] +Parent="Firefox 43.0" +Platform="Win10" + +[Mozilla/5.0 (*Mac OS X*) Gecko* Firefox/43.0*] +Parent="Firefox 43.0" +Platform="MacOSX" + +[Mozilla/4.0 (*Linux*) Gecko* Firefox/43.0*] +Parent="Firefox 43.0" +Platform="Linux" + +[Mozilla/4.0 (*Windows NT 6.0*) Gecko* Firefox/43.0*] +Parent="Firefox 43.0" +Platform="WinVista" + +[Mozilla/4.0 (*Windows NT 6.1*) Gecko* Firefox/43.0*] +Parent="Firefox 43.0" +Platform="Win7" + +[Mozilla/4.0 (*Windows NT 6.2*) Gecko* Firefox/43.0*] +Parent="Firefox 43.0" +Platform="Win8" + +[Mozilla/4.0 (*Windows NT 6.3*) Gecko* Firefox/43.0*] +Parent="Firefox 43.0" +Platform="Win8.1" + +[Mozilla/4.0 (*Windows NT 6.4*) Gecko* Firefox/43.0*] +Parent="Firefox 43.0" +Platform="Win10" + +[Mozilla/4.0 (*Windows NT 10.0*) Gecko* Firefox/43.0*] +Parent="Firefox 43.0" +Platform="Win10" + +[Mozilla/4.0 (*Mac OS X*) Gecko* Firefox/43.0*] +Parent="Firefox 43.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Windows NT 6.0*; rv:43*) Gecko* Firefox/43*anonymized by *] +Parent="Firefox 43.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*; rv:43*) Gecko* Firefox/43*anonymized by *] +Parent="Firefox 43.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows*; rv:43*) Gecko* Firefox/43*anonymized by *] +Parent="Firefox 43.0" +Platform="Win32" + +[Mozilla/5.0 (*Windows NT 6.0*; rv:43*) Gecko* Firefox anonymized by *] +Parent="Firefox 43.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows*; rv:43*) Gecko* Firefox anonymized by *] +Parent="Firefox 43.0" +Platform="Win32" + +[Mozilla/5.0 (*Windows*) Gecko* Firefox/43.0* Anonymisiert*] +Parent="Firefox 43.0" +Platform="Win32" + +[Firefox/43.0*anonymized by Abelssoft*] +Parent="Firefox 43.0" +Platform="Win32" + +[Mozilla/5.0 (masking-agent; rv:*) Gecko* Firefox/43.0*] +Parent="Firefox 43.0" + +[Mozilla/5.0 (*Windows NT 6.0*) Gecko*/43.0*] +Parent="Firefox 43.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) Gecko*/43.0*] +Parent="Firefox 43.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) Gecko*/43.0*] +Parent="Firefox 43.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) Gecko*/43.0*] +Parent="Firefox 43.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) Gecko*/43.0*] +Parent="Firefox 43.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) Gecko*/43.0*] +Parent="Firefox 43.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.0*rv:43.0*) Gecko*/] +Parent="Firefox 43.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*rv:43.0*) Gecko*/] +Parent="Firefox 43.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*rv:43.0*) Gecko*/] +Parent="Firefox 43.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*rv:43.0*) Gecko*/] +Parent="Firefox 43.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*rv:43.0*) Gecko*/] +Parent="Firefox 43.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*rv:43.0*) Gecko*/] +Parent="Firefox 43.0" +Platform="Win10" + +[Mozilla/5.0 (*Mac OS X*) Gecko*/43.0*] +Parent="Firefox 43.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Windows NT 6.4*rv:43.0*) Gecko* Firefox*] +Parent="Firefox 43.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*rv:43.0*) Gecko* Firefox*] +Parent="Firefox 43.0" +Platform="Win10" + +[Firefox 43.0 for Android] +Parent="DefaultProperties" +Comment="Firefox 43.0" +Browser="Firefox" +Version="43.0" +Platform="Android" +isMobileDevice="true" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (*Android*Mobile*) Gecko* Firefox/43.*] +Parent="Firefox 43.0 for Android" + +[Mozilla/5.0 (*Android*Tablet*) Gecko* Firefox/43.*] +Parent="Firefox 43.0 for Android" +isTablet="true" +Device_Type="Tablet" + +[Firefox 42.0] +Parent="DefaultProperties" +Comment="Firefox 42.0" +Browser="Firefox" +Version="42.0" +Device_Type="Desktop" + +[Mozilla/5.0 (*Linux*) Gecko* Firefox/42.0*] +Parent="Firefox 42.0" +Platform="Linux" + +[Mozilla/5.0 (*Windows NT 6.0*) Gecko* Firefox/42.0*] +Parent="Firefox 42.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/42.0*] +Parent="Firefox 42.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) Gecko* Firefox/42.0*] +Parent="Firefox 42.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) Gecko* Firefox/42.0*] +Parent="Firefox 42.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) Gecko* Firefox/42.0*] +Parent="Firefox 42.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) Gecko* Firefox/42.0*] +Parent="Firefox 42.0" +Platform="Win10" + +[Mozilla/5.0 (*Mac OS X*) Gecko* Firefox/42.0*] +Parent="Firefox 42.0" +Platform="MacOSX" + +[Mozilla/4.0 (*Linux*) Gecko* Firefox/42.0*] +Parent="Firefox 42.0" +Platform="Linux" + +[Mozilla/4.0 (*Windows NT 6.0*) Gecko* Firefox/42.0*] +Parent="Firefox 42.0" +Platform="WinVista" + +[Mozilla/4.0 (*Windows NT 6.1*) Gecko* Firefox/42.0*] +Parent="Firefox 42.0" +Platform="Win7" + +[Mozilla/4.0 (*Windows NT 6.2*) Gecko* Firefox/42.0*] +Parent="Firefox 42.0" +Platform="Win8" + +[Mozilla/4.0 (*Windows NT 6.3*) Gecko* Firefox/42.0*] +Parent="Firefox 42.0" +Platform="Win8.1" + +[Mozilla/4.0 (*Windows NT 6.4*) Gecko* Firefox/42.0*] +Parent="Firefox 42.0" +Platform="Win10" + +[Mozilla/4.0 (*Windows NT 10.0*) Gecko* Firefox/42.0*] +Parent="Firefox 42.0" +Platform="Win10" + +[Mozilla/4.0 (*Mac OS X*) Gecko* Firefox/42.0*] +Parent="Firefox 42.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Windows NT 6.0*; rv:42*) Gecko* Firefox/42*anonymized by *] +Parent="Firefox 42.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*; rv:42*) Gecko* Firefox/42*anonymized by *] +Parent="Firefox 42.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows*; rv:42*) Gecko* Firefox/42*anonymized by *] +Parent="Firefox 42.0" +Platform="Win32" + +[Mozilla/5.0 (*Windows NT 6.0*; rv:42*) Gecko* Firefox anonymized by *] +Parent="Firefox 42.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows*; rv:42*) Gecko* Firefox anonymized by *] +Parent="Firefox 42.0" +Platform="Win32" + +[Mozilla/5.0 (*Windows*) Gecko* Firefox/42.0* Anonymisiert*] +Parent="Firefox 42.0" +Platform="Win32" + +[Firefox/42.0*anonymized by Abelssoft*] +Parent="Firefox 42.0" +Platform="Win32" + +[Mozilla/5.0 (masking-agent; rv:*) Gecko* Firefox/42.0*] +Parent="Firefox 42.0" + +[Mozilla/5.0 (*Windows NT 6.0*) Gecko*/42.0*] +Parent="Firefox 42.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) Gecko*/42.0*] +Parent="Firefox 42.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) Gecko*/42.0*] +Parent="Firefox 42.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) Gecko*/42.0*] +Parent="Firefox 42.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) Gecko*/42.0*] +Parent="Firefox 42.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) Gecko*/42.0*] +Parent="Firefox 42.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.0*rv:42.0*) Gecko*/] +Parent="Firefox 42.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*rv:42.0*) Gecko*/] +Parent="Firefox 42.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*rv:42.0*) Gecko*/] +Parent="Firefox 42.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*rv:42.0*) Gecko*/] +Parent="Firefox 42.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*rv:42.0*) Gecko*/] +Parent="Firefox 42.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*rv:42.0*) Gecko*/] +Parent="Firefox 42.0" +Platform="Win10" + +[Mozilla/5.0 (*Mac OS X*) Gecko*/42.0*] +Parent="Firefox 42.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Windows NT 6.4*rv:42.0*) Gecko* Firefox*] +Parent="Firefox 42.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*rv:42.0*) Gecko* Firefox*] +Parent="Firefox 42.0" +Platform="Win10" + +[Firefox 42.0 for Android] +Parent="DefaultProperties" +Comment="Firefox 42.0" +Browser="Firefox" +Version="42.0" +Platform="Android" +isMobileDevice="true" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (*Android*Mobile*) Gecko* Firefox/42.*] +Parent="Firefox 42.0 for Android" + +[Mozilla/5.0 (*Android*Tablet*) Gecko* Firefox/42.*] +Parent="Firefox 42.0 for Android" +isTablet="true" +Device_Type="Tablet" + +[Firefox 41.0] +Parent="DefaultProperties" +Comment="Firefox 41.0" +Browser="Firefox" +Version="41.0" +Device_Type="Desktop" + +[Mozilla/5.0 (*Linux*) Gecko* Firefox/41.0*] +Parent="Firefox 41.0" +Platform="Linux" + +[Mozilla/5.0 (*Windows NT 6.0*) Gecko* Firefox/41.0*] +Parent="Firefox 41.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/41.0*] +Parent="Firefox 41.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) Gecko* Firefox/41.0*] +Parent="Firefox 41.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) Gecko* Firefox/41.0*] +Parent="Firefox 41.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) Gecko* Firefox/41.0*] +Parent="Firefox 41.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) Gecko* Firefox/41.0*] +Parent="Firefox 41.0" +Platform="Win10" + +[Mozilla/5.0 (*Mac OS X*) Gecko* Firefox/41.0*] +Parent="Firefox 41.0" +Platform="MacOSX" + +[Mozilla/4.0 (*Linux*) Gecko* Firefox/41.0*] +Parent="Firefox 41.0" +Platform="Linux" + +[Mozilla/4.0 (*Windows NT 6.0*) Gecko* Firefox/41.0*] +Parent="Firefox 41.0" +Platform="WinVista" + +[Mozilla/4.0 (*Windows NT 6.1*) Gecko* Firefox/41.0*] +Parent="Firefox 41.0" +Platform="Win7" + +[Mozilla/4.0 (*Windows NT 6.2*) Gecko* Firefox/41.0*] +Parent="Firefox 41.0" +Platform="Win8" + +[Mozilla/4.0 (*Windows NT 6.3*) Gecko* Firefox/41.0*] +Parent="Firefox 41.0" +Platform="Win8.1" + +[Mozilla/4.0 (*Windows NT 6.4*) Gecko* Firefox/41.0*] +Parent="Firefox 41.0" +Platform="Win10" + +[Mozilla/4.0 (*Windows NT 10.0*) Gecko* Firefox/41.0*] +Parent="Firefox 41.0" +Platform="Win10" + +[Mozilla/4.0 (*Mac OS X*) Gecko* Firefox/41.0*] +Parent="Firefox 41.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Windows NT 6.0*; rv:41*) Gecko* Firefox/41*anonymized by *] +Parent="Firefox 41.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*; rv:41*) Gecko* Firefox/41*anonymized by *] +Parent="Firefox 41.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows*; rv:41*) Gecko* Firefox/41*anonymized by *] +Parent="Firefox 41.0" +Platform="Win32" + +[Mozilla/5.0 (*Windows NT 6.0*; rv:41*) Gecko* Firefox anonymized by *] +Parent="Firefox 41.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows*; rv:41*) Gecko* Firefox anonymized by *] +Parent="Firefox 41.0" +Platform="Win32" + +[Mozilla/5.0 (*Windows*) Gecko* Firefox/41.0* Anonymisiert*] +Parent="Firefox 41.0" +Platform="Win32" + +[Firefox/41.0*anonymized by Abelssoft*] +Parent="Firefox 41.0" +Platform="Win32" + +[Mozilla/5.0 (masking-agent; rv:*) Gecko* Firefox/41.0*] +Parent="Firefox 41.0" + +[Mozilla/5.0 (*Windows NT 6.0*) Gecko*/41.0*] +Parent="Firefox 41.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) Gecko*/41.0*] +Parent="Firefox 41.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) Gecko*/41.0*] +Parent="Firefox 41.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) Gecko*/41.0*] +Parent="Firefox 41.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) Gecko*/41.0*] +Parent="Firefox 41.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) Gecko*/41.0*] +Parent="Firefox 41.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.0*rv:41.0*) Gecko*/] +Parent="Firefox 41.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*rv:41.0*) Gecko*/] +Parent="Firefox 41.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*rv:41.0*) Gecko*/] +Parent="Firefox 41.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*rv:41.0*) Gecko*/] +Parent="Firefox 41.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*rv:41.0*) Gecko*/] +Parent="Firefox 41.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*rv:41.0*) Gecko*/] +Parent="Firefox 41.0" +Platform="Win10" + +[Mozilla/5.0 (*Mac OS X*) Gecko*/41.0*] +Parent="Firefox 41.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Windows NT 6.4*rv:41.0*) Gecko* Firefox*] +Parent="Firefox 41.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*rv:41.0*) Gecko* Firefox*] +Parent="Firefox 41.0" +Platform="Win10" + +[Firefox 41.0 for Android] +Parent="DefaultProperties" +Comment="Firefox 41.0" +Browser="Firefox" +Version="41.0" +Platform="Android" +isMobileDevice="true" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (*Android*Mobile*) Gecko* Firefox/41.*] +Parent="Firefox 41.0 for Android" + +[Mozilla/5.0 (*Android*Tablet*) Gecko* Firefox/41.*] +Parent="Firefox 41.0 for Android" +isTablet="true" +Device_Type="Tablet" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Firefox 40.0 + +[Firefox 40.0] +Parent="DefaultProperties" +Comment="Firefox 40.0" +Browser="Firefox" +Version="40.0" +Device_Type="Desktop" + +[Mozilla/5.0 (*Linux*) Gecko* Firefox/40.0*] +Parent="Firefox 40.0" +Platform="Linux" + +[Mozilla/5.0 (*Windows NT 6.0*) Gecko* Firefox/40.0*] +Parent="Firefox 40.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 10.0*) Gecko* Firefox/40.0*] +Parent="Firefox 40.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.4*) Gecko* Firefox/40.0*] +Parent="Firefox 40.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.3*) Gecko* Firefox/40.0*] +Parent="Firefox 40.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.2*) Gecko* Firefox/40.0*] +Parent="Firefox 40.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/40.0*] +Parent="Firefox 40.0" +Platform="Win7" + +[Mozilla/5.0 (*Mac OS X*) Gecko* Firefox/40.0*] +Parent="Firefox 40.0" +Platform="MacOSX" + +[Mozilla/4.0 (*Linux*) Gecko* Firefox/40.0*] +Parent="Firefox 40.0" +Platform="Linux" + +[Mozilla/4.0 (*Windows NT 6.0*) Gecko* Firefox/40.0*] +Parent="Firefox 40.0" +Platform="WinVista" + +[Mozilla/4.0 (*Windows NT 10.0*) Gecko* Firefox/40.0*] +Parent="Firefox 40.0" +Platform="Win10" + +[Mozilla/4.0 (*Windows NT 6.4*) Gecko* Firefox/40.0*] +Parent="Firefox 40.0" +Platform="Win10" + +[Mozilla/4.0 (*Windows NT 6.3*) Gecko* Firefox/40.0*] +Parent="Firefox 40.0" +Platform="Win8.1" + +[Mozilla/4.0 (*Windows NT 6.2*) Gecko* Firefox/40.0*] +Parent="Firefox 40.0" +Platform="Win8" + +[Mozilla/4.0 (*Windows NT 6.1*) Gecko* Firefox/40.0*] +Parent="Firefox 40.0" +Platform="Win7" + +[Mozilla/4.0 (*Mac OS X*) Gecko* Firefox/40.0*] +Parent="Firefox 40.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Windows NT 6.0*; rv:40*) Gecko* Firefox/40*anonymized by *] +Parent="Firefox 40.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*; rv:40*) Gecko* Firefox/40*anonymized by *] +Parent="Firefox 40.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows*; rv:40*) Gecko* Firefox/40*anonymized by *] +Parent="Firefox 40.0" +Platform="Win32" + +[Mozilla/5.0 (*Windows NT 6.0*; rv:40*) Gecko* Firefox anonymized by *] +Parent="Firefox 40.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows*; rv:40*) Gecko* Firefox anonymized by *] +Parent="Firefox 40.0" +Platform="Win32" + +[Mozilla/5.0 (*Windows*) Gecko* Firefox/40.0* Anonymisiert*] +Parent="Firefox 40.0" +Platform="Win32" + +[Firefox/40.0*anonymized by Abelssoft*] +Parent="Firefox 40.0" +Platform="Win32" + +[Mozilla/5.0 (masking-agent; rv:*) Gecko* Firefox/40.0*] +Parent="Firefox 40.0" + +[Mozilla/5.0 (*Windows NT 6.0*) Gecko*/40.0*] +Parent="Firefox 40.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 10.0*) Gecko*/40.0*] +Parent="Firefox 40.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.4*) Gecko*/40.0*] +Parent="Firefox 40.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.3*) Gecko*/40.0*] +Parent="Firefox 40.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.2*) Gecko*/40.0*] +Parent="Firefox 40.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.1*) Gecko*/40.0*] +Parent="Firefox 40.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.0*rv:40.0*) Gecko*/] +Parent="Firefox 40.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 10.0*rv:40.0*) Gecko*/] +Parent="Firefox 40.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.4*rv:40.0*) Gecko*/] +Parent="Firefox 40.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.3*rv:40.0*) Gecko*/] +Parent="Firefox 40.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.2*rv:40.0*) Gecko*/] +Parent="Firefox 40.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.1*rv:40.0*) Gecko*/] +Parent="Firefox 40.0" +Platform="Win7" + +[Mozilla/5.0 (*Mac OS X*) Gecko*/40.0*] +Parent="Firefox 40.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Windows NT 6.0*rv:40.0*) Gecko* Firefox] +Parent="Firefox 40.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*rv:40.0*) Gecko* Firefox] +Parent="Firefox 40.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*rv:40.0*) Gecko* Firefox] +Parent="Firefox 40.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*rv:40.0*) Gecko* Firefox] +Parent="Firefox 40.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*rv:40.0*) Gecko* Firefox] +Parent="Firefox 40.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*rv:40.0*) Gecko* Firefox] +Parent="Firefox 40.0" +Platform="Win10" + +[Firefox 40.0 for Android] +Parent="DefaultProperties" +Comment="Firefox 40.0" +Browser="Firefox" +Version="40.0" +Platform="Android" +isMobileDevice="true" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (*Android*Mobile*) Gecko* Firefox/40.*] +Parent="Firefox 40.0 for Android" + +[Mozilla/5.0 (*Android*Tablet*) Gecko* Firefox/40.*] +Parent="Firefox 40.0 for Android" +isTablet="true" +Device_Type="Tablet" + +[Firefox 39.0] +Parent="DefaultProperties" +Comment="Firefox 39.0" +Browser="Firefox" +Version="39.0" +Device_Type="Desktop" + +[Mozilla/5.0 (*Linux*) Gecko* Firefox/39.0*] +Parent="Firefox 39.0" +Platform="Linux" + +[Mozilla/5.0 (*Windows NT 6.0*) Gecko* Firefox/39.0*] +Parent="Firefox 39.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 10.0*) Gecko* Firefox/39.0*] +Parent="Firefox 39.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.4*) Gecko* Firefox/39.0*] +Parent="Firefox 39.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.3*) Gecko* Firefox/39.0*] +Parent="Firefox 39.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.2*) Gecko* Firefox/39.0*] +Parent="Firefox 39.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/39.0*] +Parent="Firefox 39.0" +Platform="Win7" + +[Mozilla/5.0 (*Mac OS X*) Gecko* Firefox/39.0*] +Parent="Firefox 39.0" +Platform="MacOSX" + +[Mozilla/4.0 (*Linux*) Gecko* Firefox/39.0*] +Parent="Firefox 39.0" +Platform="Linux" + +[Mozilla/4.0 (*Windows NT 6.0*) Gecko* Firefox/39.0*] +Parent="Firefox 39.0" +Platform="WinVista" + +[Mozilla/4.0 (*Windows NT 10.0*) Gecko* Firefox/39.0*] +Parent="Firefox 39.0" +Platform="Win10" + +[Mozilla/4.0 (*Windows NT 6.4*) Gecko* Firefox/39.0*] +Parent="Firefox 39.0" +Platform="Win10" + +[Mozilla/4.0 (*Windows NT 6.3*) Gecko* Firefox/39.0*] +Parent="Firefox 39.0" +Platform="Win8.1" + +[Mozilla/4.0 (*Windows NT 6.2*) Gecko* Firefox/39.0*] +Parent="Firefox 39.0" +Platform="Win8" + +[Mozilla/4.0 (*Windows NT 6.1*) Gecko* Firefox/39.0*] +Parent="Firefox 39.0" +Platform="Win7" + +[Mozilla/4.0 (*Mac OS X*) Gecko* Firefox/39.0*] +Parent="Firefox 39.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Windows NT 6.0*; rv:39*) Gecko* Firefox/39*anonymized by *] +Parent="Firefox 39.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*; rv:39*) Gecko* Firefox/39*anonymized by *] +Parent="Firefox 39.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows*; rv:39*) Gecko* Firefox/39*anonymized by *] +Parent="Firefox 39.0" +Platform="Win32" + +[Mozilla/5.0 (*Windows NT 6.0*; rv:39*) Gecko* Firefox anonymized by *] +Parent="Firefox 39.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows*; rv:39*) Gecko* Firefox anonymized by *] +Parent="Firefox 39.0" +Platform="Win32" + +[Mozilla/5.0 (*Windows*) Gecko* Firefox/39.0* Anonymisiert*] +Parent="Firefox 39.0" +Platform="Win32" + +[Firefox/39.0*anonymized by Abelssoft*] +Parent="Firefox 39.0" +Platform="Win32" + +[Mozilla/5.0 (masking-agent; rv:*) Gecko* Firefox/39.0*] +Parent="Firefox 39.0" + +[Mozilla/5.0 (*Windows NT 6.0*) Gecko*/39.0*] +Parent="Firefox 39.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 10.0*) Gecko*/39.0*] +Parent="Firefox 39.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.4*) Gecko*/39.0*] +Parent="Firefox 39.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.3*) Gecko*/39.0*] +Parent="Firefox 39.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.2*) Gecko*/39.0*] +Parent="Firefox 39.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.1*) Gecko*/39.0*] +Parent="Firefox 39.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.0*rv:39.0*) Gecko*/] +Parent="Firefox 39.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 10.0*rv:39.0*) Gecko*/] +Parent="Firefox 39.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.4*rv:39.0*) Gecko*/] +Parent="Firefox 39.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.3*rv:39.0*) Gecko*/] +Parent="Firefox 39.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.2*rv:39.0*) Gecko*/] +Parent="Firefox 39.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.1*rv:39.0*) Gecko*/] +Parent="Firefox 39.0" +Platform="Win7" + +[Mozilla/5.0 (*Mac OS X*) Gecko*/39.0*] +Parent="Firefox 39.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Windows NT 6.0*rv:39.0*) Gecko* Firefox] +Parent="Firefox 39.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*rv:39.0*) Gecko* Firefox] +Parent="Firefox 39.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*rv:39.0*) Gecko* Firefox] +Parent="Firefox 39.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*rv:39.0*) Gecko* Firefox] +Parent="Firefox 39.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*rv:39.0*) Gecko* Firefox] +Parent="Firefox 39.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*rv:39.0*) Gecko* Firefox] +Parent="Firefox 39.0" +Platform="Win10" + +[Firefox 39.0 for Android] +Parent="DefaultProperties" +Comment="Firefox 39.0" +Browser="Firefox" +Version="39.0" +Platform="Android" +isMobileDevice="true" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (*Android*Mobile*) Gecko* Firefox/39.*] +Parent="Firefox 39.0 for Android" + +[Mozilla/5.0 (*Android*Tablet*) Gecko* Firefox/39.*] +Parent="Firefox 39.0 for Android" +isTablet="true" +Device_Type="Tablet" + +[Firefox 38.0] +Parent="DefaultProperties" +Comment="Firefox 38.0" +Browser="Firefox" +Version="38.0" +Device_Type="Desktop" + +[Mozilla/5.0 (*Linux*) Gecko* Firefox/38.0*] +Parent="Firefox 38.0" +Platform="Linux" + +[Mozilla/5.0 (*Windows NT 6.0*) Gecko* Firefox/38.0*] +Parent="Firefox 38.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 10.0*) Gecko* Firefox/38.0*] +Parent="Firefox 38.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.4*) Gecko* Firefox/38.0*] +Parent="Firefox 38.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.3*) Gecko* Firefox/38.0*] +Parent="Firefox 38.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.2*) Gecko* Firefox/38.0*] +Parent="Firefox 38.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/38.0*] +Parent="Firefox 38.0" +Platform="Win7" + +[Mozilla/5.0 (*Mac OS X*) Gecko* Firefox/38.0*] +Parent="Firefox 38.0" +Platform="MacOSX" + +[Mozilla/4.0 (*Linux*) Gecko* Firefox/38.0*] +Parent="Firefox 38.0" +Platform="Linux" + +[Mozilla/4.0 (*Windows NT 6.0*) Gecko* Firefox/38.0*] +Parent="Firefox 38.0" +Platform="WinVista" + +[Mozilla/4.0 (*Windows NT 10.0*) Gecko* Firefox/38.0*] +Parent="Firefox 38.0" +Platform="Win10" + +[Mozilla/4.0 (*Windows NT 6.4*) Gecko* Firefox/38.0*] +Parent="Firefox 38.0" +Platform="Win10" + +[Mozilla/4.0 (*Windows NT 6.3*) Gecko* Firefox/38.0*] +Parent="Firefox 38.0" +Platform="Win8.1" + +[Mozilla/4.0 (*Windows NT 6.2*) Gecko* Firefox/38.0*] +Parent="Firefox 38.0" +Platform="Win8" + +[Mozilla/4.0 (*Windows NT 6.1*) Gecko* Firefox/38.0*] +Parent="Firefox 38.0" +Platform="Win7" + +[Mozilla/4.0 (*Mac OS X*) Gecko* Firefox/38.0*] +Parent="Firefox 38.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Windows NT 6.0*; rv:38*) Gecko* Firefox/38*anonymized by *] +Parent="Firefox 38.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*; rv:38*) Gecko* Firefox/38*anonymized by *] +Parent="Firefox 38.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows*; rv:38*) Gecko* Firefox/38*anonymized by *] +Parent="Firefox 38.0" +Platform="Win32" + +[Mozilla/5.0 (*Windows NT 6.0*; rv:38*) Gecko* Firefox anonymized by *] +Parent="Firefox 38.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows*; rv:38*) Gecko* Firefox anonymized by *] +Parent="Firefox 38.0" +Platform="Win32" + +[Mozilla/5.0 (*Windows*) Gecko* Firefox/38.0* Anonymisiert*] +Parent="Firefox 38.0" +Platform="Win32" + +[Firefox/38.0*anonymized by Abelssoft*] +Parent="Firefox 38.0" +Platform="Win32" + +[Mozilla/5.0 (masking-agent; rv:*) Gecko* Firefox/38.0*] +Parent="Firefox 38.0" + +[Mozilla/5.0 (*Windows NT 6.0*) Gecko*/38.0*] +Parent="Firefox 38.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 10.0*) Gecko*/38.0*] +Parent="Firefox 38.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.4*) Gecko*/38.0*] +Parent="Firefox 38.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.3*) Gecko*/38.0*] +Parent="Firefox 38.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.2*) Gecko*/38.0*] +Parent="Firefox 38.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.1*) Gecko*/38.0*] +Parent="Firefox 38.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.0*rv:38.0*) Gecko*/] +Parent="Firefox 38.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 10.0*rv:38.0*) Gecko*/] +Parent="Firefox 38.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.4*rv:38.0*) Gecko*/] +Parent="Firefox 38.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.3*rv:38.0*) Gecko*/] +Parent="Firefox 38.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.2*rv:38.0*) Gecko*/] +Parent="Firefox 38.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.1*rv:38.0*) Gecko*/] +Parent="Firefox 38.0" +Platform="Win7" + +[Mozilla/5.0 (*Mac OS X*) Gecko*/38.0*] +Parent="Firefox 38.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Windows NT 6.0*rv:38.0*) Gecko* Firefox] +Parent="Firefox 38.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*rv:38.0*) Gecko* Firefox] +Parent="Firefox 38.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*rv:38.0*) Gecko* Firefox] +Parent="Firefox 38.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*rv:38.0*) Gecko* Firefox] +Parent="Firefox 38.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*rv:38.0*) Gecko* Firefox] +Parent="Firefox 38.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*rv:38.0*) Gecko* Firefox] +Parent="Firefox 38.0" +Platform="Win10" + +[Firefox 38.0 for Android] +Parent="DefaultProperties" +Comment="Firefox 38.0" +Browser="Firefox" +Version="38.0" +Platform="Android" +isMobileDevice="true" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (*Android*Mobile*) Gecko* Firefox/38.*] +Parent="Firefox 38.0 for Android" + +[Mozilla/5.0 (*Android*Tablet*) Gecko* Firefox/38.*] +Parent="Firefox 38.0 for Android" +isTablet="true" +Device_Type="Tablet" + +[Firefox 37.0] +Parent="DefaultProperties" +Comment="Firefox 37.0" +Browser="Firefox" +Version="37.0" +Device_Type="Desktop" + +[Mozilla/5.0 (*Linux*) Gecko* Firefox/37.0*] +Parent="Firefox 37.0" +Platform="Linux" + +[Mozilla/5.0 (*Windows NT 6.0*) Gecko* Firefox/37.0*] +Parent="Firefox 37.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 10.0*) Gecko* Firefox/37.0*] +Parent="Firefox 37.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.4*) Gecko* Firefox/37.0*] +Parent="Firefox 37.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.3*) Gecko* Firefox/37.0*] +Parent="Firefox 37.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.2*) Gecko* Firefox/37.0*] +Parent="Firefox 37.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/37.0*] +Parent="Firefox 37.0" +Platform="Win7" + +[Mozilla/5.0 (*Mac OS X*) Gecko* Firefox/37.0*] +Parent="Firefox 37.0" +Platform="MacOSX" + +[Mozilla/4.0 (*Linux*) Gecko* Firefox/37.0*] +Parent="Firefox 37.0" +Platform="Linux" + +[Mozilla/4.0 (*Windows NT 6.0*) Gecko* Firefox/37.0*] +Parent="Firefox 37.0" +Platform="WinVista" + +[Mozilla/4.0 (*Windows NT 10.0*) Gecko* Firefox/37.0*] +Parent="Firefox 37.0" +Platform="Win10" + +[Mozilla/4.0 (*Windows NT 6.4*) Gecko* Firefox/37.0*] +Parent="Firefox 37.0" +Platform="Win10" + +[Mozilla/4.0 (*Windows NT 6.3*) Gecko* Firefox/37.0*] +Parent="Firefox 37.0" +Platform="Win8.1" + +[Mozilla/4.0 (*Windows NT 6.2*) Gecko* Firefox/37.0*] +Parent="Firefox 37.0" +Platform="Win8" + +[Mozilla/4.0 (*Windows NT 6.1*) Gecko* Firefox/37.0*] +Parent="Firefox 37.0" +Platform="Win7" + +[Mozilla/4.0 (*Mac OS X*) Gecko* Firefox/37.0*] +Parent="Firefox 37.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Windows NT 6.0*; rv:37*) Gecko* Firefox/37*anonymized by *] +Parent="Firefox 37.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*; rv:37*) Gecko* Firefox/37*anonymized by *] +Parent="Firefox 37.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows*; rv:37*) Gecko* Firefox/37*anonymized by *] +Parent="Firefox 37.0" +Platform="Win32" + +[Mozilla/5.0 (*Windows NT 6.0*; rv:37*) Gecko* Firefox anonymized by *] +Parent="Firefox 37.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows*; rv:37*) Gecko* Firefox anonymized by *] +Parent="Firefox 37.0" +Platform="Win32" + +[Mozilla/5.0 (*Windows*) Gecko* Firefox/37.0* Anonymisiert*] +Parent="Firefox 37.0" +Platform="Win32" + +[Firefox/37.0*anonymized by Abelssoft*] +Parent="Firefox 37.0" +Platform="Win32" + +[Mozilla/5.0 (masking-agent; rv:*) Gecko* Firefox/37.0*] +Parent="Firefox 37.0" + +[Mozilla/5.0 (*Windows NT 6.0*) Gecko*/37.0*] +Parent="Firefox 37.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 10.0*) Gecko*/37.0*] +Parent="Firefox 37.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.4*) Gecko*/37.0*] +Parent="Firefox 37.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.3*) Gecko*/37.0*] +Parent="Firefox 37.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.2*) Gecko*/37.0*] +Parent="Firefox 37.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.1*) Gecko*/37.0*] +Parent="Firefox 37.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.0*rv:37.0*) Gecko*/] +Parent="Firefox 37.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 10.0*rv:37.0*) Gecko*/] +Parent="Firefox 37.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.4*rv:37.0*) Gecko*/] +Parent="Firefox 37.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.3*rv:37.0*) Gecko*/] +Parent="Firefox 37.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.2*rv:37.0*) Gecko*/] +Parent="Firefox 37.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.1*rv:37.0*) Gecko*/] +Parent="Firefox 37.0" +Platform="Win7" + +[Mozilla/5.0 (*Mac OS X*) Gecko*/37.0*] +Parent="Firefox 37.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Windows NT 6.0*rv:37.0*) Gecko* Firefox] +Parent="Firefox 37.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*rv:37.0*) Gecko* Firefox] +Parent="Firefox 37.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*rv:37.0*) Gecko* Firefox] +Parent="Firefox 37.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*rv:37.0*) Gecko* Firefox] +Parent="Firefox 37.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*rv:37.0*) Gecko* Firefox] +Parent="Firefox 37.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*rv:37.0*) Gecko* Firefox] +Parent="Firefox 37.0" +Platform="Win10" + +[Firefox 37.0 for Android] +Parent="DefaultProperties" +Comment="Firefox 37.0" +Browser="Firefox" +Version="37.0" +Platform="Android" +isMobileDevice="true" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (*Android*Mobile*) Gecko* Firefox/37.*] +Parent="Firefox 37.0 for Android" + +[Mozilla/5.0 (*Android*Tablet*) Gecko* Firefox/37.*] +Parent="Firefox 37.0 for Android" +isTablet="true" +Device_Type="Tablet" + +[Firefox 36.0] +Parent="DefaultProperties" +Comment="Firefox 36.0" +Browser="Firefox" +Version="36.0" +Device_Type="Desktop" + +[Mozilla/5.0 (*Linux*) Gecko* Firefox/36.0*] +Parent="Firefox 36.0" +Platform="Linux" + +[Mozilla/5.0 (*Windows NT 6.0*) Gecko* Firefox/36.0*] +Parent="Firefox 36.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 10.0*) Gecko* Firefox/36.0*] +Parent="Firefox 36.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.4*) Gecko* Firefox/36.0*] +Parent="Firefox 36.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.3*) Gecko* Firefox/36.0*] +Parent="Firefox 36.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.2*) Gecko* Firefox/36.0*] +Parent="Firefox 36.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/36.0*] +Parent="Firefox 36.0" +Platform="Win7" + +[Mozilla/5.0 (*Mac OS X*) Gecko* Firefox/36.0*] +Parent="Firefox 36.0" +Platform="MacOSX" + +[Mozilla/4.0 (*Linux*) Gecko* Firefox/36.0*] +Parent="Firefox 36.0" +Platform="Linux" + +[Mozilla/4.0 (*Windows NT 6.0*) Gecko* Firefox/36.0*] +Parent="Firefox 36.0" +Platform="WinVista" + +[Mozilla/4.0 (*Windows NT 10.0*) Gecko* Firefox/36.0*] +Parent="Firefox 36.0" +Platform="Win10" + +[Mozilla/4.0 (*Windows NT 6.4*) Gecko* Firefox/36.0*] +Parent="Firefox 36.0" +Platform="Win10" + +[Mozilla/4.0 (*Windows NT 6.3*) Gecko* Firefox/36.0*] +Parent="Firefox 36.0" +Platform="Win8.1" + +[Mozilla/4.0 (*Windows NT 6.2*) Gecko* Firefox/36.0*] +Parent="Firefox 36.0" +Platform="Win8" + +[Mozilla/4.0 (*Windows NT 6.1*) Gecko* Firefox/36.0*] +Parent="Firefox 36.0" +Platform="Win7" + +[Mozilla/4.0 (*Mac OS X*) Gecko* Firefox/36.0*] +Parent="Firefox 36.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Windows NT 6.0*; rv:36*) Gecko* Firefox/36*anonymized by *] +Parent="Firefox 36.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*; rv:36*) Gecko* Firefox/36*anonymized by *] +Parent="Firefox 36.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows*; rv:36*) Gecko* Firefox/36*anonymized by *] +Parent="Firefox 36.0" +Platform="Win32" + +[Mozilla/5.0 (*Windows NT 6.0*; rv:36*) Gecko* Firefox anonymized by *] +Parent="Firefox 36.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows*; rv:36*) Gecko* Firefox anonymized by *] +Parent="Firefox 36.0" +Platform="Win32" + +[Mozilla/5.0 (*Windows*) Gecko* Firefox/36.0* Anonymisiert*] +Parent="Firefox 36.0" +Platform="Win32" + +[Firefox/36.0*anonymized by Abelssoft*] +Parent="Firefox 36.0" +Platform="Win32" + +[Mozilla/5.0 (masking-agent; rv:*) Gecko* Firefox/36.0*] +Parent="Firefox 36.0" + +[Mozilla/5.0 (*Windows NT 6.0*) Gecko*/36.0*] +Parent="Firefox 36.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 10.0*) Gecko*/36.0*] +Parent="Firefox 36.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.4*) Gecko*/36.0*] +Parent="Firefox 36.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.3*) Gecko*/36.0*] +Parent="Firefox 36.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.2*) Gecko*/36.0*] +Parent="Firefox 36.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.1*) Gecko*/36.0*] +Parent="Firefox 36.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.0*rv:36.0*) Gecko*/] +Parent="Firefox 36.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 10.0*rv:36.0*) Gecko*/] +Parent="Firefox 36.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.4*rv:36.0*) Gecko*/] +Parent="Firefox 36.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.3*rv:36.0*) Gecko*/] +Parent="Firefox 36.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.2*rv:36.0*) Gecko*/] +Parent="Firefox 36.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.1*rv:36.0*) Gecko*/] +Parent="Firefox 36.0" +Platform="Win7" + +[Mozilla/5.0 (*Mac OS X*) Gecko*/36.0*] +Parent="Firefox 36.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Windows NT 6.0*rv:36.0*) Gecko* Firefox] +Parent="Firefox 36.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*rv:36.0*) Gecko* Firefox] +Parent="Firefox 36.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*rv:36.0*) Gecko* Firefox] +Parent="Firefox 36.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*rv:36.0*) Gecko* Firefox] +Parent="Firefox 36.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*rv:36.0*) Gecko* Firefox] +Parent="Firefox 36.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*rv:36.0*) Gecko* Firefox] +Parent="Firefox 36.0" +Platform="Win10" + +[Firefox 36.0 for Android] +Parent="DefaultProperties" +Comment="Firefox 36.0" +Browser="Firefox" +Version="36.0" +Platform="Android" +isMobileDevice="true" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (*Android*Mobile*) Gecko* Firefox/36.*] +Parent="Firefox 36.0 for Android" + +[Mozilla/5.0 (*Android*Tablet*) Gecko* Firefox/36.*] +Parent="Firefox 36.0 for Android" +isTablet="true" +Device_Type="Tablet" + +[Firefox 35.0] +Parent="DefaultProperties" +Comment="Firefox 35.0" +Browser="Firefox" +Version="35.0" +Device_Type="Desktop" + +[Mozilla/5.0 (*Linux*) Gecko* Firefox/35.0*] +Parent="Firefox 35.0" +Platform="Linux" + +[Mozilla/5.0 (*Windows NT 6.0*) Gecko* Firefox/35.0*] +Parent="Firefox 35.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 10.0*) Gecko* Firefox/35.0*] +Parent="Firefox 35.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.4*) Gecko* Firefox/35.0*] +Parent="Firefox 35.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.3*) Gecko* Firefox/35.0*] +Parent="Firefox 35.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.2*) Gecko* Firefox/35.0*] +Parent="Firefox 35.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/35.0*] +Parent="Firefox 35.0" +Platform="Win7" + +[Mozilla/5.0 (*Mac OS X*) Gecko* Firefox/35.0*] +Parent="Firefox 35.0" +Platform="MacOSX" + +[Mozilla/4.0 (*Linux*) Gecko* Firefox/35.0*] +Parent="Firefox 35.0" +Platform="Linux" + +[Mozilla/4.0 (*Windows NT 6.0*) Gecko* Firefox/35.0*] +Parent="Firefox 35.0" +Platform="WinVista" + +[Mozilla/4.0 (*Windows NT 10.0*) Gecko* Firefox/35.0*] +Parent="Firefox 35.0" +Platform="Win10" + +[Mozilla/4.0 (*Windows NT 6.4*) Gecko* Firefox/35.0*] +Parent="Firefox 35.0" +Platform="Win10" + +[Mozilla/4.0 (*Windows NT 6.3*) Gecko* Firefox/35.0*] +Parent="Firefox 35.0" +Platform="Win8.1" + +[Mozilla/4.0 (*Windows NT 6.2*) Gecko* Firefox/35.0*] +Parent="Firefox 35.0" +Platform="Win8" + +[Mozilla/4.0 (*Windows NT 6.1*) Gecko* Firefox/35.0*] +Parent="Firefox 35.0" +Platform="Win7" + +[Mozilla/4.0 (*Mac OS X*) Gecko* Firefox/35.0*] +Parent="Firefox 35.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Windows NT 6.0*; rv:35*) Gecko* Firefox/35*anonymized by *] +Parent="Firefox 35.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*; rv:35*) Gecko* Firefox/35*anonymized by *] +Parent="Firefox 35.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows*; rv:35*) Gecko* Firefox/35*anonymized by *] +Parent="Firefox 35.0" +Platform="Win32" + +[Mozilla/5.0 (*Windows NT 6.0*; rv:35*) Gecko* Firefox anonymized by *] +Parent="Firefox 35.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows*; rv:35*) Gecko* Firefox anonymized by *] +Parent="Firefox 35.0" +Platform="Win32" + +[Mozilla/5.0 (*Windows*) Gecko* Firefox/35.0* Anonymisiert*] +Parent="Firefox 35.0" +Platform="Win32" + +[Firefox/35.0*anonymized by Abelssoft*] +Parent="Firefox 35.0" +Platform="Win32" + +[Mozilla/5.0 (masking-agent; rv:*) Gecko* Firefox/35.0*] +Parent="Firefox 35.0" + +[Mozilla/5.0 (*Windows NT 6.0*) Gecko*/35.0*] +Parent="Firefox 35.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 10.0*) Gecko*/35.0*] +Parent="Firefox 35.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.4*) Gecko*/35.0*] +Parent="Firefox 35.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.3*) Gecko*/35.0*] +Parent="Firefox 35.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.2*) Gecko*/35.0*] +Parent="Firefox 35.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.1*) Gecko*/35.0*] +Parent="Firefox 35.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.0*rv:35.0*) Gecko*/] +Parent="Firefox 35.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 10.0*rv:35.0*) Gecko*/] +Parent="Firefox 35.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.4*rv:35.0*) Gecko*/] +Parent="Firefox 35.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.3*rv:35.0*) Gecko*/] +Parent="Firefox 35.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.2*rv:35.0*) Gecko*/] +Parent="Firefox 35.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.1*rv:35.0*) Gecko*/] +Parent="Firefox 35.0" +Platform="Win7" + +[Mozilla/5.0 (*Mac OS X*) Gecko*/35.0*] +Parent="Firefox 35.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Windows NT 6.0*rv:35.0*) Gecko* Firefox] +Parent="Firefox 35.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*rv:35.0*) Gecko* Firefox] +Parent="Firefox 35.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*rv:35.0*) Gecko* Firefox] +Parent="Firefox 35.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*rv:35.0*) Gecko* Firefox] +Parent="Firefox 35.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*rv:35.0*) Gecko* Firefox] +Parent="Firefox 35.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*rv:35.0*) Gecko* Firefox] +Parent="Firefox 35.0" +Platform="Win10" + +[Firefox 35.0 for Android] +Parent="DefaultProperties" +Comment="Firefox 35.0" +Browser="Firefox" +Version="35.0" +Platform="Android" +isMobileDevice="true" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (*Android*Mobile*) Gecko* Firefox/35.*] +Parent="Firefox 35.0 for Android" + +[Mozilla/5.0 (*Android*Tablet*) Gecko* Firefox/35.*] +Parent="Firefox 35.0 for Android" +isTablet="true" +Device_Type="Tablet" + +[Firefox 34.0] +Parent="DefaultProperties" +Comment="Firefox 34.0" +Browser="Firefox" +Version="34.0" +Device_Type="Desktop" + +[Mozilla/5.0 (*Linux*) Gecko* Firefox/34.0*] +Parent="Firefox 34.0" +Platform="Linux" + +[Mozilla/5.0 (*Windows NT 6.0*) Gecko* Firefox/34.0*] +Parent="Firefox 34.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 10.0*) Gecko* Firefox/34.0*] +Parent="Firefox 34.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.4*) Gecko* Firefox/34.0*] +Parent="Firefox 34.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.3*) Gecko* Firefox/34.0*] +Parent="Firefox 34.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.2*) Gecko* Firefox/34.0*] +Parent="Firefox 34.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/34.0*] +Parent="Firefox 34.0" +Platform="Win7" + +[Mozilla/5.0 (*Mac OS X*) Gecko* Firefox/34.0*] +Parent="Firefox 34.0" +Platform="MacOSX" + +[Mozilla/4.0 (*Linux*) Gecko* Firefox/34.0*] +Parent="Firefox 34.0" +Platform="Linux" + +[Mozilla/4.0 (*Windows NT 6.0*) Gecko* Firefox/34.0*] +Parent="Firefox 34.0" +Platform="WinVista" + +[Mozilla/4.0 (*Windows NT 10.0*) Gecko* Firefox/34.0*] +Parent="Firefox 34.0" +Platform="Win10" + +[Mozilla/4.0 (*Windows NT 6.4*) Gecko* Firefox/34.0*] +Parent="Firefox 34.0" +Platform="Win10" + +[Mozilla/4.0 (*Windows NT 6.3*) Gecko* Firefox/34.0*] +Parent="Firefox 34.0" +Platform="Win8.1" + +[Mozilla/4.0 (*Windows NT 6.2*) Gecko* Firefox/34.0*] +Parent="Firefox 34.0" +Platform="Win8" + +[Mozilla/4.0 (*Windows NT 6.1*) Gecko* Firefox/34.0*] +Parent="Firefox 34.0" +Platform="Win7" + +[Mozilla/4.0 (*Mac OS X*) Gecko* Firefox/34.0*] +Parent="Firefox 34.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Windows NT 6.0*; rv:34*) Gecko* Firefox/34*anonymized by *] +Parent="Firefox 34.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*; rv:34*) Gecko* Firefox/34*anonymized by *] +Parent="Firefox 34.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows*; rv:34*) Gecko* Firefox/34*anonymized by *] +Parent="Firefox 34.0" +Platform="Win32" + +[Mozilla/5.0 (*Windows NT 6.0*; rv:34*) Gecko* Firefox anonymized by *] +Parent="Firefox 34.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows*; rv:34*) Gecko* Firefox anonymized by *] +Parent="Firefox 34.0" +Platform="Win32" + +[Mozilla/5.0 (*Windows*) Gecko* Firefox/34.0* Anonymisiert*] +Parent="Firefox 34.0" +Platform="Win32" + +[Firefox/34.0*anonymized by Abelssoft*] +Parent="Firefox 34.0" +Platform="Win32" + +[Mozilla/5.0 (masking-agent; rv:*) Gecko* Firefox/34.0*] +Parent="Firefox 34.0" + +[Mozilla/5.0 (*Windows NT 6.0*) Gecko*/34.0*] +Parent="Firefox 34.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 10.0*) Gecko*/34.0*] +Parent="Firefox 34.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.4*) Gecko*/34.0*] +Parent="Firefox 34.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.3*) Gecko*/34.0*] +Parent="Firefox 34.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.2*) Gecko*/34.0*] +Parent="Firefox 34.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.1*) Gecko*/34.0*] +Parent="Firefox 34.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.0*rv:34.0*) Gecko*/] +Parent="Firefox 34.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 10.0*rv:34.0*) Gecko*/] +Parent="Firefox 34.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.4*rv:34.0*) Gecko*/] +Parent="Firefox 34.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.3*rv:34.0*) Gecko*/] +Parent="Firefox 34.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.2*rv:34.0*) Gecko*/] +Parent="Firefox 34.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.1*rv:34.0*) Gecko*/] +Parent="Firefox 34.0" +Platform="Win7" + +[Mozilla/5.0 (*Mac OS X*) Gecko*/34.0*] +Parent="Firefox 34.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Windows NT 6.0*rv:34.0*) Gecko* Firefox] +Parent="Firefox 34.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*rv:34.0*) Gecko* Firefox] +Parent="Firefox 34.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*rv:34.0*) Gecko* Firefox] +Parent="Firefox 34.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*rv:34.0*) Gecko* Firefox] +Parent="Firefox 34.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*rv:34.0*) Gecko* Firefox] +Parent="Firefox 34.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*rv:34.0*) Gecko* Firefox] +Parent="Firefox 34.0" +Platform="Win10" + +[Firefox 34.0 for Android] +Parent="DefaultProperties" +Comment="Firefox 34.0" +Browser="Firefox" +Version="34.0" +Platform="Android" +isMobileDevice="true" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (*Android*Mobile*) Gecko* Firefox/34.*] +Parent="Firefox 34.0 for Android" + +[Mozilla/5.0 (*Android*Tablet*) Gecko* Firefox/34.*] +Parent="Firefox 34.0 for Android" +isTablet="true" +Device_Type="Tablet" + +[Firefox 33.0] +Parent="DefaultProperties" +Comment="Firefox 33.0" +Browser="Firefox" +Version="33.0" +Device_Type="Desktop" + +[Mozilla/5.0 (*Linux*) Gecko* Firefox/33.0*] +Parent="Firefox 33.0" +Platform="Linux" + +[Mozilla/5.0 (*Windows NT 6.0*) Gecko* Firefox/33.0*] +Parent="Firefox 33.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 10.0*) Gecko* Firefox/33.0*] +Parent="Firefox 33.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.4*) Gecko* Firefox/33.0*] +Parent="Firefox 33.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.3*) Gecko* Firefox/33.0*] +Parent="Firefox 33.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.2*) Gecko* Firefox/33.0*] +Parent="Firefox 33.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/33.0*] +Parent="Firefox 33.0" +Platform="Win7" + +[Mozilla/5.0 (*Mac OS X*) Gecko* Firefox/33.0*] +Parent="Firefox 33.0" +Platform="MacOSX" + +[Mozilla/4.0 (*Linux*) Gecko* Firefox/33.0*] +Parent="Firefox 33.0" +Platform="Linux" + +[Mozilla/4.0 (*Windows NT 6.0*) Gecko* Firefox/33.0*] +Parent="Firefox 33.0" +Platform="WinVista" + +[Mozilla/4.0 (*Windows NT 10.0*) Gecko* Firefox/33.0*] +Parent="Firefox 33.0" +Platform="Win10" + +[Mozilla/4.0 (*Windows NT 6.4*) Gecko* Firefox/33.0*] +Parent="Firefox 33.0" +Platform="Win10" + +[Mozilla/4.0 (*Windows NT 6.3*) Gecko* Firefox/33.0*] +Parent="Firefox 33.0" +Platform="Win8.1" + +[Mozilla/4.0 (*Windows NT 6.2*) Gecko* Firefox/33.0*] +Parent="Firefox 33.0" +Platform="Win8" + +[Mozilla/4.0 (*Windows NT 6.1*) Gecko* Firefox/33.0*] +Parent="Firefox 33.0" +Platform="Win7" + +[Mozilla/4.0 (*Mac OS X*) Gecko* Firefox/33.0*] +Parent="Firefox 33.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Windows NT 6.0*; rv:33*) Gecko* Firefox/33*anonymized by *] +Parent="Firefox 33.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*; rv:33*) Gecko* Firefox/33*anonymized by *] +Parent="Firefox 33.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows*; rv:33*) Gecko* Firefox/33*anonymized by *] +Parent="Firefox 33.0" +Platform="Win32" + +[Mozilla/5.0 (*Windows NT 6.0*; rv:33*) Gecko* Firefox anonymized by *] +Parent="Firefox 33.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows*; rv:33*) Gecko* Firefox anonymized by *] +Parent="Firefox 33.0" +Platform="Win32" + +[Mozilla/5.0 (*Windows*) Gecko* Firefox/33.0* Anonymisiert*] +Parent="Firefox 33.0" +Platform="Win32" + +[Firefox/33.0*anonymized by Abelssoft*] +Parent="Firefox 33.0" +Platform="Win32" + +[Mozilla/5.0 (masking-agent; rv:*) Gecko* Firefox/33.0*] +Parent="Firefox 33.0" + +[Mozilla/5.0 (*Windows NT 6.0*) Gecko*/33.0*] +Parent="Firefox 33.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 10.0*) Gecko*/33.0*] +Parent="Firefox 33.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.4*) Gecko*/33.0*] +Parent="Firefox 33.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.3*) Gecko*/33.0*] +Parent="Firefox 33.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.2*) Gecko*/33.0*] +Parent="Firefox 33.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.1*) Gecko*/33.0*] +Parent="Firefox 33.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.0*rv:33.0*) Gecko*/] +Parent="Firefox 33.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 10.0*rv:33.0*) Gecko*/] +Parent="Firefox 33.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.4*rv:33.0*) Gecko*/] +Parent="Firefox 33.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.3*rv:33.0*) Gecko*/] +Parent="Firefox 33.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.2*rv:33.0*) Gecko*/] +Parent="Firefox 33.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.1*rv:33.0*) Gecko*/] +Parent="Firefox 33.0" +Platform="Win7" + +[Mozilla/5.0 (*Mac OS X*) Gecko*/33.0*] +Parent="Firefox 33.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Windows NT 6.0*rv:33.0*) Gecko* Firefox] +Parent="Firefox 33.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*rv:33.0*) Gecko* Firefox] +Parent="Firefox 33.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*rv:33.0*) Gecko* Firefox] +Parent="Firefox 33.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*rv:33.0*) Gecko* Firefox] +Parent="Firefox 33.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*rv:33.0*) Gecko* Firefox] +Parent="Firefox 33.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*rv:33.0*) Gecko* Firefox] +Parent="Firefox 33.0" +Platform="Win10" + +[Firefox 33.0 for Android] +Parent="DefaultProperties" +Comment="Firefox 33.0" +Browser="Firefox" +Version="33.0" +Platform="Android" +isMobileDevice="true" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (*Android*Mobile*) Gecko* Firefox/33.*] +Parent="Firefox 33.0 for Android" + +[Mozilla/5.0 (*Android*Tablet*) Gecko* Firefox/33.*] +Parent="Firefox 33.0 for Android" +isTablet="true" +Device_Type="Tablet" + +[Firefox 32.0] +Parent="DefaultProperties" +Comment="Firefox 32.0" +Browser="Firefox" +Version="32.0" +Device_Type="Desktop" + +[Mozilla/5.0 (*Linux*) Gecko* Firefox/32.0*] +Parent="Firefox 32.0" +Platform="Linux" + +[Mozilla/5.0 (*Windows NT 6.0*) Gecko* Firefox/32.0*] +Parent="Firefox 32.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 10.0*) Gecko* Firefox/32.0*] +Parent="Firefox 32.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.4*) Gecko* Firefox/32.0*] +Parent="Firefox 32.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.3*) Gecko* Firefox/32.0*] +Parent="Firefox 32.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.2*) Gecko* Firefox/32.0*] +Parent="Firefox 32.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/32.0*] +Parent="Firefox 32.0" +Platform="Win7" + +[Mozilla/5.0 (*Mac OS X*) Gecko* Firefox/32.0*] +Parent="Firefox 32.0" +Platform="MacOSX" + +[Mozilla/4.0 (*Linux*) Gecko* Firefox/32.0*] +Parent="Firefox 32.0" +Platform="Linux" + +[Mozilla/4.0 (*Windows NT 6.0*) Gecko* Firefox/32.0*] +Parent="Firefox 32.0" +Platform="WinVista" + +[Mozilla/4.0 (*Windows NT 10.0*) Gecko* Firefox/32.0*] +Parent="Firefox 32.0" +Platform="Win10" + +[Mozilla/4.0 (*Windows NT 6.4*) Gecko* Firefox/32.0*] +Parent="Firefox 32.0" +Platform="Win10" + +[Mozilla/4.0 (*Windows NT 6.3*) Gecko* Firefox/32.0*] +Parent="Firefox 32.0" +Platform="Win8.1" + +[Mozilla/4.0 (*Windows NT 6.2*) Gecko* Firefox/32.0*] +Parent="Firefox 32.0" +Platform="Win8" + +[Mozilla/4.0 (*Windows NT 6.1*) Gecko* Firefox/32.0*] +Parent="Firefox 32.0" +Platform="Win7" + +[Mozilla/4.0 (*Mac OS X*) Gecko* Firefox/32.0*] +Parent="Firefox 32.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Windows NT 6.0*; rv:32*) Gecko* Firefox/32*anonymized by *] +Parent="Firefox 32.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*; rv:32*) Gecko* Firefox/32*anonymized by *] +Parent="Firefox 32.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows*; rv:32*) Gecko* Firefox/32*anonymized by *] +Parent="Firefox 32.0" +Platform="Win32" + +[Mozilla/5.0 (*Windows NT 6.0*; rv:32*) Gecko* Firefox anonymized by *] +Parent="Firefox 32.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows*; rv:32*) Gecko* Firefox anonymized by *] +Parent="Firefox 32.0" +Platform="Win32" + +[Mozilla/5.0 (*Windows*) Gecko* Firefox/32.0* Anonymisiert*] +Parent="Firefox 32.0" +Platform="Win32" + +[Firefox/32.0*anonymized by Abelssoft*] +Parent="Firefox 32.0" +Platform="Win32" + +[Mozilla/5.0 (masking-agent; rv:*) Gecko* Firefox/32.0*] +Parent="Firefox 32.0" + +[Mozilla/5.0 (*Windows NT 6.0*) Gecko*/32.0*] +Parent="Firefox 32.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 10.0*) Gecko*/32.0*] +Parent="Firefox 32.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.4*) Gecko*/32.0*] +Parent="Firefox 32.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.3*) Gecko*/32.0*] +Parent="Firefox 32.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.2*) Gecko*/32.0*] +Parent="Firefox 32.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.1*) Gecko*/32.0*] +Parent="Firefox 32.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.0*rv:32.0*) Gecko*/] +Parent="Firefox 32.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 10.0*rv:32.0*) Gecko*/] +Parent="Firefox 32.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.4*rv:32.0*) Gecko*/] +Parent="Firefox 32.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.3*rv:32.0*) Gecko*/] +Parent="Firefox 32.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.2*rv:32.0*) Gecko*/] +Parent="Firefox 32.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.1*rv:32.0*) Gecko*/] +Parent="Firefox 32.0" +Platform="Win7" + +[Mozilla/5.0 (*Mac OS X*) Gecko*/32.0*] +Parent="Firefox 32.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Windows NT 6.0*rv:32.0*) Gecko* Firefox] +Parent="Firefox 32.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*rv:32.0*) Gecko* Firefox] +Parent="Firefox 32.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*rv:32.0*) Gecko* Firefox] +Parent="Firefox 32.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*rv:32.0*) Gecko* Firefox] +Parent="Firefox 32.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*rv:32.0*) Gecko* Firefox] +Parent="Firefox 32.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*rv:32.0*) Gecko* Firefox] +Parent="Firefox 32.0" +Platform="Win10" + +[Firefox 32.0 for Android] +Parent="DefaultProperties" +Comment="Firefox 32.0" +Browser="Firefox" +Version="32.0" +Platform="Android" +isMobileDevice="true" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (*Android*Mobile*) Gecko* Firefox/32.*] +Parent="Firefox 32.0 for Android" + +[Mozilla/5.0 (*Android*Tablet*) Gecko* Firefox/32.*] +Parent="Firefox 32.0 for Android" +isTablet="true" +Device_Type="Tablet" + +[Firefox 31.0] +Parent="DefaultProperties" +Comment="Firefox 31.0" +Browser="Firefox" +Version="31.0" +Device_Type="Desktop" + +[Mozilla/5.0 (*Linux*) Gecko* Firefox/31.0*] +Parent="Firefox 31.0" +Platform="Linux" + +[Mozilla/5.0 (*Windows NT 6.0*) Gecko* Firefox/31.0*] +Parent="Firefox 31.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 10.0*) Gecko* Firefox/31.0*] +Parent="Firefox 31.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.4*) Gecko* Firefox/31.0*] +Parent="Firefox 31.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.3*) Gecko* Firefox/31.0*] +Parent="Firefox 31.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.2*) Gecko* Firefox/31.0*] +Parent="Firefox 31.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/31.0*] +Parent="Firefox 31.0" +Platform="Win7" + +[Mozilla/5.0 (*Mac OS X*) Gecko* Firefox/31.0*] +Parent="Firefox 31.0" +Platform="MacOSX" + +[Mozilla/4.0 (*Linux*) Gecko* Firefox/31.0*] +Parent="Firefox 31.0" +Platform="Linux" + +[Mozilla/4.0 (*Windows NT 6.0*) Gecko* Firefox/31.0*] +Parent="Firefox 31.0" +Platform="WinVista" + +[Mozilla/4.0 (*Windows NT 10.0*) Gecko* Firefox/31.0*] +Parent="Firefox 31.0" +Platform="Win10" + +[Mozilla/4.0 (*Windows NT 6.4*) Gecko* Firefox/31.0*] +Parent="Firefox 31.0" +Platform="Win10" + +[Mozilla/4.0 (*Windows NT 6.3*) Gecko* Firefox/31.0*] +Parent="Firefox 31.0" +Platform="Win8.1" + +[Mozilla/4.0 (*Windows NT 6.2*) Gecko* Firefox/31.0*] +Parent="Firefox 31.0" +Platform="Win8" + +[Mozilla/4.0 (*Windows NT 6.1*) Gecko* Firefox/31.0*] +Parent="Firefox 31.0" +Platform="Win7" + +[Mozilla/4.0 (*Mac OS X*) Gecko* Firefox/31.0*] +Parent="Firefox 31.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Windows NT 6.0*; rv:31*) Gecko* Firefox/31*anonymized by *] +Parent="Firefox 31.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*; rv:31*) Gecko* Firefox/31*anonymized by *] +Parent="Firefox 31.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows*; rv:31*) Gecko* Firefox/31*anonymized by *] +Parent="Firefox 31.0" +Platform="Win32" + +[Mozilla/5.0 (*Windows NT 6.0*; rv:31*) Gecko* Firefox anonymized by *] +Parent="Firefox 31.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows*; rv:31*) Gecko* Firefox anonymized by *] +Parent="Firefox 31.0" +Platform="Win32" + +[Mozilla/5.0 (*Windows*) Gecko* Firefox/31.0* Anonymisiert*] +Parent="Firefox 31.0" +Platform="Win32" + +[Firefox/31.0*anonymized by Abelssoft*] +Parent="Firefox 31.0" +Platform="Win32" + +[Mozilla/5.0 (masking-agent; rv:*) Gecko* Firefox/31.0*] +Parent="Firefox 31.0" + +[Mozilla/5.0 (*Windows NT 6.0*) Gecko*/31.0*] +Parent="Firefox 31.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 10.0*) Gecko*/31.0*] +Parent="Firefox 31.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.4*) Gecko*/31.0*] +Parent="Firefox 31.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.3*) Gecko*/31.0*] +Parent="Firefox 31.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.2*) Gecko*/31.0*] +Parent="Firefox 31.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.1*) Gecko*/31.0*] +Parent="Firefox 31.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.0*rv:31.0*) Gecko*/] +Parent="Firefox 31.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 10.0*rv:31.0*) Gecko*/] +Parent="Firefox 31.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.4*rv:31.0*) Gecko*/] +Parent="Firefox 31.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.3*rv:31.0*) Gecko*/] +Parent="Firefox 31.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.2*rv:31.0*) Gecko*/] +Parent="Firefox 31.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.1*rv:31.0*) Gecko*/] +Parent="Firefox 31.0" +Platform="Win7" + +[Mozilla/5.0 (*Mac OS X*) Gecko*/31.0*] +Parent="Firefox 31.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Windows NT 6.0*rv:31.0*) Gecko* Firefox] +Parent="Firefox 31.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*rv:31.0*) Gecko* Firefox] +Parent="Firefox 31.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*rv:31.0*) Gecko* Firefox] +Parent="Firefox 31.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*rv:31.0*) Gecko* Firefox] +Parent="Firefox 31.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*rv:31.0*) Gecko* Firefox] +Parent="Firefox 31.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*rv:31.0*) Gecko* Firefox] +Parent="Firefox 31.0" +Platform="Win10" + +[Firefox 31.0 for Android] +Parent="DefaultProperties" +Comment="Firefox 31.0" +Browser="Firefox" +Version="31.0" +Platform="Android" +isMobileDevice="true" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (*Android*Mobile*) Gecko* Firefox/31.*] +Parent="Firefox 31.0 for Android" + +[Mozilla/5.0 (*Android*Tablet*) Gecko* Firefox/31.*] +Parent="Firefox 31.0 for Android" +isTablet="true" +Device_Type="Tablet" + +[Firefox 30.0] +Parent="DefaultProperties" +Comment="Firefox 30.0" +Browser="Firefox" +Version="30.0" +Device_Type="Desktop" + +[Mozilla/5.0 (*Linux*) Gecko* Firefox/30.0*] +Parent="Firefox 30.0" +Platform="Linux" + +[Mozilla/5.0 (*Windows NT 6.0*) Gecko* Firefox/30.0*] +Parent="Firefox 30.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 10.0*) Gecko* Firefox/30.0*] +Parent="Firefox 30.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.4*) Gecko* Firefox/30.0*] +Parent="Firefox 30.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.3*) Gecko* Firefox/30.0*] +Parent="Firefox 30.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.2*) Gecko* Firefox/30.0*] +Parent="Firefox 30.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/30.0*] +Parent="Firefox 30.0" +Platform="Win7" + +[Mozilla/5.0 (*Mac OS X*) Gecko* Firefox/30.0*] +Parent="Firefox 30.0" +Platform="MacOSX" + +[Mozilla/4.0 (*Linux*) Gecko* Firefox/30.0*] +Parent="Firefox 30.0" +Platform="Linux" + +[Mozilla/4.0 (*Windows NT 6.0*) Gecko* Firefox/30.0*] +Parent="Firefox 30.0" +Platform="WinVista" + +[Mozilla/4.0 (*Windows NT 10.0*) Gecko* Firefox/30.0*] +Parent="Firefox 30.0" +Platform="Win10" + +[Mozilla/4.0 (*Windows NT 6.4*) Gecko* Firefox/30.0*] +Parent="Firefox 30.0" +Platform="Win10" + +[Mozilla/4.0 (*Windows NT 6.3*) Gecko* Firefox/30.0*] +Parent="Firefox 30.0" +Platform="Win8.1" + +[Mozilla/4.0 (*Windows NT 6.2*) Gecko* Firefox/30.0*] +Parent="Firefox 30.0" +Platform="Win8" + +[Mozilla/4.0 (*Windows NT 6.1*) Gecko* Firefox/30.0*] +Parent="Firefox 30.0" +Platform="Win7" + +[Mozilla/4.0 (*Mac OS X*) Gecko* Firefox/30.0*] +Parent="Firefox 30.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Windows NT 6.0*; rv:30*) Gecko* Firefox/30*anonymized by *] +Parent="Firefox 30.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*; rv:30*) Gecko* Firefox/30*anonymized by *] +Parent="Firefox 30.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows*; rv:30*) Gecko* Firefox/30*anonymized by *] +Parent="Firefox 30.0" +Platform="Win32" + +[Mozilla/5.0 (*Windows NT 6.0*; rv:30*) Gecko* Firefox anonymized by *] +Parent="Firefox 30.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows*; rv:30*) Gecko* Firefox anonymized by *] +Parent="Firefox 30.0" +Platform="Win32" + +[Mozilla/5.0 (*Windows*) Gecko* Firefox/30.0* Anonymisiert*] +Parent="Firefox 30.0" +Platform="Win32" + +[Firefox/30.0*anonymized by Abelssoft*] +Parent="Firefox 30.0" +Platform="Win32" + +[Mozilla/5.0 (masking-agent; rv:*) Gecko* Firefox/30.0*] +Parent="Firefox 30.0" + +[Mozilla/5.0 (*Windows NT 6.0*) Gecko*/30.0*] +Parent="Firefox 30.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 10.0*) Gecko*/30.0*] +Parent="Firefox 30.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.4*) Gecko*/30.0*] +Parent="Firefox 30.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.3*) Gecko*/30.0*] +Parent="Firefox 30.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.2*) Gecko*/30.0*] +Parent="Firefox 30.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.1*) Gecko*/30.0*] +Parent="Firefox 30.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.0*rv:30.0*) Gecko*/] +Parent="Firefox 30.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 10.0*rv:30.0*) Gecko*/] +Parent="Firefox 30.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.4*rv:30.0*) Gecko*/] +Parent="Firefox 30.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.3*rv:30.0*) Gecko*/] +Parent="Firefox 30.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.2*rv:30.0*) Gecko*/] +Parent="Firefox 30.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.1*rv:30.0*) Gecko*/] +Parent="Firefox 30.0" +Platform="Win7" + +[Mozilla/5.0 (*Mac OS X*) Gecko*/30.0*] +Parent="Firefox 30.0" +Platform="MacOSX" + +[Mozilla/5.0 (*Windows NT 6.0*rv:30.0*) Gecko* Firefox] +Parent="Firefox 30.0" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*rv:30.0*) Gecko* Firefox] +Parent="Firefox 30.0" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*rv:30.0*) Gecko* Firefox] +Parent="Firefox 30.0" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*rv:30.0*) Gecko* Firefox] +Parent="Firefox 30.0" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*rv:30.0*) Gecko* Firefox] +Parent="Firefox 30.0" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*rv:30.0*) Gecko* Firefox] +Parent="Firefox 30.0" +Platform="Win10" + +[Firefox 30.0 for Android] +Parent="DefaultProperties" +Comment="Firefox 30.0" +Browser="Firefox" +Version="30.0" +Platform="Android" +isMobileDevice="true" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (*Android*Mobile*) Gecko* Firefox/30.*] +Parent="Firefox 30.0 for Android" + +[Mozilla/5.0 (*Android*Tablet*) Gecko* Firefox/30.*] +Parent="Firefox 30.0 for Android" +isTablet="true" +Device_Type="Tablet" + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Firefox Generic + +[Firefox Generic] +Parent="DefaultProperties" +Comment="Firefox Generic" +Browser="Firefox" +Device_Type="Desktop" + +[Mozilla/5.0 (*Linux*) Gecko* Firefox/*] +Parent="Firefox Generic" +Platform="Linux" + +[Mozilla/5.0 (*Windows NT 6.0*) Gecko* Firefox/*] +Parent="Firefox Generic" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/*] +Parent="Firefox Generic" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) Gecko* Firefox/*] +Parent="Firefox Generic" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) Gecko* Firefox/*] +Parent="Firefox Generic" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) Gecko* Firefox/*] +Parent="Firefox Generic" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) Gecko* Firefox/*] +Parent="Firefox Generic" +Platform="Win10" + +[Mozilla/5.0 (*Mac OS X*) Gecko* Firefox/*] +Parent="Firefox Generic" +Platform="MacOSX" + +[Mozilla/4.0 (*Linux*) Gecko* Firefox/*] +Parent="Firefox Generic" +Platform="Linux" + +[Mozilla/4.0 (*Windows NT 6.0*) Gecko* Firefox/*] +Parent="Firefox Generic" +Platform="WinVista" + +[Mozilla/4.0 (*Windows NT 6.1*) Gecko* Firefox/*] +Parent="Firefox Generic" +Platform="Win7" + +[Mozilla/4.0 (*Windows NT 6.2*) Gecko* Firefox/*] +Parent="Firefox Generic" +Platform="Win8" + +[Mozilla/4.0 (*Windows NT 6.3*) Gecko* Firefox/*] +Parent="Firefox Generic" +Platform="Win8.1" + +[Mozilla/4.0 (*Windows NT 6.4*) Gecko* Firefox/*] +Parent="Firefox Generic" +Platform="Win10" + +[Mozilla/4.0 (*Windows NT 10.0*) Gecko* Firefox/*] +Parent="Firefox Generic" +Platform="Win10" + +[Mozilla/4.0 (*Mac OS X*) Gecko* Firefox/*] +Parent="Firefox Generic" +Platform="MacOSX" + +[Mozilla/5.0 (*Windows NT 6.0*; rv:*) Gecko* Firefox/*anonymized by *] +Parent="Firefox Generic" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*; rv:*) Gecko* Firefox/*anonymized by *] +Parent="Firefox Generic" +Platform="Win7" + +[Mozilla/5.0 (*Windows*; rv:*) Gecko* Firefox/*anonymized by *] +Parent="Firefox Generic" +Platform="Win32" + +[Mozilla/5.0 (*Windows NT 6.0*; rv:*) Gecko* Firefox anonymized by *] +Parent="Firefox Generic" +Platform="WinVista" + +[Mozilla/5.0 (*Windows*; rv:*) Gecko* Firefox anonymized by *] +Parent="Firefox Generic" +Platform="Win32" + +[Mozilla/5.0 (*Windows*) Gecko* Firefox/* Anonymisiert*] +Parent="Firefox Generic" +Platform="Win32" + +[Firefox/*anonymized by Abelssoft*] +Parent="Firefox Generic" +Platform="Win32" + +[Mozilla/5.0 (masking-agent; rv:*) Gecko* Firefox/*] +Parent="Firefox Generic" + +[Mozilla/5.0 (*Windows NT 6.0*) Gecko*/*] +Parent="Firefox Generic" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*) Gecko*/*] +Parent="Firefox Generic" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*) Gecko*/*] +Parent="Firefox Generic" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*) Gecko*/*] +Parent="Firefox Generic" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*) Gecko*/*] +Parent="Firefox Generic" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*) Gecko*/*] +Parent="Firefox Generic" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 6.0*rv:*) Gecko*/] +Parent="Firefox Generic" +Platform="WinVista" + +[Mozilla/5.0 (*Windows NT 6.1*rv:*) Gecko*/] +Parent="Firefox Generic" +Platform="Win7" + +[Mozilla/5.0 (*Windows NT 6.2*rv:*) Gecko*/] +Parent="Firefox Generic" +Platform="Win8" + +[Mozilla/5.0 (*Windows NT 6.3*rv:*) Gecko*/] +Parent="Firefox Generic" +Platform="Win8.1" + +[Mozilla/5.0 (*Windows NT 6.4*rv:*) Gecko*/] +Parent="Firefox Generic" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*rv:*) Gecko*/] +Parent="Firefox Generic" +Platform="Win10" + +[Mozilla/5.0 (*Mac OS X*) Gecko*/*] +Parent="Firefox Generic" +Platform="MacOSX" + +[Mozilla/5.0 (*Windows NT 6.4*rv:*) Gecko* Firefox*] +Parent="Firefox Generic" +Platform="Win10" + +[Mozilla/5.0 (*Windows NT 10.0*rv:*) Gecko* Firefox*] +Parent="Firefox Generic" +Platform="Win10" + +[Firefox Generic for Android] +Parent="DefaultProperties" +Comment="Firefox Generic" +Browser="Firefox" +Platform="Android" +isMobileDevice="true" +Device_Type="Mobile Phone" + +[Mozilla/5.0 (*Android*Mobile*) Gecko* Firefox/*] +Parent="Firefox Generic for Android" + +[Mozilla/5.0 (*Android*Tablet*) Gecko* Firefox/*] +Parent="Firefox Generic for Android" +isTablet="true" +Device_Type="Tablet" + +[Mozilla/5.0 (*Android*Mobile*)*Gecko*Firefox/*] +Parent="Firefox Generic for Android" + +[Mozilla/5.0 (*Android*Mobile*)*Gecko*Firefox/ anonymized by Abelssoft*] +Parent="Firefox Generic for Android" + +[Mozilla/5.0 (*Android*Tablet*)*Gecko*Firefox/*] +Parent="Firefox Generic for Android" +isTablet="true" +Device_Type="Tablet" + +[Mozilla/5.0 (*Android*Tablet*)*Gecko*Firefox/ anonymized by Abelssoft*] +Parent="Firefox Generic for Android" +isTablet="true" +Device_Type="Tablet" + +[*] +Parent="DefaultProperties" +Comment="Default Browser" +Browser="Default Browser" +isMobileDevice="false" +isTablet="false" + diff --git a/ext/standard/tests/misc/get_browser_variation3.phpt b/ext/standard/tests/misc/get_browser_variation3.phpt new file mode 100644 index 0000000000..d6367f6d41 --- /dev/null +++ b/ext/standard/tests/misc/get_browser_variation3.phpt @@ -0,0 +1,2238 @@ +--TEST-- +Test get_browser() against a larger corpus +--INI-- +browscap={PWD}/browscap_lite_2016_12_06.ini +--FILE-- +<?php + +$lst = file(__DIR__ . "/user_agents.txt", FILE_IGNORE_NEW_LINES); +foreach ($lst as $agent) { + $pattern = get_browser($agent, true)['browser_name_pattern']; + echo "Agent $agent\n Matched by: $pattern\n"; +} +?> +--EXPECT-- +Agent - + Matched by: * +Agent AHC/1.0 + Matched by: * +Agent Airmail 1.4.1 rv:249 (Macintosh; Mac OS X 10.11.6; de_DE) + Matched by: * +Agent Apache/2.4.10 (Debian) OpenSSL/1.0.1k (internal dummy connection) + Matched by: * +Agent BaiduSpider + Matched by: * +Agent Baiduspider+(+http://www.baidu.com/search/spider.htm) + Matched by: * +Agent Baiduspider-image+(+http://www.baidu.com/search/spider.htm) + Matched by: * +Agent BigDataCloud + Matched by: * +Agent BlackBerry9000/4.6.0.167 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/102 ips-agent + Matched by: * +Agent BPImageWalker/2.0 (www.bdbrandprotect.com) + Matched by: * +Agent BUFF library user agent + Matched by: * +Agent CCBot/2.0 (http://commoncrawl.org/faq/) + Matched by: * +Agent censys.io internet census + Matched by: * +Agent compatible;Baiduspider/2.0; +http://www.baidu.com/search/spider.html + Matched by: * +Agent core-project/1.0 + Matched by: * +Agent Crawler powered by contentDetection (www.mindup.de) + Matched by: * +Agent CRAZYWEBCRAWLER 0.9.10, http://www.crazywebcrawler.com + Matched by: * +Agent curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.15.3 zlib/1.2.3 libidn/1.18 libssh2/1.4.2 + Matched by: * +Agent curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.21 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2 + Matched by: * +Agent curl/7.19.7 (x86_64-unknown-linux-gnu) libcurl/7.19.7 NSS/3.12.6.2 zlib/1.2.3 libidn/1.18 libssh2/1.2.2 + Matched by: * +Agent curl/7.26.0 + Matched by: * +Agent curl/7.29.0 + Matched by: * +Agent curl/7.38.0 + Matched by: * +Agent Dalvik/1.6.0 (Linux; U; Android 4.3; C5303 Build/12.1.A.1.205) + Matched by: * +Agent Dalvik/2.1.0 (Linux; U; Android 5.0; SM-N9005 Build/LRX21V) + Matched by: * +Agent Dalvik/2.1.0 (Linux; U; Android 6.0.1; SM-A510F Build/MMB29K) + Matched by: * +Agent Digg Feed Fetcher 1.0 (Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_1) AppleWebKit/534.48.3 (KHTML, like Gecko) Version/5.1 Safari/534.48.3) + Matched by: * +Agent facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php) + Matched by: * +Agent Feedbin feed-id:156831 - 1 subscribers + Matched by: * +Agent Feedly/1.0 (+http://www.feedly.com/fetcher.html; like FeedFetcher-Google) + Matched by: * +Agent GarlikCrawler/1.2 (http://garlik.com/, crawler@garlik.com) + Matched by: * +Agent Go-http-client/1.1 + Matched by: * +Agent Googlebot/2.1 (+http://www.google.com/bot.html) + Matched by: * +Agent Googlebot-Image/1.0 + Matched by: * +Agent Googlebot/Nutch-1.7 + Matched by: * +Agent Goose/1.0.25 + Matched by: * +Agent GridBot/1.0 crawler@sysomos.com + Matched by: * +Agent http://tools.geek-tools.org/link-counter/ + Matched by: * +Agent ia_archiver + Matched by: * +Agent Java/1.6.0_04 + Matched by: * +Agent Java/1.7.0_75 + Matched by: * +Agent libwww-perl/5.833 + Matched by: * +Agent libwww-perl/6.08 + Matched by: * +Agent libwww-perl/6.13 + Matched by: * +Agent libwww-perl/6.15 + Matched by: * +Agent LinkWalker/3.0 (http://www.brandprotect.com) + Matched by: * +Agent lr_http_client + Matched by: * +Agent ltx71 - (http://ltx71.com/) + Matched by: * +Agent LWP::Simple/6.00 libwww-perl/6.05 + Matched by: * +Agent LWP::Simple/6.00 libwww-perl/6.08 + Matched by: * +Agent Lynx/2.8.5rel.1 libwww-FM/2.15FC SSL-MM/1.4.1c OpenSSL/0.9.7e-dev + Matched by: * +Agent Lynx/2.8.8pre.4 libwww-FM/2.14 SSL-MM/1.4.1 GNUTLS/2.12.23 + Matched by: * +Agent masscan/1.0 (https://github.com/robertdavidgraham/masscan) + Matched by: * +Agent Mediapartners-Google + Matched by: * +Agent mindUpBot (datenbutler.de) + Matched by: * +Agent mj12bot + Matched by: * +Agent MobileSafari/601.1 CFNetwork/758.5.3 Darwin/15.6.0 + Matched by: MobileSafari/* CFNetwork/* +Agent MobileSafari/602.1 CFNetwork/808.0.2 Darwin/16.0.0 + Matched by: MobileSafari/* CFNetwork/* +Agent MobileSafari/602.1 CFNetwork/808.1.4 Darwin/16.1.0 + Matched by: MobileSafari/* CFNetwork/* +Agent Morfeus Fucking Scanner + Matched by: * +Agent Mozilla + Matched by: * +Agent Mozilla/0.6 Beta (Windows) + Matched by: * +Agent Mozilla/0.91 Beta (Windows) + Matched by: * +Agent Mozilla/10.0 (Windows NT 7.100) Gecko/20112301 Firefox/17.0 + Matched by: * +Agent Mozilla/1.22 (compatible; MSIE 2.0d; Windows NT) + Matched by: * +Agent Mozilla/1.22 (compatible; MSIE 2.0; Windows 95) + Matched by: * +Agent Mozilla/2.0 (compatible; MSIE 3.02; Windows CE; 240x320) + Matched by: * +Agent Mozilla/3.0 (compatible; Indy Library) + Matched by: * +Agent Mozilla/3.0 (compatible; WebCapture 2.0; Auto; Windows) + Matched by: * +Agent mozilla/3.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/5.0.1 + Matched by: * +Agent Mozilla/3.0 (x86 [en] Windows NT 5.1; Sun) + Matched by: * +Agent Mozilla/37.0.2 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322) + Matched by: * +Agent Mozilla 4.0 + Matched by: * +Agent Mozilla/4.0 + Matched by: * +Agent Mozilla/4.0 (CMS Crawler: http://www.cmscrawler.com) + Matched by: * +Agent Mozilla/4.0 (compatible; MSIE 4.01; Digital AlphaServer 1000A 4/233; Windows NT; Powered By 64-Bit Alpha Processor) + Matched by: * +Agent Mozilla/4.0 (compatible; MSIE 5.01; Windows 95; MSIECrawler) + Matched by: * +Agent Mozilla/4.0 (compatible; MSIE 5.01; Windows NT) + Matched by: * +Agent Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0) + Matched by: * +Agent Mozilla/4.0 (compatible; MSIE 5.0; Windows 2000) Opera 6.0 [en] + Matched by: * +Agent Mozilla/4.0 (compatible; MSIE 5.0; Windows 3.1) + Matched by: * +Agent Mozilla/4.0 (compatible; MSIE 5.0; Windows 95) Opera 6.01 [en] + Matched by: * +Agent Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt) + Matched by: * +Agent Mozilla/4.0 (compatible; MSIE 5.5; Windows 95) + Matched by: * +Agent Mozilla/4.0 (compatible; MSIE 5.5; Windows 95; BCD2000) + Matched by: * +Agent Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 4.0) + Matched by: * +Agent Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 4.0; .NET CLR 1.0.2914) + Matched by: * +Agent Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0; .NET CLR 1.1.4322) + Matched by: * +Agent Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0; T312461) + Matched by: * +Agent Mozilla/4.0 (compatible; MSIE 6.0) + Matched by: Mozilla/4.0 (*MSIE 6.0*)* +Agent Mozilla/4.0 (compatible; MSIE 6.0; America Online Browser 1.1; rev1.2; Windows NT 5.1; SV1; .NET CLR 1.1.4322) + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; AOL 9.0; Windows NT 5.1) + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; MSIE 5.5; Windows NT 4.0) Opera 7.0 [en] + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; MSIE 5.5; Windows NT 5.0) Opera 7.02 Bork-edition [en] + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; MSIE 5.5; Windows NT 5.1) Opera 7.01 [en] + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; Update a; AOL 6.0; Windows 98) + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows 98) + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; Win 9x 4.90) + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; Win 9x 4.90; Creative) + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows ME) Opera 7.11 [en] + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0) + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; APC; .NET CLR 1.0.3705; .NET CLR 1.1.4322; .NET CLR 2.0.50215; InfoPath.1) + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; Avant Browser [avantbrowser.com]; Hotbar 4.4.5.0) + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; KTXN) + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.0.3705; .NET CLR 1.1.4322) + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; T312461) + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1) + Matched by: * +Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Crazy Browser 1.0.5) + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Deepnet Explorer 1.5.0; .NET CLR 1.0.3705) + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en) Opera 8.00 + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en) Opera 8.50 + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en) Opera 9.0 + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; FREE; .NET CLR 1.1.4322) + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; KKman2.0) + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Maxthon; .NET CLR 1.1.4322) + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; MRA 4.3 (build 01218); .NET CLR 1.1.4322) + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; MRA 4.6 (build 01425)) + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; MyIE2; Deepnet Explorer) + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.0.3705) + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322) + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322; Alexa Toolbar; (R1 1.5)) + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322; FDM) + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) Netscape/8.0.4 + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) Opera 7.54 [en] + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Q312461) + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; ru) Opera 8.01 + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; ru) Opera 8.50 + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1;) + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Crazy Browser 2.0.0 Beta 1; .NET CLR 1.0.3705; .NET CLR 1.1.4322) + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; FunWebProducts) + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; FunWebProducts; MRA 4.6 (build 01425); .NET CLR 1.1.4322; .NET CLR 2.0.50727) + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; FunWebProducts; .NET CLR 1.1.4322; PeoplePal 6.2) + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; InfoPath.1 + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; InfoPath.1) + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Media Center PC + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ) + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; .NET CLR 1.0.3705) + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; .NET CLR 2.0.50727 ; .NET CLR 4.0.30319) + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MRA 4.6 (build 01425); MRSPUTNIK 1, 5, 0, 19 SW) + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705) + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322; .NET CLR 2.0.40607) + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible- MSIE 6.0- Windows NT 5.1- SV1- .NET CLR 1.1.4322 + Matched by: * +Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322) + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322) Babya Discoverer 8.0: + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727) + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322) NS8/0.9.6 + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; XMPP Tiscali Communicator v.10.0.2; .NET CLR 2.0.50727) + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727) + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 1.1.4322) + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; TencentTraveler ; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; .NET CLR 2.0.50727) + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; YPC 3.0.2; .NET CLR 1.1.4322; yplus 4.4.02b) + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; TheFreeDictionary.com; .NET CLR 1.1.4322; .NET CLR 1.0.3705; .NET CLR 2.0.50727) + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;) + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727) + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; Win64; AMD64) + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; Win64; x64; SV1; .NET CLR 2.0.50727) + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT) ::ELNSB50::000061100320025802a00111000000000507000900000000 + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows XP) + Matched by: Mozilla/4.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 6.0) + Matched by: Mozilla/4.0 (compatible*; MSIE 7.0b*; *Windows NT 6.0* +Agent Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 6.0 ; .NET CLR 2.0.50215; SL Commerce Client v1.0; Tablet PC 2.0 + Matched by: Mozilla/4.0 (compatible*; MSIE 7.0b*; *Windows NT 6.0* +Agent Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; MRSPUTNIK 2, 4, 0, 270; MRA 5.8 (build 4598); GTB7.2; AskTbFF/5.11.3.15590; .NET CLR 1.1.4322) + Matched by: Mozilla/4.0 (compatible*; MSIE 7.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.0.3705; .NET CLR 1.1.4322; Media Center PC 4.0) + Matched by: Mozilla/4.0 (compatible*; MSIE 7.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727) + Matched by: Mozilla/4.0 (compatible*; MSIE 7.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727) + Matched by: Mozilla/4.0 (compatible*; MSIE 7.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 1.0.3705; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729) + Matched by: Mozilla/4.0 (compatible; MSIE 7.0; *Windows*Trident/4.0* +Agent Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2) + Matched by: Mozilla/4.0 (compatible*; MSIE 7.0*; *Windows* +Agent Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; WOW64; Trident/5.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.30729; .NET CLR 3.5.30729; .NET4.0C; .NET4.0E) + Matched by: Mozilla/4.0 (compatible; MSIE 7.0; *Windows NT 6.0*Trident/5.0*)* +Agent Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E) + Matched by: Mozilla/4.0 (compatible*; MSIE 7.0*; *Windows NT 6.1* +Agent Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; ms-office) + Matched by: Mozilla/4.0 (compatible; MSIE 7.0; *Windows NT 6.1*Trident/7.0* +Agent Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.2; WOW64; Trident/7.0; .NET4.0E; .NET4.0C; .NET CLR 3.5.30729; .NET CLR 2.0.50727; .NET CLR 3.0.30729) + Matched by: Mozilla/4.0 (compatible; MSIE 7.0; *Windows NT 6.2*Trident/7.0* +Agent Mozilla/4.0 (compatible; MSIE 8.0; ; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729) + Matched by: * +Agent Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0) + Matched by: Mozilla/4.0 (compatible; MSIE 8.0*; *Windows*Trident/4.0* +Agent Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; GTB6.5; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.3) + Matched by: Mozilla/4.0 (compatible; MSIE 8.0*; *Windows*Trident/4.0* +Agent Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; GTB6.5; .NET CLR 2.0.50727; InfoPath.2) + Matched by: Mozilla/4.0 (compatible; MSIE 8.0*; *Windows*Trident/4.0* +Agent Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; GTB6; InfoPath.1; .NET CLR 2.0.50727; Dealio Toolbar 3.4; .NET CLR 3.0.04506.30; .NET CLR 3.0.04506.648; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729) + Matched by: Mozilla/4.0 (compatible; MSIE 8.0*; *Windows*Trident/4.0* +Agent Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; GTB7.5; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729) + Matched by: Mozilla/4.0 (compatible; MSIE 8.0*; *Windows*Trident/4.0* +Agent Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.3; .NET4.0C; .NET4.0E) + Matched by: Mozilla/4.0 (compatible; MSIE 8.0*; *Windows*Trident/4.0* +Agent Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729) + Matched by: Mozilla/4.0 (compatible; MSIE 8.0*; *Windows*Trident/4.0* +Agent Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727) + Matched by: Mozilla/4.0 (compatible; MSIE 8.0*; *Windows*Trident/4.0* +Agent Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET4.0C) + Matched by: Mozilla/4.0 (compatible; MSIE 8.0*; *Windows*Trident/4.0* +Agent Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.2) + Matched by: Mozilla/4.0 (compatible; MSIE 8.0*; *Windows*Trident/4.0* +Agent Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.2) + Matched by: Mozilla/4.0 (compatible; MSIE 8.0*; *Windows*Trident/4.0* +Agent Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.0.30729; .NET CLR 3.5.30729) + Matched by: Mozilla/4.0 (compatible; MSIE 8.0*; *Windows NT 6.0*Trident/4.0* +Agent Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; SLCC1; .NET CLR 2.0.50727; OfficeLiveConnector.1.3; OfficeLivePatch.0.0; .NET CLR 3.5.30729; .NET CLR 3.0.30618; MS-RTC LM 8; yie8) + Matched by: Mozilla/4.0 (compatible; MSIE 8.0*; *Windows NT 6.0*Trident/4.0* +Agent Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0) + Matched by: Mozilla/4.0 (compatible; MSIE 8.0*; *Windows NT 6.1*Trident/4.0* +Agent Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; Avant Browser; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0) + Matched by: Mozilla/4.0 (compatible; MSIE 8.0*; *Windows NT 6.1*Trident/4.0* +Agent Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; GTB7.2; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C) + Matched by: Mozilla/4.0 (compatible; MSIE 8.0*; *Windows NT 6.1*Trident/4.0* +Agent Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; InfoPath.2; SV1; .NET CLR 3.8.36926; WOW64; en-US) + Matched by: Mozilla/4.0 (compatible; MSIE 8.0*; *Windows NT 6.1*Trident/4.0* +Agent Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729) + Matched by: Mozilla/4.0 (compatible; MSIE 8.0*; *Windows NT 6.1*Trident/4.0* +Agent Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0) + Matched by: Mozilla/4.0 (compatible; MSIE 8.0*; *Windows NT 6.1*Trident/4.0* +Agent Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E) + Matched by: Mozilla/4.0 (compatible; MSIE 8.0*; *Windows NT 6.1*Trident/4.0* +Agent Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; Tablet PC 2.0) + Matched by: Mozilla/4.0 (compatible; MSIE 8.0*; *Windows NT 6.1*Trident/4.0* +Agent Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.1) + Matched by: Mozilla/4.0 (compatible; MSIE 9.0*; *Windows NT 6.1* +Agent Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.1; 125LA; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022) + Matched by: Mozilla/4.0 (compatible; MSIE 9.0*; *Windows NT 6.1* +Agent Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0) + Matched by: Mozilla/4.0 (compatible; MSIE 9.0*; *Windows NT 6.1*Trident/5.0* +Agent Mozilla/4.0 (compatible; Netcraft Web Server Survey) + Matched by: * +Agent Mozilla/4.0 (compatible; Powermarks/3.5; Windows 95/98/2000/NT) + Matched by: * +Agent Mozilla/4.0 (compatible; Synapse) + Matched by: * +Agent Mozilla/4.0 (compatible; Win32; WinHttp.WinHttpRequest.5) + Matched by: * +Agent Mozilla/4.0 (compatible; Windows;) + Matched by: * +Agent Mozilla/4.0 (Windows NT 6.2) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.70 Safari/537.17 + Matched by: * +Agent Mozilla/4.0 (X11; MSIE 6.0; i686; .NET CLR 1.1.4322; .NET CLR 2.0.50727; FDM) + Matched by: Mozilla/4.0 (*MSIE 6.0*)* +Agent Mozilla/4.61 [en] (X11; U; ) - BrowseX (2.0.0 Windows) + Matched by: * +Agent Mozilla/4.76 [en] (Windows NT 5.0; U) + Matched by: * +Agent Mozilla/4.79 [en] (Windows NT 5.0; U) + Matched by: * +Agent Mozilla/4.7 (compatible; OffByOne; Windows 2000) Webster Pro V3.4 + Matched by: * +Agent Mozilla 5.0 + Matched by: * +Agent Mozilla/5.0 + Matched by: * +Agent Mozilla/5.0 (Android 2.2; Windows; U; Windows NT 6.1; en-US) AppleWebKit/533.19.4 (KHTML, like Gecko) Version/5.0.3 Safari/533.19.4 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) *Version/* Safari/* +Agent Mozilla/5.0 (Android 5.1.1; Tablet; rv:50.0.1) Gecko/50.0.1 Firefox/50.0.1 + Matched by: Mozilla/5.0 (*Android*Tablet*) Gecko* Firefox/50.* +Agent Mozilla/5.0 (Android 5.1.1; Tablet; rv:50.0) Gecko/50.0 Firefox/50.0 + Matched by: Mozilla/5.0 (*Android*Tablet*) Gecko* Firefox/50.* +Agent Mozilla/5.0 (Android 5.1; Mobile; rv:49.0.2) Gecko/49.0.2 Firefox/49.0.2 + Matched by: Mozilla/5.0 (*Android*Mobile*) Gecko* Firefox/49.* +Agent Mozilla/5.0 (Android 5.1; Mobile; rv:49.0) Gecko/49.0 Firefox/49.0 + Matched by: Mozilla/5.0 (*Android*Mobile*) Gecko* Firefox/49.* +Agent Mozilla/5.0 (Android 6.0.1; Mobile; rv:50.0) Gecko/50.0 Firefox/50.0 + Matched by: Mozilla/5.0 (*Android*Mobile*) Gecko* Firefox/50.* +Agent Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; Google Web Preview Analytics) Chrome/27.0.1453 Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html) + Matched by: * +Agent Mozilla/5.0 (BlackBerry; U; BlackBerry 9900; en) AppleWebKit/534.11+ (KHTML, like Gecko) Version/7.1.0.346 Mobile Safari/534.11+ + Matched by: * +Agent Mozilla/5.0 (compatible) + Matched by: * +Agent Mozilla/5.0 (compatible; AhrefsBot/5.1; +http://ahrefs.com/robot/) + Matched by: * +Agent Mozilla/5.0 (compatible; archive.org_bot +http://www.archive.org/details/archive.org_bot) + Matched by: * +Agent Mozilla/5.0 (compatible; archive.org_bot; Wayback Machine Live Record; +http://archive.org/details/archive.org_bot) + Matched by: * +Agent Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html) + Matched by: * +Agent Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) + Matched by: * +Agent Mozilla/5.0 (compatible; BLEXBot/1.0; +http://webmeup-crawler.com/) + Matched by: * +Agent Mozilla/5.0 (compatible; Cliqzbot/1.0 +http://cliqz.com/company/cliqzbot) + Matched by: * +Agent Mozilla/5.0 (compatible; coccocbot-image/1.0; +http://help.coccoc.com/searchengine) + Matched by: * +Agent Mozilla/5.0 (compatible; coccocbot-web/1.0; +http://help.coccoc.com/searchengine) + Matched by: * +Agent Mozilla/5.0+(compatible;+CukBot;+Not+a+spammer;+++https://www.companiesintheuk.co.uk/bot.html) + Matched by: * +Agent Mozilla/5.0 (compatible; Dataprovider/6.101; +https://www.dataprovider.com/) + Matched by: * +Agent Mozilla/5.0 (compatible; Dataprovider; https://www.dataprovider.com/spider/) + Matched by: * +Agent Mozilla/5.0 (compatible; DeuSu/5.0.2; +https://deusu.de/robot.html) + Matched by: * +Agent Mozilla/5.0 (compatible; DotBot/1.1; http://www.opensiteexplorer.org/dotbot, help@moz.com) + Matched by: * +Agent Mozilla/5.0 (compatible; DuckDuckGo-Favicons-Bot/1.0; +http://duckduckgo.com) + Matched by: * +Agent Mozilla/5.0 (compatible; Exabot/3.0; +http://www.exabot.com/go/robot) + Matched by: * +Agent Mozilla/5.0 (compatible; Gluten Free Crawler/1.0; +http://glutenfreepleasure.com/) + Matched by: * +Agent Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html) + Matched by: * +Agent Mozilla/5.0 (compatible; Google-Site-Verification/1.0) + Matched by: * +Agent Mozilla/5.0 (compatible; GrapeshotCrawler/2.0; +http://www.grapeshot.co.uk/crawler.php) + Matched by: * +Agent Mozilla/5.0 (compatible; inoreader.com-like FeedFetcher-Google) + Matched by: * +Agent Mozilla/5.0 (compatible; Linux x86_64; Mail.RU_Bot/2.0; +http://go.mail.ru/help/robots) + Matched by: * +Agent Mozilla/5.0 (compatible; MegaIndex.ru/2.0; +http://megaindex.com/crawler) + Matched by: * +Agent Mozilla/5.0 (compatible; MJ12bot/v1.4.5; http://www.majestic12.co.uk/bot.php?+) + Matched by: * +Agent Mozilla/5.0 (compatible; MJ12bot/v1.4.6; http://mj12bot.com/) + Matched by: * +Agent Mozilla/5.0 (compatible; MJ12bot/v1.4.7; http://mj12bot.com/) + Matched by: * +Agent Mozilla/5.0 (compatible; MojeekBot/0.6; +https://www.mojeek.com/bot.html) + Matched by: * +Agent Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0) + Matched by: Mozilla/5.0 (compatible; MSIE 10.0*Windows NT 6.1*Trident/6.0*)* +Agent Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2; .NET4.0C; .NET4.0E; AskTbORJ/5.14.1.20007; BOIE9;NLNL) + Matched by: Mozilla/5.0 (compatible; MSIE 10.0*Windows NT 6.1*Trident/6.0*)* +Agent Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0) + Matched by: Mozilla/5.0 (compatible; MSIE 10.0*Windows NT 6.1*Trident/6.0*)* +Agent Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0; SLCC2; .NET CLR 2.0.50727; Media Center PC 6.0; InfoPath.2; .NET4.0C; .NET4.0E; AskTbORJ/5.15.14.29495; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET CLR 1.1.4322; EIE10;ENAUMSN) + Matched by: Mozilla/5.0 (compatible; MSIE 10.0*Windows NT 6.1*Trident/6.0*)* +Agent Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; AskTbFXTV5/5.15.2.23037) + Matched by: Mozilla/5.0 (compatible; MSIE 10.0*Windows NT 6.1*Trident/6.0*)* +Agent Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0) + Matched by: Mozilla/5.0 (compatible; MSIE 10.0*Windows NT 6.2*Trident/6.0*)* +Agent Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0; .NET4.0E; .NET4.0C; InfoPath.3; .NET CLR 3.5.30729; .NET CLR 2.0.50727; .NET CLR 3.0.30729; MS-RTC LM 8) + Matched by: Mozilla/5.0 (compatible; MSIE 10.0*Windows NT 6.2*Trident/6.0*)* +Agent Mozilla/5.0 (compatible, MSIE 11, Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko + Matched by: Mozilla/5.0 (*Windows NT 6.3*Trident/7.0*rv:11.0* +Agent Mozilla/5.0 (compatible; MSIE 6.0; Windows NT 5.1) + Matched by: Mozilla/5.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/5.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727) + Matched by: Mozilla/5.0 (compatible; MSIE 6.0*; *Windows* +Agent Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET CLR 1.0.3705; .NET CLR 1.1.4322) + Matched by: Mozilla/5.0 (compatible; MSIE 8.0*; *Windows NT 6.1*Trident/4.0* +Agent Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.0; Trident/5.0; NP06) + Matched by: Mozilla/5.0 (compatible; MSIE 9.0*; *Windows NT 6.0*Trident/5.0* +Agent Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.0; Trident/5.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; InfoPath.2; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E) + Matched by: Mozilla/5.0 (compatible; MSIE 9.0*; *Windows NT 6.0*Trident/5.0* +Agent Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.0; Trident/5.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; MDDC; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E) + Matched by: Mozilla/5.0 (compatible; MSIE 9.0*; *Windows NT 6.0*Trident/5.0* +Agent 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)' + Matched by: * +Agent Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0) + Matched by: Mozilla/5.0 (compatible; MSIE 9.0*; *Windows NT 6.1*Trident/5.0* +Agent Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0); 360Spider + Matched by: Mozilla/5.0 (compatible; MSIE 9.0*; *Windows NT 6.1*Trident/5.0* +Agent Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E; MS-RTC LM 8; SFIEAUTH1) + Matched by: Mozilla/5.0 (compatible; MSIE 9.0*; *Windows NT 6.1*Trident/5.0* +Agent Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; Trident/5.0) + Matched by: Mozilla/5.0 (compatible; MSIE 9.0*; *Windows NT 6.1*Trident/5.0* +Agent Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0) + Matched by: Mozilla/5.0 (compatible; MSIE 9.0*; *Windows NT 6.1*Trident/5.0* +Agent Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.3; .NET4.0C; .NET4.0E; .NET CLR 1.1.4322; MS-RTC LM 8) + Matched by: Mozilla/5.0 (compatible; MSIE 9.0*; *Windows NT 6.1*Trident/5.0* +Agent Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; AlexaToolbar/amzni-3.0; .NET4.0E) + Matched by: Mozilla/5.0 (compatible; MSIE 9.0*; *Windows NT 6.1*Trident/5.0* +Agent Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; HPDTDF; InfoPath.3) + Matched by: Mozilla/5.0 (compatible; MSIE 9.0*; *Windows NT 6.1*Trident/5.0* +Agent Mozilla/5.0 (compatible; MSIE or Firefox mutant;) Daum 4.1 + Matched by: * +Agent Mozilla/5.0 (compatible; NetcraftSurveyAgent/1.0; +info@netcraft.com) + Matched by: * +Agent Mozilla/5.0 (compatible; Nmap Scripting Engine; http://nmap.org/book/nse.html) + Matched by: * +Agent Mozilla/5.0 (compatible; oBot/2.3.1; http://filterdb.iss.net/crawler/) + Matched by: * +Agent Mozilla/5.0 (compatible; Qwantify/2.3w; +https://www.qwant.com/)/2.3w + Matched by: * +Agent Mozilla/5.0 (compatible; SemrushBot/1.1~bl; +http://www.semrush.com/bot.html) + Matched by: * +Agent Mozilla/5.0 (compatible; SEOkicks-Robot; +http://www.seokicks.de/robot.html) + Matched by: * +Agent Mozilla/5.0 (compatible; SeznamBot/3.2; +http://napoveda.seznam.cz/en/seznambot-intro/) + Matched by: * +Agent Mozilla/5.0 (compatible; SiteExplorer/1.1b; +http://siteexplorer.info/Backlink-Checker-Spider/) + Matched by: * +Agent Mozilla/5.0 (compatible; Sonic/1.0; http://www.yama.info.waseda.ac.jp/~crawler/info.html) + Matched by: * +Agent Mozilla/5.0 (compatible; spbot/5.0.3; +http://OpenLinkProfiler.org/bot ) + Matched by: * +Agent Mozilla/5.0 (compatible; SurdotlyBot/1.0; +http://sur.ly/bot.html) + Matched by: * +Agent Mozilla/5.0 (compatible; Uptimebot/1.0; +http://www.uptime.com/uptimebot) + Matched by: * +Agent Mozilla/5.0 (compatible; Wappalyzer; +https://github.com/AliasIO/Wappalyzer) + Matched by: * +Agent Mozilla/5.0 (compatible; XoviBot/2.0; +http://www.xovibot.net/) + Matched by: * +Agent Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp) + Matched by: * +Agent Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots) + Matched by: * +Agent Mozilla/5.0 (compatible;YoudaoFeedFetcher/1.0;http://www.youdao.com/help/reader/faq/topic006/;1 subscribers;) + Matched by: * +Agent Mozilla/5.0 (iPad; CPU OS 10_1_1 like Mac OS X) AppleWebKit/602.2.14 (KHTML, like Gecko) Version/10.0 Mobile/14B100 Safari/602.1 + Matched by: Mozilla/5.0 (iPad*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/*Safari/* +Agent Mozilla/5.0 (iPad; CPU OS 10_1_1 like Mac OS X) AppleWebKit/602.2.14 (KHTML, like Gecko) Version/10.0 Mobile/14B150 Safari/602.1 + Matched by: Mozilla/5.0 (iPad*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/*Safari/* +Agent Mozilla/5.0 (iPad; CPU OS 10_1 like Mac OS X) AppleWebKit/602.2.14 (KHTML, like Gecko) Version/10.0 Mobile/14B72 Safari/602.1 + Matched by: Mozilla/5.0 (iPad*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/*Safari/* +Agent Mozilla/5.0 (iPad; CPU OS 10_2 like Mac OS X) AppleWebKit/602.3.12 (KHTML, like Gecko) OPiOS/14.0.0.104835 Mobile/14C92 Safari/9537.53 + Matched by: Mozilla/5.0 (iPad*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Mobile* +Agent Mozilla/5.0 (iPad; CPU OS 9_3_5 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13G36 Safari/601.1 + Matched by: Mozilla/5.0 (iPad*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/9.0*Safari/* +Agent Mozilla/5.0 (iPhone; CPU iPhone OS 10_0_2 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Version/10.0 Mobile/14A456 Safari/602.1 + Matched by: Mozilla/5.0 (iPhone*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/*Safari/* +Agent Mozilla/5.0 (iPhone; CPU iPhone OS 10_0 like Mac OS X) AppleWebKit/602.1.38 (KHTML, like Gecko) Version/10.0 Mobile/14A300 Safari/602.1 + Matched by: Mozilla/5.0 (iPhone*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/*Safari/* +Agent Mozilla/5.0 (iPhone; CPU iPhone OS 10_1_1 like Mac OS X) AppleWebKit/602.2.14 (KHTML, like Gecko) Version/10.0 Mobile/14B100 Safari/602.1 + Matched by: Mozilla/5.0 (iPhone*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/*Safari/* +Agent Mozilla/5.0 (iPhone; CPU iPhone OS 10_1_1 like Mac OS X) AppleWebKit/602.2.14 (KHTML, like Gecko) Version/10.0 Mobile/14B150 Safari/602.1 + Matched by: Mozilla/5.0 (iPhone*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/*Safari/* +Agent Mozilla/5.0 (iPhone; CPU iPhone OS 10_1 like Mac OS X) AppleWebKit/602.2.8 (KHTML, like Gecko) OPiOS/15.00.00000 Mobile/14B55c Safari/7534.48.3 + Matched by: Mozilla/5.0*(iPhone*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Mobile* +Agent Mozilla/5.0 (iPhone; CPU iPhone OS 10_2 like Mac OS X) AppleWebKit/602.3.12 (KHTML, like Gecko) Version/10.0 Mobile/14C92 Safari/602.1 + Matched by: Mozilla/5.0 (iPhone*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/*Safari/* +Agent Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3 + Matched by: Mozilla/5.0 (iPhone*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/*Safari/* +Agent Mozilla/5.0 (iPhone; CPU iPhone OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5376e Safari/8536.25 + Matched by: Mozilla/5.0 (iPhone*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/6.0*Safari/* +Agent Mozilla/5.0 (iPhone; CPU iPhone OS 7_0 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A465 Safari/9537.53 BingPreview/1.0b + Matched by: Mozilla/5.0 (iPhone*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/7.0*Safari/* +Agent Mozilla/5.0 (iPhone; CPU iPhone OS 7_0 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A465 Safari/9537.53 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) + Matched by: Mozilla/5.0 (iPhone*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/7.0*Safari/* +Agent Mozilla/5.0 (iPhone; CPU iPhone OS 8_0 like Mac OS X) AppleWebKit/600.1.3 (KHTML, like Gecko) Version/8.0 Mobile/12A4345d Safari/600.1.4 + Matched by: Mozilla/5.0 (iPhone*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/8.0*Safari/* +Agent Mozilla/5.0 (iPhone; CPU iPhone OS 8_1_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12B466 Safari/600.1.4 + Matched by: Mozilla/5.0 (iPhone*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/8.0*Safari/* +Agent Mozilla/5.0 (iPhone; CPU iPhone OS 8_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12F70 Safari/600.1.4 + Matched by: Mozilla/5.0 (iPhone*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/8.0*Safari/* +Agent Mozilla/5.0 (iPhone; CPU iPhone OS 9_3_3 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13G34 Safari/601.1 + Matched by: Mozilla/5.0 (iPhone*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/9.0*Safari/* +Agent Mozilla/5.0 (iPhone; CPU iPhone OS 9_3_3 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13G34 Safari/601.1 BMID/E679DA49AC + Matched by: Mozilla/5.0 (iPhone*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/9.0*Safari/* +Agent Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_0 like Mac OS X; en-us) AppleWebKit/528.18 (KHTML, like Gecko) Version/4.0 Mobile/7A341 Safari/528.161481015402482 + Matched by: Mozilla/5.0 (iPhone*CPU*OS* like Mac OS X*)*AppleWebKit/*(*KHTML* like Gecko*)*Version/*Safari/* +Agent Mozilla/5.0 (Linux; Android 4.05; Galaxy Nexus Build/IMM76B) AppleWebKit/535.25 (KHTML, like Gecko) Chrome/17.0.1025.133 Mobile Safari/536.19 + Matched by: Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML, like Gecko*) Chrome/*Safari/* +Agent Mozilla/5.0 (Linux; Android 4.1.2; GT-S5310B Build/JZO54K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.124 Mobile Safari/537.36 + Matched by: Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko) Chrome/53.*Safari/* +Agent Mozilla/5.0 (Linux; Android 4.2.2; GT-S7580 Build/JDQ39) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.114 Mobile Safari/537.36 + Matched by: Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML, like Gecko*) Chrome/*Safari/* +Agent Mozilla/5.0 (Linux; Android 4.3; C5303 Build/12.1.A.1.205) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.85 Mobile Safari/537.36 + Matched by: Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/* +Agent Mozilla/5.0 (Linux; Android 4.4.2; de-de; SAMSUNG GT-I9205 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/1.5 Chrome/28.0.1500.94 Mobile Safari/537.36 + Matched by: Mozilla/5.0 (*Linux*Android* Build/*) AppleWebKit/* (KHTML,*like Gecko*) Version/1.5*Chrome*Safari* +Agent Mozilla/5.0 (Linux; Android 4.4.2; GT-I9195 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.98 Mobile Safari/537.36 + Matched by: Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko) Chrome/52.*Safari/* +Agent Mozilla/5.0 (Linux; Android 4.4.2; GT-P5210 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.68 Safari/537.36 + Matched by: Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/* +Agent Mozilla/5.0 (Linux; Android 4.4.2; HP 7 VoiceTab Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.105 Safari/537.36 + Matched by: Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko) Chrome/49.*Safari/* +Agent Mozilla/5.0 (Linux; Android 4.4.2; LENNY Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Mobile Safari/537.36 + Matched by: Mozilla/5.0 (*Linux*Android* Build/*) AppleWebKit/* (KHTML,*like Gecko*) Version/4.0*Chrome*Safari* +Agent Mozilla/5.0 (Linux; Android 4.4.2; LG-V500 Build/KOT49I.V50020f) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.85 Safari/537.36 + Matched by: Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/* +Agent Mozilla/5.0 (Linux; Android 4.4.2; Panasonic ELUGA Z Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.85 Mobile Safari/537.36 + Matched by: Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/* +Agent Mozilla/5.0 (Linux; Android 4.4.2; RAINBOW Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Mobile Safari/537.36 + Matched by: Mozilla/5.0 (*Linux*Android* Build/*) AppleWebKit/* (KHTML,*like Gecko*) Version/4.0*Chrome*Safari* +Agent Mozilla/5.0 (Linux; Android 4.4.2; SM-T230 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.85 Safari/537.36 + Matched by: Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/* +Agent Mozilla/5.0 (Linux; Android 4.4.2; SUNSET2 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.91 Mobile Safari/537.36 + Matched by: Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko) Chrome/55.*Safari/* +Agent Mozilla/5.0 (Linux; Android 5.0.1; ALE-L02 Build/HuaweiALE-L02) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.85 Mobile Safari/537.36 + Matched by: Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/* +Agent Mozilla/5.0 (Linux; Android 5.0.1; GT-I9295 Build/LRX22C) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.85 Mobile Safari/537.36 + Matched by: Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/* +Agent Mozilla/5.0 (Linux; Android 5.0.1; GT-I9515 Build/LRX22C) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.85 Mobile Safari/537.36 + Matched by: Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/* +Agent Mozilla/5.0 (Linux; Android 5.0.1; SAMSUNG GT-I9505 Build/LRX22C) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/4.0 Chrome/44.0.2403.133 Mobile Safari/537.36 + Matched by: * +Agent Mozilla/5.0 (Linux; Android 5.0.2; Lenovo TAB 2 A8-50LC Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.93 Safari/537.36 + Matched by: Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML, like Gecko*) Chrome/*Safari/* +Agent Mozilla/5.0 (Linux; Android 5.0.2; LG-D693TR Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/34.0.1847.118 Mobile Safari/537.36 + Matched by: Mozilla/5.0 (*Linux*Android* Build/*) AppleWebKit/* (KHTML,*like Gecko*) Version/4.0*Chrome*Safari* +Agent Mozilla/5.0 (Linux; Android 5.0; Lenovo K50-t5 Build/LRX21M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.85 Mobile Safari/537.36 + Matched by: Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/* +Agent Mozilla/5.0 (Linux; Android 5.0; SAMSUNG SM-N9005 Build/LRX21V) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/4.0 Chrome/44.0.2403.133 Mobile Safari/537.36 + Matched by: * +Agent Mozilla/5.0 (Linux; Android 5.0; SM-N900V Build/LRX21V) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.85 Mobile Safari/537.36 + Matched by: Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/* +Agent Mozilla/5.0 (Linux; Android 5.0; VOYAGER2_DG310 Build/LRX21M) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/37.0.0.0 Mobile Safari/537.36 + Matched by: Mozilla/5.0 (*Linux*Android* Build/*) AppleWebKit/* (KHTML,*like Gecko*) Version/4.0*Chrome*Safari* +Agent Mozilla/5.0 (Linux; Android 5.1.1; Redmi 3 Build/LMY47V; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/54.0.2840.68 Mobile Safari/537.36 + Matched by: Mozilla/5.0 (*Linux*Android* Build/*) AppleWebKit/* (KHTML,*like Gecko*) Version/4.0*Chrome*Safari* +Agent Mozilla/5.0 (Linux; Android 5.1; Lenovo P70-A Build/LMY47D) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.91 Mobile Safari/537.36 + Matched by: Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko) Chrome/55.*Safari/* +Agent Mozilla/5.0 (Linux; Android 5.1; LG-X210 Build/LMY47I) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.68 Mobile Safari/537.36 + Matched by: Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/* +Agent Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.96 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html) + Matched by: Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML, like Gecko*) Chrome/*Safari/* +Agent Mozilla/5.0 (Linux; Android 6.0.1; SAMSUNG SM-A510F/A510FXXS3BPI9 Build/MMB29K) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/4.0 Chrome/44.0.2403.133 Mobile Safari/537.36 + Matched by: * +Agent Mozilla/5.0 (Linux; Android 6.0.1; SAMSUNG SM-G900F Build/MMB29M) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/4.0 Chrome/44.0.2403.133 Mobile Safari/537.36 + Matched by: * +Agent Mozilla/5.0 (Linux; Android 6.0.1; SAMSUNG SM-J700T1 Build/MMB29K) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/4.0 Chrome/44.0.2403.133 Mobile Safari/537.36 + Matched by: * +Agent Mozilla/5.0 (Linux; Android 6.0.1; SM-G920F Build/MMB29K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.85 Mobile Safari/537.36 + Matched by: Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/* +Agent Mozilla/5.0 (Linux; Android 6.0.1; SM-G920F Build/MMB29K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/54.0.2840.85 Mobile Safari/537.36 [FB_IAB/MESSENGER;FBAV/99.0.0.20.136;] + Matched by: Mozilla/5.0 (*Linux*Android* Build/*) AppleWebKit/* (KHTML,*like Gecko*) Version/4.0*Chrome*Safari* +Agent Mozilla/5.0 (Linux; Android 6.0.1; SM-N920I Build/MMB29K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.85 Mobile Safari/537.36 + Matched by: Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/* +Agent Mozilla/5.0 (Linux; Android 6.0.1; SM-N920P Build/MMB29K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.81 Mobile Safari/537.36 + Matched by: Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko) Chrome/51.*Safari/* +Agent Mozilla/5.0 (Linux; Android 6.0; LG-H961N Build/MRA58K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.85 Mobile Safari/537.36 + Matched by: Mozilla/5.0 (*Linux*Android*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/* +Agent Mozilla/5.0 (Linux; U; Android 2.2.1; en-us; Nexus One Build/FRG83) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 + Matched by: Mozilla/5.0 (*Linux*Android* Build/*)*AppleWebKit/*(*KHTML,*like Gecko*)*Version/4.0*Safari* +Agent Mozilla/5.0 (Linux; U; Android 2.2.2; ru-ru; HTC Desire Build/FRG83G) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 + Matched by: Mozilla/5.0 (*Linux*Android* Build/*)*AppleWebKit/*(*KHTML,*like Gecko*)*Version/4.0*Safari* +Agent Mozilla/5.0 (Linux; U; Android 4.2.2; de-de; Cynus F4 Build/JDQ39) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30 + Matched by: Mozilla/5.0 (*Linux*Android* Build/*)*AppleWebKit/*(*KHTML,*like Gecko*)*Version/4.0*Safari* +Agent Mozilla/5.0 (Linux; U; Android 4.3; de-de; HUAWEI Y530-U00 Build/HuaweiY530-U00) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30 + Matched by: Mozilla/5.0 (*Linux*Android* Build/*)*AppleWebKit/*(*KHTML,*like Gecko*)*Version/4.0*Safari* +Agent Mozilla/5.0 (Linux; U; Android 4.4.4; en-US; Coolpad 8297L-I00 Build/KTU84P) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 UCBrowser/11.0.5.850 U3/0.8.0 Mobile Safari/534.30 + Matched by: Mozilla/5.0 (*Linux*Android* Build/*)*AppleWebKit/*(*KHTML,*like Gecko*)*Version/4.0*Safari* +Agent Mozilla/5.0 (Linux; U; Android 5.0.2; zh-CN; Redmi Note 3 Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 OPR/11.2.3.102637 Mobile Safari/537.36 + Matched by: Mozilla/5.0 (*Linux*Android* Build/*)*AppleWebKit/*(*KHTML,*like Gecko*)*Version/4.0*Safari* +Agent Mozilla/5.0 (Linux; U; Linux Ventana; ru-ru; Transformer TF101 Build/HTK75) AppleWebKit/534.13 (KHTML, like Gecko) Chrome/8.0 Safari/534.13 + Matched by: Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/412982 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.99 Safari/537.36 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.93 Safari/537.36 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/48.*Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/600.2.5 (KHTML, like Gecko) Version/8.0.2 Safari/600.2.5 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *Version/8.0* Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.89 Safari/537.36 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.152 Safari/537.36 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.65 Safari/537.36 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.81 Safari/537.36 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.89 Safari/537.36 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/600.5.17 (KHTML, like Gecko) Version/8.0.5 Safari/600.5.17 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *Version/8.0* Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/600.6.3 (KHTML, like Gecko) Version/8.0.6 Safari/600.6.3 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *Version/8.0* Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.98 Safari/537.36 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.75 Safari/537.36 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/55.*Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/602.2.14 (KHTML, like Gecko) + Matched by: * +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:27.0) Gecko/20100101 Firefox/27.0 + Matched by: Mozilla/5.0 (*Mac OS X*) Gecko* Firefox/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:29.0) Gecko/20100101 Firefox/29.0 + Matched by: Mozilla/5.0 (*Mac OS X*) Gecko* Firefox/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Firefox/31.0 + Matched by: Mozilla/5.0 (*Mac OS X*) Gecko* Firefox/31.0* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:34.0) Gecko/20100101 Firefox/34.0 + Matched by: Mozilla/5.0 (*Mac OS X*) Gecko* Firefox/34.0* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:37.0) Gecko/20100101 Firefox/37.0 + Matched by: Mozilla/5.0 (*Mac OS X*) Gecko* Firefox/37.0* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:38.0) Gecko/20100101 Firefox/38.0 + Matched by: Mozilla/5.0 (*Mac OS X*) Gecko* Firefox/38.0* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:43.0) Gecko/20100101 Firefox/43.0 + Matched by: Mozilla/5.0 (*Mac OS X*) Gecko* Firefox/43.0* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:47.0) Gecko/20100101 Firefox/47.0 + Matched by: Mozilla/5.0 (*Mac OS X*) Gecko* Firefox/47.0* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2386.61 Safari/537.36 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.109 Safari/537.36 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/48.*Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/48.*Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit/601.4.4 (KHTML, like Gecko) Version/9.0.3 Safari/601.4.4 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *Version/9.0* Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/50.*Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.98 Safari/537.36 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/601.5.17 (KHTML, like Gecko) Version/9.1 Safari/601.5.17 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *Version/9.1* Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/50.*Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/52.*Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/52.*Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.98 Safari/537.36 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2907.0 Safari/537.36 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/601.7.7 (KHTML, like Gecko) Version/9.1.2 Safari/601.7.7 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *Version/9.1* Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/602.1.43 (KHTML, like Gecko) Version/10.0 Safari/602.1.43 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *Version/10.0* Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/602.1.50 (KHTML, like Gecko) + Matched by: * +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/602.2.14 (KHTML, like Gecko) + Matched by: * +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/602.2.14 (KHTML, like Gecko) Version/10.0.1 Safari/602.2.14 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *Version/10.0* Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/602.3.12 (KHTML, like Gecko) Version/10.0.2 Safari/602.3.12 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *Version/10.0* Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:33.0) Gecko/20100101 Firefox/33.0 + Matched by: Mozilla/5.0 (*Mac OS X*) Gecko* Firefox/33.0* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:45.0) Gecko/20100101 Firefox/45.0 + Matched by: Mozilla/5.0 (*Mac OS X*) Gecko* Firefox/45.0* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:47.0) Gecko/20100101 Firefox/47.0 + Matched by: Mozilla/5.0 (*Mac OS X*) Gecko* Firefox/47.0* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:51.0) Gecko/20100101 Firefox/51.0 + Matched by: Mozilla/5.0 (*Mac OS X*) Gecko* Firefox/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.98 Safari/537.36 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.59 Safari/537.36 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.87 Safari/537.36 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.98 Safari/537.36 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.44 Safari/537.36 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/55.*Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.75 Safari/537.36 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/55.*Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/55.*Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/602.2.14 (KHTML, like Gecko) + Matched by: * +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/602.2.14 (KHTML, like Gecko) Version/10.0.1 Safari/602.2.14 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *Version/10.0* Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/603.1.10 (KHTML, like Gecko) + Matched by: * +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_2) AppleWebKit/602.3.12 (KHTML, like Gecko) Version/10.0.2 Safari/602.3.12 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *Version/10.0* Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12) AppleWebKit/602.1.50 (KHTML, like Gecko) + Matched by: * +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12) AppleWebKit/602.1.50 (KHTML, like Gecko) Version/10.0 Safari/602.1.50 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *Version/10.0* Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:49.0) Gecko/20100101 Firefox/49.0 + Matched by: Mozilla/5.0 (*Mac OS X*) Gecko* Firefox/49.0* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:50.0) Gecko/20100101 Firefox/50.0 + Matched by: Mozilla/5.0 (*Mac OS X*) Gecko* Firefox/50.0* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/534.59.10 (KHTML, like Gecko) Version/5.1.9 Safari/534.59.10 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *Version/* Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/534.59.8 (KHTML, like Gecko) Version/5.1.9 Safari/534.59.8 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *Version/* Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.24 Safari/535.1 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.13+ (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *Version/* Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:26.0) Gecko/20100101 Firefox/26.0 + Matched by: Mozilla/5.0 (*Mac OS X*) Gecko* Firefox/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:30.0) Gecko/20100101 Firefox/30.0 + Matched by: Mozilla/5.0 (*Mac OS X*) Gecko* Firefox/30.0* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/534.51.22 (KHTML, like Gecko) Version/5.1.1 Safari/534.51.22 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *Version/* Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.186 Safari/535.1 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.93 Safari/537.36 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.71 (KHTML, like Gecko) Version/6.1 Safari/537.71 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *Version/6.1* Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.73.11 (KHTML, like Gecko) Version/6.1.1 Safari/537.73.11 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *Version/6.1* Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:26.0) Gecko/20100101 Firefox/26.0 + Matched by: Mozilla/5.0 (*Mac OS X*) Gecko* Firefox/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:34.0) Gecko/20100101 Firefox/34.0 + Matched by: Mozilla/5.0 (*Mac OS X*) Gecko* Firefox/34.0* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_3) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.65 Safari/537.31 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 1084) AppleWebKit/536.29.13 (KHTML like Gecko) Version/6.0.4 Safari/536.29.13 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *Version/6.0* Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.110 Safari/537.36 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_5) AppleWebKit/536.30.1 (KHTML, like Gecko) Version/6.0.5 Safari/536.30.1 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *Version/6.0* Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_5) AppleWebKit/537.71 (KHTML, like Gecko) Version/6.1 Safari/537.71 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *Version/6.1* Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_5) AppleWebKit/537.73.11 (KHTML, like Gecko) Version/6.1.1 Safari/537.73.11 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *Version/6.1* Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:26.0) Gecko/20100101 Firefox/26.0 + Matched by: Mozilla/5.0 (*Mac OS X*) Gecko* Firefox/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:43.0) Gecko/20100101 Firefox/43.0 + Matched by: Mozilla/5.0 (*Mac OS X*) Gecko* Firefox/43.0* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.57 Safari/537.36 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.57 Safari/537.36 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.68 Safari/537.36 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.73.11 (KHTML, like Gecko) Version/7.0.1 Safari/537.73.11 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *Version/7.0* Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.131 Safari/537.36 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.75.14 (KHTML, like Gecko) Version/7.0.3 Safari/537.75.14 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *Version/7.0* Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.114 Safari/537.36 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.124 Safari/537.36 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2183.55 Safari/537.36 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9) AppleWebKit/537.71 (KHTML, like Gecko) Version/7.0 Safari/537.71 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *Version/7.0* Safari/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:25.0) Gecko/20100101 Firefox/25.0 + Matched by: Mozilla/5.0 (*Mac OS X*) Gecko* Firefox/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:26.0) Gecko/20100101 Firefox/26.0 + Matched by: Mozilla/5.0 (*Mac OS X*) Gecko* Firefox/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:29.0) Gecko/20100101 Firefox/29.0 + Matched by: Mozilla/5.0 (*Mac OS X*) Gecko* Firefox/* +Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:35.0) Gecko/20100101 Firefox/35.0 + Matched by: Mozilla/5.0 (*Mac OS X*) Gecko* Firefox/35.0* +Agent Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_8; zh-cn) AppleWebKit/533.18.1 (KHTML, like Gecko) Version/5.0.2 Safari/533.18.5 + Matched by: Mozilla/5.0 (*Mac OS X*) AppleWebKit/* (KHTML* like Gecko) *Version/* Safari/* +Agent Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; fr; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8 + Matched by: Mozilla/5.0 (*Mac OS X*) Gecko* Firefox/* +Agent Mozilla/5.0 (Mobile; Windows Phone 8.1; Android 4.0; ARM; Trident/7.0; Touch; rv:11.0; IEMobile/11.0; NOKIA; Lumia 930; Vodafone) like iPhone OS 7_0_3 Mac OS X AppleWebKit/537 (KHTML, like Gecko) Mobile Safari/537 + Matched by: Mozilla/5.0*(*Windows Phone 8.1*Trident/7.0*rv:11*IEMobile?11.0; NOKIA; Lumia 930* +Agent Mozilla/5.0 Moreover/5.1 (+http://www.moreover.com; webmaster@moreover.com) + Matched by: * +Agent Mozilla/5.0 Project 25499 (project25499.com) + Matched by: * +Agent Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaN95/31.0.017; Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413 + Matched by: * +Agent Mozilla/5.0 (Unknown; Linux x86_64) AppleWebKit/538.1 (KHTML, like Gecko) PhantomJS/2.1.1 Safari/538.1 + Matched by: * +Agent Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Safari/537.36 Edge/13.10586 + Matched by: Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/* Safari/* Edge/13.* +Agent Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/50.*Safari/* +Agent Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/* +Agent Mozilla/5.0 (Windows NT 10.0; rv:46.0) Gecko/20100101 Firefox/46.0 + Matched by: Mozilla/5.0 (*Windows NT 10.0*rv:46.0*) Gecko* Firefox* +Agent Mozilla/5.0 (Windows NT 10.0; rv:50.0) Gecko/20100101 Firefox/50.0 + Matched by: Mozilla/5.0 (*Windows NT 10.0*rv:50.0*) Gecko* Firefox* +Agent Mozilla/5.0 (Windows NT 10.0; rv:52.0) Gecko/20100101 Firefox/52.0 + Matched by: Mozilla/5.0 (*Windows NT 10.0*rv:*) Gecko* Firefox* +Agent Mozilla/5.0 (Windows NT 10.0; Trident/7.0; rv:11.0) like Gecko + Matched by: Mozilla/5.0 (*Windows NT 10.0*Trident/7.0*rv:11.0* +Agent Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2301.96 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.10240 + Matched by: Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/* Safari/* Edge/12.* +Agent Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.79 Safari/537.36 Edge/14.14393 + Matched by: Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/* Safari/* Edge/14.* +Agent Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36 Edge/15.14970 + Matched by: Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/* Safari/* Edge/15.* +Agent Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/* +Agent Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.87 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/* +Agent Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/* +Agent Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36 FirePHP/4Chrome + Matched by: Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/* +Agent Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.75 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/55.*Safari/* +Agent Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/55.*Safari/* +Agent Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2922.0 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2922.1 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.14 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:40.0) Gecko/20100101 Firefox/40.0 + Matched by: Mozilla/5.0 (*Windows NT 10.0*) Gecko* Firefox/40.0* +Agent Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:48.0) Gecko/20100101 Firefox/48.0 + Matched by: Mozilla/5.0 (*Windows NT 10.0*rv:48.0*) Gecko* Firefox* +Agent Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:49.0) Gecko/20100101 Firefox/49.0 + Matched by: Mozilla/5.0 (*Windows NT 10.0*rv:49.0*) Gecko* Firefox* +Agent Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:50.0) Gecko/20100101 Firefox/50.0 + Matched by: Mozilla/5.0 (*Windows NT 10.0*rv:50.0*) Gecko* Firefox* +Agent Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:51.0) Gecko/20100101 Firefox/51.0 + Matched by: Mozilla/5.0 (*Windows NT 10.0*rv:*) Gecko* Firefox* +Agent Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:52.0) Gecko/20100101 Firefox/52.0 + Matched by: Mozilla/5.0 (*Windows NT 10.0*rv:*) Gecko* Firefox* +Agent Mozilla/5.0 (Windows NT 10.0; Win64; x64; Trident/7.0; rv:11.0) like Gecko + Matched by: Mozilla/5.0 (*Windows NT 10.0*Trident/7.0*rv:11.0* +Agent Mozilla/5.0 (Windows NT 10.0; WOW64) + Matched by: * +Agent Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36 SE 2.X MetaSr 1.0 + Matched by: Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.81 Safari/537.36 OPR/30.0.1835.59 (Edition Rambler) + Matched by: Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/30.0* +Agent Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/45.*Safari/* +Agent Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.93 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/45.*Safari/* +Agent Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/46.*Safari/* +Agent Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/47.*Safari/* +Agent Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.103 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/48.*Safari/* +Agent Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.109 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/48.*Safari/* +Agent Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/48.*Safari/* +Agent Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.97 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/48.*Safari/* +Agent Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.75 Safari/537.36 OPR/36.0.2130.32 + Matched by: Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/36.0* +Agent Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/49.*Safari/* +Agent Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/50.*Safari/* +Agent Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/51.*Safari/* +Agent Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/52.*Safari/* +Agent Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 YaBrowser/16.10.0.2564 Yowser/2.5 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/53.*Safari/* +Agent Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/53.*Safari/* +Agent Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 YaBrowser/16.10.1.1114 Yowser/2.5 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/53.*Safari/* +Agent Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/* +Agent Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.87 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/* +Agent Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/* +Agent Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36 OPR/41.0.2353.69 + Matched by: Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML, like Gecko)*Chrome/*Safari/*OPR/41.0* +Agent Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.75 Safari/537.36 OPR/42.0.2393.85 + Matched by: Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML, like Gecko)*Chrome/*Safari/*OPR/42.0* +Agent Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 10.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/55.*Safari/* +Agent Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0 + Matched by: Mozilla/5.0 (*Windows NT 10.0*) Gecko* Firefox/38.0* +Agent Mozilla/5.0 (Windows NT 10.0; WOW64; rv:39.0) Gecko/20100101 Firefox/39.0 + Matched by: Mozilla/5.0 (*Windows NT 10.0*) Gecko* Firefox/39.0* +Agent Mozilla/5.0 (Windows NT 10.0; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0 + Matched by: Mozilla/5.0 (*Windows NT 10.0*) Gecko* Firefox/40.0* +Agent Mozilla/5.0 (Windows NT 10.0; WOW64; rv:41.0) Gecko/20100101 Firefox/41.0 + Matched by: Mozilla/5.0 (*Windows NT 10.0*rv:41.0*) Gecko* Firefox* +Agent Mozilla/5.0 (Windows NT 10.0; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0 + Matched by: Mozilla/5.0 (*Windows NT 10.0*rv:43.0*) Gecko* Firefox* +Agent Mozilla/5.0 (Windows NT 10.0; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0 + Matched by: Mozilla/5.0 (*Windows NT 10.0*rv:44.0*) Gecko* Firefox* +Agent Mozilla/5.0 (Windows NT 10.0; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0 + Matched by: Mozilla/5.0 (*Windows NT 10.0*rv:46.0*) Gecko* Firefox* +Agent Mozilla/5.0 (Windows NT 10.0; WOW64; rv:49.0) Gecko/20100101 Firefox/49.0 + Matched by: Mozilla/5.0 (*Windows NT 10.0*rv:49.0*) Gecko* Firefox* +Agent Mozilla/5.0 (Windows NT 10.0; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0 + Matched by: Mozilla/5.0 (*Windows NT 10.0*rv:50.0*) Gecko* Firefox* +Agent Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko + Matched by: Mozilla/5.0 (*Windows NT 10.0*Trident/7.0*rv:11.0* +Agent Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.46 Safari/535.11 MRCHROME + Matched by: Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.810.0 Safari/535.1 + Matched by: Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/24.0.1290.1 Safari/537.13 + Matched by: Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1468.0 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.116 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 OPR/26.0.1656.60 + Matched by: Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.99 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/45.*Safari/* +Agent Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/49.*Safari/* +Agent Mozilla/5.0 (Windows NT 5.1; ru-RU; rv:26.0) Gecko/20100101 Firefox/26.0 + Matched by: * +Agent Mozilla/5.0 (Windows NT 5.1; rv:2.0b13pre) Gecko/20110223 Firefox/4.0b13pre + Matched by: * +Agent Mozilla/5.0 (Windows NT 5.1; rv:24.0) Gecko/20100101 Firefox/24.0 + Matched by: * +Agent Mozilla/5.0 (Windows NT 5.1; rv:25.0) Gecko/20100101 Firefox/25.0 + Matched by: * +Agent Mozilla/5.0 (Windows NT 5.1; rv:26.0) Gecko/20100101 Firefox/26.0 + Matched by: * +Agent Mozilla/5.0 (Windows NT 5.1; rv:32.0) Gecko/20100101 Firefox/31.0 + Matched by: * +Agent Mozilla/5.0 (Windows NT 5.1; rv:34.0) Gecko/20100101 Firefox/34.0 + Matched by: * +Agent Mozilla/5.0 (Windows NT 5.1; rv:35.0) Gecko/20100101 Firefox/35.0 + Matched by: * +Agent Mozilla/5.0 (Windows NT 5.1; rv:38.0) Gecko/20100101 Firefox/38.0 K-Meleon/76.0 + Matched by: * +Agent Mozilla/5.0 (Windows NT 5.1; rv:43.0) Gecko/20100101 Firefox/43.0 + Matched by: * +Agent Mozilla/5.0 (Windows NT 5.1; rv:47.0) Gecko/20100101 Firefox/47.0 + Matched by: * +Agent Mozilla/5.0 (Windows NT 5.1; rv:48.0) Gecko/20100101 Firefox/48.0 + Matched by: * +Agent Mozilla/5.0 (Windows NT 5.1; rv:49.0) Gecko/20100101 Firefox/49.0 + Matched by: * +Agent Mozilla/5.0 (Windows NT 5.1; rv:50.0) Gecko/20100101 Firefox/50.0 + Matched by: * +Agent Mozilla/5.0 (Windows NT 5.1; rv:6.0.2) Gecko/20100101 Firefox/6.0.2 + Matched by: * +Agent Mozilla/5.0 (Windows NT 5.1; rv:7.0.1) Gecko/20100101 Firefox/7.0.1 + Matched by: * +Agent Mozilla/5.0 (Windows NT 5.1; rv:9.0.1) Gecko/20100101 Firefox/9.0.1 + Matched by: * +Agent Mozilla/5.0 (Windows NT 5.1; U; en) Opera 8.00 + Matched by: * +Agent Mozilla/5.0 (Windows NT 5.1; U; en) Opera 8.01 + Matched by: * +Agent Mozilla/5.0 (Windows NT 5.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1996.45 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 5.2; rv:43.0) Gecko/20100101 Firefox/43.0 + Matched by: * +Agent Mozilla/5.0 (Windows NT 5.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/49.*Safari/* +Agent Mozilla/5.0 (Windows NT 6.0) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.792.0 Safari/535.1 + Matched by: Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.17 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.116 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.0; rv:26.0) Gecko/20100101 Firefox/26.0 + Matched by: Mozilla/5.0 (*Windows NT 6.0*) Gecko* Firefox/* +Agent Mozilla/5.0 (Windows NT 6.0; rv:34.0) Gecko/20100101 Firefox/34.0 + Matched by: Mozilla/5.0 (*Windows NT 6.0*) Gecko* Firefox/34.0* +Agent Mozilla/5.0 (Windows NT 6.0; rv:49.0) Gecko/20100101 Firefox/49.0 + Matched by: Mozilla/5.0 (*Windows NT 6.0*) Gecko* Firefox/49.0* +Agent Mozilla/5.0 (Windows NT 6.0; rv:50.0) Gecko/20100101 Firefox/50.0 + Matched by: Mozilla/5.0 (*Windows NT 6.0*) Gecko* Firefox/50.0* +Agent Mozilla/5.0 (Windows NT 6.0; WOW64) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.34 Safari/534.24 + Matched by: Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.0; WOW64) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.91 Safari/534.30 + Matched by: Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.0; WOW64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17 + Matched by: Mozilla/5.0 (*Windows NT 6.0*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.0; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0 + Matched by: Mozilla/5.0 (*Windows NT 6.0*) Gecko* Firefox/40.0* +Agent Mozilla/5.0 (Windows NT 6.1) AppleWebKit/536.5 (KHTML like Gecko) Chrome/19.0.1084.56 Safari/536.5 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.89 Safari/537.1 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.90 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.72 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36 OPR/20.0.1387.91 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 YaBrowser/14.10.2062.12521 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 OPR/26.0.1656.60 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/47.*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.109 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/48.*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/53.*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/53.*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.21 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/53.*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36 OPR/41.0.2353.69 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML, like Gecko)*Chrome/*Safari/*OPR/41.0* +Agent Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.75 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/55.*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Dragon/36.1.1.21 Chrome/36.0.1985.97 Safari/537.36 + Matched by: * +Agent Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Iron/32.0.1750.1 Chrome/32.0.1750.1 Safari/537.36 + Matched by: * +Agent Mozilla/5.0 (Windows NT 6.1; rv:12.0) Gecko/ 20120405 Firefox/14.0.1 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/* +Agent Mozilla/5.0 (Windows NT 6.1; rv:18.0) Gecko/20100101 Firefox/18.0 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/* +Agent Mozilla/5.0 (Windows NT 6.1; rv:19.0) Gecko/20100101 Firefox/19.0 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/* +Agent Mozilla/5.0 (Windows NT 6.1; rv:1.9) Gecko/20100101 Firefox/4.0 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/* +Agent Mozilla/5.0 (Windows NT 6.1; rv:2.0b10pre) Gecko/20110113 Firefox/4.0b10pre + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/* +Agent Mozilla/5.0 (Windows NT 6.1; rv:2.0b6pre) Gecko/20100903 Firefox/4.0b6pre Firefox/4.0b6pre + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/* +Agent Mozilla/5.0 (Windows NT 6.1; rv:21.0) Gecko/20100101 Firefox/21.0 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/* +Agent Mozilla/5.0 (Windows NT 6.1; rv:24.0) Gecko/20100101 Firefox/24.0 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/* +Agent Mozilla/5.0 (Windows NT 6.1; rv:24.0) Gecko/20140329 Firefox/24.0 PaleMoon/24.4.2 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/* +Agent Mozilla/5.0 (Windows NT 6.1; rv:25.0) Gecko/20100101 Firefox/25.0 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/* +Agent Mozilla/5.0 (Windows NT 6.1; rv:26.0) Gecko/20100101 Firefox/26.0 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/* +Agent Mozilla/5.0 (Windows NT 6.1; rv:28.0) Gecko/20100101 Firefox/28.0 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/* +Agent Mozilla/5.0 (Windows NT 6.1; rv:31.0) Gecko/20100101 Firefox/31.0 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/31.0* +Agent Mozilla/5.0 (Windows NT 6.1; rv:32.0) Gecko/20100101 Firefox/32.0 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/32.0* +Agent Mozilla/5.0 (Windows NT 6.1; rv:34.0) Gecko/20100101 Firefox/34.0 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/34.0* +Agent Mozilla/5.0 (Windows NT 6.1; rv:35.0) Gecko/20100101 Firefox/35.0 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/35.0* +Agent Mozilla/5.0 (Windows NT 6.1; rv:38.0) Gecko/20100101 Firefox/38.0 K-Meleon/76.0 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/38.0* +Agent Mozilla/5.0 (Windows NT 6.1; rv:39.0) Gecko/20100101 Firefox/39.0 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/39.0* +Agent Mozilla/5.0 (Windows NT 6.1; rv:43.0) Gecko/20100101 Firefox/43.0 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/43.0* +Agent Mozilla/5.0 (Windows NT 6.1; rv:44.0) Gecko/20100101 Firefox/44.0 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/44.0* +Agent Mozilla/5.0 (Windows NT 6.1; rv:45.0) Gecko/20100101 Firefox/45.0 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/45.0* +Agent Mozilla/5.0 (Windows NT 6.1; rv:49.0) Gecko/20100101 Firefox/49.0 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/49.0* +Agent Mozilla/5.0 (Windows NT 6.1; rv:50.0) Gecko/20100101 Firefox/50.0 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/50.0* +Agent Mozilla/5.0 (Windows NT 6.1; rv:5.0) Gecko/20100101 Firefox/5.0 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/* +Agent Mozilla/5.0 (Windows NT 6.1; rv:6.0) Gecko/20100101 Firefox/19.0 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/* +Agent Mozilla/5.0 (Windows NT 6.1; rv:9.0.1) Gecko/20100101 Firefox/9.0.1 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/* +Agent Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like C9CF7 + Matched by: Mozilla/5.0 (*Windows NT 6.1*Trident/7.0*rv:11.0* +Agent Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko + Matched by: Mozilla/5.0 (*Windows NT 6.1*Trident/7.0*rv:11.0* +Agent Mozilla/5.0 (Windows NT 6.1; U;WOW64; de;rv:11.0) Gecko Firefox/11.0 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/* +Agent Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.85 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/52.*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.87 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.59 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/55.*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:2.0b11pre) Gecko/20110128 Firefox/4.0b11pre + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/* +Agent Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:2.2a1pre) Gecko/20110324 Firefox/4.2a1pre + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/* +Agent Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:24.0) Gecko/20100101 Firefox/24.0 Waterfox/24.0 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/* +Agent Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:44.0) Gecko/20100101 Firefox/44.0 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/44.0* +Agent Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:5.0) Gecko/20110619 Firefox/5.0 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/* +Agent Mozilla/5.0 (Windows NT 6.1; Win64; x64; Trident/7.0; CTL_IE11; rv:11.0) like Gecko + Matched by: Mozilla/5.0 (*Windows NT 6.1*Trident/7.0*rv:11.0* +Agent Mozilla/5.0 (Windows NT 6.1; Win64; x64; Trident/7.0; rv:11.0) like Gecko + Matched by: Mozilla/5.0 (*Windows NT 6.1*Trident/7.0*rv:11.0* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.12 Safari/534.24 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534+ (KHTML, like Gecko) BingPreview/1.0b + Matched by: * +Agent Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.121 Safari/535.2 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1468.0 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.72 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 YaBrowser/13.10.1500.9323 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.57 Safari/537.36 OPR/16.0.1196.73 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.57 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.107 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.41 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.116 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.131 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.137 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML like Gecko) Chrome/35.0.1916.114 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.143 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.120 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 OPR/26.0.1656.60 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.99 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.115 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.152 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.65 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.81 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.125 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.89 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 YaBrowser/15.12.1.6475 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/46.*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/47.*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/47.*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111 Safari/537.36 OPR/34.0.2036.50 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/34.0* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111 YaBrowser/16.2.0.3539 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/47.*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.103 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/48.*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.109 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/48.*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/48.*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36 OPR/35.0.2066.37 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko)*Chrome/*Safari/*OPR/35.0* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.97 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/48.*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/51.*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/53.*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 YaBrowser/16.10.1.1114 Yowser/2.5 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/53.*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.87 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36 OPR/41.0.2353.69 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML, like Gecko)*Chrome/*Safari/*OPR/41.0* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.75 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/55.*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/55.*Safari/* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Dragon/36.1.1.21 Chrome/36.0.1985.97 Safari/537.36 + Matched by: * +Agent Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Iron/29.0.1600.1 Chrome/29.0.1600.1 Safari/537.36 + Matched by: * +Agent Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Maxthon/4.4.3.4000 Chrome/30.0.1599.101 Safari/537.36 + Matched by: * +Agent Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Maxthon/4.4.4.600 Chrome/30.0.1599.101 Safari/537.36 + Matched by: * +Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:16.0) Gecko/20100101 Firefox/36.0 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/36.0* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:19.0) Gecko/20100101 Firefox/19.0 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0b11pre) Gecko/20110128 Firefox/4.0b11pre + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0b7) Gecko/20100101 Firefox/4.0b7 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:21.0) Gecko/20100101 Firefox/21.0 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:22.0) Gecko/20100101 Firefox/22.0 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Firefox/24.0 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:25.0) Gecko/20100101 Firefox/25.0 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.3) Gecko/20100101 Firefox/27.3 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:28.0) Gecko/20100101 Firefox/28.0 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Firefox/31.0 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/31.0* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20130401 Firefox/31.0 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/31.0* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:33.0) Gecko/20100101 Firefox/33.0 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/33.0* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/34.0* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/35.0* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:36.0) Gecko/20100101 Firefox/36.0 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/36.0* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/37.0* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/38.0* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.1 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/43.0* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/44.0* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/45.0* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/46.0* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/47.0* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:49.0) Gecko/20100101 Firefox/49.0 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/49.0* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/50.0* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; AS; rv:11.0) like Gecko + Matched by: Mozilla/5.0 (*Windows NT 6.1*Trident/7.0*rv:11.0* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; CTL_IE11; rv:11.0) like Gecko + Matched by: Mozilla/5.0 (*Windows NT 6.1*Trident/7.0*rv:11.0* +Agent Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko + Matched by: Mozilla/5.0 (*Windows NT 6.1*Trident/7.0*rv:11.0* +Agent Mozilla/5.0 (Windows NT 6.2) AppleWebKit/537.36 (KHTML like Gecko) Chrome/27.0.1453.116 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36 QIHU 360SE; 360Spider + Matched by: Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.99 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.2;en-US) AppleWebKit/537.36 (KHTML, live Gecko) Chrome/39.0.2206.79 Safari/537 + Matched by: * +Agent Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2477.75 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/45.*Safari/* +Agent Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/* +Agent Mozilla/5.0 (Windows NT 6.2; Win64; x64; rv:27.0) Gecko/20100101 Firefox/27.0 + Matched by: Mozilla/5.0 (*Windows NT 6.2*) Gecko* Firefox/* +Agent Mozilla/5.0 (Windows NT 6.2; Win64; x64; rv:36.0) Gecko/20100101 Firefox/36.0 + Matched by: Mozilla/5.0 (*Windows NT 6.2*) Gecko* Firefox/36.0* +Agent Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.58 Safari/537.31 + Matched by: Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.94 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML like Gecko) Chrome/28.0.1469.0 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.0 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML like Gecko) Chrome/30.0.1599.69 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.107 Safari/537.36 OPR/19.0.1326.63 (Edition Campaign 21) + Matched by: Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.5 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML like Gecko) Chrome/34.0.1847.116 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.1 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/46.*Safari/* +Agent Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.2*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/* +Agent Mozilla/5.0 (Windows NT 6.2; WOW64; rv:19.0) Gecko/20100101 Firefox/19.0 + Matched by: Mozilla/5.0 (*Windows NT 6.2*) Gecko* Firefox/* +Agent Mozilla/5.0 (Windows NT 6.2; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0 + Matched by: Mozilla/5.0 (*Windows NT 6.2*) Gecko* Firefox/* +Agent Mozilla/5.0 (Windows NT 6.2; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0 + Matched by: Mozilla/5.0 (*Windows NT 6.2*) Gecko* Firefox/* +Agent Mozilla/5.0 (Windows NT 6.2; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0 + Matched by: Mozilla/5.0 (*Windows NT 6.2*) Gecko* Firefox/34.0* +Agent Mozilla/5.0 (Windows NT 6.2; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0 + Matched by: Mozilla/5.0 (*Windows NT 6.2*) Gecko* Firefox/35.0* +Agent Mozilla/5.0 (Windows NT 6.2; WOW64; rv:36.0) Gecko/20100101 Firefox/36.0 + Matched by: Mozilla/5.0 (*Windows NT 6.2*) Gecko* Firefox/36.0* +Agent Mozilla/5.0 (Windows NT 6.2; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0 + Matched by: Mozilla/5.0 (*Windows NT 6.2*) Gecko* Firefox/44.0* +Agent Mozilla/5.0 (Windows NT 6.2; WOW64; rv:49.0) Gecko/20100101 Firefox/49.0 + Matched by: Mozilla/5.0 (*Windows NT 6.2*) Gecko* Firefox/49.0* +Agent Mozilla/5.0 (Windows NT 6.2; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0 + Matched by: Mozilla/5.0 (*Windows NT 6.2*) Gecko* Firefox/50.0* +Agent Mozilla/5.0 (Windows NT 6.2; WOW64; Trident/7.0; rv:11.0) like Gecko + Matched by: Mozilla/5.0 (*Windows NT 6.2*Trident/7.0*rv:11.0* +Agent Mozilla/5.0 (Windows NT 6.3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2049.0 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2220.0 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/* +Agent Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.87 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/* +Agent Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/* +Agent Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:49.0) Gecko/20100101 Firefox/49.0 + Matched by: Mozilla/5.0 (*Windows NT 6.3*) Gecko* Firefox/49.0* +Agent Mozilla/5.0 (Windows NT 6.3; Win64; x64; Trident/7.0; rv:11.0) like Gecko + Matched by: Mozilla/5.0 (*Windows NT 6.3*Trident/7.0*rv:11.0* +Agent Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.72 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.76 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1788.0 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.131 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.137 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.143 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.115 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.152 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.65 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/45.*Safari/* +Agent Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/47.*Safari/* +Agent Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.109 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/48.*Safari/* +Agent Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/48.*Safari/* +Agent Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.97 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/48.*Safari/* +Agent Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/* +Agent Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36 + Matched by: Mozilla/5.0 (*Windows NT 6.3*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/* +Agent Mozilla/5.0 (Windows NT 6.3; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0 + Matched by: Mozilla/5.0 (*Windows NT 6.3*) Gecko* Firefox/* +Agent Mozilla/5.0 (Windows NT 6.3; WOW64; rv:28.0) Gecko/20100101 Firefox/28.0 + Matched by: Mozilla/5.0 (*Windows NT 6.3*) Gecko* Firefox/* +Agent Mozilla/5.0 (Windows NT 6.3; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0 + Matched by: Mozilla/5.0 (*Windows NT 6.3*) Gecko* Firefox/* +Agent Mozilla/5.0 (Windows NT 6.3; WOW64; rv:31.0) Gecko/20100101 Firefox/31.0 + Matched by: Mozilla/5.0 (*Windows NT 6.3*) Gecko* Firefox/31.0* +Agent Mozilla/5.0 (Windows NT 6.3; WOW64; rv:32.0) Gecko/20100101 Firefox/32.0 + Matched by: Mozilla/5.0 (*Windows NT 6.3*) Gecko* Firefox/32.0* +Agent Mozilla/5.0 (Windows NT 6.3; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0 + Matched by: Mozilla/5.0 (*Windows NT 6.3*) Gecko* Firefox/34.0* +Agent Mozilla/5.0 (Windows NT 6.3; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0 + Matched by: Mozilla/5.0 (*Windows NT 6.3*) Gecko* Firefox/35.0* +Agent Mozilla/5.0 (Windows NT 6.3; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0 + Matched by: Mozilla/5.0 (*Windows NT 6.3*) Gecko* Firefox/37.0* +Agent Mozilla/5.0 (Windows NT 6.3; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0 + Matched by: Mozilla/5.0 (*Windows NT 6.3*) Gecko* Firefox/43.0* +Agent Mozilla/5.0 (Windows NT 6.3; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0 + Matched by: Mozilla/5.0 (*Windows NT 6.3*) Gecko* Firefox/44.0* +Agent Mozilla/5.0 (Windows NT 6.3; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0 + Matched by: Mozilla/5.0 (*Windows NT 6.3*) Gecko* Firefox/45.0* +Agent Mozilla/5.0 (Windows NT 6.3; WOW64; rv:49.0) Gecko/20100101 Firefox/49.0 + Matched by: Mozilla/5.0 (*Windows NT 6.3*) Gecko* Firefox/49.0* +Agent Mozilla/5.0 (Windows NT 6.3; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0 + Matched by: Mozilla/5.0 (*Windows NT 6.3*) Gecko* Firefox/50.0* +Agent Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko + Matched by: Mozilla/5.0 (*Windows NT 6.3*Trident/7.0*rv:11.0* +Agent Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; Touch; rv:11.0) like Gecko + Matched by: Mozilla/5.0 (*Windows NT 6.3*Trident/7.0*Touch*rv:11.0*)* +Agent Mozilla/5.0 (Windows NT 8.1; WOW64; rv:48.0) Gecko/20100101 Firefox/48.0 + Matched by: * +Agent Mozilla/5.0 (Windows; U; MSIE 7.0; Windows NT 6.0; en-US) + Matched by: Mozilla/5.0 (*MSIE 7.0* +Agent Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 9.0; en-US) + Matched by: * +Agent Mozilla/5.0 (Windows; U; MSIE 9.0; WIndows NT 9.0; en-US) + Matched by: * +Agent Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.12) Gecko/20050915 Firefox/1.0.7 + Matched by: * +Agent Mozilla/5.0 (Windows; U; Windows NT 5.1; en; rv:1.9.0.13) Gecko/2009073022 Firefox/3.5.2 (.NET CLR 3.5.30729) SurveyBot/2.3 (DomainTools) + Matched by: * +Agent Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/532.1 (KHTML, like Gecko)Chrome/4.0.219.6 Safari/532.1 + Matched by: * +Agent Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.99 Safari/533.4 + Matched by: Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.634.0 Safari/534.16 + Matched by: Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows; U; Windows NT 5.1; en-us; rv:1.7.12) Gecko/20050919 Firefox/1.0.7 + Matched by: * +Agent Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1 + Matched by: * +Agent Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6 (.NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729) + Matched by: * +Agent Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12 + Matched by: * +Agent Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.8) Gecko/20100721 Firefox/3.6.8 + Matched by: * +Agent Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6 + Matched by: * +Agent Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:2.0.1) Gecko/20110606 Firefox/4.0.1 + Matched by: * +Agent Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11 + Matched by: * +Agent Mozilla/5.0 (Windows; U; Windows NT 5.1; pt-PT; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2 (.NET CLR 3.5.30729) + Matched by: * +Agent Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.7) Gecko/2009021910 Firefox/3.0.7 (.NET CLR 3.5.30729) + Matched by: * +Agent Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.2.26) Gecko/20120128 Firefox/3.6.26 GTB7.1 ( .NET CLR 3.5.30729) + Matched by: * +Agent Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.3) Gecko/20041001 Firefox/0.10.1 + Matched by: * +Agent Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2 (.NET CLR 3.5.30729) + Matched by: * +Agent Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US) AppleWebKit/530.5 (KHTML, like Gecko) Chrome/2.0.172.30 Safari/530.5 + Matched by: Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US) AppleWebKit/534.17 (KHTML, like Gecko) Chrome/11.0.652.0 Safari/534.17 + Matched by: Mozilla/5.0 (*Windows*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3(.NET CLR 3.5.30729) + Matched by: * +Agent Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.4 + Matched by: Mozilla/5.0 (*Windows NT 6.0*) Gecko* Firefox/* +Agent Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 GTB6 (.NET CLR 3.5.30729) + Matched by: Mozilla/5.0 (*Windows NT 6.0*) Gecko* Firefox/* +Agent Mozilla/5.0 (Windows; U; Windows NT 6.1; en; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3(.NET CLR 3.5.30729) + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/* +Agent Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/533.19.4 (KHTML, like Gecko) Version/5.0.2 Safari/533.18.5 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) *Version/* Safari/* +Agent Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.13 (KHTML, like Gecko) Chrome/9.0.597.107 Safari/534.13 BuiltWith/1.2 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent =Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.204 Safari/534.16 + Matched by: * +Agent Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.1) Gecko/20090718 Firefox/3.5.1 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/* +Agent Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.23) Gecko/20110920 Firefox/3.6.23 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/* +Agent Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.28) + Matched by: * +Agent Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.28) Gecko/20120306 Firefox/3.6.28 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/* +Agent Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2b1) Gecko/20091014 Firefox/3.6b1 GTB5 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/* +Agent Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2b5) Gecko/20091204 Firefox/3.6b5 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/* +Agent Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2 WebMoney Advisor + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/* +Agent Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko* Firefox/* +Agent Mozilla/5.0 (Windows; U; Windows NT 6.1; rv:2.2) Gecko/20110201 + Matched by: Mozilla/5.0 (*Windows NT 6.1*) Gecko*/* +Agent Mozilla/5.0 (Windows; Windows NT 5.1; en-US) Firefox/3.5.0 + Matched by: * +Agent Mozilla/5.0 (X11; CrOS i686 1660.57.0) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.46 Safari/535.19 + Matched by: * +Agent Mozilla/5.0 (X11; CrOS x86_64 6310.68.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.96 Safari/537.36 + Matched by: * +Agent Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:49.0) Gecko/20100101 Firefox/49.0 + Matched by: Mozilla/5.0 (*Linux*) Gecko* Firefox/49.0* +Agent Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:50.0) Gecko/20100101 Firefox/50.0 + Matched by: Mozilla/5.0 (*Linux*) Gecko* Firefox/50.0* +Agent Mozilla/5.0 (X11; FreeBSD amd64; rv:45.0) Gecko/20100101 Firefox/45.0 + Matched by: * +Agent Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.30 (KHTML, like Gecko) Ubuntu/10.10 Chromium/12.0.742.112 Chrome/12.0.742.112 Safari/534.30 + Matched by: * +Agent Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.34 (KHTML, like Gecko) Qt/4.8.4 Safari/534.34 + Matched by: * +Agent Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.11 (KHTML, like Gecko) Ubuntu/11.10 Chromium/17.0.963.65 Chrome/17.0.963.65 Safari/535.11 + Matched by: * +Agent Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.1 (KHTML, like Gecko) Ubuntu/10.04 Chromium/14.0.813.0 Chrome/14.0.813.0 Safari/535.1 + Matched by: * +Agent Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.66 Safari/537.36 + Matched by: Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36 + Matched by: Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2303.22 Safari/537.36 + Matched by: Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2315.18 Safari/537.36 + Matched by: Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36 + Matched by: Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) Chrome/48.*Safari/* +Agent Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/31.0.1650.63 Chrome/31.0.1650.63 Safari/537.36 + Matched by: * +Agent Mozilla/5.0 (X11; Linux i686 on x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1870.93 Safari/537.36 + Matched by: Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (X11; Linux i686 on x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2447.81 Safari/537.36 + Matched by: Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (X11; Linux i686 on x86_64; rv:28.0) Gecko/20100101 Firefox/28.0 + Matched by: Mozilla/5.0 (*Linux*) Gecko* Firefox/* +Agent Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/20100101 Firefox/17.0 + Matched by: Mozilla/5.0 (*Linux*) Gecko* Firefox/* +Agent Mozilla/5.0 (X11; Linux i686; rv:21.0) Gecko/20100101 Firefox/21.0 + Matched by: Mozilla/5.0 (*Linux*) Gecko* Firefox/* +Agent Mozilla/5.0 (X11; Linux i686; rv:3.0) Gecko/20100101 Goanna/20161003 PaleMoon/27.0.0b1 + Matched by: * +Agent Mozilla/5.0 (X11; Linux i686; rv:45.0) Gecko/20100101 Firefox/45.0 + Matched by: Mozilla/5.0 (*Linux*) Gecko* Firefox/45.0* +Agent Mozilla/5.0 (X11; Linux ppc; rv:5.0) Gecko/20100101 Firefox/5.0 + Matched by: Mozilla/5.0 (*Linux*) Gecko* Firefox/* +Agent Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.34 Safari/534.24 + Matched by: Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.3 Safari/534.24 + Matched by: Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.30 (KHTML, like Gecko) Ubuntu/10.10 Chromium/12.0.742.112 Chrome/12.0.742.112 Safari/534.30 + Matched by: * +Agent Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.34 (KHTML, like Gecko) Qt/4.8.2 + Matched by: * +Agent Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.34 (KHTML, like Gecko) Qt/4.8.2 Safari/534.34 + Matched by: * +Agent Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.11 (KHTML, like Gecko) Ubuntu/11.04 Chromium/17.0.963.65 Chrome/17.0.963.65 Safari/535.11 + Matched by: * +Agent Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.19 (KHTML, like Gecko) Ubuntu/11.10 Chromium/18.0.1025.142 Chrome/18.0.1025.142 Safari/535.19 + Matched by: * +Agent Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.803.0 Safari/535.1 + Matched by: Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.9 Safari/536.5 + Matched by: Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36 + Matched by: Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.114 Safari/537.36 + Matched by: Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.57 Safari/537.36 + Matched by: Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36 + Matched by: Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1787.44 Safari/537.36 + Matched by: Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36 + Matched by: Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.120 Safari/537.36 + Matched by: Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36 + Matched by: Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.99 Safari/537.36 + Matched by: Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36 + Matched by: Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111 Safari/537.36 + Matched by: Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) Chrome/47.*Safari/* +Agent Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.97 Safari/537.36 + Matched by: Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) Chrome/48.*Safari/* +Agent Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.75 Safari/537.36 Google Favicon + Matched by: Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) Chrome/49.*Safari/* +Agent Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.75 Safari/537.36 + Matched by: Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) Chrome/50.*Safari/* +Agent Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.86 Safari/537.36 + Matched by: Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) Chrome/50.*Safari/* +Agent Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 Safari/537.36 + Matched by: Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) Chrome/53.*Safari/* +Agent Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36 + Matched by: Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) Chrome/53.*Safari/* +Agent Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.89 Safari/537.36 + Matched by: Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) Chrome/53.*Safari/* +Agent Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.100 Safari/537.36 + Matched by: Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/* +Agent Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.59 Safari/537.36 + Matched by: Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/* +Agent Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36 + Matched by: Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/* +Agent Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.90 Safari/537.36 + Matched by: Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/* +Agent Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.75 Safari/537.36 + Matched by: Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) Chrome/55.*Safari/* +Agent Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36 + Matched by: Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) Chrome/55.*Safari/* +Agent Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko; Google Web Preview) Chrome/27.0.1453 Safari/537.36 + Matched by: * +Agent Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/31.0.1650.63 Chrome/31.0.1650.63 Safari/537.36 + Matched by: * +Agent Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/53.0.2785.143 Chrome/53.0.2785.143 Safari/537.36 + Matched by: Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko)*Chromium/53.*Chrome/*Safari/* +Agent Mozilla/5.0 (X11; Linux x86_64) Gecko Firefox/5.0 + Matched by: Mozilla/5.0 (*Linux*) Gecko* Firefox/* +Agent Mozilla/5.0 (X11; Linux x86_64; rv:18.0) Gecko/20100101 Firefox/18.0 + Matched by: Mozilla/5.0 (*Linux*) Gecko* Firefox/* +Agent Mozilla/5.0 (X11; Linux x86_64; rv:26.0) Gecko/20100101 Firefox/26.0 + Matched by: Mozilla/5.0 (*Linux*) Gecko* Firefox/* +Agent Mozilla/5.0 (X11; Linux x86_64; rv:29.0) Gecko/20100101 Firefox/29.0 Iceweasel/29.0a2 + Matched by: Mozilla/5.0 (*Linux*) Gecko* Firefox/* +Agent Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0 + Matched by: Mozilla/5.0 (*Linux*) Gecko* Firefox/45.0* +Agent Mozilla/5.0 (X11; Linux x86_64; rv:49.0) Gecko/20100101 Firefox/49.0 + Matched by: Mozilla/5.0 (*Linux*) Gecko* Firefox/49.0* +Agent Mozilla/5.0 (X11; Linux x86_64; rv:50.0) Gecko/20100101 Firefox/50.0 + Matched by: Mozilla/5.0 (*Linux*) Gecko* Firefox/50.0* +Agent Mozilla/5.0 (X11; Linux x86_64; rv:51.0) Gecko/20100101 Firefox/51.0 + Matched by: Mozilla/5.0 (*Linux*) Gecko* Firefox/* +Agent Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0 + Matched by: Mozilla/5.0 (*Linux*) Gecko* Firefox/* +Agent Mozilla/5.0 (X11; Ubuntu; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2446.66 Safari/537.36 + Matched by: Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (X11; Ubuntu; Linux i686 on x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1907.88 Safari/537.36 + Matched by: Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:14.0) Gecko/20100101 Firefox/14.0.1 + Matched by: Mozilla/5.0 (*Linux*) Gecko* Firefox/* +Agent Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:14.0; ips-agent) Gecko/20100101 Firefox/14.0.1 + Matched by: Mozilla/5.0 (*Linux*) Gecko* Firefox/* +Agent Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:26.0) Gecko/20100101 Firefox/26.0 + Matched by: Mozilla/5.0 (*Linux*) Gecko* Firefox/* +Agent Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:34.0) Gecko/20100101 Firefox/34.0 + Matched by: Mozilla/5.0 (*Linux*) Gecko* Firefox/34.0* +Agent Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:42.0) Gecko/20100101 Firefox/42.0 + Matched by: Mozilla/5.0 (*Linux*) Gecko* Firefox/42.0* +Agent Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:49.0) Gecko/20100101 Firefox/49.0 + Matched by: Mozilla/5.0 (*Linux*) Gecko* Firefox/49.0* +Agent Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:50.0) Gecko/20100101 Firefox/50.0 + Matched by: Mozilla/5.0 (*Linux*) Gecko* Firefox/50.0* +Agent Mozilla/5.0 (X11; Ubuntu; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1992.77 Safari/537.36 + Matched by: Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:21.0) Gecko/20100101 Firefox/21.0 + Matched by: Mozilla/5.0 (*Linux*) Gecko* Firefox/* +Agent Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:25.0) Gecko/20100101 Firefox/25.0 + Matched by: Mozilla/5.0 (*Linux*) Gecko* Firefox/* +Agent Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:26.0) Gecko/20100101 Firefox/26.0 + Matched by: Mozilla/5.0 (*Linux*) Gecko* Firefox/* +Agent Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) Gecko/20100101 Firefox/47.0 + Matched by: Mozilla/5.0 (*Linux*) Gecko* Firefox/47.0* +Agent Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:49.0) Gecko/20100101 Firefox/49.0 + Matched by: Mozilla/5.0 (*Linux*) Gecko* Firefox/49.0* +Agent Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:50.0) Gecko/20100101 Firefox/50.0 + Matched by: Mozilla/5.0 (*Linux*) Gecko* Firefox/50.0* +Agent Mozilla/5.0 (X11; U; Linux Core i7-4980HQ; de; rv:32.0; compatible; JobboerseBot; http://www.jobboerse.com/bot.htm) Gecko/20100101 Firefox/38.0 + Matched by: Mozilla/5.0 (*Linux*) Gecko* Firefox/38.0* +Agent Mozilla/5.0 (X11; U; Linux i586; en-US) AppleWebKit/533.2 (KHTML, like Gecko) Chrome/5.0.342.1 Safari/533.2 + Matched by: Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.8) Gecko/20050511 + Matched by: * +Agent Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.16) Gecko/20120421 Firefox/11.0 + Matched by: Mozilla/5.0 (*Linux*) Gecko* Firefox/* +Agent Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.4) Gecko/20100625 Gentoo Firefox/3.6.4 + Matched by: Mozilla/5.0 (*Linux*) Gecko* Firefox/* +Agent Mozilla/5.0 (X11; U; Linux i686; pt-BR; rv:1.9.0.15) Gecko/2009102815 Ubuntu/9.04 (jaunty) Firefox/3.0.15 + Matched by: Mozilla/5.0 (*Linux*) Gecko* Firefox/* +Agent Mozilla/5.0 (X11; U; Linux x86_64; en-US) AppleWebKit/533.2 (KHTML, like Gecko) Chrome/5.0.342.1 Safari/533.2 + Matched by: Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (X11; U; Linux x86_64; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.11 Safari/534.16 + Matched by: Mozilla/5.0 (*Linux*) AppleWebKit/* (KHTML* like Gecko) Chrome/*Safari/* +Agent Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.3) Gecko/20090913 Firefox/3.5.3 + Matched by: Mozilla/5.0 (*Linux*) Gecko* Firefox/* +Agent Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.4) Gecko/20100614 Ubuntu/10.04 (lucid) Firefox/3.6.4 + Matched by: Mozilla/5.0 (*Linux*) Gecko* Firefox/* +Agent Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2a1pre) Gecko/20090405 Firefox/3.6a1pre + Matched by: Mozilla/5.0 (*Linux*) Gecko* Firefox/* +Agent Mozilla/5.0 zgrab/0.x + Matched by: * +Agent Mozilla/6.0 (compatible) + Matched by: * +Agent Mozilla/6.0 (compatible; MSIE 7.0a1; Windows NT 5.2; SV1) + Matched by: * +Agent node-fetch/1.0 (+https://github.com/bitinn/node-fetch) + Matched by: * +Agent nutch-1.4/Nutch-1.4 + Matched by: * +Agent Opera/7.11 (Windows NT 5.1; U) [en] + Matched by: * +Agent Opera/7.54 (Windows NT 5.1; U) [pl] + Matched by: * +Agent Opera/7.60 (Windows NT 5.2; U) [en] (IBM EVV/3.0/EAK01AG9/LE) + Matched by: * +Agent Opera/8.00 (Windows NT 5.1; U; en) + Matched by: * +Agent Opera/8.01 (Windows NT 5.1) + Matched by: * +Agent Opera/9.00 (Windows NT 4.0; U; en) + Matched by: * +Agent Opera/9.00 (Windows NT 5.1; U; en) + Matched by: * +Agent Opera/9.00 (Windows NT 5.1; U; ru) + Matched by: * +Agent Opera/9.01 (Windows NT 5.1; U; en) + Matched by: * +Agent Opera/9.0 (Windows NT 5.1; U; en) + Matched by: * +Agent Opera/9.80 (Android; Opera Mini/13.0.2036/37.9093; U; az) Presto/2.12.423 Version/12.16 + Matched by: * +Agent Opera/9.80 (Android; Opera Mini/7.5.33725/37.9154; U; en) Presto/2.12.423 Version/12.16 + Matched by: * +Agent Opera/9.80 (SpreadTrum; Opera Mini/4.4.31492/37.9178; U; en) Presto/2.12.423 Version/12.16 + Matched by: * +Agent Opera/9.80 (Windows NT 5.1; U; en) Presto/2.10.229 Version/11.60 + Matched by: * +Agent Opera/9.80 (Windows NT 5.1; U; en) Presto/2.2.15 Version/10.10 + Matched by: * +Agent Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.9.168 Version/11.50 + Matched by: * +Agent Opera/9.80 (Windows NT 5.1; U; sk) Presto/2.10.229 Version/11.64 + Matched by: * +Agent Opera/9.80 (Windows NT 6.1; MRA 8.4 (build 7786)) Presto/2.12.388 Version/12.17 + Matched by: * +Agent Opera/9.80 (Windows NT 6.1; WOW64) Presto/2.12.388 Version/12.16 + Matched by: * +Agent Opera/9.80 (Windows NT 6.2; Win64; x64) Presto/2.12.388 Version/12.17 + Matched by: * +Agent Opera/9.80 (X11; Linux x86_64) Presto/2.12.388 Version/12.16 + Matched by: * +Agent panscient.com + Matched by: * +Agent Pcore-HTTP/v0.24.5 + Matched by: * +Agent peopleman/1.6 + Matched by: * +Agent perl post + Matched by: * +Agent Phantom.js bot + Matched by: * +Agent PHP/5.2.00 + Matched by: * +Agent PHP/5.2.03 + Matched by: * +Agent PHP/5.2.04 + Matched by: * +Agent PHP/5.2.06 + Matched by: * +Agent PHP/5.2.07 + Matched by: * +Agent PHP/5.2.10 + Matched by: * +Agent PHP/5.2.12 + Matched by: * +Agent PHP/5.2.14 + Matched by: * +Agent PHP/5.2.15 + Matched by: * +Agent PHP/5.2.20 + Matched by: * +Agent PHP/5.2.21 + Matched by: * +Agent PHP/5.2.22 + Matched by: * +Agent PHP/5.2.26 + Matched by: * +Agent PHP/5.2.30 + Matched by: * +Agent PHP/5.2.32 + Matched by: * +Agent PHP/5.2.37 + Matched by: * +Agent PHP/5.2.38 + Matched by: * +Agent PHP/5.2.39 + Matched by: * +Agent PHP/5.2.42 + Matched by: * +Agent PHP/5.2.45 + Matched by: * +Agent PHP/5.2.47 + Matched by: * +Agent PHP/5.2.48 + Matched by: * +Agent PHP/5.2.49 + Matched by: * +Agent PHP/5.2.50 + Matched by: * +Agent PHP/5.2.52 + Matched by: * +Agent PHP/5.2.54 + Matched by: * +Agent PHP/5.2.55 + Matched by: * +Agent PHP/5.2.56 + Matched by: * +Agent PHP/5.2.61 + Matched by: * +Agent PHP/5.2.64 + Matched by: * +Agent PHP/5.2.67 + Matched by: * +Agent PHP/5.2.68 + Matched by: * +Agent PHP/5.2.71 + Matched by: * +Agent PHP/5.2.72 + Matched by: * +Agent PHP/5.2.73 + Matched by: * +Agent PHP/5.2.74 + Matched by: * +Agent PHP/5.2.76 + Matched by: * +Agent PHP/5.2.77 + Matched by: * +Agent PHP/5.2.79 + Matched by: * +Agent PHP/5.2.80 + Matched by: * +Agent PHP/5.2.82 + Matched by: * +Agent PHP/5.2.86 + Matched by: * +Agent PHP/5.2.89 + Matched by: * +Agent PHP/5.2.90 + Matched by: * +Agent PHP/5.2.91 + Matched by: * +Agent PHP/5.2.92 + Matched by: * +Agent PHP/5.2.95 + Matched by: * +Agent PHP/5.2.96 + Matched by: * +Agent PHP/5.3.02 + Matched by: * +Agent PHP/5.3.04 + Matched by: * +Agent PHP/5.3.10 + Matched by: * +Agent PHP/5.3.11 + Matched by: * +Agent PHP/5.3.14 + Matched by: * +Agent PHP/5.3.15 + Matched by: * +Agent PHP/5.{3|2}.{1|2|3|4|5|6|7|8|9|0}{1|2|3|4|5|6|7|8|9|0} + Matched by: * +Agent PHP/5.3.22 + Matched by: * +Agent PHP/5.3.23 + Matched by: * +Agent PHP/5.3.25 + Matched by: * +Agent PHP/5.3.26 + Matched by: * +Agent PHP/5.3.30 + Matched by: * +Agent PHP/5.3.32 + Matched by: * +Agent PHP/5.3.34 + Matched by: * +Agent PHP/5.3.39 + Matched by: * +Agent PHP/5.3.41 + Matched by: * +Agent PHP/5.3.48 + Matched by: * +Agent PHP/5.3.49 + Matched by: * +Agent PHP/5.3.51 + Matched by: * +Agent PHP/5.3.53 + Matched by: * +Agent PHP/5.3.57 + Matched by: * +Agent PHP/5.3.58 + Matched by: * +Agent PHP/5.3.59 + Matched by: * +Agent PHP/5.3.61 + Matched by: * +Agent PHP/5.3.64 + Matched by: * +Agent PHP/5.3.65 + Matched by: * +Agent PHP/5.3.66 + Matched by: * +Agent PHP/5.3.67 + Matched by: * +Agent PHP/5.3.69 + Matched by: * +Agent PHP/5.3.73 + Matched by: * +Agent PHP/5.3.78 + Matched by: * +Agent PHP/5.3.79 + Matched by: * +Agent PHP/5.3.80 + Matched by: * +Agent PHP/5.3.81 + Matched by: * +Agent PHP/5.3.82 + Matched by: * +Agent PHP/5.3.86 + Matched by: * +Agent PHP/5.3.88 + Matched by: * +Agent PHP/5.3.89 + Matched by: * +Agent PHP/5.3.90 + Matched by: * +Agent PHP/5.3.91 + Matched by: * +Agent PHP/5.3.92 + Matched by: * +Agent PHP/5.3.97 + Matched by: * +Agent PHP/5.3.98 + Matched by: * +Agent PHPCrawl + Matched by: * +Agent python-requests/2.11.1 + Matched by: * +Agent python-requests/2.12.3 + Matched by: * +Agent python-requests/2.2.1 CPython/2.7.6 Linux/3.13.0-24-generic + Matched by: * +Agent python-requests/2.2.1 CPython/3.4.3 Linux/3.13.0-96-generic + Matched by: * +Agent python-requests/2.4.3 CPython/3.4.2 Linux/3.16.0-4-amd64 + Matched by: * +Agent Python-urllib/1.17 + Matched by: * +Agent Python-urllib/2.6 + Matched by: * +Agent Python-urllib/2.7 + Matched by: * +Agent Qwantify/1.0 + Matched by: * +Agent redback/v0-570-g26f8c96 + Matched by: * +Agent RedesScrapy/0.24.1 (+http://g2pi.tsc.uc3m.es/es) + Matched by: * +Agent rogerbot + Matched by: * +Agent Ruby + Matched by: * +Agent Safari/10602.2.14.0.7 CFNetwork/720.5.7 Darwin/14.5.0 (x86_64) + Matched by: Safari/10???.* CFNetwork/* +Agent Safari/11602.1.50.0.10 CFNetwork/760.6.3 Darwin/15.6.0 (x86_64) + Matched by: Safari/* CFNetwork/* +Agent Safari/11602.2.14.0.7 CFNetwork/760.6.3 Darwin/15.6.0 (x86_64) + Matched by: Safari/* CFNetwork/* +Agent Safari/12602.1.50.0.10 CFNetwork/807.0.4 Darwin/16.0.0 (x86_64) + Matched by: Safari/* CFNetwork/* +Agent Safari/12602.2.14.0.7 CFNetwork/807.1.3 Darwin/16.1.0 (x86_64) + Matched by: Safari/* CFNetwork/* +Agent Safari%20Technology%20Preview/12603.1.10 CFNetwork/807.1.3 Darwin/16.1.0 (x86_64) + Matched by: * +Agent SafeDNSBot (https://www.safedns.com/searchbot) + Matched by: * +Agent SalesIntelligent (+https://www.salesintelligent.com) + Matched by: * +Agent Scanbot + Matched by: * +Agent Searchie/1.0 (a Storm-based crawler; https://www.searchie.org; admin@searchie.org) + Matched by: * +Agent Sogou web spider/4.0(+http://www.sogou.com/docs/help/webmasters.htm#07) + Matched by: * +Agent spiderman + Matched by: * +Agent ; success; BB-code not working; message must go through moderation; + Matched by: * +Agent Telesphoreo + Matched by: * +Agent }__test|O:21: + Matched by: * +Agent Tiny Tiny RSS/16.3 (638fdf7) (http://tt-rss.org/) + Matched by: * +Agent Twitterbot/1.0 + Matched by: * +Agent User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.64 Safari/537.31 + Matched by: * +Agent vebidoobot + Matched by: * +Agent W3C_Validator/1.3 http://validator.w3.org/services + Matched by: * +Agent WEBDAV Client + Matched by: * +Agent Wget/1.15 (linux-gnu) + Matched by: * +Agent Wget(linux) + Matched by: * +Agent Windows-Media-Player/11.0.5721.5145 + Matched by: * +Agent Wotbox/2.01 (+http://www.wotbox.com/bot/) + Matched by: * +Agent www.matthowlett.com + Matched by: * +Agent WWW-Mechanize/1.73 + Matched by: * +Agent www.probethenet.com scanner + Matched by: * +Agent ZmEu + Matched by: * diff --git a/ext/standard/tests/misc/user_agents.txt b/ext/standard/tests/misc/user_agents.txt new file mode 100644 index 0000000000..9a7e1531e3 --- /dev/null +++ b/ext/standard/tests/misc/user_agents.txt @@ -0,0 +1,1112 @@ +- +AHC/1.0 +Airmail 1.4.1 rv:249 (Macintosh; Mac OS X 10.11.6; de_DE) +Apache/2.4.10 (Debian) OpenSSL/1.0.1k (internal dummy connection) +BaiduSpider +Baiduspider+(+http://www.baidu.com/search/spider.htm) +Baiduspider-image+(+http://www.baidu.com/search/spider.htm) +BigDataCloud +BlackBerry9000/4.6.0.167 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/102 ips-agent +BPImageWalker/2.0 (www.bdbrandprotect.com) +BUFF library user agent +CCBot/2.0 (http://commoncrawl.org/faq/) +censys.io internet census +compatible;Baiduspider/2.0; +http://www.baidu.com/search/spider.html +core-project/1.0 +Crawler powered by contentDetection (www.mindup.de) +CRAZYWEBCRAWLER 0.9.10, http://www.crazywebcrawler.com +curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.15.3 zlib/1.2.3 libidn/1.18 libssh2/1.4.2 +curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.21 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2 +curl/7.19.7 (x86_64-unknown-linux-gnu) libcurl/7.19.7 NSS/3.12.6.2 zlib/1.2.3 libidn/1.18 libssh2/1.2.2 +curl/7.26.0 +curl/7.29.0 +curl/7.38.0 +Dalvik/1.6.0 (Linux; U; Android 4.3; C5303 Build/12.1.A.1.205) +Dalvik/2.1.0 (Linux; U; Android 5.0; SM-N9005 Build/LRX21V) +Dalvik/2.1.0 (Linux; U; Android 6.0.1; SM-A510F Build/MMB29K) +Digg Feed Fetcher 1.0 (Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_1) AppleWebKit/534.48.3 (KHTML, like Gecko) Version/5.1 Safari/534.48.3) +facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php) +Feedbin feed-id:156831 - 1 subscribers +Feedly/1.0 (+http://www.feedly.com/fetcher.html; like FeedFetcher-Google) +GarlikCrawler/1.2 (http://garlik.com/, crawler@garlik.com) +Go-http-client/1.1 +Googlebot/2.1 (+http://www.google.com/bot.html) +Googlebot-Image/1.0 +Googlebot/Nutch-1.7 +Goose/1.0.25 +GridBot/1.0 crawler@sysomos.com +http://tools.geek-tools.org/link-counter/ +ia_archiver +Java/1.6.0_04 +Java/1.7.0_75 +libwww-perl/5.833 +libwww-perl/6.08 +libwww-perl/6.13 +libwww-perl/6.15 +LinkWalker/3.0 (http://www.brandprotect.com) +lr_http_client +ltx71 - (http://ltx71.com/) +LWP::Simple/6.00 libwww-perl/6.05 +LWP::Simple/6.00 libwww-perl/6.08 +Lynx/2.8.5rel.1 libwww-FM/2.15FC SSL-MM/1.4.1c OpenSSL/0.9.7e-dev +Lynx/2.8.8pre.4 libwww-FM/2.14 SSL-MM/1.4.1 GNUTLS/2.12.23 +masscan/1.0 (https://github.com/robertdavidgraham/masscan) +Mediapartners-Google +mindUpBot (datenbutler.de) +mj12bot +MobileSafari/601.1 CFNetwork/758.5.3 Darwin/15.6.0 +MobileSafari/602.1 CFNetwork/808.0.2 Darwin/16.0.0 +MobileSafari/602.1 CFNetwork/808.1.4 Darwin/16.1.0 +Morfeus Fucking Scanner +Mozilla +Mozilla/0.6 Beta (Windows) +Mozilla/0.91 Beta (Windows) +Mozilla/10.0 (Windows NT 7.100) Gecko/20112301 Firefox/17.0 +Mozilla/1.22 (compatible; MSIE 2.0d; Windows NT) +Mozilla/1.22 (compatible; MSIE 2.0; Windows 95) +Mozilla/2.0 (compatible; MSIE 3.02; Windows CE; 240x320) +Mozilla/3.0 (compatible; Indy Library) +Mozilla/3.0 (compatible; WebCapture 2.0; Auto; Windows) +mozilla/3.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/5.0.1 +Mozilla/3.0 (x86 [en] Windows NT 5.1; Sun) +Mozilla/37.0.2 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322) +Mozilla 4.0 +Mozilla/4.0 +Mozilla/4.0 (CMS Crawler: http://www.cmscrawler.com) +Mozilla/4.0 (compatible; MSIE 4.01; Digital AlphaServer 1000A 4/233; Windows NT; Powered By 64-Bit Alpha Processor) +Mozilla/4.0 (compatible; MSIE 5.01; Windows 95; MSIECrawler) +Mozilla/4.0 (compatible; MSIE 5.01; Windows NT) +Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0) +Mozilla/4.0 (compatible; MSIE 5.0; Windows 2000) Opera 6.0 [en] +Mozilla/4.0 (compatible; MSIE 5.0; Windows 3.1) +Mozilla/4.0 (compatible; MSIE 5.0; Windows 95) Opera 6.01 [en] +Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt) +Mozilla/4.0 (compatible; MSIE 5.5; Windows 95) +Mozilla/4.0 (compatible; MSIE 5.5; Windows 95; BCD2000) +Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 4.0) +Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 4.0; .NET CLR 1.0.2914) +Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0; .NET CLR 1.1.4322) +Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0; T312461) +Mozilla/4.0 (compatible; MSIE 6.0) +Mozilla/4.0 (compatible; MSIE 6.0; America Online Browser 1.1; rev1.2; Windows NT 5.1; SV1; .NET CLR 1.1.4322) +Mozilla/4.0 (compatible; MSIE 6.0; AOL 9.0; Windows NT 5.1) +Mozilla/4.0 (compatible; MSIE 6.0; MSIE 5.5; Windows NT 4.0) Opera 7.0 [en] +Mozilla/4.0 (compatible; MSIE 6.0; MSIE 5.5; Windows NT 5.0) Opera 7.02 Bork-edition [en] +Mozilla/4.0 (compatible; MSIE 6.0; MSIE 5.5; Windows NT 5.1) Opera 7.01 [en] +Mozilla/4.0 (compatible; MSIE 6.0; Update a; AOL 6.0; Windows 98) +Mozilla/4.0 (compatible; MSIE 6.0; Windows 98) +Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; Win 9x 4.90) +Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; Win 9x 4.90; Creative) +Mozilla/4.0 (compatible; MSIE 6.0; Windows ME) Opera 7.11 [en] +Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0) +Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; APC; .NET CLR 1.0.3705; .NET CLR 1.1.4322; .NET CLR 2.0.50215; InfoPath.1) +Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; Avant Browser [avantbrowser.com]; Hotbar 4.4.5.0) +Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; KTXN) +Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.0.3705; .NET CLR 1.1.4322) +Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; T312461) +Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) +Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1) +Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Crazy Browser 1.0.5) +Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Deepnet Explorer 1.5.0; .NET CLR 1.0.3705) +Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en) Opera 8.00 +Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en) Opera 8.50 +Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en) Opera 9.0 +Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; FREE; .NET CLR 1.1.4322) +Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; KKman2.0) +Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Maxthon; .NET CLR 1.1.4322) +Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; MRA 4.3 (build 01218); .NET CLR 1.1.4322) +Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; MRA 4.6 (build 01425)) +Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; MyIE2; Deepnet Explorer) +Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.0.3705) +Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322) +Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322; Alexa Toolbar; (R1 1.5)) +Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322; FDM) +Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) Netscape/8.0.4 +Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) Opera 7.54 [en] +Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Q312461) +Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; ru) Opera 8.01 +Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; ru) Opera 8.50 +Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1;) +Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) +Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Crazy Browser 2.0.0 Beta 1; .NET CLR 1.0.3705; .NET CLR 1.1.4322) +Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; FunWebProducts) +Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; FunWebProducts; MRA 4.6 (build 01425); .NET CLR 1.1.4322; .NET CLR 2.0.50727) +Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; FunWebProducts; .NET CLR 1.1.4322; PeoplePal 6.2) +Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; InfoPath.1 +Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; InfoPath.1) +Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Media Center PC +Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ) +Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; .NET CLR 1.0.3705) +Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; .NET CLR 2.0.50727 ; .NET CLR 4.0.30319) +Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MRA 4.6 (build 01425); MRSPUTNIK 1, 5, 0, 19 SW) +Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705) +Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322; .NET CLR 2.0.40607) +Mozilla/4.0 (compatible- MSIE 6.0- Windows NT 5.1- SV1- .NET CLR 1.1.4322 +Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322) +Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322) Babya Discoverer 8.0: +Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727) +Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322) NS8/0.9.6 +Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; XMPP Tiscali Communicator v.10.0.2; .NET CLR 2.0.50727) +Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727) +Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 1.1.4322) +Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; TencentTraveler ; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; .NET CLR 2.0.50727) +Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; YPC 3.0.2; .NET CLR 1.1.4322; yplus 4.4.02b) +Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; TheFreeDictionary.com; .NET CLR 1.1.4322; .NET CLR 1.0.3705; .NET CLR 2.0.50727) +Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;) +Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727) +Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; Win64; AMD64) +Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; Win64; x64; SV1; .NET CLR 2.0.50727) +Mozilla/4.0 (compatible; MSIE 6.0; Windows NT) ::ELNSB50::000061100320025802a00111000000000507000900000000 +Mozilla/4.0 (compatible; MSIE 6.0; Windows XP) +Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 6.0) +Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 6.0 ; .NET CLR 2.0.50215; SL Commerce Client v1.0; Tablet PC 2.0 +Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; MRSPUTNIK 2, 4, 0, 270; MRA 5.8 (build 4598); GTB7.2; AskTbFF/5.11.3.15590; .NET CLR 1.1.4322) +Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.0.3705; .NET CLR 1.1.4322; Media Center PC 4.0) +Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727) +Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727) +Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 1.0.3705; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729) +Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2) +Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; WOW64; Trident/5.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.30729; .NET CLR 3.5.30729; .NET4.0C; .NET4.0E) +Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E) +Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; ms-office) +Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.2; WOW64; Trident/7.0; .NET4.0E; .NET4.0C; .NET CLR 3.5.30729; .NET CLR 2.0.50727; .NET CLR 3.0.30729) +Mozilla/4.0 (compatible; MSIE 8.0; ; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729) +Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0) +Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; GTB6.5; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.3) +Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; GTB6.5; .NET CLR 2.0.50727; InfoPath.2) +Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; GTB6; InfoPath.1; .NET CLR 2.0.50727; Dealio Toolbar 3.4; .NET CLR 3.0.04506.30; .NET CLR 3.0.04506.648; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729) +Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; GTB7.5; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729) +Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.3; .NET4.0C; .NET4.0E) +Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729) +Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727) +Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET4.0C) +Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.2) +Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.2) +Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.0.30729; .NET CLR 3.5.30729) +Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; SLCC1; .NET CLR 2.0.50727; OfficeLiveConnector.1.3; OfficeLivePatch.0.0; .NET CLR 3.5.30729; .NET CLR 3.0.30618; MS-RTC LM 8; yie8) +Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0) +Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; Avant Browser; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0) +Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; GTB7.2; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C) +Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; InfoPath.2; SV1; .NET CLR 3.8.36926; WOW64; en-US) +Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729) +Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0) +Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E) +Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; Tablet PC 2.0) +Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.1) +Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.1; 125LA; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022) +Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0) +Mozilla/4.0 (compatible; Netcraft Web Server Survey) +Mozilla/4.0 (compatible; Powermarks/3.5; Windows 95/98/2000/NT) +Mozilla/4.0 (compatible; Synapse) +Mozilla/4.0 (compatible; Win32; WinHttp.WinHttpRequest.5) +Mozilla/4.0 (compatible; Windows;) +Mozilla/4.0 (Windows NT 6.2) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.70 Safari/537.17 +Mozilla/4.0 (X11; MSIE 6.0; i686; .NET CLR 1.1.4322; .NET CLR 2.0.50727; FDM) +Mozilla/4.61 [en] (X11; U; ) - BrowseX (2.0.0 Windows) +Mozilla/4.76 [en] (Windows NT 5.0; U) +Mozilla/4.79 [en] (Windows NT 5.0; U) +Mozilla/4.7 (compatible; OffByOne; Windows 2000) Webster Pro V3.4 +Mozilla 5.0 +Mozilla/5.0 +Mozilla/5.0 (Android 2.2; Windows; U; Windows NT 6.1; en-US) AppleWebKit/533.19.4 (KHTML, like Gecko) Version/5.0.3 Safari/533.19.4 +Mozilla/5.0 (Android 5.1.1; Tablet; rv:50.0.1) Gecko/50.0.1 Firefox/50.0.1 +Mozilla/5.0 (Android 5.1.1; Tablet; rv:50.0) Gecko/50.0 Firefox/50.0 +Mozilla/5.0 (Android 5.1; Mobile; rv:49.0.2) Gecko/49.0.2 Firefox/49.0.2 +Mozilla/5.0 (Android 5.1; Mobile; rv:49.0) Gecko/49.0 Firefox/49.0 +Mozilla/5.0 (Android 6.0.1; Mobile; rv:50.0) Gecko/50.0 Firefox/50.0 +Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; Google Web Preview Analytics) Chrome/27.0.1453 Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html) +Mozilla/5.0 (BlackBerry; U; BlackBerry 9900; en) AppleWebKit/534.11+ (KHTML, like Gecko) Version/7.1.0.346 Mobile Safari/534.11+ +Mozilla/5.0 (compatible) +Mozilla/5.0 (compatible; AhrefsBot/5.1; +http://ahrefs.com/robot/) +Mozilla/5.0 (compatible; archive.org_bot +http://www.archive.org/details/archive.org_bot) +Mozilla/5.0 (compatible; archive.org_bot; Wayback Machine Live Record; +http://archive.org/details/archive.org_bot) +Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html) +Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) +Mozilla/5.0 (compatible; BLEXBot/1.0; +http://webmeup-crawler.com/) +Mozilla/5.0 (compatible; Cliqzbot/1.0 +http://cliqz.com/company/cliqzbot) +Mozilla/5.0 (compatible; coccocbot-image/1.0; +http://help.coccoc.com/searchengine) +Mozilla/5.0 (compatible; coccocbot-web/1.0; +http://help.coccoc.com/searchengine) +Mozilla/5.0+(compatible;+CukBot;+Not+a+spammer;+++https://www.companiesintheuk.co.uk/bot.html) +Mozilla/5.0 (compatible; Dataprovider/6.101; +https://www.dataprovider.com/) +Mozilla/5.0 (compatible; Dataprovider; https://www.dataprovider.com/spider/) +Mozilla/5.0 (compatible; DeuSu/5.0.2; +https://deusu.de/robot.html) +Mozilla/5.0 (compatible; DotBot/1.1; http://www.opensiteexplorer.org/dotbot, help@moz.com) +Mozilla/5.0 (compatible; DuckDuckGo-Favicons-Bot/1.0; +http://duckduckgo.com) +Mozilla/5.0 (compatible; Exabot/3.0; +http://www.exabot.com/go/robot) +Mozilla/5.0 (compatible; Gluten Free Crawler/1.0; +http://glutenfreepleasure.com/) +Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html) +Mozilla/5.0 (compatible; Google-Site-Verification/1.0) +Mozilla/5.0 (compatible; GrapeshotCrawler/2.0; +http://www.grapeshot.co.uk/crawler.php) +Mozilla/5.0 (compatible; inoreader.com-like FeedFetcher-Google) +Mozilla/5.0 (compatible; Linux x86_64; Mail.RU_Bot/2.0; +http://go.mail.ru/help/robots) +Mozilla/5.0 (compatible; MegaIndex.ru/2.0; +http://megaindex.com/crawler) +Mozilla/5.0 (compatible; MJ12bot/v1.4.5; http://www.majestic12.co.uk/bot.php?+) +Mozilla/5.0 (compatible; MJ12bot/v1.4.6; http://mj12bot.com/) +Mozilla/5.0 (compatible; MJ12bot/v1.4.7; http://mj12bot.com/) +Mozilla/5.0 (compatible; MojeekBot/0.6; +https://www.mojeek.com/bot.html) +Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0) +Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2; .NET4.0C; .NET4.0E; AskTbORJ/5.14.1.20007; BOIE9;NLNL) +Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0) +Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0; SLCC2; .NET CLR 2.0.50727; Media Center PC 6.0; InfoPath.2; .NET4.0C; .NET4.0E; AskTbORJ/5.15.14.29495; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET CLR 1.1.4322; EIE10;ENAUMSN) +Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; AskTbFXTV5/5.15.2.23037) +Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0) +Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0; .NET4.0E; .NET4.0C; InfoPath.3; .NET CLR 3.5.30729; .NET CLR 2.0.50727; .NET CLR 3.0.30729; MS-RTC LM 8) +Mozilla/5.0 (compatible, MSIE 11, Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko +Mozilla/5.0 (compatible; MSIE 6.0; Windows NT 5.1) +Mozilla/5.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727) +Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET CLR 1.0.3705; .NET CLR 1.1.4322) +Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.0; Trident/5.0; NP06) +Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.0; Trident/5.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; InfoPath.2; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E) +Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.0; Trident/5.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; MDDC; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E) +'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)' +Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0) +Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0); 360Spider +Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E; MS-RTC LM 8; SFIEAUTH1) +Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; Trident/5.0) +Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0) +Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22 +Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.3; .NET4.0C; .NET4.0E; .NET CLR 1.1.4322; MS-RTC LM 8) +Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; AlexaToolbar/amzni-3.0; .NET4.0E) +Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; HPDTDF; InfoPath.3) +Mozilla/5.0 (compatible; MSIE or Firefox mutant;) Daum 4.1 +Mozilla/5.0 (compatible; NetcraftSurveyAgent/1.0; +info@netcraft.com) +Mozilla/5.0 (compatible; Nmap Scripting Engine; http://nmap.org/book/nse.html) +Mozilla/5.0 (compatible; oBot/2.3.1; http://filterdb.iss.net/crawler/) +Mozilla/5.0 (compatible; Qwantify/2.3w; +https://www.qwant.com/)/2.3w +Mozilla/5.0 (compatible; SemrushBot/1.1~bl; +http://www.semrush.com/bot.html) +Mozilla/5.0 (compatible; SEOkicks-Robot; +http://www.seokicks.de/robot.html) +Mozilla/5.0 (compatible; SeznamBot/3.2; +http://napoveda.seznam.cz/en/seznambot-intro/) +Mozilla/5.0 (compatible; SiteExplorer/1.1b; +http://siteexplorer.info/Backlink-Checker-Spider/) +Mozilla/5.0 (compatible; Sonic/1.0; http://www.yama.info.waseda.ac.jp/~crawler/info.html) +Mozilla/5.0 (compatible; spbot/5.0.3; +http://OpenLinkProfiler.org/bot ) +Mozilla/5.0 (compatible; SurdotlyBot/1.0; +http://sur.ly/bot.html) +Mozilla/5.0 (compatible; Uptimebot/1.0; +http://www.uptime.com/uptimebot) +Mozilla/5.0 (compatible; Wappalyzer; +https://github.com/AliasIO/Wappalyzer) +Mozilla/5.0 (compatible; XoviBot/2.0; +http://www.xovibot.net/) +Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp) +Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots) +Mozilla/5.0 (compatible;YoudaoFeedFetcher/1.0;http://www.youdao.com/help/reader/faq/topic006/;1 subscribers;) +Mozilla/5.0 (iPad; CPU OS 10_1_1 like Mac OS X) AppleWebKit/602.2.14 (KHTML, like Gecko) Version/10.0 Mobile/14B100 Safari/602.1 +Mozilla/5.0 (iPad; CPU OS 10_1_1 like Mac OS X) AppleWebKit/602.2.14 (KHTML, like Gecko) Version/10.0 Mobile/14B150 Safari/602.1 +Mozilla/5.0 (iPad; CPU OS 10_1 like Mac OS X) AppleWebKit/602.2.14 (KHTML, like Gecko) Version/10.0 Mobile/14B72 Safari/602.1 +Mozilla/5.0 (iPad; CPU OS 10_2 like Mac OS X) AppleWebKit/602.3.12 (KHTML, like Gecko) OPiOS/14.0.0.104835 Mobile/14C92 Safari/9537.53 +Mozilla/5.0 (iPad; CPU OS 9_3_5 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13G36 Safari/601.1 +Mozilla/5.0 (iPhone; CPU iPhone OS 10_0_2 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Version/10.0 Mobile/14A456 Safari/602.1 +Mozilla/5.0 (iPhone; CPU iPhone OS 10_0 like Mac OS X) AppleWebKit/602.1.38 (KHTML, like Gecko) Version/10.0 Mobile/14A300 Safari/602.1 +Mozilla/5.0 (iPhone; CPU iPhone OS 10_1_1 like Mac OS X) AppleWebKit/602.2.14 (KHTML, like Gecko) Version/10.0 Mobile/14B100 Safari/602.1 +Mozilla/5.0 (iPhone; CPU iPhone OS 10_1_1 like Mac OS X) AppleWebKit/602.2.14 (KHTML, like Gecko) Version/10.0 Mobile/14B150 Safari/602.1 +Mozilla/5.0 (iPhone; CPU iPhone OS 10_1 like Mac OS X) AppleWebKit/602.2.8 (KHTML, like Gecko) OPiOS/15.00.00000 Mobile/14B55c Safari/7534.48.3 +Mozilla/5.0 (iPhone; CPU iPhone OS 10_2 like Mac OS X) AppleWebKit/602.3.12 (KHTML, like Gecko) Version/10.0 Mobile/14C92 Safari/602.1 +Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3 +Mozilla/5.0 (iPhone; CPU iPhone OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5376e Safari/8536.25 +Mozilla/5.0 (iPhone; CPU iPhone OS 7_0 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A465 Safari/9537.53 BingPreview/1.0b +Mozilla/5.0 (iPhone; CPU iPhone OS 7_0 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A465 Safari/9537.53 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) +Mozilla/5.0 (iPhone; CPU iPhone OS 8_0 like Mac OS X) AppleWebKit/600.1.3 (KHTML, like Gecko) Version/8.0 Mobile/12A4345d Safari/600.1.4 +Mozilla/5.0 (iPhone; CPU iPhone OS 8_1_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12B466 Safari/600.1.4 +Mozilla/5.0 (iPhone; CPU iPhone OS 8_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12F70 Safari/600.1.4 +Mozilla/5.0 (iPhone; CPU iPhone OS 9_3_3 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13G34 Safari/601.1 +Mozilla/5.0 (iPhone; CPU iPhone OS 9_3_3 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13G34 Safari/601.1 BMID/E679DA49AC +Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_0 like Mac OS X; en-us) AppleWebKit/528.18 (KHTML, like Gecko) Version/4.0 Mobile/7A341 Safari/528.161481015402482 +Mozilla/5.0 (Linux; Android 4.05; Galaxy Nexus Build/IMM76B) AppleWebKit/535.25 (KHTML, like Gecko) Chrome/17.0.1025.133 Mobile Safari/536.19 +Mozilla/5.0 (Linux; Android 4.1.2; GT-S5310B Build/JZO54K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.124 Mobile Safari/537.36 +Mozilla/5.0 (Linux; Android 4.2.2; GT-S7580 Build/JDQ39) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.114 Mobile Safari/537.36 +Mozilla/5.0 (Linux; Android 4.3; C5303 Build/12.1.A.1.205) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.85 Mobile Safari/537.36 +Mozilla/5.0 (Linux; Android 4.4.2; de-de; SAMSUNG GT-I9205 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/1.5 Chrome/28.0.1500.94 Mobile Safari/537.36 +Mozilla/5.0 (Linux; Android 4.4.2; GT-I9195 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.98 Mobile Safari/537.36 +Mozilla/5.0 (Linux; Android 4.4.2; GT-P5210 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.68 Safari/537.36 +Mozilla/5.0 (Linux; Android 4.4.2; HP 7 VoiceTab Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.105 Safari/537.36 +Mozilla/5.0 (Linux; Android 4.4.2; LENNY Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Mobile Safari/537.36 +Mozilla/5.0 (Linux; Android 4.4.2; LG-V500 Build/KOT49I.V50020f) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.85 Safari/537.36 +Mozilla/5.0 (Linux; Android 4.4.2; Panasonic ELUGA Z Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.85 Mobile Safari/537.36 +Mozilla/5.0 (Linux; Android 4.4.2; RAINBOW Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Mobile Safari/537.36 +Mozilla/5.0 (Linux; Android 4.4.2; SM-T230 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.85 Safari/537.36 +Mozilla/5.0 (Linux; Android 4.4.2; SUNSET2 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.91 Mobile Safari/537.36 +Mozilla/5.0 (Linux; Android 5.0.1; ALE-L02 Build/HuaweiALE-L02) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.85 Mobile Safari/537.36 +Mozilla/5.0 (Linux; Android 5.0.1; GT-I9295 Build/LRX22C) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.85 Mobile Safari/537.36 +Mozilla/5.0 (Linux; Android 5.0.1; GT-I9515 Build/LRX22C) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.85 Mobile Safari/537.36 +Mozilla/5.0 (Linux; Android 5.0.1; SAMSUNG GT-I9505 Build/LRX22C) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/4.0 Chrome/44.0.2403.133 Mobile Safari/537.36 +Mozilla/5.0 (Linux; Android 5.0.2; Lenovo TAB 2 A8-50LC Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.93 Safari/537.36 +Mozilla/5.0 (Linux; Android 5.0.2; LG-D693TR Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/34.0.1847.118 Mobile Safari/537.36 +Mozilla/5.0 (Linux; Android 5.0; Lenovo K50-t5 Build/LRX21M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.85 Mobile Safari/537.36 +Mozilla/5.0 (Linux; Android 5.0; SAMSUNG SM-N9005 Build/LRX21V) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/4.0 Chrome/44.0.2403.133 Mobile Safari/537.36 +Mozilla/5.0 (Linux; Android 5.0; SM-N900V Build/LRX21V) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.85 Mobile Safari/537.36 +Mozilla/5.0 (Linux; Android 5.0; VOYAGER2_DG310 Build/LRX21M) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/37.0.0.0 Mobile Safari/537.36 +Mozilla/5.0 (Linux; Android 5.1.1; Redmi 3 Build/LMY47V; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/54.0.2840.68 Mobile Safari/537.36 +Mozilla/5.0 (Linux; Android 5.1; Lenovo P70-A Build/LMY47D) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.91 Mobile Safari/537.36 +Mozilla/5.0 (Linux; Android 5.1; LG-X210 Build/LMY47I) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.68 Mobile Safari/537.36 +Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.96 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html) +Mozilla/5.0 (Linux; Android 6.0.1; SAMSUNG SM-A510F/A510FXXS3BPI9 Build/MMB29K) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/4.0 Chrome/44.0.2403.133 Mobile Safari/537.36 +Mozilla/5.0 (Linux; Android 6.0.1; SAMSUNG SM-G900F Build/MMB29M) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/4.0 Chrome/44.0.2403.133 Mobile Safari/537.36 +Mozilla/5.0 (Linux; Android 6.0.1; SAMSUNG SM-J700T1 Build/MMB29K) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/4.0 Chrome/44.0.2403.133 Mobile Safari/537.36 +Mozilla/5.0 (Linux; Android 6.0.1; SM-G920F Build/MMB29K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.85 Mobile Safari/537.36 +Mozilla/5.0 (Linux; Android 6.0.1; SM-G920F Build/MMB29K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/54.0.2840.85 Mobile Safari/537.36 [FB_IAB/MESSENGER;FBAV/99.0.0.20.136;] +Mozilla/5.0 (Linux; Android 6.0.1; SM-N920I Build/MMB29K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.85 Mobile Safari/537.36 +Mozilla/5.0 (Linux; Android 6.0.1; SM-N920P Build/MMB29K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.81 Mobile Safari/537.36 +Mozilla/5.0 (Linux; Android 6.0; LG-H961N Build/MRA58K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.85 Mobile Safari/537.36 +Mozilla/5.0 (Linux; U; Android 2.2.1; en-us; Nexus One Build/FRG83) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 +Mozilla/5.0 (Linux; U; Android 2.2.2; ru-ru; HTC Desire Build/FRG83G) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 +Mozilla/5.0 (Linux; U; Android 4.2.2; de-de; Cynus F4 Build/JDQ39) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30 +Mozilla/5.0 (Linux; U; Android 4.3; de-de; HUAWEI Y530-U00 Build/HuaweiY530-U00) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30 +Mozilla/5.0 (Linux; U; Android 4.4.4; en-US; Coolpad 8297L-I00 Build/KTU84P) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 UCBrowser/11.0.5.850 U3/0.8.0 Mobile Safari/534.30 +Mozilla/5.0 (Linux; U; Android 5.0.2; zh-CN; Redmi Note 3 Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 OPR/11.2.3.102637 Mobile Safari/537.36 +Mozilla/5.0 (Linux; U; Linux Ventana; ru-ru; Transformer TF101 Build/HTK75) AppleWebKit/534.13 (KHTML, like Gecko) Chrome/8.0 Safari/534.13 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/412982 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.99 Safari/537.36 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.93 Safari/537.36 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/600.2.5 (KHTML, like Gecko) Version/8.0.2 Safari/600.2.5 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.89 Safari/537.36 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.152 Safari/537.36 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.65 Safari/537.36 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.81 Safari/537.36 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.89 Safari/537.36 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/600.5.17 (KHTML, like Gecko) Version/8.0.5 Safari/600.5.17 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/600.6.3 (KHTML, like Gecko) Version/8.0.6 Safari/600.6.3 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.98 Safari/537.36 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.75 Safari/537.36 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/602.2.14 (KHTML, like Gecko) +Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:27.0) Gecko/20100101 Firefox/27.0 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:29.0) Gecko/20100101 Firefox/29.0 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Firefox/31.0 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:34.0) Gecko/20100101 Firefox/34.0 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:37.0) Gecko/20100101 Firefox/37.0 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:38.0) Gecko/20100101 Firefox/38.0 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:43.0) Gecko/20100101 Firefox/43.0 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:47.0) Gecko/20100101 Firefox/47.0 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2386.61 Safari/537.36 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.109 Safari/537.36 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit/601.4.4 (KHTML, like Gecko) Version/9.0.3 Safari/601.4.4 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.98 Safari/537.36 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/601.5.17 (KHTML, like Gecko) Version/9.1 Safari/601.5.17 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.98 Safari/537.36 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2907.0 Safari/537.36 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/601.7.7 (KHTML, like Gecko) Version/9.1.2 Safari/601.7.7 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/602.1.43 (KHTML, like Gecko) Version/10.0 Safari/602.1.43 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/602.1.50 (KHTML, like Gecko) +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/602.2.14 (KHTML, like Gecko) +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/602.2.14 (KHTML, like Gecko) Version/10.0.1 Safari/602.2.14 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/602.3.12 (KHTML, like Gecko) Version/10.0.2 Safari/602.3.12 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:33.0) Gecko/20100101 Firefox/33.0 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:45.0) Gecko/20100101 Firefox/45.0 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:47.0) Gecko/20100101 Firefox/47.0 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:51.0) Gecko/20100101 Firefox/51.0 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.98 Safari/537.36 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.59 Safari/537.36 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.87 Safari/537.36 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.98 Safari/537.36 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.44 Safari/537.36 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.75 Safari/537.36 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/602.2.14 (KHTML, like Gecko) +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/602.2.14 (KHTML, like Gecko) Version/10.0.1 Safari/602.2.14 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/603.1.10 (KHTML, like Gecko) +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_2) AppleWebKit/602.3.12 (KHTML, like Gecko) Version/10.0.2 Safari/602.3.12 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12) AppleWebKit/602.1.50 (KHTML, like Gecko) +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12) AppleWebKit/602.1.50 (KHTML, like Gecko) Version/10.0 Safari/602.1.50 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:49.0) Gecko/20100101 Firefox/49.0 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:50.0) Gecko/20100101 Firefox/50.0 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/534.59.10 (KHTML, like Gecko) Version/5.1.9 Safari/534.59.10 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/534.59.8 (KHTML, like Gecko) Version/5.1.9 Safari/534.59.8 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.24 Safari/535.1 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.13+ (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:26.0) Gecko/20100101 Firefox/26.0 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:30.0) Gecko/20100101 Firefox/30.0 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/534.51.22 (KHTML, like Gecko) Version/5.1.1 Safari/534.51.22 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.186 Safari/535.1 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.93 Safari/537.36 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.71 (KHTML, like Gecko) Version/6.1 Safari/537.71 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.73.11 (KHTML, like Gecko) Version/6.1.1 Safari/537.73.11 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:26.0) Gecko/20100101 Firefox/26.0 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:34.0) Gecko/20100101 Firefox/34.0 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_3) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.65 Safari/537.31 +Mozilla/5.0 (Macintosh; Intel Mac OS X 1084) AppleWebKit/536.29.13 (KHTML like Gecko) Version/6.0.4 Safari/536.29.13 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.110 Safari/537.36 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_5) AppleWebKit/536.30.1 (KHTML, like Gecko) Version/6.0.5 Safari/536.30.1 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_5) AppleWebKit/537.71 (KHTML, like Gecko) Version/6.1 Safari/537.71 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_5) AppleWebKit/537.73.11 (KHTML, like Gecko) Version/6.1.1 Safari/537.73.11 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:26.0) Gecko/20100101 Firefox/26.0 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:43.0) Gecko/20100101 Firefox/43.0 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.57 Safari/537.36 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.57 Safari/537.36 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.68 Safari/537.36 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.73.11 (KHTML, like Gecko) Version/7.0.1 Safari/537.73.11 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.131 Safari/537.36 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.75.14 (KHTML, like Gecko) Version/7.0.3 Safari/537.75.14 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.114 Safari/537.36 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.124 Safari/537.36 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2183.55 Safari/537.36 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9) AppleWebKit/537.71 (KHTML, like Gecko) Version/7.0 Safari/537.71 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:25.0) Gecko/20100101 Firefox/25.0 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:26.0) Gecko/20100101 Firefox/26.0 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:29.0) Gecko/20100101 Firefox/29.0 +Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:35.0) Gecko/20100101 Firefox/35.0 +Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_8; zh-cn) AppleWebKit/533.18.1 (KHTML, like Gecko) Version/5.0.2 Safari/533.18.5 +Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; fr; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8 +Mozilla/5.0 (Mobile; Windows Phone 8.1; Android 4.0; ARM; Trident/7.0; Touch; rv:11.0; IEMobile/11.0; NOKIA; Lumia 930; Vodafone) like iPhone OS 7_0_3 Mac OS X AppleWebKit/537 (KHTML, like Gecko) Mobile Safari/537 +Mozilla/5.0 Moreover/5.1 (+http://www.moreover.com; webmaster@moreover.com) +Mozilla/5.0 Project 25499 (project25499.com) +Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaN95/31.0.017; Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413 +Mozilla/5.0 (Unknown; Linux x86_64) AppleWebKit/538.1 (KHTML, like Gecko) PhantomJS/2.1.1 Safari/538.1 +Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Safari/537.36 Edge/13.10586 +Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36 +Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36 +Mozilla/5.0 (Windows NT 10.0; rv:46.0) Gecko/20100101 Firefox/46.0 +Mozilla/5.0 (Windows NT 10.0; rv:50.0) Gecko/20100101 Firefox/50.0 +Mozilla/5.0 (Windows NT 10.0; rv:52.0) Gecko/20100101 Firefox/52.0 +Mozilla/5.0 (Windows NT 10.0; Trident/7.0; rv:11.0) like Gecko +Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2301.96 Safari/537.36 +Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.10240 +Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.79 Safari/537.36 Edge/14.14393 +Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36 Edge/15.14970 +Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36 +Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.87 Safari/537.36 +Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36 +Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36 FirePHP/4Chrome +Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.75 Safari/537.36 +Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36 +Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2922.0 Safari/537.36 +Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2922.1 Safari/537.36 +Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.14 Safari/537.36 +Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:40.0) Gecko/20100101 Firefox/40.0 +Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:48.0) Gecko/20100101 Firefox/48.0 +Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:49.0) Gecko/20100101 Firefox/49.0 +Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:50.0) Gecko/20100101 Firefox/50.0 +Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:51.0) Gecko/20100101 Firefox/51.0 +Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:52.0) Gecko/20100101 Firefox/52.0 +Mozilla/5.0 (Windows NT 10.0; Win64; x64; Trident/7.0; rv:11.0) like Gecko +Mozilla/5.0 (Windows NT 10.0; WOW64) +Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36 SE 2.X MetaSr 1.0 +Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.81 Safari/537.36 OPR/30.0.1835.59 (Edition Rambler) +Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36 +Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.93 Safari/537.36 +Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36 +Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111 Safari/537.36 +Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.103 Safari/537.36 +Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.109 Safari/537.36 +Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36 +Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.97 Safari/537.36 +Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.75 Safari/537.36 OPR/36.0.2130.32 +Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36 +Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36 +Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36 +Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36 +Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 YaBrowser/16.10.0.2564 Yowser/2.5 Safari/537.36 +Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36 +Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 YaBrowser/16.10.1.1114 Yowser/2.5 Safari/537.36 +Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36 +Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.87 Safari/537.36 +Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36 +Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36 OPR/41.0.2353.69 +Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.75 Safari/537.36 OPR/42.0.2393.85 +Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36 +Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0 +Mozilla/5.0 (Windows NT 10.0; WOW64; rv:39.0) Gecko/20100101 Firefox/39.0 +Mozilla/5.0 (Windows NT 10.0; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0 +Mozilla/5.0 (Windows NT 10.0; WOW64; rv:41.0) Gecko/20100101 Firefox/41.0 +Mozilla/5.0 (Windows NT 10.0; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0 +Mozilla/5.0 (Windows NT 10.0; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0 +Mozilla/5.0 (Windows NT 10.0; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0 +Mozilla/5.0 (Windows NT 10.0; WOW64; rv:49.0) Gecko/20100101 Firefox/49.0 +Mozilla/5.0 (Windows NT 10.0; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0 +Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko +Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.46 Safari/535.11 MRCHROME +Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.810.0 Safari/535.1 +Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/24.0.1290.1 Safari/537.13 +Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1468.0 Safari/537.36 +Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36 +Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.116 Safari/537.36 +Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 +Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 OPR/26.0.1656.60 +Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.99 Safari/537.36 +Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36 +Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36 +Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36 +Mozilla/5.0 (Windows NT 5.1; ru-RU; rv:26.0) Gecko/20100101 Firefox/26.0 +Mozilla/5.0 (Windows NT 5.1; rv:2.0b13pre) Gecko/20110223 Firefox/4.0b13pre +Mozilla/5.0 (Windows NT 5.1; rv:24.0) Gecko/20100101 Firefox/24.0 +Mozilla/5.0 (Windows NT 5.1; rv:25.0) Gecko/20100101 Firefox/25.0 +Mozilla/5.0 (Windows NT 5.1; rv:26.0) Gecko/20100101 Firefox/26.0 +Mozilla/5.0 (Windows NT 5.1; rv:32.0) Gecko/20100101 Firefox/31.0 +Mozilla/5.0 (Windows NT 5.1; rv:34.0) Gecko/20100101 Firefox/34.0 +Mozilla/5.0 (Windows NT 5.1; rv:35.0) Gecko/20100101 Firefox/35.0 +Mozilla/5.0 (Windows NT 5.1; rv:38.0) Gecko/20100101 Firefox/38.0 K-Meleon/76.0 +Mozilla/5.0 (Windows NT 5.1; rv:43.0) Gecko/20100101 Firefox/43.0 +Mozilla/5.0 (Windows NT 5.1; rv:47.0) Gecko/20100101 Firefox/47.0 +Mozilla/5.0 (Windows NT 5.1; rv:48.0) Gecko/20100101 Firefox/48.0 +Mozilla/5.0 (Windows NT 5.1; rv:49.0) Gecko/20100101 Firefox/49.0 +Mozilla/5.0 (Windows NT 5.1; rv:50.0) Gecko/20100101 Firefox/50.0 +Mozilla/5.0 (Windows NT 5.1; rv:6.0.2) Gecko/20100101 Firefox/6.0.2 +Mozilla/5.0 (Windows NT 5.1; rv:7.0.1) Gecko/20100101 Firefox/7.0.1 +Mozilla/5.0 (Windows NT 5.1; rv:9.0.1) Gecko/20100101 Firefox/9.0.1 +Mozilla/5.0 (Windows NT 5.1; U; en) Opera 8.00 +Mozilla/5.0 (Windows NT 5.1; U; en) Opera 8.01 +Mozilla/5.0 (Windows NT 5.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1996.45 Safari/537.36 +Mozilla/5.0 (Windows NT 5.2; rv:43.0) Gecko/20100101 Firefox/43.0 +Mozilla/5.0 (Windows NT 5.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36 +Mozilla/5.0 (Windows NT 6.0) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.792.0 Safari/535.1 +Mozilla/5.0 (Windows NT 6.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.17 Safari/537.36 +Mozilla/5.0 (Windows NT 6.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36 +Mozilla/5.0 (Windows NT 6.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.116 Safari/537.36 +Mozilla/5.0 (Windows NT 6.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36 +Mozilla/5.0 (Windows NT 6.0; rv:26.0) Gecko/20100101 Firefox/26.0 +Mozilla/5.0 (Windows NT 6.0; rv:34.0) Gecko/20100101 Firefox/34.0 +Mozilla/5.0 (Windows NT 6.0; rv:49.0) Gecko/20100101 Firefox/49.0 +Mozilla/5.0 (Windows NT 6.0; rv:50.0) Gecko/20100101 Firefox/50.0 +Mozilla/5.0 (Windows NT 6.0; WOW64) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.34 Safari/534.24 +Mozilla/5.0 (Windows NT 6.0; WOW64) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.91 Safari/534.30 +Mozilla/5.0 (Windows NT 6.0; WOW64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17 +Mozilla/5.0 (Windows NT 6.0; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0 +Mozilla/5.0 (Windows NT 6.1) AppleWebKit/536.5 (KHTML like Gecko) Chrome/19.0.1084.56 Safari/536.5 +Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.89 Safari/537.1 +Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.90 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.72 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36 OPR/20.0.1387.91 +Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 YaBrowser/14.10.2062.12521 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 OPR/26.0.1656.60 +Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.109 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.21 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36 OPR/41.0.2353.69 +Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.75 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Dragon/36.1.1.21 Chrome/36.0.1985.97 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Iron/32.0.1750.1 Chrome/32.0.1750.1 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1; rv:12.0) Gecko/ 20120405 Firefox/14.0.1 +Mozilla/5.0 (Windows NT 6.1; rv:18.0) Gecko/20100101 Firefox/18.0 +Mozilla/5.0 (Windows NT 6.1; rv:19.0) Gecko/20100101 Firefox/19.0 +Mozilla/5.0 (Windows NT 6.1; rv:1.9) Gecko/20100101 Firefox/4.0 +Mozilla/5.0 (Windows NT 6.1; rv:2.0b10pre) Gecko/20110113 Firefox/4.0b10pre +Mozilla/5.0 (Windows NT 6.1; rv:2.0b6pre) Gecko/20100903 Firefox/4.0b6pre Firefox/4.0b6pre +Mozilla/5.0 (Windows NT 6.1; rv:21.0) Gecko/20100101 Firefox/21.0 +Mozilla/5.0 (Windows NT 6.1; rv:24.0) Gecko/20100101 Firefox/24.0 +Mozilla/5.0 (Windows NT 6.1; rv:24.0) Gecko/20140329 Firefox/24.0 PaleMoon/24.4.2 +Mozilla/5.0 (Windows NT 6.1; rv:25.0) Gecko/20100101 Firefox/25.0 +Mozilla/5.0 (Windows NT 6.1; rv:26.0) Gecko/20100101 Firefox/26.0 +Mozilla/5.0 (Windows NT 6.1; rv:28.0) Gecko/20100101 Firefox/28.0 +Mozilla/5.0 (Windows NT 6.1; rv:31.0) Gecko/20100101 Firefox/31.0 +Mozilla/5.0 (Windows NT 6.1; rv:32.0) Gecko/20100101 Firefox/32.0 +Mozilla/5.0 (Windows NT 6.1; rv:34.0) Gecko/20100101 Firefox/34.0 +Mozilla/5.0 (Windows NT 6.1; rv:35.0) Gecko/20100101 Firefox/35.0 +Mozilla/5.0 (Windows NT 6.1; rv:38.0) Gecko/20100101 Firefox/38.0 K-Meleon/76.0 +Mozilla/5.0 (Windows NT 6.1; rv:39.0) Gecko/20100101 Firefox/39.0 +Mozilla/5.0 (Windows NT 6.1; rv:43.0) Gecko/20100101 Firefox/43.0 +Mozilla/5.0 (Windows NT 6.1; rv:44.0) Gecko/20100101 Firefox/44.0 +Mozilla/5.0 (Windows NT 6.1; rv:45.0) Gecko/20100101 Firefox/45.0 +Mozilla/5.0 (Windows NT 6.1; rv:49.0) Gecko/20100101 Firefox/49.0 +Mozilla/5.0 (Windows NT 6.1; rv:50.0) Gecko/20100101 Firefox/50.0 +Mozilla/5.0 (Windows NT 6.1; rv:5.0) Gecko/20100101 Firefox/5.0 +Mozilla/5.0 (Windows NT 6.1; rv:6.0) Gecko/20100101 Firefox/19.0 +Mozilla/5.0 (Windows NT 6.1; rv:9.0.1) Gecko/20100101 Firefox/9.0.1 +Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like C9CF7 +Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko +Mozilla/5.0 (Windows NT 6.1; U;WOW64; de;rv:11.0) Gecko Firefox/11.0 +Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.85 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.87 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.59 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:2.0b11pre) Gecko/20110128 Firefox/4.0b11pre +Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:2.2a1pre) Gecko/20110324 Firefox/4.2a1pre +Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:24.0) Gecko/20100101 Firefox/24.0 Waterfox/24.0 +Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:44.0) Gecko/20100101 Firefox/44.0 +Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:5.0) Gecko/20110619 Firefox/5.0 +Mozilla/5.0 (Windows NT 6.1; Win64; x64; Trident/7.0; CTL_IE11; rv:11.0) like Gecko +Mozilla/5.0 (Windows NT 6.1; Win64; x64; Trident/7.0; rv:11.0) like Gecko +Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.12 Safari/534.24 +Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534+ (KHTML, like Gecko) BingPreview/1.0b +Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.121 Safari/535.2 +Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17 +Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1468.0 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.72 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 YaBrowser/13.10.1500.9323 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.57 Safari/537.36 OPR/16.0.1196.73 +Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.57 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.107 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.41 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.116 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.131 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.137 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML like Gecko) Chrome/35.0.1916.114 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.143 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.120 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 OPR/26.0.1656.60 +Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.99 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.115 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.152 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.65 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.81 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.125 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.89 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 YaBrowser/15.12.1.6475 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111 Safari/537.36 OPR/34.0.2036.50 +Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111 YaBrowser/16.2.0.3539 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.103 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.109 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36 OPR/35.0.2066.37 +Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.97 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 YaBrowser/16.10.1.1114 Yowser/2.5 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.87 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36 OPR/41.0.2353.69 +Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.75 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Dragon/36.1.1.21 Chrome/36.0.1985.97 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Iron/29.0.1600.1 Chrome/29.0.1600.1 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Maxthon/4.4.3.4000 Chrome/30.0.1599.101 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Maxthon/4.4.4.600 Chrome/30.0.1599.101 Safari/537.36 +Mozilla/5.0 (Windows NT 6.1; WOW64; rv:16.0) Gecko/20100101 Firefox/36.0 +Mozilla/5.0 (Windows NT 6.1; WOW64; rv:19.0) Gecko/20100101 Firefox/19.0 +Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0b11pre) Gecko/20110128 Firefox/4.0b11pre +Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0b7) Gecko/20100101 Firefox/4.0b7 +Mozilla/5.0 (Windows NT 6.1; WOW64; rv:21.0) Gecko/20100101 Firefox/21.0 +Mozilla/5.0 (Windows NT 6.1; WOW64; rv:22.0) Gecko/20100101 Firefox/22.0 +Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Firefox/24.0 +Mozilla/5.0 (Windows NT 6.1; WOW64; rv:25.0) Gecko/20100101 Firefox/25.0 +Mozilla/5.0 (Windows NT 6.1; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0 +Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0 +Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.3) Gecko/20100101 Firefox/27.3 +Mozilla/5.0 (Windows NT 6.1; WOW64; rv:28.0) Gecko/20100101 Firefox/28.0 +Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0 +Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Firefox/31.0 +Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20130401 Firefox/31.0 +Mozilla/5.0 (Windows NT 6.1; WOW64; rv:33.0) Gecko/20100101 Firefox/33.0 +Mozilla/5.0 (Windows NT 6.1; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0 +Mozilla/5.0 (Windows NT 6.1; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0 +Mozilla/5.0 (Windows NT 6.1; WOW64; rv:36.0) Gecko/20100101 Firefox/36.0 +Mozilla/5.0 (Windows NT 6.1; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0 +Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0 +Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.1 +Mozilla/5.0 (Windows NT 6.1; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0 +Mozilla/5.0 (Windows NT 6.1; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0 +Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0 +Mozilla/5.0 (Windows NT 6.1; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0 +Mozilla/5.0 (Windows NT 6.1; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0 +Mozilla/5.0 (Windows NT 6.1; WOW64; rv:49.0) Gecko/20100101 Firefox/49.0 +Mozilla/5.0 (Windows NT 6.1; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0 +Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; AS; rv:11.0) like Gecko +Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; CTL_IE11; rv:11.0) like Gecko +Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko +Mozilla/5.0 (Windows NT 6.2) AppleWebKit/537.36 (KHTML like Gecko) Chrome/27.0.1453.116 Safari/537.36 +Mozilla/5.0 (Windows NT 6.2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36 QIHU 360SE; 360Spider +Mozilla/5.0 (Windows NT 6.2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.99 Safari/537.36 +Mozilla/5.0 (Windows NT 6.2;en-US) AppleWebKit/537.36 (KHTML, live Gecko) Chrome/39.0.2206.79 Safari/537 +Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2477.75 Safari/537.36 +Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36 +Mozilla/5.0 (Windows NT 6.2; Win64; x64; rv:27.0) Gecko/20100101 Firefox/27.0 +Mozilla/5.0 (Windows NT 6.2; Win64; x64; rv:36.0) Gecko/20100101 Firefox/36.0 +Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.58 Safari/537.31 +Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.94 Safari/537.36 +Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML like Gecko) Chrome/28.0.1469.0 Safari/537.36 +Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.0 Safari/537.36 +Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML like Gecko) Chrome/30.0.1599.69 Safari/537.36 +Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36 +Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.107 Safari/537.36 OPR/19.0.1326.63 (Edition Campaign 21) +Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.5 Safari/537.36 +Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML like Gecko) Chrome/34.0.1847.116 Safari/537.36 +Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 +Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.1 Safari/537.36 +Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36 +Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36 +Mozilla/5.0 (Windows NT 6.2; WOW64; rv:19.0) Gecko/20100101 Firefox/19.0 +Mozilla/5.0 (Windows NT 6.2; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0 +Mozilla/5.0 (Windows NT 6.2; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0 +Mozilla/5.0 (Windows NT 6.2; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0 +Mozilla/5.0 (Windows NT 6.2; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0 +Mozilla/5.0 (Windows NT 6.2; WOW64; rv:36.0) Gecko/20100101 Firefox/36.0 +Mozilla/5.0 (Windows NT 6.2; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0 +Mozilla/5.0 (Windows NT 6.2; WOW64; rv:49.0) Gecko/20100101 Firefox/49.0 +Mozilla/5.0 (Windows NT 6.2; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0 +Mozilla/5.0 (Windows NT 6.2; WOW64; Trident/7.0; rv:11.0) like Gecko +Mozilla/5.0 (Windows NT 6.3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 +Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2049.0 Safari/537.36 +Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2220.0 Safari/537.36 +Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36 +Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.87 Safari/537.36 +Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36 +Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:49.0) Gecko/20100101 Firefox/49.0 +Mozilla/5.0 (Windows NT 6.3; Win64; x64; Trident/7.0; rv:11.0) like Gecko +Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36 +Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.72 Safari/537.36 +Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.76 Safari/537.36 +Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1788.0 Safari/537.36 +Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.131 Safari/537.36 +Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.137 Safari/537.36 +Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.143 Safari/537.36 +Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36 +Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 +Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.115 Safari/537.36 +Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36 +Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.152 Safari/537.36 +Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.65 Safari/537.36 +Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36 +Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111 Safari/537.36 +Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.109 Safari/537.36 +Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36 +Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.97 Safari/537.36 +Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36 +Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36 +Mozilla/5.0 (Windows NT 6.3; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0 +Mozilla/5.0 (Windows NT 6.3; WOW64; rv:28.0) Gecko/20100101 Firefox/28.0 +Mozilla/5.0 (Windows NT 6.3; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0 +Mozilla/5.0 (Windows NT 6.3; WOW64; rv:31.0) Gecko/20100101 Firefox/31.0 +Mozilla/5.0 (Windows NT 6.3; WOW64; rv:32.0) Gecko/20100101 Firefox/32.0 +Mozilla/5.0 (Windows NT 6.3; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0 +Mozilla/5.0 (Windows NT 6.3; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0 +Mozilla/5.0 (Windows NT 6.3; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0 +Mozilla/5.0 (Windows NT 6.3; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0 +Mozilla/5.0 (Windows NT 6.3; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0 +Mozilla/5.0 (Windows NT 6.3; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0 +Mozilla/5.0 (Windows NT 6.3; WOW64; rv:49.0) Gecko/20100101 Firefox/49.0 +Mozilla/5.0 (Windows NT 6.3; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0 +Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko +Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; Touch; rv:11.0) like Gecko +Mozilla/5.0 (Windows NT 8.1; WOW64; rv:48.0) Gecko/20100101 Firefox/48.0 +Mozilla/5.0 (Windows; U; MSIE 7.0; Windows NT 6.0; en-US) +Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 9.0; en-US) +Mozilla/5.0 (Windows; U; MSIE 9.0; WIndows NT 9.0; en-US) +Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.12) Gecko/20050915 Firefox/1.0.7 +Mozilla/5.0 (Windows; U; Windows NT 5.1; en; rv:1.9.0.13) Gecko/2009073022 Firefox/3.5.2 (.NET CLR 3.5.30729) SurveyBot/2.3 (DomainTools) +Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/532.1 (KHTML, like Gecko)Chrome/4.0.219.6 Safari/532.1 +Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.99 Safari/533.4 +Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.634.0 Safari/534.16 +Mozilla/5.0 (Windows; U; Windows NT 5.1; en-us; rv:1.7.12) Gecko/20050919 Firefox/1.0.7 +Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1 +Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6 (.NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729) +Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12 +Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.8) Gecko/20100721 Firefox/3.6.8 +Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6 +Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:2.0.1) Gecko/20110606 Firefox/4.0.1 +Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11 +Mozilla/5.0 (Windows; U; Windows NT 5.1; pt-PT; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2 (.NET CLR 3.5.30729) +Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.7) Gecko/2009021910 Firefox/3.0.7 (.NET CLR 3.5.30729) +Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.2.26) Gecko/20120128 Firefox/3.6.26 GTB7.1 ( .NET CLR 3.5.30729) +Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.3) Gecko/20041001 Firefox/0.10.1 +Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2 (.NET CLR 3.5.30729) +Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US) AppleWebKit/530.5 (KHTML, like Gecko) Chrome/2.0.172.30 Safari/530.5 +Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US) AppleWebKit/534.17 (KHTML, like Gecko) Chrome/11.0.652.0 Safari/534.17 +Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3(.NET CLR 3.5.30729) +Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.4 +Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 GTB6 (.NET CLR 3.5.30729) +Mozilla/5.0 (Windows; U; Windows NT 6.1; en; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3(.NET CLR 3.5.30729) +Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/533.19.4 (KHTML, like Gecko) Version/5.0.2 Safari/533.18.5 +Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.13 (KHTML, like Gecko) Chrome/9.0.597.107 Safari/534.13 BuiltWith/1.2 +=Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.204 Safari/534.16 +Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.1) Gecko/20090718 Firefox/3.5.1 +Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.23) Gecko/20110920 Firefox/3.6.23 +Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.28) +Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.28) Gecko/20120306 Firefox/3.6.28 +Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2b1) Gecko/20091014 Firefox/3.6b1 GTB5 +Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2b5) Gecko/20091204 Firefox/3.6b5 +Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2 WebMoney Advisor +Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8 +Mozilla/5.0 (Windows; U; Windows NT 6.1; rv:2.2) Gecko/20110201 +Mozilla/5.0 (Windows; Windows NT 5.1; en-US) Firefox/3.5.0 +Mozilla/5.0 (X11; CrOS i686 1660.57.0) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.46 Safari/535.19 +Mozilla/5.0 (X11; CrOS x86_64 6310.68.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.96 Safari/537.36 +Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:49.0) Gecko/20100101 Firefox/49.0 +Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:50.0) Gecko/20100101 Firefox/50.0 +Mozilla/5.0 (X11; FreeBSD amd64; rv:45.0) Gecko/20100101 Firefox/45.0 +Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.30 (KHTML, like Gecko) Ubuntu/10.10 Chromium/12.0.742.112 Chrome/12.0.742.112 Safari/534.30 +Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.34 (KHTML, like Gecko) Qt/4.8.4 Safari/534.34 +Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.11 (KHTML, like Gecko) Ubuntu/11.10 Chromium/17.0.963.65 Chrome/17.0.963.65 Safari/535.11 +Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.1 (KHTML, like Gecko) Ubuntu/10.04 Chromium/14.0.813.0 Chrome/14.0.813.0 Safari/535.1 +Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.66 Safari/537.36 +Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36 +Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2303.22 Safari/537.36 +Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2315.18 Safari/537.36 +Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36 +Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/31.0.1650.63 Chrome/31.0.1650.63 Safari/537.36 +Mozilla/5.0 (X11; Linux i686 on x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1870.93 Safari/537.36 +Mozilla/5.0 (X11; Linux i686 on x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2447.81 Safari/537.36 +Mozilla/5.0 (X11; Linux i686 on x86_64; rv:28.0) Gecko/20100101 Firefox/28.0 +Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/20100101 Firefox/17.0 +Mozilla/5.0 (X11; Linux i686; rv:21.0) Gecko/20100101 Firefox/21.0 +Mozilla/5.0 (X11; Linux i686; rv:3.0) Gecko/20100101 Goanna/20161003 PaleMoon/27.0.0b1 +Mozilla/5.0 (X11; Linux i686; rv:45.0) Gecko/20100101 Firefox/45.0 +Mozilla/5.0 (X11; Linux ppc; rv:5.0) Gecko/20100101 Firefox/5.0 +Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.34 Safari/534.24 +Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.3 Safari/534.24 +Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.30 (KHTML, like Gecko) Ubuntu/10.10 Chromium/12.0.742.112 Chrome/12.0.742.112 Safari/534.30 +Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.34 (KHTML, like Gecko) Qt/4.8.2 +Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.34 (KHTML, like Gecko) Qt/4.8.2 Safari/534.34 +Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.11 (KHTML, like Gecko) Ubuntu/11.04 Chromium/17.0.963.65 Chrome/17.0.963.65 Safari/535.11 +Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.19 (KHTML, like Gecko) Ubuntu/11.10 Chromium/18.0.1025.142 Chrome/18.0.1025.142 Safari/535.19 +Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.803.0 Safari/535.1 +Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.9 Safari/536.5 +Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36 +Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.114 Safari/537.36 +Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.57 Safari/537.36 +Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36 +Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1787.44 Safari/537.36 +Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36 +Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.120 Safari/537.36 +Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36 +Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.99 Safari/537.36 +Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36 +Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111 Safari/537.36 +Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.97 Safari/537.36 +Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.75 Safari/537.36 Google Favicon +Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.75 Safari/537.36 +Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.86 Safari/537.36 +Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 Safari/537.36 +Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36 +Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.89 Safari/537.36 +Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.100 Safari/537.36 +Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.59 Safari/537.36 +Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36 +Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.90 Safari/537.36 +Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.75 Safari/537.36 +Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36 +Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko; Google Web Preview) Chrome/27.0.1453 Safari/537.36 +Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/31.0.1650.63 Chrome/31.0.1650.63 Safari/537.36 +Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/53.0.2785.143 Chrome/53.0.2785.143 Safari/537.36 +Mozilla/5.0 (X11; Linux x86_64) Gecko Firefox/5.0 +Mozilla/5.0 (X11; Linux x86_64; rv:18.0) Gecko/20100101 Firefox/18.0 +Mozilla/5.0 (X11; Linux x86_64; rv:26.0) Gecko/20100101 Firefox/26.0 +Mozilla/5.0 (X11; Linux x86_64; rv:29.0) Gecko/20100101 Firefox/29.0 Iceweasel/29.0a2 +Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0 +Mozilla/5.0 (X11; Linux x86_64; rv:49.0) Gecko/20100101 Firefox/49.0 +Mozilla/5.0 (X11; Linux x86_64; rv:50.0) Gecko/20100101 Firefox/50.0 +Mozilla/5.0 (X11; Linux x86_64; rv:51.0) Gecko/20100101 Firefox/51.0 +Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0 +Mozilla/5.0 (X11; Ubuntu; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2446.66 Safari/537.36 +Mozilla/5.0 (X11; Ubuntu; Linux i686 on x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1907.88 Safari/537.36 +Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:14.0) Gecko/20100101 Firefox/14.0.1 +Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:14.0; ips-agent) Gecko/20100101 Firefox/14.0.1 +Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:26.0) Gecko/20100101 Firefox/26.0 +Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:34.0) Gecko/20100101 Firefox/34.0 +Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:42.0) Gecko/20100101 Firefox/42.0 +Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:49.0) Gecko/20100101 Firefox/49.0 +Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:50.0) Gecko/20100101 Firefox/50.0 +Mozilla/5.0 (X11; Ubuntu; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1992.77 Safari/537.36 +Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:21.0) Gecko/20100101 Firefox/21.0 +Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:25.0) Gecko/20100101 Firefox/25.0 +Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:26.0) Gecko/20100101 Firefox/26.0 +Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) Gecko/20100101 Firefox/47.0 +Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:49.0) Gecko/20100101 Firefox/49.0 +Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:50.0) Gecko/20100101 Firefox/50.0 +Mozilla/5.0 (X11; U; Linux Core i7-4980HQ; de; rv:32.0; compatible; JobboerseBot; http://www.jobboerse.com/bot.htm) Gecko/20100101 Firefox/38.0 +Mozilla/5.0 (X11; U; Linux i586; en-US) AppleWebKit/533.2 (KHTML, like Gecko) Chrome/5.0.342.1 Safari/533.2 +Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.8) Gecko/20050511 +Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.16) Gecko/20120421 Firefox/11.0 +Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.4) Gecko/20100625 Gentoo Firefox/3.6.4 +Mozilla/5.0 (X11; U; Linux i686; pt-BR; rv:1.9.0.15) Gecko/2009102815 Ubuntu/9.04 (jaunty) Firefox/3.0.15 +Mozilla/5.0 (X11; U; Linux x86_64; en-US) AppleWebKit/533.2 (KHTML, like Gecko) Chrome/5.0.342.1 Safari/533.2 +Mozilla/5.0 (X11; U; Linux x86_64; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.11 Safari/534.16 +Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.3) Gecko/20090913 Firefox/3.5.3 +Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.4) Gecko/20100614 Ubuntu/10.04 (lucid) Firefox/3.6.4 +Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2a1pre) Gecko/20090405 Firefox/3.6a1pre +Mozilla/5.0 zgrab/0.x +Mozilla/6.0 (compatible) +Mozilla/6.0 (compatible; MSIE 7.0a1; Windows NT 5.2; SV1) +node-fetch/1.0 (+https://github.com/bitinn/node-fetch) +nutch-1.4/Nutch-1.4 +Opera/7.11 (Windows NT 5.1; U) [en] +Opera/7.54 (Windows NT 5.1; U) [pl] +Opera/7.60 (Windows NT 5.2; U) [en] (IBM EVV/3.0/EAK01AG9/LE) +Opera/8.00 (Windows NT 5.1; U; en) +Opera/8.01 (Windows NT 5.1) +Opera/9.00 (Windows NT 4.0; U; en) +Opera/9.00 (Windows NT 5.1; U; en) +Opera/9.00 (Windows NT 5.1; U; ru) +Opera/9.01 (Windows NT 5.1; U; en) +Opera/9.0 (Windows NT 5.1; U; en) +Opera/9.80 (Android; Opera Mini/13.0.2036/37.9093; U; az) Presto/2.12.423 Version/12.16 +Opera/9.80 (Android; Opera Mini/7.5.33725/37.9154; U; en) Presto/2.12.423 Version/12.16 +Opera/9.80 (SpreadTrum; Opera Mini/4.4.31492/37.9178; U; en) Presto/2.12.423 Version/12.16 +Opera/9.80 (Windows NT 5.1; U; en) Presto/2.10.229 Version/11.60 +Opera/9.80 (Windows NT 5.1; U; en) Presto/2.2.15 Version/10.10 +Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.9.168 Version/11.50 +Opera/9.80 (Windows NT 5.1; U; sk) Presto/2.10.229 Version/11.64 +Opera/9.80 (Windows NT 6.1; MRA 8.4 (build 7786)) Presto/2.12.388 Version/12.17 +Opera/9.80 (Windows NT 6.1; WOW64) Presto/2.12.388 Version/12.16 +Opera/9.80 (Windows NT 6.2; Win64; x64) Presto/2.12.388 Version/12.17 +Opera/9.80 (X11; Linux x86_64) Presto/2.12.388 Version/12.16 +panscient.com +Pcore-HTTP/v0.24.5 +peopleman/1.6 +perl post +Phantom.js bot +PHP/5.2.00 +PHP/5.2.03 +PHP/5.2.04 +PHP/5.2.06 +PHP/5.2.07 +PHP/5.2.10 +PHP/5.2.12 +PHP/5.2.14 +PHP/5.2.15 +PHP/5.2.20 +PHP/5.2.21 +PHP/5.2.22 +PHP/5.2.26 +PHP/5.2.30 +PHP/5.2.32 +PHP/5.2.37 +PHP/5.2.38 +PHP/5.2.39 +PHP/5.2.42 +PHP/5.2.45 +PHP/5.2.47 +PHP/5.2.48 +PHP/5.2.49 +PHP/5.2.50 +PHP/5.2.52 +PHP/5.2.54 +PHP/5.2.55 +PHP/5.2.56 +PHP/5.2.61 +PHP/5.2.64 +PHP/5.2.67 +PHP/5.2.68 +PHP/5.2.71 +PHP/5.2.72 +PHP/5.2.73 +PHP/5.2.74 +PHP/5.2.76 +PHP/5.2.77 +PHP/5.2.79 +PHP/5.2.80 +PHP/5.2.82 +PHP/5.2.86 +PHP/5.2.89 +PHP/5.2.90 +PHP/5.2.91 +PHP/5.2.92 +PHP/5.2.95 +PHP/5.2.96 +PHP/5.3.02 +PHP/5.3.04 +PHP/5.3.10 +PHP/5.3.11 +PHP/5.3.14 +PHP/5.3.15 +PHP/5.{3|2}.{1|2|3|4|5|6|7|8|9|0}{1|2|3|4|5|6|7|8|9|0} +PHP/5.3.22 +PHP/5.3.23 +PHP/5.3.25 +PHP/5.3.26 +PHP/5.3.30 +PHP/5.3.32 +PHP/5.3.34 +PHP/5.3.39 +PHP/5.3.41 +PHP/5.3.48 +PHP/5.3.49 +PHP/5.3.51 +PHP/5.3.53 +PHP/5.3.57 +PHP/5.3.58 +PHP/5.3.59 +PHP/5.3.61 +PHP/5.3.64 +PHP/5.3.65 +PHP/5.3.66 +PHP/5.3.67 +PHP/5.3.69 +PHP/5.3.73 +PHP/5.3.78 +PHP/5.3.79 +PHP/5.3.80 +PHP/5.3.81 +PHP/5.3.82 +PHP/5.3.86 +PHP/5.3.88 +PHP/5.3.89 +PHP/5.3.90 +PHP/5.3.91 +PHP/5.3.92 +PHP/5.3.97 +PHP/5.3.98 +PHPCrawl +python-requests/2.11.1 +python-requests/2.12.3 +python-requests/2.2.1 CPython/2.7.6 Linux/3.13.0-24-generic +python-requests/2.2.1 CPython/3.4.3 Linux/3.13.0-96-generic +python-requests/2.4.3 CPython/3.4.2 Linux/3.16.0-4-amd64 +Python-urllib/1.17 +Python-urllib/2.6 +Python-urllib/2.7 +Qwantify/1.0 +redback/v0-570-g26f8c96 +RedesScrapy/0.24.1 (+http://g2pi.tsc.uc3m.es/es) +rogerbot +Ruby +Safari/10602.2.14.0.7 CFNetwork/720.5.7 Darwin/14.5.0 (x86_64) +Safari/11602.1.50.0.10 CFNetwork/760.6.3 Darwin/15.6.0 (x86_64) +Safari/11602.2.14.0.7 CFNetwork/760.6.3 Darwin/15.6.0 (x86_64) +Safari/12602.1.50.0.10 CFNetwork/807.0.4 Darwin/16.0.0 (x86_64) +Safari/12602.2.14.0.7 CFNetwork/807.1.3 Darwin/16.1.0 (x86_64) +Safari%20Technology%20Preview/12603.1.10 CFNetwork/807.1.3 Darwin/16.1.0 (x86_64) +SafeDNSBot (https://www.safedns.com/searchbot) +SalesIntelligent (+https://www.salesintelligent.com) +Scanbot +Searchie/1.0 (a Storm-based crawler; https://www.searchie.org; admin@searchie.org) +Sogou web spider/4.0(+http://www.sogou.com/docs/help/webmasters.htm#07) +spiderman +; success; BB-code not working; message must go through moderation; +Telesphoreo +}__test|O:21: +Tiny Tiny RSS/16.3 (638fdf7) (http://tt-rss.org/) +Twitterbot/1.0 +User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.64 Safari/537.31 +vebidoobot +W3C_Validator/1.3 http://validator.w3.org/services +WEBDAV Client +Wget/1.15 (linux-gnu) +Wget(linux) +Windows-Media-Player/11.0.5721.5145 +Wotbox/2.01 (+http://www.wotbox.com/bot/) +www.matthowlett.com +WWW-Mechanize/1.73 +www.probethenet.com scanner +ZmEu diff --git a/ext/standard/tests/serialize/bug73825.phpt b/ext/standard/tests/serialize/bug73825.phpt new file mode 100644 index 0000000000..adbfca1bbb --- /dev/null +++ b/ext/standard/tests/serialize/bug73825.phpt @@ -0,0 +1,12 @@ +--TEST-- +Bug #73825 Heap out of bounds read on unserialize in finish_nested_data() +--FILE-- +<?php +$obj = unserialize('O:8:"00000000":'); +var_dump($obj); +?> +--EXPECTF-- +Warning: Bad unserialize data in %sbug73825.php on line %d + +Notice: unserialize(): Error at offset 13 of 15 bytes in %sbug73825.php on line %d +bool(false) diff --git a/ext/standard/tests/strings/pack_float.phpt b/ext/standard/tests/strings/pack_float.phpt new file mode 100644 index 0000000000..088b508bc0 --- /dev/null +++ b/ext/standard/tests/strings/pack_float.phpt @@ -0,0 +1,312 @@ +--TEST-- +pack()/unpack(): float/double tests +--FILE-- +<?php +var_dump( + 'pack e', + bin2hex(pack("e", "")), + bin2hex(pack("e", "a")), + bin2hex(pack("e", " ")), + bin2hex(pack("e", NULL)), + bin2hex(pack("e", 0)), + bin2hex(pack("e", 1)), + bin2hex(pack("e", 1.0)), + bin2hex(pack("e", 10000000000000000)), + bin2hex(pack("e", 0.591234709823149)), + bin2hex(pack("e", 12345678901234567890.1234567898765432123456789)), + bin2hex(pack("e", -1)), + bin2hex(pack("e", -1.0)), + bin2hex(pack("e", -10000000000000000)), + bin2hex(pack("e", -0.591234709823149)), + bin2hex(pack("e", -12345678901234567890.1234567898765432123456789)), + + 'pack E', + bin2hex(pack("E", "")), + bin2hex(pack("E", "a")), + bin2hex(pack("E", " ")), + bin2hex(pack("E", NULL)), + bin2hex(pack("E", 0)), + bin2hex(pack("E", 1)), + bin2hex(pack("E", 1.0)), + bin2hex(pack("E", 10000000000000000)), + bin2hex(pack("E", 0.591234709823149)), + bin2hex(pack("E", 12345678901234567890.1234567898765432123456789)), + bin2hex(pack("E", -1)), + bin2hex(pack("E", -1.0)), + bin2hex(pack("E", -10000000000000000)), + bin2hex(pack("E", -0.591234709823149)), + bin2hex(pack("E", -12345678901234567890.1234567898765432123456789)), + + 'pack g', + bin2hex(pack("g", "")), + bin2hex(pack("g", "a")), + bin2hex(pack("g", " ")), + bin2hex(pack("g", NULL)), + bin2hex(pack("g", 0)), + bin2hex(pack("g", 1)), + bin2hex(pack("g", 1.0)), + bin2hex(pack("g", 10000000000000000)), + bin2hex(pack("g", 0.591234709823149)), + bin2hex(pack("g", 12345678901234567890.1234567898765432123456789)), + bin2hex(pack("g", -1)), + bin2hex(pack("g", -1.0)), + bin2hex(pack("g", -10000000000000000)), + bin2hex(pack("g", -0.591234709823149)), + bin2hex(pack("g", -12345678901234567890.1234567898765432123456789)), + + 'pack G', + bin2hex(pack("G", "")), + bin2hex(pack("G", "a")), + bin2hex(pack("G", " ")), + bin2hex(pack("G", NULL)), + bin2hex(pack("G", 0)), + bin2hex(pack("G", 1)), + bin2hex(pack("G", 1.0)), + bin2hex(pack("G", 10000000000000000)), + bin2hex(pack("G", 0.591234709823149)), + bin2hex(pack("G", 12345678901234567890.1234567898765432123456789)), + bin2hex(pack("G", -1)), + bin2hex(pack("G", -1.0)), + bin2hex(pack("G", -10000000000000000)), + bin2hex(pack("G", -0.591234709823149)), + bin2hex(pack("G", -12345678901234567890.1234567898765432123456789)), + + 'unpack e', + unpack('e', hex2bin('0000000000000000')), + unpack('e', hex2bin('000000000000f03f')), + unpack('e', hex2bin('0080e03779c34143')), + unpack('e', hex2bin('4a6ade0d65ebe23f')), + unpack('e', hex2bin('000000000000f0bf')), + unpack('e', hex2bin('0080e03779c341c3')), + unpack('e', hex2bin('4a6ade0d65ebe2bf')), + unpack('e', hex2bin('e1639d31956ae5c3')), + + 'unpack E', + unpack('E', hex2bin('3ff0000000000000')), + unpack('E', hex2bin('4341c37937e08000')), + unpack('E', hex2bin('3fe2eb650dde6a4a')), + unpack('E', hex2bin('43e56a95319d63e1')), + unpack('E', hex2bin('bff0000000000000')), + unpack('E', hex2bin('c341c37937e08000')), + unpack('E', hex2bin('bfe2eb650dde6a4a')), + unpack('E', hex2bin('c3e56a95319d63e1')), + + 'unpack g', + unpack('g', hex2bin('0000803f')), + unpack('g', hex2bin('ca1b0e5a')), + unpack('g', hex2bin('285b173f')), + unpack('g', hex2bin('aa542b5f')), + unpack('g', hex2bin('000080bf')), + unpack('g', hex2bin('ca1b0eda')), + unpack('g', hex2bin('285b17bf')), + unpack('g', hex2bin('aa542bdf')), + + 'unpack G', + unpack('G', hex2bin('3f800000')), + unpack('G', hex2bin('5a0e1bca')), + unpack('G', hex2bin('3f175b28')), + unpack('G', hex2bin('5f2b54aa')), + unpack('G', hex2bin('bf800000')), + unpack('G', hex2bin('da0e1bca')), + unpack('G', hex2bin('bf175b28')), + unpack('G', hex2bin('df2b54aa')) + +); +?> +--EXPECTF-- +string(6) "pack e" +string(16) "0000000000000000" +string(16) "0000000000000000" +string(16) "0000000000000000" +string(16) "0000000000000000" +string(16) "0000000000000000" +string(16) "000000000000f03f" +string(16) "000000000000f03f" +string(16) "0080e03779c34143" +string(16) "4a6ade0d65ebe23f" +string(16) "e1639d31956ae543" +string(16) "000000000000f0bf" +string(16) "000000000000f0bf" +string(16) "0080e03779c341c3" +string(16) "4a6ade0d65ebe2bf" +string(16) "e1639d31956ae5c3" +string(6) "pack E" +string(16) "0000000000000000" +string(16) "0000000000000000" +string(16) "0000000000000000" +string(16) "0000000000000000" +string(16) "0000000000000000" +string(16) "3ff0000000000000" +string(16) "3ff0000000000000" +string(16) "4341c37937e08000" +string(16) "3fe2eb650dde6a4a" +string(16) "43e56a95319d63e1" +string(16) "bff0000000000000" +string(16) "bff0000000000000" +string(16) "c341c37937e08000" +string(16) "bfe2eb650dde6a4a" +string(16) "c3e56a95319d63e1" +string(6) "pack g" +string(8) "00000000" +string(8) "00000000" +string(8) "00000000" +string(8) "00000000" +string(8) "00000000" +string(8) "0000803f" +string(8) "0000803f" +string(8) "ca1b0e5a" +string(8) "285b173f" +string(8) "aa542b5f" +string(8) "000080bf" +string(8) "000080bf" +string(8) "ca1b0eda" +string(8) "285b17bf" +string(8) "aa542bdf" +string(6) "pack G" +string(8) "00000000" +string(8) "00000000" +string(8) "00000000" +string(8) "00000000" +string(8) "00000000" +string(8) "3f800000" +string(8) "3f800000" +string(8) "5a0e1bca" +string(8) "3f175b28" +string(8) "5f2b54aa" +string(8) "bf800000" +string(8) "bf800000" +string(8) "da0e1bca" +string(8) "bf175b28" +string(8) "df2b54aa" +string(8) "unpack e" +array(1) { + [1]=> + float(0) +} +array(1) { + [1]=> + float(1) +} +array(1) { + [1]=> + float(1.0E+16) +} +array(1) { + [1]=> + float(0.59123470982315) +} +array(1) { + [1]=> + float(-1) +} +array(1) { + [1]=> + float(-1.0E+16) +} +array(1) { + [1]=> + float(-0.59123470982315) +} +array(1) { + [1]=> + float(-1.2345678901235E+19) +} +string(8) "unpack E" +array(1) { + [1]=> + float(1) +} +array(1) { + [1]=> + float(1.0E+16) +} +array(1) { + [1]=> + float(0.59123470982315) +} +array(1) { + [1]=> + float(1.2345678901235E+19) +} +array(1) { + [1]=> + float(-1) +} +array(1) { + [1]=> + float(-1.0E+16) +} +array(1) { + [1]=> + float(-0.59123470982315) +} +array(1) { + [1]=> + float(-1.2345678901235E+19) +} +string(8) "unpack g" +array(1) { + [1]=> + float(1) +} +array(1) { + [1]=> + float(1.0000000272564E+16) +} +array(1) { + [1]=> + float(0.59123468399048) +} +array(1) { + [1]=> + float(1.2345679395506E+19) +} +array(1) { + [1]=> + float(-1) +} +array(1) { + [1]=> + float(-1.0000000272564E+16) +} +array(1) { + [1]=> + float(-0.59123468399048) +} +array(1) { + [1]=> + float(-1.2345679395506E+19) +} +string(8) "unpack G" +array(1) { + [1]=> + float(1) +} +array(1) { + [1]=> + float(1.0000000272564E+16) +} +array(1) { + [1]=> + float(0.59123468399048) +} +array(1) { + [1]=> + float(1.2345679395506E+19) +} +array(1) { + [1]=> + float(-1) +} +array(1) { + [1]=> + float(-1.0000000272564E+16) +} +array(1) { + [1]=> + float(-0.59123468399048) +} +array(1) { + [1]=> + float(-1.2345679395506E+19) +} diff --git a/ext/standard/tests/strings/unpack_error.phpt b/ext/standard/tests/strings/unpack_error.phpt index 3a4f334c3b..484366293b 100644 --- a/ext/standard/tests/strings/unpack_error.phpt +++ b/ext/standard/tests/strings/unpack_error.phpt @@ -19,7 +19,7 @@ var_dump(unpack("I", pack("I", 65534), 0, $extra_arg)); echo "\n-- Testing unpack() function with invalid format character --\n"; $extra_arg = 10; -var_dump(unpack("G", pack("I", 65534))); +var_dump(unpack("B", pack("I", 65534))); ?> ===DONE=== --EXPECTF-- @@ -37,6 +37,6 @@ NULL -- Testing unpack() function with invalid format character -- -Warning: unpack(): Invalid format type G in %s on line %d +Warning: unpack(): Invalid format type B in %s on line %d bool(false) ===DONE=== diff --git a/ext/standard/var_unserializer.c b/ext/standard/var_unserializer.c deleted file mode 100644 index bf678540b1..0000000000 --- a/ext/standard/var_unserializer.c +++ /dev/null @@ -1,1441 +0,0 @@ -/* Generated by re2c 0.16 */ -#line 1 "ext/standard/var_unserializer.re" -/* - +----------------------------------------------------------------------+ - | PHP Version 7 | - +----------------------------------------------------------------------+ - | Copyright (c) 1997-2017 The PHP Group | - +----------------------------------------------------------------------+ - | This source file is subject to version 3.01 of the PHP license, | - | that is bundled with this package in the file LICENSE, and is | - | available through the world-wide-web at the following url: | - | http://www.php.net/license/3_01.txt | - | If you did not receive a copy of the PHP license and are unable to | - | obtain it through the world-wide-web, please send a note to | - | license@php.net so we can mail you a copy immediately. | - +----------------------------------------------------------------------+ - | Author: Sascha Schumann <sascha@schumann.cx> | - +----------------------------------------------------------------------+ -*/ - -/* $Id$ */ - -#include "php.h" -#include "ext/standard/php_var.h" -#include "php_incomplete_class.h" -#include "zend_portability.h" - -struct php_unserialize_data { - void *first; - void *last; - void *first_dtor; - void *last_dtor; - HashTable *allowed_classes; -}; - -PHPAPI php_unserialize_data_t php_var_unserialize_init() { - php_unserialize_data_t d; - /* fprintf(stderr, "UNSERIALIZE_INIT == lock: %u, level: %u\n", BG(serialize_lock), BG(unserialize).level); */ - if (BG(serialize_lock) || !BG(unserialize).level) { - d = ecalloc(1, sizeof(struct php_unserialize_data)); - if (!BG(serialize_lock)) { - BG(unserialize).data = d; - BG(unserialize).level = 1; - } - } else { - d = BG(unserialize).data; - ++BG(unserialize).level; - } - return d; -} - -PHPAPI void php_var_unserialize_destroy(php_unserialize_data_t d) { - /* fprintf(stderr, "UNSERIALIZE_DESTROY == lock: %u, level: %u\n", BG(serialize_lock), BG(unserialize).level); */ - if (BG(serialize_lock) || BG(unserialize).level == 1) { - var_destroy(&d); - efree(d); - } - if (!BG(serialize_lock) && !--BG(unserialize).level) { - BG(unserialize).data = NULL; - } -} - -PHPAPI HashTable *php_var_unserialize_get_allowed_classes(php_unserialize_data_t d) { - return d->allowed_classes; -} -PHPAPI void php_var_unserialize_set_allowed_classes(php_unserialize_data_t d, HashTable *classes) { - d->allowed_classes = classes; -} - - -/* {{{ reference-handling for unserializer: var_* */ -#define VAR_ENTRIES_MAX 1024 -#define VAR_ENTRIES_DBG 0 - -typedef struct { - zval *data[VAR_ENTRIES_MAX]; - zend_long used_slots; - void *next; -} var_entries; - -typedef struct { - zval data[VAR_ENTRIES_MAX]; - zend_long used_slots; - void *next; -} var_dtor_entries; - -static inline void var_push(php_unserialize_data_t *var_hashx, zval *rval) -{ - var_entries *var_hash = (*var_hashx)->last; -#if VAR_ENTRIES_DBG - fprintf(stderr, "var_push(%ld): %d\n", var_hash?var_hash->used_slots:-1L, Z_TYPE_P(rval)); -#endif - - if (!var_hash || var_hash->used_slots == VAR_ENTRIES_MAX) { - var_hash = emalloc(sizeof(var_entries)); - var_hash->used_slots = 0; - var_hash->next = 0; - - if (!(*var_hashx)->first) { - (*var_hashx)->first = var_hash; - } else { - ((var_entries *) (*var_hashx)->last)->next = var_hash; - } - - (*var_hashx)->last = var_hash; - } - - var_hash->data[var_hash->used_slots++] = rval; -} - -PHPAPI void var_push_dtor(php_unserialize_data_t *var_hashx, zval *rval) -{ - zval *tmp_var = var_tmp_var(var_hashx); - if (!tmp_var) { - return; - } - ZVAL_COPY(tmp_var, rval); -} - -PHPAPI zval *var_tmp_var(php_unserialize_data_t *var_hashx) -{ - var_dtor_entries *var_hash; - - if (!var_hashx || !*var_hashx) { - return NULL; - } - - var_hash = (*var_hashx)->last_dtor; - if (!var_hash || var_hash->used_slots == VAR_ENTRIES_MAX) { - var_hash = emalloc(sizeof(var_dtor_entries)); - var_hash->used_slots = 0; - var_hash->next = 0; - - if (!(*var_hashx)->first_dtor) { - (*var_hashx)->first_dtor = var_hash; - } else { - ((var_dtor_entries *) (*var_hashx)->last_dtor)->next = var_hash; - } - - (*var_hashx)->last_dtor = var_hash; - } - ZVAL_UNDEF(&var_hash->data[var_hash->used_slots]); - return &var_hash->data[var_hash->used_slots++]; -} - -PHPAPI void var_replace(php_unserialize_data_t *var_hashx, zval *ozval, zval *nzval) -{ - zend_long i; - var_entries *var_hash = (*var_hashx)->first; -#if VAR_ENTRIES_DBG - fprintf(stderr, "var_replace(%ld): %d\n", var_hash?var_hash->used_slots:-1L, Z_TYPE_P(nzval)); -#endif - - while (var_hash) { - for (i = 0; i < var_hash->used_slots; i++) { - if (var_hash->data[i] == ozval) { - var_hash->data[i] = nzval; - /* do not break here */ - } - } - var_hash = var_hash->next; - } -} - -static zval *var_access(php_unserialize_data_t *var_hashx, zend_long id) -{ - var_entries *var_hash = (*var_hashx)->first; -#if VAR_ENTRIES_DBG - fprintf(stderr, "var_access(%ld): %ld\n", var_hash?var_hash->used_slots:-1L, id); -#endif - - while (id >= VAR_ENTRIES_MAX && var_hash && var_hash->used_slots == VAR_ENTRIES_MAX) { - var_hash = var_hash->next; - id -= VAR_ENTRIES_MAX; - } - - if (!var_hash) return NULL; - - if (id < 0 || id >= var_hash->used_slots) return NULL; - - return var_hash->data[id]; -} - -PHPAPI void var_destroy(php_unserialize_data_t *var_hashx) -{ - void *next; - zend_long i; - var_entries *var_hash = (*var_hashx)->first; - var_dtor_entries *var_dtor_hash = (*var_hashx)->first_dtor; -#if VAR_ENTRIES_DBG - fprintf(stderr, "var_destroy(%ld)\n", var_hash?var_hash->used_slots:-1L); -#endif - - while (var_hash) { - next = var_hash->next; - efree_size(var_hash, sizeof(var_entries)); - var_hash = next; - } - - while (var_dtor_hash) { - for (i = 0; i < var_dtor_hash->used_slots; i++) { -#if VAR_ENTRIES_DBG - fprintf(stderr, "var_destroy dtor(%p, %ld)\n", var_dtor_hash->data[i], Z_REFCOUNT_P(var_dtor_hash->data[i])); -#endif - zval_ptr_dtor(&var_dtor_hash->data[i]); - } - next = var_dtor_hash->next; - efree_size(var_dtor_hash, sizeof(var_dtor_entries)); - var_dtor_hash = next; - } -} - -/* }}} */ - -static zend_string *unserialize_str(const unsigned char **p, size_t len, size_t maxlen) -{ - size_t i, j; - zend_string *str = zend_string_safe_alloc(1, len, 0, 0); - unsigned char *end = *(unsigned char **)p+maxlen; - - if (end < *p) { - zend_string_free(str); - return NULL; - } - - for (i = 0; i < len; i++) { - if (*p >= end) { - zend_string_free(str); - return NULL; - } - if (**p != '\\') { - ZSTR_VAL(str)[i] = (char)**p; - } else { - unsigned char ch = 0; - - for (j = 0; j < 2; j++) { - (*p)++; - if (**p >= '0' && **p <= '9') { - ch = (ch << 4) + (**p -'0'); - } else if (**p >= 'a' && **p <= 'f') { - ch = (ch << 4) + (**p -'a'+10); - } else if (**p >= 'A' && **p <= 'F') { - ch = (ch << 4) + (**p -'A'+10); - } else { - zend_string_free(str); - return NULL; - } - } - ZSTR_VAL(str)[i] = (char)ch; - } - (*p)++; - } - ZSTR_VAL(str)[i] = 0; - ZSTR_LEN(str) = i; - return str; -} - -static inline int unserialize_allowed_class( - zend_string *class_name, php_unserialize_data_t *var_hashx) -{ - HashTable *classes = (*var_hashx)->allowed_classes; - zend_string *lcname; - int res; - ALLOCA_FLAG(use_heap) - - if(classes == NULL) { - return 1; - } - if(!zend_hash_num_elements(classes)) { - return 0; - } - - ZSTR_ALLOCA_ALLOC(lcname, ZSTR_LEN(class_name), use_heap); - zend_str_tolower_copy(ZSTR_VAL(lcname), ZSTR_VAL(class_name), ZSTR_LEN(class_name)); - res = zend_hash_exists(classes, lcname); - ZSTR_ALLOCA_FREE(lcname, use_heap); - return res; -} - -#define YYFILL(n) do { } while (0) -#define YYCTYPE unsigned char -#define YYCURSOR cursor -#define YYLIMIT limit -#define YYMARKER marker - - -#line 292 "ext/standard/var_unserializer.re" - - - - -static inline zend_long parse_iv2(const unsigned char *p, const unsigned char **q) -{ - char cursor; - zend_long result = 0; - int neg = 0; - - switch (*p) { - case '-': - neg++; - /* fall-through */ - case '+': - p++; - } - - while (1) { - cursor = (char)*p; - if (cursor >= '0' && cursor <= '9') { - result = result * 10 + (size_t)(cursor - (unsigned char)'0'); - } else { - break; - } - p++; - } - if (q) *q = p; - if (neg) return -result; - return result; -} - -static inline zend_long parse_iv(const unsigned char *p) -{ - return parse_iv2(p, NULL); -} - -/* no need to check for length - re2c already did */ -static inline size_t parse_uiv(const unsigned char *p) -{ - unsigned char cursor; - size_t result = 0; - - if (*p == '+') { - p++; - } - - while (1) { - cursor = *p; - if (cursor >= '0' && cursor <= '9') { - result = result * 10 + (size_t)(cursor - (unsigned char)'0'); - } else { - break; - } - p++; - } - return result; -} - -#define UNSERIALIZE_PARAMETER zval *rval, const unsigned char **p, const unsigned char *max, php_unserialize_data_t *var_hash -#define UNSERIALIZE_PASSTHRU rval, p, max, var_hash - -static int php_var_unserialize_internal(UNSERIALIZE_PARAMETER); - -static zend_always_inline int process_nested_data(UNSERIALIZE_PARAMETER, HashTable *ht, zend_long elements, int objprops) -{ - while (elements-- > 0) { - zval key, *data, d, *old_data; - zend_ulong idx; - - ZVAL_UNDEF(&key); - - if (!php_var_unserialize_internal(&key, p, max, NULL)) { - zval_dtor(&key); - return 0; - } - - data = NULL; - ZVAL_UNDEF(&d); - - if (!objprops) { - if (Z_TYPE(key) == IS_LONG) { - idx = Z_LVAL(key); -numeric_key: - if (UNEXPECTED((old_data = zend_hash_index_find(ht, idx)) != NULL)) { - //??? update hash - var_push_dtor(var_hash, old_data); - data = zend_hash_index_update(ht, idx, &d); - } else { - data = zend_hash_index_add_new(ht, idx, &d); - } - } else if (Z_TYPE(key) == IS_STRING) { - if (UNEXPECTED(ZEND_HANDLE_NUMERIC(Z_STR(key), idx))) { - goto numeric_key; - } - if (UNEXPECTED((old_data = zend_hash_find(ht, Z_STR(key))) != NULL)) { - //??? update hash - var_push_dtor(var_hash, old_data); - data = zend_hash_update(ht, Z_STR(key), &d); - } else { - data = zend_hash_add_new(ht, Z_STR(key), &d); - } - } else { - zval_dtor(&key); - return 0; - } - } else { - if (EXPECTED(Z_TYPE(key) == IS_STRING)) { -string_key: - if ((old_data = zend_hash_find(ht, Z_STR(key))) != NULL) { - if (Z_TYPE_P(old_data) == IS_INDIRECT) { - old_data = Z_INDIRECT_P(old_data); - } - var_push_dtor(var_hash, old_data); - data = zend_hash_update_ind(ht, Z_STR(key), &d); - } else { - data = zend_hash_add_new(ht, Z_STR(key), &d); - } - } else if (Z_TYPE(key) == IS_LONG) { - /* object properties should include no integers */ - convert_to_string(&key); - goto string_key; - } else { - zval_dtor(&key); - return 0; - } - } - - if (!php_var_unserialize_internal(data, p, max, var_hash)) { - zval_dtor(&key); - return 0; - } - - if (UNEXPECTED(Z_ISUNDEF_P(data))) { - if (Z_TYPE(key) == IS_LONG) { - zend_hash_index_del(ht, Z_LVAL(key)); - } else { - zend_hash_del_ind(ht, Z_STR(key)); - } - } else { - var_push_dtor(var_hash, data); - } - - zval_dtor(&key); - - if (elements && *(*p-1) != ';' && *(*p-1) != '}') { - (*p)--; - return 0; - } - } - - return 1; -} - -static inline int finish_nested_data(UNSERIALIZE_PARAMETER) -{ - if (*((*p)++) == '}') - return 1; - -#if SOMETHING_NEW_MIGHT_LEAD_TO_CRASH_ENABLE_IF_YOU_ARE_BRAVE - zval_ptr_dtor(rval); -#endif - return 0; -} - -static inline int object_custom(UNSERIALIZE_PARAMETER, zend_class_entry *ce) -{ - zend_long datalen; - - datalen = parse_iv2((*p) + 2, p); - - (*p) += 2; - - if (datalen < 0 || (max - (*p)) <= datalen) { - zend_error(E_WARNING, "Insufficient data for unserializing - " ZEND_LONG_FMT " required, " ZEND_LONG_FMT " present", datalen, (zend_long)(max - (*p))); - return 0; - } - - if (ce->unserialize == NULL) { - zend_error(E_WARNING, "Class %s has no unserializer", ZSTR_VAL(ce->name)); - object_init_ex(rval, ce); - } else if (ce->unserialize(rval, ce, (const unsigned char*)*p, datalen, (zend_unserialize_data *)var_hash) != SUCCESS) { - return 0; - } - - (*p) += datalen; - - return finish_nested_data(UNSERIALIZE_PASSTHRU); -} - -static inline zend_long object_common1(UNSERIALIZE_PARAMETER, zend_class_entry *ce) -{ - zend_long elements; - - elements = parse_iv2((*p) + 2, p); - - (*p) += 2; - - if (ce->serialize == NULL) { - object_init_ex(rval, ce); - } else { - /* If this class implements Serializable, it should not land here but in object_custom(). The passed string - obviously doesn't descend from the regular serializer. */ - zend_error(E_WARNING, "Erroneous data format for unserializing '%s'", ZSTR_VAL(ce->name)); - return 0; - } - - return elements; -} - -#ifdef PHP_WIN32 -# pragma optimize("", off) -#endif -static inline int object_common2(UNSERIALIZE_PARAMETER, zend_long elements) -{ - zval retval; - zval fname; - HashTable *ht; - zend_bool has_wakeup; - - if (Z_TYPE_P(rval) != IS_OBJECT) { - return 0; - } - - has_wakeup = Z_OBJCE_P(rval) != PHP_IC_ENTRY - && zend_hash_str_exists(&Z_OBJCE_P(rval)->function_table, "__wakeup", sizeof("__wakeup")-1); - - ht = Z_OBJPROP_P(rval); - zend_hash_extend(ht, zend_hash_num_elements(ht) + elements, (ht->u.flags & HASH_FLAG_PACKED)); - if (!process_nested_data(UNSERIALIZE_PASSTHRU, ht, elements, 1)) { - if (has_wakeup) { - ZVAL_DEREF(rval); - GC_FLAGS(Z_OBJ_P(rval)) |= IS_OBJ_DESTRUCTOR_CALLED; - } - return 0; - } - - ZVAL_DEREF(rval); - if (has_wakeup) { - ZVAL_STRINGL(&fname, "__wakeup", sizeof("__wakeup") - 1); - BG(serialize_lock)++; - if (call_user_function_ex(CG(function_table), rval, &fname, &retval, 0, 0, 1, NULL) == FAILURE || Z_ISUNDEF(retval)) { - GC_FLAGS(Z_OBJ_P(rval)) |= IS_OBJ_DESTRUCTOR_CALLED; - } - BG(serialize_lock)--; - zval_dtor(&fname); - zval_dtor(&retval); - } - - if (EG(exception)) { - return 0; - } - - return finish_nested_data(UNSERIALIZE_PASSTHRU); -} -#ifdef PHP_WIN32 -# pragma optimize("", on) -#endif - -PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER) -{ - var_entries *orig_var_entries = (*var_hash)->last; - zend_long orig_used_slots = orig_var_entries ? orig_var_entries->used_slots : 0; - int result; - - result = php_var_unserialize_internal(UNSERIALIZE_PASSTHRU); - - if (!result) { - /* If the unserialization failed, mark all elements that have been added to var_hash - * as NULL. This will forbid their use by other unserialize() calls in the same - * unserialization context. */ - var_entries *e = orig_var_entries; - zend_long s = orig_used_slots; - while (e) { - for (; s < e->used_slots; s++) { - e->data[s] = NULL; - } - - e = e->next; - s = 0; - } - } - - return result; -} - -static int php_var_unserialize_internal(UNSERIALIZE_PARAMETER) -{ - const unsigned char *cursor, *limit, *marker, *start; - zval *rval_ref; - - limit = max; - cursor = *p; - - if (YYCURSOR >= YYLIMIT) { - return 0; - } - - if (var_hash && (*p)[0] != 'R') { - var_push(var_hash, rval); - } - - start = cursor; - - -#line 594 "ext/standard/var_unserializer.c" -{ - YYCTYPE yych; - static const unsigned char yybm[] = { - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - }; - if ((YYLIMIT - YYCURSOR) < 7) YYFILL(7); - yych = *YYCURSOR; - switch (yych) { - case 'C': - case 'O': goto yy4; - case 'N': goto yy5; - case 'R': goto yy6; - case 'S': goto yy7; - case 'a': goto yy8; - case 'b': goto yy9; - case 'd': goto yy10; - case 'i': goto yy11; - case 'o': goto yy12; - case 'r': goto yy13; - case 's': goto yy14; - case '}': goto yy15; - default: goto yy2; - } -yy2: - ++YYCURSOR; -yy3: -#line 962 "ext/standard/var_unserializer.re" - { return 0; } -#line 654 "ext/standard/var_unserializer.c" -yy4: - yych = *(YYMARKER = ++YYCURSOR); - if (yych == ':') goto yy17; - goto yy3; -yy5: - yych = *++YYCURSOR; - if (yych == ';') goto yy19; - goto yy3; -yy6: - yych = *(YYMARKER = ++YYCURSOR); - if (yych == ':') goto yy21; - goto yy3; -yy7: - yych = *(YYMARKER = ++YYCURSOR); - if (yych == ':') goto yy22; - goto yy3; -yy8: - yych = *(YYMARKER = ++YYCURSOR); - if (yych == ':') goto yy23; - goto yy3; -yy9: - yych = *(YYMARKER = ++YYCURSOR); - if (yych == ':') goto yy24; - goto yy3; -yy10: - yych = *(YYMARKER = ++YYCURSOR); - if (yych == ':') goto yy25; - goto yy3; -yy11: - yych = *(YYMARKER = ++YYCURSOR); - if (yych == ':') goto yy26; - goto yy3; -yy12: - yych = *(YYMARKER = ++YYCURSOR); - if (yych == ':') goto yy27; - goto yy3; -yy13: - yych = *(YYMARKER = ++YYCURSOR); - if (yych == ':') goto yy28; - goto yy3; -yy14: - yych = *(YYMARKER = ++YYCURSOR); - if (yych == ':') goto yy29; - goto yy3; -yy15: - ++YYCURSOR; -#line 956 "ext/standard/var_unserializer.re" - { - /* this is the case where we have less data than planned */ - php_error_docref(NULL, E_NOTICE, "Unexpected end of serialized data"); - return 0; /* not sure if it should be 0 or 1 here? */ -} -#line 707 "ext/standard/var_unserializer.c" -yy17: - yych = *++YYCURSOR; - if (yybm[0+yych] & 128) { - goto yy31; - } - if (yych == '+') goto yy30; -yy18: - YYCURSOR = YYMARKER; - goto yy3; -yy19: - ++YYCURSOR; -#line 649 "ext/standard/var_unserializer.re" - { - *p = YYCURSOR; - ZVAL_NULL(rval); - return 1; -} -#line 725 "ext/standard/var_unserializer.c" -yy21: - yych = *++YYCURSOR; - if (yych <= ',') { - if (yych == '+') goto yy33; - goto yy18; - } else { - if (yych <= '-') goto yy33; - if (yych <= '/') goto yy18; - if (yych <= '9') goto yy34; - goto yy18; - } -yy22: - yych = *++YYCURSOR; - if (yych == '+') goto yy36; - if (yych <= '/') goto yy18; - if (yych <= '9') goto yy37; - goto yy18; -yy23: - yych = *++YYCURSOR; - if (yych == '+') goto yy39; - if (yych <= '/') goto yy18; - if (yych <= '9') goto yy40; - goto yy18; -yy24: - yych = *++YYCURSOR; - if (yych <= '/') goto yy18; - if (yych <= '1') goto yy42; - goto yy18; -yy25: - yych = *++YYCURSOR; - if (yych <= '/') { - if (yych <= ',') { - if (yych == '+') goto yy43; - goto yy18; - } else { - if (yych <= '-') goto yy44; - if (yych <= '.') goto yy45; - goto yy18; - } - } else { - if (yych <= 'I') { - if (yych <= '9') goto yy46; - if (yych <= 'H') goto yy18; - goto yy48; - } else { - if (yych == 'N') goto yy49; - goto yy18; - } - } -yy26: - yych = *++YYCURSOR; - if (yych <= ',') { - if (yych == '+') goto yy50; - goto yy18; - } else { - if (yych <= '-') goto yy50; - if (yych <= '/') goto yy18; - if (yych <= '9') goto yy51; - goto yy18; - } -yy27: - yych = *++YYCURSOR; - if (yych <= ',') { - if (yych == '+') goto yy53; - goto yy18; - } else { - if (yych <= '-') goto yy53; - if (yych <= '/') goto yy18; - if (yych <= '9') goto yy54; - goto yy18; - } -yy28: - yych = *++YYCURSOR; - if (yych <= ',') { - if (yych == '+') goto yy56; - goto yy18; - } else { - if (yych <= '-') goto yy56; - if (yych <= '/') goto yy18; - if (yych <= '9') goto yy57; - goto yy18; - } -yy29: - yych = *++YYCURSOR; - if (yych == '+') goto yy59; - if (yych <= '/') goto yy18; - if (yych <= '9') goto yy60; - goto yy18; -yy30: - yych = *++YYCURSOR; - if (yybm[0+yych] & 128) { - goto yy31; - } - goto yy18; -yy31: - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); - yych = *YYCURSOR; - if (yybm[0+yych] & 128) { - goto yy31; - } - if (yych <= '/') goto yy18; - if (yych <= ':') goto yy62; - goto yy18; -yy33: - yych = *++YYCURSOR; - if (yych <= '/') goto yy18; - if (yych >= ':') goto yy18; -yy34: - ++YYCURSOR; - if (YYLIMIT <= YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - if (yych <= '/') goto yy18; - if (yych <= '9') goto yy34; - if (yych == ';') goto yy63; - goto yy18; -yy36: - yych = *++YYCURSOR; - if (yych <= '/') goto yy18; - if (yych >= ':') goto yy18; -yy37: - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); - yych = *YYCURSOR; - if (yych <= '/') goto yy18; - if (yych <= '9') goto yy37; - if (yych <= ':') goto yy65; - goto yy18; -yy39: - yych = *++YYCURSOR; - if (yych <= '/') goto yy18; - if (yych >= ':') goto yy18; -yy40: - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); - yych = *YYCURSOR; - if (yych <= '/') goto yy18; - if (yych <= '9') goto yy40; - if (yych <= ':') goto yy66; - goto yy18; -yy42: - yych = *++YYCURSOR; - if (yych == ';') goto yy67; - goto yy18; -yy43: - yych = *++YYCURSOR; - if (yych == '.') goto yy45; - if (yych <= '/') goto yy18; - if (yych <= '9') goto yy46; - goto yy18; -yy44: - yych = *++YYCURSOR; - if (yych <= '/') { - if (yych != '.') goto yy18; - } else { - if (yych <= '9') goto yy46; - if (yych == 'I') goto yy48; - goto yy18; - } -yy45: - yych = *++YYCURSOR; - if (yych <= '/') goto yy18; - if (yych <= '9') goto yy69; - goto yy18; -yy46: - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4); - yych = *YYCURSOR; - if (yych <= ':') { - if (yych <= '.') { - if (yych <= '-') goto yy18; - goto yy69; - } else { - if (yych <= '/') goto yy18; - if (yych <= '9') goto yy46; - goto yy18; - } - } else { - if (yych <= 'E') { - if (yych <= ';') goto yy71; - if (yych <= 'D') goto yy18; - goto yy73; - } else { - if (yych == 'e') goto yy73; - goto yy18; - } - } -yy48: - yych = *++YYCURSOR; - if (yych == 'N') goto yy74; - goto yy18; -yy49: - yych = *++YYCURSOR; - if (yych == 'A') goto yy75; - goto yy18; -yy50: - yych = *++YYCURSOR; - if (yych <= '/') goto yy18; - if (yych >= ':') goto yy18; -yy51: - ++YYCURSOR; - if (YYLIMIT <= YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - if (yych <= '/') goto yy18; - if (yych <= '9') goto yy51; - if (yych == ';') goto yy76; - goto yy18; -yy53: - yych = *++YYCURSOR; - if (yych <= '/') goto yy18; - if (yych >= ':') goto yy18; -yy54: - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); - yych = *YYCURSOR; - if (yych <= '/') goto yy18; - if (yych <= '9') goto yy54; - if (yych <= ':') goto yy78; - goto yy18; -yy56: - yych = *++YYCURSOR; - if (yych <= '/') goto yy18; - if (yych >= ':') goto yy18; -yy57: - ++YYCURSOR; - if (YYLIMIT <= YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - if (yych <= '/') goto yy18; - if (yych <= '9') goto yy57; - if (yych == ';') goto yy79; - goto yy18; -yy59: - yych = *++YYCURSOR; - if (yych <= '/') goto yy18; - if (yych >= ':') goto yy18; -yy60: - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); - yych = *YYCURSOR; - if (yych <= '/') goto yy18; - if (yych <= '9') goto yy60; - if (yych <= ':') goto yy81; - goto yy18; -yy62: - yych = *++YYCURSOR; - if (yych == '"') goto yy82; - goto yy18; -yy63: - ++YYCURSOR; -#line 598 "ext/standard/var_unserializer.re" - { - zend_long id; - - *p = YYCURSOR; - if (!var_hash) return 0; - - id = parse_iv(start + 2) - 1; - if (id == -1 || (rval_ref = var_access(var_hash, id)) == NULL) { - return 0; - } - - zval_ptr_dtor(rval); - if (Z_ISUNDEF_P(rval_ref) || (Z_ISREF_P(rval_ref) && Z_ISUNDEF_P(Z_REFVAL_P(rval_ref)))) { - ZVAL_UNDEF(rval); - return 1; - } - if (Z_ISREF_P(rval_ref)) { - ZVAL_COPY(rval, rval_ref); - } else { - ZVAL_NEW_REF(rval_ref, rval_ref); - ZVAL_COPY(rval, rval_ref); - } - - return 1; -} -#line 1001 "ext/standard/var_unserializer.c" -yy65: - yych = *++YYCURSOR; - if (yych == '"') goto yy84; - goto yy18; -yy66: - yych = *++YYCURSOR; - if (yych == '{') goto yy86; - goto yy18; -yy67: - ++YYCURSOR; -#line 655 "ext/standard/var_unserializer.re" - { - *p = YYCURSOR; - ZVAL_BOOL(rval, parse_iv(start + 2)); - return 1; -} -#line 1018 "ext/standard/var_unserializer.c" -yy69: - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4); - yych = *YYCURSOR; - if (yych <= ';') { - if (yych <= '/') goto yy18; - if (yych <= '9') goto yy69; - if (yych <= ':') goto yy18; - } else { - if (yych <= 'E') { - if (yych <= 'D') goto yy18; - goto yy73; - } else { - if (yych == 'e') goto yy73; - goto yy18; - } - } -yy71: - ++YYCURSOR; -#line 703 "ext/standard/var_unserializer.re" - { -#if SIZEOF_ZEND_LONG == 4 -use_double: -#endif - *p = YYCURSOR; - ZVAL_DOUBLE(rval, zend_strtod((const char *)start + 2, NULL)); - return 1; -} -#line 1047 "ext/standard/var_unserializer.c" -yy73: - yych = *++YYCURSOR; - if (yych <= ',') { - if (yych == '+') goto yy88; - goto yy18; - } else { - if (yych <= '-') goto yy88; - if (yych <= '/') goto yy18; - if (yych <= '9') goto yy89; - goto yy18; - } -yy74: - yych = *++YYCURSOR; - if (yych == 'F') goto yy91; - goto yy18; -yy75: - yych = *++YYCURSOR; - if (yych == 'N') goto yy91; - goto yy18; -yy76: - ++YYCURSOR; -#line 661 "ext/standard/var_unserializer.re" - { -#if SIZEOF_ZEND_LONG == 4 - int digits = YYCURSOR - start - 3; - - if (start[2] == '-' || start[2] == '+') { - digits--; - } - - /* Use double for large zend_long values that were serialized on a 64-bit system */ - if (digits >= MAX_LENGTH_OF_LONG - 1) { - if (digits == MAX_LENGTH_OF_LONG - 1) { - int cmp = strncmp((char*)YYCURSOR - MAX_LENGTH_OF_LONG, long_min_digits, MAX_LENGTH_OF_LONG - 1); - - if (!(cmp < 0 || (cmp == 0 && start[2] == '-'))) { - goto use_double; - } - } else { - goto use_double; - } - } -#endif - *p = YYCURSOR; - ZVAL_LONG(rval, parse_iv(start + 2)); - return 1; -} -#line 1095 "ext/standard/var_unserializer.c" -yy78: - yych = *++YYCURSOR; - if (yych == '"') goto yy92; - goto yy18; -yy79: - ++YYCURSOR; -#line 624 "ext/standard/var_unserializer.re" - { - zend_long id; - - *p = YYCURSOR; - if (!var_hash) return 0; - - id = parse_iv(start + 2) - 1; - if (id == -1 || (rval_ref = var_access(var_hash, id)) == NULL) { - return 0; - } - - if (rval_ref == rval) { - return 0; - } - - if (Z_ISUNDEF_P(rval_ref) || (Z_ISREF_P(rval_ref) && Z_ISUNDEF_P(Z_REFVAL_P(rval_ref)))) { - ZVAL_UNDEF(rval); - return 1; - } - - ZVAL_COPY(rval, rval_ref); - - return 1; -} -#line 1127 "ext/standard/var_unserializer.c" -yy81: - yych = *++YYCURSOR; - if (yych == '"') goto yy94; - goto yy18; -yy82: - ++YYCURSOR; -#line 809 "ext/standard/var_unserializer.re" - { - size_t len, len2, len3, maxlen; - zend_long elements; - char *str; - zend_string *class_name; - zend_class_entry *ce; - int incomplete_class = 0; - - int custom_object = 0; - - zval user_func; - zval retval; - zval args[1]; - - if (!var_hash) return 0; - if (*start == 'C') { - custom_object = 1; - } - - len2 = len = parse_uiv(start + 2); - maxlen = max - YYCURSOR; - if (maxlen < len || len == 0) { - *p = start + 2; - return 0; - } - - str = (char*)YYCURSOR; - - YYCURSOR += len; - - if (*(YYCURSOR) != '"') { - *p = YYCURSOR; - return 0; - } - if (*(YYCURSOR+1) != ':') { - *p = YYCURSOR+1; - return 0; - } - - len3 = strspn(str, "0123456789_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\177\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237\240\241\242\243\244\245\246\247\250\251\252\253\254\255\256\257\260\261\262\263\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\377\\"); - if (len3 != len) - { - *p = YYCURSOR + len3 - len; - return 0; - } - - class_name = zend_string_init(str, len, 0); - - do { - if(!unserialize_allowed_class(class_name, var_hash)) { - incomplete_class = 1; - ce = PHP_IC_ENTRY; - break; - } - - /* Try to find class directly */ - BG(serialize_lock)++; - ce = zend_lookup_class(class_name); - if (ce) { - BG(serialize_lock)--; - if (EG(exception)) { - zend_string_release(class_name); - return 0; - } - break; - } - BG(serialize_lock)--; - - if (EG(exception)) { - zend_string_release(class_name); - return 0; - } - - /* Check for unserialize callback */ - if ((PG(unserialize_callback_func) == NULL) || (PG(unserialize_callback_func)[0] == '\0')) { - incomplete_class = 1; - ce = PHP_IC_ENTRY; - break; - } - - /* Call unserialize callback */ - ZVAL_STRING(&user_func, PG(unserialize_callback_func)); - - ZVAL_STR_COPY(&args[0], class_name); - BG(serialize_lock)++; - if (call_user_function_ex(CG(function_table), NULL, &user_func, &retval, 1, args, 0, NULL) != SUCCESS) { - BG(serialize_lock)--; - if (EG(exception)) { - zend_string_release(class_name); - zval_ptr_dtor(&user_func); - zval_ptr_dtor(&args[0]); - return 0; - } - php_error_docref(NULL, E_WARNING, "defined (%s) but not found", Z_STRVAL(user_func)); - incomplete_class = 1; - ce = PHP_IC_ENTRY; - zval_ptr_dtor(&user_func); - zval_ptr_dtor(&args[0]); - break; - } - BG(serialize_lock)--; - zval_ptr_dtor(&retval); - if (EG(exception)) { - zend_string_release(class_name); - zval_ptr_dtor(&user_func); - zval_ptr_dtor(&args[0]); - return 0; - } - - /* The callback function may have defined the class */ - BG(serialize_lock)++; - if ((ce = zend_lookup_class(class_name)) == NULL) { - php_error_docref(NULL, E_WARNING, "Function %s() hasn't defined the class it was called for", Z_STRVAL(user_func)); - incomplete_class = 1; - ce = PHP_IC_ENTRY; - } - BG(serialize_lock)--; - - zval_ptr_dtor(&user_func); - zval_ptr_dtor(&args[0]); - break; - } while (1); - - *p = YYCURSOR; - - if (custom_object) { - int ret; - - ret = object_custom(UNSERIALIZE_PASSTHRU, ce); - - if (ret && incomplete_class) { - php_store_class_name(rval, ZSTR_VAL(class_name), len2); - } - zend_string_release(class_name); - return ret; - } - - elements = object_common1(UNSERIALIZE_PASSTHRU, ce); - - if (incomplete_class) { - php_store_class_name(rval, ZSTR_VAL(class_name), len2); - } - zend_string_release(class_name); - - return object_common2(UNSERIALIZE_PASSTHRU, elements); -} -#line 1281 "ext/standard/var_unserializer.c" -yy84: - ++YYCURSOR; -#line 744 "ext/standard/var_unserializer.re" - { - size_t len, maxlen; - zend_string *str; - - len = parse_uiv(start + 2); - maxlen = max - YYCURSOR; - if (maxlen < len) { - *p = start + 2; - return 0; - } - - if ((str = unserialize_str(&YYCURSOR, len, maxlen)) == NULL) { - return 0; - } - - if (*(YYCURSOR) != '"') { - zend_string_free(str); - *p = YYCURSOR; - return 0; - } - - if (*(YYCURSOR + 1) != ';') { - efree(str); - *p = YYCURSOR + 1; - return 0; - } - - YYCURSOR += 2; - *p = YYCURSOR; - - ZVAL_STR(rval, str); - return 1; -} -#line 1318 "ext/standard/var_unserializer.c" -yy86: - ++YYCURSOR; -#line 778 "ext/standard/var_unserializer.re" - { - zend_long elements = parse_iv(start + 2); - /* use iv() not uiv() in order to check data range */ - *p = YYCURSOR; - if (!var_hash) return 0; - - if (elements < 0) { - return 0; - } - - array_init_size(rval, elements); - if (elements) { - /* we can't convert from packed to hash during unserialization, because - reference to some zvals might be keept in var_hash (to support references) */ - zend_hash_real_init(Z_ARRVAL_P(rval), 0); - } - - if (!process_nested_data(UNSERIALIZE_PASSTHRU, Z_ARRVAL_P(rval), elements, 0)) { - return 0; - } - - return finish_nested_data(UNSERIALIZE_PASSTHRU); -} -#line 1345 "ext/standard/var_unserializer.c" -yy88: - yych = *++YYCURSOR; - if (yych <= ',') { - if (yych == '+') goto yy96; - goto yy18; - } else { - if (yych <= '-') goto yy96; - if (yych <= '/') goto yy18; - if (yych >= ':') goto yy18; - } -yy89: - ++YYCURSOR; - if (YYLIMIT <= YYCURSOR) YYFILL(1); - yych = *YYCURSOR; - if (yych <= '/') goto yy18; - if (yych <= '9') goto yy89; - if (yych == ';') goto yy71; - goto yy18; -yy91: - yych = *++YYCURSOR; - if (yych == ';') goto yy97; - goto yy18; -yy92: - ++YYCURSOR; -#line 802 "ext/standard/var_unserializer.re" - { - if (!var_hash) return 0; - - return object_common2(UNSERIALIZE_PASSTHRU, - object_common1(UNSERIALIZE_PASSTHRU, ZEND_STANDARD_CLASS_DEF_PTR)); -} -#line 1377 "ext/standard/var_unserializer.c" -yy94: - ++YYCURSOR; -#line 712 "ext/standard/var_unserializer.re" - { - size_t len, maxlen; - char *str; - - len = parse_uiv(start + 2); - maxlen = max - YYCURSOR; - if (maxlen < len) { - *p = start + 2; - return 0; - } - - str = (char*)YYCURSOR; - - YYCURSOR += len; - - if (*(YYCURSOR) != '"') { - *p = YYCURSOR; - return 0; - } - - if (*(YYCURSOR + 1) != ';') { - *p = YYCURSOR + 1; - return 0; - } - - YYCURSOR += 2; - *p = YYCURSOR; - - ZVAL_STRINGL(rval, str, len); - return 1; -} -#line 1412 "ext/standard/var_unserializer.c" -yy96: - yych = *++YYCURSOR; - if (yych <= '/') goto yy18; - if (yych <= '9') goto yy89; - goto yy18; -yy97: - ++YYCURSOR; -#line 687 "ext/standard/var_unserializer.re" - { - *p = YYCURSOR; - - if (!strncmp((char*)start + 2, "NAN", 3)) { - ZVAL_DOUBLE(rval, ZEND_NAN); - } else if (!strncmp((char*)start + 2, "INF", 3)) { - ZVAL_DOUBLE(rval, ZEND_INFINITY); - } else if (!strncmp((char*)start + 2, "-INF", 4)) { - ZVAL_DOUBLE(rval, -ZEND_INFINITY); - } else { - ZVAL_NULL(rval); - } - - return 1; -} -#line 1436 "ext/standard/var_unserializer.c" -} -#line 964 "ext/standard/var_unserializer.re" - - - return 0; -} diff --git a/ext/standard/var_unserializer.re b/ext/standard/var_unserializer.re index 4e5e56452b..7ce4965ba7 100644 --- a/ext/standard/var_unserializer.re +++ b/ext/standard/var_unserializer.re @@ -483,6 +483,11 @@ static inline zend_long object_common1(UNSERIALIZE_PARAMETER, zend_class_entry * { zend_long elements; + if( *p >= max - 2) { + zend_error(E_WARNING, "Bad unserialize data"); + return -1; + } + elements = parse_iv2((*p) + 2, p); (*p) += 2; @@ -493,7 +498,7 @@ static inline zend_long object_common1(UNSERIALIZE_PARAMETER, zend_class_entry * /* If this class implements Serializable, it should not land here but in object_custom(). The passed string obviously doesn't descend from the regular serializer. */ zend_error(E_WARNING, "Erroneous data format for unserializing '%s'", ZSTR_VAL(ce->name)); - return 0; + return -1; } return elements; @@ -553,7 +558,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER) var_entries *orig_var_entries = (*var_hash)->last; zend_long orig_used_slots = orig_var_entries ? orig_var_entries->used_slots : 0; int result; - + result = php_var_unserialize_internal(UNSERIALIZE_PASSTHRU); if (!result) { @@ -800,10 +805,14 @@ use_double: } "o:" iv ":" ["] { + long elements; if (!var_hash) return 0; - return object_common2(UNSERIALIZE_PASSTHRU, - object_common1(UNSERIALIZE_PASSTHRU, ZEND_STANDARD_CLASS_DEF_PTR)); + elements = object_common1(UNSERIALIZE_PASSTHRU, ZEND_STANDARD_CLASS_DEF_PTR); + if (elements < 0) { + return 0; + } + return object_common2(UNSERIALIZE_PASSTHRU, elements); } object ":" uiv ":" ["] { @@ -945,6 +954,11 @@ object ":" uiv ":" ["] { elements = object_common1(UNSERIALIZE_PASSTHRU, ce); + if (elements < 0) { + zend_string_release(class_name); + return 0; + } + if (incomplete_class) { php_store_class_name(rval, ZSTR_VAL(class_name), len2); } diff --git a/ext/sysvsem/tests/nowait.phpt b/ext/sysvsem/tests/nowait.phpt index 8557ce33ee..23f0dfc165 100644 --- a/ext/sysvsem/tests/nowait.phpt +++ b/ext/sysvsem/tests/nowait.phpt @@ -67,12 +67,16 @@ if ($pid) { exit; } + /* Release the child semahpore before releasing + the releasing the parent semaphore and letting + the child continue execution */ + sem_release($c_sem_id); + echo "P: releasing semaphore $p_sem_id.\n"; if (!sem_release($p_sem_id)) { echo "P: failed to release semaphore\n"; } - sem_release($c_sem_id); $status = null; pcntl_waitpid($pid, $status); diff --git a/ext/wddx/tests/bug73831.phpt b/ext/wddx/tests/bug73831.phpt new file mode 100644 index 0000000000..0f8b8b1264 --- /dev/null +++ b/ext/wddx/tests/bug73831.phpt @@ -0,0 +1,23 @@ +--TEST-- +Bug #73831 (NULL Pointer Dereference while unserialize php object) +--SKIPIF-- +<?php if (!extension_loaded("wddx")) print "skip"; ?> +--FILE-- +<?php +$xml = <<<EOF +<?xml version="1.0" ?> +<wddxPacket version="1.0"> + <struct> + <var name="php_class_name"> + <string>Throwable</string> + </var> + </struct> +</wddxPacket> +EOF; +try { + $wddx = wddx_deserialize($xml); +} catch(Error $e) { echo $e->getMessage(); } +?> +--EXPECTF-- +Warning: wddx_deserialize(): Class throwable can not be instantiated in %sbug73831.php on line %d +Cannot instantiate interface Throwable diff --git a/ext/wddx/wddx.c b/ext/wddx/wddx.c index 73ebc4964c..a905f59fd5 100644 --- a/ext/wddx/wddx.c +++ b/ext/wddx/wddx.c @@ -908,7 +908,7 @@ static void php_wddx_pop_element(void *user_data, const XML_Char *name) if (!strcmp((char *)name, EL_BINARY)) { zend_string *new_str = NULL; - + if (ZSTR_EMPTY_ALLOC() != Z_STR(ent1->data)) { new_str = php_base64_decode( (unsigned char *)Z_STRVAL(ent1->data), Z_STRLEN(ent1->data)); @@ -967,22 +967,26 @@ static void php_wddx_pop_element(void *user_data, const XML_Char *name) php_error_docref(NULL, E_WARNING, "Class %s can not be unserialized", Z_STRVAL(ent1->data)); } else { /* Initialize target object */ - object_init_ex(&obj, pce); - - /* Merge current hashtable with object's default properties */ - zend_hash_merge(Z_OBJPROP(obj), - Z_ARRVAL(ent2->data), - zval_add_ref, 0); - - if (incomplete_class) { - php_store_class_name(&obj, Z_STRVAL(ent1->data), Z_STRLEN(ent1->data)); + if (object_init_ex(&obj, pce) != SUCCESS || EG(exception)) { + zval_ptr_dtor(&ent2->data); + ZVAL_UNDEF(&ent2->data); + php_error_docref(NULL, E_WARNING, "Class %s can not be instantiated", Z_STRVAL(ent1->data)); + } else { + /* Merge current hashtable with object's default properties */ + zend_hash_merge(Z_OBJPROP(obj), + Z_ARRVAL(ent2->data), + zval_add_ref, 0); + + if (incomplete_class) { + php_store_class_name(&obj, Z_STRVAL(ent1->data), Z_STRLEN(ent1->data)); + } + + /* Clean up old array entry */ + zval_ptr_dtor(&ent2->data); + + /* Set stack entry to point to the newly created object */ + ZVAL_COPY_VALUE(&ent2->data, &obj); } - - /* Clean up old array entry */ - zval_ptr_dtor(&ent2->data); - - /* Set stack entry to point to the newly created object */ - ZVAL_COPY_VALUE(&ent2->data, &obj); } /* Clean up class name var entry */ diff --git a/main/explicit_bzero.c b/main/explicit_bzero.c new file mode 100644 index 0000000000..ffe5bec9b3 --- /dev/null +++ b/main/explicit_bzero.c @@ -0,0 +1,43 @@ +/* + +----------------------------------------------------------------------+ + | PHP Version 7 | + +----------------------------------------------------------------------+ + | Copyright (c) 1997-2016 The PHP Group | + +----------------------------------------------------------------------+ + | This source file is subject to version 3.01 of the PHP license, | + | that is bundled with this package in the file LICENSE, and is | + | available through the world-wide-web at the following url: | + | http://www.php.net/license/3_01.txt | + | If you did not receive a copy of the PHP license and are unable to | + | obtain it through the world-wide-web, please send a note to | + | license@php.net so we can mail you a copy immediately. | + +----------------------------------------------------------------------+ + | Author: | + +----------------------------------------------------------------------+ +*/ + +/* $Id$ */ + +#include "php.h" + +#ifndef HAVE_EXPLICIT_BZERO + +/* $OpenBSD: explicit_bzero.c,v 1.4 2015/08/31 02:53:57 guenther Exp $ */ +/* + * Public domain. + * Written by Matthew Dempsky. + */ + +#include <string.h> + +__attribute__((weak)) void +__explicit_bzero_hook(void *dst, size_t siz) +{ +} + +PHPAPI void php_explicit_bzero(void *dst, size_t siz) +{ + memset(dst, 0, siz); + __explicit_bzero_hook(dst, siz); +} +#endif diff --git a/main/php.h b/main/php.h index b640bfcecd..23d365d9e3 100644 --- a/main/php.h +++ b/main/php.h @@ -176,6 +176,14 @@ END_EXTERN_C() #define strlcat php_strlcat #endif +#ifndef HAVE_EXPLICIT_BZERO +BEGIN_EXTERN_C() +PHPAPI void php_explicit_bzero(void *dst, size_t siz); +END_EXTERN_C() +#undef explicit_bzero +#define explicit_bzero php_explicit_bzero +#endif + #ifndef HAVE_STRTOK_R BEGIN_EXTERN_C() char *strtok_r(char *s, const char *delim, char **last); diff --git a/main/strlcat.c b/main/strlcat.c index 30dfd0f8a9..a381b1433c 100644 --- a/main/strlcat.c +++ b/main/strlcat.c @@ -22,7 +22,7 @@ #ifndef HAVE_STRLCAT -/* $OpenBSD: strlcat.c,v 1.2 1999/06/17 16:28:58 millert Exp $ */ +/* $OpenBSD: strlcat.c,v 1.17 2016/10/14 18:19:04 dtucker Exp $ */ /* * Copyright (c) 1998 Todd C. Miller <Todd.Miller@courtesan.com> @@ -52,7 +52,7 @@ */ #if defined(LIBC_SCCS) && !defined(lint) -static char *rcsid = "$OpenBSD: strlcat.c,v 1.2 1999/06/17 16:28:58 millert Exp $"; +static char *rcsid = "$OpenBSD: strlcat.c,v 1.17 2016/10/14 18:19:04 dtucker Exp $"; #endif /* LIBC_SCCS and not lint */ #include <sys/types.h> @@ -69,29 +69,34 @@ PHPAPI size_t php_strlcat(dst, src, siz) const char *src; size_t siz; { - register char *d = dst; - register const char *s = src; - register size_t n = siz; + const char *d = dst; + const char *s = src; + size_t n = siz; size_t dlen; /* Find the end of dst and adjust bytes left but don't go past end */ - while (*d != '\0' && n-- != 0) - d++; - dlen = d - dst; + while (n-- != 0 && *dst != '\0') + dst++; + dlen = (uintptr_t)dst - (uintptr_t)d; n = siz - dlen; - if (n == 0) - return(dlen + strlen(s)); - while (*s != '\0') { - if (n != 1) { - *d++ = *s; + if (n-- == 0) + return(dlen + strlen(src)); + while (*src != '\0') { + if (n != 0) { + *dst++ = *src; n--; } - s++; + src++; } - *d = '\0'; + *dst = '\0'; - return(dlen + (s - src)); /* count does not include NUL */ + /* + * Cast pointers to unsigned type before calculation, to avoid signed + * overflow when the string ends where the MSB has changed. + * Return value does not include NUL. + */ + return(dlen + ((uintptr_t)src - (uintptr_t)s)); } #endif /* !HAVE_STRLCAT */ diff --git a/main/strlcpy.c b/main/strlcpy.c index 8d7b2652ea..3e66140ef6 100644 --- a/main/strlcpy.c +++ b/main/strlcpy.c @@ -22,7 +22,7 @@ #ifndef HAVE_STRLCPY -/* $OpenBSD: strlcpy.c,v 1.4 1999/05/01 18:56:41 millert Exp $ */ +/* $OpenBSD: strlcpy.c,v 1.15 2016/10/16 17:37:39 dtucker Exp $ */ /* * Copyright (c) 1998 Todd C. Miller <Todd.Miller@courtesan.com> @@ -52,7 +52,7 @@ */ #if defined(LIBC_SCCS) && !defined(lint) -static char *rcsid = "$OpenBSD: strlcpy.c,v 1.4 1999/05/01 18:56:41 millert Exp $"; +static char *rcsid = "$OpenBSD: strlcpy.c,v 1.15 2016/10/16 17:37:39 dtucker Exp $"; #endif /* LIBC_SCCS and not lint */ #include <sys/types.h> @@ -68,27 +68,31 @@ PHPAPI size_t php_strlcpy(dst, src, siz) const char *src; size_t siz; { - register char *d = dst; - register const char *s = src; - register size_t n = siz; + const char *s = src; + size_t n = siz; /* Copy as many bytes as will fit */ - if (n != 0 && --n != 0) { - do { - if ((*d++ = *s++) == 0) + if (n != 0) { + while (--n != 0) { + if ((*dst++ = *src++) == 0) break; - } while (--n != 0); + } } /* Not enough room in dst, add NUL and traverse rest of src */ if (n == 0) { if (siz != 0) - *d = '\0'; /* NUL-terminate dst */ - while (*s++) + *dst = '\0'; /* NUL-terminate dst */ + while (*src++) ; } - return(s - src - 1); /* count does not include NUL */ + /* + * Cast pointers to unsigned type before calculation, to avoid signed + * overflow when the string ends where the MSB has changed. + * Return value does not include NUL. + */ + return((uintptr_t)src - (uintptr_t)s - 1); } #endif /* !HAVE_STRLCPY */ |