1const dfp_post_url = '/4a3c3a7ff8193f1fdd6f61111ae6b011bc1967e2' 2if (typeof exports === 'undefined') { 3 var exports = {}; 4} 5! function(e) { 6 var i, t, n = function() { 7 return i = (new(window.UAParser || exports.UAParser)).getResult(), t = new Detector, this 8 }; 9 n.prototype = { 10 getSoftwareVersion: function() { 11 return "0.1.11" 12 }, 13 getBrowserData: function() { 14 return i 15 }, 16 getFingerprint: function() { 17 return murmurhash3_32_gc(i.ua + "|" + this.getScreenPrint() + "|" + this.getPlugins() + "|" + this.getFonts() + "|" + this.isLocalStorage() + "|" + this.isSessionStorage() + "|" + this.getTimeZone() + "|" + this.getLanguage() + "|" + this.getSystemLanguage() + "|" + this.isCookie() + "|" + this.getCanvasPrint(), 256) 18 }, 19 getCustomFingerprint: function() { 20 for (var e = "", i = 0; i < arguments.length; i++) e += arguments[i] + "|"; 21 return murmurhash3_32_gc(e, 256) 22 }, 23 getUserAgent: function() { 24 return i.ua.substring(0, Math.min(199, i.ua.length)); 25 }, 26 getUserAgentLowerCase: function() { 27 return i.ua.toLowerCase() 28 }, 29 getBrowser: function() { 30 return i.browser.name 31 }, 32 getBrowserVersion: function() { 33 return i.browser.version 34 }, 35 getBrowserMajorVersion: function() { 36 return i.browser.major 37 }, 38 isIE: function() { 39 return /IE/i.test(i.browser.name) 40 }, 41 isChrome: function() { 42 return /Chrome/i.test(i.browser.name) 43 }, 44 isFirefox: function() { 45 return /Firefox/i.test(i.browser.name) 46 }, 47 isSafari: function() { 48 return /Safari/i.test(i.browser.name) 49 }, 50 isMobileSafari: function() { 51 return /Mobile\sSafari/i.test(i.browser.name) 52 }, 53 isOpera: function() { 54 return /Opera/i.test(i.browser.name) 55 }, 56 getWebdriver: function() { 57 let webdriver = navigator.webdriver; 58 return webdriver; 59 }, 60 61 getAppVersion: function() { 62 let appVersion = navigator.appVersion; 63 return appVersion; 64 }, 65 66 getPluginsPrototype: function() { 67 let correctPrototypes = PluginArray.prototype === navigator.plugins.__proto__; 68 if (navigator.plugins.length > 0) 69 correctPrototypes &= Plugin.prototype === navigator.plugins[0].__proto__; 70 return Boolean(correctPrototypes); 71 }, 72 73 getMimePrototype: function() { 74 let correctPrototypes = MimeTypeArray.prototype === navigator.mimeTypes.__proto__; 75 if (navigator.mimeTypes.length > 0) 76 correctPrototypes &= MimeType.prototype === navigator.mimeTypes[0].__proto__; 77 return Boolean(correctPrototypes); 78 }, 79 80 getLanguagesLength: function() { 81 let language = navigator.language; 82 let languagesLength = navigator.languages.length; 83 return (!language || languagesLength === 0) 84 }, 85 86 getOuterValue: function() { 87 let outerHeight = window.outerHeight; 88 let outerWidth = window.outerWidth; 89 return (outerHeight === 0 || outerWidth === 0); 90 }, 91 92 getEngine: function() { 93 return i.engine.name 94 }, 95 getEngineVersion: function() { 96 return i.engine.version 97 }, 98 getOS: function() { 99 return i.os.name 100 }, 101 getOSVersion: function() { 102 return i.os.version 103 }, 104 isWindows: function() { 105 return /Windows/i.test(i.os.name) 106 }, 107 isMac: function() { 108 return /Mac/i.test(i.os.name) 109 }, 110 isLinux: function() { 111 return /Linux/i.test(i.os.name) 112 }, 113 isUbuntu: function() { 114 return /Ubuntu/i.test(i.os.name) 115 }, 116 isSolaris: function() { 117 return /Solaris/i.test(i.os.name) 118 }, 119 getDevice: function() { 120 return i.device.model 121 }, 122 getDeviceType: function() { 123 return i.device.type 124 }, 125 getDeviceVendor: function() { 126 return i.device.vendor 127 }, 128 getCPU: function() { 129 return i.cpu.architecture 130 }, 131 isMobile: function() { 132 var e = i.ua || navigator.vendor || window.opera; 133 return /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(e) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|
133sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(e.substr(0, 4)) 134 }, 135 isMobileMajor: function() { 136 return this.isMobileAndroid() || this.isMobileBlackBerry() || this.isMobileIOS() || this.isMobileOpera() || this.isMobileWindows() 137 }, 138 isMobileAndroid: function() { 139 return !!i.ua.match(/Android/i) 140 }, 141 isMobileOpera: function() { 142 return !!i.ua.match(/Opera Mini/i) 143 }, 144 isMobileWindows: function() { 145 return !!i.ua.match(/IEMobile/i) 146 }, 147 isMobileBlackBerry: function() { 148 return !!i.ua.match(/BlackBerry/i) 149 }, 150 isMobileIOS: function() { 151 return !!i.ua.match(/iPhone|iPad|iPod/i) 152 }, 153 isIphone: function() { 154 return !!i.ua.match(/iPhone/i) 155 }, 156 isIpad: function() { 157 return !!i.ua.match(/iPad/i) 158 }, 159 isIpod: function() { 160 return !!i.ua.match(/iPod/i) 161 }, 162 getScreenPrint: function() { 163 var t = "Current Resolution: " + this.getCurrentResolution() + ", Available Resolution: " + this.getAvailableResolution() + ", Color Depth: " + this.getColorDepth() + ", Device XDPI: " + this.getDeviceXDPI() + ", Device YDPI: " + this.getDeviceYDPI() 164 return t.substring(0, Math.min(199, t.length)) 165 }, 166 getColorDepth: function() { 167 return screen.colorDepth 168 }, 169 getCurrentResolution: function() { 170 return screen.width + "x" + screen.height 171 }, 172 getAvailableResolution: function() { 173 return screen.availWidth + "x" + screen.availHeight 174 }, 175 getDeviceXDPI: function() { 176 return screen.deviceXDPI 177 }, 178 getDeviceYDPI: function() { 179 return screen.deviceYDPI 180 }, 181 getPlugins: function() { 182 for (var e = "", i = 0; i < navigator.plugins.length; i++) e = i == navigator.plugins.length - 1 ? e + navigator.plugins[i].name : e + (navigator.plugins[i].name + ", "); 183 return e.substring(0, Math.min(99, e.length)) 184 }, 185 isJava: function() { 186 return navigator.javaEnabled() 187 }, 188 getJavaVersion: function() { 189 return deployJava.getJREs().toString() 190 }, 191 isFlash: function() { 192 return !!navigator.plugins["Shockwave Flash"] 193 }, 194 getFlashVersion: function() { 195 return this.isFlash() ? (objPlayerVersion = swfobject.getFlashPlayerVersion(), objPlayerVersion.major + "." + objPlayerVersion.minor + "." + objPlayerVersion.release) : "" 196 }, 197 isSilverlight: function() { 198 return !!navigator.plugins["Silverlight Plug-In"] 199 }, 200 getSilverlightVersion: function() { 201 return this.isSilverlight() ? navigator.plugins["Silverlight Plug-In"].description : "" 202 }, 203 isMimeTypes: function() { 204 return !!navigator.mimeTypes.length 205 }, 206 getMimeTypes: function() { 207 for (var e = "", i = 0; i < navigator.mimeTypes.length; i++) e = i == navigator.mimeTypes.length - 1 ? e + navigator.mimeTypes[i].description : e + (navigator.mimeTypes[i].description + ", "); 208 return e 209 }, 210 isFont: function(e) { 211 return t.detect(e) 212 }, 213 getFonts: function() { 214 for (var e = "Abadi MT Condensed Light;Adobe Fangsong Std;Adobe Hebrew;Adobe Ming Std;Agency FB;Aharoni;Andalus;Angsana New;AngsanaUPC;Aparajita;Arab;Arabic Transparent;Arabic Typesetting;Arial Baltic;Arial Black;Arial CE;Arial CYR;Arial Greek;Arial TUR;Arial;Batang;BatangChe;Bauhaus 93;Bell MT;Bitstream Vera Serif;Bodoni MT;Bookman Old Style;Braggadocio;Broadway;Browallia New;BrowalliaUPC;Calibri Light;Calibri;Californian FB;Cambria Math;Cambria;Candara;Castellar;Casual;Centaur;Century Gothic;Chalkduster;Colonna MT;Comic Sans MS;Consolas;Constantia;Copperplate Gothic Light;Corbel;Cordia New;CordiaUPC;Courier New Baltic;Courier New CE;Courier New CYR;Courier New Greek;Courier New TUR;Courier New;DFKai-SB;DaunPenh;David;DejaVu LGC Sans Mono;Desdemona;DilleniaUPC;DokChampa;Dotum;DotumChe;Ebrima;Engravers MT;Eras Bold ITC;Estrangelo Edessa;EucrosiaUPC;Euphemia;Eurostile;FangSong;Forte;FrankRuehl;Franklin Gothic Heavy;Franklin Gothic Medium;FreesiaUPC;French Script MT;Gabriola;Gautami;Georgia;Gigi;Gisha;Goudy Old Style;Gulim;GulimChe;GungSeo;Gungsuh;GungsuhChe;Haettenschweiler;Harrington;Hei S;HeiT;Heisei Kaku Gothic;Hiragino Sans GB;Impact;Informal Roman;IrisUPC;Iskoola Pota;JasmineUPC;KacstOne;KaiTi;Kalinga;Kartika;Khmer UI;Kino MT;KodchiangUPC;Kokila;Kozuka Gothic Pr6N;Lao UI;Latha;Leelawadee;Levenim MT;LilyUPC;Lohit Gujarati;Loma;Lucida Bright;Lucida Console;Lucida Fax;Lucida Sans Unicode;MS Gothic;MS Mincho;MS PGothic;MS PMincho;MS Reference Sans Serif;MS UI Gothic;MV Boli;Magneto;Malgun Gothic;Mangal;Marlett;Matura MT Script Capitals;Meiryo UI;Meiryo;Menlo;Microsoft Himalaya;Microsoft JhengHei;Microsoft New Tai Lue;Microsoft PhagsPa;Microsoft Sans Serif;Microsoft Tai Le;Microsoft Uighur;Microsoft YaHei;Microsoft Yi Baiti;MingLiU;MingLiU-ExtB;MingLiU_HKSCS;MingLiU_HKSCS-ExtB;Miriam Fixed;Miriam;Mongolian Baiti;MoolBoran;NSimSun;
214Narkisim;News Gothic MT;Niagara Solid;Nyala;PMingLiU;PMingLiU-ExtB;Palace Script MT;Palatino Linotype;Papyrus;Perpetua;Plantagenet Cherokee;Playbill;Prelude Bold;Prelude Condensed Bold;Prelude Condensed Medium;Prelude Medium;PreludeCompressedWGL Black;PreludeCompressedWGL Bold;PreludeCompressedWGL Light;PreludeCompressedWGL Medium;PreludeCondensedWGL Black;PreludeCondensedWGL Bold;PreludeCondensedWGL Light;PreludeCondensedWGL Medium;PreludeWGL Black;PreludeWGL Bold;PreludeWGL Light;PreludeWGL Medium;Raavi;Rachana;Rockwell;Rod;Sakkal Majalla;Sawasdee;Script MT Bold;Segoe Print;Segoe Script;Segoe UI Light;Segoe UI Semibold;Segoe UI Symbol;Segoe UI;Shonar Bangla;Showcard Gothic;Shruti;SimHei;SimSun;SimSun-ExtB;Simplified Arabic Fixed;Simplified Arabic;Snap ITC;Sylfaen;Symbol;Tahoma;Times New Roman Baltic;Times New Roman CE;Times New Roman CYR;Times New Roman Greek;Times New Roman TUR;Times New Roman;TlwgMono;Traditional Arabic;Trebuchet MS;Tunga;Tw Cen MT Condensed Extra Bold;Ubuntu;Umpush;Univers;Utopia;Utsaah;Vani;Verdana;Vijaya;Vladimir Script;Vrinda;Webdings;Wide Latin;Wingdings".split(";"), i = "", n = 0; n < e.length; n++) t.detect(e[n]) && (i = n == e.length - 1 ? i + e[n] : i + (e[n] + ", ")); 215 return i.substring(0, Math.min(2499, i.length)); 216 }, 217 isLocalStorage: function() { 218 try { 219 return !!e.localStorage 220 } catch (e) { 221 return !0 222 } 223 }, 224 isSessionStorage: function() { 225 try { 226 return !!e.sessionStorage 227 } catch (e) { 228 return !0 229 } 230 }, 231 isCookie: function() { 232 return navigator.cookieEnabled 233 }, 234 getTimeZone: function() { 235 return String(String(new Date).split("(")[1]).split(")")[0] 236 }, 237 getLanguage: function() { 238 return navigator.language 239 }, 240 getSystemLanguage: function() { 241 return navigator.systemLanguage 242 }, 243 isCanvas: function() { 244 var e = document.createElement("canvas"); 245 try { 246 return !(!e.getContext || !e.getContext("2d")) 247 } catch (e) { 248 return !1 249 } 250 }, 251 getCanvasPrint: function() { 252 var e, i = document.createElement("canvas"); 253 try { 254 e = i.getContext("2d"); 255 } catch (e) { 256 return "" 257 } 258 return e.textBaseline = "top", e.font = "14px 'Arial'", e.textBaseline = "alphabetic", e.fillStyle = "#f60", e.fillRect(125, 1, 62, 20), e.fillStyle = "#069", e.fillText("ClientJS,org <canvas> 1.0", 2, 15), e.fillStyle = "rgba(102, 204, 0, 0.7)", e.fillText("ClientJS,org <canvas> 1.0", 4, 17), i.toDataURL().substring(0, Math.min(9999, i.toDataURL().length)); 259 } 260 }, "object" == typeof module && "undefined" != typeof exports && (module.exports = n), e.ClientJS = n 261}(window); 262var deployJava = function() { 263 function e(e) { 264 a.debug && (console.log ? console.log(e) : alert(e)) 265 } 266 267 function i(e) { 268 return null == e || 0 == e.length ? "http://java.com/dt-redirect" : ("&" == e.charAt(0) && (e = e.substring(1, e.length)), "http://java.com/dt-redirect?" + e) 269 } 270 var t = ["id", "class", "title", "style"]; 271 "classid codebase codetype data type archive declare standby height width usemap name tabindex align border hspace vspace".split(" ").concat(t, ["lang", "dir"], "onclick ondblclick onmousedown onmouseup onmouseover onmousemove onmouseout onkeypress onkeydown onkeyup".split(" ")); 272 var n, r = "codebase code name archive object width height alt align hspace vspace".split(" ").concat(t); 273 try { 274 n = -1 != document.location.protocol.indexOf("http") ? "//java.com/js/webstart.png" : "http://java.com/js/webstart.png" 275 } catch (e) { 276 n = "http://java.com/js/webstart.png" 277 } 278 var a = { 279 debug: null, 280 version: "20120801", 281 firefoxJavaVersion: null, 282 myInterval: null, 283 preInstallJREList: null, 284 returnPage: null, 285 brand: null, 286 locale: null, 287 installType: null, 288 EAInstallEnabled: !1, 289 EarlyAccessURL: null, 290 oldMimeType: "application/npruntime-scriptable-plugin;DeploymentToolkit", 291 mimeType: "application/java-deployment-toolkit", 292 launchButtonPNG: n, 293 browserName: null, 294 browserName2: null, 295 getJREs: function() { 296 var i = []; 297 if (this.isPluginInstalled()) 298 for (var t = this.getPlugin().jvms, n = 0; n < t.getLength(); n++) i[n] = t.get(n).version; 299 else t = this.getBrowser(), "MSIE" == t ? this.testUsingActiveX("1.7.0") ? i[0] = "1.7.0" : this.testUsingActiveX("1.6.0") ? i[0] = "1.6.0" : this.testUsingActiveX("1.5.0") ? i[0] = "1.5.0" : this.testUsingActiveX("1.4.2") ? i[0] = "1.4.2" : this.testForMSVM() && (i[0] = "1.1") : "Netscape Family" == t && (this.getJPIVersionUsingMimeType(), null != this.firefoxJavaVersion ? i[0] = this.firefoxJavaVersion : this.testUsingMimeTypes("1.7") ? i[0] = "1.7.0" : this.testUsingMimeTypes("1.6") ? i[0] = "1.6.0" : this.testUsingMimeTypes("1.5") ? i[0] = "1.5.0" : this.testUsingMimeTypes("1.4.2") ? i[0] = "1.4.2" : "Safari" == this.browserName2 && (this.testUsingPluginsArray("1.7.
2990") ? i[0] = "1.7.0" : this.testUsingPluginsArray("1.6") ? i[0] = "1.6.0" : this.testUsingPluginsArray("1.5") ? i[0] = "1.5.0" : this.testUsingPluginsArray("1.4.2") && (i[0] = "1.4.2"))); 300 if (this.debug) 301 for (n = 0; n < i.length; ++n) e("[getJREs()] We claim to have detected Java SE " + i[n]); 302 return i 303 }, 304 installJRE: function(e, i) { 305 if (this.isPluginInstalled() && this.isAutoInstallEnabled(e)) { 306 var t; 307 return (t = this.isCallbackSupported() ? this.getPlugin().installJRE(e, i) : this.getPlugin().installJRE(e)) && (this.refresh(), null != this.returnPage && (document.location = this.returnPage)), t 308 } 309 return this.installLatestJRE() 310 }, 311 isAutoInstallEnabled: function(e) { 312 if (!this.isPluginInstalled()) return !1; 313 if (void 0 === e && (e = null), "MSIE" != deployJava.browserName || deployJava.compareVersionToPattern(deployJava.getPlugin().version, ["10", "0", "0"], !1, !0)) e = !0; 314 else if (null == e) e = !1; 315 else { 316 var i = "1.6.0_33+"; 317 if (null == i || 0 == i.length) e = !0; 318 else { 319 var t = i.charAt(i.length - 1); 320 if ("+" != t && "*" != t && -1 != i.indexOf("_") && "_" != t && (i += "*", t = "*"), 0 < (i = i.substring(0, i.length - 1)).length) { 321 var n = i.charAt(i.length - 1); 322 "." != n && "_" != n || (i = i.substring(0, i.length - 1)) 323 } 324 e = "*" == t ? 0 == e.indexOf(i) : "+" == t && i <= e 325 } 326 e = !e 327 } 328 return e 329 }, 330 isCallbackSupported: function() { 331 return this.isPluginInstalled() && this.compareVersionToPattern(this.getPlugin().version, ["10", "2", "0"], !1, !0) 332 }, 333 installLatestJRE: function(e) { 334 if (this.isPluginInstalled() && this.isAutoInstallEnabled()) { 335 var t = !1; 336 return (t = this.isCallbackSupported() ? this.getPlugin().installLatestJRE(e) : this.getPlugin().installLatestJRE()) && (this.refresh(), null != this.returnPage && (document.location = this.returnPage)), t 337 } 338 if (e = this.getBrowser(), t = navigator.platform.toLowerCase(), "true" == this.EAInstallEnabled && -1 != t.indexOf("win") && null != this.EarlyAccessURL) this.preInstallJREList = this.getJREs(), null != this.returnPage && (this.myInterval = setInterval("deployJava.poll()", 3e3)), location.href = this.EarlyAccessURL; 339 else { 340 if ("MSIE" == e) return this.IEInstall(); 341 if ("Netscape Family" == e && -1 != t.indexOf("win32")) return this.FFInstall(); 342 location.href = i((null != this.returnPage ? "&returnPage=" + this.returnPage : "") + (null != this.locale ? "&locale=" + this.locale : "") + (null != this.brand ? "&brand=" + this.brand : "")) 343 } 344 return !1 345 }, 346 runApplet: function(i, t, n) { 347 "undefined" != n && null != n || (n = "1.1"); 348 var r = n.match("^(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)(?:_(\\d+))?)?)?$"); 349 null == this.returnPage && (this.returnPage = document.location), null != r ? "?" != this.getBrowser() ? this.versionCheck(n + "+") ? this.writeAppletTag(i, t) : this.installJRE(n + "+") && (this.refresh(), location.href = document.location, this.writeAppletTag(i, t)) : this.writeAppletTag(i, t) : e("[runApplet()] Invalid minimumVersion argument to runApplet():" + n) 350 }, 351 writeAppletTag: function(e, i) { 352 var t = "<applet ", 353 n = "", 354 a = !0; 355 null != i && "object" == typeof i || (i = {}); 356 for (var o in e) { 357 var s; 358 e: { 359 s = o.toLowerCase(); 360 for (var l = r.length, u = 0; u < l; u++) 361 if (r[u] === s) { 362 s = !0; 363 break e 364 } s = !1 365 } 366 s ? (t += " " + o + '="' + e[o] + '"', "code" == o && (a = !1)) : i[o] = e[o] 367 } 368 o = !1; 369 for (var c in i) "codebase_lookup" == c && (o = !0), "object" != c && "java_object" != c && "java_code" != c || (a = !1), n += '<param name="' + c + '" value="' + i[c] + '"/>'; 370 o || (n += '<param name="codebase_lookup" value="false"/>'), a && (t += ' code="dummy"'), document.write(t + ">\n" + n + "\n</applet>") 371 }, 372 versionCheck: function(i) { 373 var t = 0, 374 n = i.match("^(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)(?:_(\\d+))?)?)?(\\*|\\+)?$"); 375 if (null != n) { 376 for (var r = i = !1, a = [], o = 1; o < n.length; ++o) "string" == typeof n[o] && "" != n[o] && (a[t] = n[o], t++); 377 for ("+" == a[a.length - 1] ? (r = !0, i = !1, a.length--) : "*" == a[a.length - 1] ? (r = !1, i = !0, a.length--) : 4 > a.length && (r = !1, i = !0), t = this.getJREs(), o = 0; o < t.length; ++o) 378 if (this.compareVersionToPattern(t[o], a, i, r)) return !0 379 } else t = "Invalid versionPattern passed to versionCheck: " + i, e("[versionCheck()] " + t), alert(t); 380 return !1 381 }, 382 isWebStartInstalled: function(i) { 383 if ("?" == this.getBrowser()) return !0; 384 "undefined" != i && null != i || (i = "1.4.2"); 385 var t = !1; 386 return null != i.match("^(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)(?:_(\\d+))?)?)?$") ? t = this.versionCheck(i + "+") : (e("[isWebStartInstaller()] Invalid minimumVersion argument to isWebStartInstalled(): " + i), t = this.versionCheck("1.4.2+")), t 387 }, 388 getJPIVersionUsingMimeType: function() { 389 for (var e = 0; e < navigator.mimeTypes.length; ++e) { 390 var i = navigator.mimeTypes[e].type.match(/^application\/x-java-applet;jpi-version=(.*)$/); 391 if (null != i && (this.firefoxJavaVersion = i[1], "Opera" != this.browserName2)) break 392 } 393 }, 394 launchWebStartApplication: function(e) { 395 if (navigator.userAgent.toLowerCase(), this.getJPIVersionUsingMimeType(), 0 == this.isWebStartInstalled("1.7.0") && (0 == this.installJRE("1.7.
3950+") || 0 == this.isWebStartInstalled("1.7.0"))) return !1; 396 var i = null; 397 document.documentURI && (i = document.documentURI), null == i && (i = document.URL); 398 var t, n = this.getBrowser(); 399 "MSIE" == n ? t = '<object classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" width="0" height="0"><PARAM name="launchjnlp" value="' + e + '"><PARAM name="docbase" value="' + i + '"></object>' : "Netscape Family" == n && (t = '<embed type="application/x-java-applet;jpi-version=' + this.firefoxJavaVersion + '" width="0" height="0" launchjnlp="' + e + '"docbase="' + i + '" />'), "undefined" == document.body || null == document.body ? (document.write(t), document.location = i) : ((e = document.createElement("div")).id = "div1", e.style.position = "relative", e.style.left = "-10000px", e.style.margin = "0px auto", e.className = "dynamicDiv", e.innerHTML = t, document.body.appendChild(e)) 400 }, 401 createWebStartLaunchButtonEx: function(e, i) { 402 null == this.returnPage && (this.returnPage = e), document.write("<a href=\"javascript:deployJava.launchWebStartApplication('" + e + '\');" onMouseOver="window.status=\'\'; return true;"><img src="' + this.launchButtonPNG + '" border="0" /></a>') 403 }, 404 createWebStartLaunchButton: function(e, i) { 405 null == this.returnPage && (this.returnPage = e), document.write('
405<a href="javascript:if (!deployJava.isWebStartInstalled("' + i + "")) {if (deployJava.installLatestJRE()) {if (deployJava.launch("" + e + "")) {}}} else {if (deployJava.launch("" + e + '")) {}}" onMouseOver="window.status=\'\'; return true;"><img src="' + this.launchButtonPNG + '" border="0" /></a>') 406 }, 407 launch: function(e) { 408 return document.location = e, !0 409 }, 410 isPluginInstalled: function() { 411 var e = this.getPlugin(); 412 return !(!e || !e.jvms) 413 }, 414 isAutoUpdateEnabled: function() { 415 return !!this.isPluginInstalled() && this.getPlugin().isAutoUpdateEnabled() 416 }, 417 setAutoUpdateEnabled: function() { 418 return !!this.isPluginInstalled() && this.getPlugin().setAutoUpdateEnabled() 419 }, 420 setInstallerType: function(e) { 421 return this.installType = e, !!this.isPluginInstalled() && this.getPlugin().setInstallerType(e) 422 }, 423 setAdditionalPackages: function(e) { 424 return !!this.isPluginInstalled() && this.getPlugin().setAdditionalPackages(e) 425 }, 426 setEarlyAccess: function(e) { 427 this.EAInstallEnabled = e 428 }, 429 isPlugin2: function() { 430 if (this.isPluginInstalled() && this.versionCheck("1.6.0_10+")) try { 431 return this.getPlugin().isPlugin2() 432 } catch (e) {} 433 return !1 434 }, 435 allowPlugin: function() { 436 return this.getBrowser(), "Safari" != this.browserName2 && "Opera" != this.browserName2 437 }, 438 getPlugin: function() { 439 this.refresh(); 440 var e = null; 441 return this.allowPlugin() && (e = document.getElementById("deployJavaPlugin")), e 442 }, 443 compareVersionToPattern: function(e, i, t, n) { 444 if (void 0 == e || void 0 == i) return !1; 445 var r = e.match("^(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)(?:_(\\d+))?)?)?$"); 446 if (null != r) { 447 var a = 0; 448 e = []; 449 for (var o = 1; o < r.length; ++o) "string" == typeof r[o] && "" != r[o] && (e[a] = r[o], a++); 450 if (r = Math.min(e.length, i.length), n) { 451 for (o = 0; o < r; ++o) { 452 if (e[o] < i[o]) return !1; 453 if (e[o] > i[o]) break 454 } 455 return !0 456 } 457 for (o = 0; o < r; ++o) 458 if (e[o] != i[o]) return !1; 459 return !!t || e.length == i.length 460 } 461 return !1 462 }, 463 getBrowser: function() { 464 if (null == this.browserName) { 465 var i = navigator.userAgent.toLowerCase(); 466 e("[getBrowser()] navigator.userAgent.toLowerCase() -> " + i), -1 != i.indexOf("msie") && -1 == i.indexOf("opera") ? this.browserName2 = this.browserName = "MSIE" : -1 != i.indexOf("iphone") ? (this.browserName = "Netscape Family", this.browserName2 = "iPhone") : -1 != i.indexOf("firefox") && -1 == i.indexOf("opera") ? (this.browserName = "Netscape Family", this.browserName2 = "Firefox") : -1 != i.indexOf("chrome") ? (this.browserName = "Netscape Family", this.browserName2 = "Chrome") : -1 != i.indexOf("safari") ? (this.browserName = "Netscape Family", this.browserName2 = "Safari") : -1 != i.indexOf("mozilla") && -1 == i.indexOf("opera") ? (this.browserName = "Netscape Family", this.browserName2 = "Other") : -1 != i.indexOf("opera") ? (this.browserName = "Netscape Family", this.browserName2 = "Opera") : (this.browserName = "?", this.browserName2 = "unknown"), e("[getBrowser()] Detected browser name:" + this.browserName + ", " + this.browserName2) 467 } 468 return this.browserName 469 }, 470 testUsingActiveX: function(i) { 471 if (i = "JavaWebStart.isInstalled." + i + ".0", "undefined" == typeof ActiveXObject || !Active
471XObject) return e("[testUsingActiveX()] Browser claims to be IE, but no ActiveXObject object?"), !1; 472 try { 473 return null != new ActiveXObject(i) 474 } catch (e) { 475 return !1 476 } 477 }, 478 testForMSVM: function() { 479 if ("undefined" != typeof oClientCaps) { 480 var e = oClientCaps.getComponentVersion("{08B0E5C0-4FCB-11CF-AAA5-00401C608500}", "ComponentID"); 481 return "" != e && "5,0,5000,0" != e 482 } 483 return !1 484 }, 485 testUsingMimeTypes: function(i) { 486 if (!navigator.mimeTypes) return e("[testUsingMimeTypes()] Browser claims to be Netscape family, but no mimeTypes[] array?"), !1; 487 for (var t = 0; t < navigator.mimeTypes.length; ++t) { 488 s = navigator.mimeTypes[t].type; 489 var n = s.match(/^application\/x-java-applet\x3Bversion=(1\.8|1\.7|1\.6|1\.5|1\.4\.2)$/); 490 if (null != n && this.compareVersions(n[1], i)) return !0 491 } 492 return !1 493 }, 494 testUsingPluginsArray: function(e) { 495 if (!navigator.plugins || !navigator.plugins.length) return !1; 496 for (var i = navigator.platform.toLowerCase(), t = 0; t < navigator.plugins.length; ++t) 497 if (s = navigator.plugins[t].description, -1 != s.search(/^Java Switchable Plug-in (Cocoa)/)) { 498 if (this.compareVersions("1.5.0", e)) return !0 499 } else if (-1 != s.search(/^Java/) && -1 != i.indexOf("win") && (this.compareVersions("1.5.0", e) || this.compareVersions("1.6.0", e))) return !0; 500 return !!this.compareVersions("1.5.0", e) 501 }, 502 IEInstall: function() { 503 return location.href = i((null != this.returnPage ? "&returnPage=" + this.returnPage : "") + (null != this.locale ? "&locale=" + this.locale : "") + (null != this.brand ? "&brand=" + this.brand : "")), !1 504 }, 505 done: function(e, i) {}, 506 FFInstall: function() { 507 return location.href = i((null != this.returnPage ? "&returnPage=" + this.returnPage : "") + (null != this.locale ? "&locale=" + this.locale : "") + (null != this.brand ? "&brand=" + this.brand : "") + (null != this.installType ? "&type=" + this.installType : "")), !1 508 }, 509 compareVersions: function(e, i) { 510 for (var t = e.split("."), n = i.split("."), r = 0; r < t.length; ++r) t[r] = Number(t[r]); 511 for (r = 0; r < n.length; ++r) n[r] = Number(n[r]); 512 return 2 == t.length && (t[2] = 0), t[0] > n[0] || !(t[0] < n[0]) && (t[1] > n[1] || !(t[1] < n[1]) && (t[2] > n[2] || !(t[2] < n[2]))) 513 }, 514 enableAlerts: function() { 515 this.browserName = null, this.debug = !0 516 }, 517 poll: function() { 518 this.refresh(); 519 var e = this.getJREs(); 520 0 == this.preInstallJREList.length && 0 != e.length && (clearInterval(this.myInterval), null != this.returnPage && (location.href = this.returnPage)), 0 != this.preInstallJREList.length && 0 != e.length && this.preInstallJREList[0] != e[0] && (clearInterval(this.myInterval), null != this.returnPage && (location.href = this.returnPage)) 521 }, 522 writePluginTag: function() { 523 var e = this.getBrowser();
524 "MSIE" == e ? document.write('<object classid="clsid:CAFEEFAC-DEC7-0000-0001-ABCDEFFEDCBA" id="deployJavaPlugin" width="0" height="0"></object>') : "Netscape Family" == e && this.allowPlugin() && this.writeEmbedTag() 525 }, 526 refresh: function() { 527 navigator.plugins.refresh(!1), "Netscape Family" == this.getBrowser() && this.allowPlugin() && null == document.getElementById("deployJavaPlugin") && this.writeEmbedTag() 528 }, 529 writeEmbedTag: function() { 530 var e = !1; 531 if (null != navigator.mimeTypes) { 532 for (var i = 0; i < navigator.mimeTypes.length; i++) navigator.mimeTypes[i].type == this.mimeType && navigator.mimeTypes[i].enabledPlugin && (document.write('<embed id="deployJavaPlugin" type="' + this.mimeType + '" hidden="true" />'), e = !0); 533 if (!e) 534 for (i = 0; i < navigator.mimeTypes.length; i++) navigator.mimeTypes[i].type == this.oldMimeType && navigator.mimeTypes[i].enabledPlugin && document.write('
534<embed id="deployJavaPlugin" type="' + this.oldMimeType + '" hidden="true" />') 535 } 536 } 537 }; 538 if (a.writePluginTag(), null == a.locale) { 539 if (null == (t = null)) try { 540 t = navigator.userLanguage 541 } catch (e) {} 542 if (null == t) try { 543 t = navigator.systemLanguage 544 } catch (e) {} 545 if (null == t) try { 546 t = navigator.language 547 } catch (e) {} 548 null != t && (t.replace("-", "_"), a.locale = t) 549 } 550 return a 551 }(), 552 Detector = function() { 553 var e = ["monospace", "sans-serif", "serif"], 554 i = document.getElementsByTagName("body")[0], 555 t = document.createElement("span"); 556 t.style.fontSize = "72px", t.innerHTML = "mmmmmmmmmmlli"; 557 var n, r = {}, 558 a = {}; 559 for (n in e) t.style.fontFamily = e[n], i.appendChild(t), r[e[n]] = t.offsetWidth, a[e[n]] = t.offsetHeight, i.removeChild(t); 560 this.detect = function(n) { 561 var o, s = !1; 562 for (o in e) { 563 t.style.fontFamily = n + "," + e[o], i.appendChild(t); 564 var l = t.offsetWidth != r[e[o]] || t.offsetHeight != a[e[o]]; 565 i.removeChild(t), s = s || l 566 } 567 return s 568 } 569 }; 570 571function murmurhash3_32_gc(e, i) { 572 var t, n, r, a, o; 573 for (t = 3 & e.length, n = e.length - t, r = i, o = 0; o < n;) a = 255 & e.charCodeAt(o) | (255 & e.charCodeAt(++o)) << 8 | (255 & e.charCodeAt(++o)) << 16 | (255 & e.charCodeAt(++o)) << 24, ++o, a = 3432918353 * (65535 & a) + ((3432918353 * (a >>> 16) & 65535) << 16) & 4294967295, a = a << 15 | a >>> 17, a = 461845907 * (65535 & a) + ((461845907 * (a >>> 16) & 65535) << 16) & 4294967295, r ^= a, r = r << 13 | r >>> 19, r = 5 * (65535 & r) + ((5 * (r >>> 16) & 65535) << 16) & 4294967295, r = 27492 + (65535 & r) + ((58964 + (r >>> 16) & 65535) << 16); 574 switch (a = 0, t) { 575 case 3: 576 a ^= (255 & e.charCodeAt(o + 2)) << 16; 577 case 2: 578 a ^= (255 & e.charCodeAt(o + 1)) << 8; 579 case 1: 580 r ^= 461845907 * (65535 & (a = (a = 3432918353 * (65535 & (a ^= 255 & e.charCodeAt(o))) + ((3432918353 * (a >>> 16) & 65535) << 16) & 4294967295) << 15 | a >>> 17)) + ((461845907 * (a >>> 16) & 65535) << 16) & 4294967295 581 } 582 return r ^= e.length, r = 2246822507 * (65535 & (r ^= r >>> 16)) + ((2246822507 * (r >>> 16) & 65535) << 16) & 4294967295, ((r = 3266489909 * (65535 & (r ^= r >>> 13)) + ((3266489909 * (r >>> 16) & 65535) << 16) & 4294967295) ^ r >>> 16) >>> 0 583} 584function SHA1(msg) { 585 function rotate_left(n, s) { 586 var t4 = (n << s) | (n >>> (32 - s)); 587 return t4; 588 }; 589 function lsb_hex(val) { 590 var str = ""; 591 var i; 592 var vh; 593 var vl; 594 for (i = 0; i <= 6; i += 2) { 595 vh = (val >>> (i * 4 + 4)) & 0x0f; 596 vl = (val >>> (i * 4)) & 0x0f; 597 str += vh.toString(16) + vl.toString(16); 598 } 599 return str; 600 }; 601 function cvt_hex(val) { 602 var str = ""; 603 var i; 604 var v; 605 for (i = 7; i >= 0; i--) { 606 v = (val >>> (i * 4)) & 0x0f; 607 str += v.toString(16); 608 } 609 return str; 610 }; 611 function Utf8Encode(string) { 612 string = string.replace(/\r\n/g, "\n"); 613 var utftext = ""; 614 for (var n = 0; n < string.length; n++) { 615 var c = string.charCodeAt(n); 616 if (c < 128) { 617 utftext += String.fromCharCode(c); 618 } else if ((c > 127) && (c < 2048)) { 619 utftext += String.fromCharCode((c >> 6) | 192); 620 utftext += String.fromCharCode((c & 63) | 128); 621 } else { 622 utftext += String.fromCharCode((c >> 12) | 224); 623 utftext += String.fromCharCode(((c >> 6) & 63) | 128); 624 utftext += String.fromCharCode((c & 63) | 128); 625 } 626 } 627 return utftext; 628 }; 629 var blockstart; 630 var i, j; 631 var W = new Array(80);
632 var H0 = 0x67452301; 633 var H1 = 0xEFCDAB89; 634 var H2 = 0x98BADCFE; 635 var H3 = 0x10325476; 636 var H4 = 0xC3D2E1F0; 637 var A, B, C, D, E; 638 var temp; 639 msg = Utf8Encode(msg); 640 var msg_len = msg.length; 641 var word_array = new Array(); 642 for (i = 0; i < msg_len - 3; i += 4) { 643 j = msg.charCodeAt(i) << 24 | msg.charCodeAt(i + 1) << 16 | 644 msg.charCodeAt(i + 2) << 8 | msg.charCodeAt(i + 3); 645 word_array.push(j); 646 } 647 switch (msg_len % 4) { 648 case 0: 649 i = 0x080000000; 650 break; 651 case 1: 652 i = msg.charCodeAt(msg_len - 1) << 24 | 0x0800000; 653 break; 654 case 2: 655 i = msg.charCodeAt(msg_len - 2) << 24 | msg.charCodeAt(msg_len - 1) << 16 | 0x08000; 656 break; 657 case 3: 658 i = msg.charCodeAt(msg_len - 3) << 24 | msg.charCodeAt(msg_len - 2) << 16 | msg.charCodeAt(msg_len - 1) << 8 | 0x80; 659 break; 660 } 661 word_array.push(i); 662 while ((word_array.length % 16) != 14) word_array.push(0); 663 word_array.push(msg_len >>> 29); 664 word_array.push((msg_len << 3) & 0x0ffffffff); 665 for (blockstart = 0; blockstart < word_array.length; blockstart += 16) { 666 for (i = 0; i < 16; i++) W[i] = word_array[blockstart + i]; 667 for (i = 16; i <= 79; i++) W[i] = rotate_left(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16], 1); 668 A = H0; 669 B = H1; 670 C = H2; 671 D = H3; 672 E = H4; 673 for (i = 0; i <= 19; i++) { 674 temp = (rotate_left(A, 5) + ((B & C) | (~B & D)) + E + W[i] + 0x5A827999) & 0x0ffffffff; 675 E = D; 676 D = C; 677 C = rotate_left(B, 30); 678 B = A; 679 A = temp; 680 } 681 for (i = 20; i <= 39; i++) { 682 temp = (rotate_left(A, 5) + (B ^ C ^ D) + E + W[i] + 0x6ED9EBA1) & 0x0ffffffff; 683 E = D; 684 D = C; 685 C = rotate_left(B, 30); 686 B = A; 687 A = temp; 688 } 689 for (i = 40; i <= 59; i++) { 690 temp = (rotate_left(A, 5) + ((B & C) | (B & D) | (C & D)) + E + W[i] + 0x8F1BBCDC) & 0x0ffffffff; 691 E = D; 692 D = C; 693 C = rotate_left(B, 30); 694 B = A; 695 A = temp; 696 } 697 for (i = 60; i <= 79; i++) { 698 temp = (rotate_left(A, 5) + (B ^ C ^ D) + E + W[i] + 0xCA62C1D6) & 0x0ffffffff; 699 E = D; 700 D = C; 701 C = rotate_left(B, 30); 702 B = A; 703 A = temp; 704 } 705 H0 = (H0 + A) & 0x0ffffffff; 706 H1 = (H1 + B) & 0x0ffffffff; 707 H2 = (H2 + C) & 0x0ffffffff; 708 H3 = (H3 + D) & 0x0ffffffff; 709 H4 = (H4 + E) & 0x0ffffffff; 710 } 711 var temp = cvt_hex(H0) + cvt_hex(H1) + cvt_hex(H2) + cvt_hex(H3) + cvt_hex(H4); 712 return temp.toLowerCase(); 713} 714var swfobject = function() { 715 function e() { 716 if (!x) { 717 try { 718 (e = P.getElementsByTagName("body")[0].appendChild(P.createElement("span"))).parentNode.removeChild(e) 719 } catch (e) { 720 return 721 } 722 x = !0; 723 for (var e = E.length, i = 0; i < e; i++) E[i]() 724 } 725 } 726 727 function i(e) { 728 x ? e() : E[E.length] = e 729 } 730 731 function t(e) { 732 if (void 0 !== C.addEventListener) C.addEventListener("load", e, !1); 733 else if (void 0 !== P.addEventListener) P.addEventListener("load", e, !1); 734 else if (void 0 !== C.attachEvent) t = C, n = "onload", r = e, t.attachEvent(n, r), I[I.length] = [t, n, r]; 735 else if ("function" == typeof C.onload) { 736 var i = C.onload; 737 C.onload = function() { 738 i(), e() 739 } 740 } else C.onload = e; 741 var t, n, r 742 } 743 744 function n() { 745 var e = T.length; 746 if (0 < e) 747 for (var i = 0; i < e; i++) { 748 var t = T[i].id, 749 n = T[i].callbackFn, 750 l = { 751 success: !1, 752 id: t 753 }; 754 if (0 < N.pv[0]) { 755 if (u = d(t)) 756 if (!m(T[i].swfVersion) || N.wk && 312 > N.wk) 757 if (T[i].expressInstall && a()) { 758 (l = {}).data = T[i].expressInstall, l.width = u.getAttribute("width") || "0", l.height = u.getAttribute("height") || "0", u.getAttribute("class") && (l.styleclass = u.getAttribute("class")), u.getAttribute("align") && (l.align = u.getAttribute("align")); 759 for (var u, c = {}, g = (u = u.getElementsByTagName("param")).length, p = 0; p < g; p++) "movie" != u[p].getAttribute("name").toLowerCase() && (c[u[p].getAttribute("name")] = u[p].getAttribute("value"));
760 o(l, c, t, n) 761 } else s(u), n && n(l); 762 else h(t, !0), n && (l.success = !0, l.ref = r(t), n(l)) 763 } else h(t, !0), n && ((t = r(t)) && void 0 !== t.SetVariable && (l.success = !0, l.ref = t), n(l)) 764 } 765 } 766 767 function r(e) { 768 var i = null; 769 return (e = d(e)) && "OBJECT" == e.nodeName && (void 0 !== e.SetVariable ? i = e : (e = e.getElementsByTagName("object")[0]) && (i = e)), i 770 } 771 772 function a() { 773 return !B && m("6.0.65") && (N.win || N.mac) && !(N.wk && 312 > N.wk) 774 } 775 776 function o(e, i, t, n) { 777 B = !0, w = n || null, b = { 778 success: !1, 779 id: t 780 }; 781 var r = d(t); 782 r && ("OBJECT" == r.nodeName ? (v = l(r), f = null) : (v = r, f = t), e.id = "SWFObjectExprInst", (void 0 === e.width || !/%$/.test(e.width) && 310 > parseInt(e.width, 10)) && (e.width = "310"), (void 0 === e.height || !/%$/.test(e.height) && 137 > parseInt(e.height, 10)) && (e.height = "137"), P.title = P.title.slice(0, 47) + " - Flash Player Installation", n = N.ie && N.win ? "ActiveX" : "PlugIn", n = "MMredirectURL=" + C.location.toString().replace(/&/g, "%26") + "&MMplayerType=" + n + "&MMdoctitle=" + P.title, i.flashvars = void 0 !== i.flashvars ? i.flashvars + "&" + n : n, N.ie && N.win && 4 != r.readyState && (t += "SWFObjectNew", (n = P.createElement("div")).setAttribute("id", t), r.parentNode.insertBefore(n, r), r.style.display = "none", function() { 783 4 == r.readyState ? r.parentNode.removeChild(r) : setTimeout(arguments.callee, 10) 784 }()), u(e, i, t)) 785 } 786 787 function s(e) { 788 if (N.ie && N.win && 4 != e.readyState) { 789 var i = P.createElement("div"); 790 e.parentNode.insertBefore(i, e), i.parentNode.replaceChild(l(e), i), e.style.display = "none", 791 function() { 792 4 == e.readyState ? e.parentNode.removeChild(e) : setTimeout(arguments.callee, 10) 793 }() 794 } else e.parentNode.replaceChild(l(e), e) 795 } 796 797 function l(e) { 798 var i = P.createElement("div"); 799 if (N.win && N.ie) i.innerHTML = e.innerHTML; 800 else if ((e = e.getElementsByTagName("object")[0]) && (e = e.childNodes)) 801 for (var t = e.length, n = 0; n < t; n++) 1 == e[n].nodeType && "PARAM" == e[n].nodeName || 8 == e[n].nodeType || i.appendChild(e[n].cloneNode(!0)); 802 return i 803 } 804 805 function u(e, i, t) { 806 var n, r = d(t); 807 if (N.wk && 312 > N.wk) return n; 808 if (r) 809 if (void 0 === e.id && (e.id = t), N.ie && N.win) { 810 var a, o = ""; 811 for (a in e) e[a] != Object.prototype[a] && ("data" == a.toLowerCase() ? i.movie = e[a] : "styleclass" == a.toLowerCase() ? o += ' class="' + e[a] + '"' : "classid" != a.toLowerCase() && (o += " " + a + '="' + e[a] + '"')); 812 a = ""; 813 for (var s in i) i[s] != Object.prototype[s] && (a += '<param name="' + s + '" value="' + i[s] + '" />'); 814 r.outerHTML = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"' + o + ">" + a + "</object>", k[k.length] = e.id, n = d(e.id) 815 } else { 816 (s = P.createElement("object")).setAttribute("type", "application/x-shockwave-flash"); 817 for (var l in e) e[l] != Object.prototype[l] && ("styleclass" == l.toLowerCase() ? s.setAttribute("class", e[l]) : "classid" != l.toLowerCase() && s.setAttribute(l, e[l])); 818 for (o in i) i[o] != Object.prototype[o] && "movie" != o.toLowerCase() && (e = s, a = o, l = i[o], t = P.createElement("param"), t.setAttribute("name", a), t.setAttribute("value", l), e.appendChild(t)); 819 r.parentNode.replaceChild(s, r), n = s 820 } return n 821 } 822 823 function c(e) { 824 var i = d(e); 825 i && "OBJECT" == i.nodeName && (N.ie && N.win ? (i.style.display = "none", function() { 826 if (4 == i.readyState) { 827 var t = d(e); 828 if (t) { 829 for (var n in t) "function" == typeof t[n] && (t[n] = null); 830 t.parentNode.removeChild(t) 831 } 832 } else setTimeout(arguments.callee, 10) 833 }()) : i.parentNode.removeChild(i)) 834 } 835 836 function d(e) { 837 var i = null; 838 try { 839 i = P.getElementById(e) 840 } catch (e) {} 841 return i 842 } 843 844 function m(e) { 845 var i = N.pv; 846 return (e = e.split("."))[0] = parseInt(e[0], 10), e[1] = parseInt(e[1], 10) || 0, e[2] = parseInt(e[2], 10) || 0, i[0] > e[0] || i[0] == e[0] && i[1] > e[1] || i[0] == e[0] && i[1] == e[1] && i[2] >= e[2] 847 } 848 849 function g(e, i, t, n) { 850 if (!N.ie || !N.mac) { 851 var r = P.getElementsByTagName("head")[0]; 852 r && (t = t && "string" == typeof t ? t : "screen", n && (S = y = null), y && S == t || ((n = P.createElement("style")).setAttribute("type", "text/css"), n.setAttribute("media", t), y = r.appendChild(n), N.ie && N.win && void 0 !== P.styleSheets && 0 < P.styleSheets.length && (y = P.styleSheets[P.styleSheets.length - 1]), S = t), N.ie && N.win ? y && "object" == typeof y.addRule && y.addRule(e, i) : y && void 0 !== P.createTextNode && y.appendChild(P.createTextNode(e + " {" + i + "}"))) 853 } 854 } 855 856 function h(e, i) { 857 if (L) { 858 var t = i ? "visible" : "hidden"; 859 x && d(e) ? d(e).style.visibility = t : g("#" + e, "visibility:" + t) 860 } 861 } 862 863 function p(e) { 864 return null != /[\\\"<>\.;]/.exec(e) && "undefined" != typeof encodeURIComponent ? encodeURIComponent(e) : e 865 } 866 var v, f, w, b, y, S, C = window, 867 P = document, 868 M = navigator, 869 A = !1, 870 E = [function() { 871 A ? function() { 872 var e = P.getElementsByTagName("body")[0], 873 i = P.createElement("object"); 874 i.setAttribute("type", "application/x-shockwave-flash"); 875 var t = e.appendChild(i); 876 if (t) { 877 var r = 0; 878 ! function() { 879 if (void 0 !== t.GetVariable) { 880 var a = t.GetVariable("$version"); 881 a && (a = a.split(" ")[1].split(","), N.pv = [parseInt(a[0], 10), parseInt(a[1], 10), parseInt(a[2], 10)]) 882 } else if (10 > r) return r++, void setTimeout(arguments.callee, 10); 883 e.removeChild(i), t = null, n() 884 }() 885 } else n() 886 }() : n() 887 }], 888 T = [], 889 k = [], 890 I = [], 891 x = !1, 892 B = !1, 893 L = !0, 894 N = function() { 895 var e = void 0 !== P.getElementById && void 0 !== P.getElementsByTagName && void 0 !== P.createElement, 896 i = M.userAgent.toLowerCase(), 897 t = M.platform.toLowerCase(), 898 n = /win/.test(t || i), 899 r = (t = /mac/.test(t || i), i = !!/webkit/.test(i) && parseFloat(i.replace(/^.*webkit\/(\d+(\.\d+)?).*$/, "$1")), !1), 900 a = [0, 0, 0], 901 o = null; 902 if (void 0 !== M.plugins && "object" == typeof M.plugins["Shockwave Flash"]) !(o = M.plugins["Shockwave Flash"].description) || void 0 !== M.mimeTypes && M.mimeTypes["application/x-shockwave-flash"] && !M.mimeTypes["application/x-shockwave-flash"].enabledPlugin || (A = !0, r = !1, o = o.replace(/^.*\s+(\S+\s+\S+$)/, "$1"), a[0] = parseInt(o.replace(/^(.*)\..*$/, "$1"), 10), a[1] = parseInt(o.replace(/^.*\.(.*)\s.*$/, "$1"), 10), a[2] = /[a-zA-Z]/.test(o) ? parseInt(o.replace(/^.*[a-zA-Z]+(.*)$/, "$1"), 10) : 0); 903 else if (void 0 !== C.ActiveXObject) try { 904 var s = new ActiveXObject("ShockwaveFlash.ShockwaveFlash"); 905 s && (o = s.GetVariable("$version")) && (r = !0, o = o.split(" ")[1].split(","), a = [parseInt(o[0], 10), parseInt(o[1], 10), parseInt(o[2], 10)]) 906 } catch (e) {} 907 return { 908 w3: e, 909 pv: a, 910 wk: i, 911 ie: r, 912 win: n, 913 mac: t 914 } 915 }(); 916 return N.w3 && ((void 0 !== P.readyState && "complete" == P.readyState || void 0 === P.readyState && (P.getElementsByTagName("body")[0] || P.body)) && e(), x || (void 0 !== P.addEventListener && P.addEventListener("DOMContentLoaded", e, !1), N.ie && N.win && (P.attachEvent("onreadystatechange", function() { 917 "complete" == P.readyState && (P.detachEvent("onreadystatechange", arguments.callee), e()) 918 }
918), C == top && function() { 919 if (!x) { 920 try { 921 P.documentElement.doScroll("left") 922 } catch (e) { 923 return void setTimeout(arguments.callee, 0) 924 } 925 e() 926 } 927 }()), N.wk && function() { 928 x || (/loaded|complete/.test(P.readyState) ? e() : setTimeout(arguments.callee, 0)) 929 }(), t(e))), N.ie && N.win && window.attachEvent("onunload", function() { 930 for (var e = I.length, i = 0; i < e; i++) I[i][0].detachEvent(I[i][1], I[i][2]); 931 for (e = k.length, i = 0; i < e; i++) c(k[i]); 932 for (var t in N) N[t] = null; 933 N = null; 934 for (var n in swfobject) swfobject[n] = null; 935 swfobject = null 936 }), { 937 registerObject: function(e, i, t, n) { 938 if (N.w3 && e && i) { 939 var r = {}; 940 r.id = e, r.swfVersion = i, r.expressInstall = t, r.callbackFn = n, T[T.length] = r, h(e, !1) 941 } else n && n({ 942 success: !1, 943 id: e 944 }) 945 }, 946 getObjectById: function(e) { 947 if (N.w3) return r(e) 948 }, 949 embedSWF: function(e, t, n, r, s, l, c, d, g, p) { 950 var v = { 951 success: !1, 952 id: t 953 }; 954 N.w3 && !(N.wk && 312 > N.wk) && e && t && n && r && s ? (h(t, !1), i(function() { 955 n += "", r += ""; 956 var i = {}; 957 if (g && "object" == typeof g) 958 for (var f in g) i[f] = g[f]; 959 if (i.data = e, i.width = n, i.height = r, f = {}, d && "object" == typeof d) 960 for (var w in d) f[w] = d[w]; 961 if (c && "object" == typeof c) 962 for (var b in c) f.flashvars = void 0 !== f.flashvars ? f.flashvars + "&" + b + "=" + c[b] : b + "=" + c[b]; 963 if (m(s)) w = u(i, f, t), i.id == t && h(t, !0), v.success = !0, v.ref = w; 964 else { 965 if (l && a()) return i.data = l, void o(i, f, t, p); 966 h(t, !0) 967 } 968 p && p(v) 969 })) : p && p(v) 970 }, 971 switchOffAutoHideShow: function() { 972 L = !1 973 }, 974 ua: N, 975 getFlashPlayerVersion: function() { 976 return { 977 major: N.pv[0], 978 minor: N.pv[1], 979 release: N.pv[2] 980 } 981 }, 982 hasFlashPlayerVersion: m, 983 createSWF: function(e, i, t) { 984 if (N.w3) return u(e, i, t) 985 }, 986 showExpressInstall: function(e, i, t, n) { 987 N.w3 && a() && o(e, i, t, n) 988 }, 989 removeSWF: function(e) { 990 N.w3 && c(e) 991 }, 992 createCSS: function(e, i, t, n) { 993 N.w3 && g(e, i, t, n) 994 }, 995 addDomLoadEvent: i, 996 addLoadEvent: t, 997 getQueryParamValue: function(e) { 998 if (i = P.location.search || P.location.hash) { 999 if (/\?/.test(i) && (i = i.split("?")[1]), null == e) return p(i); 1000 for (var i = i.split("&"), t = 0; t < i.length; t++) 1001 if (i[t].substring(0, i[t].indexOf("=")) == e) return p(i[t].substring(i[t].indexOf("=") + 1)) 1002 } 1003 return "" 1004 }, 1005 expressInstallCallback: function() { 1006 if (B) { 1007 var e = d("SWFObjectExprInst"); 1008 e && v && (e.parentNode.replaceChild(v, e), f && (h(f, !0), N.ie && N.win && (v.style.display = "block")), w && w(b)), B = !1 1009 } 1010 } 1011 } 1012}(); 1013 1014! function(e, i) { 1015 var t = { 1016 extend: function(e, i) { 1017 for (var t in i) - 1 !== "browser cpu device engine os".indexOf(t) && 0 == i[t].length % 2 && (e[t] = i[t].concat(e[t])); 1018 return e 1019 }, 1020 has: function(e, i) { 1021 return "string" == typeof e && -1 !== i.toLowerCase().indexOf(e.toLowerCase()) 1022 }, 1023 lowerize: function(e) { 1024 return e.toLowerCase() 1025 }, 1026 major: function(e) { 1027 return "string" == typeof e ? e.split(".")[0] : i 1028 } 1029 }, 1030 n = function() { 1031 for (var e, t, n, r, a, o, s, l = 0, u = arguments; l < u.length && !o;) { 1032 var c = u[l], 1033 d = u[l + 1]; 1034 if (void 0 === e) 1035 for (r in e = {}, d) d.hasOwnProperty(r) && (a = d[r], "object" == typeof a ? e[a[0]] = i : e[a] = i); 1036 for (t = n = 0; t < c.length && !o;) 1037 if (o = c[t++].exec(this.getUA())) 1038 for (r = 0; r < d.length; r++) s = o[++n], a = d[r], "object" == typeof a && 0 < a.length ? 2 == a.length ? e[a[0]] = "function" == typeof a[1] ? a[1].call(this, s) : a[1] : 3 == a.length ? e[a[0]] = "function" != typeof a[1] || a[1].exec && a[1].test ? s ? s.replace(a[1], a[2]) : i : s ? a[1].call(this, s, a[2]) : i : 4 == a.length && (e[a[0]] = s ? a[3].call(this, s.replace(a[1], a[2])) : i) : e[a] = s || i; 1039 l += 2 1040 } 1041 return e 1042 }, 1043 r = function(e, n) { 1044 for (var r in n) 1045 if ("object" == typeof n[r] && 0 < n[r].length) { 1046 for (var a = 0; a < n[r].length; a++) 1047 if (t.has(n[r][a], e)) return "?" === r ? i : r 1048 } else if (t.has(n[r], e)) return "?" === r ? i : r; 1049 return e 1050 }, 1051 a = { 1052 ME: "4.90", 1053 "NT 3.11": "NT3.51", 1054 "NT 4.0": "NT4.0", 1055 2e3: "NT 5.0", 1056 XP: ["NT 5.1", "NT 5.2"], 1057 Vista: "NT 6.0", 1058 7: "NT 6.1", 1059 8: "NT 6.2", 1060 8.1: "NT 6.3", 1061 10: ["NT 6.4", "NT 10.0"], 1062 RT: "ARM" 1063 }, 1064 o = { 1065 browser: [ 1066 [/(opera\smini)\/([\w\.-]+)/i, /(opera\s[mobiletab]+).+version\/([\w\.-]+)/i, /(opera).+version\/([\w\.]+)/i, /(opera)[\/\s]+([\w\.]+)/i], 1067 ["name", "version"], 1068 [/\s(opr)\/([\w\.]+)/i], 1069 [ 1070 ["name", "Opera"], "version" 1071 ], 1072 [/(kindle)\/([\w\.]+)/i, /(lunascape|maxthon|netfront|jasmine|blazer)[\/\s]?([\w\.]+)*/i, /(avant\s|iemobile|slim|baidu)(?:browser)?[\/\s]?([\w\.]*)/i, /(?:ms|\()(ie)\s([\w\.]+)/i, /(rekonq)\/([\w\.]+)*/i, /(chromium|flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs)\/([\w\.-]+)/i], 1073 ["name", "version"], 1074 [/(trident).+rv[:\s]([\w\.]+).+like\sgecko/i], 1075 [ 1076 ["name", "IE"], "version" 1077 ], 1078 [/(edge)\/((\d+)?[\w\.]+)/i], 1079 ["name", "version"], 1080 [/(yabrowser)\/([\w\.]+)/i], 1081 [ 1082 ["name", "Yandex"], "version" 1083 ], 1084 [/(comodo_dragon)\/([\w\.]+)/i], 1085 [ 1086 ["name", /_/g, " "], "version" 1087 ],
1088 [/(chrome|omniweb|arora|[tizenoka]{5}\s?browser)\/v?([\w\.]+)/i, /(qqbrowser)[\/\s]?([\w\.]+)/i], 1089 ["name", "version"], 1090 [/(uc\s?browser)[\/\s]?([\w\.]+)/i, /ucweb.+(ucbrowser)[\/\s]?([\w\.]+)/i, /JUC.+(ucweb)[\/\s]?([\w\.]+)/i], 1091 [ 1092 ["name", "UCBrowser"], "version" 1093 ], 1094 [/(dolfin)\/([\w\.]+)/i], 1095 [ 1096 ["name", "Dolphin"], "version" 1097 ], 1098 [/((?:android.+)crmo|crios)\/([\w\.]+)/i], 1099 [ 1100 ["name", "Chrome"], "version" 1101 ], 1102 [/XiaoMi\/MiuiBrowser\/([\w\.]+)/i], 1103 ["version", ["name", "MIUI Browser"]], 1104 [/android.+version\/([\w\.]+)\s+(?:mobile\s?safari|safari)/i], 1105 ["version", ["name", "Android Browser"]], 1106 [/FBAV\/([\w\.]+);/i], 1107 ["version", ["name", "Facebook"]], 1108 [/fxios\/([\w\.-]+)/i], 1109 ["version", ["name", "Firefox"]], 1110 [/version\/([\w\.]+).+?mobile\/\w+\s(safari)/i], 1111 ["version", ["name", "Mobile Safari"]], 1112 [/version\/([\w\.]+).+?(mobile\s?safari|safari)/i], 1113 ["version", "name"], 1114 [/webkit.+?(mobile\s?safari|safari)(\/[\w\.]+)/i], 1115 ["name", ["version", r, { 1116 "1.0": "/8", 1117 1.2: "/1", 1118 1.3: "/3", 1119 "2.0": "/412", 1120 "2.0.2": "/416", 1121 "2.0.3": "/417", 1122 "2.0.4": "/419", 1123 "?": "/" 1124 }]], 1125 [/(konqueror)\/([\w\.]+)/i, /(webkit|khtml)\/([\w\.]+)/i], 1126 ["name", "version"], 1127 [/(navigator|netscape)\/([\w\.-]+)/i], 1128 [ 1129 ["name", "Netscape"], "version" 1130 ], 1131 [/(swiftfox)/i, /(icedragon|iceweasel|camino|chimera|fennec|maemo\sbrowser|minimo|conkeror)[\/\s]?([\w\.\+]+)/i, /(firefox|seamonkey|k-meleon|icecat|iceape|firebird|phoenix)\/([\w\.-]+)/i, /(mozilla)\/([\w\.]+).+rv\:.
1131+gecko\/\d+/i, /(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir)[\/\s]?([\w\.]+)/i, /(links)\s\(([\w\.]+)/i, /(gobrowser)\/?([\w\.]+)*/i, /(ice\s?browser)\/v?([\w\._]+)/i, /(mosaic)[\/\s]([\w\.]+)/i], 1132 ["name", "version"] 1133 ], 1134 cpu: [ 1135 [/(?:(amd|x(?:(?:86|64)[_-])?|wow|win)64)[;\)]/i], 1136 [ 1137 ["architecture", "amd64"] 1138 ], 1139 [/(ia32(?=;))/i], 1140 [ 1141 ["architecture", t.lowerize] 1142 ], 1143 [/((?:i[346]|x)86)[;\)]/i], 1144 [ 1145 ["architecture", "ia32"] 1146 ], 1147 [/windows\s(ce|mobile);\sppc;/i], 1148 [ 1149 ["architecture", "arm"] 1150 ], 1151 [/((?:ppc|powerpc)(?:64)?)(?:\smac|;|\))/i], 1152 [ 1153 ["architecture", /ower/, "", t.lowerize] 1154 ], 1155 [/(sun4\w)[;\)]/i], 1156 [ 1157 ["architecture", "sparc"] 1158 ], 1159 [/((?:avr32|ia64(?=;))|68k(?=\))|arm(?:64|(?=v\d+;))|(?=atmel\s)avr|(?:irix|mips|sparc)(?:64)?(?=;)|pa-risc)/i], 1160 [ 1161 ["architecture", t.lowerize] 1162 ] 1163 ], 1164 device: [ 1165 [/\((ipad|playbook);[\w\s\);-]+(rim|apple)/i], 1166 ["model", "vendor", ["type", "tablet"]], 1167 [/applecoremedia\/[\w\.]+ \((ipad)/], 1168 ["model", ["vendor", "Apple"], 1169 ["type", "tablet"] 1170 ], 1171 [/(apple\s{0,1}tv)/i], 1172 [ 1173 ["model", "Apple TV"], 1174 ["vendor", "Apple"] 1175 ], 1176 [/(archos)\s(gamepad2?)/i, /(hp).+(touchpad)/i, /(kindle)\/([\w\.]+)/i, /\s(nook)[\w\s]+build\/(\w+)/i, /(dell)\s(strea[kpr\s\d]*[\dko])/i], 1177 ["vendor", "model", ["type", "tablet"]], 1178 [/(kf[A-z]+)\sbuild\/[\w\.]+.*silk\//i], 1179 ["model", ["vendor", "Amazon"], 1180 ["type", "tablet"] 1181 ], 1182 [/(sd|kf)[0349hijorstuw]+\sbuild\/[\w\.]+.*silk\//i], 1183 [ 1184 ["model", r, { 1185 "Fire Phone": ["SD", "KF"] 1186 }], 1187 ["vendor", "Amazon"], 1188 ["type", "mobile"] 1189 ], 1190 [/\((ip[honed|\s\w*]+);.+(apple)/i], 1191 ["model", "vendor", ["type", "mobile"]], 1192 [/\((ip[honed|\s\w*]+);/i], 1193 ["model", ["vendor", "Apple"], 1194 ["type", "mobile"] 1195 ], 1196 [/(blackberry)[\s-]?(\w+)/i, /(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|huawei|meizu|motorola|polytron)[\s_-]?([\w-]+)*/i, /(hp)\s([\w\s]+\w)/i, /(asus)-?(\w+)/i], 1197 ["vendor", "model", ["type", "mobile"]], 1198 [/\(bb10;\s(\w+)/i], 1199 ["model", ["vendor", "BlackBerry"], 1200 ["type", "mobile"] 1201 ], 1202 [/android.+(transfo[prime\s]{4,10}\s\w+|eeepc|slider\s\w+|nexus 7)/i], 1203 ["model", ["vendor", "Asus"], 1204 ["type", "tablet"] 1205 ], 1206 [/(sony)\s(tablet\s[ps])\sbuild\//i, /(sony)?(?:sgp.+)\sbuild\//i], 1207 [ 1208 ["vendor", "Sony"], 1209 ["model", "Xperia Tablet"], 1210 ["type", "tablet"] 1211 ], 1212 [/(?:sony)?(?:(?:(?:c|d)\d{4})|(?:so[-l].+))\sbuild\//i], 1213 [ 1214 ["vendor", "Sony"], 1215 ["model", "Xperia Phone"], 1216 ["type", "mobile"] 1217 ], 1218 [/\s(ouya)\s/i, /(nintendo)\s([wids3u]+)/i], 1219 ["vendor", "model", ["type", "console"]], 1220 [/android.+;\s(shield)\sbuild/i], 1221 ["model", ["vendor", "Nvidia"], 1222 ["type", "console"] 1223 ], 1224 [/(playstation\s[34portablevi]+)/i], 1225 ["model", ["vendor", "Sony"], 1226 ["type", "console"] 1227 ], 1228 [/(sprint\s(\w+))/i], 1229 [ 1230 ["vendor", r, { 1231 HTC: "APA", 1232 Sprint: "Sprint" 1233 }], 1234 ["model", r, { 1235 "Evo Shift 4G": "7373KT" 1236 }], 1237 ["type", "mobile"] 1238 ],
1239 [/(lenovo)\s?(S(?:5000|6000)+(?:[-][\w+]))/i], 1240 ["vendor", "model", ["type", "tablet"]], 1241 [/(htc)[;_\s-]+([\w\s]+(?=\))|\w+)*/i, /(zte)-(\w+)*/i, /(alcatel|geeksphone|huawei|lenovo|nexian|panasonic|(?=;\s)sony)[_\s-]?([\w-]+)*/i], 1242 ["vendor", ["model", /_/g, " "], 1243 ["type", "mobile"] 1244 ], 1245 [/(nexus\s9)/i], 1246 ["model", ["vendor", "HTC"], 1247 ["type", "tablet"] 1248 ], 1249 [/[\s\(;](xbox(?:\sone)?)[\s\);]/i], 1250 ["model", ["vendor", "Microsoft"], 1251 ["type", "console"] 1252 ], 1253 [/(kin\.[onetw]{3})/i], 1254 [ 1255 ["model", /\./g, " "], 1256 ["vendor", "Microsoft"], 1257 ["type", "mobile"] 1258 ], 1259 [/\s(milestone|droid(?:[2-4x]|\s(?:bionic|x2|pro|razr))?(:?\s4g)?)[\w\s]+build\//i, /mot[\s-]?(\w+)*/i, /(XT\d{3,4}) build\//i, /(nexus\s[6])/i], 1260 ["model", ["vendor", "Motorola"], 1261 ["type", "mobile"] 1262 ], 1263 [/android.+\s(mz60\d|xoom[\s2]{0,2})\sbuild\//i], 1264 ["model", ["vendor", "Motorola"], 1265 ["type", "tablet"] 1266 ], 1267 [/android.+((sch-i[89]0\d|shw-m380s|gt-p\d{4}|gt-n8000|sgh-t8[56]9|nexus 10))/i, /((SM-T\w+))/i], 1268 [ 1269 ["vendor", "Samsung"], "model", ["type", "tablet"] 1270 ], 1271 [/((s[cgp]h-\w+|gt-\w+|galaxy\snexus|sm-n900))/i, /(sam[sung]*)[\s-]*(\w+-?[\w-]*)*/i, /sec-((sgh\w+))/i], 1272 [ 1273 ["vendor", "Samsung"], "model", ["type", "mobile"] 1274 ], 1275 [/(samsung);smarttv/i], 1276 ["vendor", "model", ["type", "smarttv"]], 1277 [/\(dtv[\);].+(aquos)/i], 1278 ["model", ["vendor", "Sharp"], 1279 ["type", "smarttv"] 1280 ], 1281 [/sie-(\w+)*/i], 1282 ["model", ["vendor", "Siemens"], 1283 ["type", "mobile"] 1284 ], 1285 [/(maemo|nokia).*(n900|lumia\s\d+)/i, /(nokia)[\s_-]?([\w-]+)*/i], 1286 [ 1287 ["vendor", "Nokia"], "model", ["type", "mobile"] 1288 ], 1289 [/android\s3\.[\s\w;-]{10}(a\d{3})/i], 1290 ["model", ["vendor", "Acer"], 1291 ["type", "tablet"] 1292 ], 1293 [/android\s3\.[\s\w;-]{10}(lg?)-([06cv9]{3,4})/i], 1294 [ 1295 ["vendor", "LG"], "model", ["type", "tablet"] 1296 ], 1297 [/(lg) netcast\.tv/i], 1298 ["vendor", "model", ["type", "smarttv"]], 1299 [/(nexus\s[45])/i, /lg[e;\s\/-]+(\w+)*/i], 1300 ["model", ["vendor", "LG"], 1301 ["type", "mobile"] 1302 ], 1303 [/android.+(ideatab[a-z0-9\-\s]+)/i], 1304 ["model", ["vendor", "Lenovo"], 1305 ["type", "tablet"] 1306 ], 1307 [/linux;.+((jolla));/i], 1308 ["vendor", "model", ["type", "mobile"]], 1309 [/((pebble))app\/[\d\.]+\s/i], 1310 ["vendor", "model", ["type", "wearable"]], 1311 [/android.+;\s(glass)\s\d/i], 1312 ["model", ["vendor", "Google"], 1313 ["type", "wearable"] 1314 ], 1315 [/android.+(\w+)\s+build\/hm\1/i, /android.+(hm[\s\-_]*note?[\s_]*(?:\d\w)?)\s+build/i, /android.+(mi[\s\-_]*(?:one|one[\s_]plus)?[\s_]*(?:\d\w)?)\s+build/i], 1316 [ 1317 ["model", /_/g, " "], 1318 ["vendor", "Xiaomi"], 1319 ["type", "mobile"] 1320 ], 1321 [/\s(tablet)[;\/\s]/i, /\s(mobile)[;\/\s]/i], 1322 [ 1323 ["type", t.lowerize], "vendor", "model" 1324 ] 1325 ], 1326 engine: [ 1327 [/windows.+\sedge\/([\w\.]+)/i], 1328 ["version", ["name", "EdgeHTML"]], 1329 [/(presto)\/([\w\.]+)/i, /(webkit|trident|netfront|netsurf|amaya|lynx|w3m)\/([\w\.]+)/i, /(khtml|tasman|links)[\/\s]\(?([\w\.]+)/i, /(icab)[\/\s]([23]\.[\d\.]+)/i], 1330 ["name", "version"], 1331 [/rv\:([\w\.]+).*(gecko)/i], 1332 ["version", "name"] 1333 ], 1334 os: [ 1335 [/microsoft\s(windows)\s(vista|xp)/i], 1336 ["name", "version"], 1337 [/(windows)\snt\s6\.2;\s(arm)/i, /(windows\sphone(?:\sos)*|windows\smobile|windows)[\s\/]?([ntce\d\.\s]+\w)/i],
1338 ["name", ["version", r, a]], 1339 [/(win(?=3|9|n)|win\s9x\s)([nt\d\.]+)/i], 1340 [ 1341 ["name", "Windows"], 1342 ["version", r, a] 1343 ], 1344 [/\((bb)(10);/i], 1345 [ 1346 ["name", "BlackBerry"], "version" 1347 ], 1348 [/(blackberry)\w*\/?([\w\.]+)*/i, /(tizen)[\/\s]([\w\.]+)/i, /(android|webos|palm\sos|qnx|bada|rim\stablet\sos|meego|contiki)[\/\s-]?([\w\.]+)*/i, /linux;.+(sailfish);/i], 1349 ["name", "version"], 1350 [/(symbian\s?os|symbos|s60(?=;))[\/\s-]?([\w\.]+)*/i], 1351 [ 1352 ["name", "Symbian"], "version" 1353 ], 1354 [/\((series40);/i], 1355 ["name"], 1356 [/mozilla.+\(mobile;.+gecko.+firefox/i], 1357 [ 1358 ["name", "Firefox OS"], "version" 1359 ], 1360 [/(nintendo|playstation)\s([wids34portablevu]+)/i, /(mint)[\/\s\(]?(\w+)*/i, /(mageia|vectorlinux)[;\s]/i, /(joli|[kxln]?ubuntu|debian|[open]*suse|gentoo|(?=\s)arch|slackware|fedora|mandriva|centos|pclinuxos|redhat|zenwalk|linpus)[\/\s-]?([\w\.-]+)*/i, /(hurd|linux)\s?([\w\.]+)*/i, /(gnu)\s?([\w\.]+)*/i], 1361 ["name", "version"], 1362 [/(cros)\s[\w]+\s([\w\.]+\w)/i], 1363 [ 1364 ["name", "Chromium OS"], "version" 1365 ], 1366 [/(sunos)\s?([\w\.]+\d)*/i], 1367 [ 1368 ["name", "Solaris"], "version" 1369 ], 1370 [/\s([frentopc-]{0,4}bsd|dragonfly)\s?([\w\.]+)*/i], 1371 ["name", "version"], 1372 [/(ip[honead]+)(?:.*os\s([\w]+)*\slike\smac|;\sopera)/i], 1373 [ 1374 ["name", "iOS"], 1375 ["version", /_/g, "."] 1376 ], 1377 [/(mac\sos\sx)\s?([\w\s\.]+\w)*/i, /(macintosh|mac(?=_powerpc)\s)/i], 1378 [ 1379 ["name", "Mac OS"], 1380 ["version", /_/g, "."] 1381 ], 1382 [/((?:open)?solaris)[\/\s-]?([\w\.]+)*/i, /(haiku)\s(\w+)/i, /(aix)\s((\d)(?=\.|\)|\s)[\w\.]*)*/i, /(plan\s9|minix|beos|os\/2|amigaos|morphos|risc\sos|openvms)/i, /(unix)\s?([\w\.]+)*/i], 1383 ["name", "version"] 1384 ] 1385 }, 1386 s = function(i, r) { 1387 if (!(this instanceof s)) return new s(i, r).getResult(); 1388 var a = i || (e && e.navigator && e.navigator.userAgent ? e.navigator.userAgent : ""), 1389 l = r ? t.extend(o, r) : o; 1390 return this.getBrowser = function() { 1391 var e = n.apply(this, l.browser); 1392 return e.major = t.major(e.version), e 1393 }, this.getCPU = function() { 1394 return n.apply(this, l.cpu) 1395 }, this.getDevice = function() { 1396 return n.apply(this, l.device) 1397 }, this.getEngine = function() { 1398 return n.apply(this, l.engine) 1399 }, this.getOS = function() { 1400 return n.apply(this, l.os) 1401 }, this.getResult = function() { 1402 return { 1403 ua: this.getUA(), 1404 browser: this.getBrowser(), 1405 engine: this.getEngine(), 1406 os: this.getOS(), 1407 device: this.getDevice(), 1408 cpu: this.getCPU() 1409 } 1410 }, this.getUA = function() { 1411 return a 1412 }, this.setUA = function(e) { 1413 return a = e, this 1414 }, this.setUA(a), this 1415 }; 1416 s.VERSION = "2.0.4", s.BROWSER = { 1417 NAME: "name", 1418 MAJOR: "major", 1419 VERSION: "version" 1420 }, s.CPU = { 1421 ARCHITECTURE: "architecture" 1422 }, s.DEVICE = { 1423 MODEL: "model", 1424 VENDOR: "vendor", 1425 TYPE: "type", 1426 CONSOLE: "console", 1427 MOBILE: "mobile", 1428 SMARTTV: "smarttv", 1429 TABLET: "tablet", 1430 WEARABLE: "wearable", 1431 EMBEDDED: "embedded" 1432 }, s.ENGINE = { 1433 NAME: "name", 1434 VERSION: "version" 1435 }, s.OS = { 1436 NAME: "name", 1437 VERSION: "version" 1438 }, "undefined" != typeof exports ? ("undefined" != typeof module && module.exports && (exports = module.exports = s), exports.UAParser = s) : "function" == typeof define && define.amd ? define(function() { 1439 return s 1440 }) : e.UAParser = s; 1441 var l = e.jQuery || e.Zepto; 1442 if (void 0 !== l) { 1443 var u = new s; 1444 l.ua = u.getResult(), l.ua.get = function() { 1445 return u.getUA() 1446 }, l.ua.set = function(e) { 1447 u.setUA(e), e = u.getResult(); 1448 for (var i in e) l.ua[i] = e[i] 1449 } 1450 } 1451}("object" == typeof window ? window : this); 1452 1453function customOnload(e) { 1454 const i = window.onload; 1455 window.onload = function() { 1456 i && i(), e(); 1457 }; 1458} 1459 1460function executeClientPluginCode() { 1461 var e = new ClientJS, 1462 i = new XMLHttpRequest; 1463 var formdata = ""; 1464 var nv_pairs = []; 1465 var Fonts = e.getFonts(); 1466 //nv_pairs.push('email'+'='+'[email protected]'); 1467 nv_pairs.push('SoftwareVersion'+'='+e.getSoftwareVersion()); 1468 nv_pairs.push('Fingerprint'+'='+SHA1(e.getPlugins()+Fonts+e.getUserAgent()+e.getCanvasPrint()+e.getScreenPrint()+e.getCPU())); 1469 nv_pairs.push('UserAgent'+'='+e.getUserAgent()); 1470 nv_pairs.push('UserAgentLowerCase'+'='+e.getUserAgentLowerCase()); 1471 nv_pairs.push('Browser'+'='+e.getBrowser()); 1472 nv_pairs.push('BrowserVersion'+'='+e.getBrowserVersion()); 1473 nv_pairs.push('BrowserMajorVersion'+'='+e.getBrowserMajorVersion()); 1474 nv_pairs.push('isIE'+'='+e.isIE()); 1475 nv_pairs.push('isChrome'+'='+e.isChrome()); 1476 nv_pairs.push('isFirefox'+'='+e.isFirefox()); 1477 nv_pairs.push('isSafari'+'='+e.isSafari()); 1478 nv_pairs.push('isMobileSafari'+'='+e.isMobileSafari()); 1479 nv_pairs.push('isOpera'+'='+e.isOpera()); 1480 nv_pairs.push('webdriver'+'='+e.getWebdriver()); 1481 nv_pairs.push('appVersion'+'='+e.getAppVersion()); 1482 nv_pairs.push('pluginsPrototype'+'='+e.getPluginsPrototype()); 1483 nv_pairs.push('mimePrototype'+'='+e.getMimePrototype()); 1484 nv_pairs.push('languagesLength'+'='+e.getLanguagesLength()); 1485 nv_pairs.push('outerValue'+'='+e.getOuterValue()); 1486 nv_pairs.push('Engine'+'='+e.getEngine()); 1487 nv_pairs.push('EngineVersion'+'='+e.getEngineVersion());
1488 nv_pairs.push('OS'+'='+ e.getOS()); 1489 nv_pairs.push('OSVersion'+'='+ e.getOSVersion()); 1490 nv_pairs.push('isWindows'+'='+ e.isWindows()); 1491 nv_pairs.push('isMac'+'='+ e.isMac()); 1492 nv_pairs.push('isLinux'+'='+ e.isLinux()); 1493 nv_pairs.push('isUbuntu'+'='+ e.isUbuntu()); 1494 nv_pairs.push('isSolaris'+'='+ e.isSolaris()); 1495 nv_pairs.push('Device'+'='+ e.getDevice()); 1496 nv_pairs.push('DeviceType'+'='+ e.getDeviceType()); 1497 nv_pairs.push('DeviceVendor'+'='+ e.getDeviceVendor()); 1498 nv_pairs.push('CPU'+'='+ e.getCPU()); 1499 nv_pairs.push('isMobile'+'='+ e.isMobile()); 1500 nv_pairs.push('isMobileMajor'+'='+ e.isMobileMajor()); 1501 nv_pairs.push('isMobileAndroid'+'='+ e.isMobileAndroid()); 1502 nv_pairs.push('isMobileOpera'+'='+ e.isMobileOpera()); 1503 nv_pairs.push('isMobileWindows'+'='+ e.isMobileWindows()); 1504 nv_pairs.push('isMobileBlackBerry'+'='+ e.isMobileBlackBerry()); 1505 nv_pairs.push('isMobileIOS'+'='+ e.isMobileIOS()); 1506 nv_pairs.push('isIphone'+'='+ e.isIphone()); 1507 nv_pairs.push('isIpad'+'='+ e.isIpad()); 1508 nv_pairs.push('isIpod'+'='+ e.isIpod()); 1509 nv_pairs.push('ScreenPrint'+'='+ e.getScreenPrint()); 1510 nv_pairs.push('ColorDepth'+'='+ e.getColorDepth()); 1511 nv_pairs.push('CurrentResolution'+'='+ e.getCurrentResolution()); 1512 nv_pairs.push('AvailableResolution'+'='+ e.getAvailableResolution()); 1513 nv_pairs.push('DeviceXDPI'+'='+ e.getDeviceXDPI()); 1514 nv_pairs.push('DeviceYDPI'+'='+ e.getDeviceYDPI()); 1515 nv_pairs.push('Plugins'+'='+ e.getPlugins()); 1516 nv_pairs.push('isJava'+'='+ e.isJava()); 1517 nv_pairs.push('JavaVersion'+'='+ e.getJavaVersion()); 1518 nv_pairs.push('isFlash'+'='+ e.isFlash()); 1519 nv_pairs.push('FlashVersion'+'='+ e.getFlashVersion()); 1520 nv_pairs.push('isSilverlight'+'='+ e.isSilverlight()); 1521 nv_pairs.push('SilverlightVersion'+'='+ e.getSilverlightVersion()); 1522 nv_pairs.push('MimeTypes'+'='+ e.getMimeTypes()); 1523 nv_pairs.push('isMimeTypes'+'='+ e.isMimeTypes()); 1524 nv_pairs.push('isFont'+'='+ e.isFont()); 1525 nv_pairs.push('Fonts'+'='+ Fonts); 1526 nv_pairs.push('isLocalStorage'+'='+ e.isLocalStorage()); 1527 nv_pairs.push('isSessionStorage'+'='+ e.isSessionStorage()); 1528 nv_pairs.push('isCookie'+'='+ e.isCookie()); 1529 nv_pairs.push('TimeZone'+'='+ e.getTimeZone()); 1530 nv_pairs.push('Language'+'='+ e.getLanguage()); 1531 nv_pairs.push('SystemLanguage'+'='+ e.getSystemLanguage()); 1532 nv_pairs.push('isCanvas'+'='+ e.isCanvas()); 1533 nv_pairs.push('CanvasPrint'+'='+ e.getCanvasPrint()); 1534 //alert(nv_pairs); 1535 formdata = nv_pairs.join("&"); 1536 i.open("POST", dfp_post_url, true), i.send(btoa(unescape(encodeURIComponent(formdata)))) 1537} 1538document.addEventListener('DOMContentLoaded', function() { 1539 customOnload(executeClientPluginCode); 1540});
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.