k)[\w ]+build\/(\w+)/i, /(dell) (strea[kpr\d ]*[\dko])/i, /(le[- ]+pan)[- ]+(\w{1,9}) bui/i, /(trinity)[- ]*(t\d{3}) bui/i, /(gigaset)[- ]+(q\w{1,9}) bui/i, /(vodafone) ([\w ]+)(?:\)| bui)/i], [p, h, [f, b]], [/(surface duo)/i], [h, [p, I], [f, b]], [/droid [\d\.]+; (fp\du?)(?: b|\))/i], [h, [p, "Fairphone"], [f, v]], [/(u304aa)/i], [h, [p, "AT&T"], [f, v]], [/\bsie-(\w*)/i], [h, [p, "Siemens"], [f, v]], [/\b(rct\w+) b/i], [h, [p, "RCA"], [f, b]], [/\b(venue[\d ]{2,7}) b/i], [h, [p, "Dell"], [f, b]], [/\b(q(?:mv|ta)\w+) b/i], [h, [p, "Verizon"], [f, b]], [/\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i], [h, [p, "Barnes & Noble"], [f, b]], [/\b(tm\d{3}\w+) b/i], [h, [p, "NuVision"], [f, b]], [/\b(k88) b/i], [h, [p, "ZTE"], [f, b]], [/\b(nx\d{3}j) b/i], [h, [p, "ZTE"], [f, v]], [/\b(gen\d{3}) b.+49h/i], [h, [p, "Swiss"], [f, v]], [/\b(zur\d{3}) b/i], [h, [p, "Swiss"], [f, b]], [/\b((zeki)?tb.*\b) b/i], [h, [p, "Zeki"], [f, b]], [/\b([yr]\d{2}) b/i, /\b(dragon[- ]+touch |dt)(\w{5}) b/i], [[p, "Dragon Touch"], h, [f, b]], [/\b(ns-?\w{0,9}) b/i], [h, [p, "Insignia"], [f, b]], [/\b((nxa|next)-?\w{0,9}) b/i], [h, [p, "NextBook"], [f, b]], [/\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i], [[p, "Voice"], h, [f, v]], [/\b(lvtel\-)?(v1[12]) b/i], [[p, "LvTel"], h, [f, v]], [/\b(ph-1) /i], [h, [p, "Essential"], [f, v]], [/\b(v(100md|700na|7011|917g).*\b) b/i], [h, [p, "Envizen"], [f, b]], [/\b(trio[-\w\. ]+) b/i], [h, [p, "MachSpeed"], [f, b]], [/\btu_(1491) b/i], [h, [p, "Rotor"], [f, b]], [/((?:tegranote|shield t(?!.+d tv))[\w- ]*?)(?: b|\))/i], [h, [p, x], [f, b]], [/(sprint) (\w+)/i], [p, h, [f, v]], [/(kin\.[onetw]{3})/i], [[h, /\./g, " "], [p, I], [f, v]], [/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i], [h, [p, U], [f, b]], [/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i], [h, [p, U], [f, v]], [/smart-tv.+(samsung)/i], [p, [f, w]], [/hbbtv.+maple;(\d+)/i], [[h, /^/, "SmartTV"], [p, j], [f, w]], [/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i], [[p, A], [f, w]], [/(apple) ?tv/i], [p, [h, "Apple TV"], [f, w]], [/crkey/i], [[h, "Chromecast"], [p, O], [f, w]], [/droid.+aft(\w+)( bui|\))/i], [h, [p, k], [f, w]], [/(shield \w+ tv)/i], [h, [p, x], [f, w]], [/\(dtv[\);].+(aquos)/i, /(aquos-tv[\w ]+)\)/i], [h, [p, L], [f, w]], [/(bravia[\w ]+)( bui|\))/i], [h, [p, N], [f, w]], [/(mi(tv|box)-?\w+) bui/i], [h, [p, F], [f, w]], [/Hbbtv.*(technisat) (.*);/i], [p, h, [f, w]], [/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i, /hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i], [[p, Y], [h, Y], [f, w]], [/droid.+; ([\w- ]+) (?:android tv|smart[- ]?tv)/i], [h, [f, w]], [/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i], [[f, w]], [/(ouya)/i, /(nintendo) ([wids3utch]+)/i], [p, h, [f, y]], [/droid.+; (shield)( bui|\))/i], [h, [p, x], [f, y]], [/(playstation \w+)/i], [h, [p, N], [f, y]], [/\b(xbox(?: one)?(?!; xbox))[\); ]/i], [h, [p, I], [f, y]], [/\b(sm-[lr]\d\d[0156][fnuw]?s?|gear live)\b/i], [h, [p, j], [f, _]], [/((pebble))app/i, /(asus|google|lg|oppo) ((pixel |zen)?watch[\w ]*)( bui|\))/i], [p, h, [f, _]], [/(ow(?:19|20)?we?[1-3]{1,3})/i], [h, [p, D], [f, _]], [/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i], [h, [p, E], [f, _]], [/(opwwe\d{3})/i], [h, [p, M], [f, _]], [/(moto 360)/i], [h, [p, $], [f, _]], [/(smartwatch 3)/i], [h, [p, N], [f, _]], [/(g watch r)/i], [h, [p, A], [f, _]], [/droid.+; (wt63?0{2,3})\)/i], [h, [p, U], [f, _]], [/droid.+; (glass) \d/i], [h, [p, O], [f, _]], [/(pico) (4|neo3(?: link|pro)?)/i], [p, h, [f, _]], [/; (quest( \d| pro)?)/i], [h, [p, q], [f, _]], [/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i], [p, [f, P]], [/(aeobc)\b/i], [h, [p, k], [f, P]], [/(homepod).+mac os/i], [h, [p, E], [f, P]], [/windows iot/i], [[f, P]], [/droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew).+? mobile safari/i], [h, [f, v]], [/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i], [h, [f, b]], [/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i], [[f, b]], [/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i], [[f, v]], [/droid .+?; ([\w\. -]+)( bui|\))/i], [h, [p, "Generic"]]],
engine: [[/windows.+ edge\/([\w\.]+)/i], [g, [d, "EdgeHTML"]], [/(arkweb)\/([\w\.]+)/i], [d, g], [/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i], [g, [d, "Blink"]], [/(presto)\/([\w\.]+)/i, /(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna|servo)\/([\w\.]+)/i, /ekioh(flow)\/([\w\.]+)/i, /(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i, /(icab)[\/ ]([23]\.[\d\.]+)/i, /\b(libweb)/i], [d, g], [/ladybird\//i], [[d, "LibWeb"]], [/rv\:([\w\.]{1,9})\b.+(gecko)/i], [g, d]],
os: [[/microsoft (windows) (vista|xp)/i], [d, g], [/(windows (?:phone(?: os)?|mobile|iot))[\/ ]?([\d\.\w ]*)/i], [d, [g, H, K]], [/windows nt 6\.2; (arm)/i, /windows[\/ ]([ntce\d\. ]+\w)(?!.+xbox)/i, /(?:win(?=3|9|n)|win 9x )([nt\d\.]+)/i], [[g, H, K], [d, "Windows"]], [/[adehimnop]{4,7}\b(?:.*os ([\w]+) like mac|; opera)/i, /(?:ios;fbsv\/|iphone.+ios[\/ ])([\d\.]+)/i, /cfnetwork\/.+darwin/i], [[g, /_/g, "."], [d, "iOS"]], [/(mac os x) ?([\w\. ]*)/i, /(macintosh|mac_powerpc\b)(?!.+haiku)/i], [[d, B], [g, /_/g, "."]], [/droid ([\w\.]+)\b.+(android[- ]x86|harmonyos)/i], [g, d], [/(ubuntu) ([\w\.]+) like android/i], [[d, /(.+)/, "$1 Touch"], g], [/(android|bada|blackberry|kaios|maemo|meego|openharmony|qnx|rim tablet os|sailfish|series40|symbian|tizen|webos)\w*[-\/; ]?([\d\.]*)/i], [d, g], [/\(bb(10);/i], [g, [d, S]], [/(?:symbian ?os|symbos|s60(?=;)|series ?60)[-\/ ]?([\w\.]*)/i], [g, [d, "Symbian"]], [/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i], [g, [d, "Firefox OS"]], [/web0s;.+rt(tv)/i, /\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i], [g, [d, "webOS"]], [/watch(?: ?os[,\/]|\d,\d\/)([\d\.]+)/i], [g, [d, "watchOS"]], [/crkey\/([\d\.]+)/i], [g, [d, "Chromecast"]], [/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i], [[d, W], g], [/panasonic;(viera)/i, /(netrange)mmh/i, /(nettv)\/(\d+\.[\w\.]+)/i, /(nintendo|playstation) ([wids345portablevuch]+)/i, /(xbox); +xbox ([^\);]+)/i, /\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i, /(mint)[\/\(\) ]?(\w*)/i, /(mageia|vectorlinux)[; ]/i, /([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i, /(hurd|linux)(?: arm\w*| x86\w*| ?)([\w\.]*)/i, /(gnu) ?([\w\.]*)/i, /\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i, / |