1/*! 2 * Isotope PACKAGED v3.0.6 3 * 4 * Licensed GPLv3 for open source use 5 * or Isotope Commercial License for commercial use 6 * 7 * https://isotope.metafizzy.co 8 * Copyright 2010-2018 Metafizzy 9 */ 10 11!(function(t, e) { 12 "function" == typeof define && define.amd 13 ? define("jquery-bridget/jquery-bridget", ["jquery"], function(i) { 14 return e(t, i); 15 }) 16 : "object" == typeof module && module.exports 17 ? (module.exports = e(t, require("jquery"))) 18 : (t.jQueryBridget = e(t, t.jQuery)); 19})(window, function(t, e) { 20 "use strict"; 21 function i(i, s, a) { 22 function u(t, e, o) { 23 var n, 24 s = "$()." + i + '("' + e + '")'; 25 return ( 26 t.each(function(t, u) { 27 var h = a.data(u, i); 28 if (!h) 29 return void r( 30 i + " not initialized. Cannot call methods, i.e. " + s 31 ); 32 var d = h[e]; 33 if (!d || "_" == e.charAt(0)) 34 return void r(s + " is not a valid method"); 35 var l = d.apply(h, o); 36 n = void 0 === n ? l : n; 37 }), 38 void 0 !== n ? n : t 39 ); 40 } 41 function h(t, e) { 42 t.each(function(t, o) { 43 var n = a.data(o, i); 44 n ? (n.option(e), n._init()) : ((n = new s(o, e)), a.data(o, i, n)); 45 }); 46 } 47 (a = a || e || t.jQuery), 48 a && 49 (s.prototype.option || 50 (s.prototype.option = function(t) { 51 a.isPlainObject(t) && 52 (this.options = a.extend(!0, this.options, t)); 53 }), 54 (a.fn[i] = function(t) { 55 if ("string" == typeof t) { 56 var e = n.call(arguments, 1); 57 return u(this, t, e); 58 } 59 return h(this, t), this; 60 }), 61 o(a)); 62 } 63 function o(t) { 64 !t || (t && t.bridget) || (t.bridget = i); 65 } 66 var n = Array.prototype.slice, 67 s = t.console, 68 r = 69 "undefined" == typeof s 70 ? function() {} 71 : function(t) { 72 s.error(t); 73 }; 74 return o(e || t.jQuery), i; 75}), 76 (function(t, e) { 77 "function" == typeof define && define.amd 78 ? define("ev-emitter/ev-emitter", e) 79 : "object" == typeof module && module.exports 80 ? (module.exports = e()) 81 : (t.EvEmitter = e()); 82 })("undefined" != typeof window ? window : this, function() { 83 function t() {} 84 var e = t.prototype; 85 return ( 86 (e.on = function(t, e) { 87 if (t && e) { 88 var i = (this._events = this._events || {}), 89 o = (i[t] = i[t] || []); 90 return o.indexOf(e) == -1 && o.push(e), this; 91 } 92 }), 93 (e.once = function(t, e) { 94 if (t && e) { 95 this.on(t, e); 96 var i = (this._onceEvents = this._onceEvents || {}), 97 o = (i[t] = i[t] || {}); 98 return (o[e] = !0), this; 99 } 100 }), 101 (e.off = function(t, e) { 102 var i = this._events && this._events[t]; 103 if (i && i.length) { 104 var o = i.indexOf(e); 105 return o != -1 && i.splice(o, 1), this; 106 } 107 }), 108 (e.emitEvent = function(t, e) { 109 var i = this._events && this._events[t]; 110 if (i && i.length) { 111 (i = i.slice(0)), (e = e || []); 112 for ( 113 var o = this._onceEvents && this._onceEvents[t], n = 0; 114 n < i.length; 115 n++ 116 ) { 117 var s = i[n], 118 r = o && o[s]; 119 r && (this.off(t, s), delete o[s]), s.apply(this, e); 120 } 121 return this; 122 } 123 }), 124 (e.allOff = function() { 125 delete this._events, delete this._onceEvents; 126 }), 127 t 128 ); 129 }), 130 (function(t, e) { 131 "function" == typeof define && define.amd 132 ? define("get-size/get-size", e) 133 : "object" == typeof module && module.exports 134 ? (module.exports = e()) 135 : (t.getSize = e()); 136 })(window, function() { 137 "use strict"; 138 function t(t) { 139 var e = parseFloat(t), 140 i = t.indexOf("%") == -1 && !isNaN(e); 141 return i && e; 142 } 143 function e() {} 144 function i() { 145 for ( 146 var t = { 147 width: 0, 148 height: 0, 149 innerWidth: 0, 150 innerHeight: 0, 151 outerWidth: 0, 152 outerHeight: 0, 153 }, 154 e = 0; 155 e < h; 156 e++ 157 ) { 158 var i = u[e]; 159 t[i] = 0; 160 } 161 return t; 162 } 163 function o(t) { 164 var e = getComputedStyle(t); 165 return ( 166 e || 167 a( 168 "Style returned " + 169 e + 170 ". Are you running this code in a hidden iframe on Firefox? See https://bit.ly/getsizebug1" 171 ), 172 e 173 ); 174 } 175 function n() { 176 if (!d) { 177 d = !0; 178 var e = document.createElement("div"); 179 (e.style.width = "200px"), 180 (e.style.padding = "1px 2px 3px 4px"), 181 (e.style.borderStyle = "solid"), 182 (e.style.borderWidth = "1px 2px 3px 4px"), 183 (e.style.boxSizing = "border-box"); 184 var i = document.body || document.documentElement; 185 i.appendChild(e); 186 var n = o(e); 187 (r = 200 == Math.round(t(n.width))), 188 (s.isBoxSizeOuter = r), 189 i.removeChild(e); 190 } 191 } 192 function s(e) { 193 if ( 194 (n(), 195 "string" == typeof e && (e = document.querySelector(e)), 196 e && "object" == typeof e && e.nodeType) 197 ) { 198 var s = o(e); 199 if ("none" == s.display) return i(); 200 var a = {}; 201 (a.width = e.offsetWidth), (a.height = e.offsetHeight); 202 for ( 203 var d = (a.isBorderBox = "border-box" == s.boxSizing), l = 0; 204 l < h; 205 l++ 206 ) { 207 var f = u[l], 208 c = s[f], 209 m = parseFloat(c); 210 a[f] = isNaN(m) ? 0 : m; 211 } 212 var p = a.paddingLeft + a.paddingRight, 213 y = a.paddingTop + a.paddingBottom, 214 g = a.marginLeft + a.marginRight, 215 v = a.marginTop + a.marginBottom, 216 _ = a.borderLeftWidth + a.borderRightWidth, 217 z = a.borderTopWidth + a.borderBottomWidth, 218 I = d && r, 219 x = t(s.width); 220 x !== !1 && (a.width = x + (I ? 0 : p + _)); 221 var S = t(s.height); 222 return ( 223 S !== !1 && (a.height = S + (I ? 0 : y + z)), 224 (a.innerWidth = a.width - (p + _)), 225 (a.innerHeight = a.height - (y + z)), 226 (a.outerWidth = a.width + g), 227 (a.outerHeight = a.height + v), 228 a 229 ); 230 } 231 } 232 var r, 233 a = 234 "undefined" == typeof console 235 ? e 236 : function(t) { 237 console.error(t); 238 }, 239 u = [ 240 "paddingLeft", 241 "paddingRight", 242 "paddingTop", 243 "paddingBottom", 244 "marginLeft", 245 "marginRight", 246 "marginTop", 247 "marginBottom", 248 "borderLeftWidth", 249 "borderRightWidth", 250 "borderTopWidth", 251 "borderBottomWidth", 252 ], 253 h = u.length, 254 d = !1; 255 return s; 256 }), 257 (function(t, e) { 258 "use strict"; 259 "function" == typeof define && define.amd 260 ? define("desandro-matches-selector/matches-selector", e) 261 : "object" == typeof module && module.exports 262 ? (module.exports = e()) 263 : (t.matchesSelector = e()); 264 })(window, function() { 265 "use strict"; 266 var t = (function() { 267 var t = window.Element.prototype; 268 if (t.matches) return "matches"; 269 if (t.matchesSelector) return "matchesSelector"; 270 for (var e = ["webkit", "moz", "ms", "o"], i = 0; i < e.length; i++) { 271 var o = e[i], 272 n = o + "MatchesSelector"; 273 if (t[n]) return n; 274 } 275 })(); 276 return function(e, i) { 277 return e[t](i); 278 }; 279 }), 280 (function(t, e) { 281 "function" == typeof define && define.amd 282 ? define("fizzy-ui-utils/utils", [ 283 "desandro-matches-selector/matches-selector", 284 ], function(i) { 285 return e(t, i); 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 o = 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 ? o.call(t) : [t]; 305 }), 306 (i.removeFrom = function(t, e) { 307 var i = t.indexOf(e); 308 i != -1 && 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, o) { 322 t = i.makeArray(t); 323 var n = []; 324 return ( 325 t.forEach(function(t) { 326 if (t instanceof HTMLElement) { 327 if (!o) return void n.push(t); 328 e(t, o) && n.push(t);
329 for (var i = t.querySelectorAll(o), s = 0; s < i.length; s++) 330 n.push(i[s]); 331 } 332 }), 333 n 334 ); 335 }), 336 (i.debounceMethod = function(t, e, i) { 337 i = i || 100; 338 var o = t.prototype[e], 339 n = e + "Timeout"; 340 t.prototype[e] = function() { 341 var t = this[n]; 342 clearTimeout(t); 343 var e = arguments, 344 s = this; 345 this[n] = setTimeout(function() { 346 o.apply(s, e), delete s[n]; 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 n = t.console; 364 return ( 365 (i.htmlInit = function(e, o) { 366 i.docReady(function() { 367 var s = i.toDashed(o), 368 r = "data-" + s, 369 a = document.querySelectorAll("[" + r + "]"), 370 u = document.querySelectorAll(".js-" + s), 371 h = i.makeArray(a).concat(i.makeArray(u)), 372 d = r + "-options", 373 l = t.jQuery; 374 h.forEach(function(t) { 375 var i, 376 s = t.getAttribute(r) || t.getAttribute(d); 377 try { 378 i = s && JSON.parse(s); 379 } catch (a) { 380 return void ( 381 n && 382 n.error("Error parsing " + r + " on " + t.className + ": " + a) 383 ); 384 } 385 var u = new e(t, i); 386 l && l.data(t, o, u); 387 }); 388 }); 389 }), 390 i 391 ); 392 }), 393 (function(t, e) { 394 "function" == typeof define && define.amd 395 ? define("outlayer/item", [ 396 "ev-emitter/ev-emitter", 397 "get-size/get-size", 398 ], e) 399 : "object" == typeof module && module.exports 400 ? (module.exports = e(require("ev-emitter"), require("get-size"))) 401 : ((t.Outlayer = {}), (t.Outlayer.Item = e(t.EvEmitter, t.getSize))); 402 })(window, function(t, e) { 403 "use strict"; 404 function i(t) { 405 for (var e in t) return !1; 406 return (e = null), !0; 407 } 408 function o(t, e) { 409 t && 410 ((this.element = t), 411 (this.layout = e), 412 (this.position = { x: 0, y: 0 }), 413 this._create()); 414 } 415 function n(t) { 416 return t.replace(/([A-Z])/g, function(t) { 417 return "-" + t.toLowerCase(); 418 }); 419 } 420 var s = document.documentElement.style, 421 r = "string" == typeof s.transition ? "transition" : "WebkitTransition", 422 a = "string" == typeof s.transform ? "transform" : "WebkitTransform", 423 u = { 424 WebkitTransition: "webkitTransitionEnd", 425 transition: "transitionend", 426 }[r], 427 h = { 428 transform: a, 429 transition: r, 430 transitionDuration: r + "Duration", 431 transitionProperty: r + "Property", 432 transitionDelay: r + "Delay", 433 }, 434 d = (o.prototype = Object.create(t.prototype)); 435 (d.constructor = o), 436 (d._create = function() { 437 (this._transn = { ingProperties: {}, clean: {}, onEnd: {} }), 438 this.css({ position: "absolute" }); 439 }), 440 (d.handleEvent = function(t) { 441 var e = "on" + t.type; 442 this[e] && this[e](t); 443 }), 444 (d.getSize = function() { 445 this.size = e(this.element); 446 }), 447 (d.css = function(t) { 448 var e = this.element.style; 449 for (var i in t) { 450 var o = h[i] || i; 451 e[o] = t[i]; 452 } 453 }), 454 (d.getPosition = function() { 455 var t = getComputedStyle(this.element), 456 e = this.layout._getOption("originLeft"), 457 i = this.layout._getOption("originTop"), 458 o = t[e ? "left" : "right"], 459 n = t[i ? "top" : "bottom"], 460 s = parseFloat(o), 461 r = parseFloat(n), 462 a = this.layout.size; 463 o.indexOf("%") != -1 && (s = (s / 100) * a.width), 464 n.indexOf("%") != -1 && (r = (r / 100) * a.height),
465 (s = isNaN(s) ? 0 : s), 466 (r = isNaN(r) ? 0 : r), 467 (s -= e ? a.paddingLeft : a.paddingRight), 468 (r -= i ? a.paddingTop : a.paddingBottom), 469 (this.position.x = s), 470 (this.position.y = r); 471 }), 472 (d.layoutPosition = function() { 473 var t = this.layout.size, 474 e = {}, 475 i = this.layout._getOption("originLeft"), 476 o = this.layout._getOption("originTop"), 477 n = i ? "paddingLeft" : "paddingRight", 478 s = i ? "left" : "right", 479 r = i ? "right" : "left", 480 a = this.position.x + t[n]; 481 (e[s] = this.getXValue(a)), (e[r] = ""); 482 var u = o ? "paddingTop" : "paddingBottom", 483 h = o ? "top" : "bottom", 484 d = o ? "bottom" : "top", 485 l = this.position.y + t[u]; 486 (e[h] = this.getYValue(l)), 487 (e[d] = ""), 488 this.css(e), 489 this.emitEvent("layout", [this]); 490 }), 491 (d.getXValue = function(t) { 492 var e = this.layout._getOption("horizontal"); 493 return this.layout.options.percentPosition && !e 494 ? (t / this.layout.size.width) * 100 + "%" 495 : t + "px"; 496 }), 497 (d.getYValue = function(t) { 498 var e = this.layout._getOption("horizontal"); 499 return this.layout.options.percentPosition && e 500 ? (t / this.layout.size.height) * 100 + "%" 501 : t + "px"; 502 }), 503 (d._transitionTo = function(t, e) { 504 this.getPosition(); 505 var i = this.position.x, 506 o = this.position.y, 507 n = t == this.position.x && e == this.position.y; 508 if ((this.setPosition(t, e), n && !this.isTransitioning)) 509 return void this.layoutPosition(); 510 var s = t - i, 511 r = e - o, 512 a = {}; 513 (a.transform = this.getTranslate(s, r)), 514 this.transition({ 515 to: a, 516 onTransitionEnd: { transform: this.layoutPosition }, 517 isCleaning: !0, 518 }); 519 }), 520 (d.getTranslate = function(t, e) { 521 var i = this.layout._getOption("originLeft"), 522 o = this.layout._getOption("originTop"); 523 return ( 524 (t = i ? t : -t), 525 (e = o ? e : -e), 526 "translate3d(" + t + "px, " + e + "px, 0)" 527 ); 528 }), 529 (d.goTo = function(t, e) { 530 this.setPosition(t, e), this.layoutPosition(); 531 }), 532 (d.moveTo = d._transitionTo), 533 (d.setPosition = function(t, e) { 534 (this.position.x = parseFloat(t)), (this.position.y = parseFloat(e)); 535 }), 536 (d._nonTransition = function(t) { 537 this.css(t.to), t.isCleaning && this._removeStyles(t.to); 538 for (var e in t.onTransitionEnd) t.onTransitionEnd[e].call(this); 539 }), 540 (d.transition = function(t) { 541 if (!parseFloat(this.layout.options.transitionDuration)) 542 return void this._nonTransition(t); 543 var e = this._transn; 544 for (var i in t.onTransitionEnd) e.onEnd[i] = t.onTransitionEnd[i]; 545 for (i in t.to) 546 (e.ingProperties[i] = !0), t.isCleaning && (e.clean[i] = !0); 547 if (t.from) { 548 this.css(t.from); 549 var o = this.element.offsetHeight; 550 o = null; 551 } 552 this.enableTransition(t.to), 553 this.css(t.to), 554 (this.isTransitioning = !0); 555 }); 556 var l = "opacity," + n(a); 557 (d.enableTransition = function() { 558 if (!this.isTransitioning) { 559 var t = this.layout.options.transitionDuration; 560 (t = "number" == typeof t ? t + "ms" : t), 561 this.css({ 562 transitionProperty: l, 563 transitionDuration: t, 564 transitionDelay: this.staggerDelay || 0, 565 }), 566 this.element.addEventListener(u, this, !1); 567 } 568 }), 569 (d.onwebkitTransitionEnd = function(t) { 570 this.ontransitionend(t); 571 }), 572 (d.onotransitionend = function(t) { 573 this.ontransitionend(t); 574 }); 575 var f = { "-webkit-transform": "transform" }; 576 (d.ontransitionend = function(t) { 577 if (t.target === this.element) { 578 var e = this._transn, 579 o = f[t.propertyName] || t.propertyName; 580 if ( 581 (delete e.ingProperties[o], 582 i(e.ingProperties) && this.disableTransition(), 583 o in e.clean && 584 ((this.element.style[t.propertyName] = ""), delete e.clean[o]), 585 o in e.onEnd) 586 ) { 587 var n = e.onEnd[o]; 588 n.call(this), delete e.onEnd[o]; 589 } 590 this.emitEvent("transitionEnd", [this]); 591 } 592 }), 593 (d.disableTransition = function() { 594 this.removeTransitionStyles(), 595 this.element.removeEventListener(u, this, !1), 596 (this.isTransitioning = !1); 597 }), 598 (d._removeStyles = function(t) { 599 var e = {}; 600 for (var i in t) e[i] = ""; 601 this.css(e); 602 }); 603 var c = { 604 transitionProperty: "", 605 transitionDuration: "", 606 transitionDelay: "", 607 }; 608 return ( 609 (d.removeTransitionStyles = function() { 610 this.css(c); 611 }), 612 (d.stagger = function(t) { 613 (t = isNaN(t) ? 0 : t), (this.staggerDelay = t + "ms"); 614 }), 615 (d.removeElem = function() { 616 this.element.parentNode.removeChild(this.element), 617 this.css({ display: "" }), 618 this.emitEvent("remove", [this]); 619 }), 620 (d.remove = function() { 621 return r && parseFloat(this.layout.options.transitionDuration) 622 ? (this.once("transitionEnd", function() { 623 this.removeElem(); 624 }), 625 void this.hide()) 626 : void this.removeElem(); 627 }), 628 (d.reveal = function() { 629 delete this.isHidden, this.css({ display: "" }); 630 var t = this.layout.options, 631 e = {}, 632 i = this.getHideRevealTransitionEndProperty("visibleStyle"); 633 (e[i] = this.onRevealTransitionEnd), 634 this.transition({ 635 from: t.hiddenStyle, 636 to: t.visibleStyle, 637 isCleaning: !0, 638 onTransitionEnd: e, 639 }); 640 }), 641 (d.onRevealTransitionEnd = function() { 642 this.isHidden || this.emitEvent("reveal"); 643 }), 644 (d.getHideRevealTransitionEndProperty = function(t) { 645 var e = this.layout.options[t]; 646 if (e.opacity) return "opacity"; 647 for (var i in e) return i; 648 }), 649 (d.hide = function() { 650 (this.isHidden = !0), this.css({ display: "" }); 651 var t = this.layout.options, 652 e = {}, 653 i = this.getHideRevealTransitionEndProperty("hiddenStyle"); 654 (e[i] = this.onHideTransitionEnd), 655 this.transition({ 656 from: t.visibleStyle, 657 to: t.hiddenStyle, 658 isCleaning: !0, 659 onTransitionEnd: e, 660 }); 661 }), 662 (d.onHideTransitionEnd = function() { 663 this.isHidden && 664 (this.css({ display: "none" }), this.emitEvent("hide")); 665 }), 666 (d.destroy = function() { 667 this.css({ 668 position: "", 669 left: "", 670 right: "", 671 top: "", 672 bottom: "", 673 transition: "", 674 transform: "", 675 }); 676 }), 677 o 678 ); 679 }), 680 (function(t, e) { 681 "use strict"; 682 "function" == typeof define && define.amd 683 ? define("outlayer/outlayer", [ 684 "ev-emitter/ev-emitter", 685 "get-size/get-size", 686 "fizzy-ui-utils/utils", 687 "./item", 688 ], function(i, o, n, s) { 689 return e(t, i, o, n, s); 690 }) 691 : "object" == typeof module && module.exports 692 ? (module.exports = e( 693 t, 694 require("ev-emitter"), 695 require("get-size"), 696 require("fizzy-ui-utils"), 697 require("./item") 698 )) 699 : (t.Outlayer = e( 700 t, 701 t.EvEmitter, 702 t.getSize, 703 t.fizzyUIUtils, 704 t.Outlayer.Item 705 )); 706 })(window, function(t, e, i, o, n) { 707 "use strict"; 708 function s(t, e) { 709 var i = o.getQueryElement(t); 710 if (!i) 711 return void ( 712 u && 713 u.error( 714 "Bad element for " + this.constructor.namespace + ": " + (i || t) 715 ) 716 ); 717 (this.element = i), 718 h && (this.$element = h(this.element)), 719 (this.options = o.extend({}, this.constructor.defaults)), 720 this.option(e); 721 var n = ++l; 722 (this.element.outlayerGUID = n), (f[n] = this), this._create(); 723 var s = this._getOption("initLayout"); 724 s && this.layout(); 725 } 726 function r(t) { 727 function e() { 728 t.apply(this, arguments); 729 } 730 return ( 731 (e.prototype = Object.create(t.prototype)), 732 (e.prototype.constructor = e), 733 e 734 ); 735 } 736 function a(t) { 737 if ("number" == typeof t) return t; 738 var e = t.match(/(^\d*\.?\d*)(\w*)/), 739 i = e && e[1], 740 o = e && e[2]; 741 if (!i.length) return 0; 742 i = parseFloat(i); 743 var n = m[o] || 1; 744 return i * n; 745 } 746 var u = t.console, 747 h = t.jQuery, 748 d = function() {}, 749 l = 0, 750 f = {}; 751 (s.namespace = "outlayer"), 752 (s.Item = n), 753 (s.defaults = { 754 containerStyle: { position: "relative" }, 755 initLayout: !0, 756 originLeft: !0, 757 originTop: !0, 758 resize: !0, 759 resizeContainer: !0, 760 transitionDuration: "0.4s", 761 hiddenStyle: { opacity: 0, transform: "scale(0.001)" }, 762 visibleStyle: { opacity: 1, transform: "scale(1)" }, 763 }); 764 var c = s.prototype; 765 o.extend(c, e.prototype), 766 (c.option = function(t) { 767 o.extend(this.options, t); 768 }), 769 (c._getOption = function(t) { 770 var e = this.constructor.compatOptions[t]; 771 return e && void 0 !== this.options[e] 772 ? this.options[e] 773 : this.options[t]; 774 }), 775 (s.compatOptions = { 776 initLayout: "isInitLayout", 777 horizontal: "isHorizontal", 778 layoutInstant: "isLayoutInstant", 779 originLeft: "isOriginLeft", 780 originTop: "isOriginTop", 781 resize: "isResizeBound", 782 resizeContainer: "isResizingContainer", 783 }), 784 (c._create = function() { 785 this.reloadItems(), 786 (this.stamps = []), 787 this.stamp(this.options.stamp), 788 o.extend(this.element.style, this.options.containerStyle); 789 var t = this._getOption("resize"); 790 t && this.bindResize(); 791 }), 792 (c.reloadItems = function() { 793 this.items = this._itemize(this.element.children); 794 }), 795 (c._itemize = function(t) { 796 for ( 797 var e = this._filterFindItemElements(t), 798 i = this.constructor.Item, 799 o = [], 800 n = 0; 801 n < e.length; 802 n++ 803 ) { 804 var s = e[n], 805 r = new i(s, this); 806 o.push(r); 807 } 808 return o; 809 }), 810 (c._filterFindItemElements = function(t) { 811 return o.filterFindElements(t, this.options.itemSelector); 812 }), 813 (c.getItemElements = function() { 814 return this.items.map(function(t) { 815 return t.element; 816 }); 817 }), 818 (c.layout = function() { 819 this._resetLayout(), this._manageStamps(); 820 var t = this._getOption("layoutInstant"), 821 e = void 0 !== t ? t : !this._isLayoutInited; 822 this.layoutItems(this.items, e), (this._isLayoutInited = !0); 823 }), 824 (c._init = c.layout), 825 (c._resetLayout = function() {
826 this.getSize(); 827 }), 828 (c.getSize = function() { 829 this.size = i(this.element); 830 }), 831 (c._getMeasurement = function(t, e) { 832 var o, 833 n = this.options[t]; 834 n 835 ? ("string" == typeof n 836 ? (o = this.element.querySelector(n)) 837 : n instanceof HTMLElement && (o = n), 838 (this[t] = o ? i(o)[e] : n)) 839 : (this[t] = 0); 840 }), 841 (c.layoutItems = function(t, e) { 842 (t = this._getItemsForLayout(t)), 843 this._layoutItems(t, e), 844 this._postLayout(); 845 }), 846 (c._getItemsForLayout = function(t) { 847 return t.filter(function(t) { 848 return !t.isIgnored; 849 }); 850 }), 851 (c._layoutItems = function(t, e) { 852 if ((this._emitCompleteOnItems("layout", t), t && t.length)) { 853 var i = []; 854 t.forEach(function(t) { 855 var o = this._getItemLayoutPosition(t); 856 (o.item = t), (o.isInstant = e || t.isLayoutInstant), i.push(o); 857 }, this), 858 this._processLayoutQueue(i); 859 } 860 }), 861 (c._getItemLayoutPosition = function() { 862 return { x: 0, y: 0 }; 863 }), 864 (c._processLayoutQueue = function(t) { 865 this.updateStagger(), 866 t.forEach(function(t, e) { 867 this._positionItem(t.item, t.x, t.y, t.isInstant, e); 868 }, this); 869 }), 870 (c.updateStagger = function() { 871 var t = this.options.stagger; 872 return null === t || void 0 === t 873 ? void (this.stagger = 0) 874 : ((this.stagger = a(t)), this.stagger); 875 }), 876 (c._positionItem = function(t, e, i, o, n) { 877 o ? t.goTo(e, i) : (t.stagger(n * this.stagger), t.moveTo(e, i)); 878 }), 879 (c._postLayout = function() { 880 this.resizeContainer(); 881 }), 882 (c.resizeContainer = function() { 883 var t = this._getOption("resizeContainer"); 884 if (t) { 885 var e = this._getContainerSize(); 886 e && 887 (this._setContainerMeasure(e.width, !0), 888 this._setContainerMeasure(e.height, !1)); 889 } 890 }), 891 (c._getContainerSize = d), 892 (c._setContainerMeasure = function(t, e) { 893 if (void 0 !== t) { 894 var i = this.size; 895 i.isBorderBox && 896 (t += e 897 ? i.paddingLeft + 898 i.paddingRight + 899 i.borderLeftWidth + 900 i.borderRightWidth 901 : i.paddingBottom + 902 i.paddingTop + 903 i.borderTopWidth + 904 i.borderBottomWidth), 905 (t = Math.max(t, 0)), 906 (this.element.style[e ? "width" : "height"] = t + "px"); 907 } 908 }), 909 (c._emitCompleteOnItems = function(t, e) { 910 function i() { 911 n.dispatchEvent(t + "Complete", null, [e]); 912 } 913 function o() { 914 r++, r == s && i(); 915 } 916 var n = this, 917 s = e.length; 918 if (!e || !s) return void i(); 919 var r = 0; 920 e.forEach(function(e) { 921 e.once(t, o); 922 }); 923 }), 924 (c.dispatchEvent = function(t, e, i) { 925 var o = e ? [e].concat(i) : i; 926 if ((this.emitEvent(t, o), h)) 927 if (((this.$element = this.$element || h(this.element)), e)) { 928 var n = h.Event(e); 929 (n.type = t), this.$element.trigger(n, i); 930 } else this.$element.trigger(t, i); 931 }), 932 (c.ignore = function(t) { 933 var e = this.getItem(t); 934 e && (e.isIgnored = !0); 935 }), 936 (c.unignore = function(t) { 937 var e = this.getItem(t); 938 e && delete e.isIgnored; 939 }), 940 (c.stamp = function(t) { 941 (t = this._find(t)), 942 t && 943 ((this.stamps = this.stamps.concat(t)), 944 t.forEach(this.ignore, this)); 945 }), 946 (c.unstamp = function(t) { 947 (t = this._find(t)), 948 t && 949 t.forEach(function(t) { 950 o.removeFrom(this.stamps, t), this.unignore(t); 951 }, this); 952 }), 953 (c._find = function(t) { 954 if (t) 955 return ( 956 "string" == typeof t && (t = this.element.querySelectorAll(t)), 957 (t = o.makeArray(t)) 958 ); 959 }), 960 (c._manageStamps = function() { 961 this.stamps && 962 this.stamps.length &&
963 (this._getBoundingRect(), 964 this.stamps.forEach(this._manageStamp, this)); 965 }), 966 (c._getBoundingRect = function() { 967 var t = this.element.getBoundingClientRect(), 968 e = this.size; 969 this._boundingRect = { 970 left: t.left + e.paddingLeft + e.borderLeftWidth, 971 top: t.top + e.paddingTop + e.borderTopWidth, 972 right: t.right - (e.paddingRight + e.borderRightWidth), 973 bottom: t.bottom - (e.paddingBottom + e.borderBottomWidth), 974 }; 975 }), 976 (c._manageStamp = d), 977 (c._getElementOffset = function(t) { 978 var e = t.getBoundingClientRect(), 979 o = this._boundingRect, 980 n = i(t), 981 s = { 982 left: e.left - o.left - n.marginLeft, 983 top: e.top - o.top - n.marginTop, 984 right: o.right - e.right - n.marginRight, 985 bottom: o.bottom - e.bottom - n.marginBottom, 986 }; 987 return s; 988 }), 989 (c.handleEvent = o.handleEvent), 990 (c.bindResize = function() { 991 t.addEventListener("resize", this), (this.isResizeBound = !0); 992 }), 993 (c.unbindResize = function() { 994 t.removeEventListener("resize", this), (this.isResizeBound = !1); 995 }), 996 (c.onresize = function() { 997 this.resize(); 998 }), 999 o.debounceMethod(s, "onresize", 100), 1000 (c.resize = function() { 1001 this.isResizeBound && this.needsResizeLayout() && this.layout(); 1002 }), 1003 (c.needsResizeLayout = function() { 1004 var t = i(this.element), 1005 e = this.size && t; 1006 return e && t.innerWidth !== this.size.innerWidth; 1007 }), 1008 (c.addItems = function(t) { 1009 var e = this._itemize(t); 1010 return e.length && (this.items = this.items.concat(e)), e; 1011 }), 1012 (c.appended = function(t) { 1013 var e = this.addItems(t); 1014 e.length && (this.layoutItems(e, !0), this.reveal(e)); 1015 }), 1016 (c.prepended = function(t) { 1017 var e = this._itemize(t); 1018 if (e.length) { 1019 var i = this.items.slice(0); 1020 (this.items = e.concat(i)), 1021 this._resetLayout(), 1022 this._manageStamps(), 1023 this.layoutItems(e, !0), 1024 this.reveal(e), 1025 this.layoutItems(i); 1026 } 1027 }), 1028 (c.reveal = function(t) { 1029 if ((this._emitCompleteOnItems("reveal", t), t && t.length)) { 1030 var e = this.updateStagger(); 1031 t.forEach(function(t, i) { 1032 t.stagger(i * e), t.reveal(); 1033 }); 1034 } 1035 }), 1036 (c.hide = function(t) { 1037 if ((this._emitCompleteOnItems("hide", t), t && t.length)) { 1038 var e = this.updateStagger(); 1039 t.forEach(function(t, i) { 1040 t.stagger(i * e), t.hide(); 1041 }); 1042 } 1043 }), 1044 (c.revealItemElements = function(t) { 1045 var e = this.getItems(t); 1046 this.reveal(e); 1047 }), 1048 (c.hideItemElements = function(t) { 1049 var e = this.getItems(t); 1050 this.hide(e); 1051 }), 1052 (c.getItem = function(t) { 1053 for (var e = 0; e < this.items.length; e++) { 1054 var i = this.items[e]; 1055 if (i.element == t) return i; 1056 } 1057 }), 1058 (c.getItems = function(t) { 1059 t = o.makeArray(t); 1060 var e = []; 1061 return ( 1062 t.forEach(function(t) { 1063 var i = this.getItem(t); 1064 i && e.push(i); 1065 }, this), 1066 e 1067 ); 1068 }), 1069 (c.remove = function(t) { 1070 var e = this.getItems(t); 1071 this._emitCompleteOnItems("remove", e), 1072 e && 1073 e.length && 1074 e.forEach(function(t) { 1075 t.remove(), o.removeFrom(this.items, t); 1076 }, this); 1077 }), 1078 (c.destroy = function() { 1079 var t = this.element.style; 1080 (t.height = ""), 1081 (t.position = ""), 1082 (t.width = ""), 1083 this.items.forEach(function(t) { 1084 t.destroy(); 1085 }), 1086 this.unbindResize(); 1087 var e = this.element.outlayerGUID; 1088 delete f[e], 1089 delete this.element.outlayerGUID, 1090 h && h.removeData(this.element, this.constructor.namespace); 1091 }), 1092 (s.data = function(t) { 1093 t = o.getQueryElement(t); 1094 var e = t && t.outlayerGUID; 1095 return e && f[e]; 1096 }), 1097 (s.create = function(t, e) { 1098 var i = r(s); 1099 return ( 1100 (i.defaults = o.extend({}, s.defaults)), 1101 o.extend(i.defaults, e), 1102 (i.compatOptions = o.extend({}, s.compatOptions)), 1103 (i.namespace = t), 1104 (i.data = s.data), 1105 (i.Item = r(n)), 1106 o.htmlInit(i, t), 1107 h && h.bridget && h.bridget(t, i), 1108 i 1109 ); 1110 }); 1111 var m = { ms: 1, s: 1e3 }; 1112 return (s.Item = n), s; 1113 }), 1114 (function(t, e) { 1115 "function" == typeof define && define.amd 1116 ? define("isotope-layout/js/item", ["outlayer/outlayer"], e) 1117 : "object" == typeof module && module.exports 1118 ? (module.exports = e(require("outlayer"))) 1119 : ((t.Isotope = t.Isotope || {}), (t.Isotope.Item = e(t.Outlayer))); 1120 })(window, function(t) { 1121 "use strict"; 1122 function e() { 1123 t.Item.apply(this, arguments); 1124 } 1125 var i = (e.prototype = Object.create(t.Item.prototype)), 1126 o = i._create; 1127 (i._create = function() { 1128 (this.id = this.layout.itemGUID++), o.call(this), (this.sortData = {}); 1129 }), 1130 (i.updateSortData = function() { 1131 if (!this.isIgnored) { 1132 (this.sortData.id = this.id), 1133 (this.sortData["original-order"] = this.id), 1134 (this.sortData.random = Math.random()); 1135 var t = this.layout.options.getSortData, 1136 e = this.layout._sorters; 1137 for (var i in t) { 1138 var o = e[i]; 1139 this.sortData[i] = o(this.element, this); 1140 } 1141 } 1142 }); 1143 var n = i.destroy; 1144 return ( 1145 (i.destroy = function() { 1146 n.apply(this, arguments), this.css({ display: "" }); 1147 }), 1148 e 1149 ); 1150 }), 1151 (function(t, e) { 1152 "function" == typeof define && define.amd 1153 ? define("isotope-layout/js/layout-mode", [ 1154 "get-size/get-size", 1155 "outlayer/outlayer", 1156 ], e) 1157 : "object" == typeof module && module.exports 1158 ? (module.exports = e(require("get-size"), require("outlayer"))) 1159 : ((t.Isotope = t.Isotope || {}), 1160 (t.Isotope.LayoutMode = e(t.getSize, t.Outlayer))); 1161 })(window, function(t, e) { 1162 "use strict"; 1163 function i(t) { 1164 (this.isotope = t), 1165 t && 1166 ((this.options = t.options[this.namespace]), 1167 (this.element = t.element), 1168 (this.items = t.filteredItems), 1169 (this.size = t.size)); 1170 } 1171 var o = i.prototype, 1172 n = [ 1173 "_resetLayout", 1174 "_getItemLayoutPosition", 1175 "_manageStamp", 1176 "_getContainerSize", 1177 "_getElementOffset", 1178 "needsResizeLayout", 1179 "_getOption", 1180 ]; 1181 return (
1182 n.forEach(function(t) { 1183 o[t] = function() { 1184 return e.prototype[t].apply(this.isotope, arguments); 1185 }; 1186 }), 1187 (o.needsVerticalResizeLayout = function() { 1188 var e = t(this.isotope.element), 1189 i = this.isotope.size && e; 1190 return i && e.innerHeight != this.isotope.size.innerHeight; 1191 }), 1192 (o._getMeasurement = function() { 1193 this.isotope._getMeasurement.apply(this, arguments); 1194 }), 1195 (o.getColumnWidth = function() { 1196 this.getSegmentSize("column", "Width"); 1197 }), 1198 (o.getRowHeight = function() { 1199 this.getSegmentSize("row", "Height"); 1200 }), 1201 (o.getSegmentSize = function(t, e) { 1202 var i = t + e, 1203 o = "outer" + e; 1204 if ((this._getMeasurement(i, o), !this[i])) { 1205 var n = this.getFirstItemSize(); 1206 this[i] = (n && n[o]) || this.isotope.size["inner" + e]; 1207 } 1208 }), 1209 (o.getFirstItemSize = function() { 1210 var e = this.isotope.filteredItems[0]; 1211 return e && e.element && t(e.element); 1212 }), 1213 (o.layout = function() { 1214 this.isotope.layout.apply(this.isotope, arguments); 1215 }), 1216 (o.getSize = function() { 1217 this.isotope.getSize(), (this.size = this.isotope.size); 1218 }), 1219 (i.modes = {}), 1220 (i.create = function(t, e) { 1221 function n() { 1222 i.apply(this, arguments); 1223 } 1224 return ( 1225 (n.prototype = Object.create(o)), 1226 (n.prototype.constructor = n), 1227 e && (n.options = e), 1228 (n.prototype.namespace = t), 1229 (i.modes[t] = n), 1230 n 1231 ); 1232 }), 1233 i 1234 ); 1235 }), 1236 (function(t, e) { 1237 "function" == typeof define && define.amd 1238 ? define("masonry-layout/masonry", [ 1239 "outlayer/outlayer", 1240 "get-size/get-size", 1241 ], e) 1242 : "object" == typeof module && module.exports 1243 ? (module.exports = e(require("outlayer"), require("get-size"))) 1244 : (t.Masonry = e(t.Outlayer, t.getSize)); 1245 })(window, function(t, e) { 1246 var i = t.create("masonry"); 1247 i.compatOptions.fitWidth = "isFitWidth"; 1248 var o = i.prototype; 1249 return ( 1250 (o._resetLayout = function() {
1251 this.getSize(), 1252 this._getMeasurement("columnWidth", "outerWidth"), 1253 this._getMeasurement("gutter", "outerWidth"), 1254 this.measureColumns(), 1255 (this.colYs = []); 1256 for (var t = 0; t < this.cols; t++) this.colYs.push(0); 1257 (this.maxY = 0), (this.horizontalColIndex = 0); 1258 }), 1259 (o.measureColumns = function() { 1260 if ((this.getContainerWidth(), !this.columnWidth)) { 1261 var t = this.items[0], 1262 i = t && t.element; 1263 this.columnWidth = (i && e(i).outerWidth) || this.containerWidth; 1264 } 1265 var o = (this.columnWidth += this.gutter), 1266 n = this.containerWidth + this.gutter, 1267 s = n / o, 1268 r = o - (n % o), 1269 a = r && r < 1 ? "round" : "floor"; 1270 (s = Math[a](s)), (this.cols = Math.max(s, 1)); 1271 }), 1272 (o.getContainerWidth = function() { 1273 var t = this._getOption("fitWidth"), 1274 i = t ? this.element.parentNode : this.element, 1275 o = e(i); 1276 this.containerWidth = o && o.innerWidth; 1277 }), 1278 (o._getItemLayoutPosition = function(t) { 1279 t.getSize(); 1280 var e = t.size.outerWidth % this.columnWidth, 1281 i = e && e < 1 ? "round" : "ceil", 1282 o = Math[i](t.size.outerWidth / this.columnWidth); 1283 o = Math.min(o, this.cols); 1284 for ( 1285 var n = this.options.horizontalOrder 1286 ? "_getHorizontalColPosition" 1287 : "_getTopColPosition", 1288 s = this[n](o, t), 1289 r = { x: this.columnWidth * s.col, y: s.y }, 1290 a = s.y + t.size.outerHeight, 1291 u = o + s.col, 1292 h = s.col; 1293 h < u; 1294 h++ 1295 ) 1296 this.colYs[h] = a; 1297 return r; 1298 }), 1299 (o._getTopColPosition = function(t) { 1300 var e = this._getTopColGroup(t), 1301 i = Math.min.apply(Math, e); 1302 return { col: e.indexOf(i), y: i }; 1303 }), 1304 (o._getTopColGroup = function(t) { 1305 if (t < 2) return this.colYs; 1306 for (var e = [], i = this.cols + 1 - t, o = 0; o < i; o++) 1307 e[o] = this._getColGroupY(o, t); 1308 return e; 1309 }), 1310 (o._getColGroupY = function(t, e) { 1311 if (e < 2) return this.colYs[t]; 1312 var i = this.colYs.slice(t, t + e); 1313 return Math.max.apply(Math, i); 1314 }), 1315 (o._getHorizontalColPosition = function(t, e) { 1316 var i = this.horizontalColIndex % this.cols, 1317 o = t > 1 && i + t > this.cols; 1318 i = o ? 0 : i; 1319 var n = e.size.outerWidth && e.size.outerHeight; 1320 return ( 1321 (this.horizontalColIndex = n ? i + t : this.horizontalColIndex), 1322 { col: i, y: this._getColGroupY(i, t) } 1323 ); 1324 }), 1325 (o._manageStamp = function(t) { 1326 var i = e(t), 1327 o = this._getElementOffset(t), 1328 n = this._getOption("originLeft"), 1329 s = n ? o.left : o.right, 1330 r = s + i.outerWidth, 1331 a = Math.floor(s / this.columnWidth); 1332 a = Math.max(0, a); 1333 var u = Math.floor(r / this.columnWidth); 1334 (u -= r % this.columnWidth ? 0 : 1), (u = Math.min(this.cols - 1, u)); 1335 for ( 1336 var h = this._getOption("originTop"), 1337 d = (h ? o.top : o.bottom) + i.outerHeight, 1338 l = a; 1339 l <= u; 1340 l++ 1341 ) 1342 this.colYs[l] = Math.max(d, this.colYs[l]); 1343 }), 1344 (o._getContainerSize = function() { 1345 this.maxY = Math.max.apply(Math, this.colYs); 1346 var t = { height: this.maxY }; 1347 return ( 1348 this._getOption("fitWidth") && 1349 (t.width = this._getContainerFitWidth()), 1350 t 1351 ); 1352 }), 1353 (o._getContainerFitWidth = function() { 1354 for (var t = 0, e = this.cols; --e && 0 === this.colYs[e]; ) t++; 1355 return (this.cols - t) * this.columnWidth - this.gutter; 1356 }), 1357 (o.needsResizeLayout = function() { 1358 var t = this.containerWidth; 1359 return this.getContainerWidth(), t != this.containerWidth; 1360 }), 1361 i 1362 ); 1363 }), 1364 (function(t, e) { 1365 "function" == typeof define && define.amd 1366 ? define("isotope-layout/js/layout-modes/masonry", [ 1367 "../layout-mode", 1368 "masonry-layout/masonry", 1369 ], e) 1370 : "object" == typeof module && module.exports 1371 ? (module.exports = e( 1372 require("../layout-mode"), 1373 require("masonry-layout") 1374 )) 1375 : e(t.Isotope.LayoutMode, t.Masonry); 1376 })(window, function(t, e) { 1377 "use strict"; 1378 var i = t.create("masonry"), 1379 o = i.prototype, 1380 n = { _getElementOffset: !0, layout: !0, _getMeasurement: !0 }; 1381 for (var s in e.prototype) n[s] || (o[s] = e.prototype[s]); 1382 var r = o.measureColumns; 1383 o.measureColumns = function() { 1384 (this.items = this.isotope.filteredItems), r.call(this); 1385 }; 1386 var a = o._getOption; 1387 return ( 1388 (o._getOption = function(t) { 1389 return "fitWidth" == t 1390 ? void 0 !== this.options.isFitWidth 1391 ? this.options.isFitWidth 1392 : this.options.fitWidth 1393 : a.apply(this.isotope, arguments); 1394 }), 1395 i 1396 ); 1397 }), 1398 (function(t, e) { 1399 "function" == typeof define && define.amd 1400 ? define("isotope-layout/js/layout-modes/fit-rows", ["../layout-mode"], e) 1401 : "object" == typeof exports 1402 ? (module.exports = e(require("../layout-mode"))) 1403 : e(t.Isotope.LayoutMode); 1404 })(window, function(t) { 1405 "use strict"; 1406 var e = t.create("fitRows"), 1407 i = e.prototype; 1408 return ( 1409 (i._resetLayout = function() { 1410 (this.x = 0), 1411 (this.y = 0), 1412 (this.maxY = 0), 1413 this._getMeasurement("gutter", "outerWidth"); 1414 }), 1415 (i._getItemLayoutPosition = function(t) { 1416 t.getSize(); 1417 var e = t.size.outerWidth + this.gutter, 1418 i = this.isotope.size.innerWidth + this.gutter; 1419 0 !== this.x && e + this.x > i && ((this.x = 0), (this.y = this.maxY)); 1420 var o = { x: this.x, y: this.y }; 1421 return ( 1422 (this.maxY = Math.max(this.maxY, this.y + t.size.outerHeight)), 1423 (this.x += e), 1424 o 1425 ); 1426 }), 1427 (i._getContainerSize = function() { 1428 return { height: this.maxY }; 1429 }), 1430 e 1431 ); 1432 }), 1433 (function(t, e) { 1434 "function" == typeof define && define.amd 1435 ? define("isotope-layout/js/layout-modes/vertical", ["../layout-mode"], e) 1436 : "object" == typeof module && module.exports 1437 ? (module.exports = e(require("../layout-mode"))) 1438 : e(t.Isotope.LayoutMode); 1439 })(window, function(t) { 1440 "use strict"; 1441 var e = t.create("vertical", { horizontalAlignment: 0 }), 1442 i = e.prototype; 1443 return ( 1444 (i._resetLayout = function() { 1445 this.y = 0; 1446 }), 1447 (i._getItemLayoutPosition = function(t) { 1448 t.getSize(); 1449 var e = 1450 (this.isotope.size.innerWidth - t.size.outerWidth) * 1451 this.options.horizontalAlignment, 1452 i = this.y; 1453 return (this.y += t.size.outerHeight), { x: e, y: i }; 1454 }), 1455 (i._getContainerSize = function() { 1456 return { height: this.y }; 1457 }), 1458 e 1459 ); 1460 }), 1461 (function(t, e) { 1462 "function" == typeof define && define.amd 1463 ? define([ 1464 "outlayer/outlayer", 1465 "get-size/get-size", 1466 "desandro-matches-selector/matches-selector", 1467 "fizzy-ui-utils/utils", 1468 "isotope-layout/js/item", 1469 "isotope-layout/js/layout-mode", 1470 "isotope-layout/js/layout-modes/masonry", 1471 "isotope-layout/js/layout-modes/fit-rows", 1472 "isotope-layout/js/layout-modes/vertical", 1473 ], function(i, o, n, s, r, a) { 1474 return e(t, i, o, n, s, r, a); 1475 }) 1476 : "object" == typeof module && module.exports 1477 ? (module.exports = e( 1478 t, 1479 require("outlayer"), 1480 require("get-size"), 1481 require("desandro-matches-selector"), 1482 require("fizzy-ui-utils"), 1483 require("isotope-layout/js/item"), 1484 require("isotope-layout/js/layout-mode"), 1485 require("isotope-layout/js/layout-modes/masonry"), 1486 require("isotope-layout/js/layout-modes/fit-rows"), 1487 require("isotope-layout/js/layout-modes/vertical") 1488 )) 1489 : (t.Isotope = e( 1490 t, 1491 t.Outlayer, 1492 t.getSize, 1493 t.matchesSelector, 1494 t.fizzyUIUtils, 1495 t.Isotope.Item, 1496 t.Isotope.LayoutMode 1497 )); 1498 })(window, function(t, e, i, o, n, s, r) { 1499 function a(t, e) { 1500 return function(i, o) { 1501 for (var n = 0; n < t.length; n++) { 1502 var s = t[n], 1503 r = i.sortData[s], 1504 a = o.sortData[s]; 1505 if (r > a || r < a) { 1506 var u = void 0 !== e[s] ? e[s] : e, 1507 h = u ? 1 : -1; 1508 return (r > a ? 1 : -1) * h; 1509 } 1510 } 1511 return 0; 1512 }; 1513 } 1514 var u = t.jQuery, 1515 h = String.prototype.trim 1516 ? function(t) { 1517 return t.trim(); 1518 } 1519 : function(t) { 1520 return t.replace(/^\s+|\s+$/g, ""); 1521 }, 1522 d = e.create("isotope", { 1523 layoutMode: "masonry", 1524 isJQueryFiltering: !0, 1525 sortAscending: !0, 1526 }); 1527 (d.Item = s), (d.LayoutMode = r); 1528 var l = d.prototype; 1529 (l._create = function() { 1530 (this.itemGUID = 0), 1531 (this._sorters = {}), 1532 this._getSorters(), 1533 e.prototype._create.call(this), 1534 (this.modes = {}), 1535 (this.filteredItems = this.items), 1536 (this.sortHistory = ["original-order"]); 1537 for (var t in r.modes) this._initLayoutMode(t); 1538 }), 1539 (l.reloadItems = function() { 1540 (this.itemGUID = 0), e.prototype.reloadItems.call(this); 1541 }), 1542 (l._itemize = function() { 1543 for ( 1544 var t = e.prototype._itemize.apply(this, arguments), i = 0; 1545 i < t.length; 1546 i++ 1547 ) { 1548 var o = t[i]; 1549 o.id = this.itemGUID++; 1550 } 1551 return this._updateItemsSortData(t), t; 1552 }), 1553 (l._initLayoutMode = function(t) { 1554 var e = r.modes[t], 1555 i = this.options[t] || {}; 1556 (this.options[t] = e.options ? n.extend(e.options, i) : i), 1557 (this.modes[t] = new e(this)); 1558 }), 1559 (l.layout = function() { 1560 return !this._isLayoutInited && this._getOption("initLayout") 1561 ? void this.arrange() 1562 : void this._layout(); 1563 }), 1564 (l._layout = function() { 1565 var t = this._getIsInstant(); 1566 this._resetLayout(), 1567 this._manageStamps(), 1568 this.layoutItems(this.filteredItems, t), 1569 (this._isLayoutInited = !0); 1570 }), 1571 (l.arrange = function(t) { 1572 this.option(t), this._getIsInstant(); 1573 var e = this._filter(this.items); 1574 (this.filteredItems = e.matches), 1575 this._bindArrangeComplete(), 1576 this._isInstant 1577 ? this._noTransition(this._hideReveal, [e]) 1578 : this._hideReveal(e), 1579 this._sort(), 1580 this._layout(); 1581 }), 1582 (l._init = l.arrange), 1583 (l._hideReveal = function(t) { 1584 this.reveal(t.needReveal), this.hide(t.needHide); 1585 }), 1586 (l._getIsInstant = function() { 1587 var t = this._getOption("layoutInstant"), 1588 e = void 0 !== t ? t : !this._isLayoutInited; 1589 return (this._isInstant = e), e; 1590 }), 1591 (l._bindArrangeComplete = function() { 1592 function t() { 1593 e && 1594 i && 1595 o && 1596 n.dispatchEvent("arrangeComplete", null, [n.filteredItems]); 1597 } 1598 var e, 1599 i, 1600 o, 1601 n = this; 1602 this.once("layoutComplete", function() { 1603 (e = !0), t(); 1604 }), 1605 this.once("hideComplete", function() { 1606 (i = !0), t(); 1607 }), 1608 this.once("revealComplete", function() { 1609 (o = !0), t(); 1610 }); 1611 }), 1612 (l._filter = function(t) { 1613 var e = this.options.filter; 1614 e = e || "*"; 1615 for ( 1616 var i = [], o = [], n = [], s = this._getFilterTest(e), r = 0; 1617 r < t.length; 1618 r++ 1619 ) { 1620 var a = t[r]; 1621 if (!a.isIgnored) { 1622 var u = s(a); 1623 u && i.push(a), 1624 u && a.isHidden ? o.push(a) : u || a.isHidden || n.push(a); 1625 } 1626 } 1627 return { matches: i, needReveal: o, needHide: n }; 1628 }), 1629 (l._getFilterTest = function(t) { 1630 return u && this.options.isJQueryFiltering 1631 ? function(e) { 1632 return u(e.element).is(t); 1633 } 1634 : "function" == typeof t 1635 ? function(e) { 1636 return t(e.element); 1637 } 1638 : function(e) { 1639 return o(e.element, t); 1640 }; 1641 }), 1642 (l.updateSortData = function(t) { 1643 var e; 1644 t ? ((t = n.makeArray(t)), (e = this.getItems(t))) : (e = this.items), 1645 this._getSorters(), 1646 this._updateItemsSortData(e); 1647 }), 1648 (l._getSorters = function() { 1649 var t = this.options.getSortData; 1650 for (var e in t) { 1651 var i = t[e]; 1652 this._sorters[e] = f(i); 1653 } 1654 }), 1655 (l._updateItemsSortData = function(t) { 1656 for (var e = t && t.length, i = 0; e && i < e; i++) { 1657 var o = t[i]; 1658 o.updateSortData(); 1659 } 1660 }); 1661 var f = (function() { 1662 function t(t) { 1663 if ("string" != typeof t) return t; 1664 var i = h(t).split(" "), 1665 o = i[0], 1666 n = o.match(/^\[(.+)\]$/), 1667 s = n && n[1], 1668 r = e(s, o), 1669 a = d.sortDataParsers[i[1]]; 1670 return (t = a 1671 ? function(t) { 1672 return t && a(r(t)); 1673 } 1674 : function(t) { 1675 return t && r(t); 1676 }); 1677 } 1678 function e(t, e) { 1679 return t 1680 ? function(e) { 1681 return e.getAttribute(t); 1682 } 1683 : function(t) { 1684 var i = t.querySelector(e); 1685 return i && i.textContent; 1686 }; 1687 } 1688 return t; 1689 })(); 1690 (d.sortDataParsers = { 1691 parseInt: function(t) { 1692 return parseInt(t, 10); 1693 }, 1694 parseFloat: function(t) { 1695 return parseFloat(t); 1696 }, 1697 }), 1698 (l._sort = function() { 1699 if (this.options.sortBy) { 1700 var t = n.makeArray(this.options.sortBy); 1701 this._getIsSameSortBy(t) || 1702 (this.sortHistory = t.concat(this.sortHistory)); 1703 var e = a(this.sortHistory, this.options.sortAscending); 1704 this.filteredItems.sort(e); 1705 } 1706 }), 1707 (l._getIsSameSortBy = function(t) { 1708 for (var e = 0; e < t.length; e++) 1709 if (t[e] != this.sortHistory[e]) return !1; 1710 return !0; 1711 }), 1712 (l._mode = function() { 1713 var t = this.options.layoutMode, 1714 e = this.modes[t]; 1715 if (!e) throw new Error("No layout mode: " + t); 1716 return (e.options = this.options[t]), e; 1717 }), 1718 (l._resetLayout = function() { 1719 e.prototype._resetLayout.call(this), this._mode()._resetLayout(); 1720 }), 1721 (l._getItemLayoutPosition = function(t) { 1722 return this._mode()._getItemLayoutPosition(t); 1723 }), 1724 (l._manageStamp = function(t) { 1725 this._mode()._manageStamp(t); 1726 }), 1727 (l._getContainerSize = function() { 1728 return this._mode()._getContainerSize(); 1729 }), 1730 (l.needsResizeLayout = function() { 1731 return this._mode().needsResizeLayout(); 1732 }), 1733 (l.appended = function(t) { 1734 var e = this.addItems(t); 1735 if (e.length) { 1736 var i = this._filterRevealAdded(e); 1737 this.filteredItems = this.filteredItems.concat(i); 1738 } 1739 }), 1740 (l.prepended = function(t) { 1741 var e = this._itemize(t); 1742 if (e.length) { 1743 this._resetLayout(), this._manageStamps(); 1744 var i = this._filterRevealAdded(e); 1745 this.layoutItems(this.filteredItems), 1746 (this.filteredItems = i.concat(this.filteredItems)), 1747 (this.items = e.concat(this.items)); 1748 } 1749 }), 1750 (l._filterRevealAdded = function(t) { 1751 var e = this._filter(t); 1752 return ( 1753 this.hide(e.needHide), 1754 this.reveal(e.matches), 1755 this.layoutItems(e.matches, !0), 1756 e.matches 1757 ); 1758 }), 1759 (l.insert = function(t) { 1760 var e = th
1760is.addItems(t); 1761 if (e.length) { 1762 var i, 1763 o, 1764 n = e.length; 1765 for (i = 0; i < n; i++) 1766 (o = e[i]), this.element.appendChild(o.element); 1767 var s = this._filter(e).matches; 1768 for (i = 0; i < n; i++) e[i].isLayoutInstant = !0; 1769 for (this.arrange(), i = 0; i < n; i++) delete e[i].isLayoutInstant; 1770 this.reveal(s); 1771 } 1772 }); 1773 var c = l.remove; 1774 return ( 1775 (l.remove = function(t) { 1776 t = n.makeArray(t); 1777 var e = this.getItems(t); 1778 c.call(this, t); 1779 for (var i = e && e.length, o = 0; i && o < i; o++) { 1780 var s = e[o]; 1781 n.removeFrom(this.filteredItems, s); 1782 } 1783 }), 1784 (l.shuffle = function() { 1785 for (var t = 0; t < this.items.length; t++) { 1786 var e = this.items[t]; 1787 e.sortData.random = Math.random(); 1788 } 1789 (this.options.sortBy = "random"), this._sort(), this._layout(); 1790 }), 1791 (l._noTransition = function(t, e) { 1792 var i = this.options.transitionDuration; 1793 this.options.transitionDuration = 0; 1794 var o = t.apply(this, e); 1795 return (this.options.transitionDuration = i), o; 1796 }), 1797 (l.getFilteredItemElements = function() { 1798 return this.filteredItems.map(function(t) { 1799 return t.element; 1800 }); 1801 }), 1802 d 1803 ); 1804 });
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.