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( 281 "fizzy-ui-utils/utils", 282 ["desandro-matches-selector/matches-selector"], 283 function (i) { 284 return e(t, i); 285 } 286 ) 287 : "object" == typeof module && module.exports 288 ? (module.exports = e(t, require("desandro-matches-selector"))) 289 : (t.fizzyUIUtils = e(t, t.matchesSelector)); 290 })(window, function (t, e) { 291 var i = {}; 292 (i.extend = function (t, e) { 293 for (var i in e) t[i] = e[i]; 294 return t; 295 }), 296 (i.modulo = function (t, e) { 297 return ((t % e) + e) % e; 298 }); 299 var n = Array.prototype.slice; 300 (i.makeArray = function (t) { 301 if (Array.isArray(t)) return t; 302 if (null === t || void 0 === t) return []; 303 var e = "object" == typeof t && "number" == typeof t.length; 304 return e ? n.call(t) : [t]; 305 }), 306 (i.removeFrom = function (t, e) { 307 var i = t.indexOf(e); 308 -1 != i && t.splice(i, 1); 309 }), 310 (i.getParent = function (t, i) { 311 for (; t.parentNode && t != document.body; ) 312 if (((t = t.parentNode), e(t, i))) return t; 313 }), 314 (i.getQueryElement = function (t) { 315 return "string" == typeof t ? document.querySelector(t) : t; 316 }), 317 (i.handleEvent = function (t) { 318 var e = "on" + t.type; 319 this[e] && this[e](t); 320 }), 321 (i.filterFindElements = function (t, n) { 322 t = i.makeArray(t); 323 var o = []; 324 return ( 325 t.forEach(function (t) { 326 if (t instanceof HTMLElement) { 327 if (!n) return void o.push(t); 328 e(t, n) && o.push(t); 329 for (var i = t.querySelectorAll(n), r = 0; r < i.length; r++) 330 o.push(i[r]); 331 } 332 }), 333 o 334 ); 335 }), 336 (i.debounceMethod = function (t, e, i) { 337 i = i || 100; 338 var n = t.prototype[e], 339 o = e + "Timeout"; 340 t.prototype[e] = function () { 341 var t = this[o]; 342 clearTimeout(t); 343 var e = arguments, 344 r = this; 345 this[o] = setTimeout(function () { 346 n.apply(r, e), delete r[o]; 347 }, i); 348 }; 349 }), 350 (i.docReady = function (t) { 351 var e = document.readyState; 352 "complete" == e || "interactive" == e 353 ? setTimeout(t) 354 : document.addEventListener("DOMContentLoaded", t); 355 }), 356 (i.toDashed = function (t) { 357 return t 358 .replace(/(.)([A-Z])/g, function (t, e, i) { 359 return e + "-" + i; 360 }) 361 .toLowerCase(); 362 }); 363 var o = t.console; 364 return ( 365 (i.htmlInit = function (e, n) { 366 i.docReady(function () { 367 var r = i.toDashed(n), 368 s = "data-" + r, 369 a = document.querySelectorAll("[" + s + "]"), 370 h = document.querySelectorAll(".js-" + r), 371 u = i.makeArray(a).concat(i.makeArray(h)), 372 d = s + "-options", 373 l = t.jQuery; 374 u.forEach(function (t) { 375 var i, 376 r = t.getAttribute(s) || t.getAttribute(d); 377 try { 378 i = r && JSON.parse(r); 379 } catch (a) { 380 return void ( 381 o && 382 o.error("Error parsing " + s + " on " + t.className + ": " + a) 383 ); 384 } 385 var h = new e(t, i); 386 l && l.data(t, n, h); 387 }); 388 }); 389 }), 390 i 391 ); 392 }), 393 (function (t, e) { 394 "function" == typeof define && define.amd 395 ? define( 396 "outlayer/item", 397 ["ev-emitter/ev-emitter", "get-size/get-size"], 398 e 399 ) 400 : "object" == typeof module && module.exports 401 ? (module.exports = e(require("ev-emitter"), require("get-size"))) 402 : ((t.Outlayer = {}), (t.Outlayer.Item = e(t.EvEmitter, t.getSize))); 403 })(window, function (t, e) { 404 "use strict"; 405 function i(t) { 406 for (var e in t) return !1; 407 return (e = null), !0; 408 } 409 function n(t, e) { 410 t && 411 ((this.element = t), 412 (this.layout = e), 413 (this.position = { x: 0, y: 0 }), 414 this._create()); 415 } 416 function o(t) { 417 return t.replace(/([A-Z])/g, function (t) { 418 return "-" + t.toLowerCase(); 419 }); 420 } 421 var r = document.documentElement.style, 422 s = "string" == typeof r.transition ? "transition" : "WebkitTransition", 423 a = "string" == typeof r.transform ? "transform" : "WebkitTransform", 424 h = { 425 WebkitTransition: "webkitTransitionEnd", 426 transition: "transitionend", 427 }[s], 428 u = { 429 transform: a, 430 transition: s, 431 transitionDuration: s + "Duration", 432 transitionProperty: s + "Property", 433 transitionDelay: s + "Delay", 434 }, 435 d = (n.prototype = Object.create(t.prototype)); 436 (d.constructor = n), 437 (d._create = function () { 438 (this._transn = { ingProperties: {}, clean: {}, onEnd: {} }), 439 this.css({ position: "absolute" }); 440 }), 441 (d.handleEvent = function (t) { 442 var e = "on" + t.type; 443 this[e] && this[e](t); 444 }), 445 (d.getSize = function () { 446 this.size = e(this.element); 447 }), 448 (d.css = function (t) { 449 var e = this.element.style; 450 for (var i in t) { 451 var n = u[i] || i; 452 e[n] = t[i]; 453 } 454 }), 455 (d.getPosition = function () { 456 var t = getComputedStyle(this.element), 457 e = this.layout._getOption("originLeft"), 458 i = this.layout._getOption("originTop"), 459 n = t[e ? "left" : "right"], 460 o = t[i ? "top" : "bottom"], 461 r = parseFloat(n), 462 s = parseFloat(o), 463 a = this.layout.size; 464 -1 != n.indexOf("%") && (r = (r / 100) * a.width), 465 -1 != o.indexOf("%") && (s = (s / 100) * a.height), 466 (r = isNaN(r) ? 0 : r),
467 (s = isNaN(s) ? 0 : s), 468 (r -= e ? a.paddingLeft : a.paddingRight), 469 (s -= i ? a.paddingTop : a.paddingBottom), 470 (this.position.x = r), 471 (this.position.y = s); 472 }), 473 (d.layoutPosition = function () { 474 var t = this.layout.size, 475 e = {}, 476 i = this.layout._getOption("originLeft"), 477 n = this.layout._getOption("originTop"), 478 o = i ? "paddingLeft" : "paddingRight", 479 r = i ? "left" : "right", 480 s = i ? "right" : "left", 481 a = this.position.x + t[o]; 482 (e[r] = this.getXValue(a)), (e[s] = ""); 483 var h = n ? "paddingTop" : "paddingBottom", 484 u = n ? "top" : "bottom", 485 d = n ? "bottom" : "top", 486 l = this.position.y + t[h]; 487 (e[u] = this.getYValue(l)), 488 (e[d] = ""), 489 this.css(e), 490 this.emitEvent("layout", [this]); 491 }), 492 (d.getXValue = function (t) { 493 var e = this.layout._getOption("horizontal"); 494 return this.layout.options.percentPosition && !e 495 ? (t / this.layout.size.width) * 100 + "%" 496 : t + "px"; 497 }), 498 (d.getYValue = function (t) { 499 var e = this.layout._getOption("horizontal"); 500 return this.layout.options.percentPosition && e 501 ? (t / this.layout.size.height) * 100 + "%" 502 : t + "px"; 503 }), 504 (d._transitionTo = function (t, e) { 505 this.getPosition(); 506 var i = this.position.x, 507 n = this.position.y, 508 o = t == this.position.x && e == this.position.y; 509 if ((this.setPosition(t, e), o && !this.isTransitioning)) 510 return void this.layoutPosition(); 511 var r = t - i, 512 s = e - n, 513 a = {}; 514 (a.transform = this.getTranslate(r, s)), 515 this.transition({ 516 to: a, 517 onTransitionEnd: { transform: this.layoutPosition }, 518 isCleaning: !0, 519 }); 520 }), 521 (d.getTranslate = function (t, e) { 522 var i = this.layout._getOption("originLeft"), 523 n = this.layout._getOption("originTop"); 524 return ( 525 (t = i ? t : -t), 526 (e = n ? e : -e), 527 "translate3d(" + t + "px, " + e + "px, 0)" 528 ); 529 }), 530 (d.goTo = function (t, e) { 531 this.setPosition(t, e), this.layoutPosition(); 532 }), 533 (d.moveTo = d._transitionTo), 534 (d.setPosition = function (t, e) { 535 (this.position.x = parseFloat(t)), (this.position.y = parseFloat(e)); 536 }), 537 (d._nonTransition = function (t) { 538 this.css(t.to), t.isCleaning && this._removeStyles(t.to); 539 for (var e in t.onTransitionEnd) t.onTransitionEnd[e].call(this); 540 }), 541 (d.transition = function (t) { 542 if (!parseFloat(this.layout.options.transitionDuration)) 543 return void this._nonTransition(t); 544 var e = this._transn; 545 for (var i in t.onTransitionEnd) e.onEnd[i] = t.onTransitionEnd[i]; 546 for (i in t.to) 547 (e.ingProperties[i] = !0), t.isCleaning && (e.clean[i] = !0); 548 if (t.from) { 549 this.css(t.from); 550 var n = this.element.offsetHeight; 551 n = null; 552 } 553 this.enableTransition(t.to), 554 this.css(t.to), 555 (this.isTransitioning = !0); 556 }); 557 var l = "opacity," + o(a); 558 (d.enableTransition = function () { 559 if (!this.isTransitioning) { 560 var t = this.layout.options.transitionDuration; 561 (t = "number" == typeof t ? t + "ms" : t), 562 this.css({ 563 transitionProperty: l, 564 transitionDuration: t, 565 transitionDelay: this.staggerDelay || 0, 566 }), 567 this.element.addEventListener(h, this, !1); 568 } 569 }), 570 (d.onwebkitTransitionEnd = function (t) { 571 this.ontransitionend(t); 572 }), 573 (d.onotransitionend = function (t) { 574 this.ontransitionend(t); 575 }); 576 var c = { "-webkit-transform": "transform" }; 577 (d.ontransitionend = function (t) { 578 if (t.target === this.element) { 579 var e = this._transn, 580 n = c[t.propertyName] || t.propertyName; 581 if ( 582 (delete e.ingProperties[n], 583 i(e.ingProperties) && this.disableTransition(), 584 n in e.clean && 585 ((this.element.style[t.propertyName] = ""), delete e.clean[n]), 586 n in e.onEnd) 587 ) { 588 var o = e.onEnd[n];
589 o.call(this), delete e.onEnd[n]; 590 } 591 this.emitEvent("transitionEnd", [this]); 592 } 593 }), 594 (d.disableTransition = function () { 595 this.removeTransitionStyles(), 596 this.element.removeEventListener(h, this, !1), 597 (this.isTransitioning = !1); 598 }), 599 (d._removeStyles = function (t) { 600 var e = {}; 601 for (var i in t) e[i] = ""; 602 this.css(e); 603 }); 604 var f = { 605 transitionProperty: "", 606 transitionDuration: "", 607 transitionDelay: "", 608 }; 609 return ( 610 (d.removeTransitionStyles = function () { 611 this.css(f); 612 }), 613 (d.stagger = function (t) { 614 (t = isNaN(t) ? 0 : t), (this.staggerDelay = t + "ms"); 615 }), 616 (d.removeElem = function () { 617 this.element.parentNode.removeChild(this.element), 618 this.css({ display: "" }), 619 this.emitEvent("remove", [this]); 620 }), 621 (d.remove = function () { 622 return s && parseFloat(this.layout.options.transitionDuration) 623 ? (this.once("transitionEnd", function () { 624 this.removeElem(); 625 }), 626 void this.hide()) 627 : void this.removeElem(); 628 }), 629 (d.reveal = function () { 630 delete this.isHidden, this.css({ display: "" }); 631 var t = this.layout.options, 632 e = {}, 633 i = this.getHideRevealTransitionEndProperty("visibleStyle"); 634 (e[i] = this.onRevealTransitionEnd), 635 this.transition({ 636 from: t.hiddenStyle, 637 to: t.visibleStyle, 638 isCleaning: !0, 639 onTransitionEnd: e, 640 }); 641 }), 642 (d.onRevealTransitionEnd = function () { 643 this.isHidden || this.emitEvent("reveal"); 644 }), 645 (d.getHideRevealTransitionEndProperty = function (t) { 646 var e = this.layout.options[t]; 647 if (e.opacity) return "opacity"; 648 for (var i in e) return i; 649 }), 650 (d.hide = function () { 651 (this.isHidden = !0), this.css({ display: "" }); 652 var t = this.layout.options, 653 e = {}, 654 i = this.getHideRevealTransitionEndProperty("hiddenStyle"); 655 (e[i] = this.onHideTransitionEnd), 656 this.transition({ 657 from: t.visibleStyle, 658 to: t.hiddenStyle, 659 isCleaning: !0, 660 onTransitionEnd: e, 661 }); 662 }), 663 (d.onHideTransitionEnd = function () { 664 this.isHidden && 665 (this.css({ display: "none" }), this.emitEvent("hide")); 666 }), 667 (d.destroy = function () { 668 this.css({ 669 position: "", 670 left: "", 671 right: "", 672 top: "", 673 bottom: "", 674 transition: "", 675 transform: "", 676 }); 677 }), 678 n 679 ); 680 }), 681 (function (t, e) { 682 "use strict"; 683 "function" == typeof define && define.amd 684 ? define( 685 "outlayer/outlayer", 686 [ 687 "ev-emitter/ev-emitter", 688 "get-size/get-size", 689 "fizzy-ui-utils/utils", 690 "./item", 691 ], 692 function (i, n, o, r) { 693 return e(t, i, n, o, r); 694 } 695 ) 696 : "object" == typeof module && module.exports 697 ? (module.exports = e( 698 t, 699 require("ev-emitter"), 700 require("get-size"), 701 require("fizzy-ui-utils"), 702 require("./item") 703 )) 704 : (t.Outlayer = e( 705 t, 706 t.EvEmitter, 707 t.getSize, 708 t.fizzyUIUtils, 709 t.Outlayer.Item 710 )); 711 })(window, function (t, e, i, n, o) { 712 "use strict"; 713 function r(t, e) { 714 var i = n.getQueryElement(t); 715 if (!i) 716 return void ( 717 h && 718 h.error( 719 "Bad element for " + this.constructor.namespace + ": " + (i || t) 720 ) 721 ); 722 (this.element = i), 723 u && (this.$element = u(this.element)), 724 (this.options = n.extend({}, this.constructor.defaults)), 725 this.option(e); 726 var o = ++l; 727 (this.element.outlayerGUID = o), (c[o] = this), this._create(); 728 var r = this._getOption("initLayout"); 729 r && this.layout(); 730 } 731 function s(t) { 732 function e() { 733 t.apply(this, arguments); 734 } 735 return ( 736 (e.prototype = Object.create(t.prototype)), 737 (e.prototype.constructor = e), 738 e 739 ); 740 } 741 function a(t) { 742 if ("number" == typeof t) return t; 743 var e = t.match(/(^\d*\.?\d*)(\w*)/), 744 i = e && e[1], 745 n = e && e[2]; 746 if (!i.length) return 0; 747 i = parseFloat(i); 748 var o = m[n] || 1; 749 return i * o; 750 } 751 var h = t.console, 752 u = t.jQuery, 753 d = function () {}, 754 l = 0, 755 c = {}; 756 (r.namespace = "outlayer"), 757 (r.Item = o), 758 (r.defaults = { 759 containerStyle: { position: "relative" }, 760 initLayout: !0, 761 originLeft: !0, 762 originTop: !0, 763 resize: !0, 764 resizeContainer: !0, 765 transitionDuration: "0.4s", 766 hiddenStyle: { opacity: 0, transform: "scale(0.001)" }, 767 visibleStyle: { opacity: 1, transform: "scale(1)" }, 768 }); 769 var f = r.prototype; 770 n.extend(f, e.prototype), 771 (f.option = function (t) { 772 n.extend(this.options, t); 773 }), 774 (f._getOption = function (t) { 775 var e = this.constructor.compatOptions[t]; 776 return e && void 0 !== this.options[e] 777 ? this.options[e] 778 : this.options[t]; 779 }), 780 (r.compatOptions = { 781 initLayout: "isInitLayout", 782 horizontal: "isHorizontal", 783 layoutInstant: "isLayoutInstant", 784 originLeft: "isOriginLeft", 785 originTop: "isOriginTop", 786 resize: "isResizeBound", 787 resizeContainer: "isResizingContainer", 788 }), 789 (f._create = function () { 790 this.reloadItems(), 791 (this.stamps = []), 792 this.stamp(this.options.stamp), 793 n.extend(this.element.style, this.options.containerStyle); 794 var t = this._getOption("resize"); 795 t && this.bindResize(); 796 }), 797 (f.reloadItems = function () { 798 this.items = this._itemize(this.element.children); 799 }), 800 (f._itemize = function (t) { 801 for ( 802 var e = this._filterFindItemElements(t), 803 i = this.constructor.Item, 804 n = [], 805 o = 0; 806 o < e.length; 807 o++ 808 ) { 809 var r = e[o], 810 s = new i(r, this); 811 n.push(s); 812 } 813 return n; 814 }), 815 (f._filterFindItemElements = function (t) { 816 return n.filterFindElements(t, this.options.itemSelector); 817 }), 818 (f.getItemElements = function () { 819 return this.items.map(function (t) { 820 return t.element; 821 }); 822 }), 823 (f.layout = function () { 824 this._resetLayout(), this._manageStamps(); 825 var t = this._getOption("layoutInstant"), 826 e = void 0 !== t ? t : !this._isLayoutInited; 827 this.layoutItems(this.items, e), (this._isLayoutInited = !0);
828 }), 829 (f._init = f.layout), 830 (f._resetLayout = function () { 831 this.getSize(); 832 }), 833 (f.getSize = function () { 834 this.size = i(this.element); 835 }), 836 (f._getMeasurement = function (t, e) { 837 var n, 838 o = this.options[t]; 839 o 840 ? ("string" == typeof o 841 ? (n = this.element.querySelector(o)) 842 : o instanceof HTMLElement && (n = o), 843 (this[t] = n ? i(n)[e] : o)) 844 : (this[t] = 0); 845 }), 846 (f.layoutItems = function (t, e) { 847 (t = this._getItemsForLayout(t)), 848 this._layoutItems(t, e), 849 this._postLayout(); 850 }), 851 (f._getItemsForLayout = function (t) { 852 return t.filter(function (t) { 853 return !t.isIgnored; 854 }); 855 }), 856 (f._layoutItems = function (t, e) { 857 if ((this._emitCompleteOnItems("layout", t), t && t.length)) { 858 var i = []; 859 t.forEach(function (t) { 860 var n = this._getItemLayoutPosition(t); 861 (n.item = t), (n.isInstant = e || t.isLayoutInstant), i.push(n); 862 }, this), 863 this._processLayoutQueue(i); 864 } 865 }), 866 (f._getItemLayoutPosition = function () { 867 return { x: 0, y: 0 }; 868 }), 869 (f._processLayoutQueue = function (t) { 870 this.updateStagger(), 871 t.forEach(function (t, e) { 872 this._positionItem(t.item, t.x, t.y, t.isInstant, e); 873 }, this); 874 }), 875 (f.updateStagger = function () { 876 var t = this.options.stagger; 877 return null === t || void 0 === t 878 ? void (this.stagger = 0) 879 : ((this.stagger = a(t)), this.stagger); 880 }), 881 (f._positionItem = function (t, e, i, n, o) { 882 n ? t.goTo(e, i) : (t.stagger(o * this.stagger), t.moveTo(e, i)); 883 }), 884 (f._postLayout = function () { 885 this.resizeContainer(); 886 }), 887 (f.resizeContainer = function () { 888 var t = this._getOption("resizeContainer"); 889 if (t) { 890 var e = this._getContainerSize(); 891 e && 892 (this._setContainerMeasure(e.width, !0), 893 this._setContainerMeasure(e.height, !1)); 894 } 895 }), 896 (f._getContainerSize = d), 897 (f._setContainerMeasure = function (t, e) { 898 if (void 0 !== t) { 899 var i = this.size; 900 i.isBorderBox && 901 (t += e 902 ? i.paddingLeft + 903 i.paddingRight + 904 i.borderLeftWidth + 905 i.borderRightWidth 906 : i.paddingBottom + 907 i.paddingTop + 908 i.borderTopWidth + 909 i.borderBottomWidth), 910 (t = Math.max(t, 0)), 911 (this.element.style[e ? "width" : "height"] = t + "px"); 912 } 913 }), 914 (f._emitCompleteOnItems = function (t, e) { 915 function i() { 916 o.dispatchEvent(t + "Complete", null, [e]); 917 } 918 function n() { 919 s++, s == r && i(); 920 } 921 var o = this, 922 r = e.length; 923 if (!e || !r) return void i(); 924 var s = 0; 925 e.forEach(function (e) { 926 e.once(t, n); 927 }); 928 }), 929 (f.dispatchEvent = function (t, e, i) { 930 var n = e ? [e].concat(i) : i; 931 if ((this.emitEvent(t, n), u)) 932 if (((this.$element = this.$element || u(this.element)), e)) { 933 var o = u.Event(e); 934 (o.type = t), this.$element.trigger(o, i); 935 } else this.$element.trigger(t, i); 936 }), 937 (f.ignore = function (t) { 938 var e = this.getItem(t); 939 e && (e.isIgnored = !0); 940 }), 941 (f.unignore = function (t) { 942 var e = this.getItem(t); 943 e && delete e.isIgnored; 944 }), 945 (f.stamp = function (t) { 946 (t = this._find(t)), 947 t && 948 ((this.stamps = this.stamps.concat(t)), 949 t.forEach(this.ignore, this)); 950 }), 951 (f.unstamp = function (t) { 952 (t = this._find(t)), 953 t && 954 t.forEach(function (t) { 955 n.removeFrom(this.stamps, t), this.unignore(t); 956 }, this); 957 }), 958 (f._find = function (t) { 959 return t 960 ? ("string" == typeof t && (t = this.element.querySelectorAll(t)), 961 (t = n.makeArray(t))) 962 : void 0; 963 }), 964 (f._manageStamps = function () { 965 this.stamps && 966 this.stamps.length &&
967 (this._getBoundingRect(), 968 this.stamps.forEach(this._manageStamp, this)); 969 }), 970 (f._getBoundingRect = function () { 971 var t = this.element.getBoundingClientRect(), 972 e = this.size; 973 this._boundingRect = { 974 left: t.left + e.paddingLeft + e.borderLeftWidth, 975 top: t.top + e.paddingTop + e.borderTopWidth, 976 right: t.right - (e.paddingRight + e.borderRightWidth), 977 bottom: t.bottom - (e.paddingBottom + e.borderBottomWidth), 978 }; 979 }), 980 (f._manageStamp = d), 981 (f._getElementOffset = function (t) { 982 var e = t.getBoundingClientRect(), 983 n = this._boundingRect, 984 o = i(t), 985 r = { 986 left: e.left - n.left - o.marginLeft, 987 top: e.top - n.top - o.marginTop, 988 right: n.right - e.right - o.marginRight, 989 bottom: n.bottom - e.bottom - o.marginBottom, 990 }; 991 return r; 992 }), 993 (f.handleEvent = n.handleEvent), 994 (f.bindResize = function () { 995 t.addEventListener("resize", this), (this.isResizeBound = !0); 996 }), 997 (f.unbindResize = function () { 998 t.removeEventListener("resize", this), (this.isResizeBound = !1); 999 }), 1000 (f.onresize = function () { 1001 this.resize(); 1002 }), 1003 n.debounceMethod(r, "onresize", 100), 1004 (f.resize = function () { 1005 this.isResizeBound && this.needsResizeLayout() && this.layout(); 1006 }), 1007 (f.needsResizeLayout = function () { 1008 var t = i(this.element), 1009 e = this.size && t; 1010 return e && t.innerWidth !== this.size.innerWidth; 1011 }), 1012 (f.addItems = function (t) { 1013 var e = this._itemize(t); 1014 return e.length && (this.items = this.items.concat(e)), e; 1015 }), 1016 (f.appended = function (t) { 1017 var e = this.addItems(t); 1018 e.length && (this.layoutItems(e, !0), this.reveal(e)); 1019 }), 1020 (f.prepended = function (t) { 1021 var e = this._itemize(t); 1022 if (e.length) { 1023 var i = this.items.slice(0); 1024 (this.items = e.concat(i)), 1025 this._resetLayout(), 1026 this._manageStamps(), 1027 this.layoutItems(e, !0), 1028 this.reveal(e), 1029 this.layoutItems(i); 1030 } 1031 }), 1032 (f.reveal = function (t) { 1033 if ((this._emitCompleteOnItems("reveal", t), t && t.length)) { 1034 var e = this.updateStagger(); 1035 t.forEach(function (t, i) { 1036 t.stagger(i * e), t.reveal(); 1037 }); 1038 } 1039 }), 1040 (f.hide = function (t) { 1041 if ((this._emitCompleteOnItems("hide", t), t && t.length)) { 1042 var e = this.updateStagger(); 1043 t.forEach(function (t, i) { 1044 t.stagger(i * e), t.hide(); 1045 }); 1046 } 1047 }), 1048 (f.revealItemElements = function (t) { 1049 var e = this.getItems(t); 1050 this.reveal(e); 1051 }), 1052 (f.hideItemElements = function (t) { 1053 var e = this.getItems(t); 1054 this.hide(e); 1055 }), 1056 (f.getItem = function (t) { 1057 for (var e = 0; e < this.items.length; e++) { 1058 var i = this.items[e]; 1059 if (i.element == t) return i; 1060 } 1061 }), 1062 (f.getItems = function (t) { 1063 t = n.makeArray(t); 1064 var e = []; 1065 return ( 1066 t.forEach(function (t) { 1067 var i = this.getItem(t); 1068 i && e.push(i); 1069 }, this), 1070 e 1071 ); 1072 }), 1073 (f.remove = function (t) { 1074 var e = this.getItems(t); 1075 this._emitCompleteOnItems("remove", e), 1076 e && 1077 e.length && 1078 e.forEach(function (t) { 1079 t.remove(), n.removeFrom(this.items, t); 1080 }, this); 1081 }), 1082 (f.destroy = function () { 1083 var t = this.element.style; 1084 (t.height = ""), 1085 (t.position = ""), 1086 (t.width = ""), 1087 this.items.forEach(function (t) { 1088 t.destroy(); 1089 }), 1090 this.unbindResize(); 1091 var e = this.element.outlayerGUID; 1092 delete c[e], 1093 delete this.element.outlayerGUID, 1094 u && u.removeData(this.element, this.constructor.namespace); 1095 }), 1096 (r.data = function (t) { 1097 t = n.getQueryElement(t); 1098 var e = t && t.outlayerGUID; 1099 return e && c[e]; 1100 }), 1101 (r.create = function (t, e) { 1102 var i = s(r); 1103 return ( 1104 (i.defaults = n.extend({}, r.defaults)), 1105 n.extend(i.defaults, e), 1106 (i.compatOptions = n.extend({}, r.compatOptions)), 1107 (i.namespace = t), 1108 (i.data = r.data), 1109 (i.Item = s(o)), 1110 n.htmlInit(i, t), 1111 u && u.bridget && u.bridget(t, i), 1112 i 1113 ); 1114 }); 1115 var m = { ms: 1, s: 1e3 }; 1116 return (r.Item = o), r; 1117 }), 1118 (function (t, e) { 1119 "function" == typeof define && define.amd 1120 ? define(["outlayer/outlayer", "get-size/get-size"], e) 1121 : "object" == typeof module && module.exports 1122 ? (module.exports = e(require("outlayer"), require("get-size"))) 1123 : (t.Masonry = e(t.Outlayer, t.getSize)); 1124 })(window, function (t, e) { 1125 var i = t.create("masonry"); 1126 i.compatOptions.fitWidth = "isFitWidth"; 1127 var n = i.prototype; 1128 return ( 1129 (n._resetLayout = function () {
1130 this.getSize(), 1131 this._getMeasurement("columnWidth", "outerWidth"), 1132 this._getMeasurement("gutter", "outerWidth"), 1133 this.measureColumns(), 1134 (this.colYs = []); 1135 for (var t = 0; t < this.cols; t++) this.colYs.push(0); 1136 (this.maxY = 0), (this.horizontalColIndex = 0); 1137 }), 1138 (n.measureColumns = function () { 1139 if ((this.getContainerWidth(), !this.columnWidth)) { 1140 var t = this.items[0], 1141 i = t && t.element; 1142 this.columnWidth = (i && e(i).outerWidth) || this.containerWidth; 1143 } 1144 var n = (this.columnWidth += this.gutter), 1145 o = this.containerWidth + this.gutter, 1146 r = o / n, 1147 s = n - (o % n), 1148 a = s && 1 > s ? "round" : "floor"; 1149 (r = Math[a](r)), (this.cols = Math.max(r, 1)); 1150 }), 1151 (n.getContainerWidth = function () { 1152 var t = this._getOption("fitWidth"), 1153 i = t ? this.element.parentNode : this.element, 1154 n = e(i); 1155 this.containerWidth = n && n.innerWidth; 1156 }), 1157 (n._getItemLayoutPosition = function (t) { 1158 t.getSize(); 1159 var e = t.size.outerWidth % this.columnWidth, 1160 i = e && 1 > e ? "round" : "ceil", 1161 n = Math[i](t.size.outerWidth / this.columnWidth); 1162 n = Math.min(n, this.cols); 1163 for ( 1164 var o = this.options.horizontalOrder 1165 ? "_getHorizontalColPosition" 1166 : "_getTopColPosition", 1167 r = this[o](n, t), 1168 s = { x: this.columnWidth * r.col, y: r.y }, 1169 a = r.y + t.size.outerHeight, 1170 h = n + r.col, 1171 u = r.col; 1172 h > u; 1173 u++ 1174 ) 1175 this.colYs[u] = a; 1176 return s; 1177 }), 1178 (n._getTopColPosition = function (t) { 1179 var e = this._getTopColGroup(t), 1180 i = Math.min.apply(Math, e); 1181 return { col: e.indexOf(i), y: i }; 1182 }), 1183 (n._getTopColGroup = function (t) { 1184 if (2 > t) return this.colYs; 1185 for (var e = [], i = this.cols + 1 - t, n = 0; i > n; n++) 1186 e[n] = this._getColGroupY(n, t); 1187 return e; 1188 }), 1189 (n._getColGroupY = function (t, e) { 1190 if (2 > e) return this.colYs[t]; 1191 var i = this.colYs.slice(t, t + e); 1192 return Math.max.apply(Math, i); 1193 }), 1194 (n._getHorizontalColPosition = function (t, e) { 1195 var i = this.horizontalColIndex % this.cols, 1196 n = t > 1 && i + t > this.cols; 1197 i = n ? 0 : i; 1198 var o = e.size.outerWidth && e.size.outerHeight; 1199 return ( 1200 (this.horizontalColIndex = o ? i + t : this.horizontalColIndex), 1201 { col: i, y: this._getColGroupY(i, t) } 1202 ); 1203 }), 1204 (n._manageStamp = function (t) { 1205 var i = e(t), 1206 n = this._getElementOffset(t), 1207 o = this._getOption("originLeft"), 1208 r = o ? n.left : n.right, 1209 s = r + i.outerWidth, 1210 a = Math.floor(r / this.columnWidth); 1211 a = Math.max(0, a); 1212 var h = Math.floor(s / this.columnWidth); 1213 (h -= s % this.columnWidth ? 0 : 1), (h = Math.min(this.cols - 1, h)); 1214 for ( 1215 var u = this._getOption("originTop"), 1216 d = (u ? n.top : n.bottom) + i.outerHeight, 1217 l = a; 1218 h >= l; 1219 l++ 1220 ) 1221 this.colYs[l] = Math.max(d, this.colYs[l]); 1222 }), 1223 (n._getContainerSize = function () { 1224 this.maxY = Math.max.apply(Math, this.colYs); 1225 var t = { height: this.maxY }; 1226 return ( 1227 this._getOption("fitWidth") && 1228 (t.width = this._getContainerFitWidth()), 1229 t 1230 ); 1231 }), 1232 (n._getContainerFitWidth = function () { 1233 for (var t = 0, e = this.cols; --e && 0 === this.colYs[e]; ) t++; 1234 return (this.cols - t) * this.columnWidth - this.gutter; 1235 }), 1236 (n.needsResizeLayout = function () { 1237 var t = this.containerWidth; 1238 return this.getContainerWidth(), t != this.containerWidth; 1239 }), 1240 i 1241 ); 1242 });
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.