diff --git a/lib/regexps.js b/lib/regexps.js index 6f66ffe..57c29c8 100644 --- a/lib/regexps.js +++ b/lib/regexps.js @@ -107,7 +107,7 @@ parser[3] = 0; parser[4] = 0; exports.browser[11] = parser; parser = Object.create(null); -parser[0] = new RegExp("(1470\\.net crawler|50\\.nu|8bo Crawler Bot|Aboundex|Accoona-[A-z]+-Agent|AdsBot-Google(?:-[a-z]+)?|altavista|AppEngine-Google|archive.*?\\.org_bot|archiver|Ask Jeeves|[Bb]ai[Dd]u[Ss]pider(?:-[A-Za-z]+)*|bingbot|BingPreview|blitzbot|BlogBridge|BoardReader(?: [A-Za-z]+)*|boitho.com-dc|BotSeer|\\b\\w*favicon\\w*\\b|\\bYeti(?:-[a-z]+)?|Catchpoint bot|[Cc]harlotte|Checklinks|clumboot|Comodo HTTP\\(S\\) Crawler|Comodo-Webinspector-Crawler|ConveraCrawler|CRAWL-E|CrawlConvera|Daumoa(?:-feedfetcher)?|Feed Seeker Bot|findlinks|Flamingo_SearchEngine|FollowSite Bot|furlbot|Genieo|gigabot|GomezAgent|gonzo1|(?:[a-zA-Z]+-)?Googlebot(?:-[a-zA-Z]+)?|Google SketchUp|grub-client|gsa-crawler|heritrix|HiddenMarket|holmes|HooWWWer|htdig|ia_archiver|ICC-Crawler|Icarus6j|ichiro(?:/mobile)?|IconSurf|IlTrovatore(?:-Setaccio)?|InfuzApp|Innovazion Crawler|InternetArchive|IP2[a-z]+Bot|jbot\\b|KaloogaBot|Kraken|Kurzor|larbin|LEIA|LesnikBot|Linguee Bot|LinkAider|LinkedInBot|Lite Bot|Llaut|lycos|Mail\\.RU_Bot|masidani_bot|Mediapartners-Google|Microsoft .*? Bot|mogimogi|mozDex|MJ12bot|msnbot(?:-media *)?|msrbot|netresearch|Netvibes|NewsGator[^/]*|^NING|Nutch[^/]*|Nymesis|ObjectsSearch|Orbiter|OOZBOT|PagePeeker|PagesInventory|PaxleFramework|Peeplo Screenshot Bot|PlantyNet_WebRobot|Pompos|Read%20Later|Reaper|RedCarpet|Retreiver|Riddler|Rival IQ|scooter|Scrapy|Scrubby|searchsight|seekbot|semanticdiscovery|Simpy|SimplePie|SEOstats|SimpleRSS|SiteCon|Slackbot-LinkExpanding|Slack-ImgProxy|Slurp|snappy|Speedy Spider|Squrl Java|TheUsefulbot|ThumbShotsBot|Thumbshots\\.ru|TwitterBot|URL2PNG|Vagabondo|VoilaBot|^vortex|Votay bot|^voyager|WASALive.Bot|Web-sniffer|WebThumb|WeSEE:[A-z]+|WhatWeb|WIRE|WordPress|Wotbox|www\\.almaden\\.ibm\\.com|Xenu(?:.s)? Link Sleuth|Xerka [A-z]+Bot|yacy(?:bot)?|Yahoo[a-z]*Seeker|Yahoo! Slurp|Yandex\\w+|YodaoBot(?:-[A-z]+)?|YottaaMonitor|Yowedo|^Zao|^Zao-Crawler|ZeBot_www\\.ze\\.bz|ZooShot|ZyBorg)(?:[ /]v?(\\d+)(?:\\.(\\d+)(?:\\.(\\d+))?)?)?"); +parser[0] = new RegExp("(1470\\.net crawler|50\\.nu|8bo Crawler Bot|Aboundex|Accoona-[A-z]+-Agent|AdsBot-Google(?:-[a-z]+)?|altavista|AppEngine-Google|archive.*?\\.org_bot|archiver|Ask Jeeves|[Bb]ai[Dd]u[Ss]pider(?:-[A-Za-z]+)*|bingbot|BingPreview|blitzbot|BlogBridge|BoardReader(?: [A-Za-z]+)*|boitho.com-dc|BotSeer|\\b\\w*favicon\\w*\\b|\\bYeti(?:-[a-z]+)?|Catchpoint bot|[Cc]harlotte|Checklinks|clumboot|Comodo HTTP\\(S\\) Crawler|Comodo-Webinspector-Crawler|ConveraCrawler|CRAWL-E|CrawlConvera|Daumoa(?:-feedfetcher)?|Feed Seeker Bot|findlinks|Flamingo_SearchEngine|FollowSite Bot|furlbot|Genieo|gigabot|GomezAgent|gonzo1|(?:[a-zA-Z]+-)?Googlebot(?:-[a-zA-Z]+)?|Google SketchUp|grub-client|gsa-crawler|heritrix|HiddenMarket|holmes|HooWWWer|htdig|ia_archiver|ICC-Crawler|Icarus6j|ichiro(?:/mobile)?|IconSurf|IlTrovatore(?:-Setaccio)?|InfuzApp|Innovazion Crawler|InternetArchive|IP2[a-z]+Bot|jbot\\b|KaloogaBot|Kraken|Kurzor|larbin|LEIA|LesnikBot|Linguee Bot|LinkAider|LinkedInBot|Lite Bot|Llaut|lycos|Mail\\.RU_Bot|masscan|masidani_bot|Mediapartners-Google|Microsoft .*? Bot|mogimogi|mozDex|MJ12bot|msnbot(?:-media *)?|msrbot|netresearch|Netvibes|NewsGator[^/]*|^NING|Nutch[^/]*|Nymesis|ObjectsSearch|Orbiter|OOZBOT|PagePeeker|PagesInventory|PaxleFramework|Peeplo Screenshot Bot|PlantyNet_WebRobot|Pompos|Read%20Later|Reaper|RedCarpet|Retreiver|Riddler|Rival IQ|scooter|Scrapy|Scrubby|searchsight|seekbot|semanticdiscovery|Simpy|SimplePie|SEOstats|SimpleRSS|SiteCon|Slackbot-LinkExpanding|Slack-ImgProxy|Slurp|snappy|Speedy Spider|Squrl Java|TheUsefulbot|ThumbShotsBot|Thumbshots\\.ru|TwitterBot|WhatsApp|URL2PNG|Vagabondo|VoilaBot|^vortex|Votay bot|^voyager|WASALive.Bot|Web-sniffer|WebThumb|WeSEE:[A-z]+|WhatWeb|WIRE|WordPress|Wotbox|www\\.almaden\\.ibm\\.com|Xenu(?:.s)? Link Sleuth|Xerka [A-z]+Bot|yacy(?:bot)?|Yahoo[a-z]*Seeker|Yahoo! Slurp|Yandex\\w+|YodaoBot(?:-[A-z]+)?|YottaaMonitor|Yowedo|^Zao|^Zao-Crawler|ZeBot_www\\.ze\\.bz|ZooShot|ZyBorg)(?:[ /]v?(\\d+)(?:\\.(\\d+)(?:\\.(\\d+))?)?)?"); parser[1] = 0; parser[2] = 0; parser[3] = 0; @@ -170,8 +170,8 @@ parser[3] = 0; parser[4] = 0; exports.browser[20] = parser; parser = Object.create(null); -parser[0] = new RegExp("(Pale[Mm]oon)/(\\d+)\\.(\\d+)\\.?(\\d+)?"); -parser[1] = "Pale Moon (Firefox Variant)"; +parser[0] = new RegExp("(PaleMoon)/(\\d+)\\.(\\d+)\\.?(\\d+)?"); +parser[1] = "Pale Moon"; parser[2] = 0; parser[3] = 0; parser[4] = 0; @@ -800,546 +800,553 @@ parser[3] = 0; parser[4] = 0; exports.browser[110] = parser; parser = Object.create(null); +parser[0] = new RegExp("HeadlessChrome"); +parser[1] = "HeadlessChrome"; +parser[2] = 0; +parser[3] = 0; +parser[4] = 0; +exports.browser[111] = parser; +parser = Object.create(null); parser[0] = new RegExp("(bingbot|Bolt|AdobeAIR|Jasmine|IceCat|Skyfire|Midori|Maxthon|Lynx|Arora|IBrowse|Dillo|Camino|Shiira|Fennec|Phoenix|Flock|Netscape|Lunascape|Epiphany|WebPilot|Opera Mini|Opera|NetFront|Netfront|Konqueror|Googlebot|SeaMonkey|Kazehakase|Vienna|Iceape|Iceweasel|IceWeasel|Iron|K-Meleon|Sleipnir|Galeon|GranParadiso|iCab|iTunes|MacAppStore|NetNewsWire|Space Bison|Stainless|Orca|Dolfin|BOLT|Minimo|Tizen Browser|Polaris|Abrowser|Planetweb|ICE Browser|mDolphin|qutebrowser|Otter|QupZilla|MailBar|kmail2|YahooMobileMail|ExchangeWebServices|ExchangeServicesClient|Dragon|Outlook-iOS-Android)/(\\d+)\\.(\\d+)(?:\\.(\\d+))?"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[111] = parser; +exports.browser[112] = parser; parser = Object.create(null); parser[0] = new RegExp("(Chromium|Chrome)/(\\d+)\\.(\\d+)(?:\\.(\\d+))?"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[112] = parser; +exports.browser[113] = parser; parser = Object.create(null); parser[0] = new RegExp("(IEMobile)[ /](\\d+)\\.(\\d+)"); parser[1] = "IE Mobile"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[113] = parser; +exports.browser[114] = parser; parser = Object.create(null); parser[0] = new RegExp("(BacaBerita App)\\/(\\d+)\\.(\\d+)\\.(\\d+)"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[114] = parser; +exports.browser[115] = parser; parser = Object.create(null); parser[0] = new RegExp("(iRider|Crazy Browser|SkipStone|iCab|Lunascape|Sleipnir|Maemo Browser) (\\d+)\\.(\\d+)\\.(\\d+)"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[115] = parser; +exports.browser[116] = parser; parser = Object.create(null); parser[0] = new RegExp("(iCab|Lunascape|Opera|Android|Jasmine|Polaris|Microsoft SkyDriveSync|The Bat!) (\\d+)\\.(\\d+)\\.?(\\d+)?"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[116] = parser; +exports.browser[117] = parser; parser = Object.create(null); parser[0] = new RegExp("(Kindle)/(\\d+)\\.(\\d+)"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[117] = parser; +exports.browser[118] = parser; parser = Object.create(null); parser[0] = new RegExp("(Android) Donut"); parser[1] = 0; parser[2] = "1"; parser[3] = "2"; parser[4] = 0; -exports.browser[118] = parser; +exports.browser[119] = parser; parser = Object.create(null); parser[0] = new RegExp("(Android) Eclair"); parser[1] = 0; parser[2] = "2"; parser[3] = "1"; parser[4] = 0; -exports.browser[119] = parser; +exports.browser[120] = parser; parser = Object.create(null); parser[0] = new RegExp("(Android) Froyo"); parser[1] = 0; parser[2] = "2"; parser[3] = "2"; parser[4] = 0; -exports.browser[120] = parser; +exports.browser[121] = parser; parser = Object.create(null); parser[0] = new RegExp("(Android) Gingerbread"); parser[1] = 0; parser[2] = "2"; parser[3] = "3"; parser[4] = 0; -exports.browser[121] = parser; +exports.browser[122] = parser; parser = Object.create(null); parser[0] = new RegExp("(Android) Honeycomb"); parser[1] = 0; parser[2] = "3"; parser[3] = 0; parser[4] = 0; -exports.browser[122] = parser; +exports.browser[123] = parser; parser = Object.create(null); parser[0] = new RegExp("(MSIE) (\\d+)\\.(\\d+).*XBLWP7"); parser[1] = "IE Large Screen"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[123] = parser; +exports.browser[124] = parser; parser = Object.create(null); parser[0] = new RegExp("(Slack_SSB)/(\\d+)\\.(\\d+)\\.(\\d+)"); parser[1] = "Slack Desktop Client"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[124] = parser; +exports.browser[125] = parser; parser = Object.create(null); parser[0] = new RegExp("(Obigo)InternetBrowser"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[125] = parser; +exports.browser[126] = parser; parser = Object.create(null); parser[0] = new RegExp("(Obigo)\\-Browser"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[126] = parser; +exports.browser[127] = parser; parser = Object.create(null); parser[0] = new RegExp("(Obigo|OBIGO)[^\\d]*(\\d+)(?:.(\\d+))?"); parser[1] = "Obigo"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[127] = parser; +exports.browser[128] = parser; parser = Object.create(null); parser[0] = new RegExp("(MAXTHON|Maxthon) (\\d+)\\.(\\d+)"); parser[1] = "Maxthon"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[128] = parser; +exports.browser[129] = parser; parser = Object.create(null); parser[0] = new RegExp("(Maxthon|MyIE2|Uzbl|Shiira)"); parser[1] = 0; parser[2] = "0"; parser[3] = 0; parser[4] = 0; -exports.browser[129] = parser; +exports.browser[130] = parser; parser = Object.create(null); parser[0] = new RegExp("(BrowseX) \\((\\d+)\\.(\\d+)\\.(\\d+)"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[130] = parser; +exports.browser[131] = parser; parser = Object.create(null); parser[0] = new RegExp("(NCSA_Mosaic)/(\\d+)\\.(\\d+)"); parser[1] = "NCSA Mosaic"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[131] = parser; +exports.browser[132] = parser; parser = Object.create(null); parser[0] = new RegExp("(POLARIS)/(\\d+)\\.(\\d+)"); parser[1] = "Polaris"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[132] = parser; +exports.browser[133] = parser; parser = Object.create(null); parser[0] = new RegExp("(Embider)/(\\d+)\\.(\\d+)"); parser[1] = "Polaris"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[133] = parser; +exports.browser[134] = parser; parser = Object.create(null); parser[0] = new RegExp("(BonEcho)/(\\d+)\\.(\\d+)\\.?([ab]?\\d+)?"); parser[1] = "Bon Echo"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[134] = parser; +exports.browser[135] = parser; parser = Object.create(null); parser[0] = new RegExp("(iPod|iPhone|iPad).+Version/(\\d+)\\.(\\d+)(?:\\.(\\d+))?.*[ +]Safari"); parser[1] = "Mobile Safari"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[135] = parser; +exports.browser[136] = parser; parser = Object.create(null); parser[0] = new RegExp("(iPod|iPhone|iPad).+Version/(\\d+)\\.(\\d+)(?:\\.(\\d+))?"); parser[1] = "Mobile Safari UI/WKWebView"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[136] = parser; +exports.browser[137] = parser; parser = Object.create(null); parser[0] = new RegExp("(iPod|iPod touch|iPhone|iPad);.*CPU.*OS[ +](\\d+)_(\\d+)(?:_(\\d+))?.*Mobile.*[ +]Safari"); parser[1] = "Mobile Safari"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[137] = parser; +exports.browser[138] = parser; parser = Object.create(null); parser[0] = new RegExp("(iPod|iPod touch|iPhone|iPad);.*CPU.*OS[ +](\\d+)_(\\d+)(?:_(\\d+))?.*Mobile"); parser[1] = "Mobile Safari UI/WKWebView"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[138] = parser; +exports.browser[139] = parser; parser = Object.create(null); parser[0] = new RegExp("(iPod|iPhone|iPad).* Safari"); parser[1] = "Mobile Safari"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[139] = parser; +exports.browser[140] = parser; parser = Object.create(null); parser[0] = new RegExp("(iPod|iPhone|iPad)"); parser[1] = "Mobile Safari UI/WKWebView"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[140] = parser; +exports.browser[141] = parser; parser = Object.create(null); parser[0] = new RegExp("(AvantGo) (\\d+).(\\d+)"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[141] = parser; +exports.browser[142] = parser; parser = Object.create(null); parser[0] = new RegExp("(OneBrowser)/(\\d+).(\\d+)"); parser[1] = "ONE Browser"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[142] = parser; +exports.browser[143] = parser; parser = Object.create(null); parser[0] = new RegExp("(Avant)"); parser[1] = 0; parser[2] = "1"; parser[3] = 0; parser[4] = 0; -exports.browser[143] = parser; +exports.browser[144] = parser; parser = Object.create(null); parser[0] = new RegExp("(QtCarBrowser)"); parser[1] = 0; parser[2] = "1"; parser[3] = 0; parser[4] = 0; -exports.browser[144] = parser; +exports.browser[145] = parser; parser = Object.create(null); parser[0] = new RegExp("^(iBrowser/Mini)(\\d+).(\\d+)"); parser[1] = "iBrowser Mini"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[145] = parser; +exports.browser[146] = parser; parser = Object.create(null); parser[0] = new RegExp("^(iBrowser|iRAPP)/(\\d+).(\\d+)"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[146] = parser; +exports.browser[147] = parser; parser = Object.create(null); parser[0] = new RegExp("^(Nokia)"); parser[1] = "Nokia Services (WAP) Browser"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[147] = parser; +exports.browser[148] = parser; parser = Object.create(null); parser[0] = new RegExp("(NokiaBrowser)/(\\d+)\\.(\\d+).(\\d+)\\.(\\d+)"); parser[1] = "Nokia Browser"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[148] = parser; +exports.browser[149] = parser; parser = Object.create(null); parser[0] = new RegExp("(NokiaBrowser)/(\\d+)\\.(\\d+).(\\d+)"); parser[1] = "Nokia Browser"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[149] = parser; +exports.browser[150] = parser; parser = Object.create(null); parser[0] = new RegExp("(NokiaBrowser)/(\\d+)\\.(\\d+)"); parser[1] = "Nokia Browser"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[150] = parser; +exports.browser[151] = parser; parser = Object.create(null); parser[0] = new RegExp("(BrowserNG)/(\\d+)\\.(\\d+).(\\d+)"); parser[1] = "Nokia Browser"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[151] = parser; +exports.browser[152] = parser; parser = Object.create(null); parser[0] = new RegExp("(Series60)/5\\.0"); parser[1] = "Nokia Browser"; parser[2] = "7"; parser[3] = "0"; parser[4] = 0; -exports.browser[152] = parser; +exports.browser[153] = parser; parser = Object.create(null); parser[0] = new RegExp("(Series60)/(\\d+)\\.(\\d+)"); parser[1] = "Nokia OSS Browser"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[153] = parser; +exports.browser[154] = parser; parser = Object.create(null); parser[0] = new RegExp("(S40OviBrowser)/(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)"); parser[1] = "Ovi Browser"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[154] = parser; +exports.browser[155] = parser; parser = Object.create(null); parser[0] = new RegExp("(Nokia)[EN]?(\\d+)"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[155] = parser; +exports.browser[156] = parser; parser = Object.create(null); parser[0] = new RegExp("(PlayBook).+RIM Tablet OS (\\d+)\\.(\\d+)\\.(\\d+)"); parser[1] = "BlackBerry WebKit"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[156] = parser; +exports.browser[157] = parser; parser = Object.create(null); parser[0] = new RegExp("(Black[bB]erry|BB10).+Version/(\\d+)\\.(\\d+)\\.(\\d+)"); parser[1] = "BlackBerry WebKit"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[157] = parser; +exports.browser[158] = parser; parser = Object.create(null); parser[0] = new RegExp("(Black[bB]erry)\\s?(\\d+)"); parser[1] = "BlackBerry"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[158] = parser; +exports.browser[159] = parser; parser = Object.create(null); parser[0] = new RegExp("(OmniWeb)/v(\\d+)\\.(\\d+)"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[159] = parser; +exports.browser[160] = parser; parser = Object.create(null); parser[0] = new RegExp("(Blazer)/(\\d+)\\.(\\d+)"); parser[1] = "Palm Blazer"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[160] = parser; +exports.browser[161] = parser; parser = Object.create(null); parser[0] = new RegExp("(Pre)/(\\d+)\\.(\\d+)"); parser[1] = "Palm Pre"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[161] = parser; +exports.browser[162] = parser; parser = Object.create(null); parser[0] = new RegExp("(ELinks)/(\\d+)\\.(\\d+)"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[162] = parser; +exports.browser[163] = parser; parser = Object.create(null); parser[0] = new RegExp("(ELinks) \\((\\d+)\\.(\\d+)"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[163] = parser; +exports.browser[164] = parser; parser = Object.create(null); parser[0] = new RegExp("(Links) \\((\\d+)\\.(\\d+)"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[164] = parser; +exports.browser[165] = parser; parser = Object.create(null); parser[0] = new RegExp("(QtWeb) Internet Browser/(\\d+)\\.(\\d+)"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[165] = parser; +exports.browser[166] = parser; parser = Object.create(null); parser[0] = new RegExp("(PhantomJS)/(\\d+)\\.(\\d+)\\.(\\d+)"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[166] = parser; +exports.browser[167] = parser; parser = Object.create(null); parser[0] = new RegExp("(AppleWebKit)/(\\d+)\\.?(\\d+)?\\+ .* Safari"); parser[1] = "WebKit Nightly"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[167] = parser; +exports.browser[168] = parser; parser = Object.create(null); parser[0] = new RegExp("(Version)/(\\d+)\\.(\\d+)(?:\\.(\\d+))?.*Safari/"); parser[1] = "Safari"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[168] = parser; +exports.browser[169] = parser; parser = Object.create(null); parser[0] = new RegExp("(Safari)/\\d+"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[169] = parser; +exports.browser[170] = parser; parser = Object.create(null); parser[0] = new RegExp("(OLPC)/Update(\\d+)\\.(\\d+)"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[170] = parser; +exports.browser[171] = parser; parser = Object.create(null); parser[0] = new RegExp("(OLPC)/Update()\\.(\\d+)"); parser[1] = 0; parser[2] = "0"; parser[3] = 0; parser[4] = 0; -exports.browser[171] = parser; +exports.browser[172] = parser; parser = Object.create(null); parser[0] = new RegExp("(SEMC\\-Browser)/(\\d+)\\.(\\d+)"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[172] = parser; +exports.browser[173] = parser; parser = Object.create(null); parser[0] = new RegExp("(Teleca)"); parser[1] = "Teleca Browser"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[173] = parser; +exports.browser[174] = parser; parser = Object.create(null); parser[0] = new RegExp("(Phantom)/V(\\d+)\\.(\\d+)"); parser[1] = "Phantom Browser"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[174] = parser; +exports.browser[175] = parser; parser = Object.create(null); parser[0] = new RegExp("Trident(.*)rv.(\\d+)\\.(\\d+)"); parser[1] = "IE"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[175] = parser; +exports.browser[176] = parser; parser = Object.create(null); parser[0] = new RegExp("(Espial)/(\\d+)(?:\\.(\\d+))?(?:\\.(\\d+))?"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[176] = parser; +exports.browser[177] = parser; parser = Object.create(null); parser[0] = new RegExp("(AppleWebKit)/(\\d+)\\.(\\d+)\\.(\\d+)"); parser[1] = "Apple Mail"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[177] = parser; +exports.browser[178] = parser; parser = Object.create(null); parser[0] = new RegExp("(Firefox)/(\\d+)\\.(\\d+)\\.(\\d+)"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[178] = parser; +exports.browser[179] = parser; parser = Object.create(null); parser[0] = new RegExp("(Firefox)/(\\d+)\\.(\\d+)(pre|[ab]\\d+[a-z]*)?"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[179] = parser; +exports.browser[180] = parser; parser = Object.create(null); parser[0] = new RegExp("([MS]?IE) (\\d+)\\.(\\d+)"); parser[1] = "IE"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[180] = parser; +exports.browser[181] = parser; parser = Object.create(null); parser[0] = new RegExp("(python-requests)/(\\d+)\\.(\\d+)"); parser[1] = "Python Requests"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[181] = parser; +exports.browser[182] = parser; parser = Object.create(null); parser[0] = new RegExp("\\b(Windows-Update-Agent|Microsoft-CryptoAPI|SophosUpdateManager|SophosAgent|Debian APT-HTTP|Ubuntu APT-HTTP|libcurl-agent|libwww-perl|urlgrabber|curl|Wget|OpenBSD ftp|jupdate)(?:[ /](\\d+)(?:\\.(\\d+)(?:\\.(\\d+))?)?)?"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[182] = parser; +exports.browser[183] = parser; parser = Object.create(null); parser[0] = new RegExp("(Java)[/ ]{0,1}\\d+\\.(\\d+)\\.(\\d+)[_-]*([a-zA-Z0-9]+)*"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[183] = parser; +exports.browser[184] = parser; parser = Object.create(null); parser[0] = new RegExp("^(Roku)/DVP-(\\d+)\\.(\\d+)"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[184] = parser; +exports.browser[185] = parser; parser = Object.create(null); parser[0] = new RegExp("(Kurio)\\/(\\d+)\\.(\\d+)\\.(\\d+)"); parser[1] = "Kurio App"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[185] = parser; +exports.browser[186] = parser; parser = Object.create(null); parser[0] = new RegExp("(Wget)/(\\d+)\\.(\\d+)\\.?([ab]?\\d+[a-z]*)"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[186] = parser; +exports.browser[187] = parser; parser = Object.create(null); parser[0] = new RegExp("(curl)/(\\d+)\\.(\\d+)\\.(\\d+)"); parser[1] = "cURL"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.browser[187] = parser; +exports.browser[188] = parser; -exports.browser.length = 188; +exports.browser.length = 189; exports.device = Object.create(null); @@ -2247,3185 +2254,3213 @@ parser[3] = 0; parser[4] = 0; exports.device[128] = parser; parser = Object.create(null); +parser[0] = new RegExp("; *(Pixel \\w+) Build"); +parser[1] = "$1"; +parser[2] = 0; +parser[3] = 0; +parser[4] = 0; +exports.device[129] = parser; +parser = Object.create(null); parser[0] = new RegExp("; *(GSmart)[ -]([^/]+) Build"); parser[1] = "$1 $2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[129] = parser; +exports.device[130] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(imx5[13]_[^/]+) Build"); parser[1] = "Freescale $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[130] = parser; +exports.device[131] = parser; parser = Object.create(null); parser[0] = new RegExp("; *Haier[ _\\-]([^/]+) Build"); parser[1] = "Haier $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[131] = parser; +exports.device[132] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(PAD1016) Build"); parser[1] = "Haipad $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[132] = parser; +exports.device[133] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(M701|M7|M8|M9) Build"); parser[1] = "Haipad $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[133] = parser; +exports.device[134] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(SN\\d+T[^;\\)/]*)(?: Build|[;\\)])"); parser[1] = "Hannspree $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[134] = parser; +exports.device[135] = parser; parser = Object.create(null); parser[0] = new RegExp("Build/HCL ME Tablet ([^;\\)]+)[\\);]"); parser[1] = "HCLme $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[135] = parser; +exports.device[136] = parser; parser = Object.create(null); parser[0] = new RegExp("; *([^;\\/]+) Build/HCL"); parser[1] = "HCLme $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[136] = parser; +exports.device[137] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(MID-?\\d{4}C[EM]) Build"); parser[1] = "Hena $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[137] = parser; +exports.device[138] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(EG\\d{2,}|HS-[^;/]+|MIRA[^;/]+) Build"); parser[1] = "Hisense $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[138] = parser; +exports.device[139] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(andromax[^;/]+) Build"); parser[1] = "Hisense $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[139] = parser; +exports.device[140] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(?:AMAZE[ _](S\\d+)|(S\\d+)[ _]AMAZE) Build"); parser[1] = "AMAZE $1$2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[140] = parser; +exports.device[141] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(PlayBook) Build"); parser[1] = "HP $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[141] = parser; +exports.device[142] = parser; parser = Object.create(null); parser[0] = new RegExp("; *HP ([^/]+) Build"); parser[1] = "HP $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[142] = parser; +exports.device[143] = parser; parser = Object.create(null); parser[0] = new RegExp("; *([^/]+_tenderloin) Build"); parser[1] = "HP TouchPad"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[143] = parser; +exports.device[144] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(HUAWEI |Huawei-)?([UY][^;/]+) Build/(?:Huawei|HUAWEI)([UY][^\\);]+)\\)"); parser[1] = "$1$2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[144] = parser; +exports.device[145] = parser; parser = Object.create(null); parser[0] = new RegExp("; *([^;/]+) Build[/ ]Huawei(MT1-U06|[A-Z]+\\d+[^\\);]+)[^\\);]*\\)"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[145] = parser; +exports.device[146] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(S7|M860) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[146] = parser; +exports.device[147] = parser; parser = Object.create(null); parser[0] = new RegExp("; *((?:HUAWEI|Huawei)[ \\-]?)(MediaPad) Build"); parser[1] = "$1$2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[147] = parser; +exports.device[148] = parser; parser = Object.create(null); parser[0] = new RegExp("; *((?:HUAWEI[ _]?|Huawei[ _])?Ascend[ _])([^;/]+) Build"); parser[1] = "$1$2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[148] = parser; +exports.device[149] = parser; parser = Object.create(null); parser[0] = new RegExp("; *((?:HUAWEI|Huawei)[ _\\-]?)((?:G700-|MT-)[^;/]+) Build"); parser[1] = "$1$2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[149] = parser; +exports.device[150] = parser; parser = Object.create(null); parser[0] = new RegExp("; *((?:HUAWEI|Huawei)[ _\\-]?)([^;/]+) Build"); parser[1] = "$1$2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[150] = parser; +exports.device[151] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(MediaPad[^;]+|SpringBoard) Build/Huawei"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[151] = parser; +exports.device[152] = parser; parser = Object.create(null); parser[0] = new RegExp("; *([^;]+) Build/Huawei"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[152] = parser; +exports.device[153] = parser; parser = Object.create(null); parser[0] = new RegExp("; *([Uu])([89]\\d{3}) Build"); parser[1] = "$1$2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[153] = parser; +exports.device[154] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(?:Ideos |IDEOS )(S7) Build"); parser[1] = "Huawei Ideos$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[154] = parser; +exports.device[155] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(?:Ideos |IDEOS )([^;/]+\\s*|\\s*)Build"); parser[1] = "Huawei Ideos$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[155] = parser; +exports.device[156] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(Orange Daytona|Pulse|Pulse Mini|Vodafone 858|C8500|C8600|C8650|C8660|Nexus 6P|ATH-.+?) Build[/ ]"); parser[1] = "Huawei $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[156] = parser; +exports.device[157] = parser; parser = Object.create(null); parser[0] = new RegExp("; *HTC[ _]([^;]+); Windows Phone"); parser[1] = "HTC $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[157] = parser; +exports.device[158] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(?:HTC[ _/])+([^ _/]+)(?:[/\\\\]1\\.0 | V|/| +)\\d+\\.\\d[\\d\\.]*(?: *Build|\\))"); parser[1] = "HTC $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[158] = parser; +exports.device[159] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(?:HTC[ _/])+([^ _/]+)(?:[ _/]([^ _/]+))?(?:[/\\\\]1\\.0 | V|/| +)\\d+\\.\\d[\\d\\.]*(?: *Build|\\))"); parser[1] = "HTC $1 $2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[159] = parser; +exports.device[160] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(?:HTC[ _/])+([^ _/]+)(?:[ _/]([^ _/]+)(?:[ _/]([^ _/]+))?)?(?:[/\\\\]1\\.0 | V|/| +)\\d+\\.\\d[\\d\\.]*(?: *Build|\\))"); parser[1] = "HTC $1 $2 $3"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[160] = parser; +exports.device[161] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(?:HTC[ _/])+([^ _/]+)(?:[ _/]([^ _/]+)(?:[ _/]([^ _/]+)(?:[ _/]([^ _/]+))?)?)?(?:[/\\\\]1\\.0 | V|/| +)\\d+\\.\\d[\\d\\.]*(?: *Build|\\))"); parser[1] = "HTC $1 $2 $3 $4"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[161] = parser; +exports.device[162] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(?:(?:HTC|htc)(?:_blocked)*[ _/])+([^ _/;]+)(?: *Build|[;\\)]| - )"); parser[1] = "HTC $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[162] = parser; +exports.device[163] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(?:(?:HTC|htc)(?:_blocked)*[ _/])+([^ _/]+)(?:[ _/]([^ _/;\\)]+))?(?: *Build|[;\\)]| - )"); parser[1] = "HTC $1 $2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[163] = parser; +exports.device[164] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(?:(?:HTC|htc)(?:_blocked)*[ _/])+([^ _/]+)(?:[ _/]([^ _/]+)(?:[ _/]([^ _/;\\)]+))?)?(?: *Build|[;\\)]| - )"); parser[1] = "HTC $1 $2 $3"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[164] = parser; +exports.device[165] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(?:(?:HTC|htc)(?:_blocked)*[ _/])+([^ _/]+)(?:[ _/]([^ _/]+)(?:[ _/]([^ _/]+)(?:[ _/]([^ /;]+))?)?)?(?: *Build|[;\\)]| - )"); parser[1] = "HTC $1 $2 $3 $4"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[165] = parser; +exports.device[166] = parser; parser = Object.create(null); parser[0] = new RegExp("HTC Streaming Player [^\\/]*/[^\\/]*/ htc_([^/]+) /"); parser[1] = "HTC $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[166] = parser; +exports.device[167] = parser; parser = Object.create(null); parser[0] = new RegExp("(?:[;,] *|^)(?:htccn_chs-)?HTC[ _-]?([^;]+?)(?: *Build|clay|Android|-?Mozilla| Opera| Profile| UNTRUSTED|[;/\\(\\)]|$)"); parser[1] = "HTC $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[167] = parser; +exports.device[168] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(A6277|ADR6200|ADR6300|ADR6350|ADR6400[A-Z]*|ADR6425[A-Z]*|APX515CKT|ARIA|Desire[^_ ]*|Dream|EndeavorU|Eris|Evo|Flyer|HD2|Hero|HERO200|Hero CDMA|HTL21|Incredible|Inspire[A-Z0-9]*|Legend|Liberty|Nexus ?(?:One|HD2)|One|One S C2|One[ _]?(?:S|V|X\\+?)\\w*|PC36100|PG06100|PG86100|S31HT|Sensation|Wildfire)(?: Build|[/;\\(\\)])"); parser[1] = "HTC $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[168] = parser; +exports.device[169] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(ADR6200|ADR6400L|ADR6425LVW|Amaze|DesireS?|EndeavorU|Eris|EVO|Evo\\d[A-Z]+|HD2|IncredibleS?|Inspire[A-Z0-9]*|Inspire[A-Z0-9]*|Sensation[A-Z0-9]*|Wildfire)[ _-](.+?)(?:[/;\\)]|Build|MIUI|1\\.0)"); parser[1] = "HTC $1 $2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[169] = parser; +exports.device[170] = parser; parser = Object.create(null); parser[0] = new RegExp("; *HYUNDAI (T\\d[^/]*) Build"); parser[1] = "Hyundai $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[170] = parser; +exports.device[171] = parser; parser = Object.create(null); parser[0] = new RegExp("; *HYUNDAI ([^;/]+) Build"); parser[1] = "Hyundai $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[171] = parser; +exports.device[172] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(X700|Hold X|MB-6900) Build"); parser[1] = "Hyundai $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[172] = parser; +exports.device[173] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(?:iBall[ _\\-])?(Andi)[ _]?(\\d[^;/]*) Build"); parser[1] = "$1 $2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[173] = parser; +exports.device[174] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(IBall)(?:[ _]([^;/]+)|) Build"); parser[1] = "$1 $2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[174] = parser; +exports.device[175] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(NT-\\d+[^ ;/]*|Net[Tt]AB [^;/]+|Mercury [A-Z]+|iconBIT)(?: S/N:[^;/]+)? Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[175] = parser; +exports.device[176] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(IMO)[ _]([^;/]+) Build"); parser[1] = "$1 $2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[176] = parser; +exports.device[177] = parser; parser = Object.create(null); parser[0] = new RegExp("; *i-?mobile[ _]([^/]+) Build/"); parser[1] = "i-mobile $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[177] = parser; +exports.device[178] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(i-(?:style|note)[^/]*) Build/"); parser[1] = "i-mobile $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[178] = parser; +exports.device[179] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(ImPAD) ?(\\d+(?:.)*) Build"); parser[1] = "$1 $2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[179] = parser; +exports.device[180] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(Infinix)[ _]([^;/]+) Build"); parser[1] = "$1 $2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[180] = parser; +exports.device[181] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(Informer)[ \\-]([^;/]+) Build"); parser[1] = "$1 $2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[181] = parser; +exports.device[182] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(TAB) ?([78][12]4) Build"); parser[1] = "Intenso $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[182] = parser; +exports.device[183] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(?:Intex[ _])?(AQUA|Aqua)([ _\\.\\-])([^;/]+) *(?:Build|;)"); parser[1] = "$1$2$3"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[183] = parser; +exports.device[184] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(?:INTEX|Intex)(?:[_ ]([^\\ _;/]+))(?:[_ ]([^\\ _;/]+))? *(?:Build|;)"); parser[1] = "$1 $2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[184] = parser; +exports.device[185] = parser; parser = Object.create(null); parser[0] = new RegExp("; *([iI]Buddy)[ _]?(Connect)(?:_|\\?_| )?([^;/]*) *(?:Build|;)"); parser[1] = "$1 $2 $3"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[185] = parser; +exports.device[186] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(I-Buddy)[ _]([^;/]+) *(?:Build|;)"); parser[1] = "$1 $2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[186] = parser; +exports.device[187] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(iOCEAN) ([^/]+) Build"); parser[1] = "$1 $2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[187] = parser; +exports.device[188] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(TP\\d+(?:\\.\\d+)?\\-\\d[^;/]+) Build"); parser[1] = "ionik $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[188] = parser; +exports.device[189] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(M702pro) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[189] = parser; +exports.device[190] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(DE88Plus|MD70) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[190] = parser; +exports.device[191] = parser; parser = Object.create(null); parser[0] = new RegExp("; *IVIO[_\\-]([^;/]+) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[191] = parser; +exports.device[192] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(TPC-\\d+|JAY-TECH) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[192] = parser; +exports.device[193] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(JY-[^;/]+|G[234]S?) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[193] = parser; +exports.device[194] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(JXD)[ _\\-]([^;/]+) Build"); parser[1] = "$1 $2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[194] = parser; +exports.device[195] = parser; parser = Object.create(null); parser[0] = new RegExp("; *Karbonn[ _]?([^;/]+) *(?:Build|;)"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[195] = parser; +exports.device[196] = parser; parser = Object.create(null); parser[0] = new RegExp("; *([^;]+) Build/Karbonn"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[196] = parser; +exports.device[197] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(A11|A39|A37|A34|ST8|ST10|ST7|Smart Tab3|Smart Tab2|Titanium S\\d) +Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[197] = parser; +exports.device[198] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(IS01|IS03|IS05|IS\\d{2}SH) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[198] = parser; +exports.device[199] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(IS04) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[199] = parser; +exports.device[200] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(IS06|IS\\d{2}PT) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[200] = parser; +exports.device[201] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(IS11S) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[201] = parser; +exports.device[202] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(IS11CA) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[202] = parser; +exports.device[203] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(IS11LG) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[203] = parser; +exports.device[204] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(IS11N) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[204] = parser; +exports.device[205] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(IS11PT) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[205] = parser; +exports.device[206] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(IS12F) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[206] = parser; +exports.device[207] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(IS12M) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[207] = parser; +exports.device[208] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(IS12S) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[208] = parser; +exports.device[209] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(ISW11F) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[209] = parser; +exports.device[210] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(ISW11HT) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[210] = parser; +exports.device[211] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(ISW11K) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[211] = parser; +exports.device[212] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(ISW11M) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[212] = parser; +exports.device[213] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(ISW11SC) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[213] = parser; +exports.device[214] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(ISW12HT) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[214] = parser; +exports.device[215] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(ISW13HT) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[215] = parser; +exports.device[216] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(ISW?[0-9]{2}[A-Z]{0,2}) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[216] = parser; +exports.device[217] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(INFOBAR [^;/]+) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[217] = parser; +exports.device[218] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(JOYPAD|Joypad)[ _]([^;/]+) Build/"); parser[1] = "$1 $2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[218] = parser; +exports.device[219] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(Vox|VOX|Arc|K080) Build/"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[219] = parser; +exports.device[220] = parser; parser = Object.create(null); parser[0] = new RegExp("\\b(Kobo Touch)\\b"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[220] = parser; +exports.device[221] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(K-Touch)[ _]([^;/]+) Build"); parser[1] = "$1 $2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[221] = parser; +exports.device[222] = parser; parser = Object.create(null); parser[0] = new RegExp("; *((?:EV|KM)-S\\d+[A-Z]?) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[222] = parser; +exports.device[223] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(Zio|Hydro|Torque|Event|EVENT|Echo|Milano|Rise|URBANO PROGRESSO|WX04K|WX06K|WX10K|KYL21|101K|C5[12]\\d{2}) Build/"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[223] = parser; +exports.device[224] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(?:LAVA[ _])?IRIS[ _\\-]?([^/;\\)]+) *(?:;|\\)|Build)"); parser[1] = "Iris $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[224] = parser; +exports.device[225] = parser; parser = Object.create(null); parser[0] = new RegExp("; *LAVA[ _]([^;/]+) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[225] = parser; +exports.device[226] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(?:(Aspire A1)|(?:LEMON|Lemon)[ _]([^;/]+))_? Build"); parser[1] = "Lemon $1$2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[226] = parser; +exports.device[227] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(TAB-1012) Build/"); parser[1] = "Lenco $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[227] = parser; +exports.device[228] = parser; parser = Object.create(null); parser[0] = new RegExp("; Lenco ([^;/]+) Build/"); parser[1] = "Lenco $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[228] = parser; +exports.device[229] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(A1_07|A2107A-H|S2005A-H|S1-37AH0) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[229] = parser; +exports.device[230] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(Idea[Tp]ab)[ _]([^;/]+);? Build"); parser[1] = "Lenovo $1 $2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[230] = parser; +exports.device[231] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(Idea(?:Tab|pad)) ?([^;/]+) Build"); parser[1] = "Lenovo $1 $2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[231] = parser; +exports.device[232] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(ThinkPad) ?(Tablet) Build/"); parser[1] = "Lenovo $1 $2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[232] = parser; +exports.device[233] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(?:LNV-)?(?:=?[Ll]enovo[ _\\-]?|LENOVO[ _])+(.+?)(?:Build|[;/\\)])"); parser[1] = "Lenovo $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[233] = parser; +exports.device[234] = parser; parser = Object.create(null); parser[0] = new RegExp("[;,] (?:Vodafone )?(SmartTab) ?(II) ?(\\d+) Build/"); parser[1] = "Lenovo $1 $2 $3"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[234] = parser; +exports.device[235] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(?:Ideapad )?K1 Build/"); parser[1] = "Lenovo Ideapad K1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[235] = parser; +exports.device[236] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(3GC101|3GW10[01]|A390) Build/"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[236] = parser; +exports.device[237] = parser; parser = Object.create(null); parser[0] = new RegExp("\\b(?:Lenovo|LENOVO)+[ _\\-]?([^,;:/ ]+)"); parser[1] = "Lenovo $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[237] = parser; +exports.device[238] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(MFC\\d+)[A-Z]{2}([^;,/]*),? Build"); parser[1] = "$1$2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[238] = parser; +exports.device[239] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(E[34][0-9]{2}|LS[6-8][0-9]{2}|VS[6-9][0-9]+[^;/]+|Nexus 4|Nexus 5X?|GT540f?|Optimus (?:2X|G|4X HD)|OptimusX4HD) *(?:Build|;)"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[239] = parser; +exports.device[240] = parser; parser = Object.create(null); parser[0] = new RegExp("[;:] *(L-\\d+[A-Z]|LGL\\d+[A-Z]?)(?:/V\\d+)? *(?:Build|[;\\)])"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[240] = parser; +exports.device[241] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(LG-)([A-Z]{1,2}\\d{2,}[^,;/\\)\\(]*?)(?:Build| V\\d+|[,;/\\)\\(]|$)"); parser[1] = "$1$2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[241] = parser; +exports.device[242] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(LG[ \\-]|LG)([^;/]+)[;/]? Build"); parser[1] = "$1$2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[242] = parser; +exports.device[243] = parser; parser = Object.create(null); parser[0] = new RegExp("^(LG)-([^;/]+)/ Mozilla/.*; Android"); parser[1] = "$1 $2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[243] = parser; +exports.device[244] = parser; parser = Object.create(null); parser[0] = new RegExp("(Web0S); Linux/(SmartTV)"); parser[1] = "LG $1 $2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[244] = parser; +exports.device[245] = parser; parser = Object.create(null); parser[0] = new RegExp("; *((?:SMB|smb)[^;/]+) Build/"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[245] = parser; +exports.device[246] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(?:Malata|MALATA) ([^;/]+) Build/"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[246] = parser; +exports.device[247] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(MS[45][0-9]{3}|MID0[568][NS]?|MID[1-9]|MID[78]0[1-9]|MID970[1-9]|MID100[1-9]) Build/"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[247] = parser; +exports.device[248] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(M1052|M806|M9000|M9100|M9701|MID100|MID120|MID125|MID130|MID135|MID140|MID701|MID710|MID713|MID727|MID728|MID731|MID732|MID733|MID735|MID736|MID737|MID760|MID800|MID810|MID820|MID830|MID833|MID835|MID860|MID900|MID930|MID933|MID960|MID980) Build/"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[248] = parser; +exports.device[249] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(GenxDroid7|MSD7.*|AX\\d.*|Tab 701|Tab 722) Build/"); parser[1] = "Maxx $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[249] = parser; +exports.device[250] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(M-PP[^;/]+|PhonePad ?\\d{2,}[^;/]+) Build"); parser[1] = "Mediacom $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[250] = parser; +exports.device[251] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(M-MP[^;/]+|SmartPad ?\\d{2,}[^;/]+) Build"); parser[1] = "Mediacom $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[251] = parser; +exports.device[252] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(?:MD_)?LIFETAB[ _]([^;/]+) Build"); parser[1] = "Medion Lifetab $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[252] = parser; +exports.device[253] = parser; parser = Object.create(null); parser[0] = new RegExp("; *MEDION ([^;/]+) Build"); parser[1] = "Medion $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[253] = parser; +exports.device[254] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(M030|M031|M035|M040|M065|m9) Build"); parser[1] = "Meizu $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[254] = parser; +exports.device[255] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(?:meizu_|MEIZU )(.+?) *(?:Build|[;\\)])"); parser[1] = "Meizu $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[255] = parser; +exports.device[256] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(?:Micromax[ _](A111|A240)|(A111|A240)) Build"); parser[1] = "Micromax $1$2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[256] = parser; +exports.device[257] = parser; parser = Object.create(null); parser[0] = new RegExp("; *Micromax[ _](A\\d{2,3}[^;/]*) Build"); parser[1] = "Micromax $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[257] = parser; +exports.device[258] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(A\\d{2}|A[12]\\d{2}|A90S|A110Q) Build"); parser[1] = "Micromax $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[258] = parser; +exports.device[259] = parser; parser = Object.create(null); parser[0] = new RegExp("; *Micromax[ _](P\\d{3}[^;/]*) Build"); parser[1] = "Micromax $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[259] = parser; +exports.device[260] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(P\\d{3}|P\\d{3}\\(Funbook\\)) Build"); parser[1] = "Micromax $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[260] = parser; +exports.device[261] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(MITO)[ _\\-]?([^;/]+) Build"); parser[1] = "$1 $2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[261] = parser; +exports.device[262] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(Cynus)[ _](F5|T\\d|.+?) *(?:Build|[;/\\)])"); parser[1] = "$1 $2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[262] = parser; +exports.device[263] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(MODECOM )?(FreeTab) ?([^;/]+) Build"); parser[1] = "$1$2 $3"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[263] = parser; +exports.device[264] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(MODECOM )([^;/]+) Build"); parser[1] = "$1 $2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[264] = parser; +exports.device[265] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(MZ\\d{3}\\+?|MZ\\d{3} 4G|Xoom|XOOM[^;/]*) Build"); parser[1] = "Motorola $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[265] = parser; +exports.device[266] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(Milestone )(XT[^;/]*) Build"); parser[1] = "Motorola $1$2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[266] = parser; +exports.device[267] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(Motoroi ?x|Droid X|DROIDX) Build"); parser[1] = "Motorola $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[267] = parser; +exports.device[268] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(Droid[^;/]*|DROID[^;/]*|Milestone[^;/]*|Photon|Triumph|Devour|Titanium) Build"); parser[1] = "Motorola $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[268] = parser; +exports.device[269] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(A555|A85[34][^;/]*|A95[356]|ME[58]\\d{2}\\+?|ME600|ME632|ME722|MB\\d{3}\\+?|MT680|MT710|MT870|MT887|MT917|WX435|WX453|WX44[25]|XT\\d{3,4}[A-Z\\+]*|CL[iI]Q|CL[iI]Q XT) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[269] = parser; +exports.device[270] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(Motorola MOT-|Motorola[ _\\-]|MOT\\-?)([^;/]+) Build"); parser[1] = "$1$2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[270] = parser; +exports.device[271] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(Moto[_ ]?|MOT\\-)([^;/]+) Build"); parser[1] = "$1$2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[271] = parser; +exports.device[272] = parser; parser = Object.create(null); parser[0] = new RegExp("; *((?:MP[DQ]C|MPG\\d{1,4}|MP\\d{3,4}|MID(?:(?:10[234]|114|43|7[247]|8[24]|7)C|8[01]1))[^;/]*) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[272] = parser; +exports.device[273] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(?:MSI[ _])?(Primo\\d+|Enjoy[ _\\-][^;/]+) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[273] = parser; +exports.device[274] = parser; parser = Object.create(null); parser[0] = new RegExp("; *Multilaser[ _]([^;/]+) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[274] = parser; +exports.device[275] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(My)[_]?(Pad)[ _]([^;/]+) Build"); parser[1] = "$1$2 $3"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[275] = parser; +exports.device[276] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(My)\\|?(Phone)[ _]([^;/]+) Build"); parser[1] = "$1$2 $3"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[276] = parser; +exports.device[277] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(A\\d+)[ _](Duo)? Build"); parser[1] = "$1 $2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[277] = parser; +exports.device[278] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(myTab[^;/]*) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[278] = parser; +exports.device[279] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(NABI2?-)([^;/]+) Build/"); parser[1] = "$1$2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[279] = parser; +exports.device[280] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(N-\\d+[CDE]) Build/"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[280] = parser; +exports.device[281] = parser; parser = Object.create(null); parser[0] = new RegExp("; ?(NEC-)(.*) Build/"); parser[1] = "$1$2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[281] = parser; +exports.device[282] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(LT-NA7) Build/"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[282] = parser; +exports.device[283] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(NXM\\d+[A-z0-9_]*|Next\\d[A-z0-9_ \\-]*|NEXT\\d[A-z0-9_ \\-]*|Nextbook [A-z0-9_ ]*|DATAM803HC|M805)(?: Build|[\\);])"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[283] = parser; +exports.device[284] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(Nokia)([ _\\-]*)([^;/]*) Build"); parser[1] = "$1$2$3"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[284] = parser; +exports.device[285] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(Nook ?|Barnes & Noble Nook |BN )([^;/]+) Build"); parser[1] = "$1$2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[285] = parser; +exports.device[286] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(NOOK )?(BNRV200|BNRV200A|BNTV250|BNTV250A|BNTV400|BNTV600|LogicPD Zoom2) Build"); parser[1] = "$1$2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[286] = parser; +exports.device[287] = parser; parser = Object.create(null); parser[0] = new RegExp("; Build/(Nook)"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[287] = parser; +exports.device[288] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(OP110|OliPad[^;/]+) Build"); parser[1] = "Olivetti $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[288] = parser; +exports.device[289] = parser; parser = Object.create(null); parser[0] = new RegExp("; *OMEGA[ _\\-](MID[^;/]+) Build"); parser[1] = "Omega $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[289] = parser; +exports.device[290] = parser; parser = Object.create(null); parser[0] = new RegExp("^(MID7500|MID\\d+) Mozilla/5\\.0 \\(iPad;"); parser[1] = "Omega $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[290] = parser; +exports.device[291] = parser; parser = Object.create(null); parser[0] = new RegExp("; *((?:CIUS|cius)[^;/]*) Build"); parser[1] = "Openpeak $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[291] = parser; +exports.device[292] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(Find ?(?:5|7a)|R8[012]\\d{1,2}|T703\\d{0,1}|U70\\d{1,2}T?|X90\\d{1,2}) Build"); parser[1] = "Oppo $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[292] = parser; +exports.device[293] = parser; parser = Object.create(null); parser[0] = new RegExp("; *OPPO ?([^;/]+) Build/"); parser[1] = "Oppo $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[293] = parser; +exports.device[294] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(?:Odys\\-|ODYS\\-|ODYS )([^;/]+) Build"); parser[1] = "Odys $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[294] = parser; +exports.device[295] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(SELECT) ?(7) Build"); parser[1] = "Odys $1 $2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[295] = parser; +exports.device[296] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(PEDI)_(PLUS)_(W) Build"); parser[1] = "Odys $1 $2 $3"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[296] = parser; +exports.device[297] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(AEON|BRAVIO|FUSION|FUSION2IN1|Genio|EOS10|IEOS[^;/]*|IRON|Loox|LOOX|LOOX Plus|Motion|NOON|NOON_PRO|NEXT|OPOS|PEDI[^;/]*|PRIME[^;/]*|STUDYTAB|TABLO|Tablet-PC-4|UNO_X8|XELIO[^;/]*|Xelio ?\\d+ ?[Pp]ro|XENO10|XPRESS PRO) Build"); parser[1] = "Odys $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[297] = parser; +exports.device[298] = parser; +parser = Object.create(null); +parser[0] = new RegExp("; (ONE [a-zA-Z]\\d+) Build/"); +parser[1] = "OnePlus $1"; +parser[2] = 0; +parser[3] = 0; +parser[4] = 0; +exports.device[299] = parser; +parser = Object.create(null); +parser[0] = new RegExp("; (ONEPLUS [a-zA-Z]\\d+) Build/"); +parser[1] = "OnePlus $1"; +parser[2] = 0; +parser[3] = 0; +parser[4] = 0; +exports.device[300] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(TP-\\d+) Build/"); parser[1] = "Orion $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[298] = parser; +exports.device[301] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(G100W?) Build/"); parser[1] = "PackardBell $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[299] = parser; +exports.device[302] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(Panasonic)[_ ]([^;/]+) Build"); parser[1] = "$1 $2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[300] = parser; +exports.device[303] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(FZ-A1B|JT-B1) Build"); parser[1] = "Panasonic $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[301] = parser; +exports.device[304] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(dL1|DL1) Build"); parser[1] = "Panasonic $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[302] = parser; +exports.device[305] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(SKY[ _])?(IM\\-[AT]\\d{3}[^;/]+).* Build/"); parser[1] = "Pantech $1$2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[303] = parser; +exports.device[306] = parser; parser = Object.create(null); parser[0] = new RegExp("; *((?:ADR8995|ADR910L|ADR930L|ADR930VW|PTL21|P8000)(?: 4G)?) Build/"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[304] = parser; +exports.device[307] = parser; parser = Object.create(null); parser[0] = new RegExp("; *Pantech([^;/]+).* Build/"); parser[1] = "Pantech $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[305] = parser; +exports.device[308] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(papyre)[ _\\-]([^;/]+) Build/"); parser[1] = "$1 $2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[306] = parser; +exports.device[309] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(?:Touchlet )?(X10\\.[^;/]+) Build/"); parser[1] = "Pearl $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[307] = parser; +exports.device[310] = parser; parser = Object.create(null); parser[0] = new RegExp("; PHICOMM (i800) Build/"); parser[1] = "Phicomm $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[308] = parser; +exports.device[311] = parser; parser = Object.create(null); parser[0] = new RegExp("; PHICOMM ([^;/]+) Build/"); parser[1] = "Phicomm $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[309] = parser; +exports.device[312] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(FWS\\d{3}[^;/]+) Build/"); parser[1] = "Phicomm $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[310] = parser; +exports.device[313] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(D633|D822|D833|T539|T939|V726|W335|W336|W337|W3568|W536|W5510|W626|W632|W6350|W6360|W6500|W732|W736|W737|W7376|W820|W832|W8355|W8500|W8510|W930) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[311] = parser; +exports.device[314] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(?:Philips|PHILIPS)[ _]([^;/]+) Build"); parser[1] = "Philips $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[312] = parser; +exports.device[315] = parser; parser = Object.create(null); parser[0] = new RegExp("Android 4\\..*; *(M[12356789]|U[12368]|S[123])\\ ?(pro)? Build"); parser[1] = "Pipo $1$2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[313] = parser; +exports.device[316] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(MOMO[^;/]+) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[314] = parser; +exports.device[317] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(?:Polaroid[ _])?((?:MIDC\\d{3,}|PMID\\d{2,}|PTAB\\d{3,})[^;/]*)(\\/[^;/]*)? Build/"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[315] = parser; +exports.device[318] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(?:Polaroid )(Tablet) Build/"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[316] = parser; +exports.device[319] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(POMP)[ _\\-](.+?) *(?:Build|[;/\\)])"); parser[1] = "$1 $2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[317] = parser; +exports.device[320] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(TB07STA|TB10STA|TB07FTA|TB10FTA) Build/"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[318] = parser; +exports.device[321] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(?:Positivo )?((?:YPY|Ypy)[^;/]+) Build/"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[319] = parser; +exports.device[322] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(MOB-[^;/]+) Build/"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[320] = parser; +exports.device[323] = parser; parser = Object.create(null); parser[0] = new RegExp("; *POV[ _\\-]([^;/]+) Build/"); parser[1] = "POV $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[321] = parser; +exports.device[324] = parser; parser = Object.create(null); parser[0] = new RegExp("; *((?:TAB-PLAYTAB|TAB-PROTAB|PROTAB|PlayTabPro|Mobii[ _\\-]|TAB-P)[^;/]*) Build/"); parser[1] = "POV $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[322] = parser; +exports.device[325] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(?:Prestigio )?((?:PAP|PMP)\\d[^;/]+) Build/"); parser[1] = "Prestigio $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[323] = parser; +exports.device[326] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(PLT[0-9]{4}.*) Build/"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[324] = parser; +exports.device[327] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(A2|A5|A8|A900)_?(Classic)? Build"); parser[1] = "$1 $2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[325] = parser; +exports.device[328] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(Q[Mm]obile)_([^_]+)_([^_]+) Build"); parser[1] = "Qmobile $2 $3"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[326] = parser; +exports.device[329] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(Q\\-?[Mm]obile)[_ ](A[^;/]+) Build"); parser[1] = "Qmobile $2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[327] = parser; +exports.device[330] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(Q\\-Smart)[ _]([^;/]+) Build/"); parser[1] = "$1 $2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[328] = parser; +exports.device[331] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(Q\\-?[Mm]obile)[ _\\-](S[^;/]+) Build/"); parser[1] = "$1 $2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[329] = parser; +exports.device[332] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(TA1013) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[330] = parser; +exports.device[333] = parser; +parser = Object.create(null); +parser[0] = new RegExp("; (RCT\\w+) Build/"); +parser[1] = "$1"; +parser[2] = 0; +parser[3] = 0; +parser[4] = 0; +exports.device[334] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(RK\\d+),? Build/"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[331] = parser; +exports.device[335] = parser; parser = Object.create(null); parser[0] = new RegExp(" Build/(RK\\d+)"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[332] = parser; +exports.device[336] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(SAMSUNG |Samsung )?((?:Galaxy (?:Note II|S\\d)|GT-I9082|GT-I9205|GT-N7\\d{3}|SM-N9005)[^;/]*)\\/?[^;/]* Build/"); parser[1] = "Samsung $1$2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[333] = parser; +exports.device[337] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(Google )?(Nexus [Ss](?: 4G)?) Build/"); parser[1] = "Samsung $1$2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[334] = parser; +exports.device[338] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(SAMSUNG |Samsung )([^\\/]*)\\/[^ ]* Build/"); parser[1] = "Samsung $2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[335] = parser; +exports.device[339] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(Galaxy(?: Ace| Nexus| S ?II+|Nexus S| with MCR 1.2| Mini Plus 4G)?) Build/"); parser[1] = "Samsung $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[336] = parser; +exports.device[340] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(SAMSUNG[ _\\-] *)+([^;/]+) Build"); parser[1] = "Samsung $2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[337] = parser; +exports.device[341] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(SAMSUNG-)?(GT\\-[BINPS]\\d{4}[^\\/]*)(\\/[^ ]*) Build"); parser[1] = "Samsung $1$2$3"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[338] = parser; +exports.device[342] = parser; parser = Object.create(null); parser[0] = new RegExp("(?:; *|^)((?:GT\\-[BIiNPS]\\d{4}|I9\\d{2}0[A-Za-z\\+]?\\b)[^;/\\)]*?)(?:Build|Linux|MIUI|[;/\\)])"); parser[1] = "Samsung $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[339] = parser; +exports.device[343] = parser; parser = Object.create(null); parser[0] = new RegExp("; (SAMSUNG-)([A-Za-z0-9\\-]+).* Build/"); parser[1] = "Samsung $1$2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[340] = parser; +exports.device[344] = parser; parser = Object.create(null); parser[0] = new RegExp("; *((?:SCH|SGH|SHV|SHW|SPH|SC|SM)\\-[A-Za-z0-9 ]+)(/?[^ ]*)? Build"); parser[1] = "Samsung $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[341] = parser; +exports.device[345] = parser; parser = Object.create(null); parser[0] = new RegExp(" ((?:SCH)\\-[A-Za-z0-9 ]+)(/?[^ ]*)? Build"); parser[1] = "Samsung $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[342] = parser; +exports.device[346] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(Behold ?(?:2|II)|YP\\-G[^;/]+|EK-GC100|SCL21|I9300) Build"); parser[1] = "Samsung $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[343] = parser; +exports.device[347] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(SH\\-?\\d\\d[^;/]+|SBM\\d[^;/]+) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[344] = parser; +exports.device[348] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(SHARP[ -])([^;/]+) Build"); parser[1] = "$1$2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[345] = parser; +exports.device[349] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(SPX[_\\-]\\d[^;/]*) Build/"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[346] = parser; +exports.device[350] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(SX7\\-PEARL\\.GmbH) Build/"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[347] = parser; +exports.device[351] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(SP[T]?\\-\\d{2}[^;/]*) Build/"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[348] = parser; +exports.device[352] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(SK\\-.*) Build/"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[349] = parser; +exports.device[353] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(?:SKYTEX|SX)-([^;/]+) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[350] = parser; +exports.device[354] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(IMAGINE [^;/]+) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[351] = parser; +exports.device[355] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(SmartQ) ?([^;/]+) Build/"); parser[1] = "$1 $2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[352] = parser; +exports.device[356] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(WF7C|WF10C|SBT[^;/]+) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[353] = parser; +exports.device[357] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(SBM(?:003SH|005SH|006SH|007SH|102SH)) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[354] = parser; +exports.device[358] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(003P|101P|101P11C|102P) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[355] = parser; +exports.device[359] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(00\\dZ) Build/"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[356] = parser; +exports.device[360] = parser; parser = Object.create(null); parser[0] = new RegExp("; HTC(X06HT) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[357] = parser; +exports.device[361] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(001HT|X06HT) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[358] = parser; +exports.device[362] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(201M) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[359] = parser; +exports.device[363] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(ST\\d{4}.*)Build/ST"); parser[1] = "Trekstor $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[360] = parser; +exports.device[364] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(ST\\d{4}.*) Build/"); parser[1] = "Trekstor $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[361] = parser; +exports.device[365] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(Sony ?Ericsson ?)([^;/]+) Build"); parser[1] = "$1$2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[362] = parser; +exports.device[366] = parser; parser = Object.create(null); parser[0] = new RegExp("; *((?:SK|ST|E|X|LT|MK|MT|WT)\\d{2}[a-z0-9]*(?:-o)?|R800i|U20i) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[363] = parser; +exports.device[367] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(Xperia (?:A8|Arc|Acro|Active|Live with Walkman|Mini|Neo|Play|Pro|Ray|X\\d+)[^;/]*) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[364] = parser; +exports.device[368] = parser; parser = Object.create(null); parser[0] = new RegExp("; Sony (Tablet[^;/]+) Build"); parser[1] = "Sony $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[365] = parser; +exports.device[369] = parser; parser = Object.create(null); parser[0] = new RegExp("; Sony ([^;/]+) Build"); parser[1] = "Sony $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[366] = parser; +exports.device[370] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(Sony)([A-Za-z0-9\\-]+) Build"); parser[1] = "$1 $2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[367] = parser; +exports.device[371] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(Xperia [^;/]+) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[368] = parser; +exports.device[372] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(C(?:1[0-9]|2[0-9]|53|55|6[0-9])[0-9]{2}|D[25]\\d{3}|D6[56]\\d{2}) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[369] = parser; +exports.device[373] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(SGP\\d{3}|SGPT\\d{2}) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[370] = parser; +exports.device[374] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(NW-Z1000Series) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[371] = parser; +exports.device[375] = parser; parser = Object.create(null); parser[0] = new RegExp("PLAYSTATION 3"); parser[1] = "PlayStation 3"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[372] = parser; +exports.device[376] = parser; parser = Object.create(null); parser[0] = new RegExp("(PlayStation (?:Portable|Vita|\\d+))"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[373] = parser; +exports.device[377] = parser; parser = Object.create(null); parser[0] = new RegExp("; *((?:CSL_Spice|Spice|SPICE|CSL)[ _\\-]?)?([Mm][Ii])([ _\\-])?(\\d{3}[^;/]*) Build/"); parser[1] = "$1$2$3$4"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[374] = parser; +exports.device[378] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(Sprint )(.+?) *(?:Build|[;/])"); parser[1] = "$1$2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[375] = parser; +exports.device[379] = parser; parser = Object.create(null); parser[0] = new RegExp("\\b(Sprint)[: ]([^;,/ ]+)"); parser[1] = "$1$2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[376] = parser; +exports.device[380] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(TAGI[ ]?)(MID) ?([^;/]+) Build/"); parser[1] = "$1$2$3"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[377] = parser; +exports.device[381] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(Oyster500|Opal 800) Build"); parser[1] = "Tecmobile $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[378] = parser; +exports.device[382] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(TECNO[ _])([^;/]+) Build/"); parser[1] = "$1$2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[379] = parser; +exports.device[383] = parser; parser = Object.create(null); parser[0] = new RegExp("; *Android for (Telechips|Techvision) ([^ ]+) "); parser[1] = "$1 $2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[380] = parser; +exports.device[384] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(T-Hub2) Build/"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[381] = parser; +exports.device[385] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(PAD) ?(100[12]) Build/"); parser[1] = "Terra $1$2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[382] = parser; +exports.device[386] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(T[BM]-\\d{3}[^;/]+) Build/"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[383] = parser; +exports.device[387] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(tolino [^;/]+) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[384] = parser; +exports.device[388] = parser; parser = Object.create(null); parser[0] = new RegExp("; *Build/.* (TOLINO_BROWSER)"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[385] = parser; +exports.device[389] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(?:CJ[ -])?(ThL|THL)[ -]([^;/]+) Build/"); parser[1] = "$1 $2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[386] = parser; +exports.device[390] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(T100|T200|T5|W100|W200|W8s) Build/"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[387] = parser; +exports.device[391] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(T-Mobile[ _]G2[ _]Touch) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[388] = parser; +exports.device[392] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(T-Mobile[ _]G2) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[389] = parser; +exports.device[393] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(T-Mobile myTouch Q) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[390] = parser; +exports.device[394] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(T-Mobile myTouch) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[391] = parser; +exports.device[395] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(T-Mobile_Espresso) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[392] = parser; +exports.device[396] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(T-Mobile G1) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[393] = parser; +exports.device[397] = parser; parser = Object.create(null); parser[0] = new RegExp("\\b(T-Mobile ?)?(myTouch)[ _]?([34]G)[ _]?([^\\/]*) (?:Mozilla|Build)"); parser[1] = "$1$2 $3 $4"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[394] = parser; +exports.device[398] = parser; parser = Object.create(null); parser[0] = new RegExp("\\b(T-Mobile)_([^_]+)_(.*) Build"); parser[1] = "$1 $2 $3"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[395] = parser; +exports.device[399] = parser; parser = Object.create(null); parser[0] = new RegExp("\\b(T-Mobile)[_ ]?(.*?)Build"); parser[1] = "$1 $2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[396] = parser; +exports.device[400] = parser; parser = Object.create(null); parser[0] = new RegExp(" (ATP[0-9]{4}) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[397] = parser; +exports.device[401] = parser; parser = Object.create(null); parser[0] = new RegExp(" *(TOOKY)[ _\\-]([^;/]+) ?(?:Build|;)"); parser[1] = "$1 $2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[398] = parser; +exports.device[402] = parser; parser = Object.create(null); parser[0] = new RegExp("\\b(TOSHIBA_AC_AND_AZ|TOSHIBA_FOLIO_AND_A|FOLIO_AND_A)"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[399] = parser; +exports.device[403] = parser; parser = Object.create(null); parser[0] = new RegExp("; *([Ff]olio ?100) Build/"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[400] = parser; +exports.device[404] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(AT[0-9]{2,3}(?:\\-A|LE\\-A|PE\\-A|SE|a)?|AT7-A|AT1S0|Hikari-iFrame/WDPF-[^;/]+|THRiVE|Thrive) Build/"); parser[1] = "Toshiba $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[401] = parser; +exports.device[405] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(TM-MID\\d+[^;/]+|TOUCHMATE|MID-750) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[402] = parser; +exports.device[406] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(TM-SM\\d+[^;/]+) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[403] = parser; +exports.device[407] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(A10 [Bb]asic2?) Build/"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[404] = parser; +exports.device[408] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(TREQ[ _\\-])([^;/]+) Build"); parser[1] = "$1$2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[405] = parser; +exports.device[409] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(X-?5|X-?3) Build/"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[406] = parser; +exports.device[410] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(A502\\+?|A936|A603|X1|X2) Build/"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[407] = parser; +exports.device[411] = parser; parser = Object.create(null); parser[0] = new RegExp("(TOUCH(?:TAB|PAD).+?) Build/"); parser[1] = "Versus $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[408] = parser; +exports.device[412] = parser; parser = Object.create(null); parser[0] = new RegExp("(VERTU) ([^;/]+) Build/"); parser[1] = "$1 $2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[409] = parser; +exports.device[413] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(Videocon)[ _\\-]([^;/]+) *(?:Build|;)"); parser[1] = "$1 $2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[410] = parser; +exports.device[414] = parser; parser = Object.create(null); parser[0] = new RegExp(" (VT\\d{2}[A-Za-z]*) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[411] = parser; +exports.device[415] = parser; parser = Object.create(null); parser[0] = new RegExp("; *((?:ViewPad|ViewPhone|VSD)[^;/]+) Build/"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[412] = parser; +exports.device[416] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(ViewSonic-)([^;/]+) Build/"); parser[1] = "$1$2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[413] = parser; +exports.device[417] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(GTablet.*) Build/"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[414] = parser; +exports.device[418] = parser; parser = Object.create(null); parser[0] = new RegExp("; *([Vv]ivo)[ _]([^;/]+) Build"); parser[1] = "$1 $2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[415] = parser; +exports.device[419] = parser; parser = Object.create(null); parser[0] = new RegExp("(Vodafone) (.*) Build/"); parser[1] = "$1 $2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[416] = parser; +exports.device[420] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(?:Walton[ _\\-])?(Primo[ _\\-][^;/]+) Build"); parser[1] = "Walton $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[417] = parser; +exports.device[421] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(?:WIKO[ \\-])?(CINK\\+?|BARRY|BLOOM|DARKFULL|DARKMOON|DARKNIGHT|DARKSIDE|FIZZ|HIGHWAY|IGGY|OZZY|RAINBOW|STAIRWAY|SUBLIM|WAX|CINK [^;/]+) Build/"); parser[1] = "Wiko $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[418] = parser; +exports.device[422] = parser; parser = Object.create(null); parser[0] = new RegExp("; *WellcoM-([^;/]+) Build"); parser[1] = "Wellcom $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[419] = parser; +exports.device[423] = parser; parser = Object.create(null); parser[0] = new RegExp("(?:(WeTab)-Browser|; (wetab) Build)"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[420] = parser; +exports.device[424] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(AT-AS[^;/]+) Build"); parser[1] = "Wolfgang $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[421] = parser; +exports.device[425] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(?:Woxter|Wxt) ([^;/]+) Build"); parser[1] = "Woxter $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[422] = parser; +exports.device[426] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(?:Xenta |Luna )?(TAB[234][0-9]{2}|TAB0[78]-\\d{3}|TAB0?9-\\d{3}|TAB1[03]-\\d{3}|SMP\\d{2}-\\d{3}) Build/"); parser[1] = "Yarvik $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[423] = parser; +exports.device[427] = parser; parser = Object.create(null); parser[0] = new RegExp("; *([A-Z]{2,4})(M\\d{3,}[A-Z]{2})([^;\\)\\/]*)(?: Build|[;\\)])"); parser[1] = "Yifang $1$2$3"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[424] = parser; +exports.device[428] = parser; parser = Object.create(null); parser[0] = new RegExp("; *((MI|HM|MI-ONE|Redmi)[ -](NOTE |Note )?[^;/]*) (Build|MIUI)/"); parser[1] = "XiaoMi $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[425] = parser; +exports.device[429] = parser; parser = Object.create(null); parser[0] = new RegExp("; *XOLO[ _]([^;/]*tab.*) Build"); parser[1] = "Xolo $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[426] = parser; +exports.device[430] = parser; parser = Object.create(null); parser[0] = new RegExp("; *XOLO[ _]([^;/]+) Build"); parser[1] = "Xolo $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[427] = parser; +exports.device[431] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(q\\d0{2,3}[a-z]?) Build"); parser[1] = "Xolo $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[428] = parser; +exports.device[432] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(PAD ?[79]\\d+[^;/]*|TelePAD\\d+[^;/]) Build"); parser[1] = "Xoro $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[429] = parser; +exports.device[433] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(?:(?:ZOPO|Zopo)[ _]([^;/]+)|(ZP ?(?:\\d{2}[^;/]+|C2))|(C[2379])) Build"); parser[1] = "$1$2$3"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[430] = parser; +exports.device[434] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(ZiiLABS) (Zii[^;/]*) Build"); parser[1] = "$1 $2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[431] = parser; +exports.device[435] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(Zii)_([^;/]*) Build"); parser[1] = "$1 $2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[432] = parser; +exports.device[436] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(ARIZONA|(?:ATLAS|Atlas) W|D930|Grand (?:[SX][^;]*|Era|Memo[^;]*)|JOE|(?:Kis|KIS)\\b[^;]*|Libra|Light [^;]*|N8[056][01]|N850L|N8000|N9[15]\\d{2}|N9810|NX501|Optik|(?:Vip )Racer[^;]*|RacerII|RACERII|San Francisco[^;]*|V9[AC]|V55|V881|Z[679][0-9]{2}[A-z]?) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[433] = parser; +exports.device[437] = parser; parser = Object.create(null); parser[0] = new RegExp("; *([A-Z]\\d+)_USA_[^;]* Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[434] = parser; +exports.device[438] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(SmartTab\\d+)[^;]* Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[435] = parser; +exports.device[439] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(?:Blade|BLADE|ZTE-BLADE)([^;/]*) Build"); parser[1] = "ZTE Blade$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[436] = parser; +exports.device[440] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(?:Skate|SKATE|ZTE-SKATE)([^;/]*) Build"); parser[1] = "ZTE Skate$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[437] = parser; +exports.device[441] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(Orange |Optimus )(Monte Carlo|San Francisco) Build"); parser[1] = "$1$2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[438] = parser; +exports.device[442] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(?:ZXY-ZTE_|ZTE\\-U |ZTE[\\- _]|ZTE-C[_ ])([^;/]+) Build"); parser[1] = "ZTE $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[439] = parser; +exports.device[443] = parser; parser = Object.create(null); parser[0] = new RegExp("; (BASE) (lutea|Lutea 2|Tab[^;]*) Build"); parser[1] = "$1 $2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[440] = parser; +exports.device[444] = parser; parser = Object.create(null); parser[0] = new RegExp("; (Avea inTouch 2|soft stone|tmn smart a7|Movistar[ _]Link) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[441] = parser; +exports.device[445] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(vp9plus)\\)"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[442] = parser; +exports.device[446] = parser; parser = Object.create(null); parser[0] = new RegExp("; ?(Cloud[ _]Z5|z1000|Z99 2G|z99|z930|z999|z990|z909|Z919|z900) Build/"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[443] = parser; +exports.device[447] = parser; parser = Object.create(null); parser[0] = new RegExp("; ?(KFOT|Kindle Fire) Build\\b"); parser[1] = "Kindle Fire"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[444] = parser; +exports.device[448] = parser; parser = Object.create(null); parser[0] = new RegExp("; ?(KFOTE|Amazon Kindle Fire2) Build\\b"); parser[1] = "Kindle Fire 2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[445] = parser; +exports.device[449] = parser; parser = Object.create(null); parser[0] = new RegExp("; ?(KFTT) Build\\b"); parser[1] = "Kindle Fire HD"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[446] = parser; +exports.device[450] = parser; parser = Object.create(null); parser[0] = new RegExp("; ?(KFJWI) Build\\b"); parser[1] = "Kindle Fire HD 8.9\" WiFi"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[447] = parser; +exports.device[451] = parser; parser = Object.create(null); parser[0] = new RegExp("; ?(KFJWA) Build\\b"); parser[1] = "Kindle Fire HD 8.9\" 4G"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[448] = parser; +exports.device[452] = parser; parser = Object.create(null); parser[0] = new RegExp("; ?(KFSOWI) Build\\b"); parser[1] = "Kindle Fire HD 7\" WiFi"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[449] = parser; +exports.device[453] = parser; parser = Object.create(null); parser[0] = new RegExp("; ?(KFTHWI) Build\\b"); parser[1] = "Kindle Fire HDX 7\" WiFi"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[450] = parser; +exports.device[454] = parser; parser = Object.create(null); parser[0] = new RegExp("; ?(KFTHWA) Build\\b"); parser[1] = "Kindle Fire HDX 7\" 4G"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[451] = parser; +exports.device[455] = parser; parser = Object.create(null); parser[0] = new RegExp("; ?(KFAPWI) Build\\b"); parser[1] = "Kindle Fire HDX 8.9\" WiFi"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[452] = parser; +exports.device[456] = parser; parser = Object.create(null); parser[0] = new RegExp("; ?(KFAPWA) Build\\b"); parser[1] = "Kindle Fire HDX 8.9\" 4G"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[453] = parser; +exports.device[457] = parser; parser = Object.create(null); parser[0] = new RegExp("; ?Amazon ([^;/]+) Build\\b"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[454] = parser; +exports.device[458] = parser; parser = Object.create(null); parser[0] = new RegExp("; ?(Kindle) Build\\b"); parser[1] = "Kindle"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[455] = parser; +exports.device[459] = parser; parser = Object.create(null); parser[0] = new RegExp("; ?(Silk)/(\\d+)\\.(\\d+)(?:\\.([0-9\\-]+))? Build\\b"); parser[1] = "Kindle Fire"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[456] = parser; +exports.device[460] = parser; parser = Object.create(null); parser[0] = new RegExp(" (Kindle)/(\\d+\\.\\d+)"); parser[1] = "Kindle"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[457] = parser; +exports.device[461] = parser; parser = Object.create(null); parser[0] = new RegExp(" (Silk|Kindle)/(\\d+)\\."); parser[1] = "Kindle"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[458] = parser; +exports.device[462] = parser; parser = Object.create(null); parser[0] = new RegExp("(sprd)\\-([^/]+)/"); parser[1] = "$1 $2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[459] = parser; +exports.device[463] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(H\\d{2}00\\+?) Build"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[460] = parser; +exports.device[464] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(iphone|iPhone5) Build/"); parser[1] = "Xianghe $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[461] = parser; +exports.device[465] = parser; parser = Object.create(null); parser[0] = new RegExp("; *(e\\d{4}[a-z]?_?v\\d+|v89_[^;/]+)[^;/]+ Build/"); parser[1] = "Xianghe $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[462] = parser; +exports.device[466] = parser; parser = Object.create(null); parser[0] = new RegExp("\\bUSCC[_\\-]?([^ ;/\\)]+)"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[463] = parser; +exports.device[467] = parser; parser = Object.create(null); parser[0] = new RegExp("Windows Phone [^;]+; .*?IEMobile/[^;\\)]+[;\\)] ?(?:ARM; ?Touch; ?|Touch; ?)?(?:ALCATEL)[^;]*; *([^;,\\)]+)"); parser[1] = "Alcatel $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[464] = parser; +exports.device[468] = parser; parser = Object.create(null); parser[0] = new RegExp("Windows Phone [^;]+; .*?IEMobile/[^;\\)]+[;\\)] ?(?:ARM; ?Touch; ?|Touch; ?|WpsLondonTest; ?)?(?:ASUS|Asus)[^;]*; *([^;,\\)]+)"); parser[1] = "Asus $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[465] = parser; +exports.device[469] = parser; parser = Object.create(null); parser[0] = new RegExp("Windows Phone [^;]+; .*?IEMobile/[^;\\)]+[;\\)] ?(?:ARM; ?Touch; ?|Touch; ?)?(?:DELL|Dell)[^;]*; *([^;,\\)]+)"); parser[1] = "Dell $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[466] = parser; +exports.device[470] = parser; parser = Object.create(null); parser[0] = new RegExp("Windows Phone [^;]+; .*?IEMobile/[^;\\)]+[;\\)] ?(?:ARM; ?Touch; ?|Touch; ?|WpsLondonTest; ?)?(?:HTC|Htc|HTC_blocked[^;]*)[^;]*; *(?:HTC)?([^;,\\)]+)"); parser[1] = "HTC $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[467] = parser; +exports.device[471] = parser; parser = Object.create(null); parser[0] = new RegExp("Windows Phone [^;]+; .*?IEMobile/[^;\\)]+[;\\)] ?(?:ARM; ?Touch; ?|Touch; ?)?(?:HUAWEI)[^;]*; *(?:HUAWEI )?([^;,\\)]+)"); parser[1] = "Huawei $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[468] = parser; +exports.device[472] = parser; parser = Object.create(null); parser[0] = new RegExp("Windows Phone [^;]+; .*?IEMobile/[^;\\)]+[;\\)] ?(?:ARM; ?Touch; ?|Touch; ?)?(?:LG|Lg)[^;]*; *(?:LG[ \\-])?([^;,\\)]+)"); parser[1] = "LG $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[469] = parser; +exports.device[473] = parser; parser = Object.create(null); parser[0] = new RegExp("Windows Phone [^;]+; .*?IEMobile/[^;\\)]+[;\\)] ?(?:ARM; ?Touch; ?|Touch; ?)?(?:NOKIA|Nokia)[^;]*; *(?:NOKIA ?|Nokia ?|LUMIA ?|[Ll]umia ?)*(\\d{3,}[^;\\)]*)"); parser[1] = "Lumia $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[470] = parser; +exports.device[474] = parser; parser = Object.create(null); parser[0] = new RegExp("Windows Phone [^;]+; .*?IEMobile/[^;\\)]+[;\\)] ?(?:ARM; ?Touch; ?|Touch; ?)?(?:NOKIA|Nokia)[^;]*; *(RM-\\d{3,})"); parser[1] = "Nokia $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[471] = parser; +exports.device[475] = parser; parser = Object.create(null); parser[0] = new RegExp("(?:Windows Phone [^;]+; .*?IEMobile/[^;\\)]+[;\\)]|WPDesktop;) ?(?:ARM; ?Touch; ?|Touch; ?)?(?:NOKIA|Nokia)[^;]*; *(?:NOKIA ?|Nokia ?|LUMIA ?|[Ll]umia ?)*([^;\\)]+)"); parser[1] = "Nokia $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[472] = parser; +exports.device[476] = parser; parser = Object.create(null); parser[0] = new RegExp("Windows Phone [^;]+; .*?IEMobile/[^;\\)]+[;\\)] ?(?:ARM; ?Touch; ?|Touch; ?)?(?:Microsoft(?: Corporation)?)[^;]*; *([^;,\\)]+)"); parser[1] = "Microsoft $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[473] = parser; +exports.device[477] = parser; parser = Object.create(null); parser[0] = new RegExp("Windows Phone [^;]+; .*?IEMobile/[^;\\)]+[;\\)] ?(?:ARM; ?Touch; ?|Touch; ?|WpsLondonTest; ?)?(?:SAMSUNG)[^;]*; *(?:SAMSUNG )?([^;,\\.\\)]+)"); parser[1] = "Samsung $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[474] = parser; +exports.device[478] = parser; parser = Object.create(null); parser[0] = new RegExp("Windows Phone [^;]+; .*?IEMobile/[^;\\)]+[;\\)] ?(?:ARM; ?Touch; ?|Touch; ?|WpsLondonTest; ?)?(?:TOSHIBA|FujitsuToshibaMobileCommun)[^;]*; *([^;,\\)]+)"); parser[1] = "Toshiba $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[475] = parser; +exports.device[479] = parser; parser = Object.create(null); parser[0] = new RegExp("Windows Phone [^;]+; .*?IEMobile/[^;\\)]+[;\\)] ?(?:ARM; ?Touch; ?|Touch; ?|WpsLondonTest; ?)?([^;]+); *([^;,\\)]+)"); parser[1] = "$1 $2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[476] = parser; +exports.device[480] = parser; parser = Object.create(null); parser[0] = new RegExp("(?:^|; )SAMSUNG\\-([A-Za-z0-9\\-]+).* Bada/"); parser[1] = "Samsung $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[477] = parser; +exports.device[481] = parser; parser = Object.create(null); parser[0] = new RegExp("\\(Mobile; ALCATEL ?(One|ONE) ?(Touch|TOUCH) ?([^;/]+)(?:/[^;]+)?; rv:[^\\)]+\\) Gecko/[^\\/]+ Firefox/"); parser[1] = "Alcatel $1 $2 $3"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[478] = parser; +exports.device[482] = parser; parser = Object.create(null); parser[0] = new RegExp("\\(Mobile; (?:ZTE([^;]+)|(OpenC)); rv:[^\\)]+\\) Gecko/[^\\/]+ Firefox/"); parser[1] = "ZTE $1$2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[479] = parser; +exports.device[483] = parser; parser = Object.create(null); parser[0] = new RegExp("Nokia(N[0-9]+)([A-z_\\-][A-z0-9_\\-]*)"); parser[1] = "Nokia $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[480] = parser; +exports.device[484] = parser; parser = Object.create(null); parser[0] = new RegExp("(?:NOKIA|Nokia)(?:\\-| *)(?:([A-Za-z0-9]+)\\-[0-9a-f]{32}|([A-Za-z0-9\\-]+)(?:UCBrowser)|([A-Za-z0-9\\-]+))"); parser[1] = "Nokia $1$2$3"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[481] = parser; +exports.device[485] = parser; parser = Object.create(null); parser[0] = new RegExp("Lumia ([A-Za-z0-9\\-]+)"); parser[1] = "Lumia $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[482] = parser; +exports.device[486] = parser; parser = Object.create(null); parser[0] = new RegExp("\\(Symbian; U; S60 V5; [A-z]{2}\\-[A-z]{2}; (SonyEricsson|Samsung|Nokia|LG)([^;/]+)\\)"); parser[1] = "$1 $2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[483] = parser; +exports.device[487] = parser; parser = Object.create(null); parser[0] = new RegExp("\\(Symbian(?:/3)?; U; ([^;]+);"); parser[1] = "Nokia $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[484] = parser; +exports.device[488] = parser; parser = Object.create(null); parser[0] = new RegExp("BB10; ([A-Za-z0-9\\- ]+)\\)"); parser[1] = "BlackBerry $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[485] = parser; +exports.device[489] = parser; parser = Object.create(null); parser[0] = new RegExp("Play[Bb]ook.+RIM Tablet OS"); parser[1] = "BlackBerry Playbook"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[486] = parser; +exports.device[490] = parser; parser = Object.create(null); parser[0] = new RegExp("Black[Bb]erry ([0-9]+);"); parser[1] = "BlackBerry $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[487] = parser; +exports.device[491] = parser; parser = Object.create(null); parser[0] = new RegExp("Black[Bb]erry([0-9]+)"); parser[1] = "BlackBerry $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[488] = parser; +exports.device[492] = parser; parser = Object.create(null); parser[0] = new RegExp("Black[Bb]erry;"); parser[1] = "BlackBerry"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[489] = parser; +exports.device[493] = parser; parser = Object.create(null); parser[0] = new RegExp("(Pre|Pixi)/\\d+\\.\\d+"); parser[1] = "Palm $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[490] = parser; +exports.device[494] = parser; parser = Object.create(null); parser[0] = new RegExp("Palm([0-9]+)"); parser[1] = "Palm $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[491] = parser; +exports.device[495] = parser; parser = Object.create(null); parser[0] = new RegExp("Treo([A-Za-z0-9]+)"); parser[1] = "Palm Treo $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[492] = parser; +exports.device[496] = parser; parser = Object.create(null); parser[0] = new RegExp("webOS.*(P160U(?:NA)?)/(\\d+).(\\d+)"); parser[1] = "HP Veer"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[493] = parser; +exports.device[497] = parser; parser = Object.create(null); parser[0] = new RegExp("(Touch[Pp]ad)/\\d+\\.\\d+"); parser[1] = "HP TouchPad"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[494] = parser; +exports.device[498] = parser; parser = Object.create(null); parser[0] = new RegExp("HPiPAQ([A-Za-z0-9]+)/\\d+.\\d+"); parser[1] = "HP iPAQ $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[495] = parser; +exports.device[499] = parser; parser = Object.create(null); parser[0] = new RegExp("PDA; (PalmOS)/sony/model ([a-z]+)/Revision"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[496] = parser; +exports.device[500] = parser; parser = Object.create(null); parser[0] = new RegExp("(Apple\\s?TV)"); parser[1] = "AppleTV"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[497] = parser; +exports.device[501] = parser; parser = Object.create(null); parser[0] = new RegExp("(QtCarBrowser)"); parser[1] = "Tesla Model S"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[498] = parser; +exports.device[502] = parser; parser = Object.create(null); parser[0] = new RegExp("(iPhone|iPad|iPod)(\\d+,\\d+)"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[499] = parser; +exports.device[503] = parser; parser = Object.create(null); parser[0] = new RegExp("(iPad)(?:;| Simulator;)"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[500] = parser; +exports.device[504] = parser; parser = Object.create(null); parser[0] = new RegExp("(iPod)(?:;| touch;| Simulator;)"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[501] = parser; +exports.device[505] = parser; parser = Object.create(null); parser[0] = new RegExp("(iPhone)(?:;| Simulator;)"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[502] = parser; +exports.device[506] = parser; parser = Object.create(null); parser[0] = new RegExp("CFNetwork/.* Darwin/\\d.*\\(((?:Mac|iMac|PowerMac|PowerBook)[^\\d]*)(\\d+)(?:,|%2C)(\\d+)"); parser[1] = "$1$2,$3"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[503] = parser; +exports.device[507] = parser; parser = Object.create(null); parser[0] = new RegExp("CFNetwork/.* Darwin/\\d"); parser[1] = "iOS-Device"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[504] = parser; +exports.device[508] = parser; parser = Object.create(null); parser[0] = new RegExp("acer_([A-Za-z0-9]+)_"); parser[1] = "Acer $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[505] = parser; +exports.device[509] = parser; parser = Object.create(null); parser[0] = new RegExp("(?:ALCATEL|Alcatel)-([A-Za-z0-9\\-]+)"); parser[1] = "Alcatel $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[506] = parser; +exports.device[510] = parser; parser = Object.create(null); parser[0] = new RegExp("(?:Amoi|AMOI)\\-([A-Za-z0-9]+)"); parser[1] = "Amoi $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[507] = parser; +exports.device[511] = parser; parser = Object.create(null); parser[0] = new RegExp("(?:; |\\/|^)((?:Transformer (?:Pad|Prime) |Transformer |PadFone[ _]?)[A-Za-z0-9]*)"); parser[1] = "Asus $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[508] = parser; +exports.device[512] = parser; parser = Object.create(null); parser[0] = new RegExp("(?:asus.*?ASUS|Asus|ASUS|asus)[\\- ;]*((?:Transformer (?:Pad|Prime) |Transformer |Padfone |Nexus[ _])?[A-Za-z0-9]+)"); parser[1] = "Asus $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[509] = parser; +exports.device[513] = parser; parser = Object.create(null); parser[0] = new RegExp("\\bBIRD[ \\-\\.]([A-Za-z0-9]+)"); parser[1] = "Bird $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[510] = parser; +exports.device[514] = parser; parser = Object.create(null); parser[0] = new RegExp("\\bDell ([A-Za-z0-9]+)"); parser[1] = "Dell $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[511] = parser; +exports.device[515] = parser; parser = Object.create(null); parser[0] = new RegExp("DoCoMo/2\\.0 ([A-Za-z0-9]+)"); parser[1] = "DoCoMo $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[512] = parser; +exports.device[516] = parser; parser = Object.create(null); parser[0] = new RegExp("([A-Za-z0-9]+)_W;FOMA"); parser[1] = "DoCoMo $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[513] = parser; +exports.device[517] = parser; parser = Object.create(null); parser[0] = new RegExp("([A-Za-z0-9]+);FOMA"); parser[1] = "DoCoMo $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[514] = parser; +exports.device[518] = parser; parser = Object.create(null); parser[0] = new RegExp("\\b(?:HTC/|HTC/[a-z0-9]+/)?HTC[ _\\-;]? *(.*?)(?:-?Mozilla|fingerPrint|[;/\\(\\)]|$)"); parser[1] = "HTC $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[515] = parser; +exports.device[519] = parser; parser = Object.create(null); parser[0] = new RegExp("Huawei([A-Za-z0-9]+)"); parser[1] = "Huawei $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[516] = parser; +exports.device[520] = parser; parser = Object.create(null); parser[0] = new RegExp("HUAWEI-([A-Za-z0-9]+)"); parser[1] = "Huawei $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[517] = parser; +exports.device[521] = parser; parser = Object.create(null); parser[0] = new RegExp("vodafone([A-Za-z0-9]+)"); parser[1] = "Huawei Vodafone $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[518] = parser; +exports.device[522] = parser; parser = Object.create(null); parser[0] = new RegExp("i\\-mate ([A-Za-z0-9]+)"); parser[1] = "i-mate $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[519] = parser; +exports.device[523] = parser; parser = Object.create(null); parser[0] = new RegExp("Kyocera\\-([A-Za-z0-9]+)"); parser[1] = "Kyocera $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[520] = parser; +exports.device[524] = parser; parser = Object.create(null); parser[0] = new RegExp("KWC\\-([A-Za-z0-9]+)"); parser[1] = "Kyocera $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[521] = parser; +exports.device[525] = parser; parser = Object.create(null); parser[0] = new RegExp("Lenovo[_\\-]([A-Za-z0-9]+)"); parser[1] = "Lenovo $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[522] = parser; +exports.device[526] = parser; parser = Object.create(null); parser[0] = new RegExp("(HbbTV)/[0-9]+\\.[0-9]+\\.[0-9]+ \\([^;]*; *(LG)E *; *([^;]*) *;[^;]*;[^;]*;\\)"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[523] = parser; +exports.device[527] = parser; parser = Object.create(null); parser[0] = new RegExp("(HbbTV)/1\\.1\\.1.*CE-HTML/1\\.\\d;(Vendor/)*(THOM[^;]*?)[;\\s](?:.*SW-Version/.*)*(LF[^;]+);?"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[524] = parser; +exports.device[528] = parser; parser = Object.create(null); parser[0] = new RegExp("(HbbTV)(?:/1\\.1\\.1)?(?: ?\\(;;;;;\\))?; *CE-HTML(?:/1\\.\\d)?; *([^ ]+) ([^;]+);"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[525] = parser; +exports.device[529] = parser; parser = Object.create(null); parser[0] = new RegExp("(HbbTV)/1\\.1\\.1 \\(;;;;;\\) Maple_2011"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[526] = parser; +exports.device[530] = parser; parser = Object.create(null); parser[0] = new RegExp("(HbbTV)/[0-9]+\\.[0-9]+\\.[0-9]+ \\([^;]*; *(?:CUS:([^;]*)|([^;]+)) *; *([^;]*) *;.*;"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[527] = parser; +exports.device[531] = parser; parser = Object.create(null); parser[0] = new RegExp("(HbbTV)/[0-9]+\\.[0-9]+\\.[0-9]+"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[528] = parser; +exports.device[532] = parser; parser = Object.create(null); parser[0] = new RegExp("LGE; (?:Media\\/)?([^;]*);[^;]*;[^;]*;?\\); \"?LG NetCast(\\.TV|\\.Media|)-\\d+"); parser[1] = "NetCast$2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[529] = parser; +exports.device[533] = parser; parser = Object.create(null); parser[0] = new RegExp("InettvBrowser/[0-9]+\\.[0-9A-Z]+ \\([^;]*;(Sony)([^;]*);[^;]*;[^\\)]*\\)"); parser[1] = "Inettv"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[530] = parser; +exports.device[534] = parser; parser = Object.create(null); parser[0] = new RegExp("InettvBrowser/[0-9]+\\.[0-9A-Z]+ \\([^;]*;([^;]*);[^;]*;[^\\)]*\\)"); parser[1] = "Inettv"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[531] = parser; +exports.device[535] = parser; parser = Object.create(null); parser[0] = new RegExp("(?:InettvBrowser|TSBNetTV|NETTV|HBBTV)"); parser[1] = "Inettv"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[532] = parser; +exports.device[536] = parser; parser = Object.create(null); parser[0] = new RegExp("Series60/\\d\\.\\d (LG)[\\-]?([A-Za-z0-9 \\-]+)"); parser[1] = "$1 $2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[533] = parser; +exports.device[537] = parser; parser = Object.create(null); parser[0] = new RegExp("\\b(?:LGE[ \\-]LG\\-(?:AX)?|LGE |LGE?-LG|LGE?[ \\-]|LG[ /\\-]|lg[\\-])([A-Za-z0-9]+)\\b"); parser[1] = "LG $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[534] = parser; +exports.device[538] = parser; parser = Object.create(null); parser[0] = new RegExp("(?:^LG[\\-]?|^LGE[\\-/]?)([A-Za-z]+[0-9]+[A-Za-z]*)"); parser[1] = "LG $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[535] = parser; +exports.device[539] = parser; parser = Object.create(null); parser[0] = new RegExp("^LG([0-9]+[A-Za-z]*)"); parser[1] = "LG $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[536] = parser; +exports.device[540] = parser; parser = Object.create(null); parser[0] = new RegExp("(KIN\\.[^ ]+) (\\d+)\\.(\\d+)"); parser[1] = "Microsoft $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[537] = parser; +exports.device[541] = parser; parser = Object.create(null); parser[0] = new RegExp("(?:MSIE|XBMC).*\\b(Xbox)\\b"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[538] = parser; +exports.device[542] = parser; parser = Object.create(null); parser[0] = new RegExp("; ARM; Trident/6\\.0; Touch[\\);]"); parser[1] = "Microsoft Surface RT"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[539] = parser; +exports.device[543] = parser; parser = Object.create(null); parser[0] = new RegExp("Motorola\\-([A-Za-z0-9]+)"); parser[1] = "Motorola $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[540] = parser; +exports.device[544] = parser; parser = Object.create(null); parser[0] = new RegExp("MOTO\\-([A-Za-z0-9]+)"); parser[1] = "Motorola $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[541] = parser; +exports.device[545] = parser; parser = Object.create(null); parser[0] = new RegExp("MOT\\-([A-z0-9][A-z0-9\\-]*)"); parser[1] = "Motorola $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[542] = parser; +exports.device[546] = parser; parser = Object.create(null); parser[0] = new RegExp("Nintendo WiiU"); parser[1] = "Nintendo Wii U"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[543] = parser; +exports.device[547] = parser; parser = Object.create(null); parser[0] = new RegExp("Nintendo (DS|3DS|DSi|Wii);"); parser[1] = "Nintendo $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[544] = parser; +exports.device[548] = parser; parser = Object.create(null); parser[0] = new RegExp("(?:Pantech|PANTECH)[ _-]?([A-Za-z0-9\\-]+)"); parser[1] = "Pantech $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[545] = parser; +exports.device[549] = parser; parser = Object.create(null); parser[0] = new RegExp("Philips([A-Za-z0-9]+)"); parser[1] = "Philips $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[546] = parser; +exports.device[550] = parser; parser = Object.create(null); parser[0] = new RegExp("Philips ([A-Za-z0-9]+)"); parser[1] = "Philips $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[547] = parser; +exports.device[551] = parser; parser = Object.create(null); parser[0] = new RegExp("(SMART-TV); .* Tizen "); parser[1] = "Samsung $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[548] = parser; +exports.device[552] = parser; parser = Object.create(null); parser[0] = new RegExp("SymbianOS/9\\.\\d.* Samsung[/\\-]([A-Za-z0-9 \\-]+)"); parser[1] = "Samsung $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[549] = parser; +exports.device[553] = parser; parser = Object.create(null); parser[0] = new RegExp("(Samsung)(SGH)(i[0-9]+)"); parser[1] = "$1 $2$3"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[550] = parser; +exports.device[554] = parser; parser = Object.create(null); parser[0] = new RegExp("SAMSUNG-ANDROID-MMS/([^;/]+)"); parser[1] = "$1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[551] = parser; +exports.device[555] = parser; parser = Object.create(null); parser[0] = new RegExp("SAMSUNG(?:; |[ -/])([A-Za-z0-9\\-]+)"); parser[1] = "Samsung $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[552] = parser; +exports.device[556] = parser; parser = Object.create(null); parser[0] = new RegExp("(Dreamcast)"); parser[1] = "Sega $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[553] = parser; +exports.device[557] = parser; parser = Object.create(null); parser[0] = new RegExp("^SIE-([A-Za-z0-9]+)"); parser[1] = "Siemens $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[554] = parser; +exports.device[558] = parser; parser = Object.create(null); parser[0] = new RegExp("Softbank/[12]\\.0/([A-Za-z0-9]+)"); parser[1] = "Softbank $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[555] = parser; +exports.device[559] = parser; parser = Object.create(null); parser[0] = new RegExp("SonyEricsson ?([A-Za-z0-9\\-]+)"); parser[1] = "Ericsson $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[556] = parser; +exports.device[560] = parser; parser = Object.create(null); parser[0] = new RegExp("Android [^;]+; ([^ ]+) (Sony)/"); parser[1] = "$2 $1"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[557] = parser; +exports.device[561] = parser; parser = Object.create(null); parser[0] = new RegExp("(Sony)(?:BDP\\/|\\/)?([^ /;\\)]+)[ /;\\)]"); parser[1] = "$1 $2"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[558] = parser; +exports.device[562] = parser; parser = Object.create(null); parser[0] = new RegExp("Puffin/[\\d\\.]+IT"); parser[1] = "iPad"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[559] = parser; +exports.device[563] = parser; parser = Object.create(null); parser[0] = new RegExp("Puffin/[\\d\\.]+IP"); parser[1] = "iPhone"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[560] = parser; +exports.device[564] = parser; parser = Object.create(null); parser[0] = new RegExp("Puffin/[\\d\\.]+AT"); parser[1] = "Generic Tablet"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[561] = parser; +exports.device[565] = parser; parser = Object.create(null); parser[0] = new RegExp("Puffin/[\\d\\.]+AP"); parser[1] = "Generic Smartphone"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[562] = parser; +exports.device[566] = parser; parser = Object.create(null); parser[0] = new RegExp("Android[\\- ][\\d]+\\.[\\d]+; [A-Za-z]{2}\\-[A-Za-z]{0,2}; WOWMobile (.+) Build[/ ]"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[563] = parser; +exports.device[567] = parser; parser = Object.create(null); parser[0] = new RegExp("Android[\\- ][\\d]+\\.[\\d]+\\-update1; [A-Za-z]{2}\\-[A-Za-z]{0,2} *; *(.+?) Build[/ ]"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[564] = parser; +exports.device[568] = parser; parser = Object.create(null); parser[0] = new RegExp("Android[\\- ][\\d]+(?:\\.[\\d]+){1,2}; *[A-Za-z]{2}[_\\-][A-Za-z]{0,2}\\-? *; *(.+?) Build[/ ]"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[565] = parser; +exports.device[569] = parser; parser = Object.create(null); parser[0] = new RegExp("Android[\\- ][\\d]+(?:\\.[\\d]+){1,2}; *[A-Za-z]{0,2}\\- *; *(.+?) Build[/ ]"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[566] = parser; +exports.device[570] = parser; parser = Object.create(null); parser[0] = new RegExp("Android[\\- ][\\d]+(?:\\.[\\d]+){1,2}; *[a-z]{0,2}[_\\-]?[A-Za-z]{0,2};? Build[/ ]"); parser[1] = "Generic Smartphone"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[567] = parser; +exports.device[571] = parser; parser = Object.create(null); parser[0] = new RegExp("Android[\\- ][\\d]+(?:\\.[\\d]+){1,2}; *\\-?[A-Za-z]{2}; *(.+?) Build[/ ]"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[568] = parser; +exports.device[572] = parser; parser = Object.create(null); parser[0] = new RegExp("Android[\\- ][\\d]+(?:\\.[\\d]+){1,2}(?:;.*)?; *(.+?) Build[/ ]"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[569] = parser; +exports.device[573] = parser; parser = Object.create(null); parser[0] = new RegExp("(GoogleTV)"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[570] = parser; +exports.device[574] = parser; parser = Object.create(null); parser[0] = new RegExp("(WebTV)/\\d+.\\d+"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[571] = parser; +exports.device[575] = parser; parser = Object.create(null); parser[0] = new RegExp("^(Roku)/DVP-\\d+\\.\\d+"); parser[1] = 0; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[572] = parser; +exports.device[576] = parser; parser = Object.create(null); parser[0] = new RegExp("(Android 3\\.\\d|Opera Tablet|Tablet; .+Firefox/|Android.*(?:Tab|Pad))"); parser[1] = "Generic Tablet"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[573] = parser; +exports.device[577] = parser; parser = Object.create(null); parser[0] = new RegExp("(Symbian|\\bS60(Version|V\\d)|\\bS60\\b|\\((Series 60|Windows Mobile|Palm OS|Bada); Opera Mini|Windows CE|Opera Mobi|BREW|Brew|Mobile; .+Firefox/|iPhone OS|Android|MobileSafari|Windows *Phone|\\(webOS/|PalmOS)"); parser[1] = "Generic Smartphone"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[574] = parser; +exports.device[578] = parser; parser = Object.create(null); parser[0] = new RegExp("(hiptop|avantgo|plucker|xiino|blazer|elaine)"); parser[1] = "Generic Smartphone"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[575] = parser; +exports.device[579] = parser; parser = Object.create(null); -parser[0] = new RegExp("(bot|zao|borg|DBot|oegp|silk|Xenu|zeal|^NING|CCBot|crawl|htdig|lycos|slurp|teoma|voila|yahoo|Sogou|CiBra|Nutch|^Java/|^JNLP/|Daumoa|Genieo|ichiro|larbin|pompos|Scrapy|snappy|speedy|spider|msnbot|msrbot|vortex|^vortex|crawler|favicon|indexer|Riddler|scooter|scraper|scrubby|WhatWeb|WinHTTP|bingbot|BingPreview|openbot|gigabot|furlbot|polybot|seekbot|^voyager|archiver|Icarus6j|mogimogi|Netvibes|blitzbot|altavista|charlotte|findlinks|Retreiver|TLSProber|WordPress|SeznamBot|ProoXiBot|wsr\\-agent|Squrl Java|EtaoSpider|PaperLiBot|SputnikBot|A6\\-Indexer|netresearch|searchsight|baiduspider|YisouSpider|ICC\\-Crawler|http%20client|Python-urllib|dataparksearch|converacrawler|Screaming Frog|AppEngine-Google|YahooCacheSystem|fast\\-webcrawler|Sogou Pic Spider|semanticdiscovery|Innovazion Crawler|facebookexternalhit|Google.*/\\+/web/snippet|Google-HTTP-Java-Client|BlogBridge|IlTrovatore-Setaccio|InternetArchive|GomezAgent|WebThumbnail|heritrix|NewsGator|PagePeeker|Reaper|ZooShot|holmes|NL-Crawler|Pingdom)"); +parser[0] = new RegExp("(bot|zao|borg|DBot|oegp|silk|Xenu|zeal|^NING|CCBot|crawl|htdig|lycos|slurp|teoma|voila|yahoo|Sogou|CiBra|Nutch|^Java/|^JNLP/|Daumoa|Genieo|ichiro|larbin|pompos|Scrapy|snappy|speedy|spider|msnbot|msrbot|vortex|^vortex|crawler|favicon|indexer|Riddler|scooter|scraper|scrubby|WhatWeb|WinHTTP|bingbot|BingPreview|openbot|gigabot|furlbot|polybot|seekbot|^voyager|archiver|Icarus6j|mogimogi|Netvibes|blitzbot|altavista|charlotte|findlinks|Retreiver|TLSProber|WordPress|SeznamBot|ProoXiBot|wsr\\-agent|Squrl Java|EtaoSpider|PaperLiBot|SputnikBot|A6\\-Indexer|netresearch|searchsight|baiduspider|YisouSpider|ICC\\-Crawler|http%20client|Python-urllib|dataparksearch|converacrawler|Screaming Frog|AppEngine-Google|YahooCacheSystem|fast\\-webcrawler|Sogou Pic Spider|semanticdiscovery|Innovazion Crawler|facebookexternalhit|Google.*/\\+/web/snippet|Google-HTTP-Java-Client|BlogBridge|IlTrovatore-Setaccio|InternetArchive|GomezAgent|WebThumbnail|heritrix|NewsGator|PagePeeker|Reaper|ZooShot|holmes|NL-Crawler|Pingdom|WhatsApp|masscan)"); parser[1] = "Spider"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[576] = parser; +exports.device[580] = parser; parser = Object.create(null); parser[0] = new RegExp("^(1207|3gso|4thp|501i|502i|503i|504i|505i|506i|6310|6590|770s|802s|a wa|acer|acs\\-|airn|alav|asus|attw|au\\-m|aur |aus |abac|acoo|aiko|alco|alca|amoi|anex|anny|anyw|aptu|arch|argo|bmobile|bell|bird|bw\\-n|bw\\-u|beck|benq|bilb|blac|c55/|cdm\\-|chtm|capi|comp|cond|dall|dbte|dc\\-s|dica|ds\\-d|ds12|dait|devi|dmob|doco|dopo|dorado|el(?:38|39|48|49|50|55|58|68)|el[3456]\\d{2}dual|erk0|esl8|ex300|ez40|ez60|ez70|ezos|ezze|elai|emul|eric|ezwa|fake|fly\\-|fly_|g\\-mo|g1 u|g560|gf\\-5|grun|gene|go.w|good|grad|hcit|hd\\-m|hd\\-p|hd\\-t|hei\\-|hp i|hpip|hs\\-c|htc |htc\\-|htca|htcg)"); parser[1] = "Generic Feature Phone"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[577] = parser; +exports.device[581] = parser; parser = Object.create(null); parser[0] = new RegExp("^(htcp|htcs|htct|htc_|haie|hita|huaw|hutc|i\\-20|i\\-go|i\\-ma|i\\-mobile|i230|iac|iac\\-|iac/|ig01|im1k|inno|iris|jata|kddi|kgt|kgt/|kpt |kwc\\-|klon|lexi|lg g|lg\\-a|lg\\-b|lg\\-c|lg\\-d|lg\\-f|lg\\-g|lg\\-k|lg\\-l|lg\\-m|lg\\-o|lg\\-p|lg\\-s|lg\\-t|lg\\-u|lg\\-w|lg/k|lg/l|lg/u|lg50|lg54|lge\\-|lge/|leno|m1\\-w|m3ga|m50/|maui|mc01|mc21|mcca|medi|meri|mio8|mioa|mo01|mo02|mode|modo|mot |mot\\-|mt50|mtp1|mtv |mate|maxo|merc|mits|mobi|motv|mozz|n100|n101|n102|n202|n203|n300|n302|n500|n502|n505|n700|n701|n710|nec\\-|nem\\-|newg|neon)"); parser[1] = "Generic Feature Phone"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[578] = parser; +exports.device[582] = parser; parser = Object.create(null); parser[0] = new RegExp("^(netf|noki|nzph|o2 x|o2\\-x|opwv|owg1|opti|oran|ot\\-s|p800|pand|pg\\-1|pg\\-2|pg\\-3|pg\\-6|pg\\-8|pg\\-c|pg13|phil|pn\\-2|pt\\-g|palm|pana|pire|pock|pose|psio|qa\\-a|qc\\-2|qc\\-3|qc\\-5|qc\\-7|qc07|qc12|qc21|qc32|qc60|qci\\-|qwap|qtek|r380|r600|raks|rim9|rove|s55/|sage|sams|sc01|sch\\-|scp\\-|sdk/|se47|sec\\-|sec0|sec1|semc|sgh\\-|shar|sie\\-|sk\\-0|sl45|slid|smb3|smt5|sp01|sph\\-|spv |spv\\-|sy01|samm|sany|sava|scoo|send|siem|smar|smit|soft|sony|t\\-mo|t218|t250|t600|t610|t618|tcl\\-|tdg\\-|telm|tim\\-|ts70|tsm\\-|tsm3|tsm5|tx\\-9|tagt)"); parser[1] = "Generic Feature Phone"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[579] = parser; +exports.device[583] = parser; parser = Object.create(null); parser[0] = new RegExp("^(talk|teli|topl|tosh|up.b|upg1|utst|v400|v750|veri|vk\\-v|vk40|vk50|vk52|vk53|vm40|vx98|virg|vertu|vite|voda|vulc|w3c |w3c\\-|wapj|wapp|wapu|wapm|wig |wapi|wapr|wapv|wapy|wapa|waps|wapt|winc|winw|wonu|x700|xda2|xdag|yas\\-|your|zte\\-|zeto|aste|audi|avan|blaz|brew|brvw|bumb|ccwa|cell|cldc|cmd\\-|dang|eml2|fetc|hipt|http|ibro|idea|ikom|ipaq|jbro|jemu|jigs|keji|kyoc|kyok|libw|m\\-cr|midp|mmef|moto|mwbp|mywa|newt|nok6|o2im|pant|pdxg|play|pluc|port|prox|rozo|sama|seri|smal|symb|treo|upsi|vx52|vx53|vx60|vx61|vx70|vx80|vx81|vx83|vx85|wap\\-|webc|whit|wmlb|xda\\-|xda_)"); parser[1] = "Generic Feature Phone"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[580] = parser; +exports.device[584] = parser; parser = Object.create(null); parser[0] = new RegExp("^(Ice)$"); parser[1] = "Generic Feature Phone"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[581] = parser; +exports.device[585] = parser; parser = Object.create(null); parser[0] = new RegExp("(wap[\\-\\ ]browser|maui|netfront|obigo|teleca|up\\.browser|midp|Opera Mini)"); parser[1] = "Generic Feature Phone"; parser[2] = 0; parser[3] = 0; parser[4] = 0; -exports.device[582] = parser; +exports.device[586] = parser; -exports.device.length = 583; +exports.device.length = 587; exports.os = Object.create(null);