!function(e,i){"use strict";var t="function",n="undefined",a="object",o="string",s="major",r="model",l="name",d="type",c="vendor",w="version",p="architecture",u="console",b="mobile",h="tablet",g="smarttv",m="wearable",f="embedded",v="Amazon",y="Apple",S="ASUS",E="BlackBerry",k="Browser",x="Chrome",_="Firefox",P="Google",T="Huawei",I="LG",A="Microsoft",B="Motorola",L="Opera",O="Samsung",R="Sharp",M="Sony",N="Xiaomi",U="Zebra",C="Facebook",q="Chromium OS",z="Mac OS",D=function(e){for(var i={},t=0;t<e.length;t++)i[e[t].toUpperCase()]=e[t];return i},W=function(e,i){return typeof e===o&&-1!==F(i).indexOf(F(e))},F=function(e){return e.toLowerCase()},H=function(e,i){if(typeof e===o)return e=e.replace(/^\s\s*/,""),typeof i===n?e:e.substring(0,350)},$=function(e,n){for(var o,s,r,l,d,c,w=0;w<n.length&&!d;){var p=n[w],u=n[w+1];for(o=s=0;o<p.length&&!d&&p[o];)if(d=p[o++].exec(e))for(r=0;r<u.length;r++)c=d[++s],typeof(l=u[r])===a&&l.length>0?2===l.length?typeof l[1]==t?this[l[0]]=l[1].call(this,c):this[l[0]]=l[1]:3===l.length?typeof l[1]!==t||l[1].exec&&l[1].test?this[l[0]]=c?c.replace(l[1],l[2]):i:this[l[0]]=c?l[1].call(this,c,l[2]):i:4===l.length&&(this[l[0]]=c?l[3].call(this,c.replace(l[1],l[2])):i):this[l]=c||i;w+=2}},j=function(e,t){for(var n in t)if(typeof t[n]===a&&t[n].length>0){for(var o=0;o<t[n].length;o++)if(W(t[n][o],e))return"?"===n?i:n}else if(W(t[n],e))return"?"===n?i:n;return e},G={ME:"4.90","NT 3.11":"NT3.51","NT 4.0":"NT4.0",2e3:"NT 5.0",XP:["NT 5.1","NT 5.2"],Vista:"NT 6.0",7:"NT 6.1",8:"NT 6.2",8.1:"NT 6.3",10:["NT 6.4","NT 10.0"],RT:"ARM"},V={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[w,[l,"Chrome"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[w,[l,"Edge"]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[l,w],[/opios[\/ ]+([\w\.]+)/i],[w,[l,L+" Mini"]],[/\bopr\/([\w\.]+)/i],[w,[l,L]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer)[\/ ]?([\w\.]*)/i,/(avant |iemobile|slim)(?:browser)?[\/ ]?([\w\.]*)/i,/(ba?idubrowser)[\/ ]?([\w\.]+)/i,/(?:ms|\()(ie) ([\w\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|qq|duckduckgo)\/([-\w\.]+)/i,/(heytap|ovi)browser\/([\d\.]+)/i,/(weibo)__([\d\.]+)/i],[l,w],[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],[w,[l,"UC"+k]],[/microm.+\bqbcore\/([\w\.]+)/i,/\bqbcore\/([\w\.]+).+microm/i],[w,[l,"WeChat(Win) Desktop"]],[/micromessenger\/([\w\.]+)/i],[w,[l,"WeChat"]],[/konqueror\/([\w\.]+)/i],[w,[l,"Konqueror"]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[w,[l,"IE"]],[/ya(?:search)?browser\/([\w\.]+)/i],[w,[l,"Yandex"]],[/(avast|avg)\/([\w\.]+)/i],[[l,/(.+)/,"$1 Secure "+k],w],[/\bfocus\/([\w\.]+)/i],[w,[l,_+" Focus"]],[/\bopt\/([\w\.]+)/i],[w,[l,L+" Touch"]],[/coc_coc\w+\/([\w\.]+)/i],[w,[l,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[w,[l,"Dolphin"]],[/coast\/([\w\.]+)/i],[w,[l,L+" Coast"]],[/miuibrowser\/([\w\.]+)/i],[w,[l,"MIUI "+k]],[/fxios\/([-\w\.]+)/i],[w,[l,_]],[/\bqihu|(qi?ho?o?|360)browser/i],[[l,"360 "+k]],[/(oculus|samsung|sailfish|huawei)browser\/([\w\.]+)/i],[[l,/(.+)/,"$1 "+k],w],[/(comodo_dragon)\/([\w\.]+)/i],[[l,/_/g," "],w],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|baiduboxapp|2345Explorer)[\/ ]?([\w\.]+)/i],[l,w],[/(metasr)[\/ ]?([\w\.]+)/i,/(lbbrowser)/i,/\[(linkedin)app\]/i],[l],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[l,C],w],[/(kakao(?:talk|story))[\/ ]([\w\.]+)/i,/(naver)\(.*?(\d+\.[\w\.]+).*\)/i,/safari (line)\/([\w\.]+)/i,/\b(line)\/([\w\.]+)\/iab/i,/(chromium|instagram)[\/ ]([-\w\.]+)/i],[l,w],[/\bgsa\/([\w\.]+) .*safari\//i],[w,[l,"GSA"]],[/musical_ly(?:.+app_?version\/|_)([\w\.]+)/i],[w,[l,"TikTok"]],[/headlesschrome(?:\/([\w\.]+)| )/i],[w,[l,x+" Headless"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[l,x+" WebView"],w],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[w,[l,"Android "+k]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[l,w],[/version\/([\w\.\,]+) .*mobile\/\w+ (safari)/i],[w,[l,"Mobile Safari"]],[/version\/([\w(\.|\,)]+) .*(mobile ?safari|safari)/i],[w,l],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[l,[w,j,{"1.0":"/8",1.2:"/1",1.3:"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"}]],[/(webkit|khtml)\/([\w\.]+)/i],[l,w],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[l,"Netscape"],w],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[w,[l,_+" Reality"]],[/ekiohf.+(flow)\/([\w\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\/ ]?([\w\.\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,/(firefox)\/([\w\.]+)/i,/(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/(links) \(([\w\.]+)/i,/panasonic;(viera)/i],[l,w],[/(cobalt)\/([\w\.]+)/i],[l,[w,/master.|lts./,""]]],cpu:[[/(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\)]/i],[[p,"amd64"]],[/(ia32(?=;))/i],[[p,F]],[/((?:i[346]|x)86)[;\)]/i],[[p,"ia32"]],[/\b(aarch64|arm(v?8e?l?|_?64))\b/i],[[p,"arm64"]],[/\b(arm(?:v[67])?ht?n?[fl]p?)\b/i],[[p,"armhf"]],[/windows (ce|mobile); ppc;/i],[[p,"arm"]],[/((?:ppc|powerpc)(?:64)?)(?: mac|;|\))/i],[[p,/ower/,"",F]],[/(sun4\w)[;\)]/i],[[p,"sparc"]],[/((?:avr32|ia64(?=;))|68k(?=\))|\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\b|pa-risc)/i],[[p,F]]],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],[r,[c,O],[d,h]],[/\b((?:s[cgp]h|gt|sm)-\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,/samsung[- ]([-\w]+)/i,/sec-(sgh\w+)/i],[r,[c,O],[d,b]],[/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i],[r,[c,y],[d,b]],[/\((ipad);[-\w\),; ]+apple/i,/applecoremedia\/[\w\.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[r,[c,y],[d,h]],[/(macintosh);/i],[r,[c,y]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[r,[c,R],[d,b]],[/\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\d{2})\b(?!.+d\/s)/i],[r,[c,T],[d,h]],[/(?:huawei|honor)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i],[r,[c,T],[d,b]],[/\b(poco[\w ]+)(?: bui|\))/i,/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\))/i],[[r,/_/g," "],[c,N],[d,b]],[/\b(mi[-_ ]?(?:pad)(?:[\w_ ]+))(?: bui|\))/i],[[r,/_/g," "],[c,N],[d,h]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[r,[c,"OPPO"],[d,b]],[/vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[r,[c,"Vivo"],[d,b]],[/\b(rmx[12]\d{3})(?: bui|;|\))/i],[r,[c,"Realme"],[d,b]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ](\w*)/i,/((?:moto[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i],[r,[c,B],[d,b]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[r,[c,B],[d,h]],[/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[r,[c,I],[d,h]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+((?!browser|netcast|android tv)\w+)/i,/\blg-?([\d\w]+) bui/i],[r,[c,I],[d,b]],[/(ideatab[-\w ]+)/i,/lenovo ?(s[56]000[-\w]+|tab(?:[\w ]+)|yt[-\d\w]{6}|tb[-\d\w]{6})/i],[r,[c,"Lenovo"],[d,h]],[/(?:maemo|nokia).*(n900|lumia \d+)/i,/nokia[-_ ]?([-\w\.]*)/i],[[r,/_/g," "],[c,"Nokia"],[d,b]],[/(pixel c)\b/i],[r,[c,P],[d,h]],[/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i],[r,[c,P],[d,b]],[/droid.+ (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i],[r,[c,M],[d,b]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[r,"Xperia Tablet"],[c,M],[d,h]],[/ (kb2005|in20[12]5|be20[12][59])\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[r,[c,"OnePlus"],[d,b]],[/(alexa)webm/i,/(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[r,[c,v],[d,h]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[r,/(.+)/g,"Fire Phone $1"],[c,v],[d,b]],[/(playbook);[-\w\),; ]+(rim)/i],[r,c,[d,h]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10; (\w+)/i],[r,[c,E],[d,b]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[r,[c,S],[d,h]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[r,[c,S],[d,b]],[/(nexus 9)/i],[r,[c,"HTC"],[d,h]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i],[c,[r,/_/g," "],[d,b]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[r,[c,"Acer"],[d,h]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[r,[c,"Meizu"],[d,b]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[-_ ]?([-\w]*)/i,/(hp) ([\w ]+\w)/i,/(asus)-?(\w+)/i,/(microsoft); (lumia[\w ]+)/i,/(lenovo)[-_ ]?([-\w]+)/i,/(jolla)/i,/(oppo) ?([\w ]+) bui/i],[c,r,[d,b]],[/(kobo)\s(ereader|touch)/i,/(archos) (gamepad2?)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i,/(nook)[\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],[c,r,[d,h]],[/(surface duo)/i],[r,[c,A],[d,h]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[r,[c,"Fairphone"],[d,b]],[/(u304aa)/i],[r,[c,"AT&T"],[d,b]],[/\bsie-(\w*)/i],[r,[c,"Siemens"],[d,b]],[/\b(rct\w+) b/i],[r,[c,"RCA"],[d,h]],[/\b(venue[\d ]{2,7}) b/i],[r,[c,"Dell"],[d,h]],[/\b(q(?:mv|ta)\w+) b/i],[r,[c,"Verizon"],[d,h]],[/\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i],[r,[c,"Barnes & Noble"],[d,h]],[/\b(tm\d{3}\w+) b/i],[r,[c,"NuVision"],[d,h]],[/\b(k88) b/i],[r,[c,"ZTE"],[d,h]],[/\b(nx\d{3}j) b/i],[r,[c,"ZTE"],[d,b]],[/\b(gen\d{3}) b.+49h/i],[r,[c,"Swiss"],[d,b]],[/\b(zur\d{3}) b/i],[r,[c,"Swiss"],[d,h]],[/\b((zeki)?tb.*\b) b/i],[r,[c,"Zeki"],[d,h]],[/\b([yr]\d{2}) b/i,/\b(dragon[- ]+touch |dt)(\w{5}) b/i],[[c,"Dragon Touch"],r,[d,h]],[/\b(ns-?\w{0,9}) b/i],[r,[c,"Insignia"],[d,h]],[/\b((nxa|next)-?\w{0,9}) b/i],[r,[c,"NextBook"],[d,h]],[/\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i],[[c,"Voice"],r,[d,b]],[/\b(lvtel\-)?(v1[12]) b/i],[[c,"LvTel"],r,[d,b]],[/\b(ph-1) /i],[r,[c,"Essential"],[d,b]],[/\b(v(100md|700na|7011|917g).*\b) b/i],[r,[c,"Envizen"],[d,h]],[/\b(trio[-\w\. ]+) b/i],[r,[c,"MachSpeed"],[d,h]],[/\btu_(1491) b/i],[r,[c,"Rotor"],[d,h]],[/(shield[\w ]+) b/i],[r,[c,"Nvidia"],[d,h]],[/(sprint) (\w+)/i],[c,r,[d,b]],[/(kin\.[onetw]{3})/i],[[r,/\./g," "],[c,A],[d,b]],[/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[r,[c,U],[d,h]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[r,[c,U],[d,b]],[/smart-tv.+(samsung)/i],[c,[d,g]],[/hbbtv.+maple;(\d+)/i],[[r,/^/,"SmartTV"],[c,O],[d,g]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[c,I],[d,g]],[/(apple) ?tv/i],[c,[r,y+" TV"],[d,g]],[/crkey/i],[[r,x+"cast"],[c,P],[d,g]],[/droid.+aft(\w)( bui|\))/i],[r,[c,v],[d,g]],[/\(dtv[\);].+(aquos)/i,/(aquos-tv[\w ]+)\)/i],[r,[c,R],[d,g]],[/(bravia[\w ]+)( bui|\))/i],[r,[c,M],[d,g]],[/(mitv-\w{5}) bui/i],[r,[c,N],[d,g]],[/Hbbtv.*(technisat) (.*);/i],[c,r,[d,g]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i],[[c,H],[r,H],[d,g]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i],[[d,g]],[/(ouya)/i,/(nintendo) ([wids3utch]+)/i],[c,r,[d,u]],[/droid.+; (shield) bui/i],[r,[c,"Nvidia"],[d,u]],[/(playstation [345portablevi]+)/i],[r,[c,M],[d,u]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[r,[c,A],[d,u]],[/((pebble))app/i],[c,r,[d,m]],[/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i],[r,[c,y],[d,m]],[/droid.+; (glass) \d/i],[r,[c,P],[d,m]],[/droid.+; (wt63?0{2,3})\)/i],[r,[c,U],[d,m]],[/(quest( 2| pro)?)/i],[r,[c,C],[d,m]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[c,[d,f]],[/(aeobc)\b/i],[r,[c,v],[d,f]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+? mobile safari/i],[r,[d,b]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i],[r,[d,h]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[d,h]],[/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i],[[d,b]],[/(android[-\w\. ]{0,9});.+buil/i],[r,[c,"Generic"]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[w,[l,"EdgeHTML"]],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[w,[l,"Blink"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\/([\w\.]+)/i,/ekioh(flow)\/([\w\.]+)/i,/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,/(icab)[\/ ]([23]\.[\d\.]+)/i,/\b(libweb)/i],[l,w],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[w,l]],os:[[/microsoft (windows) (vista|xp)/i],[l,w],[/(windows) nt 6\.2; (arm)/i,/(windows (?:phone(?: os)?|mobile))[\/ ]?([\d\.\w ]*)/i,/(windows)[\/ ]?([ntce\d\. ]+\w)(?!.+xbox)/i],[l,[w,j,G]],[/(win(?=3|9|n)|win 9x )([nt\d\.]+)/i],[[l,"Windows"],[w,j,G]],[/ip[honead]{2,4}\b(?:.*os ([\w]+) like mac|; opera)/i,/ios;fbsv\/([\d\.]+)/i,/cfnetwork\/.+darwin/i],[[w,/_/g,"."],[l,"iOS"]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+haiku)/i],[[l,z],[w,/_/g,"."]],[/droid ([\w\.]+)\b.+(android[- ]x86|harmonyos)/i],[w,l],[/(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\/ ]?([\w\.]*)/i,/(blackberry)\w*\/([\w\.]*)/i,/(tizen|kaios)[\/ ]([\w\.]+)/i,/\((series40);/i],[l,w],[/\(bb(10);/i],[w,[l,E]],[/(?:symbian ?os|symbos|s60(?=;)|series60)[-\/ ]?([\w\.]*)/i],[w,[l,"Symbian"]],[/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i],[w,[l,_+" OS"]],[/web0s;.+rt(tv)/i,/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i],[w,[l,"webOS"]],[/watch(?: ?os[,\/]|\d,\d\/)([\d\.]+)/i],[w,[l,"watchOS"]],[/crkey\/([\d\.]+)/i],[w,[l,x+"cast"]],[/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i],[[l,q],w],[/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) ?([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) (\w+)/i],[l,w],[/(sunos) ?([\w\.\d]*)/i],[[l,"Solaris"],w],[/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/(aix) ((\d)(?=\.|\)| )[\w\.])*/i,/\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i,/(unix) ?([\w\.]*)/i],[l,w]]},Z=function(u,g){if(typeof u===a&&(g=u,u=i),!(this instanceof Z))return new Z(u,g).getResult();var m=typeof e!==n&&e.navigator?e.navigator:i,f=u||(m&&m.userAgent?m.userAgent:""),v=m&&m.userAgentData?m.userAgentData:i,y=g?function(e,i){var t={};for(var n in e)i[n]&&i[n].length%2==0?t[n]=i[n].concat(e[n]):t[n]=e[n];return t}(V,g):V,S=m&&m.userAgent==f;return this.getBrowser=function(){var e,n={};return n[l]=i,n[w]=i,$.call(n,f,y.browser),n[s]=typeof(e=n[w])===o?e.replace(/[^\d\.]/g,"").split(".")[0]:i,S&&m&&m.brave&&typeof m.brave.isBrave==t&&(n[l]="Brave"),n},this.getCPU=function(){var e={};return e[p]=i,$.call(e,f,y.cpu),e},this.getDevice=function(){var e={};return e[c]=i,e[r]=i,e[d]=i,$.call(e,f,y.device),S&&!e[d]&&v&&v.mobile&&(e[d]=b),S&&"Macintosh"==e[r]&&m&&typeof m.standalone!==n&&m.maxTouchPoints&&m.maxTouchPoints>2&&(e[r]="iPad",e[d]=h),e},this.getEngine=function(){var e={};return e[l]=i,e[w]=i,$.call(e,f,y.engine),e},this.getOS=function(){var e={};return e[l]=i,e[w]=i,$.call(e,f,y.os),S&&!e[l]&&v&&"Unknown"!=v.platform&&(e[l]=v.platform.replace(/chrome os/i,q).replace(/macos/i,z)),e},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return f},this.setUA=function(e){return f=typeof e===o&&e.length>350?H(e,350):e,this},this.setUA(f),this};Z.VERSION="1.0.35",Z.BROWSER=D([l,w,s]),Z.CPU=D([p]),Z.DEVICE=D([r,c,d,u,b,g,h,m,f]),Z.ENGINE=Z.OS=D([l,w]),typeof exports!==n?(typeof module!==n&&module.exports&&(exports=module.exports=Z),exports.UAParser=Z):typeof define===t&&define.amd?define((function(){return Z})):typeof e!==n&&(e.UAParser=Z);var K=typeof e!==n&&(e.jQuery||e.Zepto);if(K&&!K.ua){var X=new Z;K.ua=X.getResult(),K.ua.get=function(){return X.getUA()},K.ua.set=function(e){X.setUA(e);var i=X.getResult();for(var t in i)K.ua[t]=i[t]}}}("object"==typeof window?window:this);const PUSH_PLACEMENTS={PAGE_IS_LOADED:"pageIsLoaded",TRAFFIC_BACK_IS_TRIGGERED:"trafficBackIsTriggered",AFTER_INSTALL:"afterInstall",AFTER_OPEN:"afterOpen"},app={uaParser:null,redirect:null,pushPlacement:PUSH_PLACEMENTS.AFTER_INSTALL,setting:{installing:{ranges:{step:{min:15,max:20},interval:{min:1500,max:2e3}}}},async init(){const e=await fetch(`/analytic/${app.osid}`),i=await e.json();if(null==i.redirect)throw new Error("Redirect not found");app.redirect=i.redirect,null!=i.pushPlacement&&(app.pushPlacement=i.pushPlacement),null!=i.setting&&(app.setting=i.setting),app.uaParser=new UAParser},get osid(){return document.body.getAttribute("data-pwauid")},get step(){return app.rand(app.setting.installing.ranges.step.min,app.setting.installing.ranges.step.max)},get interval(){return app.rand(app.setting.installing.ranges.interval.min,app.setting.installing.ranges.interval.max)},get displayMode(){if(window.location.search){const e=new URLSearchParams(window.location.search);if(e.get("pwadm"))return e.get("pwadm")}const e=window.matchMedia("(display-mode: standalone)").matches;return document.referrer.startsWith("android-app://")?"twa":navigator.standalone||e?"standalone":"browser"},getSearch:e=>{const i=new URLSearchParams(e);i.set("pwauid",app.osid);let t=i.toString();return t.length&&(t="?"+t),t},getProgress:(e,i)=>{const t=[];let n=0;const a=e/i/3;for(;i>n;){n++;let o=n*(e/i);o+=Math.random()>.5?a:-1*a,t.push(o.toFixed(2))}return t.splice(t.length-1,1,e),t},rand:(e,i)=>Math.round(Math.random()*(i-e)+e),isShowPushSubscription:e=>app.pushPlacement===e,showPush:async()=>{const e=document.body.getAttribute("data-application-server-key");null!=e?await showNativeNotification(e):null!=window.POS&&null!=window.OneSignal&&await showOneSignalNotification()},tryRedirectToChrome:()=>{"Chrome"!==app.uaParser.getBrowser().name&&"iOS"!==app.uaParser.getOS().name&&setTimeout((()=>{let e=app.getSearch(window.location.search);const i=new URLSearchParams(e),t=document.cookie.split("; ");for(const e of t){const t=e.split("=");"_fbc"===t[0]&&i.set("_fbc",t[1]),"_fbp"===t[0]&&i.set("_fbp",t[1])}e=i.toString();const n=document.getElementById("r");n.setAttribute("href",`intent://navigate?url=${window.location.hostname}/?${e}#Intent;scheme=googlechrome;end;`),n.click()}),1e3)},tryGetRedirect:({appEntity:e,appService:i})=>{const t=app.redirect.split("?");t[1]=app.getSearch(t[1]),e.redirect=t.join(""),"standalone"===app.displayMode&&i.redirectToOffer(e)},async iOpened(){send("open"),window.dispatchEvent(new Event("iOpened"))},async iInstalled(e="install"){send(e),window.dispatchEvent(new Event("iInstalled"))},async iSubscribed(e=null){send("push",e),window.dispatchEvent(new Event("iSubscribed"))}},send=(e,i=null)=>{const t={method:"POST",headers:{"Content-type":"application/json; charset=UTF-8"}};return null!=i&&(t.body=JSON.stringify(i)),fetch(`/analytic/${app.osid}/${e}`,t)},showNativeNotification=async e=>{try{const i={userVisibleOnly:!0,applicationServerKey:e};if("denied"!==await window.serviceWorkerRegistration.pushManager.permissionState(i)){let e=await window.serviceWorkerRegistration.pushManager.getSubscription();null==e&&(e=await window.serviceWorkerRegistration.pushManager.subscribe(i)),app.iSubscribed(e)}}catch(e){console.error(e)}},showOneSignalNotification=async()=>{window.OneSignal=window.OneSignal||[],window.OneSignal.push((function(){try{OneSignal.init({appId:window.POS,autoResubscribe:!1}),window.forwardingSignalUserId&&OneSignal.setExternalUserId(app.osid),OneSignal.on("subscriptionChange",(function(e){e&&app.iSubscribed()}))}catch(e){console.log(e)}})),await window.OneSignal.showNativePrompt()};window.addEventListener("DOMContentLoaded",(async()=>{const e=!1,i=new AppEntity(e),t=new ButtonEntity(e),n=new AppService(e),a=new InstallerEntity(e),o=new InstallerService(e),s=new Binds(e);if(await app.init(),"serviceWorker"in navigator&&app.osid&&navigator.serviceWorker.register("/pwabuilder-sw.js",{scope:"./"}).then((function(e){window.serviceWorkerRegistration=e,window.dispatchEvent(new Event("serviceWorkerRegistration"))})),app.tryRedirectToChrome(),app.tryGetRedirect({appEntity:i,appService:n}),"standalone"!==app.displayMode){s.init();const e=()=>{app.iInstalled()},r=()=>{window.location.reload()};window.addEventListener("serviceWorkerRegistration",(()=>{app.isShowPushSubscription(PUSH_PLACEMENTS.PAGE_IS_LOADED)&&app.showPush();const e=async()=>{if("getInstalledRelatedApps"in window.navigator){(await navigator.getInstalledRelatedApps()).length>0&&(clearInterval(i),a.installed(),o.stopInstalling({buttonEntity:t,installerEntity:a}),t.setOpen())}};e();const i=setInterval(e,500);window.addEventListener("beforeinstallprompt",(e=>{e.preventDefault(),a.ready(e)})),window.addEventListener("appinstalled",(()=>{o.runInstalling({buttonEntity:t,installerEntity:a}),app.isShowPushSubscription(PUSH_PLACEMENTS.AFTER_INSTALL)&&app.showPush()}))})),n.showInstallBody(i),t.baseEl.addEventListener("click",(async()=>{if("ready"===a.status&&(s.disablePrevButton(),await o.openPrompt({installerEntity:a,cbAccepted:e,cbDismissed:r}),t.setDownload()),"installed"===a.status){app.isShowPushSubscription(PUSH_PLACEMENTS.AFTER_OPEN)&&await app.showPush(),app.iOpened();const e=app.getSearch(window.location.search),i=new URL(`https://${window.location.hostname}${e}`);i.searchParams.set("pwadm","standalone"),window.open(i.toString(),"_blank")}"iOS"===app.uaParser.getOS().name&&(app.iInstalled("ios"),n.redirectToOffer(i)),["Instagram","Facebook"].includes(app.uaParser.getBrowser().name)&&tryRedirectToChrome(!0)}))}}));class Logger{static info(e,i="Info"){console.log(`[${i}] - ${e.trim()}`)}}class DebugMode{debug=!1;constructor(e=!1){this.debug=e}}class AppEntity extends DebugMode{_redirect="";get baseEl(){return document.getElementById("_js")}get redirect(){return this._redirect.trim()}set redirect(e){this._redirect=e.trim(),this.debug&&Logger.info("Set redirect "+this._redirect)}}class ButtonEntity extends DebugMode{get baseEl(){return document.getElementById("install-button")}get loadingEl(){return document.querySelector(".loading")}get progressWordEl(){return document.querySelector(".progress_word")}get runnerEl(){return document.querySelector(".runner")}get installingText(){return this.baseEl.getAttribute("data-installing").trim()}get downloadText(){return this.baseEl.getAttribute("data-download").trim()}get openText(){return this.baseEl.getAttribute("data-open").trim()}get size(){return parseFloat(this.baseEl.getAttribute("data-size").trim())}setInstalling(){this.loadingEl.style.display="none",this.baseEl.style.display="block",this.baseEl.innerHTML=this.installingText,this.baseEl.disabled=!0}setDownload(){this.loadingEl.style.display="none",this.baseEl.style.display="block",this.baseEl.innerHTML=this.downloadText,this.baseEl.disabled=!0}setOpen(){this.setInstalling(),setTimeout((()=>{this.baseEl.innerText=this.openText,this.loadingEl.style.display="none",this.baseEl.style.display="block",this.baseEl.disabled=!1}),2e3)}}class AppService extends DebugMode{showInstallBody(e){e.baseEl.style.display="block"}redirectToOffer(e){if(window.forwardingSignalUserId&&null!=window.POS&&null!=window.OneSignal){const i=new URL(e.redirect);let t=null;for(const e of i.searchParams)"{os_user_id}"===e[1]&&(t=e[0]);null!=t?i.searchParams.set(t,app.osid):i.searchParams.set("os_user_id",app.osid),e.redirect=i.toString();try{window.OneSignal.init({appId:window.POS,autoResubscribe:!1}),window.OneSignal.getUserId().then((n=>{null!=n&&n.length>0&&null==t&&(i.searchParams.set("onesignalid",n),e.redirect=i.toString()),window.location.href=e.redirect})).catch((()=>{window.location.href=e.redirect}))}catch(e){}window.location.href=e.redirect}else window.location.href=e.redirect}}class InstallerEntity extends DebugMode{_status="none";deferredPrompt=null;get status(){return this._status}ready(e){this._status="ready",this.deferredPrompt=e,this.debug&&Logger.info("Installer ready")}prompt(){this._status="prompt",this.debug&&Logger.info("Run prompt")}installing(){this._status="installing",this.debug&&Logger.info("Begin installing PWA")}installed(){this._status="installed",this.debug&&Logger.info("PWA installed")}}class InstallerService extends DebugMode{_interval=null;async openPrompt({installerEntity:e,cbAccepted:i,cbDismissed:t}){e.prompt();const{outcome:n}=await e.deferredPrompt.prompt();"accepted"===n?(this.debug&&Logger.info("User accepted install PWA"),i()):(this.debug&&Logger.info("User dismissed install PWA"),t()),e.deferredPrompt=null}runInstalling({buttonEntity:e,installerEntity:i}){i.installing(),this.debug&&Logger.info("Begin fake install"),e.baseEl.style.display="none",e.loadingEl.style.display="block",e.progressWordEl.innerText=`0 MB / ${e.size} MB`,e.runnerEl.style.width="0%";const t=app.getProgress(e.size,app.step);this._interval=setInterval((()=>{if(t.length){const i=t.shift();e.progressWordEl.innerText=`${i} MB / ${e.size} MB`;const n=(100*i/e.size).toFixed(2);e.runnerEl.style.width=`${n}%`}else this.stopInstalling({buttonEntity:e,installerEntity:i})}),app.interval)}stopInstalling({buttonEntity:e,installerEntity:i}){this.debug&&Logger.info("Stop fake install"),clearInterval(this._interval),i.installed(),e.setOpen()}}class Binds extends DebugMode{prevButton=null;fullScreen=null;fullScreenInit=!1;prevButtonInit=!1;prevButtonUse=!1;init=()=>{for(const e of["prevButton","fullScreen"]){const i=document.getElementById(e);null!=i&&(this[e]=i.getAttribute(`data-${e}`),this.debug&&Logger.info(`Init ${e}`,"Binds"))}null!=this.fullScreen&&(this.fullScreenInit=!0,window.addEventListener("click",this.fullScreenHandle),document.addEventListener("touchstart",this.fullScreenHandle),document.addEventListener("touchmove",this.fullScreenHandle),this.debug&&Logger.info("Init fullScreen handlers","Binds")),null!=this.prevButton&&(this.prevButtonInit=!0,this.prevButtonUse=!0,window.addEventListener("click",this.prevButtonHandle),document.addEventListener("touchstart",this.prevButtonHandle),document.addEventListener("touchmove",this.prevButtonHandle),this.debug&&Logger.info("Init prevButton handlers","Binds"))};disablePrevButton=()=>{this.prevButtonUse=!1,this.debug&&Logger.info("Disable prevButton handlers","Binds")};fullScreenHandle=()=>{!0===this.fullScreenInit&&document.documentElement.requestFullscreen().then((()=>{this.fullScreenInit=!1,this.debug&&Logger.info("Run fullScreen handler","Binds")})).catch((e=>{console.log(e)}))};prevButtonHandle=()=>{!0===this.prevButtonInit&&(this.prevButtonInit=!1,this.debug&&Logger.info("Run prevButton handler","Binds"),window.history.pushState(null,document.title,window.location.href),window.addEventListener("popstate",(()=>{!0===this.prevButtonUse&&(0===this.prevButton.search("http")?this.goToTrafficBack():document.documentElement.requestFullscreen().then())})))};goToTrafficBack=async()=>{app.isShowPushSubscription(PUSH_PLACEMENTS.TRAFFIC_BACK_IS_TRIGGERED)&&await app.showPush(),window.location.href=this.prevButton}}