1/*! modernizr 3.3.1 (Custom Build) | MIT * 2 * https://modernizr.com/download/?-animation-audio-backgroundsize-canvas-capture-contenteditable-cookies-cssanimations-csscolumns-cssremunit-csstransforms-csstransforms3d-cssvhunit-cssvwunit-filereader-flexbox-flexboxlegacy-forcetouch-formvalidation-fullscreen-geolocation-hashchange-hiddenscroll-history-inlinesvg-input-inputtypes-json-localstorage-mediaqueries-notification-proximity-sessionstorage-srcset-svg-svgasimg-touchevents-video-websockets-setclasses-shiv-cssclassprefix:mod_ !*/ 3!function (e, t, n) { function r(e, t) { return typeof e === t } function i() { var e, t, n, i, o, a, s; for (var c in b) if (b.hasOwnProperty(c)) { if (e = [], t = b[c], t.name && (e.push(t.name.toLowerCase()), t.options && t.options.aliases && t.options.aliases.length)) for (n = 0; n < t.options.aliases.length; n++) e.push(t.options.aliases[n].toLowerCase()); for (i = r(t.fn, "function") ? t.fn() : t.fn, o = 0; o < e.length; o++) a = e[o], s = a.split("."), 1 === s.length ? Modernizr[s[0]] = i : (!Modernizr[s[0]] || Modernizr[s[0]] instanceof Boolean || (Modernizr[s[0]] = new Boolean(Modernizr[s[0]])), Modernizr[s[0]][s[1]] = i), T.push((i ? "" : "no-") + s.join("-")) } } function o(e) { var t = C.className, n = Modernizr._config.classPrefix || ""; if (E && (t = t.baseVal), Modernizr._config.enableJSClass) { var r = new RegExp("(^|\\s)" + n + "no-js(\\s|$)"); t = t.replace(r, "$1" + n + "js$2") } Modernizr._config.enableClasses && (t += " " + n + e.join(" " + n), E ? C.className.baseVal = t : C.className = t) } function a() { 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) } function s(e) { return e.replace(/([a-z])-([a-z])/g, function (e, t, n) { return t + n.toUpperCase() }).replace(/^-/, "") } function c(e, t) { if ("object" == typeof e) for (var n in e) F(e, n) && c(n, e[n]); else { e = e.toLowerCase(); var r = e.split("."), i = Modernizr[r[0]]; if (2 == r.length && (i = i[r[1]]), "undefined" != typeof i) return Modernizr; 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), o([(t && 0 != t ? "" : "no-") + r.join("-")]), Modernizr._trigger(e, t) } return Modernizr } function u() { var e = t.body; return e || (e = a(E ? "svg" : "body"), e.fake = !0), e } function l(e, n, r, i) { var o, s, c, l, d = "modernizr", f = a("div"), p = u(); if (parseInt(r, 10)) for (; r--;) c = a("div"), c.id = i ? i[r] : d + (r + 1), f.appendChild(c); return o = a("style"), o.type = "text/css", o.id = "s" + d, (p.fake ? p : f).appendChild(o), p.appendChild(f), o.styleSheet ? o.styleSheet.cssText = e : o.appendChild(t.createTextNode(e)), f.id = d, p.fake && (p.style.background = "", p.style.overflow = "hidden", l = C.style.overflow, C.style.overflow = "hidden", C.appendChild(p)), s = n(f, e), p.fake ? (p.parentNode.removeChild(p), C.style.overflow = l, C.offsetHeight) : f.parentNode.removeChild(f), !!s } function d(e, t) { return !!~("" + e).indexOf(t) } function f(e, t) { return function () { return e.apply(t, arguments) } } function p(e, t, n) { var i; for (var o in e) if (e[o] in t) return n === !1 ? e[o] : (i = t[e[o]], r(i, "function") ? f(i, n || t) : i); return !1 } function m(e) { return e.replace(/([A-Z])/g, function (e, t) { return "-" + t.toLowerCase() }).replace(/^ms-/, "-ms-") } function v(t, r) { var i = t.length; if ("CSS" in e && "supports" in e.CSS) { for (; i--;) if (e.CSS.supports(m(t[i]), r)) return !0; return !1 } if ("CSSSupportsRule" in e) { for (var o = []; i--;) o.push("(" + m(t[i]) + ":" + r + ")"); return o = o.join(" or "), l("@supports (" + o + ") { #modernizr { position: absolute; } }", function (e) { return "absolute" == getComputedStyle(e, null).position }) } return n } function h(e, t, i, o) { function c() { l && (delete q.style, delete q.modElem) } if (o = r(o, "undefined") ? !1 : o, !r(i, "undefined")) { var u = v(e, i); if (!r(u, "undefined")) return u } for (var l, f, p, m, h, g = ["modernizr", "tspan", "samp"]; !q.style && g.length;) l = !0, q.modElem = a(g.shift()), q.style = q.modElem.style; for (p = e.length, f = 0; p > f; f++) if (m = e[f], h = q.style[m], d(m, "-") && (m = s(m)), q.style[m] !== n) { if (o || r(i, "undefined")) return c(), "pfx" == t ? m : !0; try { q.style[m] = i } catch (y) { } if (q.style[m] != h) return c(), "pfx" == t ? m : !0 } return c(), !1 } function g(e, t, n, i, o) { var a = e.charAt(0).toUpperCase() + e.slice(1), s = (e + " " + j.join(a + " ") + a).split(" "); return r(t, "string") || r(t, "undefined") ? h(s, t, i, o) : (s = (e + " " + W.join(a + " ") + a).split(" "), p(s, t, n)) } function y(e, t, r) { return g(e, n, n, t, r) } var T = [], b = [], S = { _version: "3.3.1", _config: { classPrefix: "mod_", enableClasses: !0, enableJSClass: !0, usePrefixes: !0 }, _q: [], on: function (e, t) { var n = this; setTimeout(function () { t(n[e]) }, 0) }, addTest: function (e, t, n) { b.push({ name: e, fn: t, options: n }) }, addAsyncTest: function (e) { b.push({ name: null, fn: e }) } }, Modernizr = function () { }; Modernizr.prototype = S, Modernizr = new Modernizr, Modernizr.addTest("cookies", function () { try { t.cookie = "cookietest=1"; var e = -1 != t.cookie.indexOf("cookietest="); return t.cookie = "cookietest=1; expires=Thu, 01-Jan-1970 00:00:01 GMT", e } catch (n) { return !1 } }), Modernizr.addTest("geolocation", "geolocation" in navigator), Modernizr.addTest("history", function () { var t = navigator.userAgent; return -1 === t.indexOf("Android 2.") && -1 === t.indexOf("Android 4.0") || -1 === t.indexOf("Mobile Safari") || -1 !== t.indexOf("Chrome") || -1 !== t.indexOf("Windows Phone") ? e.history && "pushState" in e.history : !1 }), Modernizr.addTest("json", "JSON" in e && "parse" in JSON && "stringify" in JSON), Modernizr.addTest("notification", function () { if (!e.Notification || !e.Notification.requestPermission) return !1; if ("granted" === e.Notification.permission) return !0; try { new e.Notification("") } catch (t) { if ("TypeError" === t.name) return !1 } return !0 }), Modernizr.addTest("svg", !!t.createElementNS && !!t.createElementNS("http://www.w3.org/2000/svg", "svg").createSVGRect); var w = !1; try { w = "WebSocket" in e && 2 === e.WebSocket.CLOSING } catch (x) { } Modernizr.addTest("websockets", w), Modernizr.addTest("filereader", !!(e.File && e.FileList && e.FileReader)), Modernizr.addTest("localstorage", function () { var e = "modernizr"; try { return localStorage.setItem(e, e), localStorage.removeItem(e), !0 } catch (t) { return !1 } }), Modernizr.addTest("sessionstorage", function () { var e = "modernizr"; try { return sessionStorage.setItem(e, e), sessionStorage.removeItem(e), !0 } catch (t) { return !1 } }); var C = t.documentElement, E = "svg" === C.nodeName.toLowerCase(); E || !function (e, t) { function n(e, t) { var n = e.createElement("p"), r = e.getElementsByTagName("head")[0] || e.documentElement; return n.innerHTML = "x<style>" + t + "</style>", r.insertBefore(n.lastChild, r.firstChild) } function r() { var e = T.elements; return "string" == typeof e ? e.split(" ") : e } function i(e, t) { var n = T.elements; "string" != typeof n && (n = n.join(" ")), "string" != typeof e && (e = e.join(" ")), T.elements = n + " " + e, u(t) } function o(e) { var t = y[e[h]]; return t || (t = {}, g++, e[h] = g, y[g] = t), t } function a(e, n, r) { if (n || (n = t), d) return n.createElement(e); r || (r = o(n)); var i; return i = r.cache[e] ? r.cache[e].cloneNode() : v.test(e) ? (r.cache[e] = r.createElem(e)).cloneNode() : r.createElem(e), !i.canHaveChildren || m.test(e) || i.tagUrn ? i : r.frag.appendChild(i) } function s(e, n) { if (e || (e = t), d) return e.createDocumentFragment(); n = n || o(e); for (var i = n.frag.cloneNode(), a = 0, s = r(), c = s.length; c > a; a++) i.createElement(s[a]); return i }
3 function c(e, t) { t.cache || (t.cache = {}, t.createElem = e.createElement, t.createFrag = e.createDocumentFragment, t.frag = t.createFrag()), e.createElement = function (n) { return T.shivMethods ? a(n, e, t) : t.createElem(n) }, e.createDocumentFragment = Function("h,f", "return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&(" + r().join().replace(/[\w\-:]+/g, function (e) { return t.createElem(e), t.frag.createElement(e), 'c("' + e + '")' }) + ");return n}")(T, t.frag) } function u(e) { e || (e = t); var r = o(e); return !T.shivCSS || l || 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}")), d || c(e, r), e } var l, d, f = "3.7.3", p = e.html5 || {}, m = /^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i, 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, h = "_html5shiv", g = 0, y = {}; !function () { try { var e = t.createElement("a"); e.innerHTML = "<xyz></xyz>", l = "hidden" in e, d = 1 == e.childNodes.length || function () { t.createElement("a"); var e = t.createDocumentFragment(); return "undefined" == typeof e.cloneNode || "undefined" == typeof e.createDocumentFragment || "undefined" == typeof e.createElement }() } catch (n) { l = !0, d = !0 } }(); var T = { 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", version: f, shivCSS: p.shivCSS !== !1, supportsUnknownElements: d, shivMethods: p.shivMethods !== !1, type: "default", shivDocument: u, createElement: a, createDocumentFragment: s, addElements: i }; e.html5 = T, u(t), "object" == typeof module && module.exports && (module.exports = T) }("undefined" != typeof e ? e : this, t), Modernizr.addTest("audio", function () { var e = a("audio"), t = !1; try { (t = !!e.canPlayType) && (t = new Boolean(t), t.ogg = e.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/, ""), t.mp3 = e.canPlayType('audio/mpeg; codecs="mp3"').replace(/^no$/, ""), t.opus = e.canPlayType('audio/ogg; codecs="opus"') || e.canPlayType('audio/webm; codecs="opus"').replace(/^no$/, ""), t.wav = e.canPlayType('audio/wav; codecs="1"').replace(/^no$/, ""), t.m4a = (e.canPlayType("audio/x-m4a;") || e.canPlayType("audio/aac;")).replace(/^no$/, "")) } catch (n) { } return t }), Modernizr.addTest("canvas", function () { var e = a("canvas"); return !(!e.getContext || !e.getContext("2d")) }), Modernizr.addTest("contenteditable", function () { if ("contentEditable" in C) { var e = a("div"); return e.contentEditable = !0, "true" === e.contentEditable } }), Modernizr.addTest("video", function () { var e = a("video"), t = !1; try { (t = !!e.canPlayType) && (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$/, "")) } catch (n) { } return t }), Modernizr.addTest("webanimations", "animate" in a("div")), Modernizr.addTest("cssremunit", function () { var e = a("a").style; try { e.fontSize = "3rem" } catch (t) { } return /rem/.test(e.fontSize) }), Modernizr.addTest("capture", "capture" in a("input")), Modernizr.addTest("srcset", "srcset" in a("img")), Modernizr.addTest("inlinesvg", function () { var e = a("div"); return e.innerHTML = "<svg/>", "http://www.w3.org/2000/svg" == ("undefined" != typeof SVGRect && e.firstChild && e.firstChild.namespaceURI) }); var _ = function () { function e(e, t) { var i; return e ? (t && "string" != typeof t || (t = a(t || "div")), e = "on" + e, i = e in t, !i && r && (t.setAttribute || (t = a("div")), t.setAttribute(e, ""), i = "function" == typeof t[e], t[e] !== n && (t[e] = n), t.removeAttribute(e)), i) : !1 } var r = !("onblur" in t.documentElement); return e }(); S.hasEvent = _, Modernizr.addTest("hashchange", function () { return _("hashchange", e) === !1 ? !1 : t.documentMode === n || t.documentMode > 7 }); var k = a("input"), P = "autocomplete autofocus list placeholder max min multiple pattern required step".split(" "), N = {}; Modernizr.input = function (t) { for (var n = 0, r = t.length; r > n; n++) N[t[n]] = !!(t[n] in k); return N.list && (N.list = !(!a("datalist") || !e.HTMLDataListElement)), N }(P); var z = "search tel url email datetime date month week time datetime-local number range color".split(" "), O = {}; Modernizr.inputtypes = function (e) { for (var r, i, o, a = e.length, s = "1)", c = 0; a > c; c++) k.setAttribute("type", r = e[c]), o = "text" !== k.type && "style" in k, o && (k.value = s, k.style.cssText = "position:absolute;visibility:hidden;", /^range$/.test(r) && k.style.WebkitAppearance !== n ? (C.appendChild(k), i = t.defaultView, o = i.getComputedStyle && "textfield" !== i.getComputedStyle(k, null).WebkitAppearance && 0 !== k.offsetHeight, C.removeChild(k)) : /^(search|tel)$/.test(r) || (o = /^(url|email)$/.test(r) ? k.checkValidity && k.checkValidity() === !1 : k.value != s)), O[e[c]] = !!o; return O }(z); var L = S._config.usePrefixes ? " -webkit- -moz- -o- -ms- ".split(" ") : ["", ""]; S._prefixes = L; var M = "CSS" in e && "supports" in e.CSS, A = "supportsCSS" in e; Modernizr.addTest("supports", M || A); var F; !function () { var e = {}.hasOwnProperty; F = r(e, "undefined") || r(e.call, "undefined") ? function (e, t) { return t in e && r(e.constructor.prototype[t], "undefined") } : function (t, n) { return e.call(t, n) } }(), S._l = {}, S.on = function (e, t) { this._l[e] || (this._l[e] = []), this._l[e].push(t), Modernizr.hasOwnProperty(e) && setTimeout(function () { Modernizr._trigger(e, Modernizr[e]) }, 0) }, S._trigger = function (e, t) { if (this._l[e]) { var n = this._l[e]; setTimeout(function () { var e, r; for (e = 0; e < n.length; e++) (r = n[e])(t) }, 0), delete this._l[e] } }, Modernizr._q.push(function () { S.addTest = c }), Modernizr.addAsyncTest(function () { function t() { clearTimeout(n), e.removeEventListener("deviceproximity", t), c("proximity", !0) }
3 var n, r = 300; "ondeviceproximity" in e && "onuserproximity" in e ? (e.addEventListener("deviceproximity", t), n = setTimeout(function () { e.removeEventListener("deviceproximity", t), c("proximity", !1) }, r)) : c("proximity", !1) }), Modernizr.addTest("svgasimg", t.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#Image", "1.1")); var R = S.testStyles = l; Modernizr.addTest("hiddenscroll", function () { return R("#modernizr {width:100px;height:100px;overflow:scroll}", function (e) { return e.offsetWidth === e.clientWidth }) }), Modernizr.addTest("touchevents", function () { var n; if ("ontouchstart" in e || e.DocumentTouch && t instanceof DocumentTouch) n = !0; else { var r = ["@media (", L.join("touch-enabled),("), "heartz", ")", "{#modernizr{top:9px;position:absolute}}"].join(""); R(r, function (e) { n = 9 === e.offsetTop }) } return n }), R("#modernizr { height: 50vh; }", function (t) { var n = parseInt(e.innerHeight / 2, 10), r = parseInt((e.getComputedStyle ? getComputedStyle(t, null) : t.currentStyle).height, 10); Modernizr.addTest("cssvhunit", r == n) }), R("#modernizr { width: 50vw; }", function (t) { var n = parseInt(e.innerWidth / 2, 10), r = parseInt((e.getComputedStyle ? getComputedStyle(t, null) : t.currentStyle).width, 10); Modernizr.addTest("cssvwunit", r == n) }), Modernizr.addTest("formvalidation", function () { var t = a("form"); if (!("checkValidity" in t && "addEventListener" in t)) return !1; if ("reportValidity" in t) return !0; var n, r = !1; return Modernizr.formvalidationapi = !0, t.addEventListener("submit", function (t) { (!e.opera || e.operamini) && t.preventDefault(), t.stopPropagation() }, !1), t.innerHTML = '<input name="modTest" required="required" /><button></button>', R("#modernizr form{position:absolute;top:-99999em}", function (e) { e.appendChild(t), n = t.getElementsByTagName("input")[0], n.addEventListener("invalid", function (e) { r = !0, e.preventDefault(), e.stopPropagation() }, !1), Modernizr.formvalidationmessage = !!n.validationMessage, t.getElementsByTagName("button")[0].click() }), r }); var B = function () { var t = e.matchMedia || e.msMatchMedia; return t ? function (e) { var n = t(e); return n && n.matches || !1 } : function (t) { var n = !1; return l("@media " + t + " { #modernizr { position: absolute; } }", function (t) { n = "absolute" == (e.getComputedStyle ? e.getComputedStyle(t, null) : t.currentStyle).position }), n } }(); S.mq = B, Modernizr.addTest("mediaqueries", B("only all")); var $ = "Moz O ms Webkit", j = S._config.usePrefixes ? $.split(" ") : []; S._cssomPrefixes = j; var I = function (t) { var r, i = L.length, o = e.CSSRule; if ("undefined" == typeof o) return n; if (!t) return !1; if (t = t.replace(/^@/, ""), r = t.replace(/-/g, "_").toUpperCase() + "_RULE", r in o) return "@" + t; for (var a = 0; i > a; a++) { var s = L[a], c = s.toUpperCase() + "_" + r; if (c in o) return "@-" + s.toLowerCase() + "-" + t } return !1 }; S.atRule = I; var W = S._config.usePrefixes ? $.toLowerCase().split(" ") : []; S._domPrefixes = W; var D = { elem: a("modernizr") }; Modernizr._q.push(function () { delete D.elem }); var q = { style: D.elem.style }; Modernizr._q.unshift(function () { delete q.style }), S.testAllProps = g; var U = S.prefixed = function (e, t, n) { return 0 === e.indexOf("@") ? I(e) : (-1 != e.indexOf("-") && (e = s(e)), t ? g(e, t, n) : g(e, "pfx")) }; Modernizr.addTest("forcetouch", function () { return _(U("mouseforcewillbegin", e, !1), e) ? MouseEvent.WEBKIT_FORCE_AT_MOUSE_DOWN && MouseEvent.WEBKIT_FORCE_AT_FORCE_MOUSE_DOWN : !1 }), Modernizr.addTest("fullscreen", !(!U("exitFullscreen", t, !1) && !U("cancelFullScreen", t, !1))), S.testAllProps = y, Modernizr.addTest("cssanimations", y("animationName", "a", !0)), Modernizr.addTest("backgroundsize", y("backgroundSize", "100%", !0)), function () { Modernizr.addTest("csscolumns", function () { var e = !1, t = y("columnCount"); try { (e = !!t) && (e = new Boolean(e)) } catch (n) { } return e });
3 for (var e, t, n = ["Width", "Span", "Fill", "Gap", "Rule", "RuleColor", "RuleStyle", "RuleWidth", "BreakBefore", "BreakAfter", "BreakInside"], r = 0; r < n.length; r++) e = n[r].toLowerCase(), t = y("column" + n[r]), ("breakbefore" === e || "breakafter" === e || "breakinside" == e) && (t = t || y(n[r])), Modernizr.addTest("csscolumns." + e, t) }(), Modernizr.addTest("flexbox", y("flexBasis", "1px", !0)), Modernizr.addTest("flexboxlegacy", y("boxDirection", "reverse", !0)), Modernizr.addTest("csstransforms", function () { return -1 === navigator.userAgent.indexOf("Android 2.") && y("transform", "scale(1)", !0) }), Modernizr.addTest("csstransforms3d", function () { var e = !!y("perspective", "1px", !0), t = Modernizr._config.usePrefixes; if (e && (!t || "webkitPerspective" in C.style)) { var n, r = "#modernizr{width:0;height:0}"; Modernizr.supports ? n = "@supports (perspective: 1px)" : (n = "@media (transform-3d)", t && (n += ",(-webkit-transform-3d)")), n += "{#modernizr{width:7px;height:18px;margin:0;padding:0;border:0}}", R(r + n, function (t) { e = 7 === t.offsetWidth && 18 === t.offsetHeight }) } return e }), i(), o(T), delete S.addTest, delete S.addAsyncTest; for (var V = 0; V < Modernizr._q.length; V++) Modernizr._q[V](); e.Modernizr = Modernizr }(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.