1/*! 2 * Masonry PACKAGED v4.2.2 3 * Cascading grid layout library 4 * https://masonry.desandro.com 5 * MIT License 6 * by David DeSandro 7 */ 8 9!(function(t, e) { 10 "function" == typeof define && define.amd 11 ? define("jquery-bridget/jquery-bridget", ["jquery"], function(i) { 12 return e(t, i); 13 }) 14 : "object" == typeof module && module.exports 15 ? (module.exports = e(t, require("jquery"))) 16 : (t.jQueryBridget = e(t, t.jQuery)); 17})(window, function(t, e) { 18 "use strict"; 19 function i(i, r, a) { 20 function h(t, e, n) { 21 var o, 22 r = "$()." + i + '("' + e + '")'; 23 return ( 24 t.each(function(t, h) { 25 var u = a.data(h, i); 26 if (!u) 27 return void s( 28 i + " not initialized. Cannot call methods, i.e. " + r 29 ); 30 var d = u[e]; 31 if (!d || "_" == e.charAt(0)) 32 return void s(r + " is not a valid method"); 33 var l = d.apply(u, n); 34 o = void 0 === o ? l : o; 35 }), 36 void 0 !== o ? o : t 37 ); 38 } 39 function u(t, e) { 40 t.each(function(t, n) { 41 var o = a.data(n, i); 42 o ? (o.option(e), o._init()) : ((o = new r(n, e)), a.data(n, i, o)); 43 }); 44 } 45 (a = a || e || t.jQuery), 46 a && 47 (r.prototype.option || 48 (r.prototype.option = function(t) { 49 a.isPlainObject(t) && 50 (this.options = a.extend(!0, this.options, t)); 51 }), 52 (a.fn[i] = function(t) { 53 if ("string" == typeof t) { 54 var e = o.call(arguments, 1); 55 return h(this, t, e); 56 } 57 return u(this, t), this; 58 }), 59 n(a)); 60 } 61 function n(t) { 62 !t || (t && t.bridget) || (t.bridget = i); 63 } 64 var o = Array.prototype.slice, 65 r = t.console, 66 s = 67 "undefined" == typeof r 68 ? function() {} 69 : function(t) { 70 r.error(t); 71 }; 72 return n(e || t.jQuery), i; 73}), 74 (function(t, e) { 75 "function" == typeof define && define.amd 76 ? define("ev-emitter/ev-emitter", e) 77 : "object" == typeof module && module.exports 78 ? (module.exports = e()) 79 : (t.EvEmitter = e()); 80 })("undefined" != typeof window ? window : this, function() { 81 function t() {} 82 var e = t.prototype; 83 return ( 84 (e.on = function(t, e) { 85 if (t && e) { 86 var i = (this._events = this._events || {}), 87 n = (i[t] = i[t] || []); 88 return -1 == n.indexOf(e) && n.push(e), this; 89 } 90 }), 91 (e.once = function(t, e) { 92 if (t && e) { 93 this.on(t, e); 94 var i = (this._onceEvents = this._onceEvents || {}), 95 n = (i[t] = i[t] || {}); 96 return (n[e] = !0), this; 97 } 98 }), 99 (e.off = function(t, e) { 100 var i = this._events && this._events[t]; 101 if (i && i.length) { 102 var n = i.indexOf(e); 103 return -1 != n && i.splice(n, 1), this; 104 } 105 }), 106 (e.emitEvent = function(t, e) { 107 var i = this._events && this._events[t]; 108 if (i && i.length) { 109 (i = i.slice(0)), (e = e || []); 110 for ( 111 var n = this._onceEvents && this._onceEvents[t], o = 0; 112 o < i.length; 113 o++ 114 ) { 115 var r = i[o], 116 s = n && n[r]; 117 s && (this.off(t, r), delete n[r]), r.apply(this, e); 118 } 119 return this; 120 } 121 }), 122 (e.allOff = function() { 123 delete this._events, delete this._onceEvents; 124 }), 125 t 126 ); 127 }), 128 (function(t, e) { 129 "function" == typeof define && define.amd 130 ? define("get-size/get-size", e) 131 : "object" == typeof module && module.exports 132 ? (module.exports = e()) 133 : (t.getSize = e()); 134 })(window, function() { 135 "use strict"; 136 function t(t) { 137 var e = parseFloat(t), 138 i = -1 == t.indexOf("%") && !isNaN(e); 139 return i && e; 140 } 141 function e() {} 142 function i() { 143 for ( 144 var t = { 145 width: 0, 146 height: 0, 147 innerWidth: 0, 148 innerHeight: 0, 149 outerWidth: 0, 150 outerHeight: 0 151 }, 152 e = 0; 153 u > e; 154 e++ 155 ) { 156 var i = h[e]; 157 t[i] = 0; 158 } 159 return t; 160 } 161 function n(t) { 162 var e = getComputedStyle(t); 163 return ( 164 e || 165 a( 166 "Style returned " + 167 e + 168 ". Are you running this code in a hidden iframe on Firefox? See https://bit.ly/getsizebug1" 169 ), 170 e 171 ); 172 } 173 function o() { 174 if (!d) { 175 d = !0; 176 var e = document.createElement("div"); 177 (e.style.width = "200px"), 178 (e.style.padding = "1px 2px 3px 4px"), 179 (e.style.borderStyle = "solid"), 180 (e.style.borderWidth = "1px 2px 3px 4px"), 181 (e.style.boxSizing = "border-box"); 182 var i = document.body || document.documentElement; 183 i.appendChild(e); 184 var o = n(e); 185 (s = 200 == Math.round(t(o.width))), 186 (r.isBoxSizeOuter = s), 187 i.removeChild(e); 188 } 189 } 190 function r(e) { 191 if ( 192 (o(), 193 "string" == typeof e && (e = document.querySelector(e)), 194 e && "object" == typeof e && e.nodeType) 195 ) { 196 var r = n(e); 197 if ("none" == r.display) return i(); 198 var a = {}; 199 (a.width = e.offsetWidth), (a.height = e.offsetHeight); 200 for ( 201 var d = (a.isBorderBox = "border-box" == r.boxSizing), l = 0; 202 u > l; 203 l++ 204 ) { 205 var c = h[l], 206 f = r[c], 207 m = parseFloat(f); 208 a[c] = isNaN(m) ? 0 : m; 209 } 210 var p = a.paddingLeft + a.paddingRight, 211 g = a.paddingTop + a.paddingBottom, 212 y = a.marginLeft + a.marginRight, 213 v = a.marginTop + a.marginBottom, 214 _ = a.borderLeftWidth + a.borderRightWidth, 215 z = a.borderTopWidth + a.borderBottomWidth, 216 E = d && s, 217 b = t(r.width); 218 b !== !1 && (a.width = b + (E ? 0 : p + _)); 219 var x = t(r.height); 220 return ( 221 x !== !1 && (a.height = x + (E ? 0 : g + z)), 222 (a.innerWidth = a.width - (p + _)), 223 (a.innerHeight = a.height - (g + z)), 224 (a.outerWidth = a.width + y), 225 (a.outerHeight = a.height + v), 226 a 227 ); 228 } 229 } 230 var s, 231 a = 232 "undefined" == typeof console 233 ? e 234 : function(t) { 235 console.error(t); 236 }, 237 h = [ 238 "paddingLeft", 239 "paddingRight", 240 "paddingTop", 241 "paddingBottom", 242 "marginLeft", 243 "marginRight", 244 "marginTop", 245 "marginBottom", 246 "borderLeftWidth", 247 "borderRightWidth", 248 "borderTopWidth", 249 "borderBottomWidth" 250 ], 251 u = h.length, 252 d = !1; 253 return r; 254 }), 255 (function(t, e) { 256 "use strict"; 257 "function" == typeof define && define.amd 258 ? define("desandro-matches-selector/matches-selector", e) 259 : "object" == typeof module && module.exports 260 ? (module.exports = e()) 261 : (t.matchesSelector = e()); 262 })(window, function() { 263 "use strict"; 264 var t = (function() { 265 var t = window.Element.prototype; 266 if (t.matches) return "matches"; 267 if (t.matchesSelector) return "matchesSelector"; 268 for (var e = ["webkit", "moz", "ms", "o"], i = 0; i < e.length; i++) { 269 var n = e[i], 270 o = n + "MatchesSelector"; 271 if (t[o]) return o; 272 } 273 })(); 274 return function(e, i) { 275 return e[t](i); 276 }; 277 }), 278 (function(t, e) { 279 "function" == typeof define && define.amd 280 ? define("fizzy-ui-utils/utils", [ 281 "desandro-matches-selector/matches-selector" 282 ], function(i) { 283 return e(t, i); 284 }) 285 : "object" == typeof module && module.exports 286 ? (module.exports = e(t, require("desandro-matches-selector"))) 287 : (t.fizzyUIUtils = e(t, t.matchesSelector)); 288 })(window, function(t, e) { 289 var i = {}; 290 (i.extend = function(t, e) { 291 for (var i in e) t[i] = e[i]; 292 return t; 293 }), 294 (i.modulo = function(t, e) { 295 return ((t % e) + e) % e; 296 }); 297 var n = Array.prototype.slice; 298 (i.makeArray = function(t) { 299 if (Array.isArray(t)) return t; 300 if (null === t || void 0 === t) return []; 301 var e = "object" == typeof t && "number" == typeof t.length; 302 return e ? n.call(t) : [t]; 303 }), 304 (i.removeFrom = function(t, e) { 305 var i = t.indexOf(e); 306 -1 != i && t.splice(i, 1); 307 }), 308 (i.getParent = function(t, i) { 309 for (; t.parentNode && t != document.body; ) 310 if (((t = t.parentNode), e(t, i))) return t; 311 }), 312 (i.getQueryElement = function(t) { 313 return "string" == typeof t ? document.querySelector(t) : t; 314 }), 315 (i.handleEvent = function(t) { 316 var e = "on" + t.type; 317 this[e] && this[e](t); 318 }), 319 (i.filterFindElements = function(t, n) { 320 t = i.makeArray(t); 321 var o = []; 322 return ( 323 t.forEach(function(t) { 324 if (t instanceof HTMLElement) { 325 if (!n) return void o.push(t); 326 e(t, n) && o.push(t); 327 for (var i = t.querySelectorAll(n), r = 0; r < i.length; r++) 328 o.push(i[r]); 329 } 330 }), 331 o 332 ); 333 }), 334 (i.debounceMethod = function(t, e, i) { 335 i = i || 100; 336 var n = t.prototype[e], 337 o = e + "Timeout"; 338 t.prototype[e] = function() { 339 var t = this[o]; 340 clearTimeout(t); 341 var e = arguments, 342 r = this; 343 this[o] = setTimeout(function() { 344 n.apply(r, e), delete r[o]; 345 }, i); 346 }; 347 }), 348 (i.docReady = function(t) { 349 var e = document.readyState; 350 "complete" == e || "interactive" == e 351 ? setTimeout(t) 352 : document.addEventListener("DOMContentLoaded", t); 353 }), 354 (i.toDashed = function(t) { 355 return t 356 .replace(/(.)([A-Z])/g, function(t, e, i) { 357 return e + "-" + i; 358 }) 359 .toLowerCase(); 360 }); 361 var o = t.console; 362 return ( 363 (i.htmlInit = function(e, n) { 364 i.docReady(function() { 365 var r = i.toDashed(n), 366 s = "data-" + r, 367 a = document.querySelectorAll("[" + s + "]"), 368 h = document.querySelectorAll(".js-" + r), 369 u = i.makeArray(a).concat(i.makeArray(h)), 370 d = s + "-options", 371 l = t.jQuery; 372 u.forEach(function(t) { 373 var i, 374 r = t.getAttribute(s) || t.getAttribute(d); 375 try { 376 i = r && JSON.parse(r); 377 } catch (a) { 378 return void ( 379 o && 380 o.error("Error parsing " + s + " on " + t.className + ": " + a) 381 ); 382 } 383 var h = new e(t, i); 384 l && l.data(t, n, h); 385 }); 386 }); 387 }), 388 i 389 ); 390 }), 391 (function(t, e) { 392 "function" == typeof define && define.amd 393 ? define("outlayer/item", [ 394 "ev-emitter/ev-emitter", 395 "get-size/get-size" 396 ], e) 397 : "object" == typeof module && module.exports 398 ? (module.exports = e(require("ev-emitter"), require("get-size"))) 399 : ((t.Outlayer = {}), (t.Outlayer.Item = e(t.EvEmitter, t.getSize))); 400 })(window, function(t, e) { 401 "use strict"; 402 function i(t) { 403 for (var e in t) return !1; 404 return (e = null), !0; 405 } 406 function n(t, e) { 407 t && 408 ((this.element = t), 409 (this.layout = e), 410 (this.position = { x: 0, y: 0 }), 411 this._create()); 412 } 413 function o(t) { 414 return t.replace(/([A-Z])/g, function(t) { 415 return "-" + t.toLowerCase(); 416 }); 417 } 418 var r = document.documentElement.style, 419 s = "string" == typeof r.transition ? "transition" : "WebkitTransition", 420 a = "string" == typeof r.transform ? "transform" : "WebkitTransform", 421 h = { 422 WebkitTransition: "webkitTransitionEnd", 423 transition: "transitionend" 424 }[s], 425 u = { 426 transform: a, 427 transition: s, 428 transitionDuration: s + "Duration", 429 transitionProperty: s + "Property", 430 transitionDelay: s + "Delay" 431 }, 432 d = (n.prototype = Object.create(t.prototype)); 433 (d.constructor = n), 434 (d._create = function() { 435 (this._transn = { ingProperties: {}, clean: {}, onEnd: {} }), 436 this.css({ position: "absolute" }); 437 }), 438 (d.handleEvent = function(t) { 439 var e = "on" + t.type; 440 this[e] && this[e](t); 441 }), 442 (d.getSize = function() { 443 this.size = e(this.element); 444 }), 445 (d.css = function(t) { 446 var e = this.element.style; 447 for (var i in t) { 448 var n = u[i] || i; 449 e[n] = t[i]; 450 } 451 }), 452 (d.getPosition = function() { 453 var t = getComputedStyle(this.element), 454 e = this.layout._getOption("originLeft"), 455 i = this.layout._getOption("originTop"), 456 n = t[e ? "left" : "right"], 457 o = t[i ? "top" : "bottom"], 458 r = parseFloat(n), 459 s = parseFloat(o), 460 a = this.layout.size; 461 -1 != n.indexOf("%") && (r = (r / 100) * a.width), 462 -1 != o.indexOf("%") && (s = (s / 100) * a.height), 463 (r = isNaN(r) ? 0 : r),
464 (s = isNaN(s) ? 0 : s), 465 (r -= e ? a.paddingLeft : a.paddingRight), 466 (s -= i ? a.paddingTop : a.paddingBottom), 467 (this.position.x = r), 468 (this.position.y = s); 469 }), 470 (d.layoutPosition = function() { 471 var t = this.layout.size, 472 e = {}, 473 i = this.layout._getOption("originLeft"), 474 n = this.layout._getOption("originTop"), 475 o = i ? "paddingLeft" : "paddingRight", 476 r = i ? "left" : "right", 477 s = i ? "right" : "left", 478 a = this.position.x + t[o]; 479 (e[r] = this.getXValue(a)), (e[s] = ""); 480 var h = n ? "paddingTop" : "paddingBottom", 481 u = n ? "top" : "bottom", 482 d = n ? "bottom" : "top", 483 l = this.position.y + t[h]; 484 (e[u] = this.getYValue(l)), 485 (e[d] = ""), 486 this.css(e), 487 this.emitEvent("layout", [this]); 488 }), 489 (d.getXValue = function(t) { 490 var e = this.layout._getOption("horizontal"); 491 return this.layout.options.percentPosition && !e 492 ? (t / this.layout.size.width) * 100 + "%" 493 : t + "px"; 494 }), 495 (d.getYValue = function(t) { 496 var e = this.layout._getOption("horizontal"); 497 return this.layout.options.percentPosition && e 498 ? (t / this.layout.size.height) * 100 + "%" 499 : t + "px"; 500 }), 501 (d._transitionTo = function(t, e) { 502 this.getPosition(); 503 var i = this.position.x, 504 n = this.position.y, 505 o = t == this.position.x && e == this.position.y; 506 if ((this.setPosition(t, e), o && !this.isTransitioning)) 507 return void this.layoutPosition(); 508 var r = t - i, 509 s = e - n, 510 a = {}; 511 (a.transform = this.getTranslate(r, s)), 512 this.transition({ 513 to: a, 514 onTransitionEnd: { transform: this.layoutPosition }, 515 isCleaning: !0 516 }); 517 }), 518 (d.getTranslate = function(t, e) { 519 var i = this.layout._getOption("originLeft"), 520 n = this.layout._getOption("originTop"); 521 return ( 522 (t = i ? t : -t), 523 (e = n ? e : -e), 524 "translate3d(" + t + "px, " + e + "px, 0)" 525 ); 526 }), 527 (d.goTo = function(t, e) { 528 this.setPosition(t, e), this.layoutPosition(); 529 }), 530 (d.moveTo = d._transitionTo), 531 (d.setPosition = function(t, e) { 532 (this.position.x = parseFloat(t)), (this.position.y = parseFloat(e)); 533 }), 534 (d._nonTransition = function(t) { 535 this.css(t.to), t.isCleaning && this._removeStyles(t.to); 536 for (var e in t.onTransitionEnd) t.onTransitionEnd[e].call(this); 537 }), 538 (d.transition = function(t) { 539 if (!parseFloat(this.layout.options.transitionDuration)) 540 return void this._nonTransition(t); 541 var e = this._transn; 542 for (var i in t.onTransitionEnd) e.onEnd[i] = t.onTransitionEnd[i]; 543 for (i in t.to) 544 (e.ingProperties[i] = !0), t.isCleaning && (e.clean[i] = !0); 545 if (t.from) { 546 this.css(t.from); 547 var n = this.element.offsetHeight; 548 n = null; 549 } 550 this.enableTransition(t.to), 551 this.css(t.to), 552 (this.isTransitioning = !0); 553 }); 554 var l = "opacity," + o(a); 555 (d.enableTransition = function() { 556 if (!this.isTransitioning) { 557 var t = this.layout.options.transitionDuration; 558 (t = "number" == typeof t ? t + "ms" : t), 559 this.css({ 560 transitionProperty: l, 561 transitionDuration: t, 562 transitionDelay: this.staggerDelay || 0 563 }), 564 this.element.addEventListener(h, this, !1); 565 } 566 }), 567 (d.onwebkitTransitionEnd = function(t) { 568 this.ontransitionend(t); 569 }), 570 (d.onotransitionend = function(t) { 571 this.ontransitionend(t); 572 }); 573 var c = { "-webkit-transform": "transform" }; 574 (d.ontransitionend = function(t) { 575 if (t.target === this.element) { 576 var e = this._transn, 577 n = c[t.propertyName] || t.propertyName; 578 if ( 579 (delete e.ingProperties[n], 580 i(e.ingProperties) && this.disableTransition(), 581 n in e.clean && 582 ((this.element.style[t.propertyName] = ""), delete e.clean[n]), 583 n in e.onEnd) 584 ) { 585 var o = e.onEnd[n]; 586 o.call(this), delete e.onEnd[n]; 587 } 588 this.emitEvent("transitionEnd", [this]); 589 } 590 }), 591 (d.disableTransition = function() { 592 this.removeTransitionStyles(), 593 this.element.removeEventListener(h, this, !1), 594 (this.isTransitioning = !1); 595 }), 596 (d._removeStyles = function(t) { 597 var e = {}; 598 for (var i in t) e[i] = ""; 599 this.css(e); 600 }); 601 var f = { 602 transitionProperty: "", 603 transitionDuration: "", 604 transitionDelay: "" 605 }; 606 return ( 607 (d.removeTransitionStyles = function() { 608 this.css(f); 609 }), 610 (d.stagger = function(t) { 611 (t = isNaN(t) ? 0 : t), (this.staggerDelay = t + "ms"); 612 }), 613 (d.removeElem = function() { 614 this.element.parentNode.removeChild(this.element), 615 this.css({ display: "" }), 616 this.emitEvent("remove", [this]); 617 }), 618 (d.remove = function() { 619 return s && parseFloat(this.layout.options.transitionDuration) 620 ? (this.once("transitionEnd", function() { 621 this.removeElem(); 622 }), 623 void this.hide()) 624 : void this.removeElem(); 625 }), 626 (d.reveal = function() { 627 delete this.isHidden, this.css({ display: "" }); 628 var t = this.layout.options, 629 e = {}, 630 i = this.getHideRevealTransitionEndProperty("visibleStyle"); 631 (e[i] = this.onRevealTransitionEnd), 632 this.transition({ 633 from: t.hiddenStyle, 634 to: t.visibleStyle, 635 isCleaning: !0, 636 onTransitionEnd: e 637 }); 638 }), 639 (d.onRevealTransitionEnd = function() { 640 this.isHidden || this.emitEvent("reveal"); 641 }), 642 (d.getHideRevealTransitionEndProperty = function(t) { 643 var e = this.layout.options[t]; 644 if (e.opacity) return "opacity"; 645 for (var i in e) return i; 646 }), 647 (d.hide = function() { 648 (this.isHidden = !0), this.css({ display: "" }); 649 var t = this.layout.options, 650 e = {}, 651 i = this.getHideRevealTransitionEndProperty("hiddenStyle"); 652 (e[i] = this.onHideTransitionEnd), 653 this.transition({ 654 from: t.visibleStyle, 655 to: t.hiddenStyle, 656 isCleaning: !0, 657 onTransitionEnd: e 658 }); 659 }), 660 (d.onHideTransitionEnd = function() { 661 this.isHidden && 662 (this.css({ display: "none" }), this.emitEvent("hide")); 663 }), 664 (d.destroy = function() { 665 this.css({ 666 position: "", 667 left: "", 668 right: "", 669 top: "", 670 bottom: "", 671 transition: "", 672 transform: "" 673 }); 674 }), 675 n 676 ); 677 }), 678 (function(t, e) { 679 "use strict"; 680 "function" == typeof define && define.amd 681 ? define("outlayer/outlayer", [ 682 "ev-emitter/ev-emitter", 683 "get-size/get-size", 684 "fizzy-ui-utils/utils", 685 "./item" 686 ], function(i, n, o, r) { 687 return e(t, i, n, o, r); 688 }) 689 : "object" == typeof module && module.exports 690 ? (module.exports = e( 691 t, 692 require("ev-emitter"), 693 require("get-size"), 694 require("fizzy-ui-utils"), 695 require("./item") 696 )) 697 : (t.Outlayer = e( 698 t, 699 t.EvEmitter, 700 t.getSize, 701 t.fizzyUIUtils, 702 t.Outlayer.Item 703 )); 704 })(window, function(t, e, i, n, o) { 705 "use strict"; 706 function r(t, e) { 707 var i = n.getQueryElement(t); 708 if (!i) 709 return void ( 710 h && 711 h.error( 712 "Bad element for " + this.constructor.namespace + ": " + (i || t) 713 ) 714 ); 715 (this.element = i), 716 u && (this.$element = u(this.element)), 717 (this.options = n.extend({}, this.constructor.defaults)), 718 this.option(e); 719 var o = ++l; 720 (this.element.outlayerGUID = o), (c[o] = this), this._create(); 721 var r = this._getOption("initLayout"); 722 r && this.layout(); 723 } 724 function s(t) { 725 function e() { 726 t.apply(this, arguments); 727 } 728 return ( 729 (e.prototype = Object.create(t.prototype)), 730 (e.prototype.constructor = e), 731 e 732 ); 733 } 734 function a(t) { 735 if ("number" == typeof t) return t; 736 var e = t.match(/(^\d*\.?\d*)(\w*)/), 737 i = e && e[1], 738 n = e && e[2]; 739 if (!i.length) return 0; 740 i = parseFloat(i); 741 var o = m[n] || 1; 742 return i * o; 743 } 744 var h = t.console, 745 u = t.jQuery, 746 d = function() {}, 747 l = 0, 748 c = {}; 749 (r.namespace = "outlayer"), 750 (r.Item = o), 751 (r.defaults = { 752 containerStyle: { position: "relative" }, 753 initLayout: !0, 754 originLeft: !0, 755 originTop: !0, 756 resize: !0, 757 resizeContainer: !0, 758 transitionDuration: "0.4s", 759 hiddenStyle: { opacity: 0, transform: "scale(0.001)" }, 760 visibleStyle: { opacity: 1, transform: "scale(1)" } 761 }); 762 var f = r.prototype; 763 n.extend(f, e.prototype), 764 (f.option = function(t) { 765 n.extend(this.options, t); 766 }), 767 (f._getOption = function(t) { 768 var e = this.constructor.compatOptions[t]; 769 return e && void 0 !== this.options[e] 770 ? this.options[e] 771 : this.options[t]; 772 }), 773 (r.compatOptions = { 774 initLayout: "isInitLayout", 775 horizontal: "isHorizontal", 776 layoutInstant: "isLayoutInstant", 777 originLeft: "isOriginLeft", 778 originTop: "isOriginTop", 779 resize: "isResizeBound", 780 resizeContainer: "isResizingContainer" 781 }), 782 (f._create = function() { 783 this.reloadItems(), 784 (this.stamps = []), 785 this.stamp(this.options.stamp), 786 n.extend(this.element.style, this.options.containerStyle); 787 var t = this._getOption("resize"); 788 t && this.bindResize(); 789 }), 790 (f.reloadItems = function() { 791 this.items = this._itemize(this.element.children); 792 }), 793 (f._itemize = function(t) { 794 for ( 795 var e = this._filterFindItemElements(t), 796 i = this.constructor.Item, 797 n = [], 798 o = 0; 799 o < e.length; 800 o++ 801 ) { 802 var r = e[o], 803 s = new i(r, this); 804 n.push(s); 805 } 806 return n; 807 }), 808 (f._filterFindItemElements = function(t) { 809 return n.filterFindElements(t, this.options.itemSelector); 810 }), 811 (f.getItemElements = function() { 812 return this.items.map(function(t) { 813 return t.element; 814 }); 815 }), 816 (f.layout = function() { 817 this._resetLayout(), this._manageStamps(); 818 var t = this._getOption("layoutInstant"), 819 e = void 0 !== t ? t : !this._isLayoutInited; 820 this.layoutItems(this.items, e), (this._isLayoutInited = !0); 821 }), 822 (f._init = f.layout), 823 (f._resetLayout = function() {
824 this.getSize(); 825 }), 826 (f.getSize = function() { 827 this.size = i(this.element); 828 }), 829 (f._getMeasurement = function(t, e) { 830 var n, 831 o = this.options[t]; 832 o 833 ? ("string" == typeof o 834 ? (n = this.element.querySelector(o)) 835 : o instanceof HTMLElement && (n = o), 836 (this[t] = n ? i(n)[e] : o)) 837 : (this[t] = 0); 838 }), 839 (f.layoutItems = function(t, e) { 840 (t = this._getItemsForLayout(t)), 841 this._layoutItems(t, e), 842 this._postLayout(); 843 }), 844 (f._getItemsForLayout = function(t) { 845 return t.filter(function(t) { 846 return !t.isIgnored; 847 }); 848 }), 849 (f._layoutItems = function(t, e) { 850 if ((this._emitCompleteOnItems("layout", t), t && t.length)) { 851 var i = []; 852 t.forEach(function(t) { 853 var n = this._getItemLayoutPosition(t); 854 (n.item = t), (n.isInstant = e || t.isLayoutInstant), i.push(n); 855 }, this), 856 this._processLayoutQueue(i); 857 } 858 }), 859 (f._getItemLayoutPosition = function() { 860 return { x: 0, y: 0 }; 861 }), 862 (f._processLayoutQueue = function(t) { 863 this.updateStagger(), 864 t.forEach(function(t, e) { 865 this._positionItem(t.item, t.x, t.y, t.isInstant, e); 866 }, this); 867 }), 868 (f.updateStagger = function() { 869 var t = this.options.stagger; 870 return null === t || void 0 === t 871 ? void (this.stagger = 0) 872 : ((this.stagger = a(t)), this.stagger); 873 }), 874 (f._positionItem = function(t, e, i, n, o) { 875 n ? t.goTo(e, i) : (t.stagger(o * this.stagger), t.moveTo(e, i)); 876 }), 877 (f._postLayout = function() { 878 this.resizeContainer(); 879 }), 880 (f.resizeContainer = function() { 881 var t = this._getOption("resizeContainer"); 882 if (t) { 883 var e = this._getContainerSize(); 884 e && 885 (this._setContainerMeasure(e.width, !0), 886 this._setContainerMeasure(e.height, !1)); 887 } 888 }), 889 (f._getContainerSize = d), 890 (f._setContainerMeasure = function(t, e) { 891 if (void 0 !== t) { 892 var i = this.size; 893 i.isBorderBox && 894 (t += e 895 ? i.paddingLeft + 896 i.paddingRight + 897 i.borderLeftWidth + 898 i.borderRightWidth 899 : i.paddingBottom + 900 i.paddingTop + 901 i.borderTopWidth + 902 i.borderBottomWidth), 903 (t = Math.max(t, 0)), 904 (this.element.style[e ? "width" : "height"] = t + "px"); 905 } 906 }), 907 (f._emitCompleteOnItems = function(t, e) { 908 function i() { 909 o.dispatchEvent(t + "Complete", null, [e]); 910 } 911 function n() { 912 s++, s == r && i(); 913 } 914 var o = this, 915 r = e.length; 916 if (!e || !r) return void i(); 917 var s = 0; 918 e.forEach(function(e) { 919 e.once(t, n); 920 }); 921 }), 922 (f.dispatchEvent = function(t, e, i) { 923 var n = e ? [e].concat(i) : i; 924 if ((this.emitEvent(t, n), u)) 925 if (((this.$element = this.$element || u(this.element)), e)) { 926 var o = u.Event(e); 927 (o.type = t), this.$element.trigger(o, i); 928 } else this.$element.trigger(t, i); 929 }), 930 (f.ignore = function(t) { 931 var e = this.getItem(t); 932 e && (e.isIgnored = !0); 933 }), 934 (f.unignore = function(t) { 935 var e = this.getItem(t); 936 e && delete e.isIgnored; 937 }), 938 (f.stamp = function(t) { 939 (t = this._find(t)), 940 t && 941 ((this.stamps = this.stamps.concat(t)), 942 t.forEach(this.ignore, this)); 943 }), 944 (f.unstamp = function(t) { 945 (t = this._find(t)), 946 t && 947 t.forEach(function(t) { 948 n.removeFrom(this.stamps, t), this.unignore(t); 949 }, this); 950 }), 951 (f._find = function(t) { 952 return t 953 ? ("string" == typeof t && (t = this.element.querySelectorAll(t)), 954 (t = n.makeArray(t))) 955 : void 0; 956 }), 957 (f._manageStamps = function() { 958 this.stamps && 959 this.stamps.length &&
960 (this._getBoundingRect(), 961 this.stamps.forEach(this._manageStamp, this)); 962 }), 963 (f._getBoundingRect = function() { 964 var t = this.element.getBoundingClientRect(), 965 e = this.size; 966 this._boundingRect = { 967 left: t.left + e.paddingLeft + e.borderLeftWidth, 968 top: t.top + e.paddingTop + e.borderTopWidth, 969 right: t.right - (e.paddingRight + e.borderRightWidth), 970 bottom: t.bottom - (e.paddingBottom + e.borderBottomWidth) 971 }; 972 }), 973 (f._manageStamp = d), 974 (f._getElementOffset = function(t) { 975 var e = t.getBoundingClientRect(), 976 n = this._boundingRect, 977 o = i(t), 978 r = { 979 left: e.left - n.left - o.marginLeft, 980 top: e.top - n.top - o.marginTop, 981 right: n.right - e.right - o.marginRight, 982 bottom: n.bottom - e.bottom - o.marginBottom 983 }; 984 return r; 985 }), 986 (f.handleEvent = n.handleEvent), 987 (f.bindResize = function() { 988 t.addEventListener("resize", this), (this.isResizeBound = !0); 989 }), 990 (f.unbindResize = function() { 991 t.removeEventListener("resize", this), (this.isResizeBound = !1); 992 }), 993 (f.onresize = function() { 994 this.resize(); 995 }), 996 n.debounceMethod(r, "onresize", 100), 997 (f.resize = function() { 998 this.isResizeBound && this.needsResizeLayout() && this.layout(); 999 }), 1000 (f.needsResizeLayout = function() { 1001 var t = i(this.element), 1002 e = this.size && t; 1003 return e && t.innerWidth !== this.size.innerWidth; 1004 }), 1005 (f.addItems = function(t) { 1006 var e = this._itemize(t); 1007 return e.length && (this.items = this.items.concat(e)), e; 1008 }), 1009 (f.appended = function(t) { 1010 var e = this.addItems(t); 1011 e.length && (this.layoutItems(e, !0), this.reveal(e)); 1012 }), 1013 (f.prepended = function(t) { 1014 var e = this._itemize(t); 1015 if (e.length) { 1016 var i = this.items.slice(0); 1017 (this.items = e.concat(i)), 1018 this._resetLayout(), 1019 this._manageStamps(), 1020 this.layoutItems(e, !0), 1021 this.reveal(e), 1022 this.layoutItems(i); 1023 } 1024 }), 1025 (f.reveal = function(t) { 1026 if ((this._emitCompleteOnItems("reveal", t), t && t.length)) { 1027 var e = this.updateStagger(); 1028 t.forEach(function(t, i) { 1029 t.stagger(i * e), t.reveal(); 1030 }); 1031 } 1032 }), 1033 (f.hide = function(t) { 1034 if ((this._emitCompleteOnItems("hide", t), t && t.length)) { 1035 var e = this.updateStagger(); 1036 t.forEach(function(t, i) { 1037 t.stagger(i * e), t.hide(); 1038 }); 1039 } 1040 }), 1041 (f.revealItemElements = function(t) { 1042 var e = this.getItems(t); 1043 this.reveal(e); 1044 }), 1045 (f.hideItemElements = function(t) { 1046 var e = this.getItems(t); 1047 this.hide(e); 1048 }), 1049 (f.getItem = function(t) { 1050 for (var e = 0; e < this.items.length; e++) { 1051 var i = this.items[e]; 1052 if (i.element == t) return i; 1053 } 1054 }), 1055 (f.getItems = function(t) { 1056 t = n.makeArray(t); 1057 var e = []; 1058 return ( 1059 t.forEach(function(t) { 1060 var i = this.getItem(t); 1061 i && e.push(i); 1062 }, this), 1063 e 1064 ); 1065 }), 1066 (f.remove = function(t) { 1067 var e = this.getItems(t); 1068 this._emitCompleteOnItems("remove", e), 1069 e && 1070 e.length && 1071 e.forEach(function(t) { 1072 t.remove(), n.removeFrom(this.items, t); 1073 }, this); 1074 }), 1075 (f.destroy = function() { 1076 var t = this.element.style; 1077 (t.height = ""), 1078 (t.position = ""), 1079 (t.width = ""), 1080 this.items.forEach(function(t) { 1081 t.destroy(); 1082 }), 1083 this.unbindResize(); 1084 var e = this.element.outlayerGUID; 1085 delete c[e], 1086 delete this.element.outlayerGUID, 1087 u && u.removeData(this.element, this.constructor.namespace); 1088 }), 1089 (r.data = function(t) { 1090 t = n.getQueryElement(t); 1091 var e = t && t.outlayerGUID; 1092 return e && c[e]; 1093 }), 1094 (r.create = function(t, e) { 1095 var i = s(r); 1096 return ( 1097 (i.defaults = n.extend({}, r.defaults)), 1098 n.extend(i.defaults, e), 1099 (i.compatOptions = n.extend({}, r.compatOptions)), 1100 (i.namespace = t), 1101 (i.data = r.data), 1102 (i.Item = s(o)), 1103 n.htmlInit(i, t), 1104 u && u.bridget && u.bridget(t, i), 1105 i 1106 ); 1107 }); 1108 var m = { ms: 1, s: 1e3 }; 1109 return (r.Item = o), r; 1110 }), 1111 (function(t, e) { 1112 "function" == typeof define && define.amd 1113 ? define(["outlayer/outlayer", "get-size/get-size"], e) 1114 : "object" == typeof module && module.exports 1115 ? (module.exports = e(require("outlayer"), require("get-size"))) 1116 : (t.Masonry = e(t.Outlayer, t.getSize)); 1117 })(window, function(t, e) { 1118 var i = t.create("masonry"); 1119 i.compatOptions.fitWidth = "isFitWidth"; 1120 var n = i.prototype; 1121 return ( 1122 (n._resetLayout = function() {
1123 this.getSize(), 1124 this._getMeasurement("columnWidth", "outerWidth"), 1125 this._getMeasurement("gutter", "outerWidth"), 1126 this.measureColumns(), 1127 (this.colYs = []); 1128 for (var t = 0; t < this.cols; t++) this.colYs.push(0); 1129 (this.maxY = 0), (this.horizontalColIndex = 0); 1130 }), 1131 (n.measureColumns = function() { 1132 if ((this.getContainerWidth(), !this.columnWidth)) { 1133 var t = this.items[0], 1134 i = t && t.element; 1135 this.columnWidth = (i && e(i).outerWidth) || this.containerWidth; 1136 } 1137 var n = (this.columnWidth += this.gutter), 1138 o = this.containerWidth + this.gutter, 1139 r = o / n, 1140 s = n - (o % n), 1141 a = s && 1 > s ? "round" : "floor"; 1142 (r = Math[a](r)), (this.cols = Math.max(r, 1)); 1143 }), 1144 (n.getContainerWidth = function() { 1145 var t = this._getOption("fitWidth"), 1146 i = t ? this.element.parentNode : this.element, 1147 n = e(i); 1148 this.containerWidth = n && n.innerWidth; 1149 }), 1150 (n._getItemLayoutPosition = function(t) { 1151 t.getSize(); 1152 var e = t.size.outerWidth % this.columnWidth, 1153 i = e && 1 > e ? "round" : "ceil", 1154 n = Math[i](t.size.outerWidth / this.columnWidth); 1155 n = Math.min(n, this.cols); 1156 for ( 1157 var o = this.options.horizontalOrder 1158 ? "_getHorizontalColPosition" 1159 : "_getTopColPosition", 1160 r = this[o](n, t), 1161 s = { x: this.columnWidth * r.col, y: r.y }, 1162 a = r.y + t.size.outerHeight, 1163 h = n + r.col, 1164 u = r.col; 1165 h > u; 1166 u++ 1167 ) 1168 this.colYs[u] = a; 1169 return s; 1170 }), 1171 (n._getTopColPosition = function(t) { 1172 var e = this._getTopColGroup(t), 1173 i = Math.min.apply(Math, e); 1174 return { col: e.indexOf(i), y: i }; 1175 }), 1176 (n._getTopColGroup = function(t) { 1177 if (2 > t) return this.colYs; 1178 for (var e = [], i = this.cols + 1 - t, n = 0; i > n; n++) 1179 e[n] = this._getColGroupY(n, t); 1180 return e; 1181 }), 1182 (n._getColGroupY = function(t, e) { 1183 if (2 > e) return this.colYs[t]; 1184 var i = this.colYs.slice(t, t + e); 1185 return Math.max.apply(Math, i); 1186 }), 1187 (n._getHorizontalColPosition = function(t, e) { 1188 var i = this.horizontalColIndex % this.cols, 1189 n = t > 1 && i + t > this.cols; 1190 i = n ? 0 : i; 1191 var o = e.size.outerWidth && e.size.outerHeight; 1192 return ( 1193 (this.horizontalColIndex = o ? i + t : this.horizontalColIndex), 1194 { col: i, y: this._getColGroupY(i, t) } 1195 ); 1196 }), 1197 (n._manageStamp = function(t) { 1198 var i = e(t), 1199 n = this._getElementOffset(t), 1200 o = this._getOption("originLeft"), 1201 r = o ? n.left : n.right, 1202 s = r + i.outerWidth, 1203 a = Math.floor(r / this.columnWidth); 1204 a = Math.max(0, a); 1205 var h = Math.floor(s / this.columnWidth); 1206 (h -= s % this.columnWidth ? 0 : 1), (h = Math.min(this.cols - 1, h)); 1207 for ( 1208 var u = this._getOption("originTop"), 1209 d = (u ? n.top : n.bottom) + i.outerHeight, 1210 l = a; 1211 h >= l; 1212 l++ 1213 ) 1214 this.colYs[l] = Math.max(d, this.colYs[l]); 1215 }), 1216 (n._getContainerSize = function() { 1217 this.maxY = Math.max.apply(Math, this.colYs); 1218 var t = { height: this.maxY }; 1219 return ( 1220 this._getOption("fitWidth") && 1221 (t.width = this._getContainerFitWidth()), 1222 t 1223 ); 1224 }), 1225 (n._getContainerFitWidth = function() { 1226 for (var t = 0, e = this.cols; --e && 0 === this.colYs[e]; ) t++; 1227 return (this.cols - t) * this.columnWidth - this.gutter; 1228 }), 1229 (n.needsResizeLayout = function() { 1230 var t = this.containerWidth; 1231 return this.getContainerWidth(), t != this.containerWidth; 1232 }), 1233 i 1234 ); 1235 });
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.