Files
ua-parser-js/dist/ua-parser.pack.js
2025-12-09 13:15:29 +07:00

4 lines
26 KiB
JavaScript

/* UAParser.js v2.0.7
Copyright © 2012-2025 Faisal Salman <f@faisalman.com>
AGPLv3 License */
((i,c)=>{function A(i){for(var e={},t=0;t<i.length;t++)e[i[t].toUpperCase()]=i[t];return e}function B(i){return Ii(i)?Ui(/[^\d\.]/g,i).split(".")[0]:c}function H(i,e){if(i&&e)for(var t,o,r,a,s,n=0;n<e.length&&!a;){for(var w=e[n],b=e[n+1],d=t=0;d<w.length&&!a&&w[d];)if(a=w[d++].exec(i))for(o=0;o<b.length;o++)s=a[++t],typeof(r=b[o])===l.OBJECT&&0<r.length?2===r.length?typeof r[1]==l.FUNCTION?this[r[0]]=r[1].call(this,s):this[r[0]]=r[1]:3<=r.length&&(typeof r[1]!==l.FUNCTION||r[1].exec&&r[1].test?3==r.length?this[r[0]]=s?s.replace(r[1],r[2]):c:4==r.length?this[r[0]]=s?r[3].call(this,s.replace(r[1],r[2])):c:4<r.length&&(this[r[0]]=s?r[3].apply(this,[s.replace(r[1],r[2])].concat(r.slice(4))):c):3<r.length?this[r[0]]=s?r[1].apply(this,r.slice(2)):c:this[r[0]]=s?r[1].call(this,s,r[2]):c):this[r]=s||c;n+=2}}function p(i,e){for(var t in e)if(typeof e[t]===l.OBJECT&&0<e[t].length){for(var o=0;o<e[t].length;o++)if(Si(e[t][o],i))return"?"===t?c:t}else if(Si(e[t],i))return"?"===t?c:t;return e.hasOwnProperty("*")?e["*"]:i}function M(e,i){var t=Bi.init[i],o=Bi.isIgnore[i]||0,r=Bi.isIgnoreRgx[i]||0,a=Bi.toString[i]||0;function s(){D.call(this,t)}return s.prototype.getItem=function(){return e},s.prototype.withClientHints=function(){return _?_.getHighEntropyValues(oi).then(function(i){return e.setCH(new Hi(i,!1)).parseCH().get()}):e.parseCH().get()},s.prototype.withFeatureCheck=function(){return e.detectFeature().get()},i!=v&&(s.prototype.is=function(i){var e,t=!1;for(e in this)if(this.hasOwnProperty(e)&&!Si(o,e)&&q(r?Ui(r,this[e]):this[e])==q(r?Ui(r,i):i)){if(t=!0,i!=l.UNDEFINED)break}else if(i==l.UNDEFINED&&t){t=!t;break}return t},s.prototype.toString=function(){var i,e=d;for(i in a)typeof this[a[i]]!==l.UNDEFINED&&(e+=(e?" ":d)+this[a[i]]);return e||l.UNDEFINED}),s.prototype.then=function(i){function e(){for(var i in t)t.hasOwnProperty(i)&&(this[i]=t[i])}var t=this,o=(e.prototype={is:s.prototype.is,toString:s.prototype.toString,withClientHints:s.prototype.withClientHints,withFeatureCheck:s.prototype.withFeatureCheck},new e);return i(o),o},new s}var j="user-agent",d="",l={FUNCTION:"function",OBJECT:"object",STRING:"string",UNDEFINED:"undefined"},u="browser",h="cpu",m="device",f="engine",g="os",v="result",k="name",x="type",y="vendor",C="version",N="architecture",R="major",E="model",V="console",S="mobile",t="tablet",e="smarttv",o="wearable",P="xr",G="embedded",r="inapp",L="brands",T="formFactors",W="fullVersionList",I="platform",$="platformVersion",J="bitness",a="sec-ch-ua",X=a+"-full-version-list",Y=a+"-arch",Z=a+"-"+J,Q=a+"-form-factors",K=a+"-"+S,ii=a+"-"+E,ei=a+"-"+I,ti=ei+"-version",oi=[L,W,S,E,I,$,N,T,J],ri="Amazon",s="Apple",ai="ASUS",si="BlackBerry",n="Google",ni="Huawei",wi="Lenovo",bi="Honor",di="LG",li="Microsoft",ci="Motorola",pi="OnePlus",ui="OPPO",hi="Samsung",mi="Sony",fi="Xiaomi",gi="Zebra",vi="Chromium",w="Chromecast",ki="Edge",xi="Firefox",b="Opera",yi="Facebook",O="Mobile ",Ci=" Browser",Ni="Windows",Ei=typeof i!==l.UNDEFINED,U=Ei&&i.navigator?i.navigator:c,_=U&&U.userAgentData?U.userAgentData:c,Si=function(i,e){if(typeof i===l.OBJECT&&0<i.length){for(var t in i)if(q(e)==q(i[t]))return!0;return!1}return!!Ii(i)&&q(e)==q(i)},Ti=function(i,e){for(var t in i)return/^(browser|cpu|device|engine|os)$/.test(t)||!!e&&Ti(i[t])},Ii=function(i){return typeof i===l.STRING},Oi=function(i){if(!i)return c;for(var e,t=[],o=Ui(/\\?\"/g,i).split(","),r=0;r<o.length;r++)-1<o[r].indexOf(";")?(e=qi(o[r]).split(";v="),t[r]={brand:e[0],version:e[1]}):t[r]=qi(o[r]);return t},q=function(i){return Ii(i)?i.toLowerCase():i},D=function(i){for(var e in i)i.hasOwnProperty(e)&&(typeof(e=i[e])==l.OBJECT&&2==e.length?this[e[0]]=e[1]:this[e]=c);return this},Ui=function(i,e){return Ii(e)?e.replace(i,d):e},_i=function(i){return Ui(/\\?\"/g,i)},qi=function(i,e){return i=Ui(/^\s\s*/,String(i)),typeof e===l.UNDEFINED?i:i.substring(0,e)},Di={ME:"4.90","NT 3.51":"3.51","NT 4.0":"4.0",2e3:["5.0","5.01"],XP:["5.1","5.2"],Vista:"6.0",7:"6.1",8:"6.2",8.1:"6.3",10:["6.4","10.0"],NT:""},Fi={embedded:"Automotive",mobile:"Mobile",tablet:["Tablet","EInk"],smarttv:"TV",wearable:"Watch",xr:["VR","XR"],"?":["Desktop","Unknown"],"*":c},zi={Chrome:"Google Chrome",Edge:"Microsoft Edge","Edge WebView2":"Microsoft Edge WebView2","Chrome WebView":"Android WebView","Chrome Headless":"HeadlessChrome","Huawei Browser":"HuaweiBrowser","MIUI Browser":"Miui Browser","Opera Mobi":"OperaMobile",Yandex:"YaBrowser"},Ai={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[C,[k,O+"Chrome"]],[/webview.+edge\/([\w\.]+)/i],[C,[k,ki+" WebView"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[C,[k,"Edge"]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[k,C],[/opios[\/ ]+([\w\.]+)/i],[C,[k,b+" Mini"]],[/\bop(?:rg)?x\/([\w\.]+)/i],[C,[k,b+" GX"]],[/\bopr\/([\w\.]+)/i],[C,[k,b]],[/\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\/ ]?([\w\.]+)/i],[C,[k,"Baidu"]],[/\b(?:mxbrowser|mxios|myie2)\/?([-\w\.]*)\b/i],[C,[k,"Maxthon"]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer|sleipnir)[\/ ]?([\w\.]*)/i,/(avant|iemobile|slim(?:browser|boat|jet))[\/ ]?([\d\.]*)/i,/(?:ms|\()(ie) ([\w\.]+)/i,/(atlas|flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|duckduckgo|klar|helio|(?=comodo_)?dragon|otter|dooble|(?:lg |qute)browser|palemoon)\/([-\w\.]+)/i,/(heytap|ovi|115|surf|qwant)browser\/([\d\.]+)/i,/(qwant)(?:ios|mobile)\/([\d\.]+)/i,/(ecosia|weibo)(?:__| \w+@)([\d\.]+)/i],[k,C],[/quark(?:pc)?\/([-\w\.]+)/i],[C,[k,"Quark"]],[/\bddg\/([\w\.]+)/i],[C,[k,"DuckDuckGo"]],[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],[C,[k,"UCBrowser"]],[/microm.+\bqbcore\/([\w\.]+)/i,/\bqbcore\/([\w\.]+).+microm/i,/micromessenger\/([\w\.]+)/i],[C,[k,"WeChat"]],[/konqueror\/([\w\.]+)/i],[C,[k,"Konqueror"]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[C,[k,"IE"]],[/ya(?:search)?browser\/([\w\.]+)/i],[C,[k,"Yandex"]],[/slbrowser\/([\w\.]+)/i],[C,[k,"Smart "+wi+Ci]],[/(avast|avg)\/([\w\.]+)/i],[[k,/(.+)/,"$1 Secure"+Ci],C],[/\bfocus\/([\w\.]+)/i],[C,[k,xi+" Focus"]],[/\bopt\/([\w\.]+)/i],[C,[k,b+" Touch"]],[/coc_coc\w+\/([\w\.]+)/i],[C,[k,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[C,[k,"Dolphin"]],[/coast\/([\w\.]+)/i],[C,[k,b+" Coast"]],[/miuibrowser\/([\w\.]+)/i],[C,[k,"MIUI"+Ci]],[/fxios\/([\w\.-]+)/i],[C,[k,O+xi]],[/\bqihoobrowser\/?([\w\.]*)/i],[C,[k,"360"]],[/\b(qq)\/([\w\.]+)/i],[[k,/(.+)/,"$1Browser"],C],[/(oculus|sailfish|huawei|vivo|pico)browser\/([\w\.]+)/i],[[k,/(.+)/,"$1"+Ci],C],[/samsungbrowser\/([\w\.]+)/i],[C,[k,hi+" Internet"]],[/metasr[\/ ]?([\d\.]+)/i],[C,[k,"Sogou Explorer"]],[/(sogou)mo\w+\/([\d\.]+)/i],[[k,"Sogou Mobile"],C],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|2345(?=browser|chrome|explorer))\w*[\/ ]?v?([\w\.]+)/i],[k,C],[/(lbbrowser|rekonq|steam(?= (clie|tenf|gameo)))/i],[k],[/ome\/([\w\.]+) \w* ?(iron) saf/i,/ome\/([\w\.]+).+qihu (360)[es]e/i],[C,k],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[k,yi],C,[x,r]],[/(kakao(?:talk|story))[\/ ]([\w\.]+)/i,/(naver)\(.*?(\d+\.[\w\.]+).*\)/i,/(daum)apps[\/ ]([\w\.]+)/i,/safari (line)\/([\w\.]+)/i,/\b(line)\/([\w\.]+)\/iab/i,/(alipay)client\/([\w\.]+)/i,/(twitter)(?:and| f.+e\/([\w\.]+))/i,/(bing)(?:web|sapphire)\/([\w\.]+)/i,/(instagram|snapchat|klarna)[\/ ]([-\w\.]+)/i],[k,C,[x,r]],[/\bgsa\/([\w\.]+) .*safari\//i],[C,[k,"GSA"],[x,r]],[/musical_ly(?:.+app_?version\/|_)([\w\.]+)/i],[C,[k,"TikTok"],[x,r]],[/\[(linkedin)app\]/i],[k,[x,r]],[/(zalo(?:app)?)[\/\sa-z]*([\w\.-]+)/i],[[k,/(.+)/,"Zalo"],C,[x,r]],[/(chromium)[\/ ]([-\w\.]+)/i],[k,C],[/headlesschrome(?:\/([\w\.]+)| )/i],[C,[k,"Chrome Headless"]],[/wv\).+chrome\/([\w\.]+).+edgw\//i],[C,[k,ki+" WebView2"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[k,"Chrome WebView"],C],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[C,[k,"Android"+Ci]],[/chrome\/([\w\.]+) mobile/i],[C,[k,O+"Chrome"]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[k,C],[/version\/([\w\.\,]+) .*mobile(?:\/\w+ | ?)safari/i],[C,[k,O+"Safari"]],[/iphone .*mobile(?:\/\w+ | ?)safari/i],[[k,O+"Safari"]],[/version\/([\w\.\,]+) .*(safari)/i],[C,k],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[k,[C,"1"]],[/(webkit|khtml)\/([\w\.]+)/i],[k,C],[/(?:mobile|tablet);.*(firefox)\/([\w\.-]+)/i],[[k,O+xi],C],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[k,"Netscape"],C],[/(wolvic|librewolf)\/([\w\.]+)/i],[k,C],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[C,[k,xi+" Reality"]],[/ekiohf.+(flow)\/([\w\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror)[\/ ]?([\w\.\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|basilisk|waterfox)\/([-\w\.]+)$/i,/(firefox)\/([\w\.]+)/i,/(mozilla)\/([\w\.]+(?= .+rv\:.+gecko\/\d+)|[0-4][\w\.]+(?!.+compatible))/i,/(amaya|dillo|doris|icab|ladybird|lynx|mosaic|netsurf|obigo|polaris|w3m|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/\b(links) \(([\w\.]+)/i],[k,[C,/_/g,"."]],[/(cobalt)\/([\w\.]+)/i],[k,[C,/[^\d\.]+./,d]]],cpu:[[/\b((amd|x|x86[-_]?|wow|win)64)\b/i],[[N,"amd64"]],[/(ia32(?=;))/i,/\b((i[346]|x)86)(pc)?\b/i],[[N,"ia32"]],[/\b(aarch64|arm(v?[89]e?l?|_?64))\b/i],[[N,"arm64"]],[/\b(arm(v[67])?ht?n?[fl]p?)\b/i],[[N,"armhf"]],[/( (ce|mobile); ppc;|\/[\w\.]+arm\b)/i],[[N,"arm"]],[/ sun4\w[;\)]/i],[[N,"sparc"]],[/\b(avr32|ia64(?=;)|68k(?=\))|\barm(?=v([1-7]|[5-7]1)l?|;|eabi)|(irix|mips|sparc)(64)?\b|pa-risc)/i,/((ppc|powerpc)(64)?)( mac|;|\))/i,/(?:osf1|[freopnt]{3,4}bsd) (alpha)/i],[[N,/ower/,d,q]],[/mc680.0/i],[[N,"68k"]],[/winnt.+\[axp/i],[[N,"alpha"]]],device:[[/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i],[E,[y,hi],[x,t]],[/\b((?:s[cgp]h|gt|sm)-(?![lr])\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,/samsung[- ]((?!sm-[lr]|browser)[-\w]+)/i,/sec-(sgh\w+)/i],[E,[y,hi],[x,S]],[/(?:\/|\()(ip(?:hone|od)[\w, ]*)[\/\);]/i],[E,[y,s],[x,S]],[/\b(?:ios|apple\w+)\/.+[\(\/](ipad)/i,/\b(ipad)[\d,]*[;\] ].+(mac |i(pad)?)os/i],[E,[y,s],[x,t]],[/(macintosh);/i],[E,[y,s]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[E,[y,"Sharp"],[x,S]],[/\b((?:brt|eln|hey2?|gdi|jdn)-a?[lnw]09|(?:ag[rm]3?|jdn2|kob2)-a?[lw]0[09]hn)(?: bui|\)|;)/i],[E,[y,bi],[x,t]],[/honor([-\w ]+)[;\)]/i],[E,[y,bi],[x,S]],[/\b((?:ag[rs][2356]?k?|bah[234]?|bg[2o]|bt[kv]|cmr|cpn|db[ry]2?|jdn2|got|kob2?k?|mon|pce|scm|sht?|[tw]gr|vrd)-[ad]?[lw][0125][09]b?|605hw|bg2-u03|(?:gem|fdr|m2|ple|t1)-[7a]0[1-4][lu]|t1-a2[13][lw]|mediapad[\w\. ]*(?= bui|\)))\b(?!.+d\/s)/i],[E,[y,ni],[x,t]],[/(?:huawei) ?([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][\dc][adnt]?)\b(?!.+d\/s)/i],[E,[y,ni],[x,S]],[/oid[^\)]+; (2[\dbc]{4}(182|283|rp\w{2})[cgl]|m2105k81a?c)(?: bui|\))/i,/\b(?:xiao)?((?:red)?mi[-_ ]?pad[\w- ]*)(?: bui|\))/i],[[E,/_/g," "],[y,fi],[x,t]],[/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/oid[^\)]+; (redmi[\-_ ]?(?:note|k)?[\w_ ]+|m?[12]\d[01]\d\w{3,6}|poco[\w ]+|(shark )?\w{3}-[ah]0|qin ?[1-3](s\+|ultra| pro)?)( bui|; wv|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note|max|cc)?[_ ]?(?:\d{0,2}\w?)[_ ]?(?:plus|se|lite|pro)?( 5g|lte)?)(?: bui|\))/i,/ ([\w ]+) miui\/v?\d/i],[[E,/_/g," "],[y,fi],[x,S]],[/droid.+; (cph2[3-6]\d[13579]|((gm|hd)19|(ac|be|in|kb)20|(d[en]|eb|le|mt)21|ne22)[0-2]\d|p[g-k]\w[1m]10)\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[E,[y,pi],[x,S]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[E,[y,ui],[x,S]],[/\b(opd2(\d{3}a?))(?: bui|\))/i],[E,[y,p,{OnePlus:["203","304","403","404","413","415"],"*":ui}],[x,t]],[/(vivo (5r?|6|8l?|go|one|s|x[il]?[2-4]?)[\w\+ ]*)(?: bui|\))/i],[E,[y,"BLU"],[x,S]],[/; vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[E,[y,"Vivo"],[x,S]],[/\b(rmx[1-3]\d{3})(?: bui|;|\))/i],[E,[y,"Realme"],[x,S]],[/(ideatab[-\w ]+|602lv|d-42a|a101lv|a2109a|a3500-hv|s[56]000|pb-6505[my]|tb-?x?\d{3,4}(?:f[cu]|xu|[av])|yt\d?-[jx]?\d+[lfmx])( bui|;|\)|\/)/i,/lenovo ?(b[68]0[08]0-?[hf]?|tab(?:[\w- ]+?)|tb[\w-]{6,7})( bui|;|\)|\/)/i],[E,[y,wi],[x,t]],[/lenovo[-_ ]?([-\w ]+?)(?: bui|\)|\/)/i],[E,[y,wi],[x,S]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ]([\w\s]+)(\)| bui)/i,/((?:moto(?! 360)[-\w\(\) ]+|xt\d{3,4}[cgkosw\+]?[-\d]*|nexus 6)(?= bui|\)))/i],[E,[y,ci],[x,S]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[E,[y,ci],[x,t]],[/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[E,[y,di],[x,t]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+(?!.*(?:browser|netcast|android tv|watch|webos))(\w+)/i,/\blg-?([\d\w]+) bui/i],[E,[y,di],[x,S]],[/(nokia) (t[12][01])/i],[y,E,[x,t]],[/(?:maemo|nokia).*(n900|lumia \d+|rm-\d+)/i,/nokia[-_ ]?(([-\w\. ]*?))( bui|\)|;|\/)/i],[[E,/_/g," "],[x,S],[y,"Nokia"]],[/(pixel (c|tablet))\b/i],[E,[y,n],[x,t]],[/droid.+;(?: google)? (g(01[13]a|020[aem]|025[jn]|1b60|1f8f|2ybb|4s1m|576d|5nz6|8hhn|8vou|a02099|c15s|d1yq|e2ae|ec77|gh2x|kv4x|p4bc|pj41|r83y|tt9q|ur25|wvk6)|pixel[\d ]*a?( pro)?( xl)?( fold)?( \(5g\))?)( bui|\))/i],[E,[y,n],[x,S]],[/(google) (pixelbook( go)?)/i],[y,E],[/droid.+; (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-\w\w\d\d)(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i],[E,[y,mi],[x,S]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[E,"Xperia Tablet"],[y,mi],[x,t]],[/(alexa)webm/i,/(kf[a-z]{2}wi|aeo(?!bc)\w\w)( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[E,[y,ri],[x,t]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[E,/(.+)/g,"Fire Phone $1"],[y,ri],[x,S]],[/(playbook);[-\w\),; ]+(rim)/i],[E,y,[x,t]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/(?:blackberry|\(bb10;) (\w+)/i],[E,[y,si],[x,S]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[E,[y,ai],[x,t]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[E,[y,ai],[x,S]],[/(nexus 9)/i],[E,[y,"HTC"],[x,t]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i],[y,[E,/_/g," "],[x,S]],[/tcl (xess p17aa)/i,/droid [\w\.]+; ((?:8[14]9[16]|9(?:0(?:48|60|8[01])|1(?:3[27]|66)|2(?:6[69]|9[56])|466))[gqswx])(_\w(\w|\w\w))?(\)| bui)/i],[E,[y,"TCL"],[x,t]],[/droid [\w\.]+; (418(?:7d|8v)|5087z|5102l|61(?:02[dh]|25[adfh]|27[ai]|56[dh]|59k|65[ah])|a509dl|t(?:43(?:0w|1[adepqu])|50(?:6d|7[adju])|6(?:09dl|10k|12b|71[efho]|76[hjk])|7(?:66[ahju]|67[hw]|7[045][bh]|71[hk]|73o|76[ho]|79w|81[hks]?|82h|90[bhsy]|99b)|810[hs]))(_\w(\w|\w\w))?(\)| bui)/i],[E,[y,"TCL"],[x,S]],[/(itel) ((\w+))/i],[[y,q],E,[x,p,{tablet:["p10001l","w7001"],"*":"mobile"}]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[E,[y,"Acer"],[x,t]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[E,[y,"Meizu"],[x,S]],[/; ((?:power )?armor(?:[\w ]{0,8}))(?: bui|\))/i],[E,[y,"Ulefone"],[x,S]],[/; (energy ?\w+)(?: bui|\))/i,/; energizer ([\w ]+)(?: bui|\))/i],[E,[y,"Energizer"],[x,S]],[/; cat (b35);/i,/; (b15q?|s22 flip|s48c|s62 pro)(?: bui|\))/i],[E,[y,"Cat"],[x,S]],[/((?:new )?andromax[\w- ]+)(?: bui|\))/i],[E,[y,"Smartfren"],[x,S]],[/droid.+; (a(in)?(0(15|59|6[35])|142)p?)/i],[E,[y,"Nothing"],[x,S]],[/; (x67 5g|tikeasy \w+|ac[1789]\d\w+)( b|\))/i,/archos ?(5|gamepad2?|([\w ]*[t1789]|hello) ?\d+[\w ]*)( b|\))/i],[E,[y,"Archos"],[x,t]],[/archos ([\w ]+)( b|\))/i,/; (ac[3-6]\d\w{2,8})( b|\))/i],[E,[y,"Archos"],[x,S]],[/; (n159v)/i],[E,[y,"HMD"],[x,S]],[/(imo) (tab \w+)/i,/(infinix|tecno) (x1101b?|p904|dp(7c|8d|10a)( pro)?|p70[1-3]a?|p904|t1101)/i],[y,E,[x,t]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus(?! zenw)|dell|jolla|meizu|motorola|polytron|tecno|micromax|advan)[-_ ]?([-\w]*)/i,/; (blu|hmd|imo|infinix|lava|oneplus|tcl|wiko)[_ ]([\w\+ ]+?)(?: bui|\)|; r)/i,/(hp) ([\w ]+\w)/i,/(microsoft); (lumia[\w ]+)/i,/(oppo) ?([\w ]+) bui/i,/(hisense) ([ehv][\w ]+)\)/i,/droid[^;]+; (philips)[_ ]([sv-x][\d]{3,4}[xz]?)/i],[y,E,[x,S]],[/(kobo)\s(ereader|touch)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i],[y,E,[x,t]],[/(surface duo)/i],[E,[y,li],[x,t]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[E,[y,"Fairphone"],[x,S]],[/((?:tegranote|shield t(?!.+d tv))[\w- ]*?)(?: b|\))/i],[E,[y,"Nvidia"],[x,t]],[/(sprint) (\w+)/i],[y,E,[x,S]],[/(kin\.[onetw]{3})/i],[[E,/\./g," "],[y,li],[x,S]],[/droid.+; ([c6]+|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[E,[y,gi],[x,t]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[E,[y,gi],[x,S]],[/(philips)[\w ]+tv/i,/smart-tv.+(samsung)/i],[y,[x,e]],[/hbbtv.+maple;(\d+)/i],[[E,/^/,"SmartTV"],[y,hi],[x,e]],[/(vizio)(?: |.+model\/)(\w+-\w+)/i,/tcast.+(lg)e?. ([-\w]+)/i],[y,E,[x,e]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[y,di],[x,e]],[/(apple) ?tv/i],[y,[E,s+" TV"],[x,e]],[/crkey.*devicetype\/chromecast/i],[[E,w+" Third Generation"],[y,n],[x,e]],[/crkey.*devicetype\/([^/]*)/i],[[E,/^/,"Chromecast "],[y,n],[x,e]],[/fuchsia.*crkey/i],[[E,w+" Nest Hub"],[y,n],[x,e]],[/crkey/i],[[E,w],[y,n],[x,e]],[/(portaltv)/i],[E,[y,yi],[x,e]],[/droid.+aft(\w+)( bui|\))/i],[E,[y,ri],[x,e]],[/(shield \w+ tv)/i],[E,[y,"Nvidia"],[x,e]],[/\(dtv[\);].+(aquos)/i,/(aquos-tv[\w ]+)\)/i],[E,[y,"Sharp"],[x,e]],[/(bravia[\w ]+)( bui|\))/i],[E,[y,mi],[x,e]],[/(mi(tv|box)-?\w+) bui/i],[E,[y,fi],[x,e]],[/Hbbtv.*(technisat) (.*);/i],[y,E,[x,e]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i],[[y,/.+\/(\w+)/,"$1",p,{LG:"lge"}],[E,qi],[x,e]],[/(playstation \w+)/i],[E,[y,mi],[x,V]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[E,[y,li],[x,V]],[/(ouya)/i,/(nintendo) (\w+)/i,/(retroid) (pocket ([^\)]+))/i,/(valve).+(steam deck)/i,/droid.+; ((shield|rgcube|gr0006))( bui|\))/i],[[y,p,{Nvidia:"Shield",Anbernic:"RGCUBE",Logitech:"GR0006"}],E,[x,V]],[/\b(sm-[lr]\d\d[0156][fnuw]?s?|gear live)\b/i],[E,[y,hi],[x,o]],[/((pebble))app/i,/(asus|google|lg|oppo|xiaomi) ((pixel |zen)?watch[\w ]*)( bui|\))/i],[y,E,[x,o]],[/(ow(?:19|20)?we?[1-3]{1,3})/i],[E,[y,ui],[x,o]],[/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i],[E,[y,s],[x,o]],[/(opwwe\d{3})/i],[E,[y,pi],[x,o]],[/(moto 360)/i],[E,[y,ci],[x,o]],[/(smartwatch 3)/i],[E,[y,mi],[x,o]],[/(g watch r)/i],[E,[y,di],[x,o]],[/droid.+; (wt63?0{2,3})\)/i],[E,[y,gi],[x,o]],[/droid.+; (glass) \d/i],[E,[y,n],[x,P]],[/(pico) ([\w ]+) os\d/i],[y,E,[x,P]],[/(quest( \d| pro)?s?).+vr/i],[E,[y,yi],[x,P]],[/mobile vr; rv.+firefox/i],[[x,P]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[y,[x,G]],[/(aeobc)\b/i],[E,[y,ri],[x,G]],[/(homepod).+mac os/i],[E,[y,s],[x,G]],[/windows iot/i],[[x,G]],[/droid.+; ([\w- ]+) (4k|android|smart|google)[- ]?tv/i],[E,[x,e]],[/\b((4k|android|smart|opera)[- ]?tv|tv; rv:|large screen[\w ]+safari)\b/i],[[x,e]],[/droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew|; hmsc).+?(mobile|vr|\d) safari/i],[E,[x,p,{mobile:"Mobile",xr:"VR","*":t}]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[x,t]],[/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i],[[x,S]],[/droid .+?; ([\w\. -]+)( bui|\))/i],[E,[y,"Generic"]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[C,[k,ki+"HTML"]],[/(arkweb)\/([\w\.]+)/i],[k,C],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[C,[k,"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],[k,C],[/ladybird\//i],[[k,"LibWeb"]],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[C,k]],os:[[/(windows nt) (6\.[23]); arm/i],[[k,/N/,"R"],[C,p,Di]],[/(windows (?:phone|mobile|iot))(?: os)?[\/ ]?([\d\.]*( se)?)/i,/(windows)[\/ ](1[01]|2000|3\.1|7|8(\.1)?|9[58]|me|server 20\d\d( r2)?|vista|xp)/i],[k,C],[/windows nt ?([\d\.\)]*)(?!.+xbox)/i,/\bwin(?=3| ?9|n)(?:nt| 9x )?([\d\.;]*)/i],[[C,/(;|\))/g,"",p,Di],[k,Ni]],[/(windows ce)\/?([\d\.]*)/i],[k,C],[/[adehimnop]{4,7}\b(?:.*os ([\w]+) like mac|; opera)/i,/(?:ios;fbsv|ios(?=.+ip(?:ad|hone)|.+apple ?tv)|ip(?:ad|hone)(?: |.+i(?:pad)?)os|apple ?tv.+ios)[\/ ]([\w\.]+)/i,/\btvos ?([\w\.]+)/i,/cfnetwork\/.+darwin/i],[[C,/_/g,"."],[k,"iOS"]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+(haiku|morphos))/i],[[k,"macOS"],[C,/_/g,"."]],[/android ([\d\.]+).*crkey/i],[C,[k,w+" Android"]],[/fuchsia.*crkey\/([\d\.]+)/i],[C,[k,w+" Fuchsia"]],[/crkey\/([\d\.]+).*devicetype\/smartspeaker/i],[C,[k,w+" SmartSpeaker"]],[/linux.*crkey\/([\d\.]+)/i],[C,[k,w+" Linux"]],[/crkey\/([\d\.]+)/i],[C,[k,w]],[/droid ([\w\.]+)\b.+(android[- ]x86)/i],[C,k],[/(ubuntu) ([\w\.]+) like android/i],[[k,/(.+)/,"$1 Touch"],C],[/(harmonyos)[\/ ]?([\d\.]*)/i,/(android|bada|blackberry|kaios|maemo|meego|openharmony|qnx|rim tablet os|sailfish|series40|symbian|tizen)\w*[-\/\.; ]?([\d\.]*)/i],[k,C],[/\(bb(10);/i],[C,[k,si]],[/(?:symbian ?os|symbos|s60(?=;)|series ?60)[-\/ ]?([\w\.]*)/i],[C,[k,"Symbian"]],[/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i],[C,[k,xi+" OS"]],[/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i,/webos(?:[ \/]?|\.tv-20(?=2[2-9]))(\d[\d\.]*)/i],[C,[k,"webOS"]],[/web0s;.+?(?:chr[o0]me|safari)\/(\d+)/i],[[C,p,{25:"120",24:"108",23:"94",22:"87",6:"79",5:"68",4:"53",3:"38",2:"538",1:"537","*":"TV"}],[k,"webOS"]],[/watch(?: ?os[,\/]|\d,\d\/)([\d\.]+)/i],[C,[k,"watchOS"]],[/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i],[[k,"Chrome OS"],C],[/panasonic;(viera)/i,/(netrange)mmh/i,/(nettv)\/(\d+\.[\w\.]+)/i,/(nintendo|playstation) (\w+)/i,/(xbox); +xbox ([^\);]+)/i,/(pico) .+os([\w\.]+)/i,/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,/linux.+(mint)[\/\(\) ]?([\w\.]*)/i,/(mageia|vectorlinux|fuchsia|arcaos|arch(?= ?linux))[;l ]([\d\.]*)/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire|knoppix)(?: gnu[\/ ]linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/\b(aix)[; ]([1-9\.]{0,4})/i,/(hurd|linux|morphos)(?: (?:arm|x86|ppc)\w*| ?)([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) ?(r\d)?/i],[k,C],[/(sunos) ?([\d\.]*)/i],[[k,"Solaris"],C],[/\b(beos|os\/2|amigaos|openvms|hp-ux|serenityos)/i,/(unix) ?([\w\.]*)/i],[k,C]]},Bi=(b={init:{},isIgnore:{},isIgnoreRgx:{},toString:{}},D.call(b.init,[[u,[k,C,R,x]],[h,[N]],[m,[x,E,y]],[f,[k,C]],[g,[k,C]]]),D.call(b.isIgnore,[[u,[C,R]],[f,[C]],[g,[C]]]),D.call(b.isIgnoreRgx,[[u,/ ?browser$/i],[g,/ ?os$/i]]),D.call(b.toString,[[u,[k,C]],[h,[N]],[m,[y,E]],[f,[k,C]],[g,[k,C]]]),b);function Hi(i,e){if(i=i||{},D.call(this,oi),e)D.call(this,[[L,Oi(i[a])],[W,Oi(i[X])],[S,/\?1/.test(i[K])],[E,_i(i[ii])],[I,_i(i[ei])],[$,_i(i[ti])],[N,_i(i[Y])],[T,Oi(i[Q])],[J,_i(i[Z])]]);else for(var t in i)this.hasOwnProperty(t)&&typeof i[t]!==l.UNDEFINED&&(this[t]=i[t])}function F(i,e,t,o){return D.call(this,[["itemType",i],["ua",e],["uaCH",o],["rgxMap",t],["data",M(this,i)]]),this}function z(i,e,t){if(typeof i===l.OBJECT?(e=Ti(i,!0)?(typeof e===l.OBJECT&&(t=e),i):(t=i,c),i=c):typeof i!==l.STRING||Ti(e,!0)||(t=e,e=c),t)if(typeof t.append===l.FUNCTION){var o={};t.forEach(function(i,e){o[String(e).toLowerCase()]=i}),t=o}else{var r,a={};for(r in t)t.hasOwnProperty(r)&&(a[String(r).toLowerCase()]=t[r]);t=a}var s,n,w,b;return this instanceof z?(s=typeof i===l.STRING?i:t&&t[j]?t[j]:U&&U.userAgent?U.userAgent:d,n=new Hi(t,!0),w=e?((i,e)=>{var t,o={},r=e;if(!Ti(e))for(var a in r={},e)for(var s in e[a])r[s]=e[a][s].concat(r[s]||[]);for(t in i)o[t]=r[t]&&r[t].length%2==0?r[t].concat(i[t]):i[t];return o})(Ai,e):Ai,D.call(this,[["getBrowser",(b=function(i){return i==v?function(){return new F(i,s,w,n).set("ua",s).set(u,this.getBrowser()).set(h,this.getCPU()).set(m,this.getDevice()).set(f,this.getEngine()).set(g,this.getOS()).get()}:function(){return new F(i,s,w[i],n).parseUA().get()}})(u)],["getCPU",b(h)],["getDevice",b(m)],["getEngine",b(f)],["getOS",b(g)],["getResult",b(v)],["getUA",function(){return s}],["setUA",function(i){return Ii(i)&&(s=qi(i,500)),this}]]).setUA(s),this):new z(i,e,t).getResult()}F.prototype.get=function(i){return i?this.data.hasOwnProperty(i)?this.data[i]:c:this.data},F.prototype.set=function(i,e){return this.data[i]=e,this},F.prototype.setCH=function(i){return this.uaCH=i,this},F.prototype.detectFeature=function(){if(U&&U.userAgent==this.ua)switch(this.itemType){case u:U.brave&&typeof U.brave.isBrave==l.FUNCTION&&this.set(k,"Brave");break;case m:!this.get(x)&&_&&_[S]&&this.set(x,S),"Macintosh"==this.get(E)&&U&&typeof U.standalone!==l.UNDEFINED&&U.maxTouchPoints&&2<U.maxTouchPoints&&this.set(E,"iPad").set(x,t);break;case g:!this.get(k)&&_&&_[I]&&this.set(k,_[I]);break;case v:var e=this.data,i=function(i){return e[i].getItem().detectFeature().get()};this.set(u,i(u)).set(h,i(h)).set(m,i(m)).set(f,i(f)).set(g,i(g))}return this},F.prototype.parseUA=function(){switch(this.itemType!=v&&H.call(this.data,this.ua,this.rgxMap),this.itemType){case u:this.set(R,B(this.get(C)));break;case g:var i;"iOS"==this.get(k)&&"18.6"==this.get(C)&&(i=/\) Version\/([\d\.]+)/.exec(this.ua))&&26<=parseInt(i[1].substring(0,2),10)&&this.set(C,i[1])}return this},F.prototype.parseCH=function(){var i,e=this.uaCH,t=this.rgxMap;switch(this.itemType){case u:case f:var o,r=e[W]||e[L];if(r)for(var a=0;a<r.length;a++){var s=r[a].brand||r[a],n=r[a].version;this.itemType==u&&!/not.a.brand/i.test(s)&&(!o||/Chrom/.test(o)&&s!=vi||o==ki&&/WebView2/.test(s))&&(s=p(s,zi),(o=this.get(k))&&!/Chrom/.test(o)&&/Chrom/.test(s)||this.set(k,s).set(C,n).set(R,B(n)),o=s),this.itemType==f&&s==vi&&this.set(C,n)}break;case h:var w=e[N];w&&("64"==e[J]&&(w+="64"),H.call(this.data,w+";",t));break;case m:if(e[S]&&this.set(x,S),e[E]&&(this.set(E,e[E]),this.get(x)&&this.get(y)||(H.call(w={},"droid 9; "+e[E]+")",t),!this.get(x)&&w.type&&this.set(x,w.type),!this.get(y)&&w.vendor&&this.set(y,w.vendor))),e[T]){if("string"!=typeof e[T])for(var b=0;!i&&b<e[T].length;)i=p(e[T][b++],Fi);else i=p(e[T],Fi);this.set(x,i)}break;case g:var d,w=e[I];w&&(d=e[$],w==Ni&&(d=13<=parseInt(B(d),10)?"11":"10"),this.set(k,w).set(C,d)),this.get(k)==Ni&&"Xbox"==e[E]&&this.set(k,"Xbox").set(C,c);break;case v:var l=this.data,w=function(i){return l[i].getItem().setCH(e).parseCH().get()};this.set(u,w(u)).set(h,w(h)).set(m,w(m)).set(f,w(f)).set(g,w(g))}return this},z.VERSION="2.0.7",z.BROWSER=A([k,C,R,x]),z.CPU=A([N]),z.DEVICE=A([E,y,x,V,S,e,t,o,G]),z.ENGINE=z.OS=A([k,C]),typeof exports!==l.UNDEFINED?(exports=typeof module!==l.UNDEFINED&&module.exports?module.exports=z:exports).UAParser=z:typeof define===l.FUNCTION&&define.amd?define(function(){return z}):Ei&&(i.UAParser=z);var Mi,ji=Ei&&(i.jQuery||i.Zepto);ji&&!ji.ua&&(Mi=new z,ji.ua=Mi.getResult(),ji.ua.get=function(){return Mi.getUA()},ji.ua.set=function(i){Mi.setUA(i);var e,t=Mi.getResult();for(e in t)ji.ua[e]=t[e]})})("object"==typeof window?window:this);