1 2/*! modernizr 3.6.0 (Custom Build) | MIT * 3 * https://modernizr.com/download/?-canvas-eventlistener-flash-flexbox-flexboxlegacy-fullscreen-geolocation-inlinesvg-input-mediaqueries-pointermq-search-svg-video-setclasses-shiv !*/ 4 ! function(e, t, n) { 5 function r(e, t) { 6 return typeof e === t 7 } 8 function o() { 9 var e, t, n, o, i, a, s; 10 for (var l in w) 11 if (w.hasOwnProperty(l)) { 12 if (e = [], t = w[l], t.name && (e.push(t.name.toLowerCase()), t.options && t.options.aliases && t.options.aliases.length)) 13 for (n = 0; n < t.options.aliases.length; n++) e.push(t.options.aliases[n].toLowerCase()); 14 for (o = r(t.fn, "function") ? t.fn() : t.fn, i = 0; i < e.length; i++) a = e[i], s = a.split("."), 1 === s.length ? Modernizr[s[0]] = o : (!Modernizr[s[0]] || Modernizr[s[0]] instanceof Boolean || (Modernizr[s[0]] = new Boolean(Modernizr[s[0]])), Modernizr[s[0]][s[1]] = o), b.push((o ? "" : "no-") + s.join("-")) 15 } 16 } 17 function i(e) { 18 var t = x.className, 19 n = Modernizr._config.classPrefix || ""; 20 if (E && (t = t.baseVal), Modernizr._config.enableJSClass) { 21 var r = new RegExp("(^|\\s)" + n + "no-js(\\s|$)"); 22 t = t.replace(r, "$1" + n + "js$2") 23 } 24 Modernizr._config.enableClasses && (t += " " + n + e.join(" " + n), E ? x.className.baseVal = t : x.className = t) 25 } 26 function a() { 27 return "function" != typeof t.createElement ? t.createElement(arguments[0]) : E ? t.createElementNS.call(t, "http://www.w3.org/2000/svg", arguments[0]) : t.createElement.apply(t, arguments) 28 } 29 function s() { 30 var e = t.body; 31 return e || (e = a(E ? "svg" : "body"), e.fake = !0), e 32 } 33 function l(e, t) { 34 if ("object" == typeof e) 35 for (var n in e) P(e, n) && l(n, e[n]); 36 else { 37 e = e.toLowerCase(); 38 var r = e.split("."), 39 o = Modernizr[r[0]]; 40 if (2 == r.length && (o = o[r[1]]), "undefined" != typeof o) return Modernizr; 41 t = "function" == typeof t ? t() : t, 1 == r.length ? Modernizr[r[0]] = t : (!Modernizr[r[0]] || Modernizr[r[0]] instanceof Boolean || (Modernizr[r[0]] = new Boolean(Modernizr[r[0]])), Modernizr[r[0]][r[1]] = t), i([(t && 0 != t ? "" : "no-") + r.join("-")]), Modernizr._trigger(e, t) 42 } 43 return Modernizr 44 } 45 function c(e) { 46 return e.replace(/([a-z])-([a-z])/g, function(e, t, n) { 47 return t + n.toUpperCase() 48 }).replace(/^-/, "") 49 } 50 function u(e, n, r, o) { 51 var i, l, c, u, f = "modernizr", 52 d = a("div"), 53 p = s(); 54 if (parseInt(r, 10)) 55 for (; r--;) c = a("div"), c.id = o ? o[r] : f + (r + 1), d.appendChild(c); 56 return i = a("style"), i.type = "text/css", i.id = "s" + f, (p.fake ? p : d).appendChild(i), p.appendChild(d), i.styleSheet ? i.styleSheet.cssText = e : i.appendChild(t.createTextNode(e)), d.id = f, p.fake && (p.style.background = "", p.style.overflow = "hidden", u = x.style.overflow, x.style.overflow = "hidden", x.appendChild(p)), l = n(d, e), p.fake ? (p.parentNode.removeChild(p), x.style.overflow = u, x.offsetHeight) : d.parentNode.removeChild(d), !!l 57 } 58 function f(e, t) { 59 return !!~("" + e).indexOf(t) 60 } 61 function d(e, t) { 62 return function() { 63 return e.apply(t, arguments) 64 } 65 } 66 function p(e, t, n) { 67 var o; 68 for (var i in e) 69 if (e[i] in t) return n === !1 ? e[i] : (o = t[e[i]], r(o, "function") ? d(o, n || t) : o); 70 return !1 71 } 72 function m(t, n, r) { 73 var o; 74 if ("getComputedStyle" in e) { 75 o = getComputedStyle.call(e, t, n); 76 var i = e.console; 77 if (null !== o) r && (o = o.getPropertyValue(r)); 78 else if (i) { 79 var a = i.error ? "error" : "log"; 80 i[a].call(i, "getComputedStyle returning null, its possible modernizr test results are inaccurate") 81 } 82 } else o = !n && t.currentStyle && t.currentStyle[r]; 83 return o 84 } 85 function v(e) { 86 return e.replace(/([A-Z])/g, function(e, t) { 87 return "-" + t.toLowerCase() 88 }).replace(/^ms-/, "-ms-") 89 } 90 function h(t, r) { 91 var o = t.length; 92 if ("CSS" in e && "supports" in e.CSS) { 93 for (; o--;) 94 if (e.CSS.supports(v(t[o]), r)) return !0; 95 return !1 96 } 97 if ("CSSSupportsRule" in e) { 98 for (var i = []; o--;) i.push("(" + v(t[o]) + ":" + r + ")"); 99 return i = i.join(" or "), u("@supports (" + i + ") { #modernizr { position: absolute; } }", function(e) { 100 return "absolute" == m(e, null, "position") 101 }) 102 } 103 return n 104 } 105 function g(e, t, o, i) { 106 function s() { 107 u && (delete q.style, delete q.modElem) 108 } 109 if (i = r(i, "undefined") ? !1 : i, !r(o, "undefined")) { 110 var l = h(e, o); 111 if (!r(l, "undefined")) return l 112 } 113 for (var u, d, p, m, v, g = ["modernizr", "tspan", "samp"]; !q.style && g.length;) u = !0, q.modElem = a(g.shift()), q.style = q.modElem.style; 114 for (p = e.length, d = 0; p > d; d++) 115 if (m = e[d], v = q.style[m], f(m, "-") && (m = c(m)), q.style[m] !== n) { 116 if (i || r(o, "undefined")) return s(), "pfx" == t ? m : !0; 117 try { 118 q.style[m] = o 119 } catch (y) {} 120 if (q.style[m] != v) return s(), "pfx" == t ? m : !0 121 } 122 return s(), !1 123 } 124 function y(e, t, n, o, i) { 125 var a = e.charAt(0).toUpperCase() + e.slice(1), 126 s = (e + " " + L.join(a + " ") + a).split(" "); 127 return r(t, "string") || r(t, "undefined") ? g(s, t, o, i) : (s = (e + " " + M.join(a + " ") + a).split(" "), p(s, t, n)) 128 } 129 function C(e, t, r) { 130 return y(e, n, n, t, r) 131 } 132 var b = [], 133 w = [], 134 S = { 135 _version: "3.6.0", 136 _config: { 137 classPrefix: "", 138 enableClasses: !0, 139 enableJSClass: !0, 140 usePrefixes: !0 141 }, 142 _q: [], 143 on: function(e, t) { 144 var n = this; 145 setTimeout(function() { 146 t(n[e]) 147 }, 0) 148 }, 149 addTest: function(e, t, n) { 150 w.push({ 151 name: e, 152 fn: t, 153 options: n 154 }) 155 }, 156 addAsyncTest: function(e) { 157 w.push({ 158 name: null, 159 fn: e 160 }) 161 } 162 }, 163 Modernizr = function() {}; 164 Modernizr.prototype = S, Modernizr = new Modernizr, Modernizr.addTest("eventlistener", "addEventListener" in e), Modernizr.addTest("geolocation", "geolocation" in navigator), Modernizr.addTest("svg", !!t.createElementNS && !!t.createElementNS("http://www.w3.org/2000/svg", "svg").createSVGRect); 165 var x = t.documentElement, 166 E = "svg" === x.nodeName.toLowerCase(); 167 E || ! function(e, t) { 168 function n(e, t) { 169 var n = e.createElement("p"), 170 r = e.getElementsByTagName("head")[0] || e.documentElement; 171 return n.innerHTML = "x<style>" + t + "</style>", r.insertBefore(n.lastChild, r.firstChild) 172 } 173 function r() { 174 var e = C.elements; 175 return "string" == typeof e ? e.split(" ") : e 176 } 177 function o(e, t) { 178 var n = C.elements; 179 "string" != typeof n && (n = n.join(" ")), "string" != typeof e && (e = e.join(" ")), C.elements = n + " " + e, c(t) 180 } 181 function i(e) { 182 var t = y[e[h]]; 183 return t || (t = {}, g++, e[h] = g, y[g] = t), t 184 } 185 function a(e, n, r) { 186 if (n || (n = t), f) return n.createElement(e); 187 r || (r = i(n)); 188 var o; 189 return o = r.cache[e] ? r.cache[e].cloneNode() : v.test(e) ? (r.cache[e] = r.createElem(e)).cloneNode() : r.createElem(e), !o.canHaveChildren || m.test(e) || o.tagUrn ? o : r.frag.appendChild(o) 190 } 191 function s(e, n) { 192 if (e || (e = t), f) return e.createDocumentFragment(); 193 n = n || i(e); 194 for (var o = n.frag.cloneNode(), a = 0, s = r(), l = s.length; l > a; a++) o.createElement(s[a]); 195 return o 196 } 197 function l(e, t) {
198 t.cache || (t.cache = {}, t.createElem = e.createElement, t.createFrag = e.createDocumentFragment, t.frag = t.createFrag()), e.createElement = function(n) { 199 return C.shivMethods ? a(n, e, t) : t.createElem(n) 200 }, e.createDocumentFragment = Function("h,f", "return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&(" + r().join().replace(/[\w\-:]+/g, function(e) { 201 return t.createElem(e), t.frag.createElement(e), 'c("' + e + '")' 202 }) + ");return n}")(C, t.frag) 203 } 204 function c(e) { 205 e || (e = t); 206 var r = i(e); 207 return !C.shivCSS || u || r.hasCSS || (r.hasCSS = !!n(e, "article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")), f || l(e, r), e 208 } 209 var u, f, d = "3.7.3", 210 p = e.html5 || {}, 211 m = /^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i, 212 v = /^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i, 213 h = "_html5shiv", 214 g = 0, 215 y = {}; 216 ! function() { 217 try { 218 var e = t.createElement("a"); 219 e.innerHTML = "<xyz></xyz>", u = "hidden" in e, f = 1 == e.childNodes.length || function() { 220 t.createElement("a"); 221 var e = t.createDocumentFragment(); 222 return "undefined" == typeof e.cloneNode || "undefined" == typeof e.createDocumentFragment || "undefined" == typeof e.createElement 223 }() 224 } catch (n) { 225 u = !0, f = !0 226 } 227 }(); 228 var C = { 229 elements: p.elements || "abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video", 230 version: d, 231 shivCSS: p.shivCSS !== !1, 232 supportsUnknownElements: f, 233 shivMethods: p.shivMethods !== !1, 234 type: "default", 235 shivDocument: c, 236 createElement: a, 237 createDocumentFragment: s, 238 addElements: o 239 }; 240 e.html5 = C, c(t), "object" == typeof module && module.exports && (module.exports = C) 241 }("undefined" != typeof e ? e : this, t), Modernizr.addTest("canvas", function() { 242 var e = a("canvas"); 243 return !(!e.getContext || !e.getContext("2d")) 244 }), Modernizr.addTest("video", function() { 245 var e = a("video"), 246 t = !1; 247 try { 248 t = !!e.canPlayType, t && (t = new Boolean(t), t.ogg = e.canPlayType('video/ogg; codecs="theora"').replace(/^no$/, ""), t.h264 = e.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/, ""), t.webm = e.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/, ""), t.vp9 = e.canPlayType('video/webm; codecs="vp9"').replace(/^no$/, ""), t.hls = e.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/, "")) 249 } catch (n) {} 250 return t 251 }), Modernizr.addTest("inlinesvg", function() { 252 var e = a("div"); 253 return e.innerHTML = "<svg/>", "http://www.w3.org/2000/svg" == ("undefined" != typeof SVGRect && e.firstChild && e.firstChild.namespaceURI) 254 }); 255 var T = a("input"), 256 _ = "autocomplete autofocus list placeholder max min multiple pattern required step".split(" "), 257 k = {}; 258 Modernizr.input = function(t) { 259 for (var n = 0, r = t.length; r > n; n++) k[t[n]] = !!(t[n] in T); 260 return k.list && (k.list = !(!a("datalist") || !e.HTMLDataListElement)), k 261 }(_); 262 var N = function() { 263 function e(e, t) { 264 var o; 265 return e ? (t && "string" != typeof t || (t = a(t || "div")), e = "on" + e, o = e in t, !o && r && (t.setAttribute || (t = a("div")), t.setAttribute(e, ""), o = "function" == typeof t[e], t[e] !== n && (t[e] = n), t.removeAttribute(e)), o) : !1 266 } 267 var r = !("onblur" in t.documentElement); 268 return e 269 }(); 270 S.hasEvent = N, Modernizr.addTest("inputsearchevent", N("search")); 271 var P;
272 ! function() { 273 var e = {}.hasOwnProperty; 274 P = r(e, "undefined") || r(e.call, "undefined") ? function(e, t) { 275 return t in e && r(e.constructor.prototype[t], "undefined") 276 } : function(t, n) { 277 return e.call(t, n) 278 } 279 }(), S._l = {}, S.on = function(e, t) { 280 this._l[e] || (this._l[e] = []), this._l[e].push(t), Modernizr.hasOwnProperty(e) && setTimeout(function() { 281 Modernizr._trigger(e, Modernizr[e]) 282 }, 0) 283 }, S._trigger = function(e, t) { 284 if (this._l[e]) { 285 var n = this._l[e]; 286 setTimeout(function() { 287 var e, r; 288 for (e = 0; e < n.length; e++)(r = n[e])(t) 289 }, 0), delete this._l[e] 290 } 291 }, Modernizr._q.push(function() { 292 S.addTest = l 293 }), Modernizr.addAsyncTest(function() { 294 var n, r, o = function(e) { 295 x.contains(e) || x.appendChild(e) 296 }, 297 i = function(e) { 298 e.fake && e.parentNode && e.parentNode.removeChild(e) 299 }, 300 c = function(e, t) { 301 var n = !!e; 302 if (n && (n = new Boolean(n), n.blocked = "blocked" === e), l("flash", function() { 303 return n 304 }), t && m.contains(t)) { 305 for (; t.parentNode !== m;) t = t.parentNode; 306 m.removeChild(t) 307 } 308 }; 309 try { 310 r = "ActiveXObject" in e && "Pan" in new e.ActiveXObject("ShockwaveFlash.ShockwaveFlash") 311 } catch (u) {} 312 if (n = !("plugins" in navigator && "Shockwave Flash" in navigator.plugins || r), n || E) c(!1); 313 else { 314 var f, d, p = a("embed"), 315 m = s(); 316 if (p.type = "application/x-shockwave-flash", m.appendChild(p), !("Pan" in p || r)) return o(m), c("blocked", p), void i(m); 317 f = function() { 318 return o(m), x.contains(m) ? (x.contains(p) ? (d = p.style.cssText, "" !== d ? c("blocked", p) : c(!0, p)) : c("blocked"), void i(m)) : (m = t.body || m, p = a("embed"), p.type = "application/x-shockwave-flash", m.appendChild(p), setTimeout(f, 1e3)) 319 }, setTimeout(f, 10) 320 } 321 }); 322 var j = function() { 323 var t = e.matchMedia || e.msMatchMedia; 324 return t ? function(e) { 325 var n = t(e); 326 return n && n.matches || !1 327 } : function(t) { 328 var n = !1; 329 return u("@media " + t + " { #modernizr { position: absolute; } }", function(t) { 330 n = "absolute" == (e.getComputedStyle ? e.getComputedStyle(t, null) : t.currentStyle).position 331 }), n 332 } 333 }(); 334 S.mq = j, Modernizr.addTest("mediaqueries", j("only all")), Modernizr.addTest("pointermq", j("(pointer:coarse),(pointer:fine),(pointer:none)")); 335 var F = "Moz O ms Webkit", 336 L = S._config.usePrefixes ? F.split(" ") : []; 337 S._cssomPrefixes = L; 338 var z = function(t) { 339 var r, o = prefixes.length, 340 i = e.CSSRule; 341 if ("undefined" == typeof i) return n; 342 if (!t) return !1; 343 if (t = t.replace(/^@/, ""), r = t.replace(/-/g, "_").toUpperCase() + "_RULE", r in i) return "@" + t; 344 for (var a = 0; o > a; a++) { 345 var s = prefixes[a], 346 l = s.toUpperCase() + "_" + r;
347 if (l in i) return "@-" + s.toLowerCase() + "-" + t 348 } 349 return !1 350 }; 351 S.atRule = z; 352 var M = S._config.usePrefixes ? F.toLowerCase().split(" ") : []; 353 S._domPrefixes = M; 354 var A = { 355 elem: a("modernizr") 356 }; 357 Modernizr._q.push(function() { 358 delete A.elem 359 }); 360 var q = { 361 style: A.elem.style 362 }; 363 Modernizr._q.unshift(function() { 364 delete q.style 365 }), S.testAllProps = y; 366 var O = S.prefixed = function(e, t, n) { 367 return 0 === e.indexOf("@") ? z(e) : (-1 != e.indexOf("-") && (e = c(e)), t ? y(e, t, n) : y(e, "pfx")) 368 }; 369 Modernizr.addTest("fullscreen", !(!O("exitFullscreen", t, !1) && !O("cancelFullScreen", t, !1))), S.testAllProps = C, Modernizr.addTest("flexbox", C("flexBasis", "1px", !0)), Modernizr.addTest("flexboxlegacy", C("boxDirection", "reverse", !0)), o(), i(b), delete S.addTest, delete S.addAsyncTest; 370 for (var R = 0; R < Modernizr._q.length; R++) Modernizr._q[R](); 371 e.Modernizr = Modernizr 372}(window, document);
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.