klown 0.7.29

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of klown might be problematic. Click here for more details.

@@ -0,0 +1,2446 @@
1
+ [{
2
+ "desc": "ASUS Nexus 7",
3
+ "ua": "Mozilla/5.0 (Linux; Android 4.4.2; Nexus 7 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.99 Safari/537.36",
4
+ "expect": {
5
+ "vendor": "ASUS",
6
+ "model": "Nexus 7",
7
+ "type": "tablet"
8
+ }
9
+ },
10
+ {
11
+ "desc": "ASUS Padfone",
12
+ "ua": "Mozilla/5.0 (Linux; Android 4.1.1; PadFone 2 Build/JRO03L) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.117 Safari/537.36",
13
+ "expect": {
14
+ "vendor": "ASUS",
15
+ "model": "PadFone",
16
+ "type": "tablet"
17
+ }
18
+ },
19
+ {
20
+ "desc": "ASUS ZenPad 10",
21
+ "ua": "Mozilla/5.0 (Linux; Android 6.0; P00C Build/MRA58K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.76 Safari/537.36",
22
+ "expect": {
23
+ "vendor": "ASUS",
24
+ "model": "P00C",
25
+ "type": "tablet"
26
+ }
27
+ },
28
+ {
29
+ "desc": "ASUS ZenPad Z8s",
30
+ "ua": "Mozilla/5.0 (Linux; Android 7.0; ASUS_P00J) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.111 Safari/537.36\n",
31
+ "expect": {
32
+ "vendor": "ASUS",
33
+ "model": "P00J",
34
+ "type": "tablet"
35
+ }
36
+ },
37
+ {
38
+ "desc": "ASUS ROG",
39
+ "ua": "Mozilla/5.0 (Linux; Android 8.1; ZS600KL Build/OPM1.171019.026) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.126 Mobile Safari/537.36",
40
+ "expect": {
41
+ "vendor": "ASUS",
42
+ "model": "ZS600KL",
43
+ "type": "mobile"
44
+ }
45
+ },
46
+ {
47
+ "desc": "ASUS ROG II",
48
+ "ua": "Mozilla/5.0 (Linux; Android 9; ASUS_I001DA Build/PKQ1.190414.001; xx-xx) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/74.0.3729.136 Mobile Safari/537.36",
49
+ "expect": {
50
+ "vendor": "ASUS",
51
+ "model": "I001DA",
52
+ "type": "mobile"
53
+ }
54
+ },
55
+ {
56
+ "desc": "ASUS Zenfone 2",
57
+ "ua": "Mozilla/5.0 (Linux; Android 5.0; ASUS ZenFone 2 Build/LRX22C) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/37.0.0.0 Mobile Safari/537.36",
58
+ "expect": {
59
+ "vendor": "ASUS",
60
+ "model": "ZenFone 2",
61
+ "type": "mobile"
62
+ }
63
+ },
64
+ {
65
+ "desc": "ASUS Zenfone 3 Deluxe",
66
+ "ua": "Mozilla/5.0 (Linux; Android 6.0; ASUS_Z016D Build/MXB48T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.132 Mobile Safari/537.36",
67
+ "expect": {
68
+ "vendor": "ASUS",
69
+ "model": "Z016D",
70
+ "type": "mobile"
71
+ }
72
+ },
73
+ {
74
+ "desc": "ASUS Zenfone 5",
75
+ "ua": "Mozilla/5.0 (Linux; Android 8.0; ZE620KL Build/OPR1.170623.032) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.158 Mobile Safari/537.36",
76
+ "expect": {
77
+ "vendor": "ASUS",
78
+ "model": "ZE620KL",
79
+ "type": "mobile"
80
+ }
81
+ },
82
+ {
83
+ "desc": "ASUS Zenfone 7",
84
+ "ua": "Mozilla/5.0 (Linux; Android 10; ASUS_I002D) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.81 Mobile Safari/537.36",
85
+ "expect": {
86
+ "vendor": "ASUS",
87
+ "model": "I002D",
88
+ "type": "mobile"
89
+ }
90
+ },
91
+ {
92
+ "desc": "ASUS Zenfone 7 Pro",
93
+ "ua": "Mozilla/5.0 (Linux; Android 10; ZS671KS) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.72 Mobile Safari/537.36",
94
+ "expect": {
95
+ "vendor": "ASUS",
96
+ "model": "ZS671KS",
97
+ "type": "mobile"
98
+ }
99
+ },
100
+ {
101
+ "desc": "ASUS Zenfone Max Pro (M1)",
102
+ "ua": "Mozilla/5.0 (Linux; Android 8.1; ASUS_X00TD Build/OPM1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.137 Mobile Safari/537.36",
103
+ "expect": {
104
+ "vendor": "ASUS",
105
+ "model": "X00TD",
106
+ "type": "mobile"
107
+ }
108
+ },
109
+ {
110
+ "desc": "ASUS Zenfone Max M2",
111
+ "ua": "Mozilla/5.0 (Linux; Android 8.1; ASUS_X01AD) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.99 Mobile Safari/537.36",
112
+ "expect": {
113
+ "vendor": "ASUS",
114
+ "model": "X01AD",
115
+ "type": "mobile"
116
+ }
117
+ },
118
+ {
119
+ "desc": "ASUS Zenfone Max Pro M2",
120
+ "ua": "Mozilla/5.0 (Linux; Android 8.1; ASUS_X01BDA) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.99 Mobile Safari/537.36",
121
+ "expect": {
122
+ "vendor": "ASUS",
123
+ "model": "X01BDA",
124
+ "type": "mobile"
125
+ }
126
+ },
127
+ {
128
+ "desc": "ASUS Zenfone Go",
129
+ "ua": "Mozilla/5.0 (Linux; Android 6.0; ASUS_X009DA Build/MMB29M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Mobile Safari/537.36",
130
+ "expect": {
131
+ "vendor": "ASUS",
132
+ "model": "X009DA",
133
+ "type": "mobile"
134
+ }
135
+ },
136
+ {
137
+ "desc": "Acer Iconia A1-810",
138
+ "ua": "Mozilla/5.0 (Linux; Android 4.2.2; A1-810 Build/JDQ39) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.109 Safari/537.36",
139
+ "expect": {
140
+ "vendor": "Acer",
141
+ "model": "A1-810",
142
+ "type": "tablet"
143
+ }
144
+ },
145
+ {
146
+ "desc": "BlackBerry Priv",
147
+ "ua": "User-Agent: Mozilla/5.0 (Linux; Android 5.1.1; STV100-1 Build/LMY47V; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/46.0.2490.76 Mobile Safari/537.36",
148
+ "expect": {
149
+ "vendor": "BlackBerry",
150
+ "model": "STV100-1",
151
+ "type": "mobile"
152
+ }
153
+ },
154
+ {
155
+ "desc": "BlackBerry Keyone",
156
+ "ua": "Mozilla/5.0 (Linux; Android 8.1.0; BBB100-1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.111 Mobile Safari/537.36",
157
+ "expect": {
158
+ "vendor": "BlackBerry",
159
+ "model": "BBB100-1",
160
+ "type": "mobile"
161
+ }
162
+ },
163
+ {
164
+ "desc": "BlackBerry Key2",
165
+ "ua": "Mozilla/5.0 (Linux; Android 8.1.0; BBF100-1 Build/OPM1.171019.026) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.91 Mobile Safari/537.36",
166
+ "expect": {
167
+ "vendor": "BlackBerry",
168
+ "model": "BBF100-1",
169
+ "type": "mobile"
170
+ }
171
+ },
172
+ {
173
+ "desc": "BlackBerry Key2 LE",
174
+ "ua": "User-Agent: Mozilla/5.0 (Linux; Android 8.1.0; BBE100-1 Build/OPM1.171019.026) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497 Mobile Safari/537.36",
175
+ "expect": {
176
+ "vendor": "BlackBerry",
177
+ "model": "BBE100-1",
178
+ "type": "mobile"
179
+ }
180
+ },
181
+ {
182
+ "desc": "Desktop (IE11 with Tablet string)",
183
+ "ua": "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; .NET4.0E; .NET4.0C; .NET CLR 3.5.30729; .NET CLR 2.0.50727; .NET CLR 3.0.30729; Tablet PC 2.0; GWX:MANAGED; rv:11.0) like Gecko",
184
+ "expect": {
185
+ "vendor": "undefined",
186
+ "model": "undefined",
187
+ "type": "undefined"
188
+ }
189
+ },
190
+ {
191
+ "desc": "Essential PH-1",
192
+ "ua": "Mozilla/5.0 (Linux; Android 9; PH-1 Build/PPR1.180905.036) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.86 Mobile Safari/537.36",
193
+ "expect": {
194
+ "vendor": "Essential",
195
+ "model": "PH-1",
196
+ "type": "mobile"
197
+ }
198
+ },
199
+ {
200
+ "desc": "Fairphone 1U",
201
+ "ua": "Mozilla/5.0 (Linux; U; Android 4.2.2; FP1U Build/JDQ39) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30",
202
+ "expect": {
203
+ "vendor": "Fairphone",
204
+ "model": "FP1U",
205
+ "type": "mobile"
206
+ }
207
+ },
208
+ {
209
+ "desc": "HTC Desire 820",
210
+ "ua": "Mozilla/5.0 (Linux; Android 6.0.1; HTC Desire 820 Build/MMB29M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.76 Mobile Safari/537.36",
211
+ "expect": {
212
+ "vendor": "HTC",
213
+ "model": "Desire 820",
214
+ "type": "mobile"
215
+ }
216
+ },
217
+ {
218
+ "desc": "HTC Evo Shift 4G",
219
+ "ua": "Mozilla/5.0 (Linux; U; Android 2.3.4; en-us; Sprint APA7373KT Build/GRJ22) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0",
220
+ "expect": {
221
+ "vendor": "Sprint",
222
+ "model": "APA7373KT",
223
+ "type": "mobile"
224
+ }
225
+ },
226
+ {
227
+ "desc": "HTC Nexus 9",
228
+ "ua": "Mozilla/5.0 (Linux; Android 5.0; Nexus 9 Build/LRX21R) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.143 Mobile Crosswalk/7.36.154.13 Safari/537.36",
229
+ "expect": {
230
+ "vendor": "HTC",
231
+ "model": "Nexus 9",
232
+ "type": "tablet"
233
+ }
234
+ },
235
+ {
236
+ "desc": "Huawei Honor",
237
+ "ua": "Mozilla/5.0 (Linux; U; Android 2.3; xx-xx; U8860 Build/HuaweiU8860) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1",
238
+ "expect": {
239
+ "vendor": "Huawei",
240
+ "model": "U8860",
241
+ "type": "mobile"
242
+ }
243
+ },
244
+ {
245
+ "desc": "Huawei Nexus 6P",
246
+ "ua": "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 6P Build/MTC19V) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.81 Mobile Safari/537",
247
+ "expect": {
248
+ "vendor": "Huawei",
249
+ "model": "Nexus 6P",
250
+ "type": "mobile"
251
+ }
252
+ },
253
+ {
254
+ "desc": "Huawei P10",
255
+ "ua": "Mozilla/5.0 (Linux; Android 7.0; VTR-L09 Build/HUAWEIVTR-L09; xx-xx) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/56.0.2924.87 Mobile Safari/537.36",
256
+ "expect": {
257
+ "vendor": "Huawei",
258
+ "model": "VTR-L09",
259
+ "type": "mobile"
260
+ }
261
+ },
262
+ {
263
+ "desc": "Huawei Y3II",
264
+ "ua": "Mozilla/5.0 (Linux; U; Android 5.1; xx-xx; HUAWEI LUA-L03 Build/HUAWEILUA-L03) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/39.0.0.0 Mobile Safari/537.36",
265
+ "expect": {
266
+ "vendor": "Huawei",
267
+ "model": "LUA-L03",
268
+ "type": "mobile"
269
+ }
270
+ },
271
+ {
272
+ "desc": "iPad using UCBrowser",
273
+ "ua": "Mozilla/5.0 (iPad; U; CPU OS 11_2 like Mac OS X; zh-CN; iPad5,3) AppleWebKit/534.46 (KHTML, like Gecko) UCBrowser/3.0.1.776 U3/ Mobile/10A403 Safari/7543.48.3",
274
+ "expect": {
275
+ "vendor": "Apple",
276
+ "model": "iPad",
277
+ "type": "tablet"
278
+ }
279
+ },
280
+ {
281
+ "desc": "iPad Air",
282
+ "ua": "Mozilla/5.0 (iPad; CPU OS 12_4_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 [FBAN/FBIOS;FBDV/iPad4,1;FBMD/iPad;FBSN/iOS;FBSV/12.4.5;FBSS/2;FBID/tablet;FBLC/en_US;FBOP/5;FBCR/]",
283
+ "expect": {
284
+ "vendor": "Apple",
285
+ "model": "iPad",
286
+ "type": "tablet"
287
+ }
288
+ },
289
+ {
290
+ "desc": "iPad using Facebook Browser",
291
+ "ua": "Mozilla/5.0 (iPad; CPU OS 14_4_2 like Mac OS X) WebKit/8610 (KHTML, like Gecko) Mobile/18D70 [FBAN/FBIOS;FBDV/iPad7,11;FBMD/iPad;FBSN/iOS;FBSV/14.4.2;FBSS/2;FBID/tablet;FBLC/en_US;FBOP/5]",
292
+ "expect": {
293
+ "vendor": "Apple",
294
+ "model": "iPad",
295
+ "type": "tablet"
296
+ }
297
+ },
298
+ {
299
+ "desc": "iPod",
300
+ "ua": "Mozilla/5.0 (iPod touch; CPU iPhone OS 7_0_4 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11B554a Safari/9537.53",
301
+ "expect": {
302
+ "vendor": "Apple",
303
+ "model": "iPod touch",
304
+ "type": "mobile"
305
+ }
306
+ },
307
+ {
308
+ "desc": "Lenovo Tab 2",
309
+ "ua": "Mozilla/5.0 (Linux; Android 5.0.1; Lenovo TAB 2 A7-30HC Build/LRX21M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/74.0.3729.157 Safari/537.36",
310
+ "expect": {
311
+ "vendor": "Lenovo",
312
+ "model": "TAB 2 A7",
313
+ "type": "tablet"
314
+ }
315
+ },
316
+ {
317
+ "desc": "Lenovo Phone",
318
+ "ua": "Mozilla/5.0 (Linux; Android 6.0; Lenovo PB2-650M Build/MRA58K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/89.0.4389.105 Mobile Safari/537.36 [FB_IAB/FB4A;FBAV/311.0.0.44.117;]",
319
+ "expect": {
320
+ "vendor": "Lenovo",
321
+ "model": "PB2-650M",
322
+ "type": "mobile"
323
+ }
324
+ },
325
+ {
326
+ "desc": "Lenovo Tab 3 Pro",
327
+ "ua": "Mozilla/5.0 (Linux; Android 6.0.1; Lenovo YT3-X90F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.99 Safari/537.36",
328
+ "expect": {
329
+ "vendor": "Lenovo",
330
+ "model": "YT3-X90F",
331
+ "type": "tablet"
332
+ }
333
+ },
334
+ {
335
+ "desc": "Lenovo Tab 4",
336
+ "ua": "Mozilla/5.0 (Linux; Android 7.1.1; Lenovo TB-X304F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.99 Safari/537.36",
337
+ "expect": {
338
+ "vendor": "Lenovo",
339
+ "model": "TB-X304F",
340
+ "type": "tablet"
341
+ }
342
+ },
343
+ {
344
+ "desc": "Lenovo Tab 4",
345
+ "ua": "Mozilla/5.0 (Linux; Android 4.4.2; Lenovo TAB 2 A7-30HC) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36",
346
+ "expect": {
347
+ "vendor": "Lenovo",
348
+ "model": "TAB 2 A7",
349
+ "type": "tablet"
350
+ }
351
+ },
352
+ {
353
+ "desc": "Lenovo Tab 7 Essential",
354
+ "ua": "Mozilla/5.0 (Linux; Android 7.0; Lenovo TB-7304X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36",
355
+ "expect": {
356
+ "vendor": "Lenovo",
357
+ "model": "TB-7304X",
358
+ "type": "tablet"
359
+ }
360
+ },
361
+ {
362
+ "desc": "Lenovo Tab M10",
363
+ "ua": "Mozilla/5.0 (Linux; arm_64; Android 9; Lenovo TB-X606F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.127 YaBrowser/20.9.4.99.01 Safari/537.36",
364
+ "expect": {
365
+ "vendor": "Lenovo",
366
+ "model": "TB-X606F",
367
+ "type": "tablet"
368
+ }
369
+ },
370
+ {
371
+ "desc": "LG K500",
372
+ "ua": "Mozilla/5.0 (Linux; Android 6.0.1; LG-K500 Build/MMB29M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.111 Mobile Safari/537.36",
373
+ "expect": {
374
+ "vendor": "LG",
375
+ "model": "K500",
376
+ "type": "mobile"
377
+ }
378
+ },
379
+ {
380
+ "desc": "LG Nexus 4",
381
+ "ua": "Mozilla/5.0 (Linux; Android 4.2.1; Nexus 4 Build/JOP40D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19",
382
+ "expect": {
383
+ "vendor": "LG",
384
+ "model": "Nexus 4",
385
+ "type": "mobile"
386
+ }
387
+ },
388
+ {
389
+ "desc": "LG Nexus 4",
390
+ "ua": "Mozilla/5.0 (Linux; U; Android 4.3; en-us; Google Nexus 4 - 4.3 - API 18 - 768x1280 Build/JLS36G) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30",
391
+ "expect": {
392
+ "vendor": "LG",
393
+ "model": "Nexus 4",
394
+ "type": "mobile"
395
+ }
396
+ },
397
+ {
398
+ "desc": "LG Nexus 5",
399
+ "ua": "Mozilla/5.0 (Linux; Android 4.2.1; en-us; Nexus 5 Build/JOP40D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19",
400
+ "expect": {
401
+ "vendor": "LG",
402
+ "model": "Nexus 5",
403
+ "type": "mobile"
404
+ }
405
+ },
406
+ {
407
+ "desc": "LG Wing",
408
+ "ua": "Mozilla/5.0 (Linux; Android 10; LM-F100N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.101 Mobile Safari/537.36",
409
+ "expect": {
410
+ "vendor": "LG",
411
+ "model": "LM-F100N",
412
+ "type": "mobile"
413
+ }
414
+ },
415
+ {
416
+ "desc": "LG Smart TV",
417
+ "ua": "Mozilla/5.0 (DirectFB; U; Linux mips; en) AppleWebKit/528.5+ (KHTML, like Gecko, Safari/528.5+) LG Browser (; LG NetCast.TV-2011)",
418
+ "expect": {
419
+ "vendor": "LG",
420
+ "model": "undefined",
421
+ "type": "smarttv"
422
+ }
423
+ },
424
+ {
425
+ "desc": "LG Smart TV",
426
+ "ua": "Mozilla/5.0 (Linux; NetCast; U) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/53.0.2785 34 Safari/537.31 SmartTV/8.5",
427
+ "expect": {
428
+ "vendor": "LG",
429
+ "model": "undefined",
430
+ "type": "smarttv"
431
+ }
432
+ },
433
+ {
434
+ "desc": "Meizu M5 Note",
435
+ "ua": "Mozilla/5.0 (Linux; Android 6.0; M5 Note Build/MRA58K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/53.0.2785.49 Mobile MQQBrowser/6.2 TBS/043024 Safari/537.36 MicroMessenger/6.5.7.1040 NetType/WIFI Language/zh_CN",
436
+ "expect": {
437
+ "vendor": "Meizu",
438
+ "model": "M5 Note",
439
+ "type": "mobile"
440
+ }
441
+ },
442
+ {
443
+ "desc": "Microsoft Lumia 950",
444
+ "ua": "Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; Lumia 950) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Mobile Safari/537.36 Edge/13.10586",
445
+ "expect": {
446
+ "vendor": "Microsoft",
447
+ "model": "Lumia 950",
448
+ "type": "mobile"
449
+ }
450
+ },
451
+ {
452
+ "desc": "Microsoft Surface Duo",
453
+ "ua": "Dalvik/2.1.0 (Linux; U; Android 10; Surface Duo Build/2020.1014.61)",
454
+ "expect": {
455
+ "vendor": "Microsoft",
456
+ "model": "Surface Duo",
457
+ "type": "tablet"
458
+ }
459
+ },
460
+ {
461
+ "desc": "Motorola Moto X",
462
+ "ua": "Mozilla/5.0 (Linux; Android 4.4.4; XT1097 Build/KXE21.187-38) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.109 Mobile Safari/537.36",
463
+ "expect": {
464
+ "vendor": "Motorola",
465
+ "model": "XT1097",
466
+ "type": "mobile"
467
+ }
468
+ },
469
+ {
470
+ "desc" : "Meizu M3S",
471
+ "ua" : "Mozilla/5.0 (X11; Linux; Android 5.1; MZ-M3s Build/LMY47I) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrom/45.0.2454.94 Mobile Safari/537.36",
472
+ "expect" :
473
+ {
474
+ "vendor" : "Meizu",
475
+ "model" : "M3s",
476
+ "type" : "mobile"
477
+ }
478
+ },
479
+ {
480
+ "desc" : "Microsoft Lumia 950",
481
+ "ua" : "Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; Lumia 950) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Mobile Safari/537.36 Edge/13.10586",
482
+ "expect" :
483
+ {
484
+ "vendor" : "Microsoft",
485
+ "model" : "Lumia 950",
486
+ "type" : "mobile"
487
+ }
488
+ },
489
+ {
490
+ "desc": "Motorola Nexus 6",
491
+ "ua": "Mozilla/5.0 (Linux; Android 5.1.1; Nexus 6 Build/LYZ28E) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.20 Mobile Safari/537.36",
492
+ "expect": {
493
+ "vendor": "Motorola",
494
+ "model": "Nexus 6",
495
+ "type": "mobile"
496
+ }
497
+ },
498
+ {
499
+ "desc": "Motorola Droid RAZR 4G",
500
+ "ua": "Mozilla/5.0 (Linux; U; Android 2.3; xx-xx; DROID RAZR 4G Build/6.5.1-73_DHD-11_M1-29) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1",
501
+ "expect": {
502
+ "vendor": "Motorola",
503
+ "model": "DROID RAZR 4G",
504
+ "type": "mobile"
505
+ }
506
+ },
507
+ {
508
+ "desc": "Motorola RAZR 2019",
509
+ "ua": "Mozilla/5.0 (Linux; Android 9; motorola razr) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/11.1 Chrome/75.0.3770.143 Mobile Safari/537.36",
510
+ "expect": {
511
+ "vendor": "Motorola",
512
+ "model": "razr",
513
+ "type": "mobile"
514
+ }
515
+ },
516
+ {
517
+ "desc": "iPhone",
518
+ "ua": "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",
519
+ "expect": {
520
+ "vendor": "Apple",
521
+ "model": "iPhone",
522
+ "type": "mobile"
523
+ }
524
+ },
525
+ {
526
+ "desc": "iPhone SE",
527
+ "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_3_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 [FBAN/FBIOS;FBDV/iPhone8,4;FBMD/iPhone;FBSN/iOS;FBSV/13.3.1;FBSS/2;FBID/phone;FBLC/en_US;FBOP/5;FBCR/]",
528
+ "expect": {
529
+ "vendor": "Apple",
530
+ "model": "iPhone",
531
+ "type": "mobile"
532
+ }
533
+ },
534
+ {
535
+ "desc": "iPhone SE using Facebook App",
536
+ "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_3_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 [FBAN/FBIOS;FBDV/iPhone8,4;FBMD/iPhone;FBSN/iOS;FBSV/13.3.1;FBSS/2;FBID/phone;FBLC/en_US;FBOP/5;FBCR/]",
537
+ "expect": {
538
+ "vendor": "Apple",
539
+ "model": "iPhone",
540
+ "type": "mobile"
541
+ }
542
+ },
543
+ {
544
+ "desc": "iPhone 11 Pro Max",
545
+ "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_3_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 [FBAN/FBIOS;FBDV/iPhone12,5;FBMD/iPhone;FBSN/iOS;FBSV/13.3.1;FBSS/3;FBID/phone;FBLC/en_US;FBOP/5;FBCR/]",
546
+ "expect": {
547
+ "vendor": "Apple",
548
+ "model": "iPhone",
549
+ "type": "mobile"
550
+ }
551
+ },
552
+ {
553
+ "desc": "iPhone XS",
554
+ "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_3_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 [FBAN/FBIOS;FBDV/iPhone11,2;FBMD/iPhone;FBSN/iOS;FBSV/13.3.1;FBSS/3;FBID/phone;FBLC/en_US;FBOP/5;FBCR/]",
555
+ "expect": {
556
+ "vendor": "Apple",
557
+ "model": "iPhone",
558
+ "type": "mobile"
559
+ }
560
+ },
561
+ {
562
+ "desc": "iPod touch",
563
+ "ua": "Mozilla/5.0 (iPod touch; CPU iPhone OS 7_0_2 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A501 Safari/9537.53",
564
+ "expect": {
565
+ "vendor": "Apple",
566
+ "model": "iPod touch",
567
+ "type": "mobile"
568
+ }
569
+ },
570
+ {
571
+ "desc": "Moto X",
572
+ "ua": "Mozilla/5.0 (Linux; U; Android 4.2; xx-xx; XT1058 Build/13.9.0Q2.X-70-GHOST-ATT_LE-2) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30",
573
+ "expect": {
574
+ "vendor": "Motorola",
575
+ "model": "XT1058",
576
+ "type": "mobile"
577
+ }
578
+ },
579
+ {
580
+ "desc": "Motorola Moto g(6) Play",
581
+ "ua": "Mozilla/5.0 (Linux; Android 9; moto g(6) play) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.136 Mobile Safari/537.36",
582
+ "expect": {
583
+ "vendor": "Motorola",
584
+ "model": "moto g(6) play",
585
+ "type": "mobile"
586
+ }
587
+ },
588
+ {
589
+ "desc": "Motorola Moto g(7) Supra",
590
+ "ua": "Mozilla/5.0 (Linux; Android 9; moto g(7) supra Build/PCOS29.114-134-2; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/73.0.3683.90 Mobile Safari/537.36",
591
+ "expect": {
592
+ "vendor": "Motorola",
593
+ "model": "moto g(7) supra",
594
+ "type": "mobile"
595
+ }
596
+ },
597
+ {
598
+ "desc": "Motorola Moto E",
599
+ "ua": "Mozilla/5.0 (Linux; Android 7.1.1; Moto E (4) Build/NDQS26.69-64-11-7; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/56.0.2924.87 Mobile Safari/537.36",
600
+ "expect": {
601
+ "vendor": "Motorola",
602
+ "model": "Moto E (4)",
603
+ "type": "mobile"
604
+ }
605
+ },
606
+ {
607
+ "desc": "Nokia3xx",
608
+ "ua": "Nokia303/14.87 CLDC-1.1",
609
+ "expect": {
610
+ "vendor": "Nokia",
611
+ "model": "303",
612
+ "type": "mobile"
613
+ }
614
+ },
615
+ {
616
+ "desc": "Nokia 3.2",
617
+ "ua": "Mozilla/5.0 (Linux; Android 10; Nokia 3.2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Mobile Safari/537.36",
618
+ "expect": {
619
+ "vendor": "Nokia",
620
+ "model": "3.2",
621
+ "type": "mobile"
622
+ }
623
+ },
624
+ {
625
+ "desc": "Nokia N9",
626
+ "ua": "Mozilla/5.0 (MeeGo; NokiaN9) AppleWebKit/534.13 (KHTML, like Gecko) NokiaBrowser/8.5.0 Mobile Safari/534.13",
627
+ "expect": {
628
+ "vendor": "Nokia",
629
+ "model": "N9",
630
+ "type": "mobile"
631
+ }
632
+ },
633
+ {
634
+ "desc": "Nokia 2720 Flip",
635
+ "ua": "Mozilla/5.0 (Mobile; Nokia_2720_Flip; rv:48.0) Gecko/48.0 Firefox/48.0 KAIOS/2.5.2",
636
+ "expect": {
637
+ "vendor": "Nokia",
638
+ "model": "2720 Flip",
639
+ "type": "mobile"
640
+ }
641
+ },
642
+ {
643
+ "desc": "OnePlus One",
644
+ "ua": "Mozilla/5.0 (Linux; Android 4.4.4; A0001 Build/KTU84Q) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.59 Mobile Safari/537.36",
645
+ "expect": {
646
+ "vendor": "OnePlus",
647
+ "model": "1",
648
+ "type": "mobile"
649
+ }
650
+ },
651
+ {
652
+ "desc": "OnePlus One",
653
+ "ua": "Mozilla/5.0 (Linux; Android 4.4.2; OnePlus One A0001 Build/KVT49L) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.117 Mobile Safari/537.36",
654
+ "expect": {
655
+ "vendor": "OnePlus",
656
+ "model": "1",
657
+ "type": "mobile"
658
+ }
659
+ },
660
+ {
661
+ "desc": "OnePlus 3",
662
+ "ua": "Mozilla/5.0 (Linux; Android 7.1.1; ONEPLUS A3000 Build/NMF26F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.98 Mobile Safari/537.36",
663
+ "expect": {
664
+ "vendor": "OnePlus",
665
+ "model": "A3000",
666
+ "type": "mobile"
667
+ }
668
+ },
669
+ {
670
+ "desc": "OnePlus 6",
671
+ "ua": "Mozilla/5.0 (Linux; Android 9; ONEPLUS A6003) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.89 Mobile Safari/537.36",
672
+ "expect": {
673
+ "vendor": "OnePlus",
674
+ "model": "A6003",
675
+ "type": "mobile"
676
+ }
677
+ },
678
+ {
679
+ "desc": "OnePlus 6T",
680
+ "ua": "Mozilla/5.0 (Linux; Android 9; ONEPLUS A6010) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.96 Mobile Safari/537.36",
681
+ "expect": {
682
+ "vendor": "OnePlus",
683
+ "model": "A6010",
684
+ "type": "mobile"
685
+ }
686
+ },
687
+ {
688
+ "desc": "OnePlus 8T",
689
+ "ua": "Mozilla/5.0 (Linux; Android 11; KB2005) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.127 Mobile Safari/537.36",
690
+ "expect": {
691
+ "vendor": "OnePlus",
692
+ "model": "KB2005",
693
+ "type": "mobile"
694
+ }
695
+ },
696
+ {
697
+ "desc": "OnePlus 8 Pro",
698
+ "ua": "Mozilla/5.0 (Linux; Android 10; IN2025) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.119 Mobile Safari/537.36",
699
+ "expect": {
700
+ "vendor": "OnePlus",
701
+ "model": "IN2025",
702
+ "type": "mobile"
703
+ }
704
+ },
705
+ {
706
+ "desc": "OnePlus Nord N100",
707
+ "ua": "Mozilla/5.0 (Linux; Android 10; BE2015 Build/QKQ1.200719.002; xx-xx) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/83.0.4103.106 Mobile Safari/537.36",
708
+ "expect": {
709
+ "vendor": "OnePlus",
710
+ "model": "BE2015",
711
+ "type": "mobile"
712
+ }
713
+ },
714
+ {
715
+ "desc": "OnePlus Nord N10 5G",
716
+ "ua": "Mozilla/5.0 (Linux; Android 10; BE2029) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.185 Mobile Safari/537.36",
717
+ "expect": {
718
+ "vendor": "OnePlus",
719
+ "model": "BE2029",
720
+ "type": "mobile"
721
+ }
722
+ },
723
+ {
724
+ "desc": "OPPO Neo",
725
+ "ua": "Mozilla/5.0 (Linux; U; Android 4.2.2; zh-cn; R831T Build/JDQ39) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 OppoBrowser/3.3.2 Mobile Safari/534.30",
726
+ "expect": {
727
+ "vendor": "OPPO",
728
+ "model": "R831T",
729
+ "type": "mobile"
730
+ }
731
+ },
732
+ {
733
+ "desc": "OPPO R7s",
734
+ "ua": "Mozilla/5.0 (Linux; U; Android 4.4.4; zh-cn; OPPO R7s Build/KTU84P) AppleWebKit/537.36 (KHTML, like Gecko)Version/4.0 Chrome/37.0.0.0 MQQBrowser/7.1 Mobile Safari/537.36",
735
+ "expect": {
736
+ "vendor": "OPPO",
737
+ "model": "R7s",
738
+ "type": "mobile"
739
+ }
740
+ },
741
+ {
742
+ "desc": "OPPO A3s",
743
+ "ua": "Mozilla/5.0 (Linux; Android 8.1; CPH1803 Build/OPM1.171019.026; xx-xx) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 Mobile Safari/537.36",
744
+ "expect": {
745
+ "vendor": "OPPO",
746
+ "model": "CPH1803",
747
+ "type": "mobile"
748
+ }
749
+ },
750
+ {
751
+ "desc": "OPPO A12",
752
+ "ua": "Mozilla/5.0 (Linux; Android 9; CPH2083) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.116 Mobile Safari/537.36",
753
+ "expect": {
754
+ "vendor": "OPPO",
755
+ "model": "CPH2083",
756
+ "type": "mobile"
757
+ }
758
+ },
759
+ {
760
+ "desc": "OPPO Reno",
761
+ "ua": "Mozilla/5.0 (Linux; Android 9; PCAT00 Build/PKQ1.190101.001; xx-xx) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/70.0.3538.110 Mobile Safari/537.36",
762
+ "expect": {
763
+ "vendor": "OPPO",
764
+ "model": "PCAT00",
765
+ "type": "mobile"
766
+ }
767
+ },
768
+ {
769
+ "desc": "OPPO Reno3 Pro 5G",
770
+ "ua": "Mozilla/5.0 (Linux; Android 10; PCLM50) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.117 Mobile Safari/537.36",
771
+ "expect": {
772
+ "vendor": "OPPO",
773
+ "model": "PCLM50",
774
+ "type": "mobile"
775
+ }
776
+ },
777
+ {
778
+ "desc": "OPPO Reno4 SE",
779
+ "ua": "Mozilla/5.0 (Linux; U; Android 10; xx-xx; PEAM00 Build/QP1A.190711.020) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/70.0.3538.80 Mobile Safari/537.36",
780
+ "expect": {
781
+ "vendor": "OPPO",
782
+ "model": "PEAM00",
783
+ "type": "mobile"
784
+ }
785
+ },
786
+ {
787
+ "desc": "OPPO Reno4 5G",
788
+ "ua": "Mozilla/5.0 (Linux; Android 10; PDPM00 Build/QKQ1.200216.002; xx-xx) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/76.0.3809.89 Mobile Safari/537.36",
789
+ "expect": {
790
+ "vendor": "OPPO",
791
+ "model": "PDPM00",
792
+ "type": "mobile"
793
+ }
794
+ },
795
+ {
796
+ "desc": "OPPO Reno4 Pro 5G",
797
+ "ua": "Mozilla/5.0 (Linux; U; Android 10; xx-xx; PDNT00 Build/QKQ1.200216.002) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/70.0.3538.80 Mobile Safari/537.36",
798
+ "expect": {
799
+ "vendor": "OPPO",
800
+ "model": "PDNT00",
801
+ "type": "mobile"
802
+ }
803
+ },
804
+ {
805
+ "desc": "OPPO Find X",
806
+ "ua": "Mozilla/5.0 (Linux; Android 8.1; PAFM00 Build/OPM1.171019.026) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Mobile Safari/537.36",
807
+ "expect": {
808
+ "vendor": "OPPO",
809
+ "model": "PAFM00",
810
+ "type": "mobile"
811
+ }
812
+ },
813
+ {
814
+ "desc": "OPPO Find 7a",
815
+ "ua": "Mozilla/5.0 (Linux; U; Android 4.3; xx-xx; X9007 Build/JLS36C) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30",
816
+ "expect": {
817
+ "vendor": "OPPO",
818
+ "model": "X9007",
819
+ "type": "mobile"
820
+ }
821
+ },
822
+ {
823
+ "desc": "Realme C1",
824
+ "ua": "Mozilla/5.0 (Linux; Android 8.1; RMX1811 Build/OPM1.171019.026) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.126 Mobile Safari/537.36",
825
+ "expect": {
826
+ "vendor": "Realme",
827
+ "model": "RMX1811",
828
+ "type": "mobile"
829
+ }
830
+ },
831
+ {
832
+ "desc": "Realme Narzo 20",
833
+ "ua": "Mozilla/5.0 (Linux; U; Android 10; xx-xx; RMX2193 Build/QP1A.190711.020) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/70.0.3538.80 Mobile Safari/537.36",
834
+ "expect": {
835
+ "vendor": "Realme",
836
+ "model": "RMX2193",
837
+ "type": "mobile"
838
+ }
839
+ },
840
+ {
841
+ "desc": "Philips SmartTV",
842
+ "ua": "Opera/9.80 HbbTV/1.1.1 (; Philips; ; ; ; ) NETTV/4.0.2; en) Version/11.60",
843
+ "expect": {
844
+ "vendor": "Philips",
845
+ "model": "",
846
+ "type": "smarttv"
847
+ }
848
+ },
849
+ {
850
+ "desc": "Kindle Fire HD",
851
+ "ua": "Mozilla/5.0 (Linux; U; Android 4.0.3; en-us; KFTT Build/IML74K) AppleWebKit/535.19 (KHTML, like Gecko) Silk/3.4 Mobile Safari/535.19 Silk-Accelerated=true",
852
+ "expect": {
853
+ "vendor": "Amazon",
854
+ "model": "KFTT",
855
+ "type": "tablet"
856
+ }
857
+ },
858
+ {
859
+ "desc": "Kindle Fire HD",
860
+ "ua": "Mozilla/5.0 (Linux; U; Android 4.0.3; en-us; KFTT) AppleWebKit/535.19 (KHTML, like Gecko) Silk/3.4 Mobile Safari/535.19 Silk-Accelerated=true",
861
+ "expect": {
862
+ "vendor": "Amazon",
863
+ "model": "KFTT",
864
+ "type": "tablet"
865
+ }
866
+ },
867
+ {
868
+ "desc": "Samsung Galaxy A21s",
869
+ "ua": "Mozilla/5.0 (Linux; Android 10; SAMSUNG SM-A217F) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/11.0 Chrome/75.0.3770.143 Mobile Safari/537.36",
870
+ "expect": {
871
+ "vendor": "Samsung",
872
+ "model": "SM-A217F",
873
+ "type": "mobile"
874
+ }
875
+ },
876
+ {
877
+ "desc": "Samsung Galaxy A31",
878
+ "ua": "Mozilla/5.0 (Linux; Android 10; SM-A315G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Mobile Safari/537.36",
879
+ "expect": {
880
+ "vendor": "Samsung",
881
+ "model": "SM-A315G",
882
+ "type": "mobile"
883
+ }
884
+ },
885
+ {
886
+ "desc": "Samsung Galaxy A50",
887
+ "ua": "Mozilla/5.0 (Linux; Android 9; SM-A505F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.105 Mobile Safari/537.36",
888
+ "expect": {
889
+ "vendor": "Samsung",
890
+ "model": "SM-A505F",
891
+ "type": "mobile"
892
+ }
893
+ },
894
+ {
895
+ "desc": "Samsung Galaxy A80",
896
+ "ua": "Mozilla/5.0 (Linux; Android 9; SM-A805F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.112 Mobile Safari/537.36",
897
+ "expect": {
898
+ "vendor": "Samsung",
899
+ "model": "SM-A805F",
900
+ "type": "mobile"
901
+ }
902
+ },
903
+ {
904
+ "desc": "Samsung Galaxy Fold",
905
+ "ua": "Mozilla/5.0 (Linux; Android 9; SAMSUNG SM-F900U Build/PPR1.180610.011) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/9.2 Chrome/67.0.3396.87 Mobile Safari/537.36",
906
+ "expect": {
907
+ "vendor": "Samsung",
908
+ "model": "SM-F900U",
909
+ "type": "mobile"
910
+ }
911
+ },
912
+ {
913
+ "desc": "Samsung Galaxy Z Flip",
914
+ "ua": "Mozilla/5.0 (Linux; Android 10; SM-F700N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.136 Mobile Safari/537.36",
915
+ "expect": {
916
+ "vendor": "Samsung",
917
+ "model": "SM-F700N",
918
+ "type": "mobile"
919
+ }
920
+ },
921
+ {
922
+ "desc": "Samsung Galaxy Z Fold2",
923
+ "ua": "Mozilla/5.0 (Linux; Android 10; SM-F916B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Mobile Safari/537.36",
924
+ "expect": {
925
+ "vendor": "Samsung",
926
+ "model": "SM-F916B",
927
+ "type": "mobile"
928
+ }
929
+ },
930
+ {
931
+ "desc": "Samsung Galaxy S10E",
932
+ "ua": "Mozilla/5.0 (Linux; Android 9; SM-G970F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Mobile Safari/537.36",
933
+ "expect": {
934
+ "vendor": "Samsung",
935
+ "model": "SM-G970F",
936
+ "type": "mobile"
937
+ }
938
+ },
939
+ {
940
+ "desc": "Samsung Galaxy Note 10+",
941
+ "ua": "Mozilla/5.0 (Linux; Android 9; SM-N976V) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.89 Mobile Safari/537.36",
942
+ "expect": {
943
+ "vendor": "Samsung",
944
+ "model": "SM-N976V",
945
+ "type": "mobile"
946
+ }
947
+ },
948
+ {
949
+ "desc": "Samsung SM-C5000",
950
+ "ua": "Mozilla/5.0 (Linux; Android 6.0.1; SM-C5000 Build/MMB29M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/51.0.2704.81 Mobile Safari/537.36 wkbrowser 4.1.35 3065",
951
+ "expect": {
952
+ "vendor": "Samsung",
953
+ "model": "SM-C5000",
954
+ "type": "mobile"
955
+ }
956
+ },
957
+ {
958
+ "desc": "Samsung Galaxy Note 8",
959
+ "ua": "Mozilla/5.0 (Linux; Android 4.2.2; GT-N5100 Build/JDQ39) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.141 Safari/537.36",
960
+ "expect": {
961
+ "vendor": "Samsung",
962
+ "model": "GT-N5100",
963
+ "type": "tablet"
964
+ }
965
+ },
966
+ {
967
+ "desc": "Samsung SM-T231",
968
+ "ua": "Mozilla/5.0 (Linux; Android 4.4.2; SM-T231 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.135 Safari/537.36",
969
+ "expect": {
970
+ "vendor": "Samsung",
971
+ "model": "SM-T231",
972
+ "type": "tablet"
973
+ }
974
+ },
975
+ {
976
+ "desc": "Samsung Galaxy Tab 6 Lite",
977
+ "ua": "Mozilla/5.0 (Linux; Android 10; SAMSUNG SM-P610) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/12.0 Chrome/79.0.3945.136 Safari/537.36",
978
+ "expect": {
979
+ "vendor": "Samsung",
980
+ "model": "SM-P610",
981
+ "type": "tablet"
982
+ }
983
+ },
984
+ {
985
+ "desc": "Samsung Galaxy Tab A 9.7",
986
+ "ua": "Mozilla/5.0 (Linux; Android 7.1.1; SM-P550 Build/NMF26X; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/89.0.4389.90 Safari/537.36",
987
+ "expect": {
988
+ "vendor": "Samsung",
989
+ "model": "SM-P550",
990
+ "type": "tablet"
991
+ }
992
+ },
993
+ {
994
+ "desc": "Samsung Galaxy Tab A 10.1",
995
+ "ua": " Mozilla/5.0 (Linux; Android 10; SAMSUNG SM-T515) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/13.0 Chrome/83.0.4103.106 Safari/537.36",
996
+ "expect": {
997
+ "vendor": "Samsung",
998
+ "model": "SM-T515",
999
+ "type": "tablet"
1000
+ }
1001
+ },
1002
+ {
1003
+ "desc": "Samsung Galaxy Tab S7",
1004
+ "ua": "Mozilla/5.0 (Linux; Android 10; SM-T870) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36",
1005
+ "expect": {
1006
+ "vendor": "Samsung",
1007
+ "model": "SM-T870",
1008
+ "type": "tablet"
1009
+ }
1010
+ },
1011
+ {
1012
+ "desc": "Samsung Galaxy Tab S",
1013
+ "ua": "Mozilla/5.0 (Linux; Android 4.4.2; SM-T700 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.135 Safari/537.36",
1014
+ "expect": {
1015
+ "vendor": "Samsung",
1016
+ "model": "SM-T700",
1017
+ "type": "tablet"
1018
+ }
1019
+ },
1020
+ {
1021
+ "desc": "Samsung Galaxy Tab Pro 10.1",
1022
+ "ua": "Mozilla/5.0 (Linux; Android 4.4.2; SM-T520 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.135 Safari/537.36",
1023
+ "expect": {
1024
+ "vendor": "Samsung",
1025
+ "model": "SM-T520",
1026
+ "type": "tablet"
1027
+ }
1028
+ },
1029
+ {
1030
+ "desc": "Samsung Note 10.1",
1031
+ "ua": "Mozilla/5.0 (Linux; Android 5.1.1; SM-P605) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Safari/537.36",
1032
+ "expect": {
1033
+ "vendor": "Samsung",
1034
+ "model": "SM-P605",
1035
+ "type": "tablet"
1036
+ }
1037
+ },
1038
+ {
1039
+ "desc": "Samsung SmartTV2011",
1040
+ "ua": "HbbTV/1.1.1 (;;;;;) Maple;2011",
1041
+ "expect": {
1042
+ "vendor": "Samsung",
1043
+ "model": "SmartTV2011",
1044
+ "type": "smarttv"
1045
+ }
1046
+ },
1047
+ {
1048
+ "desc": "Samsung SmartTV2012",
1049
+ "ua": "HbbTV/1.1.1 (;Samsung;SmartTV2012;;;) WebKit",
1050
+ "expect": {
1051
+ "vendor": "Samsung",
1052
+ "model": "SmartTV2012",
1053
+ "type": "smarttv"
1054
+ }
1055
+ },
1056
+ {
1057
+ "desc": "Samsung SmartTV2014",
1058
+ "ua": "HbbTV/1.1.1 (;Samsung;SmartTV2014;T-NT14UDEUC-1060.4;;) WebKit",
1059
+ "expect": {
1060
+ "vendor": "Samsung",
1061
+ "model": "SmartTV2014",
1062
+ "type": "smarttv"
1063
+ }
1064
+ },
1065
+ {
1066
+ "desc": "Samsung SmartTV",
1067
+ "ua": "Mozilla/5.0 (SMART-TV; X11; Linux armv7l) AppleWebkit/537.42 (KHTML, like Gecko) Safari/537.42",
1068
+ "expect": {
1069
+ "vendor": "undefined",
1070
+ "model": "undefined",
1071
+ "type": "smarttv"
1072
+ }
1073
+ },
1074
+ {
1075
+ "desc": "Samsung SmartTV",
1076
+ "ua": "Mozilla/5.0 (SMART-TV; Linux; Tizen 2.3) AppleWebkit/538.1 (KHTML, like Gecko) SamsungBrowser/1.0 TV Safari/538.1",
1077
+ "expect": {
1078
+ "vendor": "Samsung",
1079
+ "model": "undefined",
1080
+ "type": "smarttv"
1081
+ }
1082
+ },
1083
+ {
1084
+ "desc": "Sony G8141 (Xperia XZ Premium)",
1085
+ "ua": "Mozilla/5.0 (Linux; Android 8.0.0; G8141) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.80 Mobile Safari/537.36",
1086
+ "expect": {
1087
+ "vendor": "Sony",
1088
+ "model": "G8141",
1089
+ "type": "mobile"
1090
+ }
1091
+ },
1092
+ {
1093
+ "desc": "Sony C5303 (Xperia SP)",
1094
+ "ua": "Mozilla/5.0 (Linux; Android 4.3; C5303 Build/12.1.A.1.205) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.93 Mobile Safari/537.36",
1095
+ "expect": {
1096
+ "vendor": "Sony",
1097
+ "model": "C5303",
1098
+ "type": "mobile"
1099
+ }
1100
+ },
1101
+ {
1102
+ "desc": "Sony SO-02F (Xperia Z1 F)",
1103
+ "ua": "Mozilla/5.0 (Linux; Android 4.2.2; SO-02F Build/14.1.H.2.119) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.114 Mobile Safari/537.36",
1104
+ "expect": {
1105
+ "vendor": "Sony",
1106
+ "model": "SO-02F",
1107
+ "type": "mobile"
1108
+ }
1109
+ },
1110
+ {
1111
+ "desc": "Sony D6653 (Xperia Z3)",
1112
+ "ua": "Mozilla/5.0 (Linux; Android 4.4; D6653 Build/23.0.A.0.376) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.141 Mobile Safari/537.36",
1113
+ "expect": {
1114
+ "vendor": "Sony",
1115
+ "model": "D6653",
1116
+ "type": "mobile"
1117
+ }
1118
+ },
1119
+ {
1120
+ "desc": "Sony Xperia SOL25 (ZL2)",
1121
+ "ua": "Mozilla/5.0 (Linux; U; Android 4.4; SOL25 Build/17.1.1.C.1.64) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30",
1122
+ "expect": {
1123
+ "vendor": "Sony",
1124
+ "model": "SOL25",
1125
+ "type": "mobile"
1126
+ }
1127
+ },
1128
+ {
1129
+ "desc": "Sony Xperia SP",
1130
+ "ua": "Mozilla/5.0 (Linux; Android 4.3; C5302 Build/12.1.A.1.201) AppleWebkit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.114 Mobile Safari/537.36",
1131
+ "expect": {
1132
+ "vendor": "Sony",
1133
+ "model": "C5302",
1134
+ "type": "mobile"
1135
+ }
1136
+ },
1137
+ {
1138
+ "desc": "Sony Xperia L4",
1139
+ "ua": "Mozilla/5.0 (Linux; Android 9; XQ-AD51) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36",
1140
+ "expect": {
1141
+ "vendor": "Sony",
1142
+ "model": "XQ-AD51",
1143
+ "type": "mobile"
1144
+ }
1145
+ },
1146
+ {
1147
+ "desc": "Sony Xperia 1ii",
1148
+ "ua": "Mozilla/5.0 (Linux; Android 10; XQ-AT51) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Mobile Safari/537.36",
1149
+ "expect": {
1150
+ "vendor": "Sony",
1151
+ "model": "XQ-AT51",
1152
+ "type": "mobile"
1153
+ }
1154
+ },
1155
+ {
1156
+ "desc": "Sony Xperia 10ii",
1157
+ "ua": "Mozilla/5.0 (Linux; Android 10; XQ-AU52) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Mobile Safari/537.36",
1158
+ "expect": {
1159
+ "vendor": "Sony",
1160
+ "model": "XQ-AU52",
1161
+ "type": "mobile"
1162
+ }
1163
+ },
1164
+ {
1165
+ "desc": "Sony Xperia Pro",
1166
+ "ua": "Mozilla/5.0 (Linux; Android 10; XQ-AQ52) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.185 Mobile Safari/537.36",
1167
+ "expect": {
1168
+ "vendor": "Sony",
1169
+ "model": "XQ-AQ52",
1170
+ "type": "mobile"
1171
+ }
1172
+ },
1173
+ {
1174
+ "desc": "Sony SGP521 (Xperia Z2 Tablet)",
1175
+ "ua": "Mozilla/5.0 (Linux; Android 4.4; SGP521 Build/17.1.A.0.432) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.99 Safari/537.36",
1176
+ "expect": {
1177
+ "vendor": "Sony",
1178
+ "model": "Xperia Tablet",
1179
+ "type": "tablet"
1180
+ }
1181
+ },
1182
+ {
1183
+ "desc": "Sony Xperia Z2 Tablet",
1184
+ "ua": "Mozilla/5.0 (Linux; Android 5.1.1; SGP561) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.99 Safari/537.36",
1185
+ "expect": {
1186
+ "vendor": "Sony",
1187
+ "model": "Xperia Tablet",
1188
+ "type": "tablet"
1189
+ }
1190
+ },
1191
+ {
1192
+ "desc": "Sony Tablet S",
1193
+ "ua": "Mozilla/5.0 (Linux; U; Android 3.1; Sony Tablet S Build/THMAS10000) AppleWebKit/534.13 (KHTML, like Gecko) Version/4.0 Safari/534.13",
1194
+ "expect": {
1195
+ "vendor": "Sony",
1196
+ "model": "Xperia Tablet",
1197
+ "type": "tablet"
1198
+ }
1199
+ },
1200
+ {
1201
+ "desc": "Sony Tablet Z LTE",
1202
+ "ua": "Mozilla/5.0 (Linux; U; Android 4.1; SonySGP321 Build/10.2.C.0.143) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30",
1203
+ "expect": {
1204
+ "vendor": "Sony",
1205
+ "model": "Xperia Tablet",
1206
+ "type": "tablet"
1207
+ }
1208
+ },
1209
+ {
1210
+ "desc" : "Tesla",
1211
+ "ua" : "Mozilla/5.0 (X11; GNU/Linux) AppleWebKit/601.1 (KHTML, like Gecko) Tesla QtCarBrowser Safari/601.1",
1212
+ "expect" :
1213
+ {
1214
+ "vendor": "Tesla",
1215
+ "model": "undefined",
1216
+ "type": "embedded"
1217
+ }
1218
+ },
1219
+ {
1220
+ "desc" : "Tesla",
1221
+ "ua" : "Mozilla/5.0 (X11; GNU/Linux) AppleWebKit/537.36 (KHTML, like Gecko) Chromium/79.0.3945.130 Chrome/79.0.3945.130 Safari/537.36 Tesla/2020.16.2.1-e99c70fff409",
1222
+ "expect" :
1223
+ {
1224
+ "vendor": "Tesla",
1225
+ "model": "undefined",
1226
+ "type": "embedded"
1227
+ }
1228
+ },
1229
+ {
1230
+ "desc": "Xiaomi 2013023",
1231
+ "ua": "Mozilla/5.0 (Linux; U; Android 4.2.2; en-US; 2013023 Build/HM2013023) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 UCBrowser/10.0.1.512 U3/0.8.0 Mobile Safari/533.1",
1232
+ "expect": {
1233
+ "vendor": "Xiaomi",
1234
+ "model": "2013023",
1235
+ "type": "mobile"
1236
+ }
1237
+ },
1238
+ {
1239
+ "desc": "Xiaomi Hongmi Note 1W",
1240
+ "ua": "Mozilla/5.0 (Linux; U; Android 4.2.2; zh-CN; HM NOTE 1W Build/JDQ39) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 UCBrowser/9.7.9.439 U3/0.8.0 Mobile Safari/533.1",
1241
+ "expect": {
1242
+ "vendor": "Xiaomi",
1243
+ "model": "HM NOTE 1W",
1244
+ "type": "mobile"
1245
+ }
1246
+ },
1247
+ {
1248
+ "desc": "Xiaomi Mi 3C",
1249
+ "ua": "Mozilla/5.0 (Linux; U; Android 4.3; zh-CN; MI 3C Build/JLS36C) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 UCBrowser/9.7.9.439 U3/0.8.0 Mobile Safari/533.1",
1250
+ "expect": {
1251
+ "vendor": "Xiaomi",
1252
+ "model": "MI 3C",
1253
+ "type": "mobile"
1254
+ }
1255
+ },
1256
+ {
1257
+ "desc": "Xiaomi Mi 5",
1258
+ "ua": "Mozilla/5.0 (Linux; Android 7.0; MI 5 Build/NRD90M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.83 Mobile Safari/537.36",
1259
+ "expect": {
1260
+ "vendor": "Xiaomi",
1261
+ "model": "MI 5",
1262
+ "type": "mobile"
1263
+ }
1264
+ },
1265
+ {
1266
+ "desc": "Xiaomi Mi 6",
1267
+ "ua": "Mozilla/5.0 (Linux; Android 7.1; MI 6 Build/NMF26X; xx-xx) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/59.0.3071.125 Mobile Safari/537.36",
1268
+ "expect": {
1269
+ "vendor": "Xiaomi",
1270
+ "model": "MI 6",
1271
+ "type": "mobile"
1272
+ }
1273
+ },
1274
+ {
1275
+ "desc": "Xiaomi Mi 5s Plus",
1276
+ "ua": "Mozilla/5.0 (Linux; U; Android 6.0.1; zh-cn; MI 5s Plus Build/MXB48T) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/53.0.2785.146 Mobile Safari/537.36 XiaoMi/MiuiBrowser/8.7.1",
1277
+ "expect": {
1278
+ "vendor": "Xiaomi",
1279
+ "model": "MI 5s Plus",
1280
+ "type": "mobile"
1281
+ }
1282
+ },
1283
+ {
1284
+ "desc": "Xiaomi Mi A1",
1285
+ "ua": "Mozilla/5.0 (Linux; Android 8.0.0; Mi A1 Build/OPR1.170623.026) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.111 Mobile Safari/537.36",
1286
+ "expect": {
1287
+ "vendor": "Xiaomi",
1288
+ "model": "Mi A1",
1289
+ "type": "mobile"
1290
+ }
1291
+ },
1292
+ {
1293
+ "desc": "Xiaomi Mi Note",
1294
+ "ua": "Mozilla/5.0 (Linux; Android 4.4.4; MI NOTE LTE Build/KTU84P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.76 Mobile Safari/537.36",
1295
+ "expect": {
1296
+ "vendor": "Xiaomi",
1297
+ "model": "MI NOTE LTE",
1298
+ "type": "mobile"
1299
+ }
1300
+ },
1301
+ {
1302
+ "desc": "Xiaomi Mi One Plus",
1303
+ "ua": "Mozilla/5.0 (Linux; U; Android 4.0.4; en-us; MI-ONE Plus Build/IMM76D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30",
1304
+ "expect": {
1305
+ "vendor": "Xiaomi",
1306
+ "model": "MI-ONE Plus",
1307
+ "type": "mobile"
1308
+ }
1309
+ },
1310
+ {
1311
+ "desc": "Xiaomi MI PAD 2",
1312
+ "ua": "Mozilla/5.0 (Linux; Android 5.1; MI PAD 2 Build/LMY47I; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/60.0.3112.107 Safari/537.36 [FB_IAB/FB4A;FBAV/137.0.0.24.91;]",
1313
+ "expect": {
1314
+ "vendor": "Xiaomi",
1315
+ "model": "MI PAD 2",
1316
+ "type": "tablet"
1317
+ }
1318
+ },
1319
+ {
1320
+ "desc": "Xiaomi MI PAD 4 PLUS",
1321
+ "ua": "Mozilla/5.0 (Linux; Android 8.1; MI PAD 4 PLUS) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36",
1322
+ "expect": {
1323
+ "vendor": "Xiaomi",
1324
+ "model": "MI PAD 4 PLUS",
1325
+ "type": "tablet"
1326
+ }
1327
+ },
1328
+ {
1329
+ "desc": "Xiaomi POCO X2",
1330
+ "ua": "Mozilla/5.0 (Linux; Android 10; POCO X2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.136 Mobile Safari/537.36",
1331
+ "expect": {
1332
+ "vendor": "Xiaomi",
1333
+ "model": "POCO X2",
1334
+ "type": "mobile"
1335
+ }
1336
+ },
1337
+ {
1338
+ "desc": "Xiaomi Redmi 4A",
1339
+ "ua": "Mozilla/5.0 (Linux; Android 6.0; Redmi 4A Build/MMB29M; xx-xx) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/56.0.2924.87 Mobile Safari/537.36",
1340
+ "expect": {
1341
+ "vendor": "Xiaomi",
1342
+ "model": "Redmi 4A",
1343
+ "type": "mobile"
1344
+ }
1345
+ },
1346
+ {
1347
+ "desc": "Xiaomi Redmi K30 5G",
1348
+ "ua": "Mozilla/5.0 (Linux; Android 10; Redmi K30 5G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.96 Mobile Safari/537.36",
1349
+ "expect": {
1350
+ "vendor": "Xiaomi",
1351
+ "model": "Redmi K30 5G",
1352
+ "type": "mobile"
1353
+ }
1354
+ },
1355
+ {
1356
+ "desc": "Xiaomi Redmi K30 Pro",
1357
+ "ua": "Mozilla/5.0 (Linux; Android 10; Redmi K30 Pro) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Mobile Safari/537.36",
1358
+ "expect": {
1359
+ "vendor": "Xiaomi",
1360
+ "model": "Redmi K30 Pro",
1361
+ "type": "mobile"
1362
+ }
1363
+ },
1364
+ {
1365
+ "desc": "Xiaomi Redmi Note 3",
1366
+ "ua": "Mozilla/5.0 (Linux; Android 6.0.1; Redmi Note 3 Build/MMB29M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.116 Mobile Safari/537.36",
1367
+ "expect": {
1368
+ "vendor": "Xiaomi",
1369
+ "model": "Redmi Note 3",
1370
+ "type": "mobile"
1371
+ }
1372
+ },
1373
+ {
1374
+ "desc": "Xiaomi Redmi Note 9 Pro Max",
1375
+ "ua": "Mozilla/5.0 (Linux; Android 10; Redmi Note 9 Pro Max) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.99 Mobile Safari/537.36",
1376
+ "expect": {
1377
+ "vendor": "Xiaomi",
1378
+ "model": "Redmi Note 9 Pro Max",
1379
+ "type": "mobile"
1380
+ }
1381
+ },
1382
+ {
1383
+ "desc": "PlayStation 4",
1384
+ "ua": "Mozilla/5.0 (PlayStation 4 3.00) AppleWebKit/537.73 (KHTML, like Gecko)",
1385
+ "expect": {
1386
+ "vendor": "Sony",
1387
+ "model": "PlayStation 4",
1388
+ "type": "console"
1389
+ }
1390
+ },
1391
+ {
1392
+ "desc": "PlayStation 5",
1393
+ "ua": "Mozilla/5.0 (Playstation; Playstation 5/1.05) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0 Safari/605.1.15",
1394
+ "expect": {
1395
+ "vendor": "Sony",
1396
+ "model": "Playstation 5",
1397
+ "type": "console"
1398
+ }
1399
+ },
1400
+ {
1401
+ "desc": "PlayStation Vita",
1402
+ "ua": "Mozilla/5.0 (PlayStation Vita 3.52) AppleWebKit/537.73 (KHTML, like Gecko) Silk/3.2",
1403
+ "expect": {
1404
+ "vendor": "Sony",
1405
+ "model": "PlayStation Vita",
1406
+ "type": "console"
1407
+ }
1408
+ },
1409
+ {
1410
+ "desc": "Nintendo Switch",
1411
+ "ua": "Mozilla/5.0 (Nintendo Switch; WifiWebAuthApplet) AppleWebKit/606.4 (KHTML, like Gecko) NF/6.0.1.15.4 NintendoBrowser/5.1.0.20393",
1412
+ "expect": {
1413
+ "vendor": "Nintendo",
1414
+ "model": "Switch",
1415
+ "type": "console"
1416
+ }
1417
+ },
1418
+ {
1419
+ "desc": "Nintendo WiiU",
1420
+ "ua": "Mozilla/5.0 (Nintendo WiiU) AppleWebKit/536.30 (KHTML, like Gecko) NX/3.0.4.2.9 NintendoBrowser/4.2.0.11146.EU",
1421
+ "expect": {
1422
+ "vendor": "Nintendo",
1423
+ "model": "WiiU",
1424
+ "type": "console"
1425
+ }
1426
+ },
1427
+ {
1428
+ "desc": "Nintendo Wii",
1429
+ "ua": "Opera/9.10 (Nintendo Wii; U; ; 1621; en)",
1430
+ "expect": {
1431
+ "vendor": "Nintendo",
1432
+ "model": "Wii",
1433
+ "type": "console"
1434
+ }
1435
+ },
1436
+ {
1437
+ "desc": "Nintendo 3DS",
1438
+ "ua": "Mozilla/5.0 (Nintendo 3DS; U; ; en) Version/1.7610.EU",
1439
+ "expect": {
1440
+ "vendor": "Nintendo",
1441
+ "model": "3DS",
1442
+ "type": "console"
1443
+ }
1444
+ },
1445
+ {
1446
+ "desc": "Nintendo 3DS",
1447
+ "ua": "Mozilla/5.0 (New Nintendo 3DS like iPhone) AppleWebKit/536.30 (KHTML, like Gecko) NX/3.0.0.5.15 Mobile NintendoBrowser/1.3.10126.EU",
1448
+ "expect": {
1449
+ "vendor": "Nintendo",
1450
+ "model": "3DS",
1451
+ "type": "console"
1452
+ }
1453
+ },
1454
+ {
1455
+ "desc": "Galaxy Nexus",
1456
+ "ua": "Mozilla/5.0 (Linux; Android 4.0.4; Galaxy Nexus Build/IMM76B) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.133 Mobile Safari/535.19",
1457
+ "expect": {
1458
+ "vendor": "Samsung",
1459
+ "model": "Galaxy Nexus",
1460
+ "type": "mobile"
1461
+ }
1462
+ },
1463
+ {
1464
+ "desc": "Samsung Galaxy C9 Pro",
1465
+ "ua": "Mozilla/5.0 (Linux; Android 6.0; SAMSUNG SM-C900F Build/MMB29M) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/4.2 Chrome/44.0.2403.133 Mobile Safari/537.36",
1466
+ "expect": {
1467
+ "vendor": "Samsung",
1468
+ "model": "SM-C900F",
1469
+ "type": "mobile"
1470
+ }
1471
+ },
1472
+ {
1473
+ "desc": "Samsung Galaxy S5",
1474
+ "ua": "Mozilla/5.0 (Linux; Android 5.0; SM-G900F Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.78 Mobile Safari/537.36",
1475
+ "expect": {
1476
+ "vendor": "Samsung",
1477
+ "model": "SM-G900F",
1478
+ "type": "mobile"
1479
+ }
1480
+ },
1481
+ {
1482
+ "desc": "Samsung Galaxy S6",
1483
+ "ua": "Mozilla/5.0 (Linux; Android 4.4.2; SM-G920I Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.135 Safari/537.36",
1484
+ "expect": {
1485
+ "vendor": "Samsung",
1486
+ "model": "SM-G920I",
1487
+ "type": "mobile"
1488
+ }
1489
+ },
1490
+ {
1491
+ "desc": "Samsung Galaxy S6 Edge",
1492
+ "ua": "Mozilla/5.0 (Linux; Android 4.4.2; SM-G925I Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.135 Safari/537.36",
1493
+ "expect": {
1494
+ "vendor": "Samsung",
1495
+ "model": "SM-G925I",
1496
+ "type": "mobile"
1497
+ }
1498
+ },
1499
+ {
1500
+ "desc": "Samsung Galaxy Note 5 Chrome",
1501
+ "ua": "Mozilla/5.0 (Linux; Android 5.1.1; SM-N920C Build/LMY47X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.91 Mobile Safari/537.36",
1502
+ "expect": {
1503
+ "vendor": "Samsung",
1504
+ "model": "SM-N920C",
1505
+ "type": "mobile"
1506
+ }
1507
+ },
1508
+ {
1509
+ "desc": "Samsung Galaxy Note 5 Samsung Browser",
1510
+ "ua": "Mozilla/5.0 (Linux; Android 5.1.1; SAMSUNG SM-N920C Build/LMY47X) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/4.0 Chrome/44.0.2403.133 Mobile Safari/537.36",
1511
+ "expect": {
1512
+ "vendor": "Samsung",
1513
+ "model": "SM-N920C",
1514
+ "type": "mobile"
1515
+ }
1516
+ },
1517
+ {
1518
+ "desc": "Google Chromecast",
1519
+ "ua": "Mozilla/5.0 (X11; Linux armv7l) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.84 Safari/537.36 CrKey/1.22.79313",
1520
+ "expect": {
1521
+ "vendor": "Google",
1522
+ "model": "Chromecast",
1523
+ "type": "smarttv"
1524
+ }
1525
+ },
1526
+ {
1527
+ "desc": "Google Pixel C",
1528
+ "ua": "Mozilla/5.0 (Linux; Android 7.0; Pixel C Build/NRD90M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/52.0.2743.98 Safari/537.36",
1529
+ "expect": {
1530
+ "vendor": "Google",
1531
+ "model": "Pixel C",
1532
+ "type": "tablet"
1533
+ }
1534
+ },
1535
+ {
1536
+ "desc": "Google Pixel C",
1537
+ "ua": "Mozilla/5.0 (Linux; Android 8.0.0; Pixel C) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.64 Safari/537.36",
1538
+ "expect": {
1539
+ "vendor": "Google",
1540
+ "model": "Pixel C",
1541
+ "type": "tablet"
1542
+ }
1543
+ },
1544
+ {
1545
+ "desc": "Google Pixel",
1546
+ "ua": "Mozilla/5.0 (Linux; Android 7.1; Pixel Build/NDE63V) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.85 Mobile Safari/537.36",
1547
+ "expect": {
1548
+ "vendor": "Google",
1549
+ "model": "Pixel",
1550
+ "type": "mobile"
1551
+ }
1552
+ },
1553
+ {
1554
+ "desc": "Google Pixel XL",
1555
+ "ua": "Mozilla/5.0 (Linux; Android 7.1; Pixel XL Build/NDE63X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.85 Mobile Safari/537.36",
1556
+ "expect": {
1557
+ "vendor": "Google",
1558
+ "model": "Pixel XL",
1559
+ "type": "mobile"
1560
+ }
1561
+ },
1562
+ {
1563
+ "desc": "Google Pixel XL",
1564
+ "ua": "Mozilla/5.0 (Linux; Android 9; Pixel XL) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Mobile Safari/537.36",
1565
+ "expect": {
1566
+ "vendor": "Google",
1567
+ "model": "Pixel XL",
1568
+ "type": "mobile"
1569
+ }
1570
+ },
1571
+ {
1572
+ "desc": "Google Pixel 2",
1573
+ "ua": "Mozilla/5.0 (Linux; Android 8.1.0; Pixel 2 Build/OPM1.171019.013) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.111 Safari/537.36",
1574
+ "expect": {
1575
+ "vendor": "Google",
1576
+ "model": "Pixel 2",
1577
+ "type": "mobile"
1578
+ }
1579
+ },
1580
+ {
1581
+ "desc": "Google Pixel 2 XL",
1582
+ "ua": "Mozilla/5.0 (Linux; Android 8.1.0; Pixel 2 XL Build/OPM1.171019.013) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.111 Safari/537.36",
1583
+ "expect": {
1584
+ "vendor": "Google",
1585
+ "model": "Pixel 2 XL",
1586
+ "type": "mobile"
1587
+ }
1588
+ },
1589
+ {
1590
+ "desc": "Google Pixel 2 XL",
1591
+ "ua": "Mozilla/5.0 (Linux; Android 9; Pixel 2 XL) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Mobile Safari/537.36",
1592
+ "expect": {
1593
+ "vendor": "Google",
1594
+ "model": "Pixel 2 XL",
1595
+ "type": "mobile"
1596
+ }
1597
+ },
1598
+ {
1599
+ "desc": "Google Pixel 3",
1600
+ "ua": "Mozilla/5.0 (Linux; Android 9; Pixel 3 Build/PD1A.180720.030) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Mobile Safari/537.36",
1601
+ "expect": {
1602
+ "vendor": "Google",
1603
+ "model": "Pixel 3",
1604
+ "type": "mobile"
1605
+ }
1606
+ },
1607
+ {
1608
+ "desc": "Google Pixel 3 XL",
1609
+ "ua": "Mozilla/5.0 (Linux; Android 9; Pixel 3 XL Build/PD1A.180720.030) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Mobile Safari/537.36",
1610
+ "expect": {
1611
+ "vendor": "Google",
1612
+ "model": "Pixel 3 XL",
1613
+ "type": "mobile"
1614
+ }
1615
+ },
1616
+ {
1617
+ "desc": "Google Pixel 3 XL",
1618
+ "ua": "Mozilla/5.0 (Linux; Android 9; Pixel 3 XL) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Mobile Safari/537.36",
1619
+ "expect": {
1620
+ "vendor": "Google",
1621
+ "model": "Pixel 3 XL",
1622
+ "type": "mobile"
1623
+ }
1624
+ },
1625
+ {
1626
+ "desc": "Google Pixel 3a",
1627
+ "ua": "Mozilla/5.0 (Linux; Android 10; Pixel 3a) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Mobile Safari/537.36",
1628
+ "expect": {
1629
+ "vendor": "Google",
1630
+ "model": "Pixel 3a",
1631
+ "type": "mobile"
1632
+ }
1633
+ },
1634
+ {
1635
+ "desc": "Google Pixel 3a XL",
1636
+ "ua": "Mozilla/5.0 (Linux; Android 10; Pixel 3a XL) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Mobile Safari/537.36",
1637
+ "expect": {
1638
+ "vendor": "Google",
1639
+ "model": "Pixel 3a XL",
1640
+ "type": "mobile"
1641
+ }
1642
+ },
1643
+ {
1644
+ "desc": "Google Pixel 4",
1645
+ "ua": "Mozilla/5.0 (Linux; Android 10; Pixel 4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Mobile Safari/537.36",
1646
+ "expect": {
1647
+ "vendor": "Google",
1648
+ "model": "Pixel 4",
1649
+ "type": "mobile"
1650
+ }
1651
+ },
1652
+ {
1653
+ "desc": "Google Pixel 4a",
1654
+ "ua": "Mozilla/5.0 (Linux; Android 10; Pixel 4a) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36",
1655
+ "expect": {
1656
+ "vendor": "Google",
1657
+ "model": "Pixel 4a",
1658
+ "type": "mobile"
1659
+ }
1660
+ },
1661
+ {
1662
+ "desc": "Google Pixel 4 XL",
1663
+ "ua": "Mozilla/5.0 (Linux; Android 10; Pixel 4 XL) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Mobile Safari/537.36",
1664
+ "expect": {
1665
+ "vendor": "Google",
1666
+ "model": "Pixel 4 XL",
1667
+ "type": "mobile"
1668
+ }
1669
+ },
1670
+ {
1671
+ "desc": "Google Pixel 5",
1672
+ "ua": "Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.120 Mobile Safari/537.36",
1673
+ "expect": {
1674
+ "vendor": "Google",
1675
+ "model": "Pixel 5",
1676
+ "type": "mobile"
1677
+ }
1678
+ },
1679
+ {
1680
+ "desc": "Generic Android Device",
1681
+ "ua": "Mozilla/5.0 (Linux; U; Android 6.0.1; i980 Build/MRA58K)",
1682
+ "expect": {
1683
+ "vendor": "Generic",
1684
+ "model": "Android 6.0.1"
1685
+ }
1686
+ },
1687
+ {
1688
+ "desc": "Android Phone Unidentified Vendor (docomo F-04K)",
1689
+ "ua": "Mozilla/5.0 (Linux; Android 8.1.0; F-04K Build/V15R060P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.137 Mobile Safari/537.36",
1690
+ "expect": {
1691
+ "model": "F-04K",
1692
+ "type": "mobile"
1693
+ }
1694
+ },
1695
+ {
1696
+ "desc": "Android Phone Unidentified Vendor (docomo SH-02M)",
1697
+ "ua": "Mozilla/5.0 (Linux; Android 9; SH-02M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.136 Mobile Safari/537.36",
1698
+ "expect": {
1699
+ "model": "SH-02M",
1700
+ "type": "mobile"
1701
+ }
1702
+ },
1703
+ {
1704
+ "desc": "Android Tablet Unidentified Vendor (docomo F-02K)",
1705
+ "ua": "Mozilla/5.0 (Linux; Android 8.1.0; F-02K Build/V44R059G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.109 Safari/537.36",
1706
+ "expect": {
1707
+ "model": "F-02K",
1708
+ "type": "tablet"
1709
+ }
1710
+ },
1711
+ {
1712
+ "desc": "Android Tablet Unidentified Vendor (docomo d-02K)",
1713
+ "ua": "Mozilla/5.0 (Linux; Android 9; d-02K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.136 Safari/537.36",
1714
+ "expect": {
1715
+ "model": "d-02K",
1716
+ "type": "tablet"
1717
+ }
1718
+ },
1719
+ {
1720
+ "desc": "LG VK Series Tablet",
1721
+ "ua": "Mozilla/5.0 (Linux; Android 5.0.2; VK700 Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.84 Safari/537.36",
1722
+ "expect": {
1723
+ "vendor": "LG",
1724
+ "model": "VK700",
1725
+ "type": "tablet"
1726
+ }
1727
+ },
1728
+ {
1729
+ "desc": "LG LK Series Tablet",
1730
+ "ua": "Mozilla/5.0 (Linux; Android 5.0.1; LGLK430 Build/LRX21Y) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/38.0.2125.102 Safari/537.36",
1731
+ "expect": {
1732
+ "vendor": "LG",
1733
+ "model": "LK430",
1734
+ "type": "tablet"
1735
+ }
1736
+ },
1737
+ {
1738
+ "desc": "RCA Voyager III Tablet",
1739
+ "ua": "Mozilla/5.0 (Linux; Android 6.0.1; RCT6973W43 Build/MMB29M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36",
1740
+ "expect": {
1741
+ "vendor": "RCA",
1742
+ "model": "RCT6973W43",
1743
+ "type": "tablet"
1744
+ }
1745
+ },
1746
+ {
1747
+ "desc": "RCA Voyager II Tablet",
1748
+ "ua": "Mozilla/5.0 (Linux; Android 5.0; RCT6773W22B Build/LRX21M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36",
1749
+ "expect": {
1750
+ "vendor": "RCA",
1751
+ "model": "RCT6773W22B",
1752
+ "type": "tablet"
1753
+ }
1754
+ },
1755
+ {
1756
+ "desc": "Verizon Quanta Tablet",
1757
+ "ua": "Mozilla/5.0 (Linux; Android 4.4.2; QMV7B Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36",
1758
+ "expect": {
1759
+ "vendor": "Verizon",
1760
+ "model": "QMV7B",
1761
+ "type": "tablet"
1762
+ }
1763
+ },
1764
+ {
1765
+ "desc": "Verizon Ellipsis 8 Tablet",
1766
+ "ua": "Mozilla/5.0 (Linux; Android 5.1.1; QTAQZ3 Build/LMY47V) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36",
1767
+ "expect": {
1768
+ "vendor": "Verizon",
1769
+ "model": "QTAQZ3",
1770
+ "type": "tablet"
1771
+ }
1772
+ },
1773
+ {
1774
+ "desc": "Verizon Ellipsis 8HD Tablet",
1775
+ "ua": "Mozilla/5.0 (Linux; Android 6.0.1; QTASUN1 Build/MMB29M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.81 Safari/537.36",
1776
+ "expect": {
1777
+ "vendor": "Verizon",
1778
+ "model": "QTASUN1",
1779
+ "type": "tablet"
1780
+ }
1781
+ },
1782
+ {
1783
+ "desc": "Dell Venue 8 Tablet",
1784
+ "ua": "Mozilla/5.0 (Linux; Android 4.4.2; Venue 8 3830 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36",
1785
+ "expect": {
1786
+ "vendor": "Dell",
1787
+ "model": "Venue 8 3830",
1788
+ "type": "tablet"
1789
+ }
1790
+ },
1791
+ {
1792
+ "desc": "Dell Venue 7 Tablet",
1793
+ "ua": "Mozilla/5.0 (Linux; Android 4.4.2; Venue 7 3730 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36",
1794
+ "expect": {
1795
+ "vendor": "Dell",
1796
+ "model": "Venue 7 3730",
1797
+ "type": "tablet"
1798
+ }
1799
+ },
1800
+ {
1801
+ "desc": "Barnes & Noble Nook HD+ Tablet",
1802
+ "ua": "Mozilla/5.0 (Linux; U; Android 4.1.2; en-us; Barnes & Noble Nook HD+ Build/JZO54K; CyanogenMod-10) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30",
1803
+ "expect": {
1804
+ "vendor": "Barnes & Noble",
1805
+ "model": "Nook HD+",
1806
+ "type": "tablet"
1807
+ }
1808
+ },
1809
+ {
1810
+ "desc": "Barnes & Noble V400 Tablet",
1811
+ "ua": "Mozilla/5.0 (Linux; Android 4.0.4; BNTV400 Build/IMM76L) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.111 Safari/537.36",
1812
+ "expect": {
1813
+ "vendor": "Barnes & Noble",
1814
+ "model": "V400",
1815
+ "type": "tablet"
1816
+ }
1817
+ },
1818
+ {
1819
+ "desc": "NuVision TM101A540N Tablet",
1820
+ "ua": "Mozilla/5.0 (Linux; Android 5.1; TM101A540N Build/LMY47I; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/50.0.2661.86 Safari/537.36",
1821
+ "expect": {
1822
+ "vendor": "NuVision",
1823
+ "model": "TM101A540N",
1824
+ "type": "tablet"
1825
+ }
1826
+ },
1827
+ {
1828
+ "desc": "ZTE-Z431",
1829
+ "ua": "ZTE-Z431/1.4.0 NetFront/4.2 QTV5.1 Profile/MIDP-2.1 Configuration/CLDC-1.1",
1830
+ "expect": {
1831
+ "vendor": "ZTE",
1832
+ "model": "Z431",
1833
+ "type": "mobile"
1834
+ }
1835
+ },
1836
+ {
1837
+ "desc": "ZTE",
1838
+ "ua": "Mozilla/5.0 (Linux; U; Android 4.1.2; en-us; ZTE-Z740G Build/JZO54K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30",
1839
+ "expect": {
1840
+ "vendor": "ZTE",
1841
+ "model": "Z740G",
1842
+ "type": "mobile"
1843
+ }
1844
+ },
1845
+ {
1846
+ "desc": "ZTE K Series Tablet",
1847
+ "ua": "Mozilla/5.0 (Linux; Android 6.0.1; K88 Build/MMB29M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36",
1848
+ "expect": {
1849
+ "vendor": "ZTE",
1850
+ "model": "K88",
1851
+ "type": "tablet"
1852
+ }
1853
+ },
1854
+ {
1855
+ "desc": "ZTE Nubia Red Magic 3",
1856
+ "ua": "Mozilla/5.0 (Linux; Android 9; NX629J Build/PKQ1.190321.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/45016 Mobile Safari/537.36 MMWEBID/4064 MicroMessenger/7.0.10.1580(0x27000A34) Process/tools NetType/WIFI Language/zh_CN ABI/arm64",
1857
+ "expect": {
1858
+ "vendor": "ZTE",
1859
+ "model": "NX629J",
1860
+ "type": "mobile"
1861
+ }
1862
+ },
1863
+ {
1864
+ "desc": "Swizz GEN610",
1865
+ "ua": "Mozilla/5.0 (Linux; Android 4.4.2; GEN610 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.83 Mobile Safari/537.36",
1866
+ "expect": {
1867
+ "vendor": "Swiss",
1868
+ "model": "GEN610",
1869
+ "type": "mobile"
1870
+ }
1871
+ },
1872
+ {
1873
+ "desc": "Swizz ZUR700",
1874
+ "ua": "Mozilla/5.0 (Linux; Android 4.4.2; ZUR700 Build/KVT49L) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.96 Safari/537.36",
1875
+ "expect": {
1876
+ "vendor": "Swiss",
1877
+ "model": "ZUR700",
1878
+ "type": "tablet"
1879
+ }
1880
+ },
1881
+ {
1882
+ "desc": "Zeki TB782b Tablet",
1883
+ "ua": "Mozilla/5.0 (Linux; U; Android 4.0.4; en-US; TB782B Build/IMM76D) AppleWebKit/534.31 (KHTML, like Gecko) UCBrowser/9.0.2.299 U3/0.8.0 Mobile Safari/534.31",
1884
+ "expect": {
1885
+ "vendor": "Zeki",
1886
+ "model": "TB782B",
1887
+ "type": "tablet"
1888
+ }
1889
+ },
1890
+ {
1891
+ "desc": "Dragon Touch Tablet",
1892
+ "ua": "Mozilla/5.0 (Linux; Android 4.0.4; DT9138B Build/IMM76D) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.72 Mobile Safari/537.36",
1893
+ "expect": {
1894
+ "vendor": "Dragon Touch",
1895
+ "model": "9138B",
1896
+ "type": "tablet"
1897
+ }
1898
+ },
1899
+ {
1900
+ "desc": "Insignia Tablet",
1901
+ "ua": "Mozilla/5.0 (Linux; U; Android 6.0.1; NS-P08A7100 Build/MMB29M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/56.0.2924.87 Safari/537.36",
1902
+ "expect": {
1903
+ "vendor": "Insignia",
1904
+ "model": "NS-P08A7100",
1905
+ "type": "tablet"
1906
+ }
1907
+ },
1908
+ {
1909
+ "desc": "Voice Xtreme V75",
1910
+ "ua": "Mozilla/5.0 (Linux; U; Android 4.2.1; en-us; V75 Build/JOP40D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30",
1911
+ "expect": {
1912
+ "vendor": "Voice",
1913
+ "model": "V75",
1914
+ "type": "mobile"
1915
+ }
1916
+ },
1917
+ {
1918
+ "desc": "LvTel V11",
1919
+ "ua": "Mozilla/5.0 (Linux; Android 5.1.1; V11 Build/LMY47V) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/39.0.0.0 Safari/537.36",
1920
+ "expect": {
1921
+ "vendor": "LvTel",
1922
+ "model": "V11",
1923
+ "type": "mobile"
1924
+ }
1925
+ },
1926
+ {
1927
+ "desc": "Envizen Tablet V100MD",
1928
+ "ua": "Mozilla/5.0 (Linux; U; Android 4.1.1; en-us; V100MD Build/V100MD.20130816) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30",
1929
+ "expect": {
1930
+ "vendor": "Envizen",
1931
+ "model": "V100MD",
1932
+ "type": "tablet"
1933
+ }
1934
+ },
1935
+ {
1936
+ "desc": "Rotor Tablet",
1937
+ "ua": "mozilla/5.0 (linux; android 5.0.1; tu_1491 build/lrx22c) applewebkit/537.36 (khtml, like gecko) chrome/43.0.2357.93 safari/537.36",
1938
+ "expect": {
1939
+ "vendor": "Rotor",
1940
+ "model": "1491",
1941
+ "type": "tablet"
1942
+ }
1943
+ },
1944
+ {
1945
+ "desc": "MachSpeed Tablets",
1946
+ "ua": "Mozilla/5.0 (Linux; Android 4.4.2; Trio 7.85 vQ Build/Trio_7.85_vQ) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Safari/537.36",
1947
+ "expect": {
1948
+ "vendor": "MachSpeed",
1949
+ "model": "Trio 7.85 vQ",
1950
+ "type": "tablet"
1951
+ }
1952
+ },
1953
+ {
1954
+ "desc": "Trinity Tablets",
1955
+ "ua": "Mozilla/5.0 (Linux; Android 5.0.1; Trinity T101 Build/LRX22C) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.83 Safari/537.36",
1956
+ "expect": {
1957
+ "vendor": "Trinity",
1958
+ "model": "T101",
1959
+ "type": "tablet"
1960
+ }
1961
+ },
1962
+ {
1963
+ "desc": "NextBook Next7",
1964
+ "ua": "Mozilla/5.0 (Linux; U; Android 4.0.4; en-us; Next7P12 Build/IMM76I) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30",
1965
+ "expect": {
1966
+ "vendor": "NextBook",
1967
+ "model": "Next7P12",
1968
+ "type": "tablet"
1969
+ }
1970
+ },
1971
+ {
1972
+ "desc": "NextBook Tablets",
1973
+ "ua": "Mozilla/5.0 (Linux; Android 5.0; NXA8QC116 Build/LRX21V) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36",
1974
+ "expect": {
1975
+ "vendor": "NextBook",
1976
+ "model": "NXA8QC116",
1977
+ "type": "tablet"
1978
+ }
1979
+ },
1980
+ {
1981
+ "desc": "Le Pan Tablets",
1982
+ "ua": "Mozilla/5.0 (Linux; Android 4.2.2; Le Pan TC802A Build/JDQ39) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36",
1983
+ "expect": {
1984
+ "vendor": "Le Pan",
1985
+ "model": "TC802A",
1986
+ "type": "tablet"
1987
+ }
1988
+ },
1989
+ {
1990
+ "desc": "Le Pan Tablets",
1991
+ "ua": "Mozilla/5.0 (Linux; Android 4.2.2; Le Pan TC802A Build/JDQ39) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36",
1992
+ "expect": {
1993
+ "vendor": "Le Pan",
1994
+ "model": "TC802A",
1995
+ "type": "tablet"
1996
+ }
1997
+ },
1998
+ {
1999
+ "desc": "Amazon Alexa Echo Show",
2000
+ "ua": "AlexaWebMediaPlayer/1.0.200641.0 (Linux;Android 5.1.1)",
2001
+ "expect": {
2002
+ "vendor": "Amazon",
2003
+ "model": "Alexa",
2004
+ "type": "tablet"
2005
+ }
2006
+ },
2007
+ {
2008
+ "desc": "Amazon Kindle Fire Tablet",
2009
+ "ua": "Mozilla/5.0 (Linux; U; Android 4.4.3; en-us; KFSAWI Build/KTU84M) AppleWebKit/537.36 (KHTML, like Gecko) Silk/3.66 like Chrome/39.0.2171.93 Safari/537.36",
2010
+ "expect": {
2011
+ "vendor": "Amazon",
2012
+ "model": "KFSAWI",
2013
+ "type": "tablet"
2014
+ }
2015
+ },
2016
+ {
2017
+ "desc": "Amazon Kindle Fire Tablet",
2018
+ "ua": "Mozilla/5.0 (Linux; U; Android 4.4.3; en-us; KFSAWI) AppleWebKit/537.36 (KHTML, like Gecko) Silk/3.66 like Chrome/39.0.2171.93 Safari/537.36",
2019
+ "expect": {
2020
+ "vendor": "Amazon",
2021
+ "model": "KFSAWI",
2022
+ "type": "tablet"
2023
+ }
2024
+ },
2025
+ {
2026
+ "desc": "Amazon Kindle Fire Tablet",
2027
+ "ua": "Mozilla/5.0 (Linux; Android 9; KFMAWI Build/PS7312; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/70.0.3538.110 Safari/537.36",
2028
+ "expect": {
2029
+ "vendor": "Amazon",
2030
+ "model": "KFMAWI",
2031
+ "type": "tablet"
2032
+ }
2033
+ },
2034
+ {
2035
+ "desc": "Amazon Fire TV",
2036
+ "ua": "Mozilla/5.0 (Linux; Android 4.2.2; AFTB Build/JDQ39) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.173 Mobile Safari/537.22",
2037
+ "expect": {
2038
+ "vendor": "Amazon",
2039
+ "model": "B",
2040
+ "type": "smarttv"
2041
+ }
2042
+ },
2043
+ {
2044
+ "desc": "Amazon Fire TV",
2045
+ "ua": "Mozilla/5.0 (Linux; Android 5.1.1; AFTT) AppleWebKit/537.36 (KHTML, like Gecko) Silk/86.3.20 like Chrome/86.0.4240.198 Safari/537.36",
2046
+ "expect": {
2047
+ "vendor": "Amazon",
2048
+ "model": "T",
2049
+ "type": "smarttv"
2050
+ }
2051
+ },
2052
+ {
2053
+ "desc": "Android TV",
2054
+ "ua": "Mozilla/5.0 (Linux; Android 10; 2020/2021 UHD Android TV Build/QTG3.201102.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) version/4.0 Chrome/83.0.4103.101 Mobile Safari/537.36",
2055
+ "expect": {
2056
+ "vendor": "undefined",
2057
+ "model": "undefined",
2058
+ "type": "smarttv"
2059
+ }
2060
+ },
2061
+ {
2062
+ "desc": "Gigaset Tablet",
2063
+ "ua": "Mozilla/5.0 (Linux; Android 4.2.2; Gigaset QV830 Build/JDQ39) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36",
2064
+ "expect": {
2065
+ "vendor": "Gigaset",
2066
+ "model": "QV830",
2067
+ "type": "tablet"
2068
+ }
2069
+ },
2070
+ {
2071
+ "desc": "HUAWEI MediaPad M3 Lite 10",
2072
+ "ua": "Mozilla/5.0 (Linux; Android 7.0; BAH-L09) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.80 Safari/537.36",
2073
+ "expect": {
2074
+ "vendor": "Huawei",
2075
+ "model": "BAH-L09",
2076
+ "type": "tablet"
2077
+ }
2078
+ },
2079
+ {
2080
+ "desc": "HUAWEI MediaPad M5 Lite",
2081
+ "ua": "Mozilla/5.0 (Linux; Android 8.0.0; BAH2-W19 Build/HUAWEIBAH2-W19; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/83.0.4103.106 Safari/537.36",
2082
+ "expect": {
2083
+ "vendor": "Huawei",
2084
+ "model": "BAH2-W19",
2085
+ "type": "tablet"
2086
+ }
2087
+ },
2088
+ {
2089
+ "desc": "HUAWEI MediaPad M5",
2090
+ "ua": "Mozilla/5.0 (Linux; Android 9; SHT-AL09 Build/HUAWEISHT-AL09; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/89.0.4389.90 Mobile Safari/537.36",
2091
+ "expect": {
2092
+ "vendor": "Huawei",
2093
+ "model": "SHT-AL09",
2094
+ "type": "tablet"
2095
+ }
2096
+ },
2097
+ {
2098
+ "desc": "HUAWEI MediaPad T5",
2099
+ "ua": "Mozilla/5.0 (Linux; Android 8.0.0; AGS2-L09 Build/HUAWEIAGS2-L09; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/84.0.4147.125 Safari/537.36",
2100
+ "expect": {
2101
+ "vendor": "Huawei",
2102
+ "model": "AGS2-L09",
2103
+ "type": "tablet"
2104
+ }
2105
+ },
2106
+ {
2107
+ "desc": "HUAWEI MediaPad T10",
2108
+ "ua": "Mozilla/5.0 (Linux; Android 10; AGR-W09 Build/HUAWEIAGR-W09; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/78.0.3904.108 Safari/537.36",
2109
+ "expect": {
2110
+ "vendor": "Huawei",
2111
+ "model": "AGR-W09",
2112
+ "type": "tablet"
2113
+ }
2114
+ },
2115
+ {
2116
+ "desc": "HUAWEI MediaPad T10s",
2117
+ "ua": "Mozilla/5.0 (Linux; Android 10; AGS3-W09 Build/HUAWEIAGS3-W09; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/78.0.3904.108 Safari/537.36",
2118
+ "expect": {
2119
+ "vendor": "Huawei",
2120
+ "model": "AGS3-W09",
2121
+ "type": "tablet"
2122
+ }
2123
+ },
2124
+ {
2125
+ "desc": "Huawei MatePad T 10",
2126
+ "ua": "Mozilla/5.0 (Linux; Android 10; AGR-L09; HMSCore 5.0.4.301) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 HuaweiBrowser/11.0.3.304 Safari/537.36",
2127
+ "expect": {
2128
+ "vendor": "Huawei",
2129
+ "model": "AGR-L09",
2130
+ "type": "tablet"
2131
+ }
2132
+ },
2133
+ {
2134
+ "desc": "Huawei Mate 10 Pro",
2135
+ "ua": "Mozilla/5.0 (Linux; Android 8.0; BLA-L29 Build/HUAWEIBLA-L29) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3236.6 Mobile Safari/537.36",
2136
+ "expect": {
2137
+ "vendor": "Huawei",
2138
+ "model": "BLA-L29",
2139
+ "type": "mobile"
2140
+ }
2141
+ },
2142
+ {
2143
+ "desc": "Huawei Mate X",
2144
+ "ua": "Mozilla/5.0 (Linux; Android 9; TAH-AN00) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.111 Safari/537.36",
2145
+ "expect": {
2146
+ "vendor": "Huawei",
2147
+ "model": "TAH-AN00",
2148
+ "type": "mobile"
2149
+ }
2150
+ },
2151
+ {
2152
+ "desc": "Huawei Mate X2",
2153
+ "ua": "Mozilla/5.0 (Linux; Android 10; TET-AN00) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.96 Mobile Safari/537.36",
2154
+ "expect": {
2155
+ "vendor": "Huawei",
2156
+ "model": "TET-AN00",
2157
+ "type": "mobile"
2158
+ }
2159
+ },
2160
+ {
2161
+ "desc": "Huawei Mate 20 X",
2162
+ "ua": "Mozilla/5.0 (Linux; Android 9; EVR-L29 Build/HUAWEIEVR-L29; xx-xx) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/70.0.3538.110 Mobile Safari/537.36",
2163
+ "expect": {
2164
+ "vendor": "Huawei",
2165
+ "model": "EVR-L29",
2166
+ "type": "mobile"
2167
+ }
2168
+ },
2169
+ {
2170
+ "desc": "Huawei Mate 20 Pro",
2171
+ "ua": "Mozilla/5.0 (Linux; Android 9; LYA-L09) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.90 Mobile Safari/537.36",
2172
+ "expect": {
2173
+ "vendor": "Huawei",
2174
+ "model": "LYA-L09",
2175
+ "type": "mobile"
2176
+ }
2177
+ },
2178
+ {
2179
+ "desc": "Huawei Mate 20 Pro",
2180
+ "ua": "Mozilla/5.0 (Linux; Android 9; LYA-AL00) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.90 Mobile Safari/537.36",
2181
+ "expect": {
2182
+ "vendor": "Huawei",
2183
+ "model": "LYA-AL00",
2184
+ "type": "mobile"
2185
+ }
2186
+ },
2187
+ {
2188
+ "desc": "Huawei P20 Lite",
2189
+ "ua": "Mozilla/5.0 (Linux; Android 8.0.0; ANE-LX1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.143 Mobile Safari/537.36",
2190
+ "expect": {
2191
+ "vendor": "Huawei",
2192
+ "model": "ANE-LX1",
2193
+ "type": "mobile"
2194
+ }
2195
+ },
2196
+ {
2197
+ "desc": "Huawei P20",
2198
+ "ua": "Mozilla/5.0 (Linux; Android 8.1.0; EML-L29) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.157 Mobile Safari/537.36",
2199
+ "expect": {
2200
+ "vendor": "Huawei",
2201
+ "model": "EML-L29",
2202
+ "type": "mobile"
2203
+ }
2204
+ },
2205
+ {
2206
+ "desc": "Huawei P20 Pro",
2207
+ "ua": "Mozilla/5.0 (Linux; Android 9; CLT-L29) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.90 Mobile Safari/537.36",
2208
+ "expect": {
2209
+ "vendor": "Huawei",
2210
+ "model": "CLT-L29",
2211
+ "type": "mobile"
2212
+ }
2213
+ },
2214
+ {
2215
+ "desc": "Huawei P30",
2216
+ "ua": "Mozilla/5.0 (Linux; Android 9; ELE-L29) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.90 Mobile Safari/537.36",
2217
+ "expect": {
2218
+ "vendor": "Huawei",
2219
+ "model": "ELE-L29",
2220
+ "type": "mobile"
2221
+ }
2222
+ },
2223
+ {
2224
+ "desc": "Huawei P30 Pro",
2225
+ "ua": "Mozilla/5.0 (Linux; Android 9; VOG-L29) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.143 Mobile Safari/537.36",
2226
+ "expect": {
2227
+ "vendor": "Huawei",
2228
+ "model": "VOG-L29",
2229
+ "type": "mobile"
2230
+ }
2231
+ },
2232
+ {
2233
+ "desc": "Huawei P40",
2234
+ "ua": "Mozilla/5.0 (Linux; Android 10; ANA-AN00 Build/HUAWEIANA-AN00; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/76.0.3809.89 Mobile Safari/537.36 T7/11.26 SP-engine/2.22.0 baiduboxapp/11.26.0.10 (Baidu; P1 10) NABar/1.0",
2235
+ "expect": {
2236
+ "vendor": "Huawei",
2237
+ "model": "ANA-AN00",
2238
+ "type": "mobile"
2239
+ }
2240
+ },
2241
+ {
2242
+ "desc": "Huawei P40 Pro",
2243
+ "ua": "Mozilla/5.0 (Linux; Android 10; ELS-AN00 Build/HUAWEIELS-AN00; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/78.0.3904.108 Mobile Safari/537.36 mailapp/6.0.0",
2244
+ "expect": {
2245
+ "vendor": "Huawei",
2246
+ "model": "ELS-AN00",
2247
+ "type": "mobile"
2248
+ }
2249
+ },
2250
+ {
2251
+ "desc": "Huawei 30 Pro+",
2252
+ "ua": "Mozilla/5.0 (Linux; Android 10; EBG-AN10 Build/HUAWEIEBG-AN10) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.86 Mobile Safari/537.36 EdgA/42.0.0.2741",
2253
+ "expect": {
2254
+ "vendor": "Huawei",
2255
+ "model": "EBG-AN10",
2256
+ "type": "mobile"
2257
+ }
2258
+ },
2259
+ {
2260
+ "desc": "Huawei 30S",
2261
+ "ua": "Mozilla/5.0 (Linux; Android 10; CDY-AN90 Build/HUAWEICDY-AN90; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/78.0.3904.108 Mobile Safari/537.36 mailapp/5.8.0",
2262
+ "expect": {
2263
+ "vendor": "Huawei",
2264
+ "model": "CDY-AN90",
2265
+ "type": "mobile"
2266
+ }
2267
+ },
2268
+ {
2269
+ "desc": "Huawei Enjoy10e",
2270
+ "ua": "Dalvik/2.1.0 (Linux; U; Android 10; MED-AL00 Build/HUAWEIMED-AL00)",
2271
+ "expect": {
2272
+ "vendor": "Huawei",
2273
+ "model": "MED-AL00",
2274
+ "type": "mobile"
2275
+ }
2276
+ },
2277
+ {
2278
+ "desc": "Amazon Fire 7",
2279
+ "ua": "Mozilla/5.0 (Linux; Android 5.1.1; KFAUWI) AppleWebKit/537.36 (KHTML, like Gecko) Silk/80.5.3 like Chrome/80.0.3987.162 Safari/537.36",
2280
+ "expect": {
2281
+ "vendor": "Amazon",
2282
+ "model": "KFAUWI",
2283
+ "type": "tablet"
2284
+ }
2285
+ },
2286
+ {
2287
+ "desc": "AT&T Radiant Core U304AA",
2288
+ "ua": "Dalvik/2.1.0 (Linux; U; Android 9; U304AA Build/P00610)",
2289
+ "expect": {
2290
+ "vendor": "AT&T",
2291
+ "model": "U304AA",
2292
+ "type": "mobile"
2293
+ }
2294
+ },
2295
+ {
2296
+ "desc": "Vodafone Smart Tab 4G",
2297
+ "ua": "Mozilla/5.0 (Linux; Android 4.4.4; Vodafone Smart Tab 4G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36",
2298
+ "expect": {
2299
+ "vendor": "Vodafone",
2300
+ "model": "Smart Tab 4G",
2301
+ "type": "tablet"
2302
+ }
2303
+ },
2304
+ {
2305
+ "desc": "Vodafone Smart ultra 6",
2306
+ "ua": "Mozilla/5.0 (Linux; Android 5.0.2; Vodafone Smart ultra 6 Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.133 Mobile Safari/537.36",
2307
+ "expect": {
2308
+ "vendor": "Vodafone",
2309
+ "model": "Smart ultra 6",
2310
+ "type": "tablet"
2311
+ }
2312
+ },
2313
+ {
2314
+ "desc": "4ife 4K Smart TV Box",
2315
+ "ua": "Mozilla/5.0 (Linux; Android 4.4.2; 4ife 4K Smart TV Box Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Safari/537.36 Vinebre",
2316
+ "expect": {
2317
+ "vendor": "undefined",
2318
+ "model": "undefined",
2319
+ "type": "smarttv"
2320
+ }
2321
+ },
2322
+ {
2323
+ "desc": "FaceBook Mobile App",
2324
+ "ua": "[FBAN/FBIOS;FBAV/283.0.0.44.117;FBBV/238386386;FBDV/iPhone12,1;FBMD/iPhone;FBSN/iOS;FBSV/13.6.1;FBSS/2;FBID/phone;FBLC/en_US;FBOP/5;FBRV/240127608]",
2325
+ "expect": {
2326
+ "type": "mobile"
2327
+ }
2328
+ },
2329
+ {
2330
+ "desc": "Issue #454",
2331
+ "ua": "Mosamzilla/5.0 (Windows; U; Win98; en-US; rv:1.7.5) Gecko/20050603 Netscape/8.0.2",
2332
+ "expect": {
2333
+ "vendor": "undefined",
2334
+ "model": "undefined",
2335
+ "type": "undefined"
2336
+ }
2337
+ },
2338
+ {
2339
+ "desc": "Alcatel",
2340
+ "ua": "Mozilla/5.0 (Linux; Android 4.4.2; ALCATEL A564C Build/KVT49L) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.133 Mobile Safari/537.36",
2341
+ "expect": {
2342
+ "vendor": "ALCATEL",
2343
+ "model": "A564C",
2344
+ "type": "mobile"
2345
+ }
2346
+ },
2347
+ {
2348
+ "desc": "Alcatel Go Flip",
2349
+ "ua": "Mozilla/5.0 (Mobile; ALCATEL4044T; rv:37.0) Gecko/37.0 Firefox/37.0 KaiOS/1.0",
2350
+ "expect": {
2351
+ "vendor": "ALCATEL",
2352
+ "model": "4044T",
2353
+ "type": "mobile"
2354
+ }
2355
+ },
2356
+ {
2357
+ "desc": "Jolla",
2358
+ "ua": "Mozilla/5.0 (Maemo; Linux; U; Jolla; Sailfish; Mobile; rv:31.0) Gecko/31.0 Firefox/31.0 SailfishBrowser/1.0",
2359
+ "expect": {
2360
+ "vendor": "Jolla",
2361
+ "model": "undefined",
2362
+ "type": "mobile"
2363
+ }
2364
+ },
2365
+ {
2366
+ "desc": "Xbox One",
2367
+ "ua": "Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; Xbox; Xbox One)",
2368
+ "expect": {
2369
+ "vendor": "Microsoft",
2370
+ "model": "Xbox One",
2371
+ "type": "console"
2372
+ }
2373
+ },
2374
+ {
2375
+ "desc": "Xbox",
2376
+ "ua": "Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0; Xbox)",
2377
+ "expect": {
2378
+ "vendor": "Microsoft",
2379
+ "model": "Xbox",
2380
+ "type": "console"
2381
+ }
2382
+ },
2383
+ {
2384
+ "desc": "Nvidia Shield Tablet",
2385
+ "ua": "Mozilla/5.0 (Linux; Android 5.1.1; SHIELD Tablet Build/LVY48E; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/45.0.2454.19 Safari/537.36",
2386
+ "expect": {
2387
+ "vendor": "Nvidia",
2388
+ "model": "SHIELD Tablet",
2389
+ "type": "tablet"
2390
+ }
2391
+ },
2392
+ {
2393
+ "desc": "Ouya",
2394
+ "ua": "Mozilla/5.0 (Linux; Android 4.1.2; OUYA Console Build/JZO54L-OUYA) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36",
2395
+ "expect": {
2396
+ "vendor": "OUYA",
2397
+ "model": "undefined",
2398
+ "type": "console"
2399
+ }
2400
+ },
2401
+ {
2402
+ "desc": "Vivo Y52s",
2403
+ "ua": "Mozilla/5.0 (Linux; Android 10; V2057A Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/76.0.3809.89 Mobile Safari/537.36 T7/12.10 SP-engine/2.28.0 baiduboxapp/12.10.0.10 (Baidu; P1 10) NABar/1.0",
2404
+ "expect": {
2405
+ "vendor": "Vivo",
2406
+ "model": "V2057A",
2407
+ "type": "mobile"
2408
+ }
2409
+ },
2410
+ {
2411
+ "desc": "Vivo X60",
2412
+ "ua": "Mozilla/5.0 (Linux; Android 11; V2046A; wv) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.84 Mobile Safari/537.36 VivoBrowser/8.8.71.0",
2413
+ "expect": {
2414
+ "vendor": "Vivo",
2415
+ "model": "V2046A",
2416
+ "type": "mobile"
2417
+ }
2418
+ },
2419
+ {
2420
+ "desc": "Vivo Y79A",
2421
+ "ua": "Mozilla/5.0 (Linux; Android 7.1.2; vivo Y79A Build/N2G47H; wv) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.84 Mobile Safari/537.36 VivoBrowser/9.0.14.0",
2422
+ "expect": {
2423
+ "vendor": "Vivo",
2424
+ "model": "Y79A",
2425
+ "type": "mobile"
2426
+ }
2427
+ },
2428
+ {
2429
+ "desc": "Vivo Y97",
2430
+ "ua": "Mozilla/5.0 (Linux; Android 8.1.0; V1813T Build/O11019; wv) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.84 Mobile Safari/537.36 VivoBrowser/9.0.14.0",
2431
+ "expect": {
2432
+ "vendor": "Vivo",
2433
+ "model": "V1813T",
2434
+ "type": "mobile"
2435
+ }
2436
+ },
2437
+ {
2438
+ "desc": "Vivo iQOO Pro",
2439
+ "ua": "Mozilla/5.0 (Linux; Android 11; V1916A; wv) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.84 Mobile Safari/537.36 VivoBrowser/9.1.10.6",
2440
+ "expect": {
2441
+ "vendor": "Vivo",
2442
+ "model": "V1916A",
2443
+ "type": "mobile"
2444
+ }
2445
+ }
2446
+ ]