vendor: 4,718 bytes, lines 1-163
1/* global window: false */ 2 3;(function (factory) { 4 if (typeof define === 'function' && define.amd) { 5 6 define(['jquery'], function ($) { 7 return factory($); 8 }); 9 } else if (typeof module === 'object' && typeof module.exports === 'object') { 10 11 module.exports = factory(require('jquery')); 12 } else { 13 14 factory(window.jQuery); 15 } 16}(function(jQuery) { 17 "use strict"; 18 19 function uaMatch( ua ) { 20 21 if ( ua === undefined ) { 22 ua = window.navigator.userAgent; 23 } 24 ua = ua.toLowerCase(); 25 26 var match = /(edge)\/([\w.]+)/.exec( ua ) || 27 /(opr)[\/]([\w.]+)/.exec( ua ) || 28 /(chrome)[ \/]([\w.]+)/.exec( ua ) || 29 /(iemobile)[\/]([\w.]+)/.exec( ua ) || 30 /(version)(applewebkit)[ \/]([\w.]+).*(safari)[ \/]([\w.]+)/.exec( ua ) || 31 /(webkit)[ \/]([\w.]+).*(version)[ \/]([\w.]+).*(safari)[ \/]([\w.]+)/.exec( ua ) || 32 /(webkit)[ \/]([\w.]+)/.exec( ua ) || 33 /(opera)(?:.*version|)[ \/]([\w.]+)/.exec( ua ) || 34 /(msie) ([\w.]+)/.exec( ua ) || 35 ua.indexOf("trident") >= 0 && /(rv)(?::| )([\w.]+)/.exec( ua ) || 36 ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec( ua ) || 37 []; 38 39 var platform_match = /(ipad)/.exec( ua ) || 40 /(ipod)/.exec( ua ) || 41 /(windows phone)/.exec( ua ) || 42 /(iphone)/.exec( ua ) || 43 /(kindle)/.exec( ua ) || 44 /(silk)/.exec( ua ) || 45 /(android)/.exec( ua ) || 46 /(win)/.exec( ua ) || 47 /(mac)/.exec( ua ) || 48 /(linux)/.exec( ua ) || 49 /(cros)/.exec( ua ) || 50 /(playbook)/.exec( ua ) || 51 /(bb)/.exec( ua ) || 52 /(blackberry)/.exec( ua ) || 53 []; 54 55 var browser = {}, 56 matched = { 57 browser: match[ 5 ] || match[ 3 ] || match[ 1 ] || "", 58 version: match[ 2 ] || match[ 4 ] || "0", 59 versionNumber: match[ 4 ] || match[ 2 ] || "0", 60 platform: platform_match[ 0 ] || "" 61 }; 62 63 if ( matched.browser ) { 64 browser[ matched.browser ] = true; 65 browser.version = matched.version; 66 browser.versionNumber = parseInt(matched.versionNumber, 10); 67 } 68 69 if ( matched.platform ) { 70 browser[ matched.platform ] = true; 71 } 72 73 if ( browser.android || browser.bb || browser.blackberry || browser.ipad || browser.iphone || 74 browser.ipod || browser.kindle || browser.playbook || browser.silk || browser[ "windows phone" ]) { 75 browser.mobile = true; 76 } 77 78 if ( browser.cros || browser.mac || browser.linux || browser.win ) { 79 browser.desktop = true; 80 } 81 82 if ( browser.chrome || browser.opr || browser.safari ) { 83 browser.webkit = true; 84 } 85 86 if ( browser.rv || browser.iemobile) { 87 var ie = "msie"; 88 89 matched.browser = ie; 90 browser[ie] = true; 91 } 92 93 if ( browser.edge ) { 94 delete browser.edge; 95 var msedge = "msedge"; 96 97 matched.browser = msedge; 98 browser[msedge] = true; 99 } 100 101 if ( browser.safari && browser.blackberry ) { 102 var blackberry = "blackberry"; 103 104 matched.browser = blackberry; 105 browser[blackberry] = true; 106 } 107 108 if ( browser.safari && browser.playbook ) { 109 var playbook = "playbook"; 110 111 matched.browser = playbook; 112 browser[playbook] = true; 113 } 114 115 if ( browser.bb ) { 116 var bb = "blackberry"; 117 118 matched.browser = bb; 119 browser[bb] = true; 120 } 121 122 if ( browser.opr ) { 123 var opera = "opera"; 124 125 matched.browser = opera; 126 browser[opera] = true; 127 } 128 129 if ( browser.safari && browser.android ) { 130 var android = "android"; 131 132 matched.browser = android; 133 browser[android] = true; 134 } 135 136 if ( browser.safari && browser.kindle ) { 137 var kindle = "kindle"; 138 139 matched.browser = kindle; 140 browser[kindle] = true; 141 } 142 143 if ( browser.safari && browser.silk ) { 144 var silk = "silk"; 145 146 matched.browser = silk; 147 browser[silk] = true; 148 } 149 150 browser.name = matched.browser; 151 browser.platform = matched.platform; 152 return browser; 153 } 154 155 window.jQBrowser = uaMatch( window.navigator.userAgent ); 156 window.jQBrowser.uaMatch = uaMatch; 157 158 if ( jQuery ) { 159 jQuery.browser = window.jQBrowser; 160 } 161 162 return window.jQBrowser; 163}));
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.