vendor: 7,152 bytes, lines 1-203
1/*! ScrollMagic v2.0.5 | (c) 2015 Jan Paepke (@janpaepke) | license & info: http://scrollmagic.io */ 2 3! function (e, t) { 4 "function" == typeof define && define.amd ? define(t) : "object" == typeof exports ? module.exports = t() : e.ScrollMagic = t() 5}(this, function () { 6 "use strict"; 7 var e = function () {}; 8 e.version = "2.0.5", window.addEventListener("mousewheel", function () {}); 9 var t = "data-scrollmagic-pin-spacer"; 10 e.Controller = function (r) { 11 var o, s, a = "ScrollMagic.Controller", 12 l = "FORWARD", 13 c = "REVERSE", 14 u = "PAUSED", 15 f = n.defaults, 16 d = this, 17 h = i.extend({}, f, r), 18 g = [], 19 p = !1, 20 v = 0, 21 m = u, 22 w = !0, 23 y = 0, 24 S = !0, 25 b = function () { 26 for (var e in h) f.hasOwnProperty(e) || delete h[e]; 27 if (h.container = i.get.elements(h.container)[0], !h.container) throw a + " init failed."; 28 w = h.container === window || h.container === document.body || !document.body.contains(h.container), w && (h.container = window), y = z(), h.container.addEventListener("resize", T), h.container.addEventListener("scroll", T), h.refreshInterval = parseInt(h.refreshInterval) || f.refreshInterval, E() 29 }, 30 E = function () { 31 h.refreshInterval > 0 && (s = window.setTimeout(A, h.refreshInterval)) 32 }, 33 x = function () { 34 return h.vertical ? i.get.scrollTop(h.container) : i.get.scrollLeft(h.container) 35 }, 36 z = function () { 37 return h.vertical ? i.get.height(h.container) : i.get.width(h.container) 38 }, 39 C = this._setScrollPos = function (e) { 40 h.vertical ? w ? window.scrollTo(i.get.scrollLeft(), e) : h.container.scrollTop = e : w ? window.scrollTo(e, i.get.scrollTop()) : h.container.scrollLeft = e 41 }, 42 F = function () { 43 if (S && p) { 44 var e = i.type.Array(p) ? p : g.slice(0); 45 p = !1; 46 var t = v; 47 v = d.scrollPos(); 48 var n = v - t; 49 0 !== n && (m = n > 0 ? l : c), m === c && e.reverse(), e.forEach(function (e) { 50 e.update(!0) 51 }) 52 } 53 }, 54 L = function () { 55 o = i.rAF(F) 56 }, 57 T = function (e) { 58 "resize" == e.type && (y = z(), m = u), p !== !0 && (p = !0, L()) 59 }, 60 A = function () { 61 if (!w && y != z()) { 62 var e; 63 try { 64 e = new Event("resize", { 65 bubbles: !1, 66 cancelable: !1 67 }) 68 } catch (t) { 69 e = document.createEvent("Event"), e.initEvent("resize", !1, !1) 70 } 71 h.container.dispatchEvent(e) 72 } 73 g.forEach(function (e) { 74 e.refresh() 75 }), E() 76 }; 77 this._options = h; 78 var O = function (e) { 79 if (e.length <= 1) return e; 80 var t = e.slice(0); 81 return t.sort(function (e, t) { 82 return e.scrollOffset() > t.scrollOffset() ? 1 : -1 83 }), t 84 }; 85 return this.addScene = function (t) { 86 if (i.type.Array(t)) t.forEach(function (e) { 87 d.addScene(e) 88 }); 89 else if (t instanceof e.Scene) 90 if (t.controller() !== d) t.addTo(d); 91 else if (g.indexOf(t) < 0) { 92 g.push(t), g = O(g), t.on("shift.controller_sort", function () { 93 g = O(g) 94 }); 95 for (var n in h.globalSceneOptions) t[n] && t[n].call(t, h.globalSceneOptions[n]) 96 } 97 return d 98 }, this.removeScene = function (e) { 99 if (i.type.Array(e)) e.forEach(function (e) { 100 d.removeScene(e) 101 }); 102 else { 103 var t = g.indexOf(e); 104 t > -1 && (e.off("shift.controller_sort"), g.splice(t, 1), e.remove()) 105 } 106 return d 107 }, this.updateScene = function (t, n) { 108 return i.type.Array(t) ? t.forEach(function (e) { 109 d.updateScene(e, n) 110 }) : n ? t.update(!0) : p !== !0 && t instanceof e.Scene && (p = p || [], -1 == p.indexOf(t) && p.push(t), p = O(p), L()), d 111 }, this.update = function (e) { 112 return T({ 113 type: "resize" 114 }), e && F(), d 115 }, this.scrollTo = function (n, r) { 116 if (i.type.Number(n)) C.call(h.container, n, r); 117 else if (n instanceof e.Scene) n.controller() === d && d.scrollTo(n.scrollOffset(), r); 118 else if (i.type.Function(n)) C = n; 119 else { 120 var o = i.get.elements(n)[0]; 121 if (o) { 122 for (; o.parentNode.hasAttribute(t);) o = o.parentNode; 123 var s = h.vertical ? "top" : "left", 124 a = i.get.offset(h.container), 125 l = i.get.offset(o); 126 w || (a[s] -= d.scrollPos()), d.scrollTo(l[s] - a[s], r) 127 } 128 } 129 return d 130 }, this.scrollPos = function (e) { 131 return arguments.length ? (i.type.Function(e) && (x = e), d) : x.call(d) 132 }, this.info = function (e) { 133 var t = { 134 size: y, 135 vertical: h.vertical, 136 scrollPos: v, 137 scrollDirection: m, 138 container: h.container, 139 isDocument: w 140 }; 141 return arguments.length ? void 0 !== t[e] ? t[e] : void 0 : t 142 }, this.loglevel = function () { 143 return d 144 }, this.enabled = function (e) { 145 return arguments.length ? (S != e && (S = !!e, d.updateScene(g, !0)), d) : S 146 }, this.destroy = function (e) { 147 window.clearTimeout(s); 148 for (var t = g.length; t--;) g[t].destroy(e); 149 return h.container.removeEventListener("resize", T), h.container.removeEventListener("scroll", T), i.cAF(o), null 150 }, b(), d 151 }; 152 var n = { 153 defaults: { 154 container: window, 155 vertical: !0, 156 globalSceneOptions: {}, 157 loglevel: 2, 158 refreshInterval: 100 159 } 160 }; 161 e.Controller.addOption = function (e, t) { 162 n.defaults[e] = t 163 }, e.Controller.extend = function (t) { 164 var n = this; 165 e.Controller = function () { 166 return n.apply(this, arguments), this.$super = i.extend({}, this), t.apply(this, arguments) || this 167 }, i.extend(e.Controller, n), e.Controller.prototype = n.prototype, e.Controller.prototype.constructor = e.Controller 168 }, e.Scene = function (n) { 169 var o, s, a = "BEFORE", 170 l = "DURING", 171 c = "AFTER", 172 u = r.defaults, 173 f = this, 174 d = i.extend({}, u, n), 175 h = a, 176 g = 0, 177 p = { 178 start: 0, 179 end: 0 180 }, 181 v = 0, 182 m = !0, 183 w = function () { 184 for (var e in d) u.hasOwnProperty(e) || delete d[e]; 185 for (var t in u) L(t); 186 C() 187 }, 188 y = {}; 189 this.on = function (e, t) { 190 return i.type.Function(t) && (e = e.trim().split(" "), e.forEach(function (e) { 191 var n = e.split("."), 192 r = n[0], 193 i = n[1]; 194 "*" != r && (y[r] || (y[r] = []), y[r].push({ 195 namespace: i || "", 196 callback: t 197 })) 198 })), f 199 }, this.off = function (e, t) { 200 return e ? (e = e.trim().split(" "), e.forEach(function (e) { 201 var n = e.split("."), 202 r = n[0], 203 i = n[1] || "",
204 o = "*" === r ? Object.keys(y) : [r]; 205 o.forEach(function (e) { 206 for (var n = y[e] || [], r = n.length; r--;) { 207 var o = n[r]; 208 !o || i !== o.namespace && "*" !== i || t && t != o.callback || n.splice(r, 1) 209 } 210 n.length || delete y[e] 211 }) 212 }), f) : f 213 }, this.trigger = function (t, n) { 214 if (t) { 215 var r = t.trim().split("."), 216 i = r[0], 217 o = r[1], 218 s = y[i]; 219 s && s.forEach(function (t) { 220 o && o !== t.namespace || t.callback.call(f, new e.Event(i, t.namespace, f, n)) 221 }) 222 } 223 return f 224 }, f.on("change.internal", function (e) { 225 "loglevel" !== e.what && "tweenChanges" !== e.what && ("triggerElement" === e.what ? E() : "reverse" === e.what && f.update()) 226 }).on("shift.internal", function () { 227 S(), f.update() 228 }), this.addTo = function (t) { 229 return t instanceof e.Controller && s != t && (s && s.removeScene(f), s = t, C(), b(!0), E(!0), S(), s.info("container").addEventListener("resize", x), t.addScene(f), f.trigger("add", { 230 controller: s 231 }), f.update()), f 232 }, this.enabled = function (e) { 233 return arguments.length ? (m != e && (m = !!e, f.update(!0)), f) : m 234 }, this.remove = function () { 235 if (s) { 236 s.info("container").removeEventListener("resize", x); 237 var e = s; 238 s = void 0, e.removeScene(f), f.trigger("remove") 239 } 240 return f 241 }, this.destroy = function (e) { 242 return f.trigger("destroy", { 243 reset: e 244 }), f.remove(), f.off("*.*"), null 245 }, this.update = function (e) { 246 if (s) 247 if (e) 248 if (s.enabled() && m) { 249 var t, n = s.info("scrollPos"); 250 t = d.duration > 0 ? (n - p.start) / (p.end - p.start) : n >= p.start ? 1 : 0, f.trigger("update", { 251 startPos: p.start, 252 endPos: p.end, 253 scrollPos: n 254 }), f.progress(t) 255 } else T && h === l && O(!0); 256 else s.updateScene(f, !1); 257 return f 258 }, this.refresh = function () { 259 return b(), E(), f 260 }, this.progress = function (e) { 261 if (arguments.length) { 262 var t = !1, 263 n = h, 264 r = s ? s.info("scrollDirection") : "PAUSED", 265 i = d.reverse || e >= g; 266 if (0 === d.duration ? (t = g != e, g = 1 > e && i ? 0 : 1, h = 0 === g ? a : l) : 0 > e && h !== a && i ? (g = 0, h = a, t = !0) : e >= 0 && 1 > e && i ? (g = e, h = l, t = !0) : e >= 1 && h !== c ? (g = 1, h = c, t = !0) : h !== l || i || O(), t) { 267 var o = { 268 progress: g, 269 state: h, 270 scrollDirection: r 271 }, 272 u = h != n, 273 p = function (e) { 274 f.trigger(e, o) 275 }; 276 u && n !== l && (p("enter"), p(n === a ? "start" : "end")), p("progress"), u && h !== l && (p(h === a ? "start" : "end"), p("leave")) 277 } 278 return f 279 } 280 return g 281 }; 282 var S = function () { 283 p = { 284 start: v + d.offset 285 }, s && d.triggerElement && (p.start -= s.info("size") * d.triggerHook), p.end = p.start + d.duration 286 }, 287 b = function (e) { 288 if (o) { 289 var t = "duration"; 290 F(t, o.call(f)) && !e && (f.trigger("change", { 291 what: t, 292 newval: d[t] 293 }), f.trigger("shift", { 294 reason: t 295 })) 296 } 297 }, 298 E = function (e) { 299 var n = 0, 300 r = d.triggerElement; 301 if (s && r) { 302 for (var o = s.info(), a = i.get.offset(o.container), l = o.vertical ? "top" : "left"; r.parentNode.hasAttribute(t);) r = r.parentNode; 303 var c = i.get.offset(r); 304 o.isDocument || (a[l] -= s.scrollPos()), n = c[l] - a[l] 305 } 306 var u = n != v; 307 v = n, u && !e && f.trigger("shift", { 308 reason: "triggerElementPosition" 309 }) 310 }, 311 x = function () { 312 d.triggerHook > 0 && f.trigger("shift", { 313 reason: "containerResize" 314 }) 315 }, 316 z = i.extend(r.validate, { 317 duration: function (e) { 318 if (i.type.String(e) && e.match(/^(\.|\d)*\d+%$/)) { 319 var t = parseFloat(e) / 100; 320 e = function () { 321 return s ? s.info("size") * t : 0 322 } 323 } 324 if (i.type.Function(e)) { 325 o = e; 326 try { 327 e = parseFloat(o()) 328 } catch (t) { 329 e = -1 330 } 331 } 332 if (e = parseFloat(e), !i.type.Number(e) || 0 > e) throw o ? (o = void 0, 0) : 0; 333 return e 334 } 335 }), 336 C = function (e) { 337 e = arguments.length ? [e] : Object.keys(z), e.forEach(function (e) { 338 var t; 339 if (z[e]) try { 340 t = z[e](d[e]) 341 } catch (n) { 342 t = u[e] 343 } finally { 344 d[e] = t 345 } 346 }) 347 }, 348 F = function (e, t) { 349 var n = !1, 350 r = d[e]; 351 return d[e] != t && (d[e] = t, C(e), n = r != d[e]), n 352 }, 353 L = function (e) { 354 f[e] || (f[e] = function (t) { 355 return arguments.length ? ("duration" === e && (o = void 0), F(e, t) && (f.trigger("change", { 356 what: e, 357 newval: d[e] 358 }), r.shifts.indexOf(e) > -1 && f.trigger("shift", { 359 reason: e 360 })), f) : d[e] 361 }) 362 }; 363 this.controller = function () { 364 return s 365 }, this.state = function () { 366 return h 367 }, this.scrollOffset = function () { 368 return p.start 369 }, this.triggerPosition = function () { 370 var e = d.offset; 371 return s && (e += d.triggerElement ? v : s.info("size") * f.triggerHook()), e 372 }; 373 var T, A; 374 f.on("shift.internal", function (e) { 375 var t = "duration" === e.reason; 376 (h === c && t || h === l && 0 === d.duration) && O(), t && _() 377 }).on("progress.internal", function () { 378 O() 379 }).on("add.internal", function () { 380 _() 381 }).on("destroy.internal", function (e) { 382 f.removePin(e.reset) 383 });
384 var O = function (e) { 385 if (T && s) { 386 var t = s.info(), 387 n = A.spacer.firstChild; 388 if (e || h !== l) { 389 var r = { 390 position: A.inFlow ? "relative" : "absolute", 391 top: 0, 392 left: 0 393 }, 394 o = i.css(n, "position") != r.position; 395 A.pushFollowers ? d.duration > 0 && (h === c && 0 === parseFloat(i.css(A.spacer, "padding-top")) ? o = !0 : h === a && 0 === parseFloat(i.css(A.spacer, "padding-bottom")) && (o = !0)) : r[t.vertical ? "top" : "left"] = d.duration * g, i.css(n, r), o && _() 396 } else { 397 "fixed" != i.css(n, "position") && (i.css(n, { 398 position: "fixed" 399 }), _()); 400 var u = i.get.offset(A.spacer, !0), 401 f = d.reverse || 0 === d.duration ? t.scrollPos - p.start : Math.round(g * d.duration * 10) / 10; 402 u[t.vertical ? "top" : "left"] += f, i.css(A.spacer.firstChild, { 403 top: u.top, 404 left: u.left 405 }) 406 } 407 } 408 }, 409 _ = function () { 410 if (T && s && A.inFlow) { 411 var e = h === l, 412 t = s.info("vertical"), 413 n = A.spacer.firstChild, 414 r = i.isMarginCollapseType(i.css(A.spacer, "display")), 415 o = {}; 416 A.relSize.width || A.relSize.autoFullWidth ? e ? i.css(T, { 417 width: i.get.width(A.spacer) 418 }) : i.css(T, { 419 width: "100%" 420 }) : (o["min-width"] = i.get.width(t ? T : n, !0, !0), o.width = e ? o["min-width"] : "auto"), A.relSize.height ? e ? i.css(T, { 421 height: i.get.height(A.spacer) - (A.pushFollowers ? d.duration : 0) 422 }) : i.css(T, { 423 height: "100%" 424 }) : (o["min-height"] = i.get.height(t ? n : T, !0, !r), o.height = e ? o["min-height"] : "auto"), A.pushFollowers && (o["padding" + (t ? "Top" : "Left")] = d.duration * g, o["padding" + (t ? "Bottom" : "Right")] = d.duration * (1 - g)), i.css(A.spacer, o) 425 } 426 }, 427 N = function () { 428 s && T && h === l && !s.info("isDocument") && O() 429 }, 430 P = function () { 431 s && T && h === l && ((A.relSize.width || A.relSize.autoFullWidth) && i.get.width(window) != i.get.width(A.spacer.parentNode) || A.relSize.height && i.get.height(window) != i.get.height(A.spacer.parentNode)) && _() 432 }, 433 D = function (e) { 434 s && T && h === l && !s.info("isDocument") && (e.preventDefault(), s._setScrollPos(s.info("scrollPos") - ((e.wheelDelta || e[s.info("vertical") ? "wheelDeltaY" : "wheelDeltaX"]) / 3 || 30 * -e.detail))) 435 }; 436 this.setPin = function (e, n) { 437 var r = { 438 pushFollowers: !0, 439 spacerClass: "scrollmagic-pin-spacer" 440 }; 441 if (n = i.extend({}, r, n), e = i.get.elements(e)[0], !e) return f; 442 if ("fixed" === i.css(e, "position")) return f; 443 if (T) { 444 if (T === e) return f; 445 f.removePin() 446 } 447 T = e; 448 var o = T.parentNode.style.display, 449 s = ["top", "left", "bottom", "right", "margin", "marginLeft", "marginRight", "marginTop", "marginBottom"]; 450 T.parentNode.style.display = "none"; 451 var a = "absolute" != i.css(T, "position"), 452 l = i.css(T, s.concat(["display"])), 453 c = i.css(T, ["width", "height"]); 454 T.parentNode.style.display = o, !a && n.pushFollowers && (n.pushFollowers = !1); 455 var u = T.parentNode.insertBefore(document.createElement("div"), T), 456 d = i.extend(l, { 457 position: a ? "relative" : "absolute", 458 boxSizing: "content-box", 459 mozBoxSizing: "content-box", 460 webkitBoxSizing: "content-box" 461 }); 462 if (a || i.extend(d, i.css(T, ["width", "height"])), i.css(u, d), u.setAttribute(t, ""), i.addClass(u, n.spacerClass), A = { 463 spacer: u, 464 relSize: { 465 width: "%" === c.width.slice(-1), 466 height: "%" === c.height.slice(-1), 467 autoFullWidth: "auto" === c.width && a && i.isMarginCollapseType(l.display) 468 }, 469 pushFollowers: n.pushFollowers, 470 inFlow: a 471 }, !T.___origStyle) { 472 T.___origStyle = {}; 473 var h = T.style, 474 g = s.concat(["width", "height", "position", "boxSizing", "mozBoxSizing", "webkitBoxSizing"]); 475 g.forEach(function (e) { 476 T.___origStyle[e] = h[e] || "" 477 }) 478 } 479 return A.relSize.width && i.css(u, { 480 width: c.width 481 }), A.relSize.height && i.css(u, { 482 height: c.height 483 }), u.appendChild(T), i.css(T, { 484 position: a ? "relative" : "absolute",
485 margin: "auto", 486 top: "auto", 487 left: "auto", 488 bottom: "auto", 489 right: "auto" 490 }), (A.relSize.width || A.relSize.autoFullWidth) && i.css(T, { 491 boxSizing: "border-box", 492 mozBoxSizing: "border-box", 493 webkitBoxSizing: "border-box" 494 }), window.addEventListener("scroll", N), window.addEventListener("resize", N), window.addEventListener("resize", P), T.addEventListener("mousewheel", D), T.addEventListener("DOMMouseScroll", D), O(), f 495 }, this.removePin = function (e) { 496 if (T) { 497 if (h === l && O(!0), e || !s) { 498 var n = A.spacer.firstChild; 499 if (n.hasAttribute(t)) { 500 var r = A.spacer.style, 501 o = ["margin", "marginLeft", "marginRight", "marginTop", "marginBottom"]; 502 margins = {}, o.forEach(function (e) { 503 margins[e] = r[e] || "" 504 }), i.css(n, margins) 505 } 506 A.spacer.parentNode.insertBefore(n, A.spacer), A.spacer.parentNode.removeChild(A.spacer), T.parentNode.hasAttribute(t) || (i.css(T, T.___origStyle), delete T.___origStyle) 507 } 508 window.removeEventListener("scroll", N), window.removeEventListener("resize", N), window.removeEventListener("resize", P), T.removeEventListener("mousewheel", D), T.removeEventListener("DOMMouseScroll", D), T = void 0 509 } 510 return f 511 }; 512 var R, k = []; 513 return f.on("destroy.internal", function (e) { 514 f.removeClassToggle(e.reset) 515 }), this.setClassToggle = function (e, t) { 516 var n = i.get.elements(e); 517 return 0 !== n.length && i.type.String(t) ? (k.length > 0 && f.removeClassToggle(), R = t, k = n, f.on("enter.internal_class leave.internal_class", function (e) { 518 var t = "enter" === e.type ? i.addClass : i.removeClass; 519 k.forEach(function (e) { 520 t(e, R) 521 }) 522 }), f) : f 523 }, this.removeClassToggle = function (e) { 524 return e && k.forEach(function (e) { 525 i.removeClass(e, R) 526 }), f.off("start.internal_class end.internal_class"), R = void 0, k = [], f 527 }, w(), f 528 }; 529 var r = { 530 defaults: { 531 duration: 0, 532 offset: 0, 533 triggerElement: void 0, 534 triggerHook: .5, 535 reverse: !0, 536 loglevel: 2 537 }, 538 validate: { 539 offset: function (e) { 540 if (e = parseFloat(e), !i.type.Number(e)) throw 0; 541 return e 542 }, 543 triggerElement: function (e) { 544 if (e = e || void 0) { 545 var t = i.get.elements(e)[0]; 546 if (!t) throw 0; 547 e = t 548 } 549 return e 550 }, 551 triggerHook: function (e) { 552 var t = { 553 onCenter: .5, 554 onEnter: 1, 555 onLeave: 0 556 }; 557 if (i.type.Number(e)) e = Math.max(0, Math.min(parseFloat(e), 1)); 558 else { 559 if (!(e in t)) throw 0; 560 e = t[e] 561 } 562 return e 563 }, 564 reverse: function (e) { 565 return !!e 566 } 567 }, 568 shifts: ["duration", "offset", "triggerHook"] 569 }; 570 e.Scene.addOption = function (e, t, n, i) { 571 e in r.defaults || (r.defaults[e] = t, r.validate[e] = n, i && r.shifts.push(e)) 572 }, e.Scene.extend = function (t) { 573 var n = this; 574 e.Scene = function () { 575 return n.apply(this, arguments), this.$super = i.extend({}, this), t.apply(this, arguments) || this 576 }, i.extend(e.Scene, n), e.Scene.prototype = n.prototype, e.Scene.prototype.constructor = e.Scene 577 }, e.Event = function (e, t, n, r) { 578 r = r || {}; 579 for (var i in r) this[i] = r[i]; 580 return this.type = e, this.target = this.currentTarget = n, this.namespace = t || "", this.timeStamp = this.timestamp = Date.now(), this 581 }; 582 var i = e._util = function (e) { 583 var t, n = {}, 584 r = function (e) { 585 return parseFloat(e) || 0 586 }, 587 i = function (t) { 588 return t.currentStyle ? t.currentStyle : e.getComputedStyle(t) 589 }, 590 o = function (t, n, o, s) { 591 if (n = n === document ? e : n, n === e) s = !1; 592 else if (!f.DomElement(n)) return 0; 593 t = t.charAt(0).toUpperCase() + t.substr(1).toLowerCase(); 594 var a = (o ? n["offset" + t] || n["outer" + t] : n["client" + t] || n["inner" + t]) || 0; 595 if (o && s) { 596 var l = i(n); 597 a += "Height" === t ? r(l.marginTop) + r(l.marginBottom) : r(l.marginLeft) + r(l.marginRight) 598 } 599 return a 600 }, 601 s = function (e) { 602 return e.replace(/^[^a-z]+([a-z])/g, "$1").replace(/-([a-z])/g, function (e) { 603 return e[1].toUpperCase() 604 }) 605 }; 606 n.extend = function (e) { 607 for (e = e || {}, t = 1; t < arguments.length; t++) 608 if (arguments[t]) 609 for (var n in arguments[t]) arguments[t].hasOwnProperty(n) && (e[n] = arguments[t][n]); 610 return e 611 }, n.isMarginCollapseType = function (e) { 612 return ["block", "flex", "list-item", "table", "-webkit-box"].indexOf(e) > -1 613 }; 614 var a = 0, 615 l = ["ms", "moz", "webkit", "o"], 616 c = e.requestAnimationFrame, 617 u = e.cancelAnimationFrame; 618 for (t = 0; !c && t < l.length; ++t) c = e[l[t] + "RequestAnimationFrame"], u = e[l[t] + "CancelAnimationFrame"] || e[l[t] + "CancelRequestAnimationFrame"]; 619 c || (c = function (t) { 620 var n = (new Date).getTime(), 621 r = Math.max(0, 16 - (n - a)), 622 i = e.setTimeout(function () { 623 t(n + r) 624 }, r); 625 return a = n + r, i 626 }), u || (u = function (t) { 627 e.clearTimeout(t) 628 }), n.rAF = c.bind(e), n.cAF = u.bind(e); 629 var f = n.type = function (e) { 630 return Object.prototype.toString.call(e).replace(/^\[object (.+)\]$/, "$1").toLowerCase() 631 }; 632 f.String = function (e) { 633 return "string" === f(e) 634 }, f.Function = function (e) { 635 return "function" === f(e) 636 }, f.Array = function (e) { 637 return Array.isArray(e) 638 }, f.Number = function (e) { 639 return !f.Array(e) && e - parseFloat(e) + 1 >= 0 640 }, f.DomElement = function (e) { 641 return "object" == typeof HTMLElement ? e instanceof HTMLElement : e && "object" == typeof e && null !== e && 1 === e.nodeType && "string" == typeof e.nodeName 642 }; 643 var d = n.get = {}; 644 return d.elements = function (t) { 645 var n = []; 646 if (f.String(t)) try { 647 t = document.querySelectorAll(t) 648 } catch (e) { 649 return n 650 } 651 if ("nodelist" === f(t) || f.Array(t)) 652 for (var r = 0, i = n.length = t.length; i > r; r++) { 653 var o = t[r]; 654 n[r] = f.DomElement(o) ? o : d.elements(o) 655 } else(f.DomElement(t) || t === document || t === e) && (n = [t]); 656 return n 657 }, d.scrollTop = function (t) { 658 return t && "number" == typeof t.scrollTop ? t.scrollTop : e.pageYOffset || 0 659 }, d.scrollLeft = function (t) { 660 return t && "number" == typeof t.scrollLeft ? t.scrollLeft : e.pageXOffset || 0 661 }, d.width = function (e, t, n) { 662 return o("width", e, t, n) 663 }, d.height = function (e, t, n) { 664 return o("height", e, t, n) 665 }, d.offset = function (e, t) { 666 var n = { 667 top: 0, 668 left: 0 669 }; 670 if (e && e.getBoundingClientRect) { 671 var r = e.getBoundingClientRect(); 672 n.top = r.top, n.left = r.left, t || (n.top += d.scrollTop(), n.left += d.scrollLeft()) 673 } 674 return n 675 }, n.addClass = function (e, t) { 676 t && (e.classList ? e.classList.add(t) : e.className += " " + t) 677 }, n.removeClass = function (e, t) { 678 t && (e.classList ? e.classList.remove(t) : e.className = e.className.replace(RegExp("(^|\\b)" + t.split(" ").join("|") + "(\\b|$)", "gi"), " ")) 679 }, n.css = function (e, t) { 680 if (f.String(t)) return i(e)[s(t)]; 681 if (f.Array(t)) { 682 var n = {}, 683 r = i(e); 684 return t.forEach(function (e) { 685 n[e] = r[s(e)] 686 }), n 687 } 688 for (var o in t) { 689 var a = t[o]; 690 a == parseFloat(a) && (a += "px"), e.style[s(o)] = a 691 } 692 }, n 693 }(window || {}); 694 return e 695});
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.