-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgallery.pkgd.min.js
64 lines (64 loc) · 127 KB
/
gallery.pkgd.min.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
/*!
* gallery.js v1.3.2, (c) 2016 Snr Brnjna <[email protected]>, licenced under modified MIT
* see https://github.com/snrbrnjna/galleryjs.git
*/
!function(a,b){"function"==typeof define&&define.amd?define([],b):a.GalleryApp=b()}(this,function(){/**
* @license almond 0.2.9 Copyright (c) 2011-2014, The Dojo Foundation All Rights Reserved.
* Available via the MIT or new BSD license.
* see: https://github.com/jrburke/almond for details
*/
var a,b,c;/*!
* eventie v1.0.6
* event binding helper
* eventie.bind( elem, 'click', myFn )
* eventie.unbind( elem, 'click', myFn )
* MIT license
*/
/*!
* getStyleProperty v1.0.4
* original by kangax
* http://perfectionkills.com/feature-testing-css-properties/
* MIT license
*/
/*!
* getSize v1.2.2
* measure size of elements
* MIT license
*/
/*!
* docReady v1.0.4
* Cross browser DOMContentLoaded event emitter
* MIT license
*/
/*!
* Outlayer v1.4.2
* the brains and guts of a layout library
* MIT license
*/
/*!
* Masonry v3.1.5
* Cascading grid layout library
* http://masonry.desandro.com
* MIT License
* by David DeSandro
*/
/*!
* Fluid Masonry v1.0.1
* extends the cascading grid layout library of
* http://masonry.desandro.com by filling up the container in its full width.
* MIT License
*/
/*! Hammer.JS - v2.0.6 - 2015-12-23
* http://hammerjs.github.io/
*
* Copyright (c) 2015 Jorik Tangelder;
* Licensed under the license */
/*!
* imagesLoaded v3.1.8
* JavaScript is all like "You images are done yet or what?"
* MIT License
*/
return function(d){function e(a,b){return u.call(a,b)}function f(a,b){var c,d,e,f,g,h,i,j,k,l,m,n=b&&b.split("/"),o=s.map,p=o&&o["*"]||{};if(a&&"."===a.charAt(0))if(b){for(n=n.slice(0,n.length-1),a=a.split("/"),g=a.length-1,s.nodeIdCompat&&w.test(a[g])&&(a[g]=a[g].replace(w,"")),a=n.concat(a),k=0;k<a.length;k+=1)if(m=a[k],"."===m)a.splice(k,1),k-=1;else if(".."===m){if(1===k&&(".."===a[2]||".."===a[0]))break;k>0&&(a.splice(k-1,2),k-=2)}a=a.join("/")}else 0===a.indexOf("./")&&(a=a.substring(2));if((n||p)&&o){for(c=a.split("/"),k=c.length;k>0;k-=1){if(d=c.slice(0,k).join("/"),n)for(l=n.length;l>0;l-=1)if(e=o[n.slice(0,l).join("/")],e&&(e=e[d])){f=e,h=k;break}if(f)break;!i&&p&&p[d]&&(i=p[d],j=k)}!f&&i&&(f=i,h=j),f&&(c.splice(0,h,f),a=c.join("/"))}return a}function g(a,b){return function(){return n.apply(d,v.call(arguments,0).concat([a,b]))}}function h(a){return function(b){return f(b,a)}}function i(a){return function(b){q[a]=b}}function j(a){if(e(r,a)){var b=r[a];delete r[a],t[a]=!0,m.apply(d,b)}if(!e(q,a)&&!e(t,a))throw new Error("No "+a);return q[a]}function k(a){var b,c=a?a.indexOf("!"):-1;return c>-1&&(b=a.substring(0,c),a=a.substring(c+1,a.length)),[b,a]}function l(a){return function(){return s&&s.config&&s.config[a]||{}}}var m,n,o,p,q={},r={},s={},t={},u=Object.prototype.hasOwnProperty,v=[].slice,w=/\.js$/;o=function(a,b){var c,d=k(a),e=d[0];return a=d[1],e&&(e=f(e,b),c=j(e)),e?a=c&&c.normalize?c.normalize(a,h(b)):f(a,b):(a=f(a,b),d=k(a),e=d[0],a=d[1],e&&(c=j(e))),{f:e?e+"!"+a:a,n:a,pr:e,p:c}},p={require:function(a){return g(a)},exports:function(a){var b=q[a];return"undefined"!=typeof b?b:q[a]={}},module:function(a){return{id:a,uri:"",exports:q[a],config:l(a)}}},m=function(a,b,c,f){var h,k,l,m,n,s,u=[],v=typeof c;if(f=f||a,"undefined"===v||"function"===v){for(b=!b.length&&c.length?["require","exports","module"]:b,n=0;n<b.length;n+=1)if(m=o(b[n],f),k=m.f,"require"===k)u[n]=p.require(a);else if("exports"===k)u[n]=p.exports(a),s=!0;else if("module"===k)h=u[n]=p.module(a);else if(e(q,k)||e(r,k)||e(t,k))u[n]=j(k);else{if(!m.p)throw new Error(a+" missing "+k);m.p.load(m.n,g(f,!0),i(k),{}),u[n]=q[k]}l=c?c.apply(q[a],u):void 0,a&&(h&&h.exports!==d&&h.exports!==q[a]?q[a]=h.exports:l===d&&s||(q[a]=l))}else a&&(q[a]=c)},a=b=n=function(a,b,c,e,f){if("string"==typeof a)return p[a]?p[a](b):j(o(a,b).f);if(!a.splice){if(s=a,s.deps&&n(s.deps,s.callback),!b)return;b.splice?(a=b,b=c,c=null):a=d}return b=b||function(){},"function"==typeof c&&(c=e,e=f),e?m(d,a,b,c):setTimeout(function(){m(d,a,b,c)},4),n},n.config=function(a){return n(a)},a._defined=q,c=function(a,b,c){b.splice||(c=b,b=[]),e(q,a)||e(r,a)||(r[a]=[a,b,c])},c.amd={jQuery:!0}}(),c("almond",function(){}),function(){var a=this,b=a._,c={},d=Array.prototype,e=Object.prototype,f=Function.prototype,g=d.push,h=d.slice,i=d.concat,j=e.toString,k=e.hasOwnProperty,l=d.forEach,m=d.map,n=d.reduce,o=d.reduceRight,p=d.filter,q=d.every,r=d.some,s=d.indexOf,t=d.lastIndexOf,u=Array.isArray,v=Object.keys,w=f.bind,x=function(a){return a instanceof x?a:this instanceof x?void(this._wrapped=a):new x(a)};"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=x),exports._=x):a._=x,x.VERSION="1.4.4";var y=x.each=x.forEach=function(a,b,d){if(null!=a)if(l&&a.forEach===l)a.forEach(b,d);else if(a.length===+a.length){for(var e=0,f=a.length;f>e;e++)if(b.call(d,a[e],e,a)===c)return}else for(var g in a)if(x.has(a,g)&&b.call(d,a[g],g,a)===c)return};x.map=x.collect=function(a,b,c){var d=[];return null==a?d:m&&a.map===m?a.map(b,c):(y(a,function(a,e,f){d[d.length]=b.call(c,a,e,f)}),d)};var z="Reduce of empty array with no initial value";x.reduce=x.foldl=x.inject=function(a,b,c,d){var e=arguments.length>2;if(null==a&&(a=[]),n&&a.reduce===n)return d&&(b=x.bind(b,d)),e?a.reduce(b,c):a.reduce(b);if(y(a,function(a,f,g){e?c=b.call(d,c,a,f,g):(c=a,e=!0)}),!e)throw new TypeError(z);return c},x.reduceRight=x.foldr=function(a,b,c,d){var e=arguments.length>2;if(null==a&&(a=[]),o&&a.reduceRight===o)return d&&(b=x.bind(b,d)),e?a.reduceRight(b,c):a.reduceRight(b);var f=a.length;if(f!==+f){var g=x.keys(a);f=g.length}if(y(a,function(h,i,j){i=g?g[--f]:--f,e?c=b.call(d,c,a[i],i,j):(c=a[i],e=!0)}),!e)throw new TypeError(z);return c},x.find=x.detect=function(a,b,c){var d;return A(a,function(a,e,f){return b.call(c,a,e,f)?(d=a,!0):void 0}),d},x.filter=x.select=function(a,b,c){var d=[];return null==a?d:p&&a.filter===p?a.filter(b,c):(y(a,function(a,e,f){b.call(c,a,e,f)&&(d[d.length]=a)}),d)},x.reject=function(a,b,c){return x.filter(a,function(a,d,e){return!b.call(c,a,d,e)},c)},x.every=x.all=function(a,b,d){b||(b=x.identity);var e=!0;return null==a?e:q&&a.every===q?a.every(b,d):(y(a,function(a,f,g){return(e=e&&b.call(d,a,f,g))?void 0:c}),!!e)};var A=x.some=x.any=function(a,b,d){b||(b=x.identity);var e=!1;return null==a?e:r&&a.some===r?a.some(b,d):(y(a,function(a,f,g){return e||(e=b.call(d,a,f,g))?c:void 0}),!!e)};x.contains=x.include=function(a,b){return null==a?!1:s&&a.indexOf===s?-1!=a.indexOf(b):A(a,function(a){return a===b})},x.invoke=function(a,b){var c=h.call(arguments,2),d=x.isFunction(b);return x.map(a,function(a){return(d?b:a[b]).apply(a,c)})},x.pluck=function(a,b){return x.map(a,function(a){return a[b]})},x.where=function(a,b,c){return x.isEmpty(b)?c?null:[]:x[c?"find":"filter"](a,function(a){for(var c in b)if(b[c]!==a[c])return!1;return!0})},x.findWhere=function(a,b){return x.where(a,b,!0)},x.max=function(a,b,c){if(!b&&x.isArray(a)&&a[0]===+a[0]&&a.length<65535)return Math.max.apply(Math,a);if(!b&&x.isEmpty(a))return-1/0;var d={computed:-1/0,value:-1/0};return y(a,function(a,e,f){var g=b?b.call(c,a,e,f):a;g>=d.computed&&(d={value:a,computed:g})}),d.value},x.min=function(a,b,c){if(!b&&x.isArray(a)&&a[0]===+a[0]&&a.length<65535)return Math.min.apply(Math,a);if(!b&&x.isEmpty(a))return 1/0;var d={computed:1/0,value:1/0};return y(a,function(a,e,f){var g=b?b.call(c,a,e,f):a;g<d.computed&&(d={value:a,computed:g})}),d.value},x.shuffle=function(a){var b,c=0,d=[];return y(a,function(a){b=x.random(c++),d[c-1]=d[b],d[b]=a}),d};var B=function(a){return x.isFunction(a)?a:function(b){return b[a]}};x.sortBy=function(a,b,c){var d=B(b);return x.pluck(x.map(a,function(a,b,e){return{value:a,index:b,criteria:d.call(c,a,b,e)}}).sort(function(a,b){var c=a.criteria,d=b.criteria;if(c!==d){if(c>d||void 0===c)return 1;if(d>c||void 0===d)return-1}return a.index<b.index?-1:1}),"value")};var C=function(a,b,c,d){var e={},f=B(b||x.identity);return y(a,function(b,g){var h=f.call(c,b,g,a);d(e,h,b)}),e};x.groupBy=function(a,b,c){return C(a,b,c,function(a,b,c){(x.has(a,b)?a[b]:a[b]=[]).push(c)})},x.countBy=function(a,b,c){return C(a,b,c,function(a,b){x.has(a,b)||(a[b]=0),a[b]++})},x.sortedIndex=function(a,b,c,d){c=null==c?x.identity:B(c);for(var e=c.call(d,b),f=0,g=a.length;g>f;){var h=f+g>>>1;c.call(d,a[h])<e?f=h+1:g=h}return f},x.toArray=function(a){return a?x.isArray(a)?h.call(a):a.length===+a.length?x.map(a,x.identity):x.values(a):[]},x.size=function(a){return null==a?0:a.length===+a.length?a.length:x.keys(a).length},x.first=x.head=x.take=function(a,b,c){return null==a?void 0:null==b||c?a[0]:h.call(a,0,b)},x.initial=function(a,b,c){return h.call(a,0,a.length-(null==b||c?1:b))},x.last=function(a,b,c){return null==a?void 0:null==b||c?a[a.length-1]:h.call(a,Math.max(a.length-b,0))},x.rest=x.tail=x.drop=function(a,b,c){return h.call(a,null==b||c?1:b)},x.compact=function(a){return x.filter(a,x.identity)};var D=function(a,b,c){return y(a,function(a){x.isArray(a)?b?g.apply(c,a):D(a,b,c):c.push(a)}),c};x.flatten=function(a,b){return D(a,b,[])},x.without=function(a){return x.difference(a,h.call(arguments,1))},x.uniq=x.unique=function(a,b,c,d){x.isFunction(b)&&(d=c,c=b,b=!1);var e=c?x.map(a,c,d):a,f=[],g=[];return y(e,function(c,d){(b?d&&g[g.length-1]===c:x.contains(g,c))||(g.push(c),f.push(a[d]))}),f},x.union=function(){return x.uniq(i.apply(d,arguments))},x.intersection=function(a){var b=h.call(arguments,1);return x.filter(x.uniq(a),function(a){return x.every(b,function(b){return x.indexOf(b,a)>=0})})},x.difference=function(a){var b=i.apply(d,h.call(arguments,1));return x.filter(a,function(a){return!x.contains(b,a)})},x.zip=function(){for(var a=h.call(arguments),b=x.max(x.pluck(a,"length")),c=new Array(b),d=0;b>d;d++)c[d]=x.pluck(a,""+d);return c},x.object=function(a,b){if(null==a)return{};for(var c={},d=0,e=a.length;e>d;d++)b?c[a[d]]=b[d]:c[a[d][0]]=a[d][1];return c},x.indexOf=function(a,b,c){if(null==a)return-1;var d=0,e=a.length;if(c){if("number"!=typeof c)return d=x.sortedIndex(a,b),a[d]===b?d:-1;d=0>c?Math.max(0,e+c):c}if(s&&a.indexOf===s)return a.indexOf(b,c);for(;e>d;d++)if(a[d]===b)return d;return-1},x.lastIndexOf=function(a,b,c){if(null==a)return-1;var d=null!=c;if(t&&a.lastIndexOf===t)return d?a.lastIndexOf(b,c):a.lastIndexOf(b);for(var e=d?c:a.length;e--;)if(a[e]===b)return e;return-1},x.range=function(a,b,c){arguments.length<=1&&(b=a||0,a=0),c=arguments[2]||1;for(var d=Math.max(Math.ceil((b-a)/c),0),e=0,f=new Array(d);d>e;)f[e++]=a,a+=c;return f},x.bind=function(a,b){if(a.bind===w&&w)return w.apply(a,h.call(arguments,1));var c=h.call(arguments,2);return function(){return a.apply(b,c.concat(h.call(arguments)))}},x.partial=function(a){var b=h.call(arguments,1);return function(){return a.apply(this,b.concat(h.call(arguments)))}},x.bindAll=function(a){var b=h.call(arguments,1);return 0===b.length&&(b=x.functions(a)),y(b,function(b){a[b]=x.bind(a[b],a)}),a},x.memoize=function(a,b){var c={};return b||(b=x.identity),function(){var d=b.apply(this,arguments);return x.has(c,d)?c[d]:c[d]=a.apply(this,arguments)}},x.delay=function(a,b){var c=h.call(arguments,2);return setTimeout(function(){return a.apply(null,c)},b)},x.defer=function(a){return x.delay.apply(x,[a,1].concat(h.call(arguments,1)))},x.throttle=function(a,b){var c,d,e,f,g=0,h=function(){g=new Date,e=null,f=a.apply(c,d)};return function(){var i=new Date,j=b-(i-g);return c=this,d=arguments,0>=j?(clearTimeout(e),e=null,g=i,f=a.apply(c,d)):e||(e=setTimeout(h,j)),f}},x.debounce=function(a,b,c){var d,e;return function(){var f=this,g=arguments,h=function(){d=null,c||(e=a.apply(f,g))},i=c&&!d;return clearTimeout(d),d=setTimeout(h,b),i&&(e=a.apply(f,g)),e}},x.once=function(a){var b,c=!1;return function(){return c?b:(c=!0,b=a.apply(this,arguments),a=null,b)}},x.wrap=function(a,b){return function(){var c=[a];return g.apply(c,arguments),b.apply(this,c)}},x.compose=function(){var a=arguments;return function(){for(var b=arguments,c=a.length-1;c>=0;c--)b=[a[c].apply(this,b)];return b[0]}},x.after=function(a,b){return 0>=a?b():function(){return--a<1?b.apply(this,arguments):void 0}},x.keys=v||function(a){if(a!==Object(a))throw new TypeError("Invalid object");var b=[];for(var c in a)x.has(a,c)&&(b[b.length]=c);return b},x.values=function(a){var b=[];for(var c in a)x.has(a,c)&&b.push(a[c]);return b},x.pairs=function(a){var b=[];for(var c in a)x.has(a,c)&&b.push([c,a[c]]);return b},x.invert=function(a){var b={};for(var c in a)x.has(a,c)&&(b[a[c]]=c);return b},x.functions=x.methods=function(a){var b=[];for(var c in a)x.isFunction(a[c])&&b.push(c);return b.sort()},x.extend=function(a){return y(h.call(arguments,1),function(b){if(b)for(var c in b)a[c]=b[c]}),a},x.pick=function(a){var b={},c=i.apply(d,h.call(arguments,1));return y(c,function(c){c in a&&(b[c]=a[c])}),b},x.omit=function(a){var b={},c=i.apply(d,h.call(arguments,1));for(var e in a)x.contains(c,e)||(b[e]=a[e]);return b},x.defaults=function(a){return y(h.call(arguments,1),function(b){if(b)for(var c in b)null==a[c]&&(a[c]=b[c])}),a},x.clone=function(a){return x.isObject(a)?x.isArray(a)?a.slice():x.extend({},a):a},x.tap=function(a,b){return b(a),a};var E=function(a,b,c,d){if(a===b)return 0!==a||1/a==1/b;if(null==a||null==b)return a===b;a instanceof x&&(a=a._wrapped),b instanceof x&&(b=b._wrapped);var e=j.call(a);if(e!=j.call(b))return!1;switch(e){case"[object String]":return a==String(b);case"[object Number]":return a!=+a?b!=+b:0==a?1/a==1/b:a==+b;case"[object Date]":case"[object Boolean]":return+a==+b;case"[object RegExp]":return a.source==b.source&&a.global==b.global&&a.multiline==b.multiline&&a.ignoreCase==b.ignoreCase}if("object"!=typeof a||"object"!=typeof b)return!1;for(var f=c.length;f--;)if(c[f]==a)return d[f]==b;c.push(a),d.push(b);var g=0,h=!0;if("[object Array]"==e){if(g=a.length,h=g==b.length)for(;g--&&(h=E(a[g],b[g],c,d)););}else{var i=a.constructor,k=b.constructor;if(i!==k&&!(x.isFunction(i)&&i instanceof i&&x.isFunction(k)&&k instanceof k))return!1;for(var l in a)if(x.has(a,l)&&(g++,!(h=x.has(b,l)&&E(a[l],b[l],c,d))))break;if(h){for(l in b)if(x.has(b,l)&&!g--)break;h=!g}}return c.pop(),d.pop(),h};x.isEqual=function(a,b){return E(a,b,[],[])},x.isEmpty=function(a){if(null==a)return!0;if(x.isArray(a)||x.isString(a))return 0===a.length;for(var b in a)if(x.has(a,b))return!1;return!0},x.isElement=function(a){return!(!a||1!==a.nodeType)},x.isArray=u||function(a){return"[object Array]"==j.call(a)},x.isObject=function(a){return a===Object(a)},y(["Arguments","Function","String","Number","Date","RegExp"],function(a){x["is"+a]=function(b){return j.call(b)=="[object "+a+"]"}}),x.isArguments(arguments)||(x.isArguments=function(a){return!(!a||!x.has(a,"callee"))}),"function"!=typeof/./&&(x.isFunction=function(a){return"function"==typeof a}),x.isFinite=function(a){return isFinite(a)&&!isNaN(parseFloat(a))},x.isNaN=function(a){return x.isNumber(a)&&a!=+a},x.isBoolean=function(a){return a===!0||a===!1||"[object Boolean]"==j.call(a)},x.isNull=function(a){return null===a},x.isUndefined=function(a){return void 0===a},x.has=function(a,b){return k.call(a,b)},x.noConflict=function(){return a._=b,this},x.identity=function(a){return a},x.times=function(a,b,c){for(var d=Array(a),e=0;a>e;e++)d[e]=b.call(c,e);return d},x.random=function(a,b){return null==b&&(b=a,a=0),a+Math.floor(Math.random()*(b-a+1))};var F={escape:{"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"}};F.unescape=x.invert(F.escape);var G={escape:new RegExp("["+x.keys(F.escape).join("")+"]","g"),unescape:new RegExp("("+x.keys(F.unescape).join("|")+")","g")};x.each(["escape","unescape"],function(a){x[a]=function(b){return null==b?"":(""+b).replace(G[a],function(b){return F[a][b]})}}),x.result=function(a,b){if(null==a)return null;var c=a[b];return x.isFunction(c)?c.call(a):c},x.mixin=function(a){y(x.functions(a),function(b){var c=x[b]=a[b];x.prototype[b]=function(){var a=[this._wrapped];return g.apply(a,arguments),L.call(this,c.apply(x,a))}})};var H=0;x.uniqueId=function(a){var b=++H+"";return a?a+b:b},x.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var I=/(.)^/,J={"'":"'","\\":"\\","\r":"r","\n":"n"," ":"t","\u2028":"u2028","\u2029":"u2029"},K=/\\|'|\r|\n|\t|\u2028|\u2029/g;x.template=function(a,b,c){var d;c=x.defaults({},c,x.templateSettings);var e=new RegExp([(c.escape||I).source,(c.interpolate||I).source,(c.evaluate||I).source].join("|")+"|$","g"),f=0,g="__p+='";a.replace(e,function(b,c,d,e,h){return g+=a.slice(f,h).replace(K,function(a){return"\\"+J[a]}),c&&(g+="'+\n((__t=("+c+"))==null?'':_.escape(__t))+\n'"),d&&(g+="'+\n((__t=("+d+"))==null?'':__t)+\n'"),e&&(g+="';\n"+e+"\n__p+='"),f=h+b.length,b}),g+="';\n",c.variable||(g="with(obj||{}){\n"+g+"}\n"),g="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+g+"return __p;\n";try{d=new Function(c.variable||"obj","_",g)}catch(h){throw h.source=g,h}if(b)return d(b,x);var i=function(a){return d.call(this,a,x)};return i.source="function("+(c.variable||"obj")+"){\n"+g+"}",i},x.chain=function(a){return x(a).chain()};var L=function(a){return this._chain?x(a).chain():a};x.mixin(x),y(["pop","push","reverse","shift","sort","splice","unshift"],function(a){var b=d[a];x.prototype[a]=function(){var c=this._wrapped;return b.apply(c,arguments),"shift"!=a&&"splice"!=a||0!==c.length||delete c[0],L.call(this,c)}}),y(["concat","join","slice"],function(a){var b=d[a];x.prototype[a]=function(){return L.call(this,b.apply(this._wrapped,arguments))}}),x.extend(x.prototype,{chain:function(){return this._chain=!0,this},value:function(){return this._wrapped}})}.call(this),c("underscore",function(a){return function(){var b;return b||a._}}(this)),function(){var a,c=this,d=c.Backbone,e=[],f=e.push,g=e.slice,h=e.splice;a="undefined"!=typeof exports?exports:c.Backbone={},a.VERSION="1.0.0";var i=c._;i||"undefined"==typeof b||(i=b("underscore")),a.$=c.jQuery||c.Zepto||c.ender||c.$,a.noConflict=function(){return c.Backbone=d,this},a.emulateHTTP=!1,a.emulateJSON=!1;var j=a.Events={on:function(a,b,c){if(!l(this,"on",a,[b,c])||!b)return this;this._events||(this._events={});var d=this._events[a]||(this._events[a]=[]);return d.push({callback:b,context:c,ctx:c||this}),this},once:function(a,b,c){if(!l(this,"once",a,[b,c])||!b)return this;var d=this,e=i.once(function(){d.off(a,e),b.apply(this,arguments)});return e._callback=b,this.on(a,e,c)},off:function(a,b,c){var d,e,f,g,h,j,k,m;if(!this._events||!l(this,"off",a,[b,c]))return this;if(!a&&!b&&!c)return this._events={},this;for(g=a?[a]:i.keys(this._events),h=0,j=g.length;j>h;h++)if(a=g[h],f=this._events[a]){if(this._events[a]=d=[],b||c)for(k=0,m=f.length;m>k;k++)e=f[k],(b&&b!==e.callback&&b!==e.callback._callback||c&&c!==e.context)&&d.push(e);d.length||delete this._events[a]}return this},trigger:function(a){if(!this._events)return this;var b=g.call(arguments,1);if(!l(this,"trigger",a,b))return this;var c=this._events[a],d=this._events.all;return c&&m(c,b),d&&m(d,arguments),this},stopListening:function(a,b,c){var d=this._listeners;if(!d)return this;var e=!b&&!c;"object"==typeof b&&(c=this),a&&((d={})[a._listenerId]=a);for(var f in d)d[f].off(b,c,this),e&&delete this._listeners[f];return this}},k=/\s+/,l=function(a,b,c,d){if(!c)return!0;if("object"==typeof c){for(var e in c)a[b].apply(a,[e,c[e]].concat(d));return!1}if(k.test(c)){for(var f=c.split(k),g=0,h=f.length;h>g;g++)a[b].apply(a,[f[g]].concat(d));return!1}return!0},m=function(a,b){var c,d=-1,e=a.length,f=b[0],g=b[1],h=b[2];switch(b.length){case 0:for(;++d<e;)(c=a[d]).callback.call(c.ctx);return;case 1:for(;++d<e;)(c=a[d]).callback.call(c.ctx,f);return;case 2:for(;++d<e;)(c=a[d]).callback.call(c.ctx,f,g);return;case 3:for(;++d<e;)(c=a[d]).callback.call(c.ctx,f,g,h);return;default:for(;++d<e;)(c=a[d]).callback.apply(c.ctx,b)}},n={listenTo:"on",listenToOnce:"once"};i.each(n,function(a,b){j[b]=function(b,c,d){var e=this._listeners||(this._listeners={}),f=b._listenerId||(b._listenerId=i.uniqueId("l"));return e[f]=b,"object"==typeof c&&(d=this),b[a](c,d,this),this}}),j.bind=j.on,j.unbind=j.off,i.extend(a,j);var o=a.Model=function(a,b){var c,d=a||{};b||(b={}),this.cid=i.uniqueId("c"),this.attributes={},i.extend(this,i.pick(b,p)),b.parse&&(d=this.parse(d,b)||{}),(c=i.result(this,"defaults"))&&(d=i.defaults({},d,c)),this.set(d,b),this.changed={},this.initialize.apply(this,arguments)},p=["url","urlRoot","collection"];i.extend(o.prototype,j,{changed:null,validationError:null,idAttribute:"id",initialize:function(){},toJSON:function(){return i.clone(this.attributes)},sync:function(){return a.sync.apply(this,arguments)},get:function(a){return this.attributes[a]},escape:function(a){return i.escape(this.get(a))},has:function(a){return null!=this.get(a)},set:function(a,b,c){var d,e,f,g,h,j,k,l;if(null==a)return this;if("object"==typeof a?(e=a,c=b):(e={})[a]=b,c||(c={}),!this._validate(e,c))return!1;f=c.unset,h=c.silent,g=[],j=this._changing,this._changing=!0,j||(this._previousAttributes=i.clone(this.attributes),this.changed={}),l=this.attributes,k=this._previousAttributes,this.idAttribute in e&&(this.id=e[this.idAttribute]);for(d in e)b=e[d],i.isEqual(l[d],b)||g.push(d),i.isEqual(k[d],b)?delete this.changed[d]:this.changed[d]=b,f?delete l[d]:l[d]=b;if(!h){g.length&&(this._pending=!0);for(var m=0,n=g.length;n>m;m++)this.trigger("change:"+g[m],this,l[g[m]],c)}if(j)return this;if(!h)for(;this._pending;)this._pending=!1,this.trigger("change",this,c);return this._pending=!1,this._changing=!1,this},unset:function(a,b){return this.set(a,void 0,i.extend({},b,{unset:!0}))},clear:function(a){var b={};for(var c in this.attributes)b[c]=void 0;return this.set(b,i.extend({},a,{unset:!0}))},hasChanged:function(a){return null==a?!i.isEmpty(this.changed):i.has(this.changed,a)},changedAttributes:function(a){if(!a)return this.hasChanged()?i.clone(this.changed):!1;var b,c=!1,d=this._changing?this._previousAttributes:this.attributes;for(var e in a)i.isEqual(d[e],b=a[e])||((c||(c={}))[e]=b);return c},previous:function(a){return null!=a&&this._previousAttributes?this._previousAttributes[a]:null},previousAttributes:function(){return i.clone(this._previousAttributes)},fetch:function(a){a=a?i.clone(a):{},void 0===a.parse&&(a.parse=!0);var b=this,c=a.success;return a.success=function(d){return b.set(b.parse(d,a),a)?(c&&c(b,d,a),void b.trigger("sync",b,d,a)):!1},M(this,a),this.sync("read",this,a)},save:function(a,b,c){var d,e,f,g=this.attributes;if(null==a||"object"==typeof a?(d=a,c=b):(d={})[a]=b,!(!d||c&&c.wait||this.set(d,c)))return!1;if(c=i.extend({validate:!0},c),!this._validate(d,c))return!1;d&&c.wait&&(this.attributes=i.extend({},g,d)),void 0===c.parse&&(c.parse=!0);var h=this,j=c.success;return c.success=function(a){h.attributes=g;var b=h.parse(a,c);return c.wait&&(b=i.extend(d||{},b)),i.isObject(b)&&!h.set(b,c)?!1:(j&&j(h,a,c),void h.trigger("sync",h,a,c))},M(this,c),e=this.isNew()?"create":c.patch?"patch":"update","patch"===e&&(c.attrs=d),f=this.sync(e,this,c),d&&c.wait&&(this.attributes=g),f},destroy:function(a){a=a?i.clone(a):{};var b=this,c=a.success,d=function(){b.trigger("destroy",b,b.collection,a)};if(a.success=function(e){(a.wait||b.isNew())&&d(),c&&c(b,e,a),b.isNew()||b.trigger("sync",b,e,a)},this.isNew())return a.success(),!1;M(this,a);var e=this.sync("delete",this,a);return a.wait||d(),e},url:function(){var a=i.result(this,"urlRoot")||i.result(this.collection,"url")||L();return this.isNew()?a:a+("/"===a.charAt(a.length-1)?"":"/")+encodeURIComponent(this.id)},parse:function(a){return a},clone:function(){return new this.constructor(this.attributes)},isNew:function(){return null==this.id},isValid:function(a){return this._validate({},i.extend(a||{},{validate:!0}))},_validate:function(a,b){if(!b.validate||!this.validate)return!0;a=i.extend({},this.attributes,a);var c=this.validationError=this.validate(a,b)||null;return c?(this.trigger("invalid",this,c,i.extend(b||{},{validationError:c})),!1):!0}});var q=["keys","values","pairs","invert","pick","omit"];i.each(q,function(a){o.prototype[a]=function(){var b=g.call(arguments);return b.unshift(this.attributes),i[a].apply(i,b)}});var r=a.Collection=function(a,b){b||(b={}),b.url&&(this.url=b.url),b.model&&(this.model=b.model),void 0!==b.comparator&&(this.comparator=b.comparator),this._reset(),this.initialize.apply(this,arguments),a&&this.reset(a,i.extend({silent:!0},b))},s={add:!0,remove:!0,merge:!0},t={add:!0,merge:!1,remove:!1};i.extend(r.prototype,j,{model:o,initialize:function(){},toJSON:function(a){return this.map(function(b){return b.toJSON(a)})},sync:function(){return a.sync.apply(this,arguments)},add:function(a,b){return this.set(a,i.defaults(b||{},t))},remove:function(a,b){a=i.isArray(a)?a.slice():[a],b||(b={});var c,d,e,f;for(c=0,d=a.length;d>c;c++)f=this.get(a[c]),f&&(delete this._byId[f.id],delete this._byId[f.cid],e=this.indexOf(f),this.models.splice(e,1),this.length--,b.silent||(b.index=e,f.trigger("remove",f,this,b)),this._removeReference(f));return this},set:function(a,b){b=i.defaults(b||{},s),b.parse&&(a=this.parse(a,b)),i.isArray(a)||(a=a?[a]:[]);var c,d,e,g,j,k=b.at,l=this.comparator&&null==k&&b.sort!==!1,m=i.isString(this.comparator)?this.comparator:null,n=[],o=[],p={};for(c=0,d=a.length;d>c;c++)(e=this._prepareModel(a[c],b))&&((g=this.get(e))?(b.remove&&(p[g.cid]=!0),b.merge&&(g.set(e.attributes,b),l&&!j&&g.hasChanged(m)&&(j=!0))):b.add&&(n.push(e),e.on("all",this._onModelEvent,this),this._byId[e.cid]=e,null!=e.id&&(this._byId[e.id]=e)));if(b.remove){for(c=0,d=this.length;d>c;++c)p[(e=this.models[c]).cid]||o.push(e);o.length&&this.remove(o,b)}if(n.length&&(l&&(j=!0),this.length+=n.length,null!=k?h.apply(this.models,[k,0].concat(n)):f.apply(this.models,n)),j&&this.sort({silent:!0}),b.silent)return this;for(c=0,d=n.length;d>c;c++)(e=n[c]).trigger("add",e,this,b);return j&&this.trigger("sort",this,b),this},reset:function(a,b){b||(b={});for(var c=0,d=this.models.length;d>c;c++)this._removeReference(this.models[c]);return b.previousModels=this.models,this._reset(),this.add(a,i.extend({silent:!0},b)),b.silent||this.trigger("reset",this,b),this},push:function(a,b){return a=this._prepareModel(a,b),this.add(a,i.extend({at:this.length},b)),a},pop:function(a){var b=this.at(this.length-1);return this.remove(b,a),b},unshift:function(a,b){return a=this._prepareModel(a,b),this.add(a,i.extend({at:0},b)),a},shift:function(a){var b=this.at(0);return this.remove(b,a),b},slice:function(a,b){return this.models.slice(a,b)},get:function(a){return null==a?void 0:this._byId[null!=a.id?a.id:a.cid||a]},at:function(a){return this.models[a]},where:function(a,b){return i.isEmpty(a)?b?void 0:[]:this[b?"find":"filter"](function(b){for(var c in a)if(a[c]!==b.get(c))return!1;return!0})},findWhere:function(a){return this.where(a,!0)},sort:function(a){if(!this.comparator)throw new Error("Cannot sort a set without a comparator");return a||(a={}),i.isString(this.comparator)||1===this.comparator.length?this.models=this.sortBy(this.comparator,this):this.models.sort(i.bind(this.comparator,this)),a.silent||this.trigger("sort",this,a),this},sortedIndex:function(a,b,c){b||(b=this.comparator);var d=i.isFunction(b)?b:function(a){return a.get(b)};return i.sortedIndex(this.models,a,d,c)},pluck:function(a){return i.invoke(this.models,"get",a)},fetch:function(a){a=a?i.clone(a):{},void 0===a.parse&&(a.parse=!0);var b=a.success,c=this;return a.success=function(d){var e=a.reset?"reset":"set";c[e](d,a),b&&b(c,d,a),c.trigger("sync",c,d,a)},M(this,a),this.sync("read",this,a)},create:function(a,b){if(b=b?i.clone(b):{},!(a=this._prepareModel(a,b)))return!1;b.wait||this.add(a,b);var c=this,d=b.success;return b.success=function(e){b.wait&&c.add(a,b),d&&d(a,e,b)},a.save(null,b),a},parse:function(a){return a},clone:function(){return new this.constructor(this.models)},_reset:function(){this.length=0,this.models=[],this._byId={}},_prepareModel:function(a,b){if(a instanceof o)return a.collection||(a.collection=this),a;b||(b={}),b.collection=this;var c=new this.model(a,b);return c._validate(a,b)?c:(this.trigger("invalid",this,a,b),!1)},_removeReference:function(a){this===a.collection&&delete a.collection,a.off("all",this._onModelEvent,this)},_onModelEvent:function(a,b,c,d){("add"!==a&&"remove"!==a||c===this)&&("destroy"===a&&this.remove(b,d),b&&a==="change:"+b.idAttribute&&(delete this._byId[b.previous(b.idAttribute)],null!=b.id&&(this._byId[b.id]=b)),this.trigger.apply(this,arguments))}});var u=["forEach","each","map","collect","reduce","foldl","inject","reduceRight","foldr","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","max","min","toArray","size","first","head","take","initial","rest","tail","drop","last","without","indexOf","shuffle","lastIndexOf","isEmpty","chain"];i.each(u,function(a){r.prototype[a]=function(){var b=g.call(arguments);return b.unshift(this.models),i[a].apply(i,b)}});var v=["groupBy","countBy","sortBy"];i.each(v,function(a){r.prototype[a]=function(b,c){var d=i.isFunction(b)?b:function(a){return a.get(b)};return i[a](this.models,d,c)}});var w=a.View=function(a){this.cid=i.uniqueId("view"),this._configure(a||{}),this._ensureElement(),this.initialize.apply(this,arguments),this.delegateEvents()},x=/^(\S+)\s*(.*)$/,y=["model","collection","el","id","attributes","className","tagName","events"];i.extend(w.prototype,j,{tagName:"div",$:function(a){return this.$el.find(a)},initialize:function(){},render:function(){return this},remove:function(){return this.$el.remove(),this.stopListening(),this},setElement:function(b,c){return this.$el&&this.undelegateEvents(),this.$el=b instanceof a.$?b:a.$(b),this.el=this.$el[0],c!==!1&&this.delegateEvents(),this},delegateEvents:function(a){if(!a&&!(a=i.result(this,"events")))return this;this.undelegateEvents();for(var b in a){var c=a[b];if(i.isFunction(c)||(c=this[a[b]]),c){var d=b.match(x),e=d[1],f=d[2];c=i.bind(c,this),e+=".delegateEvents"+this.cid,""===f?this.$el.on(e,c):this.$el.on(e,f,c)}}return this},undelegateEvents:function(){return this.$el.off(".delegateEvents"+this.cid),this},_configure:function(a){this.options&&(a=i.extend({},i.result(this,"options"),a)),i.extend(this,i.pick(a,y)),this.options=a},_ensureElement:function(){if(this.el)this.setElement(i.result(this,"el"),!1);else{var b=i.extend({},i.result(this,"attributes"));this.id&&(b.id=i.result(this,"id")),this.className&&(b["class"]=i.result(this,"className"));var c=a.$("<"+i.result(this,"tagName")+">").attr(b);this.setElement(c,!1)}}}),a.sync=function(b,c,d){var e=z[b];i.defaults(d||(d={}),{emulateHTTP:a.emulateHTTP,emulateJSON:a.emulateJSON});var f={type:e,dataType:"json"};if(d.url||(f.url=i.result(c,"url")||L()),null!=d.data||!c||"create"!==b&&"update"!==b&&"patch"!==b||(f.contentType="application/json",f.data=JSON.stringify(d.attrs||c.toJSON(d))),d.emulateJSON&&(f.contentType="application/x-www-form-urlencoded",f.data=f.data?{model:f.data}:{}),d.emulateHTTP&&("PUT"===e||"DELETE"===e||"PATCH"===e)){f.type="POST",d.emulateJSON&&(f.data._method=e);var g=d.beforeSend;d.beforeSend=function(a){return a.setRequestHeader("X-HTTP-Method-Override",e),g?g.apply(this,arguments):void 0}}"GET"===f.type||d.emulateJSON||(f.processData=!1),"PATCH"!==f.type||!window.ActiveXObject||window.external&&window.external.msActiveXFilteringEnabled||(f.xhr=function(){return new ActiveXObject("Microsoft.XMLHTTP")});var h=d.xhr=a.ajax(i.extend(f,d));return c.trigger("request",c,h,d),h};var z={create:"POST",update:"PUT",patch:"PATCH","delete":"DELETE",read:"GET"};a.ajax=function(){return a.$.ajax.apply(a.$,arguments)};var A=a.Router=function(a){a||(a={}),a.routes&&(this.routes=a.routes),this._bindRoutes(),this.initialize.apply(this,arguments)},B=/\((.*?)\)/g,C=/(\(\?)?:\w+/g,D=/\*\w+/g,E=/[\-{}\[\]+?.,\\\^$|#\s]/g;i.extend(A.prototype,j,{initialize:function(){},route:function(b,c,d){i.isRegExp(b)||(b=this._routeToRegExp(b)),i.isFunction(c)&&(d=c,c=""),d||(d=this[c]);var e=this;return a.history.route(b,function(f){var g=e._extractParameters(b,f);d&&d.apply(e,g),e.trigger.apply(e,["route:"+c].concat(g)),e.trigger("route",c,g),a.history.trigger("route",e,c,g)}),this},navigate:function(b,c){return a.history.navigate(b,c),this},_bindRoutes:function(){if(this.routes){this.routes=i.result(this,"routes");for(var a,b=i.keys(this.routes);null!=(a=b.pop());)this.route(a,this.routes[a])}},_routeToRegExp:function(a){return a=a.replace(E,"\\$&").replace(B,"(?:$1)?").replace(C,function(a,b){return b?a:"([^/]+)"}).replace(D,"(.*?)"),new RegExp("^"+a+"$")},_extractParameters:function(a,b){var c=a.exec(b).slice(1);return i.map(c,function(a){return a?decodeURIComponent(a):null})}});var F=a.History=function(){this.handlers=[],i.bindAll(this,"checkUrl"),"undefined"!=typeof window&&(this.location=window.location,this.history=window.history)},G=/^[#\/]|\s+$/g,H=/^\/+|\/+$/g,I=/msie [\w.]+/,J=/\/$/;F.started=!1,i.extend(F.prototype,j,{interval:50,getHash:function(a){var b=(a||this).location.href.match(/#(.*)$/);return b?b[1]:""},getFragment:function(a,b){if(null==a)if(this._hasPushState||!this._wantsHashChange||b){a=this.location.pathname;var c=this.root.replace(J,"");a.indexOf(c)||(a=a.substr(c.length))}else a=this.getHash();return a.replace(G,"")},start:function(b){if(F.started)throw new Error("Backbone.history has already been started");F.started=!0,this.options=i.extend({},{root:"/"},this.options,b),this.root=this.options.root,this._wantsHashChange=this.options.hashChange!==!1,this._wantsPushState=!!this.options.pushState,this._hasPushState=!!(this.options.pushState&&this.history&&this.history.pushState);
var c=this.getFragment(),d=document.documentMode,e=I.exec(navigator.userAgent.toLowerCase())&&(!d||7>=d);this.root=("/"+this.root+"/").replace(H,"/"),e&&this._wantsHashChange&&(this.iframe=a.$('<iframe src="javascript:0" tabindex="-1" />').hide().appendTo("body")[0].contentWindow,this.navigate(c)),this._hasPushState?a.$(window).on("popstate",this.checkUrl):this._wantsHashChange&&"onhashchange"in window&&!e?a.$(window).on("hashchange",this.checkUrl):this._wantsHashChange&&(this._checkUrlInterval=setInterval(this.checkUrl,this.interval)),this.fragment=c;var f=this.location,g=f.pathname.replace(/[^\/]$/,"$&/")===this.root;return this._wantsHashChange&&this._wantsPushState&&!this._hasPushState&&!g?(this.fragment=this.getFragment(null,!0),this.location.replace(this.root+this.location.search+"#"+this.fragment),!0):(this._wantsPushState&&this._hasPushState&&g&&f.hash&&(this.fragment=this.getHash().replace(G,""),this.history.replaceState({},document.title,this.root+this.fragment+f.search)),this.options.silent?void 0:this.loadUrl())},stop:function(){a.$(window).off("popstate",this.checkUrl).off("hashchange",this.checkUrl),clearInterval(this._checkUrlInterval),F.started=!1},route:function(a,b){this.handlers.unshift({route:a,callback:b})},checkUrl:function(){var a=this.getFragment();return a===this.fragment&&this.iframe&&(a=this.getFragment(this.getHash(this.iframe))),a===this.fragment?!1:(this.iframe&&this.navigate(a),void(this.loadUrl()||this.loadUrl(this.getHash())))},loadUrl:function(a){var b=this.fragment=this.getFragment(a),c=i.any(this.handlers,function(a){return a.route.test(b)?(a.callback(b),!0):void 0});return c},navigate:function(a,b){if(!F.started)return!1;if(b&&b!==!0||(b={trigger:b}),a=this.getFragment(a||""),this.fragment!==a){this.fragment=a;var c=this.root+a;if(this._hasPushState)this.history[b.replace?"replaceState":"pushState"]({},document.title,c);else{if(!this._wantsHashChange)return this.location.assign(c);this._updateHash(this.location,a,b.replace),this.iframe&&a!==this.getFragment(this.getHash(this.iframe))&&(b.replace||this.iframe.document.open().close(),this._updateHash(this.iframe.location,a,b.replace))}b.trigger&&this.loadUrl(a)}},_updateHash:function(a,b,c){if(c){var d=a.href.replace(/(javascript:|#).*$/,"");a.replace(d+"#"+b)}else a.hash="#"+b}}),a.history=new F;var K=function(a,b){var c,d=this;c=a&&i.has(a,"constructor")?a.constructor:function(){return d.apply(this,arguments)},i.extend(c,d,b);var e=function(){this.constructor=c};return e.prototype=d.prototype,c.prototype=new e,a&&i.extend(c.prototype,a),c.__super__=d.prototype,c};o.extend=r.extend=A.extend=w.extend=F.extend=K;var L=function(){throw new Error('A "url" property or function must be specified')},M=function(a,b){var c=b.error;b.error=function(d){c&&c(a,d,b),a.trigger("error",a,d,b)}}}.call(this),c("backbone",["underscore","jquery"],function(a){return function(){var b;return b||a.Backbone}}(this)),function(a,d){"object"==typeof exports&&"function"==typeof b?module.exports=d(b("backbone")):"function"==typeof c&&c.amd?c("localstorage",["backbone"],function(b){return d(b||a.Backbone)}):d(Backbone)}(this,function(a){function b(){return(65536*(1+Math.random())|0).toString(16).substring(1)}function c(){return b()+b()+"-"+b()+"-"+b()+"-"+b()+"-"+b()+b()+b()}function d(a){return a===Object(a)}function e(a,b){for(var c=a.length;c--;)if(a[c]===b)return!0;return!1}function f(a,b){for(var c in b)a[c]=b[c];return a}function g(a,b){if(null==a)return void 0;var c=a[b];return"function"==typeof c?a[b]():c}return a.LocalStorage=window.Store=function(a,b){if(!this.localStorage)throw"Backbone.localStorage: Environment does not support localStorage.";this.name=a,this.serializer=b||{serialize:function(a){return d(a)?JSON.stringify(a):a},deserialize:function(a){return a&&JSON.parse(a)}};var c=this.localStorage().getItem(this.name);this.records=c&&c.split(",")||[]},f(a.LocalStorage.prototype,{save:function(){this.localStorage().setItem(this.name,this.records.join(","))},create:function(a){return a.id||0===a.id||(a.id=c(),a.set(a.idAttribute,a.id)),this.localStorage().setItem(this._itemName(a.id),this.serializer.serialize(a)),this.records.push(a.id.toString()),this.save(),this.find(a)},update:function(a){this.localStorage().setItem(this._itemName(a.id),this.serializer.serialize(a));var b=a.id.toString();return e(this.records,b)||(this.records.push(b),this.save()),this.find(a)},find:function(a){return this.serializer.deserialize(this.localStorage().getItem(this._itemName(a.id)))},findAll:function(){for(var a,b,c=[],d=0;d<this.records.length;d++)a=this.records[d],b=this.serializer.deserialize(this.localStorage().getItem(this._itemName(a))),null!=b&&c.push(b);return c},destroy:function(a){this.localStorage().removeItem(this._itemName(a.id));for(var b=a.id.toString(),c=0;c<this.records.length;c++)this.records[c]===b&&this.records.splice(c,1);return this.save(),a},localStorage:function(){return localStorage},_clear:function(){var a=this.localStorage(),b=new RegExp("^"+this.name+"-");a.removeItem(this.name);for(var c in a)b.test(c)&&a.removeItem(c);this.records.length=0},_storageSize:function(){return this.localStorage().length},_itemName:function(a){return this.name+"-"+a}}),a.LocalStorage.sync=window.Store.sync=a.localSync=function(b,c,d){var e,f,h=g(c,"localStorage")||g(c.collection,"localStorage"),i=a.$?a.$.Deferred&&a.$.Deferred():a.Deferred&&a.Deferred();try{switch(b){case"read":e=void 0!=c.id?h.find(c):h.findAll();break;case"create":e=h.create(c);break;case"update":e=h.update(c);break;case"delete":e=h.destroy(c)}}catch(j){f=22===j.code&&0===h._storageSize()?"Private browsing is unsupported":j.message}return e?(d&&d.success&&("0.9.10"===a.VERSION?d.success(c,e,d):d.success(e)),i&&i.resolve(e)):(f=f?f:"Record Not Found",d&&d.error&&("0.9.10"===a.VERSION?d.error(c,f,d):d.error(f)),i&&i.reject(f)),d&&d.complete&&d.complete(e),i&&i.promise()},a.ajaxSync=a.sync,a.getSyncMethod=function(b,c){var d=c&&c.ajaxSync;return d||!g(b,"localStorage")&&!g(b.collection,"localStorage")?a.ajaxSync:a.localSync},a.sync=function(b,c,d){return a.getSyncMethod(c,d).apply(this,[b,c,d])},a.LocalStorage}),function(a,b){var c,d=a.jQuery||a.Cowboy||(a.Cowboy={});d.throttle=c=function(a,c,e,f){function g(){function d(){i=+new Date,e.apply(j,l)}function g(){h=b}var j=this,k=+new Date-i,l=arguments;f&&!h&&d(),h&&clearTimeout(h),f===b&&k>a?d():c!==!0&&(h=setTimeout(f?g:d,f===b?a-k:a))}var h,i=0;return"boolean"!=typeof c&&(f=e,e=c,c=b),d.guid&&(g.guid=e.guid=e.guid||d.guid++),g},d.debounce=function(a,d,e){return e===b?c(a,d,!1):c(a,e,d!==!1)}}(this),c("vendor/jquery.throttle-debounce",function(){}),c("gallery/utils/responsive.adapter",["jquery","vendor/jquery.throttle-debounce","underscore"],function(a){var b={getMediaType:function(){if(this.mediaType)return this.mediaType;if(!window.getComputedStyle)return this.mediaType="desktop";var a=window.getComputedStyle(document.body,":after").getPropertyValue("content").match(/[a-zA-Z_\-0-9]+/g);return this.mediaType=a&&a.length>0?a[0]:"desktop"},getOptionByMediaType:function(b,c){return a.isPlainObject(b[c])?b[c][this.getMediaType()]:b[c]},presetMapperThumb:function(a){var b;switch(this.getMediaType()){case"desktop":case"pad":case"phone":b=a.get("thumb")}return b},presetMapperLarge:function(a){var b;switch(this.getMediaType()){case"desktop":b=a.get("large");break;case"pad":b=a.get("large_pads");break;case"phone":b=a.get("large_phones")}return b}};return a(window).on("resize.responsive-adapter",(a.debounce||Cowboy.debounce)(200,function(){b.mediaType=void 0})),b}),c("gallery/models/image.model",["underscore","backbone","gallery/utils/responsive.adapter"],function(a,b,c){var d=b.Model.extend({idAttribute:"digest",defaults:function(){return{thumb:{src:void 0,width:void 0,height:void 0,_view:void 0},large:{src:void 0,width:void 0,height:void 0,_view:void 0},filename:void 0,filenameOrig:void 0,digest:void 0,index:void 0,orientation:void 0,ratio:0,exif:{},meta:{},imagePagePath:void 0}},initialize:function(b,c){void 0!==c&&(a.forEach(c.presets,a.bind(function(a,c){this.attributes[c].src=a.baseurl+"/"+b.filename},this)),this.attributes.filenameOrig=b.filename.replace("-"+b.digest,""),c.gallery&&c.gallery.imagePages&&c.gallery.path&&(this.attributes.imagePagePath=c.gallery.path.replace(/\.html$/,"")+"/"+b.digest))},getThumb:function(){return c.presetMapperThumb(this)},getLarge:function(){return c.presetMapperLarge(this)},getThumbView:function(){return this._thumbView},setThumbView:function(a){this._thumbView=a},getLargeView:function(){return this._largeView},setLargeView:function(a){this._largeView=a},index:function(){return void 0===this.attributes.index?this.collection?this.collection.indexOf(this):void 0:this.attributes.index}});return d}),c("gallery/collections/image.collection",["backbone","localstorage","gallery/models/image.model"],function(a,b,c){var d=a.Collection.extend({model:c,initialize:function(b,c){c.localStorageKey&&(this.key=c.localStorageKey,this.localStorage=new a.LocalStorage(this.key))},parse:function(a){return a}});return d}),c("plugins/plugins",[],function(){for(var a,b=function(){},c=["assert","clear","count","debug","dir","dirxml","error","exception","group","groupCollapsed","groupEnd","info","log","markTimeline","profile","profileEnd","table","time","timeEnd","timeStamp","trace","warn"],d=c.length,e=window.console=window.console||{};d--;)a=c[d],e[a]||(e[a]=b);Number.prototype.padLeft=function(a,b){var c=String(a||10).length-String(this).length+1;return c>0?new Array(c).join(b||"0")+this:this},Date.parseManually=function(a){a=a.split(" ");var b=a[0].split("-"),c=a[1].split(":");return b=new Date(Date.UTC(parseInt(b[0],10),parseInt(b[1],10)-1,parseInt(b[2],10),parseInt(c[0],10),parseInt(c[1],10),parseInt(c[2],10)))},window.parseUri=function(a){for(var b=window.parseUri.options,c=b.parser[b.strictMode?"strict":"loose"].exec(a),d={},e=14;e--;)d[b.key[e]]=c[e]||"";return d[b.q.name]={},d[b.key[12]].replace(b.q.parser,function(a,c,e){c&&(d[b.q.name][c]=e)}),d},window.parseUri.options={strictMode:!1,key:["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"],q:{name:"queryKey",parser:/(?:^|&)([^&=]*)=?([^&]*)/g},parser:{strict:/^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/,loose:/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/}}}),function(a){function b(a,b){var c=(65535&a)+(65535&b),d=(a>>16)+(b>>16)+(c>>16);return d<<16|65535&c}function d(a,b){return a<<b|a>>>32-b}function e(a,c,e,f,g,h){return b(d(b(b(c,a),b(f,h)),g),e)}function f(a,b,c,d,f,g,h){return e(b&c|~b&d,a,b,f,g,h)}function g(a,b,c,d,f,g,h){return e(b&d|c&~d,a,b,f,g,h)}function h(a,b,c,d,f,g,h){return e(b^c^d,a,b,f,g,h)}function i(a,b,c,d,f,g,h){return e(c^(b|~d),a,b,f,g,h)}function j(a,c){a[c>>5]|=128<<c%32,a[(c+64>>>9<<4)+14]=c;var d,e,j,k,l,m=1732584193,n=-271733879,o=-1732584194,p=271733878;for(d=0;d<a.length;d+=16)e=m,j=n,k=o,l=p,m=f(m,n,o,p,a[d],7,-680876936),p=f(p,m,n,o,a[d+1],12,-389564586),o=f(o,p,m,n,a[d+2],17,606105819),n=f(n,o,p,m,a[d+3],22,-1044525330),m=f(m,n,o,p,a[d+4],7,-176418897),p=f(p,m,n,o,a[d+5],12,1200080426),o=f(o,p,m,n,a[d+6],17,-1473231341),n=f(n,o,p,m,a[d+7],22,-45705983),m=f(m,n,o,p,a[d+8],7,1770035416),p=f(p,m,n,o,a[d+9],12,-1958414417),o=f(o,p,m,n,a[d+10],17,-42063),n=f(n,o,p,m,a[d+11],22,-1990404162),m=f(m,n,o,p,a[d+12],7,1804603682),p=f(p,m,n,o,a[d+13],12,-40341101),o=f(o,p,m,n,a[d+14],17,-1502002290),n=f(n,o,p,m,a[d+15],22,1236535329),m=g(m,n,o,p,a[d+1],5,-165796510),p=g(p,m,n,o,a[d+6],9,-1069501632),o=g(o,p,m,n,a[d+11],14,643717713),n=g(n,o,p,m,a[d],20,-373897302),m=g(m,n,o,p,a[d+5],5,-701558691),p=g(p,m,n,o,a[d+10],9,38016083),o=g(o,p,m,n,a[d+15],14,-660478335),n=g(n,o,p,m,a[d+4],20,-405537848),m=g(m,n,o,p,a[d+9],5,568446438),p=g(p,m,n,o,a[d+14],9,-1019803690),o=g(o,p,m,n,a[d+3],14,-187363961),n=g(n,o,p,m,a[d+8],20,1163531501),m=g(m,n,o,p,a[d+13],5,-1444681467),p=g(p,m,n,o,a[d+2],9,-51403784),o=g(o,p,m,n,a[d+7],14,1735328473),n=g(n,o,p,m,a[d+12],20,-1926607734),m=h(m,n,o,p,a[d+5],4,-378558),p=h(p,m,n,o,a[d+8],11,-2022574463),o=h(o,p,m,n,a[d+11],16,1839030562),n=h(n,o,p,m,a[d+14],23,-35309556),m=h(m,n,o,p,a[d+1],4,-1530992060),p=h(p,m,n,o,a[d+4],11,1272893353),o=h(o,p,m,n,a[d+7],16,-155497632),n=h(n,o,p,m,a[d+10],23,-1094730640),m=h(m,n,o,p,a[d+13],4,681279174),p=h(p,m,n,o,a[d],11,-358537222),o=h(o,p,m,n,a[d+3],16,-722521979),n=h(n,o,p,m,a[d+6],23,76029189),m=h(m,n,o,p,a[d+9],4,-640364487),p=h(p,m,n,o,a[d+12],11,-421815835),o=h(o,p,m,n,a[d+15],16,530742520),n=h(n,o,p,m,a[d+2],23,-995338651),m=i(m,n,o,p,a[d],6,-198630844),p=i(p,m,n,o,a[d+7],10,1126891415),o=i(o,p,m,n,a[d+14],15,-1416354905),n=i(n,o,p,m,a[d+5],21,-57434055),m=i(m,n,o,p,a[d+12],6,1700485571),p=i(p,m,n,o,a[d+3],10,-1894986606),o=i(o,p,m,n,a[d+10],15,-1051523),n=i(n,o,p,m,a[d+1],21,-2054922799),m=i(m,n,o,p,a[d+8],6,1873313359),p=i(p,m,n,o,a[d+15],10,-30611744),o=i(o,p,m,n,a[d+6],15,-1560198380),n=i(n,o,p,m,a[d+13],21,1309151649),m=i(m,n,o,p,a[d+4],6,-145523070),p=i(p,m,n,o,a[d+11],10,-1120210379),o=i(o,p,m,n,a[d+2],15,718787259),n=i(n,o,p,m,a[d+9],21,-343485551),m=b(m,e),n=b(n,j),o=b(o,k),p=b(p,l);return[m,n,o,p]}function k(a){var b,c="";for(b=0;b<32*a.length;b+=8)c+=String.fromCharCode(a[b>>5]>>>b%32&255);return c}function l(a){var b,c=[];for(c[(a.length>>2)-1]=void 0,b=0;b<c.length;b+=1)c[b]=0;for(b=0;b<8*a.length;b+=8)c[b>>5]|=(255&a.charCodeAt(b/8))<<b%32;return c}function m(a){return k(j(l(a),8*a.length))}function n(a,b){var c,d,e=l(a),f=[],g=[];for(f[15]=g[15]=void 0,e.length>16&&(e=j(e,8*a.length)),c=0;16>c;c+=1)f[c]=909522486^e[c],g[c]=1549556828^e[c];return d=j(f.concat(l(b)),512+8*b.length),k(j(g.concat(d),640))}function o(a){var b,c,d="0123456789abcdef",e="";for(c=0;c<a.length;c+=1)b=a.charCodeAt(c),e+=d.charAt(b>>>4&15)+d.charAt(15&b);return e}function p(a){return unescape(encodeURIComponent(a))}function q(a){return m(p(a))}function r(a){return o(q(a))}function s(a,b){return n(p(a),p(b))}function t(a,b){return o(s(a,b))}function u(a,b,c){return b?c?s(b,a):t(b,a):c?q(a):r(a)}"function"==typeof c&&c.amd?c("md5",[],function(){return u}):a.md5=u}(this),c("gallery/models/gallery.model",["underscore","backbone","gallery/collections/image.collection","plugins/plugins","md5"],function(a,b,c,d,e){var f=b.Model.extend({url:function(){return this.get("src")},defaults:function(){return{src:"",title:"",image_pages:!1,presets:{thumb:{width:300},large:{width:800}},images:void 0}},defaultOpts:{min_col_width:{desktop:320,pad:320,phone:300},gutter_width:3,chunk_size:8,first_chunk:15,double_tap_thumb:!1,fullscreen_keys:[70,13]},initialize:function(){this.id=e(this.get("src")),this.sliderState="closed",this._current=void 0},parse:function(b){var d=b.gallery;return d.postPath=d.postPath||window.location.pathname,d.images=new c(d.images,{presets:this._parsePresets(d.presets),gallery:{baseurl:d.postBaseurl,path:d.postPath,imagePages:d.imagePages}}),d.opts=a.extend({},this.defaultOpts,d.opts,this.attributes.opts),d},_parsePresets:function(b){return a.forEach(b,function(a){var b=a.baseurl;if(!b.match(/http:\/\/|https:\/\//)){var c=parseUri(window.location.href),d=c.protocol+"://"+c.host+(c.port?":"+c.port:"");a.baseurl=0===b.indexOf("/")?d+b:d+c.directory+b}}),b},toggleSliderState:function(){this.sliderState="closed"===this.sliderState?"opened":"closed"},setCurrent:function(a){this._current=a},getCurrent:function(){return this._current},getNext:function(){if(this._current){var a=this.attributes.images,b=this._current.index();if(b<a.length-1)return a.at(b+1)}},getPrev:function(){if(this._current){var a=this._current.index();if(a>0)return this.attributes.images.at(a-1)}}});return f}),c("gallery/collections/selection.collection",["underscore","backbone","localstorage","gallery/models/image.model"],function(a,b,c,d){var e=b.Collection.extend({model:d,initialize:function(a,c){c.gallery&&(this.gallery=c.gallery,this.gallery.set("selection",this)),this.key="boolean"==typeof c.key?this.gallery.id:c.key,this.localStorage=new b.LocalStorage("GallerySelection-"+this.key),this.gallery&&this.listenToOnce(this.gallery,"change",this.initGallery),this.maxItems=c.maxItems},initGallery:function(){this.fetch(),this.listenTo(this.gallery.get("images"),"change:selected",this.selectionChanged)},parse:function(b){if(this.gallery){var c=this.gallery.get("images");a.each(b,function(a){var b=c.get(a.digest);b&&b.set("selected",!0)},this)}return b},selectionChanged:function(a,b){if(this.maxItems&&b&&this.length>=this.maxItems)return this.trigger("maxItems"),void a.set("selected",!1);var c=this.get(a.id);if(b&&!c){var d=a.clone();d.set("index",void 0),this.add(d),d.save()}else c&&c.destroy()}},{_pool:{},get:function(b,c,d){var f=b+"#"+(void 0!==c?c.id:"nixGallery");return a.has(this._pool,f)||(d=a.extend({},d,{key:b,gallery:c}),this._pool[f]=new e([],d)),this._pool[f]}});return e}),c("gallery/models/selection.gallery.model",["underscore","gallery/models/gallery.model","gallery/collections/image.collection","gallery/collections/selection.collection"],function(a,b,c,d){var e=b.extend({initialize:function(){b.prototype.initialize.apply(this,arguments),this.id=this.get("key")},fetch:function(b){var c=this.get("selection");c&&c.key===this.id?this.attributes.images=c:new d([],{gallery:this,key:this.id}),this.attributes.opts=a.extend({},this.defaultOpts,this.attributes.opts),this.attributes.images.fetch({success:a.bind(function(a,c){b.success&&b.success(this,c,b),this.trigger("change")},this),error:b.error})}});return e}),c("gallery/models/gallery.factory",["underscore","gallery/models/gallery.model","gallery/models/selection.gallery.model"],function(a,b,c){var d=function(){function d(d,f){var g=e(d);if(void 0!==g){var h,i=a.extend({},d.data("gal-opts")||d.data("opts"),f);return h=g.indexOf("selection:")>=0?new c({key:g.replace("selection:",""),opts:i}):new b({src:g,opts:i})}console.warn("GalleryFactory.create: no gallery src has been found!")}function e(a){var b=a.data("gal-src")||a.data("src");return void 0===b&&a.data("project")&&(b=a.data("project")+".json",console.warn('"data-project" as a data source for galleryjs is deprecated! Use "data-src" instead!')),b}return{create:d}}();return d}),function(a){function d(){}function e(a){function b(b){b.prototype.option||(b.prototype.option=function(b){a.isPlainObject(b)&&(this.options=a.extend(!0,this.options,b))})}function c(b,c){a.fn[b]=function(d){if("string"==typeof d){for(var g=f.call(arguments,1),h=0,i=this.length;i>h;h++){var j=this[h],k=a.data(j,b);if(k)if(a.isFunction(k[d])&&"_"!==d.charAt(0)){var l=k[d].apply(k,g);if(void 0!==l)return l}else e("no such method '"+d+"' for "+b+" instance");else e("cannot call methods on "+b+" prior to initialization; attempted to call '"+d+"'")}return this}return this.each(function(){var e=a.data(this,b);e?(e.option(d),e._init()):(e=new c(this,d),a.data(this,b,e))})}}if(a){var e="undefined"==typeof console?d:function(a){console.error(a)};return a.bridget=function(a,d){b(d),c(a,d)},a.bridget}}var f=Array.prototype.slice;"function"==typeof c&&c.amd?c("jquery-bridget/jquery.bridget",["jquery"],e):e("object"==typeof exports?b("jquery"):a.jQuery)}(window),function(a){function b(b){var c=a.event;return c.target=c.target||c.srcElement||b,c}var d=document.documentElement,e=function(){};d.addEventListener?e=function(a,b,c){a.addEventListener(b,c,!1)}:d.attachEvent&&(e=function(a,c,d){a[c+d]=d.handleEvent?function(){var c=b(a);d.handleEvent.call(d,c)}:function(){var c=b(a);d.call(a,c)},a.attachEvent("on"+c,a[c+d])});var f=function(){};d.removeEventListener?f=function(a,b,c){a.removeEventListener(b,c,!1)}:d.detachEvent&&(f=function(a,b,c){a.detachEvent("on"+b,a[b+c]);try{delete a[b+c]}catch(d){a[b+c]=void 0}});var g={bind:e,unbind:f};"function"==typeof c&&c.amd?c("eventie/eventie",g):"object"==typeof exports?module.exports=g:a.eventie=g}(window),function(){function a(){}function b(a,b){for(var c=a.length;c--;)if(a[c].listener===b)return c;return-1}function d(a){return function(){return this[a].apply(this,arguments)}}var e=a.prototype,f=this,g=f.EventEmitter;e.getListeners=function(a){var b,c,d=this._getEvents();if(a instanceof RegExp){b={};for(c in d)d.hasOwnProperty(c)&&a.test(c)&&(b[c]=d[c])}else b=d[a]||(d[a]=[]);return b},e.flattenListeners=function(a){var b,c=[];for(b=0;b<a.length;b+=1)c.push(a[b].listener);return c},e.getListenersAsObject=function(a){var b,c=this.getListeners(a);return c instanceof Array&&(b={},b[a]=c),b||c},e.addListener=function(a,c){var d,e=this.getListenersAsObject(a),f="object"==typeof c;for(d in e)e.hasOwnProperty(d)&&-1===b(e[d],c)&&e[d].push(f?c:{listener:c,once:!1});return this},e.on=d("addListener"),e.addOnceListener=function(a,b){return this.addListener(a,{listener:b,once:!0})},e.once=d("addOnceListener"),e.defineEvent=function(a){return this.getListeners(a),this},e.defineEvents=function(a){for(var b=0;b<a.length;b+=1)this.defineEvent(a[b]);return this},e.removeListener=function(a,c){var d,e,f=this.getListenersAsObject(a);for(e in f)f.hasOwnProperty(e)&&(d=b(f[e],c),-1!==d&&f[e].splice(d,1));return this},e.off=d("removeListener"),e.addListeners=function(a,b){return this.manipulateListeners(!1,a,b)},e.removeListeners=function(a,b){return this.manipulateListeners(!0,a,b)},e.manipulateListeners=function(a,b,c){var d,e,f=a?this.removeListener:this.addListener,g=a?this.removeListeners:this.addListeners;if("object"!=typeof b||b instanceof RegExp)for(d=c.length;d--;)f.call(this,b,c[d]);else for(d in b)b.hasOwnProperty(d)&&(e=b[d])&&("function"==typeof e?f.call(this,d,e):g.call(this,d,e));return this},e.removeEvent=function(a){var b,c=typeof a,d=this._getEvents();if("string"===c)delete d[a];else if(a instanceof RegExp)for(b in d)d.hasOwnProperty(b)&&a.test(b)&&delete d[b];else delete this._events;return this},e.removeAllListeners=d("removeEvent"),e.emitEvent=function(a,b){var c,d,e,f,g,h=this.getListenersAsObject(a);for(f in h)if(h.hasOwnProperty(f))for(c=h[f].slice(0),e=c.length;e--;)d=c[e],d.once===!0&&this.removeListener(a,d.listener),g=d.listener.apply(this,b||[]),g===this._getOnceReturnValue()&&this.removeListener(a,d.listener);return this},e.trigger=d("emitEvent"),e.emit=function(a){var b=Array.prototype.slice.call(arguments,1);return this.emitEvent(a,b)},e.setOnceReturnValue=function(a){return this._onceReturnValue=a,this},e._getOnceReturnValue=function(){return this.hasOwnProperty("_onceReturnValue")?this._onceReturnValue:!0},e._getEvents=function(){return this._events||(this._events={})},a.noConflict=function(){return f.EventEmitter=g,a},"function"==typeof c&&c.amd?c("eventEmitter/EventEmitter",[],function(){return a}):"object"==typeof module&&module.exports?module.exports=a:f.EventEmitter=a}.call(this),function(a){function b(a){if(a){if("string"==typeof e[a])return a;a=a.charAt(0).toUpperCase()+a.slice(1);for(var b,c=0,f=d.length;f>c;c++)if(b=d[c]+a,"string"==typeof e[b])return b}}var d="Webkit Moz ms Ms O".split(" "),e=document.documentElement.style;"function"==typeof c&&c.amd?c("get-style-property/get-style-property",[],function(){return b}):"object"==typeof exports?module.exports=b:a.getStyleProperty=b}(window),function(a){function d(a){var b=parseFloat(a),c=-1===a.indexOf("%")&&!isNaN(b);return c&&b}function e(){}function f(){for(var a={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0},b=0,c=i.length;c>b;b++){var d=i[b];a[d]=0}return a}function g(b){function c(){if(!m){m=!0;var c=a.getComputedStyle;if(j=function(){var a=c?function(a){return c(a,null)}:function(a){return a.currentStyle};return function(b){var c=a(b);return c||h("Style returned "+c+". Are you running this code in a hidden iframe on Firefox? See http://bit.ly/getsizebug1"),c}}(),k=b("boxSizing")){var e=document.createElement("div");e.style.width="200px",e.style.padding="1px 2px 3px 4px",e.style.borderStyle="solid",e.style.borderWidth="1px 2px 3px 4px",e.style[k]="border-box";var f=document.body||document.documentElement;f.appendChild(e);var g=j(e);l=200===d(g.width),f.removeChild(e)}}}function e(a){if(c(),"string"==typeof a&&(a=document.querySelector(a)),a&&"object"==typeof a&&a.nodeType){var b=j(a);if("none"===b.display)return f();var e={};e.width=a.offsetWidth,e.height=a.offsetHeight;for(var h=e.isBorderBox=!(!k||!b[k]||"border-box"!==b[k]),m=0,n=i.length;n>m;m++){var o=i[m],p=b[o];p=g(a,p);var q=parseFloat(p);e[o]=isNaN(q)?0:q}var r=e.paddingLeft+e.paddingRight,s=e.paddingTop+e.paddingBottom,t=e.marginLeft+e.marginRight,u=e.marginTop+e.marginBottom,v=e.borderLeftWidth+e.borderRightWidth,w=e.borderTopWidth+e.borderBottomWidth,x=h&&l,y=d(b.width);y!==!1&&(e.width=y+(x?0:r+v));var z=d(b.height);return z!==!1&&(e.height=z+(x?0:s+w)),e.innerWidth=e.width-(r+v),e.innerHeight=e.height-(s+w),e.outerWidth=e.width+t,e.outerHeight=e.height+u,e}}function g(b,c){if(a.getComputedStyle||-1===c.indexOf("%"))return c;var d=b.style,e=d.left,f=b.runtimeStyle,g=f&&f.left;return g&&(f.left=b.currentStyle.left),d.left=c,c=d.pixelLeft,d.left=e,g&&(f.left=g),c}var j,k,l,m=!1;return e}var h="undefined"==typeof console?e:function(a){console.error(a)},i=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"];"function"==typeof c&&c.amd?c("get-size/get-size",["get-style-property/get-style-property"],g):"object"==typeof exports?module.exports=g(b("desandro-get-style-property")):a.getSize=g(a.getStyleProperty)}(window),function(a){function d(a){"function"==typeof a&&(d.isReady?a():i.push(a))}function e(a){var b="readystatechange"===a.type&&"complete"!==h.readyState;d.isReady||b||f()}function f(){d.isReady=!0;for(var a=0,b=i.length;b>a;a++){var c=i[a];c()}}function g(b){return"complete"===h.readyState?f():(b.bind(h,"DOMContentLoaded",e),b.bind(h,"readystatechange",e),b.bind(a,"load",e)),d}var h=a.document,i=[];d.isReady=!1,"function"==typeof c&&c.amd?c("doc-ready/doc-ready",["eventie/eventie"],g):"object"==typeof exports?module.exports=g(b("eventie")):a.docReady=g(a.eventie)}(window),function(a){function b(a,b){return a[h](b)}function d(a){if(!a.parentNode){var b=document.createDocumentFragment();b.appendChild(a)}}function e(a,b){d(a);for(var c=a.parentNode.querySelectorAll(b),e=0,f=c.length;f>e;e++)if(c[e]===a)return!0;return!1}function f(a,c){return d(a),b(a,c)}var g,h=function(){if(a.matches)return"matches";if(a.matchesSelector)return"matchesSelector";for(var b=["webkit","moz","ms","o"],c=0,d=b.length;d>c;c++){var e=b[c],f=e+"MatchesSelector";if(a[f])return f}}();if(h){var i=document.createElement("div"),j=b(i,"div");g=j?b:f}else g=e;"function"==typeof c&&c.amd?c("matches-selector/matches-selector",[],function(){return g}):"object"==typeof exports?module.exports=g:window.matchesSelector=g}(Element.prototype),function(a,d){"function"==typeof c&&c.amd?c("fizzy-ui-utils/utils",["doc-ready/doc-ready","matches-selector/matches-selector"],function(b,c){return d(a,b,c)}):"object"==typeof exports?module.exports=d(a,b("doc-ready"),b("desandro-matches-selector")):a.fizzyUIUtils=d(a,a.docReady,a.matchesSelector)}(window,function(a,b,c){var d={};d.extend=function(a,b){for(var c in b)a[c]=b[c];return a},d.modulo=function(a,b){return(a%b+b)%b};var e=Object.prototype.toString;d.isArray=function(a){return"[object Array]"==e.call(a)},d.makeArray=function(a){var b=[];if(d.isArray(a))b=a;else if(a&&"number"==typeof a.length)for(var c=0,e=a.length;e>c;c++)b.push(a[c]);else b.push(a);return b},d.indexOf=Array.prototype.indexOf?function(a,b){return a.indexOf(b)}:function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},d.removeFrom=function(a,b){var c=d.indexOf(a,b);-1!=c&&a.splice(c,1)},d.isElement="function"==typeof HTMLElement||"object"==typeof HTMLElement?function(a){return a instanceof HTMLElement}:function(a){return a&&"object"==typeof a&&1==a.nodeType&&"string"==typeof a.nodeName},d.setText=function(){function a(a,c){b=b||(void 0!==document.documentElement.textContent?"textContent":"innerText"),a[b]=c}var b;return a}(),d.getParent=function(a,b){for(;a!=document.body;)if(a=a.parentNode,c(a,b))return a},d.getQueryElement=function(a){return"string"==typeof a?document.querySelector(a):a},d.handleEvent=function(a){var b="on"+a.type;this[b]&&this[b](a)},d.filterFindElements=function(a,b){a=d.makeArray(a);for(var e=[],f=0,g=a.length;g>f;f++){var h=a[f];if(d.isElement(h))if(b){c(h,b)&&e.push(h);for(var i=h.querySelectorAll(b),j=0,k=i.length;k>j;j++)e.push(i[j])}else e.push(h)}return e},d.debounceMethod=function(a,b,c){var d=a.prototype[b],e=b+"Timeout";a.prototype[b]=function(){var a=this[e];a&&clearTimeout(a);var b=arguments,f=this;this[e]=setTimeout(function(){d.apply(f,b),delete f[e]},c||100)}},d.toDashed=function(a){return a.replace(/(.)([A-Z])/g,function(a,b,c){return b+"-"+c}).toLowerCase()};var f=a.console;return d.htmlInit=function(c,e){b(function(){for(var b=d.toDashed(e),g=document.querySelectorAll(".js-"+b),h="data-"+b+"-options",i=0,j=g.length;j>i;i++){var k,l=g[i],m=l.getAttribute(h);try{k=m&&JSON.parse(m)}catch(n){f&&f.error("Error parsing "+h+" on "+l.nodeName.toLowerCase()+(l.id?"#"+l.id:"")+": "+n);continue}var o=new c(l,k),p=a.jQuery;p&&p.data(l,e,o)}})},d}),function(a,d){"function"==typeof c&&c.amd?c("outlayer/item",["eventEmitter/EventEmitter","get-size/get-size","get-style-property/get-style-property","fizzy-ui-utils/utils"],function(b,c,e,f){return d(a,b,c,e,f)}):"object"==typeof exports?module.exports=d(a,b("wolfy87-eventemitter"),b("get-size"),b("desandro-get-style-property"),b("fizzy-ui-utils")):(a.Outlayer={},a.Outlayer.Item=d(a,a.EventEmitter,a.getSize,a.getStyleProperty,a.fizzyUIUtils))}(window,function(a,b,c,d,e){function f(a){for(var b in a)return!1;return b=null,!0}function g(a,b){a&&(this.element=a,this.layout=b,this.position={x:0,y:0},this._create())}function h(a){return a.replace(/([A-Z])/g,function(a){return"-"+a.toLowerCase()})}var i=a.getComputedStyle,j=i?function(a){return i(a,null)}:function(a){return a.currentStyle},k=d("transition"),l=d("transform"),m=k&&l,n=!!d("perspective"),o={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"otransitionend",transition:"transitionend"}[k],p=["transform","transition","transitionDuration","transitionProperty"],q=function(){for(var a={},b=0,c=p.length;c>b;b++){var e=p[b],f=d(e);f&&f!==e&&(a[e]=f)}return a}();e.extend(g.prototype,b.prototype),g.prototype._create=function(){this._transn={ingProperties:{},clean:{},onEnd:{}},this.css({position:"absolute"})},g.prototype.handleEvent=function(a){var b="on"+a.type;this[b]&&this[b](a)},g.prototype.getSize=function(){this.size=c(this.element)},g.prototype.css=function(a){var b=this.element.style;for(var c in a){var d=q[c]||c;b[d]=a[c]}},g.prototype.getPosition=function(){var a=j(this.element),b=this.layout.options,c=b.isOriginLeft,d=b.isOriginTop,e=a[c?"left":"right"],f=a[d?"top":"bottom"],g=this.layout.size,h=-1!=e.indexOf("%")?parseFloat(e)/100*g.width:parseInt(e,10),i=-1!=f.indexOf("%")?parseFloat(f)/100*g.height:parseInt(f,10);h=isNaN(h)?0:h,i=isNaN(i)?0:i,h-=c?g.paddingLeft:g.paddingRight,i-=d?g.paddingTop:g.paddingBottom,this.position.x=h,this.position.y=i},g.prototype.layoutPosition=function(){var a=this.layout.size,b=this.layout.options,c={},d=b.isOriginLeft?"paddingLeft":"paddingRight",e=b.isOriginLeft?"left":"right",f=b.isOriginLeft?"right":"left",g=this.position.x+a[d];c[e]=this.getXValue(g),c[f]="";var h=b.isOriginTop?"paddingTop":"paddingBottom",i=b.isOriginTop?"top":"bottom",j=b.isOriginTop?"bottom":"top",k=this.position.y+a[h];c[i]=this.getYValue(k),c[j]="",this.css(c),this.emitEvent("layout",[this])},g.prototype.getXValue=function(a){var b=this.layout.options;return b.percentPosition&&!b.isHorizontal?a/this.layout.size.width*100+"%":a+"px"
},g.prototype.getYValue=function(a){var b=this.layout.options;return b.percentPosition&&b.isHorizontal?a/this.layout.size.height*100+"%":a+"px"},g.prototype._transitionTo=function(a,b){this.getPosition();var c=this.position.x,d=this.position.y,e=parseInt(a,10),f=parseInt(b,10),g=e===this.position.x&&f===this.position.y;if(this.setPosition(a,b),g&&!this.isTransitioning)return void this.layoutPosition();var h=a-c,i=b-d,j={};j.transform=this.getTranslate(h,i),this.transition({to:j,onTransitionEnd:{transform:this.layoutPosition},isCleaning:!0})},g.prototype.getTranslate=function(a,b){var c=this.layout.options;return a=c.isOriginLeft?a:-a,b=c.isOriginTop?b:-b,n?"translate3d("+a+"px, "+b+"px, 0)":"translate("+a+"px, "+b+"px)"},g.prototype.goTo=function(a,b){this.setPosition(a,b),this.layoutPosition()},g.prototype.moveTo=m?g.prototype._transitionTo:g.prototype.goTo,g.prototype.setPosition=function(a,b){this.position.x=parseInt(a,10),this.position.y=parseInt(b,10)},g.prototype._nonTransition=function(a){this.css(a.to),a.isCleaning&&this._removeStyles(a.to);for(var b in a.onTransitionEnd)a.onTransitionEnd[b].call(this)},g.prototype._transition=function(a){if(!parseFloat(this.layout.options.transitionDuration))return void this._nonTransition(a);var b=this._transn;for(var c in a.onTransitionEnd)b.onEnd[c]=a.onTransitionEnd[c];for(c in a.to)b.ingProperties[c]=!0,a.isCleaning&&(b.clean[c]=!0);if(a.from){this.css(a.from);var d=this.element.offsetHeight;d=null}this.enableTransition(a.to),this.css(a.to),this.isTransitioning=!0};var r="opacity,"+h(q.transform||"transform");g.prototype.enableTransition=function(){this.isTransitioning||(this.css({transitionProperty:r,transitionDuration:this.layout.options.transitionDuration}),this.element.addEventListener(o,this,!1))},g.prototype.transition=g.prototype[k?"_transition":"_nonTransition"],g.prototype.onwebkitTransitionEnd=function(a){this.ontransitionend(a)},g.prototype.onotransitionend=function(a){this.ontransitionend(a)};var s={"-webkit-transform":"transform","-moz-transform":"transform","-o-transform":"transform"};g.prototype.ontransitionend=function(a){if(a.target===this.element){var b=this._transn,c=s[a.propertyName]||a.propertyName;if(delete b.ingProperties[c],f(b.ingProperties)&&this.disableTransition(),c in b.clean&&(this.element.style[a.propertyName]="",delete b.clean[c]),c in b.onEnd){var d=b.onEnd[c];d.call(this),delete b.onEnd[c]}this.emitEvent("transitionEnd",[this])}},g.prototype.disableTransition=function(){this.removeTransitionStyles(),this.element.removeEventListener(o,this,!1),this.isTransitioning=!1},g.prototype._removeStyles=function(a){var b={};for(var c in a)b[c]="";this.css(b)};var t={transitionProperty:"",transitionDuration:""};return g.prototype.removeTransitionStyles=function(){this.css(t)},g.prototype.removeElem=function(){this.element.parentNode.removeChild(this.element),this.css({display:""}),this.emitEvent("remove",[this])},g.prototype.remove=function(){if(!k||!parseFloat(this.layout.options.transitionDuration))return void this.removeElem();var a=this;this.once("transitionEnd",function(){a.removeElem()}),this.hide()},g.prototype.reveal=function(){delete this.isHidden,this.css({display:""});var a=this.layout.options,b={},c=this.getHideRevealTransitionEndProperty("visibleStyle");b[c]=this.onRevealTransitionEnd,this.transition({from:a.hiddenStyle,to:a.visibleStyle,isCleaning:!0,onTransitionEnd:b})},g.prototype.onRevealTransitionEnd=function(){this.isHidden||this.emitEvent("reveal")},g.prototype.getHideRevealTransitionEndProperty=function(a){var b=this.layout.options[a];if(b.opacity)return"opacity";for(var c in b)return c},g.prototype.hide=function(){this.isHidden=!0,this.css({display:""});var a=this.layout.options,b={},c=this.getHideRevealTransitionEndProperty("hiddenStyle");b[c]=this.onHideTransitionEnd,this.transition({from:a.visibleStyle,to:a.hiddenStyle,isCleaning:!0,onTransitionEnd:b})},g.prototype.onHideTransitionEnd=function(){this.isHidden&&(this.css({display:"none"}),this.emitEvent("hide"))},g.prototype.destroy=function(){this.css({position:"",left:"",right:"",top:"",bottom:"",transition:"",transform:""})},g}),function(a,d){"function"==typeof c&&c.amd?c("outlayer/outlayer",["eventie/eventie","eventEmitter/EventEmitter","get-size/get-size","fizzy-ui-utils/utils","./item"],function(b,c,e,f,g){return d(a,b,c,e,f,g)}):"object"==typeof exports?module.exports=d(a,b("eventie"),b("wolfy87-eventemitter"),b("get-size"),b("fizzy-ui-utils"),b("./item")):a.Outlayer=d(a,a.eventie,a.EventEmitter,a.getSize,a.fizzyUIUtils,a.Outlayer.Item)}(window,function(a,b,c,d,e,f){function g(a,b){var c=e.getQueryElement(a);if(!c)return void(h&&h.error("Bad element for "+this.constructor.namespace+": "+(c||a)));this.element=c,i&&(this.$element=i(this.element)),this.options=e.extend({},this.constructor.defaults),this.option(b);var d=++k;this.element.outlayerGUID=d,l[d]=this,this._create(),this.options.isInitLayout&&this.layout()}var h=a.console,i=a.jQuery,j=function(){},k=0,l={};return g.namespace="outlayer",g.Item=f,g.defaults={containerStyle:{position:"relative"},isInitLayout:!0,isOriginLeft:!0,isOriginTop:!0,isResizeBound:!0,isResizingContainer:!0,transitionDuration:"0.4s",hiddenStyle:{opacity:0,transform:"scale(0.001)"},visibleStyle:{opacity:1,transform:"scale(1)"}},e.extend(g.prototype,c.prototype),g.prototype.option=function(a){e.extend(this.options,a)},g.prototype._create=function(){this.reloadItems(),this.stamps=[],this.stamp(this.options.stamp),e.extend(this.element.style,this.options.containerStyle),this.options.isResizeBound&&this.bindResize()},g.prototype.reloadItems=function(){this.items=this._itemize(this.element.children)},g.prototype._itemize=function(a){for(var b=this._filterFindItemElements(a),c=this.constructor.Item,d=[],e=0,f=b.length;f>e;e++){var g=b[e],h=new c(g,this);d.push(h)}return d},g.prototype._filterFindItemElements=function(a){return e.filterFindElements(a,this.options.itemSelector)},g.prototype.getItemElements=function(){for(var a=[],b=0,c=this.items.length;c>b;b++)a.push(this.items[b].element);return a},g.prototype.layout=function(){this._resetLayout(),this._manageStamps();var a=void 0!==this.options.isLayoutInstant?this.options.isLayoutInstant:!this._isLayoutInited;this.layoutItems(this.items,a),this._isLayoutInited=!0},g.prototype._init=g.prototype.layout,g.prototype._resetLayout=function(){this.getSize()},g.prototype.getSize=function(){this.size=d(this.element)},g.prototype._getMeasurement=function(a,b){var c,f=this.options[a];f?("string"==typeof f?c=this.element.querySelector(f):e.isElement(f)&&(c=f),this[a]=c?d(c)[b]:f):this[a]=0},g.prototype.layoutItems=function(a,b){a=this._getItemsForLayout(a),this._layoutItems(a,b),this._postLayout()},g.prototype._getItemsForLayout=function(a){for(var b=[],c=0,d=a.length;d>c;c++){var e=a[c];e.isIgnored||b.push(e)}return b},g.prototype._layoutItems=function(a,b){if(this._emitCompleteOnItems("layout",a),a&&a.length){for(var c=[],d=0,e=a.length;e>d;d++){var f=a[d],g=this._getItemLayoutPosition(f);g.item=f,g.isInstant=b||f.isLayoutInstant,c.push(g)}this._processLayoutQueue(c)}},g.prototype._getItemLayoutPosition=function(){return{x:0,y:0}},g.prototype._processLayoutQueue=function(a){for(var b=0,c=a.length;c>b;b++){var d=a[b];this._positionItem(d.item,d.x,d.y,d.isInstant)}},g.prototype._positionItem=function(a,b,c,d){d?a.goTo(b,c):a.moveTo(b,c)},g.prototype._postLayout=function(){this.resizeContainer()},g.prototype.resizeContainer=function(){if(this.options.isResizingContainer){var a=this._getContainerSize();a&&(this._setContainerMeasure(a.width,!0),this._setContainerMeasure(a.height,!1))}},g.prototype._getContainerSize=j,g.prototype._setContainerMeasure=function(a,b){if(void 0!==a){var c=this.size;c.isBorderBox&&(a+=b?c.paddingLeft+c.paddingRight+c.borderLeftWidth+c.borderRightWidth:c.paddingBottom+c.paddingTop+c.borderTopWidth+c.borderBottomWidth),a=Math.max(a,0),this.element.style[b?"width":"height"]=a+"px"}},g.prototype._emitCompleteOnItems=function(a,b){function c(){e.dispatchEvent(a+"Complete",null,[b])}function d(){g++,g===f&&c()}var e=this,f=b.length;if(!b||!f)return void c();for(var g=0,h=0,i=b.length;i>h;h++){var j=b[h];j.once(a,d)}},g.prototype.dispatchEvent=function(a,b,c){var d=b?[b].concat(c):c;if(this.emitEvent(a,d),i)if(this.$element=this.$element||i(this.element),b){var e=i.Event(b);e.type=a,this.$element.trigger(e,c)}else this.$element.trigger(a,c)},g.prototype.ignore=function(a){var b=this.getItem(a);b&&(b.isIgnored=!0)},g.prototype.unignore=function(a){var b=this.getItem(a);b&&delete b.isIgnored},g.prototype.stamp=function(a){if(a=this._find(a)){this.stamps=this.stamps.concat(a);for(var b=0,c=a.length;c>b;b++){var d=a[b];this.ignore(d)}}},g.prototype.unstamp=function(a){if(a=this._find(a))for(var b=0,c=a.length;c>b;b++){var d=a[b];e.removeFrom(this.stamps,d),this.unignore(d)}},g.prototype._find=function(a){return a?("string"==typeof a&&(a=this.element.querySelectorAll(a)),a=e.makeArray(a)):void 0},g.prototype._manageStamps=function(){if(this.stamps&&this.stamps.length){this._getBoundingRect();for(var a=0,b=this.stamps.length;b>a;a++){var c=this.stamps[a];this._manageStamp(c)}}},g.prototype._getBoundingRect=function(){var a=this.element.getBoundingClientRect(),b=this.size;this._boundingRect={left:a.left+b.paddingLeft+b.borderLeftWidth,top:a.top+b.paddingTop+b.borderTopWidth,right:a.right-(b.paddingRight+b.borderRightWidth),bottom:a.bottom-(b.paddingBottom+b.borderBottomWidth)}},g.prototype._manageStamp=j,g.prototype._getElementOffset=function(a){var b=a.getBoundingClientRect(),c=this._boundingRect,e=d(a),f={left:b.left-c.left-e.marginLeft,top:b.top-c.top-e.marginTop,right:c.right-b.right-e.marginRight,bottom:c.bottom-b.bottom-e.marginBottom};return f},g.prototype.handleEvent=function(a){var b="on"+a.type;this[b]&&this[b](a)},g.prototype.bindResize=function(){this.isResizeBound||(b.bind(a,"resize",this),this.isResizeBound=!0)},g.prototype.unbindResize=function(){this.isResizeBound&&b.unbind(a,"resize",this),this.isResizeBound=!1},g.prototype.onresize=function(){function a(){b.resize(),delete b.resizeTimeout}this.resizeTimeout&&clearTimeout(this.resizeTimeout);var b=this;this.resizeTimeout=setTimeout(a,100)},g.prototype.resize=function(){this.isResizeBound&&this.needsResizeLayout()&&this.layout()},g.prototype.needsResizeLayout=function(){var a=d(this.element),b=this.size&&a;return b&&a.innerWidth!==this.size.innerWidth},g.prototype.addItems=function(a){var b=this._itemize(a);return b.length&&(this.items=this.items.concat(b)),b},g.prototype.appended=function(a){var b=this.addItems(a);b.length&&(this.layoutItems(b,!0),this.reveal(b))},g.prototype.prepended=function(a){var b=this._itemize(a);if(b.length){var c=this.items.slice(0);this.items=b.concat(c),this._resetLayout(),this._manageStamps(),this.layoutItems(b,!0),this.reveal(b),this.layoutItems(c)}},g.prototype.reveal=function(a){this._emitCompleteOnItems("reveal",a);for(var b=a&&a.length,c=0;b&&b>c;c++){var d=a[c];d.reveal()}},g.prototype.hide=function(a){this._emitCompleteOnItems("hide",a);for(var b=a&&a.length,c=0;b&&b>c;c++){var d=a[c];d.hide()}},g.prototype.revealItemElements=function(a){var b=this.getItems(a);this.reveal(b)},g.prototype.hideItemElements=function(a){var b=this.getItems(a);this.hide(b)},g.prototype.getItem=function(a){for(var b=0,c=this.items.length;c>b;b++){var d=this.items[b];if(d.element===a)return d}},g.prototype.getItems=function(a){a=e.makeArray(a);for(var b=[],c=0,d=a.length;d>c;c++){var f=a[c],g=this.getItem(f);g&&b.push(g)}return b},g.prototype.remove=function(a){var b=this.getItems(a);if(this._emitCompleteOnItems("remove",b),b&&b.length)for(var c=0,d=b.length;d>c;c++){var f=b[c];f.remove(),e.removeFrom(this.items,f)}},g.prototype.destroy=function(){var a=this.element.style;a.height="",a.position="",a.width="";for(var b=0,c=this.items.length;c>b;b++){var d=this.items[b];d.destroy()}this.unbindResize();var e=this.element.outlayerGUID;delete l[e],delete this.element.outlayerGUID,i&&i.removeData(this.element,this.constructor.namespace)},g.data=function(a){a=e.getQueryElement(a);var b=a&&a.outlayerGUID;return b&&l[b]},g.create=function(a,b){function c(){g.apply(this,arguments)}return Object.create?c.prototype=Object.create(g.prototype):e.extend(c.prototype,g.prototype),c.prototype.constructor=c,c.defaults=e.extend({},g.defaults),e.extend(c.defaults,b),c.prototype.settings={},c.namespace=a,c.data=g.data,c.Item=function(){f.apply(this,arguments)},c.Item.prototype=new f,e.htmlInit(c,a),i&&i.bridget&&i.bridget(a,c),c},g.Item=f,g}),function(a){function b(a,b){var c=a.create("masonry");return c.prototype._resetLayout=function(){this.getSize(),this._getMeasurement("columnWidth","outerWidth"),this._getMeasurement("gutter","outerWidth"),this.measureColumns();var a=this.cols;for(this.colYs=[];a--;)this.colYs.push(0);this.maxY=0},c.prototype.measureColumns=function(){if(this.getContainerWidth(),!this.columnWidth){var a=this.items[0],c=a&&a.element;this.columnWidth=c&&b(c).outerWidth||this.containerWidth}this.columnWidth+=this.gutter,this.cols=Math.floor((this.containerWidth+this.gutter)/this.columnWidth),this.cols=Math.max(this.cols,1)},c.prototype.getContainerWidth=function(){var a=this.options.isFitWidth?this.element.parentNode:this.element,c=b(a);this.containerWidth=c&&c.innerWidth},c.prototype._getItemLayoutPosition=function(a){a.getSize();var b=a.size.outerWidth%this.columnWidth,c=b&&1>b?"round":"ceil",e=Math[c](a.size.outerWidth/this.columnWidth);e=Math.min(e,this.cols);for(var f=this._getColGroup(e),g=Math.min.apply(Math,f),h=d(f,g),i={x:this.columnWidth*h,y:g},j=g+a.size.outerHeight,k=this.cols+1-f.length,l=0;k>l;l++)this.colYs[h+l]=j;return i},c.prototype._getColGroup=function(a){if(2>a)return this.colYs;for(var b=[],c=this.cols+1-a,d=0;c>d;d++){var e=this.colYs.slice(d,d+a);b[d]=Math.max.apply(Math,e)}return b},c.prototype._manageStamp=function(a){var c=b(a),d=this._getElementOffset(a),e=this.options.isOriginLeft?d.left:d.right,f=e+c.outerWidth,g=Math.floor(e/this.columnWidth);g=Math.max(0,g);var h=Math.floor(f/this.columnWidth);h-=f%this.columnWidth?0:1,h=Math.min(this.cols-1,h);for(var i=(this.options.isOriginTop?d.top:d.bottom)+c.outerHeight,j=g;h>=j;j++)this.colYs[j]=Math.max(i,this.colYs[j])},c.prototype._getContainerSize=function(){this.maxY=Math.max.apply(Math,this.colYs);var a={height:this.maxY};return this.options.isFitWidth&&(a.width=this._getContainerFitWidth()),a},c.prototype._getContainerFitWidth=function(){for(var a=0,b=this.cols;--b&&0===this.colYs[b];)a++;return(this.cols-a)*this.columnWidth-this.gutter},c.prototype.needsResizeLayout=function(){var a=this.containerWidth;return this.getContainerWidth(),a!==this.containerWidth},c}var d=Array.prototype.indexOf?function(a,b){return a.indexOf(b)}:function(a,b){for(var c=0,d=a.length;d>c;c++){var e=a[c];if(e===b)return c}return-1};"function"==typeof c&&c.amd?c("masonry/masonry",["outlayer/outlayer","get-size/get-size"],b):a.Masonry=b(a.Outlayer,a.getSize)}(window),function(a){function b(a,b){var c=a.create("fluidMasonry");return c.prototype.measureColumns=function(){this._getMeasurement("minColumnWidth","outerWidth"),this.minColumnWidth+=this.gutter,this.getContainerWidth(),this.options.isFitWidth&&(this.containerWidth=this.containerWidth-(this.size.paddingLeft+this.size.paddingRight+this.size.borderLeftWidth+this.size.borderRightWidth)),this.cols=Math.floor((this.containerWidth+this.gutter)/this.minColumnWidth),this.cols=Math.max(this.cols,1);var a=this.containerWidth+this.gutter-this.cols*this.minColumnWidth,b=a/this.cols,c=(b-Math.floor(b))*this.cols;this.centeringOffset=this.options.isFitWidth?0:Math.round(c/2),this.columnWidth=this.minColumnWidth+Math.floor(b),this.columnWidthInner=this.columnWidth-this.gutter},c.prototype._getItemLayoutPosition=function(a){var b=this.columnWidthInner,c=a.element.getAttribute("data-columns");c>1?(c=Math.min(c,this.cols),b=b*c+(c-1)*this.gutter):c=1,a.element.style.width=b+"px",a.getSize();for(var e=this._getColGroup(c),f=Math.min.apply(Math,e),g=d(e,f),h={x:this.columnWidth*g+this.centeringOffset,y:f},i=f+a.size.outerHeight,j=this.cols+1-e.length,k=0;j>k;k++)this.colYs[g+k]=i;return h},c.prototype._resetLayout=b.prototype._resetLayout,c.prototype.getContainerWidth=b.prototype.getContainerWidth,c.prototype._getColGroup=b.prototype._getColGroup,c.prototype._manageStamp=b.prototype._manageStamp,c.prototype._getContainerSize=b.prototype._getContainerSize,c.prototype._getContainerFitWidth=b.prototype._getContainerFitWidth,c.prototype.needsResizeLayout=b.prototype.needsResizeLayout,c}var d=Array.prototype.indexOf?function(a,b){return a.indexOf(b)}:function(a,b){for(var c=0,d=a.length;d>c;c++){var e=a[c];if(e===b)return c}return-1};"function"==typeof c&&c.amd?c("fluid-masonry",["outlayer/outlayer","masonry/masonry"],b):a.FluidMasonry=b(a.Outlayer,a.Masonry)}(window),function(a,b,d,e){function f(a,b,c){return setTimeout(k(a,c),b)}function g(a,b,c){return Array.isArray(a)?(h(a,c[b],c),!0):!1}function h(a,b,c){var d;if(a)if(a.forEach)a.forEach(b,c);else if(a.length!==e)for(d=0;d<a.length;)b.call(c,a[d],d,a),d++;else for(d in a)a.hasOwnProperty(d)&&b.call(c,a[d],d,a)}function i(b,c,d){var e="DEPRECATED METHOD: "+c+"\n"+d+" AT \n";return function(){var c=new Error("get-stack-trace"),d=c&&c.stack?c.stack.replace(/^[^\(]+?[\n$]/gm,"").replace(/^\s+at\s+/gm,"").replace(/^Object.<anonymous>\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",f=a.console&&(a.console.warn||a.console.log);return f&&f.call(a.console,e,d),b.apply(this,arguments)}}function j(a,b,c){var d,e=b.prototype;d=a.prototype=Object.create(e),d.constructor=a,d._super=e,c&&ib(d,c)}function k(a,b){return function(){return a.apply(b,arguments)}}function l(a,b){return typeof a==lb?a.apply(b?b[0]||e:e,b):a}function m(a,b){return a===e?b:a}function n(a,b,c){h(r(b),function(b){a.addEventListener(b,c,!1)})}function o(a,b,c){h(r(b),function(b){a.removeEventListener(b,c,!1)})}function p(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1}function q(a,b){return a.indexOf(b)>-1}function r(a){return a.trim().split(/\s+/g)}function s(a,b,c){if(a.indexOf&&!c)return a.indexOf(b);for(var d=0;d<a.length;){if(c&&a[d][c]==b||!c&&a[d]===b)return d;d++}return-1}function t(a){return Array.prototype.slice.call(a,0)}function u(a,b,c){for(var d=[],e=[],f=0;f<a.length;){var g=b?a[f][b]:a[f];s(e,g)<0&&d.push(a[f]),e[f]=g,f++}return c&&(d=b?d.sort(function(a,c){return a[b]>c[b]}):d.sort()),d}function v(a,b){for(var c,d,f=b[0].toUpperCase()+b.slice(1),g=0;g<jb.length;){if(c=jb[g],d=c?c+f:b,d in a)return d;g++}return e}function w(){return rb++}function x(b){var c=b.ownerDocument||b;return c.defaultView||c.parentWindow||a}function y(a,b){var c=this;this.manager=a,this.callback=b,this.element=a.element,this.target=a.options.inputTarget,this.domHandler=function(b){l(a.options.enable,[a])&&c.handler(b)},this.init()}function z(a){var b,c=a.options.inputClass;return new(b=c?c:ub?N:vb?Q:tb?S:M)(a,A)}function A(a,b,c){var d=c.pointers.length,e=c.changedPointers.length,f=b&Bb&&d-e===0,g=b&(Db|Eb)&&d-e===0;c.isFirst=!!f,c.isFinal=!!g,f&&(a.session={}),c.eventType=b,B(a,c),a.emit("hammer.input",c),a.recognize(c),a.session.prevInput=c}function B(a,b){var c=a.session,d=b.pointers,e=d.length;c.firstInput||(c.firstInput=E(b)),e>1&&!c.firstMultiple?c.firstMultiple=E(b):1===e&&(c.firstMultiple=!1);var f=c.firstInput,g=c.firstMultiple,h=g?g.center:f.center,i=b.center=F(d);b.timeStamp=ob(),b.deltaTime=b.timeStamp-f.timeStamp,b.angle=J(h,i),b.distance=I(h,i),C(c,b),b.offsetDirection=H(b.deltaX,b.deltaY);var j=G(b.deltaTime,b.deltaX,b.deltaY);b.overallVelocityX=j.x,b.overallVelocityY=j.y,b.overallVelocity=nb(j.x)>nb(j.y)?j.x:j.y,b.scale=g?L(g.pointers,d):1,b.rotation=g?K(g.pointers,d):0,b.maxPointers=c.prevInput?b.pointers.length>c.prevInput.maxPointers?b.pointers.length:c.prevInput.maxPointers:b.pointers.length,D(c,b);var k=a.element;p(b.srcEvent.target,k)&&(k=b.srcEvent.target),b.target=k}function C(a,b){var c=b.center,d=a.offsetDelta||{},e=a.prevDelta||{},f=a.prevInput||{};(b.eventType===Bb||f.eventType===Db)&&(e=a.prevDelta={x:f.deltaX||0,y:f.deltaY||0},d=a.offsetDelta={x:c.x,y:c.y}),b.deltaX=e.x+(c.x-d.x),b.deltaY=e.y+(c.y-d.y)}function D(a,b){var c,d,f,g,h=a.lastInterval||b,i=b.timeStamp-h.timeStamp;if(b.eventType!=Eb&&(i>Ab||h.velocity===e)){var j=b.deltaX-h.deltaX,k=b.deltaY-h.deltaY,l=G(i,j,k);d=l.x,f=l.y,c=nb(l.x)>nb(l.y)?l.x:l.y,g=H(j,k),a.lastInterval=b}else c=h.velocity,d=h.velocityX,f=h.velocityY,g=h.direction;b.velocity=c,b.velocityX=d,b.velocityY=f,b.direction=g}function E(a){for(var b=[],c=0;c<a.pointers.length;)b[c]={clientX:mb(a.pointers[c].clientX),clientY:mb(a.pointers[c].clientY)},c++;return{timeStamp:ob(),pointers:b,center:F(b),deltaX:a.deltaX,deltaY:a.deltaY}}function F(a){var b=a.length;if(1===b)return{x:mb(a[0].clientX),y:mb(a[0].clientY)};for(var c=0,d=0,e=0;b>e;)c+=a[e].clientX,d+=a[e].clientY,e++;return{x:mb(c/b),y:mb(d/b)}}function G(a,b,c){return{x:b/a||0,y:c/a||0}}function H(a,b){return a===b?Fb:nb(a)>=nb(b)?0>a?Gb:Hb:0>b?Ib:Jb}function I(a,b,c){c||(c=Nb);var d=b[c[0]]-a[c[0]],e=b[c[1]]-a[c[1]];return Math.sqrt(d*d+e*e)}function J(a,b,c){c||(c=Nb);var d=b[c[0]]-a[c[0]],e=b[c[1]]-a[c[1]];return 180*Math.atan2(e,d)/Math.PI}function K(a,b){return J(b[1],b[0],Ob)+J(a[1],a[0],Ob)}function L(a,b){return I(b[0],b[1],Ob)/I(a[0],a[1],Ob)}function M(){this.evEl=Qb,this.evWin=Rb,this.allow=!0,this.pressed=!1,y.apply(this,arguments)}function N(){this.evEl=Ub,this.evWin=Vb,y.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function O(){this.evTarget=Xb,this.evWin=Yb,this.started=!1,y.apply(this,arguments)}function P(a,b){var c=t(a.touches),d=t(a.changedTouches);return b&(Db|Eb)&&(c=u(c.concat(d),"identifier",!0)),[c,d]}function Q(){this.evTarget=$b,this.targetIds={},y.apply(this,arguments)}function R(a,b){var c=t(a.touches),d=this.targetIds;if(b&(Bb|Cb)&&1===c.length)return d[c[0].identifier]=!0,[c,c];var e,f,g=t(a.changedTouches),h=[],i=this.target;if(f=c.filter(function(a){return p(a.target,i)}),b===Bb)for(e=0;e<f.length;)d[f[e].identifier]=!0,e++;for(e=0;e<g.length;)d[g[e].identifier]&&h.push(g[e]),b&(Db|Eb)&&delete d[g[e].identifier],e++;return h.length?[u(f.concat(h),"identifier",!0),h]:void 0}function S(){y.apply(this,arguments);var a=k(this.handler,this);this.touch=new Q(this.manager,a),this.mouse=new M(this.manager,a)}function T(a,b){this.manager=a,this.set(b)}function U(a){if(q(a,ec))return ec;var b=q(a,fc),c=q(a,gc);return b&&c?ec:b||c?b?fc:gc:q(a,dc)?dc:cc}function V(a){this.options=ib({},this.defaults,a||{}),this.id=w(),this.manager=null,this.options.enable=m(this.options.enable,!0),this.state=hc,this.simultaneous={},this.requireFail=[]}function W(a){return a&mc?"cancel":a&kc?"end":a&jc?"move":a&ic?"start":""}function X(a){return a==Jb?"down":a==Ib?"up":a==Gb?"left":a==Hb?"right":""}function Y(a,b){var c=b.manager;return c?c.get(a):a}function Z(){V.apply(this,arguments)}function $(){Z.apply(this,arguments),this.pX=null,this.pY=null}function _(){Z.apply(this,arguments)}function ab(){V.apply(this,arguments),this._timer=null,this._input=null}function bb(){Z.apply(this,arguments)}function cb(){Z.apply(this,arguments)}function db(){V.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}function eb(a,b){return b=b||{},b.recognizers=m(b.recognizers,eb.defaults.preset),new fb(a,b)}function fb(a,b){this.options=ib({},eb.defaults,b||{}),this.options.inputTarget=this.options.inputTarget||a,this.handlers={},this.session={},this.recognizers=[],this.element=a,this.input=z(this),this.touchAction=new T(this,this.options.touchAction),gb(this,!0),h(this.options.recognizers,function(a){var b=this.add(new a[0](a[1]));a[2]&&b.recognizeWith(a[2]),a[3]&&b.requireFailure(a[3])},this)}function gb(a,b){var c=a.element;c.style&&h(a.options.cssProps,function(a,d){c.style[v(c.style,d)]=b?a:""})}function hb(a,c){var d=b.createEvent("Event");d.initEvent(a,!0,!0),d.gesture=c,c.target.dispatchEvent(d)}var ib,jb=["","webkit","Moz","MS","ms","o"],kb=b.createElement("div"),lb="function",mb=Math.round,nb=Math.abs,ob=Date.now;ib="function"!=typeof Object.assign?function(a){if(a===e||null===a)throw new TypeError("Cannot convert undefined or null to object");for(var b=Object(a),c=1;c<arguments.length;c++){var d=arguments[c];if(d!==e&&null!==d)for(var f in d)d.hasOwnProperty(f)&&(b[f]=d[f])}return b}:Object.assign;var pb=i(function(a,b,c){for(var d=Object.keys(b),f=0;f<d.length;)(!c||c&&a[d[f]]===e)&&(a[d[f]]=b[d[f]]),f++;return a},"extend","Use `assign`."),qb=i(function(a,b){return pb(a,b,!0)},"merge","Use `assign`."),rb=1,sb=/mobile|tablet|ip(ad|hone|od)|android/i,tb="ontouchstart"in a,ub=v(a,"PointerEvent")!==e,vb=tb&&sb.test(navigator.userAgent),wb="touch",xb="pen",yb="mouse",zb="kinect",Ab=25,Bb=1,Cb=2,Db=4,Eb=8,Fb=1,Gb=2,Hb=4,Ib=8,Jb=16,Kb=Gb|Hb,Lb=Ib|Jb,Mb=Kb|Lb,Nb=["x","y"],Ob=["clientX","clientY"];y.prototype={handler:function(){},init:function(){this.evEl&&n(this.element,this.evEl,this.domHandler),this.evTarget&&n(this.target,this.evTarget,this.domHandler),this.evWin&&n(x(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&o(this.element,this.evEl,this.domHandler),this.evTarget&&o(this.target,this.evTarget,this.domHandler),this.evWin&&o(x(this.element),this.evWin,this.domHandler)}};var Pb={mousedown:Bb,mousemove:Cb,mouseup:Db},Qb="mousedown",Rb="mousemove mouseup";j(M,y,{handler:function(a){var b=Pb[a.type];b&Bb&&0===a.button&&(this.pressed=!0),b&Cb&&1!==a.which&&(b=Db),this.pressed&&this.allow&&(b&Db&&(this.pressed=!1),this.callback(this.manager,b,{pointers:[a],changedPointers:[a],pointerType:yb,srcEvent:a}))}});var Sb={pointerdown:Bb,pointermove:Cb,pointerup:Db,pointercancel:Eb,pointerout:Eb},Tb={2:wb,3:xb,4:yb,5:zb},Ub="pointerdown",Vb="pointermove pointerup pointercancel";a.MSPointerEvent&&!a.PointerEvent&&(Ub="MSPointerDown",Vb="MSPointerMove MSPointerUp MSPointerCancel"),j(N,y,{handler:function(a){var b=this.store,c=!1,d=a.type.toLowerCase().replace("ms",""),e=Sb[d],f=Tb[a.pointerType]||a.pointerType,g=f==wb,h=s(b,a.pointerId,"pointerId");e&Bb&&(0===a.button||g)?0>h&&(b.push(a),h=b.length-1):e&(Db|Eb)&&(c=!0),0>h||(b[h]=a,this.callback(this.manager,e,{pointers:b,changedPointers:[a],pointerType:f,srcEvent:a}),c&&b.splice(h,1))}});var Wb={touchstart:Bb,touchmove:Cb,touchend:Db,touchcancel:Eb},Xb="touchstart",Yb="touchstart touchmove touchend touchcancel";j(O,y,{handler:function(a){var b=Wb[a.type];if(b===Bb&&(this.started=!0),this.started){var c=P.call(this,a,b);b&(Db|Eb)&&c[0].length-c[1].length===0&&(this.started=!1),this.callback(this.manager,b,{pointers:c[0],changedPointers:c[1],pointerType:wb,srcEvent:a})}}});var Zb={touchstart:Bb,touchmove:Cb,touchend:Db,touchcancel:Eb},$b="touchstart touchmove touchend touchcancel";j(Q,y,{handler:function(a){var b=Zb[a.type],c=R.call(this,a,b);c&&this.callback(this.manager,b,{pointers:c[0],changedPointers:c[1],pointerType:wb,srcEvent:a})}}),j(S,y,{handler:function(a,b,c){var d=c.pointerType==wb,e=c.pointerType==yb;if(d)this.mouse.allow=!1;else if(e&&!this.mouse.allow)return;b&(Db|Eb)&&(this.mouse.allow=!0),this.callback(a,b,c)},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var _b=v(kb.style,"touchAction"),ac=_b!==e,bc="compute",cc="auto",dc="manipulation",ec="none",fc="pan-x",gc="pan-y";T.prototype={set:function(a){a==bc&&(a=this.compute()),ac&&this.manager.element.style&&(this.manager.element.style[_b]=a),this.actions=a.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var a=[];return h(this.manager.recognizers,function(b){l(b.options.enable,[b])&&(a=a.concat(b.getTouchAction()))}),U(a.join(" "))},preventDefaults:function(a){if(!ac){var b=a.srcEvent,c=a.offsetDirection;if(this.manager.session.prevented)return void b.preventDefault();var d=this.actions,e=q(d,ec),f=q(d,gc),g=q(d,fc);if(e){var h=1===a.pointers.length,i=a.distance<2,j=a.deltaTime<250;if(h&&i&&j)return}if(!g||!f)return e||f&&c&Kb||g&&c&Lb?this.preventSrc(b):void 0}},preventSrc:function(a){this.manager.session.prevented=!0,a.preventDefault()}};var hc=1,ic=2,jc=4,kc=8,lc=kc,mc=16,nc=32;V.prototype={defaults:{},set:function(a){return ib(this.options,a),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(a){if(g(a,"recognizeWith",this))return this;var b=this.simultaneous;return a=Y(a,this),b[a.id]||(b[a.id]=a,a.recognizeWith(this)),this},dropRecognizeWith:function(a){return g(a,"dropRecognizeWith",this)?this:(a=Y(a,this),delete this.simultaneous[a.id],this)},requireFailure:function(a){if(g(a,"requireFailure",this))return this;var b=this.requireFail;return a=Y(a,this),-1===s(b,a)&&(b.push(a),a.requireFailure(this)),this},dropRequireFailure:function(a){if(g(a,"dropRequireFailure",this))return this;a=Y(a,this);var b=s(this.requireFail,a);return b>-1&&this.requireFail.splice(b,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(a){return!!this.simultaneous[a.id]},emit:function(a){function b(b){c.manager.emit(b,a)}var c=this,d=this.state;kc>d&&b(c.options.event+W(d)),b(c.options.event),a.additionalEvent&&b(a.additionalEvent),d>=kc&&b(c.options.event+W(d))},tryEmit:function(a){return this.canEmit()?this.emit(a):void(this.state=nc)},canEmit:function(){for(var a=0;a<this.requireFail.length;){if(!(this.requireFail[a].state&(nc|hc)))return!1;a++}return!0},recognize:function(a){var b=ib({},a);return l(this.options.enable,[this,b])?(this.state&(lc|mc|nc)&&(this.state=hc),this.state=this.process(b),void(this.state&(ic|jc|kc|mc)&&this.tryEmit(b))):(this.reset(),void(this.state=nc))},process:function(){},getTouchAction:function(){},reset:function(){}},j(Z,V,{defaults:{pointers:1},attrTest:function(a){var b=this.options.pointers;return 0===b||a.pointers.length===b},process:function(a){var b=this.state,c=a.eventType,d=b&(ic|jc),e=this.attrTest(a);return d&&(c&Eb||!e)?b|mc:d||e?c&Db?b|kc:b&ic?b|jc:ic:nc}}),j($,Z,{defaults:{event:"pan",threshold:10,pointers:1,direction:Mb},getTouchAction:function(){var a=this.options.direction,b=[];return a&Kb&&b.push(gc),a&Lb&&b.push(fc),b},directionTest:function(a){var b=this.options,c=!0,d=a.distance,e=a.direction,f=a.deltaX,g=a.deltaY;return e&b.direction||(b.direction&Kb?(e=0===f?Fb:0>f?Gb:Hb,c=f!=this.pX,d=Math.abs(a.deltaX)):(e=0===g?Fb:0>g?Ib:Jb,c=g!=this.pY,d=Math.abs(a.deltaY))),a.direction=e,c&&d>b.threshold&&e&b.direction},attrTest:function(a){return Z.prototype.attrTest.call(this,a)&&(this.state&ic||!(this.state&ic)&&this.directionTest(a))},emit:function(a){this.pX=a.deltaX,this.pY=a.deltaY;var b=X(a.direction);b&&(a.additionalEvent=this.options.event+b),this._super.emit.call(this,a)}}),j(_,Z,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[ec]},attrTest:function(a){return this._super.attrTest.call(this,a)&&(Math.abs(a.scale-1)>this.options.threshold||this.state&ic)},emit:function(a){if(1!==a.scale){var b=a.scale<1?"in":"out";a.additionalEvent=this.options.event+b}this._super.emit.call(this,a)}}),j(ab,V,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[cc]},process:function(a){var b=this.options,c=a.pointers.length===b.pointers,d=a.distance<b.threshold,e=a.deltaTime>b.time;if(this._input=a,!d||!c||a.eventType&(Db|Eb)&&!e)this.reset();else if(a.eventType&Bb)this.reset(),this._timer=f(function(){this.state=lc,this.tryEmit()},b.time,this);else if(a.eventType&Db)return lc;return nc},reset:function(){clearTimeout(this._timer)},emit:function(a){this.state===lc&&(a&&a.eventType&Db?this.manager.emit(this.options.event+"up",a):(this._input.timeStamp=ob(),this.manager.emit(this.options.event,this._input)))}}),j(bb,Z,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[ec]},attrTest:function(a){return this._super.attrTest.call(this,a)&&(Math.abs(a.rotation)>this.options.threshold||this.state&ic)}}),j(cb,Z,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:Kb|Lb,pointers:1},getTouchAction:function(){return $.prototype.getTouchAction.call(this)
},attrTest:function(a){var b,c=this.options.direction;return c&(Kb|Lb)?b=a.overallVelocity:c&Kb?b=a.overallVelocityX:c&Lb&&(b=a.overallVelocityY),this._super.attrTest.call(this,a)&&c&a.offsetDirection&&a.distance>this.options.threshold&&a.maxPointers==this.options.pointers&&nb(b)>this.options.velocity&&a.eventType&Db},emit:function(a){var b=X(a.offsetDirection);b&&this.manager.emit(this.options.event+b,a),this.manager.emit(this.options.event,a)}}),j(db,V,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[dc]},process:function(a){var b=this.options,c=a.pointers.length===b.pointers,d=a.distance<b.threshold,e=a.deltaTime<b.time;if(this.reset(),a.eventType&Bb&&0===this.count)return this.failTimeout();if(d&&e&&c){if(a.eventType!=Db)return this.failTimeout();var g=this.pTime?a.timeStamp-this.pTime<b.interval:!0,h=!this.pCenter||I(this.pCenter,a.center)<b.posThreshold;this.pTime=a.timeStamp,this.pCenter=a.center,h&&g?this.count+=1:this.count=1,this._input=a;var i=this.count%b.taps;if(0===i)return this.hasRequireFailures()?(this._timer=f(function(){this.state=lc,this.tryEmit()},b.interval,this),ic):lc}return nc},failTimeout:function(){return this._timer=f(function(){this.state=nc},this.options.interval,this),nc},reset:function(){clearTimeout(this._timer)},emit:function(){this.state==lc&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))}}),eb.VERSION="2.0.6",eb.defaults={domEvents:!1,touchAction:bc,enable:!0,inputTarget:null,inputClass:null,preset:[[bb,{enable:!1}],[_,{enable:!1},["rotate"]],[cb,{direction:Kb}],[$,{direction:Kb},["swipe"]],[db],[db,{event:"doubletap",taps:2},["tap"]],[ab]],cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}};var oc=1,pc=2;fb.prototype={set:function(a){return ib(this.options,a),a.touchAction&&this.touchAction.update(),a.inputTarget&&(this.input.destroy(),this.input.target=a.inputTarget,this.input.init()),this},stop:function(a){this.session.stopped=a?pc:oc},recognize:function(a){var b=this.session;if(!b.stopped){this.touchAction.preventDefaults(a);var c,d=this.recognizers,e=b.curRecognizer;(!e||e&&e.state&lc)&&(e=b.curRecognizer=null);for(var f=0;f<d.length;)c=d[f],b.stopped===pc||e&&c!=e&&!c.canRecognizeWith(e)?c.reset():c.recognize(a),!e&&c.state&(ic|jc|kc)&&(e=b.curRecognizer=c),f++}},get:function(a){if(a instanceof V)return a;for(var b=this.recognizers,c=0;c<b.length;c++)if(b[c].options.event==a)return b[c];return null},add:function(a){if(g(a,"add",this))return this;var b=this.get(a.options.event);return b&&this.remove(b),this.recognizers.push(a),a.manager=this,this.touchAction.update(),a},remove:function(a){if(g(a,"remove",this))return this;if(a=this.get(a)){var b=this.recognizers,c=s(b,a);-1!==c&&(b.splice(c,1),this.touchAction.update())}return this},on:function(a,b){var c=this.handlers;return h(r(a),function(a){c[a]=c[a]||[],c[a].push(b)}),this},off:function(a,b){var c=this.handlers;return h(r(a),function(a){b?c[a]&&c[a].splice(s(c[a],b),1):delete c[a]}),this},emit:function(a,b){this.options.domEvents&&hb(a,b);var c=this.handlers[a]&&this.handlers[a].slice();if(c&&c.length){b.type=a,b.preventDefault=function(){b.srcEvent.preventDefault()};for(var d=0;d<c.length;)c[d](b),d++}},destroy:function(){this.element&&gb(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null}},ib(eb,{INPUT_START:Bb,INPUT_MOVE:Cb,INPUT_END:Db,INPUT_CANCEL:Eb,STATE_POSSIBLE:hc,STATE_BEGAN:ic,STATE_CHANGED:jc,STATE_ENDED:kc,STATE_RECOGNIZED:lc,STATE_CANCELLED:mc,STATE_FAILED:nc,DIRECTION_NONE:Fb,DIRECTION_LEFT:Gb,DIRECTION_RIGHT:Hb,DIRECTION_UP:Ib,DIRECTION_DOWN:Jb,DIRECTION_HORIZONTAL:Kb,DIRECTION_VERTICAL:Lb,DIRECTION_ALL:Mb,Manager:fb,Input:y,TouchAction:T,TouchInput:Q,MouseInput:M,PointerEventInput:N,TouchMouseInput:S,SingleTouchInput:O,Recognizer:V,AttrRecognizer:Z,Tap:db,Pan:$,Swipe:cb,Pinch:_,Rotate:bb,Press:ab,on:n,off:o,each:h,merge:qb,extend:pb,assign:ib,inherit:j,bindFn:k,prefixed:v});var qc="undefined"!=typeof a?a:"undefined"!=typeof self?self:{};qc.Hammer=eb,"function"==typeof c&&c.amd?c("hammerjs",[],function(){return eb}):"undefined"!=typeof module&&module.exports?module.exports=eb:a[d]=eb}(window,document,"Hammer"),c("gallery/views/selection/select.button",["underscore","backbone","jquery","hammerjs"],function(a,b,c,d){var e=b.View.extend({initialize:function(){this.model&&this.el&&(this.listenTo(this.model,"change:selected",this.updateSelected),this.updateSelected(this.model,this.model.get("selected")),this.mc=new d.Manager(this.$el[0],{recognizers:[[d.Tap]]}),this.mc.on("tap",a.bind(this.toggleSelected,this)))},isVisible:function(){return this.$el.is(":visible")&&this.$el.css("opacity")>0},remove:function(){this.mc.off("tap"),b.View.prototype.remove.call(this)},toggleSelected:function(a){this.isVisible()&&(a.srcEvent.stopImmediatePropagation(),this.model.set("selected",!this.model.get("selected")))},updateSelected:function(a,b){b?this.$el.addClass("selected"):this.$el.removeClass("selected")}});return e}),c("gallery/views/thumb.view",["jquery","underscore","backbone","gallery/views/selection/select.button","hammerjs"],function(a,b,c,d,e){var f=c.View.extend({initialize:function(){this.model.setThumbView(this),this.gallery=this.options.gallery,this.template=this.options.template,this.doubleTapEnabled=this.gallery.get("opts").double_tap_thumb},remove:function(){this.mc.off("tap"),c.View.prototype.remove.call(this)},tap:function(a){return a.target===this.selectButton.$el[0]&&this.selectButton.isVisible()?!0:this.doubleTapEnabled&&"mouse"!==a.pointerType&&(this.$el.siblings(".tapped").not(this.$el).removeClass("tapped"),!this.$el.hasClass("tapped"))?void this.$el.addClass("tapped"):void this.openInSlider()},openInSlider:function(){this.gallery.trigger("thumb:clicked",this.model)},render:function(){var c=this.template({img:this.model}).trim();return this.setElement(a.parseHTML(c)),this.mc=new e.Manager(this.$el[0],{recognizers:[[e.Tap]]}),this.mc.on("tap",b.bind(this.tap,this)),this.selectButton||(this.selectButton=new d({model:this.model,el:this.$(".selector")})),this}});return f}),c("gallery/views/thumb.container",["jquery","vendor/jquery.throttle-debounce","underscore","backbone","gallery/views/thumb.view","gallery/utils/responsive.adapter"],function(a,b,c,d,e){var f=d.View.extend({el:".container.photos",defaults:{itemSelector:".photo"},initialize:function(){this.options=c.extend({},this.defaults,this.options),this.$el.addClass("loading"),this.listenTo(this.model,"change",this.galleryFetched)},galleryFetched:function(){this.$el.addClass("fetched"),this.initGallery(),this.initThumbs()},initGallery:function(){},initThumbs:function(){var b=this.model.get("images");this.$(this.options.itemSelector).each(function(){var c=a(this),d=b.get(c.attr("id"));new e({model:d,el:c,gallery:this.model})}),this.$el.removeClass("loading"),this.$el.find(this.options.itemSelector).addClass("loaded")},scrollToThumb:function(b){window.setTimeout(function(){if(b){var c=b.getThumbView();c&&a("html, body").animate({scrollTop:c.$el.offset().top},100)}},200)}});return f}),c("gallery/views/thumb.container.masonry",["jquery","underscore","backbone","jquery-bridget/jquery.bridget","fluid-masonry","gallery/views/thumb.container","gallery/utils/responsive.adapter"],function(a,b,c,d,e,f,g){a.bridget("fluidMasonry",e);var h=f.extend({initialize:function(){f.prototype.initialize.apply(this,arguments),a(window).on("resize.masonry",a.debounce(300,b.bind(function(){this.initMasonry(this.model.get("opts")),a(window).trigger("scroll")},this)))},initGallery:function(){this.initMasonry(this.model.get("opts"))},initMasonry:function(a){this.$el.fluidMasonry({itemSelector:this.options.itemSelector,minColumnWidth:g.getOptionByMediaType(a,"min_col_width"),gutter:g.getOptionByMediaType(a,"gutter_width"),isFitWidth:!1})}});return h}),function(a,d){"function"==typeof c&&c.amd?c("imagesloaded/imagesloaded",["eventEmitter/EventEmitter","eventie/eventie"],function(b,c){return d(a,b,c)}):"object"==typeof exports?module.exports=d(a,b("wolfy87-eventemitter"),b("eventie")):a.imagesLoaded=d(a,a.EventEmitter,a.eventie)}(window,function(a,b,c){function d(a,b){for(var c in b)a[c]=b[c];return a}function e(a){return"[object Array]"===m.call(a)}function f(a){var b=[];if(e(a))b=a;else if("number"==typeof a.length)for(var c=0,d=a.length;d>c;c++)b.push(a[c]);else b.push(a);return b}function g(a,b,c){if(!(this instanceof g))return new g(a,b);"string"==typeof a&&(a=document.querySelectorAll(a)),this.elements=f(a),this.options=d({},this.options),"function"==typeof b?c=b:d(this.options,b),c&&this.on("always",c),this.getImages(),j&&(this.jqDeferred=new j.Deferred);var e=this;setTimeout(function(){e.check()})}function h(a){this.img=a}function i(a){this.src=a,n[a]=this}var j=a.jQuery,k=a.console,l="undefined"!=typeof k,m=Object.prototype.toString;g.prototype=new b,g.prototype.options={},g.prototype.getImages=function(){this.images=[];for(var a=0,b=this.elements.length;b>a;a++){var c=this.elements[a];"IMG"===c.nodeName&&this.addImage(c);var d=c.nodeType;if(d&&(1===d||9===d||11===d))for(var e=c.querySelectorAll("img"),f=0,g=e.length;g>f;f++){var h=e[f];this.addImage(h)}}},g.prototype.addImage=function(a){var b=new h(a);this.images.push(b)},g.prototype.check=function(){function a(a,e){return b.options.debug&&l&&k.log("confirm",a,e),b.progress(a),c++,c===d&&b.complete(),!0}var b=this,c=0,d=this.images.length;if(this.hasAnyBroken=!1,!d)return void this.complete();for(var e=0;d>e;e++){var f=this.images[e];f.on("confirm",a),f.check()}},g.prototype.progress=function(a){this.hasAnyBroken=this.hasAnyBroken||!a.isLoaded;var b=this;setTimeout(function(){b.emit("progress",b,a),b.jqDeferred&&b.jqDeferred.notify&&b.jqDeferred.notify(b,a)})},g.prototype.complete=function(){var a=this.hasAnyBroken?"fail":"done";this.isComplete=!0;var b=this;setTimeout(function(){if(b.emit(a,b),b.emit("always",b),b.jqDeferred){var c=b.hasAnyBroken?"reject":"resolve";b.jqDeferred[c](b)}})},j&&(j.fn.imagesLoaded=function(a,b){var c=new g(this,a,b);return c.jqDeferred.promise(j(this))}),h.prototype=new b,h.prototype.check=function(){var a=n[this.img.src]||new i(this.img.src);if(a.isConfirmed)return void this.confirm(a.isLoaded,"cached was confirmed");if(this.img.complete&&void 0!==this.img.naturalWidth)return void this.confirm(0!==this.img.naturalWidth,"naturalWidth");var b=this;a.on("confirm",function(a,c){return b.confirm(a.isLoaded,c),!0}),a.check()},h.prototype.confirm=function(a,b){this.isLoaded=a,this.emit("confirm",this,b)};var n={};return i.prototype=new b,i.prototype.check=function(){if(!this.isChecked){var a=new Image;c.bind(a,"load",this),c.bind(a,"error",this),a.src=this.src,this.isChecked=!0}},i.prototype.handleEvent=function(a){var b="on"+a.type;this[b]&&this[b](a)},i.prototype.onload=function(a){this.confirm(!0,"onload"),this.unbindProxyEvents(a)},i.prototype.onerror=function(a){this.confirm(!1,"onerror"),this.unbindProxyEvents(a)},i.prototype.confirm=function(a,b){this.isConfirmed=!0,this.isLoaded=a,this.emit("confirm",this,b)},i.prototype.unbindProxyEvents=function(a){c.unbind(a.target,"load",this),c.unbind(a.target,"error",this)},g}),c("lib/jquery.inview",["jquery","vendor/jquery.throttle-debounce"],function(a){function b(){var b,c,d={height:l.innerHeight,width:l.innerWidth};return d.height||(b=k.compatMode,(b||!a.support.boxModel)&&(c="CSS1Compat"===b?m:k.body,d={height:c.clientHeight,width:c.clientWidth})),d}function c(){return{top:l.pageYOffset||m.scrollTop||k.body.scrollTop,left:l.pageXOffset||m.scrollLeft||k.body.scrollLeft}}function d(){var d,e=a(),f=0;if(a.each(j,function(a,b){var c=b.data.selector,d=b.$element;d=c?d.find(c):d,d.data("inview_opts",b.data.data),e=e.add(d)}),d=e.length,i&&(console.log("inviewObjects: "),console.log(j),console.log("elementsLength: "+d)),d)for(g=g||b(),h=h||c(),i&&(console.log("viewportSize: "),console.log(g),console.log("viewportOffset: "),console.log(h));d>f;f++)if(a.contains(m,e[f])){var k,l,n,o=a(e[f]),p={height:o.height(),width:o.width()},q=o.offset(),r=o.data("inview"),s=o.data("inview_opts").threshold;if(s){this.debug&&console.log("Threshold: "+s);var t=q.top,u=q.left;q={top:t-s,left:u-s}}if(i&&(console.log("elementSize: "),console.log(p),console.log("elementOffset: "),console.log(q)),!h||!g)return;q.top<h.top+g.height&&q.left<h.left+g.width?(k=h.left>q.left?"right":h.left+g.width<q.left+p.width?"left":"both",l=h.top>q.top?"bottom":h.top+g.height<q.top+p.height?"top":"both",n=k+"-"+l,o.data("inview",n).trigger("inview",[!0,k,l])):r&&o.data("inview",!1).trigger("inview",[!1])}}function e(){a(l).bind("scroll.inview resize.inview",a.throttle(250,function(){i&&console.log("Hello inview.js checks it out!"),g=h=null,d()}))}function f(){a(l).unbind("scroll.inview resize.inview")}var g,h,i=!1,j={},k=document,l=window,m=k.documentElement,n=a.expando;a.event.special.inview={add:function(b){j[b.guid+"-"+this[n]]={data:b,$element:a(this)},e()},remove:function(a){f();try{delete j[a.guid+"-"+this[n]]}catch(b){}}}}),c("gallery/views/thumb.container.dynamic",["jquery","imagesloaded/imagesloaded","lib/jquery.inview","underscore","backbone","gallery/views/thumb.container","gallery/views/thumb.view","gallery/utils/responsive.adapter"],function(a,b,c,d,e,f,g,h){var i=f.extend({debug:!1,initialize:function(){this.thumbTemplate=this.getThumbTemplate(),this.loadedImages=0,this.threshold=300,f.prototype.initialize.apply(this,arguments),this.stopper=this.$el.next(".stopper"),this.listenTo(this.model,"slider:newImage",this.onNewSliderImage),this.listenTo(this.model,"slider:closing",this.onSliderClosing)},initGallery:function(){var a=this.model.get("opts");this.firstChunk=h.getOptionByMediaType(a,"first_chunk"),this.chunkSize=h.getOptionByMediaType(a,"chunk_size"),this.listenTo(this.model.get("images"),"reset",this.initThumbs),this.listenTo(this.model.get("images"),"remove",this.removeThumb)},initThumbs:function(){this.remove(),this._listeningForInview=!1,this.imagesToLoad=this.model.get("images").models.slice();var a=this._renderChunk(this.firstChunk);this.$el.removeClass("loading"),this._checkImagesLoaded(a)},remove:function(){this.$el.children().remove()},removeThumb:function(a){a.getThumbView().remove()},renderNextChunk:function(){this.timeoutBind=window.setTimeout(d.bind(this._bindInview,this),2e3),this._unbindInview();var a=this._renderChunk(this.chunkSize);this._checkImagesLoaded(a)},arrangeThumbs:function(){},thumbAdded:function(){},_bindInview:function(){window.clearTimeout(this.timeoutBind),this.imagesToLoad.length&&!this._listeningForInview?(this.stopper.show(),this.stopper.on("inview",{threshold:this.threshold},d.bind(this._onStopperAppeared,this)),this._listeningForInview=!0,a(window).trigger("scroll")):this.stopper.hide()},_unbindInview:function(){this.stopper.off("inview"),this._listeningForInview=!1},_onStopperAppeared:function(a,b){b?(this.debug&&console.log("SToPPer gesichtet!"),this.renderNextChunk()):this.debug&&console.log("STopper out of sight!")},_renderChunk:function(a){for(var b,c=[],d=0;a>d&&(b=this.imagesToLoad.shift(),b);d++){var e=new g({model:b,gallery:this.model,template:this.thumbTemplate});e=e.render(),this.$el.append(e.$el),this.thumbAdded(e),c.push(e.el)}return c},_checkImagesLoaded:function(c){var e=this;new b(c).on("progress",function(a,b){b.isLoaded&&(e.switchThumbClass(b.img),e.arrangeThumbs())}).on("always",function(){e.debug&&(console.log("last stopperAppeared trigger completed."),console.log("left over imagesToLoad: "+e.imagesToLoad.length)),window.setTimeout(d.bind(e.arrangeThumbs,e),200),e._bindInview()}).on("fail",function(a){a.debug&&console.log("FAIL - all images loaded, at least one is broken")}),a(c).each(function(b,c){a(c).prop("complete")&&(e.switchThumbClass(c.img),e.arrangeThumbs())})},switchThumbClass:function(b){var c=a(b).parent();return c.toggleClass("loading loaded")},onNewSliderImage:function(a){d.contains(this.imagesToLoad,a.model)&&window.setTimeout(d.bind(function(){this.renderNextChunk()},this),200)},onSliderClosing:function(a){a&&this.scrollToThumb(a.model)},getThumbTemplate:function(){return d.template(a("#template-thumb").html())}});return i}),c("gallery/views/thumb.container.dynamic.masonry",["jquery","jquery-bridget/jquery.bridget","fluid-masonry","underscore","backbone","gallery/views/thumb.container.dynamic","gallery/utils/responsive.adapter","vendor/jquery.throttle-debounce"],function(a,b,c,d,e,f,g){a.bridget("fluidMasonry",c);var h=f.extend({debug:!1,initialize:function(){f.prototype.initialize.apply(this,arguments),a(window).on("resize.masonry",a.debounce(300,d.bind(function(){this.initMasonry(this.model.get("opts")),a(window).trigger("scroll")},this)))},initGallery:function(){f.prototype.initGallery.apply(this,arguments),this.initMasonry(this.model.get("opts"))},initMasonry:function(a){this.$el.fluidMasonry({itemSelector:this.options.itemSelector,minColumnWidth:g.getOptionByMediaType(a,"min_col_width"),gutter:g.getOptionByMediaType(a,"gutter_width"),isFitWidth:!1})},remove:function(){this.$el.fluidMasonry("remove",this.$el.children())},removeThumb:function(a){var b=this.$el;b.fluidMasonry("remove",a.getThumbView().$el),b.fluidMasonry()},arrangeThumbs:function(){this.$el.fluidMasonry()},thumbAdded:function(a){this.$el.fluidMasonry("appended",a.$el)}});return h}),c("gallery/views/large.view",["jquery","underscore","backbone"],function(a,b,c){var d=c.View.extend({debug:!1,initialize:function(){this.slider=this.options.slider,this.currentSliderRatio=void 0,this.curDims={},this.largeAttrs=this.model.getLarge(),this.setElement(a("<img/>")),this.$el.attr("src",this.largeAttrs.src).css({"max-width":this.largeAttrs.width,"max-height":this.largeAttrs.height}),this.model.setLargeView(this)},events:{load:"loaded"},resize:function(){if(this.currentSliderRatio!==this.slider.ratio){this.currentSliderRatio=this.slider.ratio,this.curDims=this._calculateDims();var a=this;window.setTimeout(function(){a.$el.animate({width:a.curDims.px[0],height:a.curDims.px[1]},0)},0)}},getWidth:function(){return this.curDims.px[0]},getHeight:function(){return this.curDims.px[1]},_calculateDims:function(){var a=this.model.get("orientation");return"landscape"===a?(this._setLargeToFullWith(),this.curDims.px[1]>this.slider.height&&(this.debug&&console.log("ups, image to high for slider, when set to full slider width!"),this._setLargeToFullHeight())):"portrait"===a&&(this._setLargeToFullHeight(),this.curDims.px[0]>this.slider.width&&(this.debug&&console.log("ups, image to wide for slider, when set to full slider height!"),this._setLargeToFullWith())),this.curDims},_setLargeToFullWith:function(){this.curDims.percent=["100%",""],this.curDims.px=[Math.min(this.slider.width,this.largeAttrs.width),Math.min(Math.floor(this.slider.width/this.model.get("ratio")),this.largeAttrs.height)],this.debug&&console.log("100% width =>"+this.slider.width+"x"+this.curDims.px[1]+"px; Container: "+this.slider.width+"x"+this.slider.height+"px.")},_setLargeToFullHeight:function(){this.curDims.percent=["","100%"],this.curDims.px=[Math.min(Math.floor(this.slider.height*this.model.get("ratio")),this.largeAttrs.width),Math.min(this.slider.height,this.largeAttrs.height)],this.debug&&console.log("100% height =>"+this.curDims.px[0]+"x"+this.curDims.px[1]+"px; container: "+this.slider.width+"x"+this.slider.height+"px.")},loaded:function(){this.debug&&console.log("LargeView for Image "+this.model.id+" is loaded")}});return d}),c("gallery/views/cockpit.view",["jquery","underscore","backbone","gallery/views/selection/select.button","hammerjs"],function(a,b,c,d,e){var f=c.View.extend({el:".cockpit",initialize:function(){this.$el.length&&(this.$button=this.$(".cockpit_button"),this.body=this.$(".cockpit_body").addClass("hidden"),this._bodyTemplate=this.getTemplate(),this.slider=this.options.slider,this.listenTo(this.model,"slider:newImage",this.onNewImage),this.mc=new e.Manager(this.$button[0],{recognizers:[[e.Tap]]}),this.mc.on("tap",b.bind(this.toggleBody,this)))},remove:function(){this.mc.off("tap"),c.View.prototype.remove.call(this)},isOpen:function(){return!this.body.hasClass("hidden")},toggleBody:function(){this.body.toggleClass("hidden"),this.renderBody(this.model.getCurrent())},onNewImage:function(a){this.renderBody(a.model)},renderBody:function(a){if(this.isOpen()){this.body.html(this._bodyTemplate({img:a}));var b=this.$(".selector");b.length&&this.updateSelectButton(b,a)}},updateSelectButton:function(a,b){this.selectButton&&this.selectButton.remove(),this.selectButton=new d({model:b,el:a})},getTemplate:function(){var c=a("#template-cockpitBody");return c.length?b.template(c.html()):(console.error('Missing Template for Cockpit ($("#template-cockpitBody")! => Cockpit not initialized.'),void this.$el.hide())}});return f}),c("gallery/views/slider.view",["jquery","vendor/jquery.throttle-debounce","underscore","backbone","gallery/views/large.view","gallery/views/cockpit.view","hammerjs"],function(a,b,c,d,e,f,g){var h=d.View.extend({initialize:function(){a("body").addClass("slider_closed"),this.tray=this.$(".tray"),this.currentBox=this.$(".photo.current"),this.prevBox=this.$(".photo.prev"),this.nextBox=this.$(".photo.next"),this.navPrev=this.$(".nav.prev"),this.navNext=this.$(".nav.next"),this.current=void 0,this.listenTo(this.model,"thumb:clicked",this.openSlider),a(window).on("resize.slider",c.bind(a.debounce(200,this.resize),this)),a(window).on("keyup.slider",c.bind(this.keys,this)),this.touchable="ontouchstart"in window,this.touchable||this.tray.on("mousemove.slider",c.bind(a.throttle(150,this.mousemove),this)),this.cockpit=new f({model:this.model,slider:this}),this.initSwipeHandler(),this.listenToOnce(this.model,"sync",function(){if(window.onpopstate=this._onPopstate.bind(this),window.location.hash.length>2){var a=this.model.get("images").get(window.location.hash.substr(2));a&&(this.openSlider(a),window.setTimeout(c.bind(this.resize,this),250))}})},initSwipeHandler:function(){var a=this;this.mc=new g.Manager(this.$el[0],{recognizers:[[g.Tap],[g.Swipe,{direction:g.DIRECTION_HORIZONTAL}]]}),this.mc.on("tap",function(b){b.preventDefault(),a.click(b.srcEvent)}),this.mc.on("swipeleft",function(b){b.preventDefault(),a.showNext()}),this.mc.on("swiperight",function(b){b.preventDefault(),a.showPrev()}),this.mc.set({enable:!1})},remove:function(){a(window).off("resize.slider"),a(window).off("keyup.slider"),this.touchable&&this.tray.off("mousemove.slider"),this.mc.off("tap"),this.mc.off("swipeleft"),this.mc.off("swiperight"),d.View.prototype.remove.call(this)},keys:function(a){if(this.isOpen()){switch(a.keyCode){case 27:this.closeSlider();break;case 39:this.showNext();break;case 37:this.showPrev()}var b=this.model.get("opts").fullscreen_keys;b&&b.length&&b.indexOf(a.keyCode)>-1&&this.enterFullscreen()}},click:function(a){var b=this._mapMouseEvent(a);switch(b){case"nav.prev":this.showPrev();break;case"nav.next":this.showNext();break;case"ESC":this.closeSlider()}},mousemove:function(a){var b=this._mapMouseEvent(a);"nav.prev"===b?(this.navNext.removeClass("active"),this.navPrev.addClass("active")):"nav.next"===b?(this.navPrev.removeClass("active"),this.navNext.addClass("active")):(this.navPrev.removeClass("active"),this.navNext.removeClass("active"))},_mapMouseEvent:function(b){var c=a(b.target);if(c.is(".photo img")){var d=b.changedTouches&&b.changedTouches.length?b.changedTouches[0].pageX:b.pageX,e=d-a(b.target).offset().left,f=e/this.current.getWidth();return.45>f?"nav.prev":"nav.next"}return c.is(".nav.next")?"nav.next":c.is(".nav.prev")?"nav.prev":0===c.closest(".cockpit").length?"ESC":void 0},isOpen:function(){return this.$el.hasClass("open")},openSlider:function(b){this._setDimensions(),this._setCurrent(b),this.$el.addClass("open"),a("body").removeClass("slider_closed"),this.$el.addClass("visible"),this.mc.set({enable:!0}),this.model.toggleSliderState()},showNext:function(){if(this.next){var a=this.$el.find("#prev");this.prev=this.current,this.prevBox=this.currentBox.attr("id","prev"),this.current=this.next,this.model.setCurrent(this.next.model),this.currentBox=this.nextBox.attr("id","current"),this.nextBox=a.attr("id","next"),this.prevBox.toggleClass("current prev"),this.currentBox.toggleClass("next current"),this.nextBox.toggleClass("prev next"),this._setNext(),this._currentChanged()}},showPrev:function(){if(this.prev){var a=this.$el.find("#next");this.next=this.current,this.nextBox=this.currentBox.attr("id","next"),this.current=this.prev,this.model.setCurrent(this.prev.model),this.currentBox=this.prevBox.attr("id","current"),this.prevBox=a.attr("id","prev"),this.nextBox.toggleClass("current next"),this.currentBox.toggleClass("prev current"),this.prevBox.toggleClass("next prev"),this._setPrev(),this._currentChanged()}},closeSlider:function(){this.model.trigger("slider:closing",this.current),this.exitFullscreen(),this.$el.removeClass("open visible"),a("body").addClass("slider_closed"),this._setCurrent(void 0),this.current=this.next=this.perv=void 0,this.$(".photo").empty(),this._setState(null),this.mc.set({enable:!1}),this.model.toggleSliderState()},isFullscreen:function(){return document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement},enterFullscreen:function(){if(this.model.get("opts").fullscreen_keys.length&&this.isOpen()&&!this.isFullscreen()){var a=this.$el[0];a.requestFullscreen?a.requestFullscreen():a.msRequestFullscreen?a.msRequestFullscreen():a.mozRequestFullScreen?a.mozRequestFullScreen():a.webkitRequestFullscreen&&a.webkitRequestFullscreen()}},exitFullscreen:function(){this.isFullscreen()&&(document.exitFullscreen?document.exitFullscreen():document.msExitFullscreen?document.msExitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitExitFullscreen&&document.webkitExitFullscreen())},_onPopstate:function(a){if(Modernizr.history)if(a.state&&a.state.imageId){var b=this.model.get("images").get(a.state.imageId);this.isOpen()?this._setCurrent(b):this.openSlider(b)}else this.closeSlider()},_setState:function(a){if(Modernizr.history){var b=document.location.href;if(a){if(!history.state||history.state.imageId!=a.id){var c=this.model.get("imagePages")?a.get("imagePagePath"):b.replace(/\#.*/,"")+"#!"+a.id;history.pushState({imageId:a.id},"",c)}}else history.state&&history.pushState(null,"",this.model.get("postPath"))}},_currentChanged:function(){this._setState(this.current.model),this.model.trigger("slider:newImage",this.current),this.next?this.navNext.removeClass("visuallyhidden"):this.navNext.addClass("visuallyhidden"),this.prev?this.navPrev.removeClass("visuallyhidden"):this.navPrev.addClass("visuallyhidden")},_setCurrent:function(a){this.model.setCurrent(a);var b=this._loadOrGetLarge(a);b&&(this.current=b,this.currentBox.html(this.current.$el),this._currentChanged(),this._setNext(),this._setPrev())},_setNext:function(){return this.next=this._loadOrGetLarge(this.model.getNext()),this.next?(this.nextBox.html(this.next.$el),this.navNext.removeClass("visuallyhidden")):this.navNext.addClass("visuallyhidden"),this.next},_setPrev:function(){return this.prev=this._loadOrGetLarge(this.model.getPrev()),this.prev?(this.prevBox.html(this.prev.$el),this.navPrev.removeClass("visuallyhidden")):this.navPrev.addClass("visuallyhidden"),this.prev},_loadOrGetLarge:function(a){if(a){var b=a.getLargeView()||new e({model:a,slider:this});return b.resize(),b}return void 0},resize:function(){this._setDimensions(),this.current&&this.current.resize(),this.next&&this.next.resize(),this.prev&&this.prev.resize()},_setDimensions:function(){this.width=this.tray.width(),this.height=this.tray.height(),this.ratio=this.width/this.height,this.orientation=this.ratio>1?"landscape":"portrait"}});return h}),c("gallery/views/selection/component",["backbone"],function(a){var b=a.View.extend({initialize:function(){this.$el.length&&this.collection&&this.listenToOnce(this.collection,"sync",this.selectionSynced)},selectionSynced:function(a){this.render(),this.renderActive(a.length>0),this.$el.addClass("initialized"),this.listenTo(this.collection,"add",this.itemAdded),this.listenTo(this.collection,"remove",this.itemRemoved)},itemAdded:function(a,b,c){1===b.length&&this.renderActive(!0),this.selectionChanged(c)},itemRemoved:function(a,b,c){0===b.length&&this.renderActive(!1),this.selectionChanged(c)},selectionChanged:function(){},renderActive:function(a){a?this.$el.addClass("active"):this.$el.removeClass("active")}});return b}),c("gallery/views/selection/indicator",["backbone","gallery/views/selection/component"],function(a,b){var c=b.extend({el:".selection .indicator:not([data-selection])",selectionChanged:function(){this.render()},render:function(){this.$el.html(this.collection.length)}});return c}),c("gallery/views/selection/toggle.button",["underscore","backbone","gallery/views/selection/component"],function(a,b,c){var d=c.extend({el:".selection .button.toggle",events:{click:"toggle"},toggle:function(){this.$el.hasClass("active")&&this.filter()},filter:function(){var a=this.collection.gallery.get("images");this.$el.hasClass("filtered")?(a.reset(this.unfilteredImages.models),this.unfilteredImages=void 0):(this.unfilteredImages=new b.Collection(a.models),a.reset(this.collection.models)),this.$el.toggleClass("filtered")},itemRemoved:function(a){if(this.unfilteredImages){var b=this.unfilteredImages.get(a.id);b&&b.set("selected",!1)}c.prototype.itemRemoved.apply(this,arguments)},selectionChanged:function(){0===this.collection.length&&this.$el.hasClass("filtered")&&this.filter()}});return d}),c("gallery/app",["backbone","underscore","gallery/models/gallery.factory","gallery/views/thumb.container.masonry","gallery/views/thumb.container.dynamic","gallery/views/thumb.container.dynamic.masonry","gallery/views/slider.view","gallery/utils/responsive.adapter","gallery/collections/selection.collection","gallery/views/selection/component","gallery/views/selection/indicator","gallery/views/selection/toggle.button"],function(a,b,c,d,e,f,g,h,i,j,k,l){var m=a.View.extend({el:"article.gallery",defaultOpts:{layout:"masonry"},initialize:function(a){this.$el.data("gal-layout")&&(this.defaultOpts.layout=this.$el.data("gal-layout")),this.options=b.extend({},this.defaultOpts,this.options),this.model=c.create(this.$el,a.galleryOpts),this.initSelection(a.selectionOpts),this.model&&(this.initThumbContainer(),this.model.fetch({success:b.bind(function(b){var c=this.$el;c.addClass("initialized"),b.get("images").isEmpty()&&c.addClass("empty"),this.listenTo(b.get("images"),"remove",function(a,b){b.isEmpty()&&c.addClass("empty")}),a.onInit&&a.onInit(this,this.model)},this)}),this.initSlider(),this.$el.data("gallery",this))},initSelection:function(a){var c=this.$el.data("gal-selection");c&&(a=b.extend({},this.$el.data("gal-selection-opts"),a),this.selection=i.get(this.$el.data("gal-selection"),this.model,a),this.selectionIndicator=new k({collection:this.selection}),this.selectionToggleButton=new l({collection:this.selection}),new j({el:$(".selection .component"),collection:this.selection}));var d={};$("[data-selection].indicator").each(function(){var a=$(this);d[a.data("selection")]=void 0===d[a.data("selection")]?a:d[a.data("selection")].add(a)}),b.each(d,function(a,b){var c=i.get(b,this.model);new k({collection:c,el:a}),void 0===c.gallery&&c.fetch()},this)},initThumbContainer:function(){var a={model:this.model,itemSelector:".photo"};this.containerView=this.$(".container.photos .photo").length?new d(a):"none"===this.options.layout?new e(a):new f(a)},initSlider:function(){this.sliderView=new g({el:this.$(".slider"),model:this.model})},getResponsiveAdapter:function(){return void 0===this.responsiveAdapter&&(this.responsiveAdapter=h),this.responsiveAdapter}});return m}),c("jquery",[],function(){return jQuery}),b("gallery/app")});