From 352a00ada20ea2fd2805ffdba5d2fde92d513d34 Mon Sep 17 00:00:00 2001 From: Sherri Alexander Date: Thu, 2 Oct 2014 10:06:12 -0400 Subject: [PATCH] Moving one history check out of async ajax and into stored data from the initial History Ajax load (to prevent async difficulties), un-styling the checkboxes for testing --- _site/ui/js/scripts-concat.js | 165 +++++++++++++--------------- _site/ui/js/scripts-concat.min.js | 4 +- _site/ui/js/scripts.js | 165 +++++++++++++--------------- _source/ui/js/scripts-concat.js | 116 +++++++++---------- _source/ui/js/scripts-concat.min.js | 4 +- _source/ui/js/scripts.js | 116 +++++++++---------- 6 files changed, 260 insertions(+), 310 deletions(-) diff --git a/_site/ui/js/scripts-concat.js b/_site/ui/js/scripts-concat.js index 5a560ba..e8891b5 100644 --- a/_site/ui/js/scripts-concat.js +++ b/_site/ui/js/scripts-concat.js @@ -23445,7 +23445,7 @@ Artbot.footerSlider = { Artbot.footerSlider.initSlider(); } else { // No favorites returned, show the "no favorites yet" message - $("#footer-slider-msg-nofavorites").fadeIn(400); + Artbot.footerSlider.showErrorMsg("nofavorites"); } }, error: function (jqXHR, error, errorThrown) { @@ -23458,7 +23458,7 @@ Artbot.footerSlider = { } else { // User is not logged in, show the appropriate message - $("#footer-slider-msg-favoritesignup").fadeIn(400); + Artbot.footerSlider.showErrorMsg("favoritesignup"); } } else if ($("#venue-events-slider").length > 0) { @@ -23493,7 +23493,7 @@ Artbot.footerSlider = { Artbot.footerSlider.initSlider(); } else { // No events returned, show the "no events" message - $("#footer-slider-msg-noevents").fadeIn(400); + Artbot.footerSlider.showErrorMsg("noevents"); } }, error: function (jqXHR, error, errorThrown) { @@ -23523,20 +23523,21 @@ Artbot.footerSlider = { Artbot.footerSlider.vars.totalRelatedInterests = numberOfTags - 1; // zero-based index - //console.log("Number of tags: " + numberOfTags); + if (numberOfTags > 1) { + // Create click event to trigger cycleRelatedInterests + $("#cycle-relatedinterest").click(function(){ + Artbot.footerSlider.cycleRelatedInterests(Artbot.var.relatedInterests); + return false; + }).addClass("is-visible"); + } else { + $("#cycle-relatedinterest").removeClass("is-visible"); + } - // Create click event to trigger cycleRelatedInterests - $("#cycle-relatedinterest").click(function(){ - Artbot.footerSlider.cycleRelatedInterests(Artbot.var.relatedInterests); - return false; - }); - // Trigger cycleRelatedInterests Artbot.footerSlider.cycleRelatedInterests(Artbot.var.relatedInterests); } else { - // TODO: Show error for no results - $("#footer-slider-msg-noevents").fadeIn(400); + Artbot.footerSlider.showErrorMsg("noevents"); } } else if ($("#near-you-slider").length > 0) { @@ -23545,7 +23546,7 @@ Artbot.footerSlider = { console.log("Initializing Near You slider"); // First, we have to try to get the user's current position. - Artbot.geolocation.getLocation(Artbot.footerSlider.processNearbyEvents, Artbot.footerSlider.hideFooter); + Artbot.geolocation.getLocation(Artbot.footerSlider.processNearbyEvents, Artbot.footerSlider.showGeolocationError); } }, @@ -23585,7 +23586,7 @@ Artbot.footerSlider = { } else { // No events returned, show the "no events in radius" message $("#location-radius").html(Artbot.footerSlider.vars.locationRadius); - $("#footer-slider-msg-noeventsnearby").fadeIn(400); + Artbot.footerSlider.showErrorMsg("noeventsnearby"); } }, error: function (jqXHR, error, errorThrown) { @@ -23598,8 +23599,8 @@ Artbot.footerSlider = { } }); } else { - // Couldn't get a position; hide footer - Artbot.footerSlider.hideFooter(); + // Couldn't get a position; show error message + Artbot.footerSlider.showErrorMsg("nogeolocation"); $.mobile.loading('hide'); } }, @@ -23742,7 +23743,7 @@ Artbot.footerSlider = { } else { // We removed all the favorites; show the "no favorites yet" message - $("#footer-slider-msg-nofavorites").fadeIn(400); + Artbot.footerSlider.showErrorMsg("nofavorites"); } }, reload: function() { @@ -23755,6 +23756,15 @@ Artbot.footerSlider = { } }, + showErrorMsg: function(errorID) { + $("#footer-slider").fadeOut( 400, function() { + $("#footer-slider-msg-"+errorID).fadeIn(400); + $("#footer-slider").show(); + }); + }, + showGeolocationError: function() { + Artbot.footerSlider.showErrorMsg("nogeolocation"); + }, destroy: function() { if (($("#footer-slider").length > 0) && (Artbot.footerSlider.vars.footSlideInstance !== "")) { console.log("Destroying footer slider"); @@ -24737,6 +24747,9 @@ Artbot.settings = { /* Setting up History list functionality ========================================================================== */ Artbot.historyList = { + vars: { + historyData: [] + }, init: function() { if ($("#target-historylist").length > 0) { if ($.cookie('token') !== undefined) { @@ -24761,7 +24774,9 @@ Artbot.historyList = { success: function( data ) { console.log("Successfully fetched History data"); - jsonDataString = JSON.stringify(data.favorites); + Artbot.historyList.vars.historyData = data; + + jsonDataString = JSON.stringify(Artbot.historyList.vars.historyData.favorites); //console.log(jsonDataString); @@ -24771,7 +24786,7 @@ Artbot.historyList = { Artbot.historyList.hideErrorMsg(); $("#target-historylist").fadeOut(400, function() { - Artbot.historyList.buildList(data); + Artbot.historyList.buildList(Artbot.historyList.vars.historyData); }); } else { @@ -24801,6 +24816,7 @@ Artbot.historyList = { $(historyHtml).appendTo($("#target-historylist")); + Artbot.historyList.unbindAttendanceCheckboxes(); Artbot.historyList.addEventHandlers(); }, addEventHandlers: function() { @@ -24845,9 +24861,7 @@ Artbot.historyList = { }); }, bindAttendanceCheckboxes: function() { - Artbot.historyList.unbindAttendanceCheckboxes(); - - Artbot.customCheckboxes.init("#history-form"); + //Artbot.customCheckboxes.init("#history-form"); // Set up click event for History Attendance checkboxes $("#history-form").find("input[type=checkbox]").click(function() { @@ -24856,7 +24870,7 @@ Artbot.historyList = { }, unbindAttendanceCheckboxes: function() { - Artbot.customCheckboxes.destroy("#history-form"); + //Artbot.customCheckboxes.destroy("#history-form"); // Remove click event for History Attendance checkboxes $("#history-form").find("input[type=checkbox]").unbind("click"); @@ -24897,80 +24911,58 @@ Artbot.historyList = { syncAttended : function() { /* This function checks all attended checkboxes currently present in the page, and compares them against the current user's saved favorites (if logged in). If there's a match, that box will be checked. */ - if (($("#history-form").find("input[type=checkbox]").length > 0) && ($.cookie('token') !== undefined)) { + if (($("#history-form").find("input[type=checkbox]").length > 0)) { console.log("Syncing attendance checkboxes with user's attended records"); // Reset the form, in case of caching (we want a fresh copy) document.getElementById("history-form").reset(); - // Fetch the list of user's history to check against. - $.ajax({ - type: "GET", - dataType: "json", - url: Artbot.var.jsonDomain + "/favorites/history/", - beforeSend: function (request) { - request.setRequestHeader("authentication_token", $.cookie('token')); - }, - success: function( data ) { - console.log("Successfully fetched History data for syncing"); - - jsonDataString = JSON.stringify(data.favorites); - - //console.log(jsonDataString); + + jsonDataString = JSON.stringify(Artbot.historyList.vars.historyData.favorites); - if (jsonDataString.length > 2) { - // There are history items, so we may need to sync them up + //console.log(jsonDataString); - var userHistoryItems = data.favorites; + if (jsonDataString.length > 2) { + // There are history items, so we may need to sync them up - // Iterate through each history item - $.each(userHistoryItems, function(i, value) { - var thisItem = userHistoryItems[i]; - var thisEventAttended; - - if (thisItem.attended === true) { - thisEventAttended = true; - } else { - thisEventAttended = false; - } - //console.log("This event attended? " + thisEventAttended); + var userHistoryItems = Artbot.historyList.vars.historyData.favorites; - if (thisEventAttended) { - var userFavoriteID = thisItem.id; - //console.log("User favorite ID: " + userFavoriteID); + // Iterate through each history item + $.each(userHistoryItems, function(i, value) { + var thisItem = userHistoryItems[i]; + var thisEventAttended; + + if (thisItem.attended === true) { + thisEventAttended = true; + } else { + thisEventAttended = false; + } + //console.log("This event attended? " + thisEventAttended); - // Toggle the checkbox with the appropriate data attribute - var $thisCheckbox = $("#history-form").find("input[data-user-favorite-id=" + userFavoriteID + "]"); + if (thisEventAttended) { + var userFavoriteID = thisItem.id; + //console.log("User favorite ID: " + userFavoriteID); - if (!$thisCheckbox.attr("checked")) { - $thisCheckbox.trigger("click"); - } - } - }); + // Toggle the checkbox with the appropriate data attribute + var $thisCheckbox = $("#history-form").find("input[data-user-favorite-id=" + userFavoriteID + "]"); - // Debugging: Quick check to list out which are checked after sync - var allCheckboxes = $("#history-form").find(".customize-checkbox"); - $.each(allCheckboxes, function(i, value) { - var tempIsCheckboxChecked = $(this).prop("checked"); - var tempUserFavoriteID = $(this).attr("data-user-favorite-id"); - console.log("User favorite: " + tempUserFavoriteID + ", Value of property 'checked' after syncing: " + tempIsCheckboxChecked); - }); - - Artbot.historyList.bindAttendanceCheckboxes(); + if (!$thisCheckbox.attr("checked")) { + $thisCheckbox.trigger("click"); + } + } + }); - } - }, - error: function (jqXHR, error, errorThrown) { - console.log("Error fetching History data"); - Artbot.errors.logAjaxError(jqXHR, error, errorThrown); - }, - complete: function() { - Artbot.historyList.showList(); - $.mobile.loading('hide'); - } - }); + // Debugging: Quick check to list out which are checked after sync + var allCheckboxes = $("#history-form").find(".customize-checkbox"); + $.each(allCheckboxes, function(i, value) { + var tempIsCheckboxChecked = $(this).prop("checked"); + var tempUserFavoriteID = $(this).attr("data-user-favorite-id"); + console.log("User favorite: " + tempUserFavoriteID + ", Value of property 'checked' after syncing: " + tempIsCheckboxChecked); + }); + + Artbot.historyList.bindAttendanceCheckboxes(); - + } } }, }; @@ -25530,7 +25522,7 @@ Artbot.geolocation = { Artbot.geolocation.vars.currentLongitude = position.coords.longitude; Artbot.geolocation.successCallback(); }, - showError: function() { + showError: function(error) { console.log("Geolocation error:"); switch(error.code) { case error.PERMISSION_DENIED: @@ -25740,9 +25732,10 @@ Artbot.byLocation = { console.log("Show map zoomed to show all locations"); Artbot.byLocation.vars.mapInstance.setView([42.3581, -71.0636], 12); - var bounds = L.latLngBounds(Artbot.byLocation.vars.boundsArray); + // If we wanted to limit the map so that it contained all pins: + //var bounds = L.latLngBounds(Artbot.byLocation.vars.boundsArray); //console.log(bounds); - Artbot.byLocation.vars.mapInstance.fitBounds(bounds, { padding: [10, 10]}); + //Artbot.byLocation.vars.mapInstance.fitBounds(bounds, { padding: [10, 10]}); } Artbot.footerSlider.init(); diff --git a/_site/ui/js/scripts-concat.min.js b/_site/ui/js/scripts-concat.min.js index aa18bbb..dc9b184 100644 --- a/_site/ui/js/scripts-concat.min.js +++ b/_site/ui/js/scripts-concat.min.js @@ -1,5 +1,5 @@ /*! - * mitartx | version: 0.1.0 | updated: 2014-09-30 @ 7:07:41 PM + * mitartx | version: 0.1.0 | updated: 2014-10-02 @ 10:02:46 AM * Copyright (c) 2014 MIT Hyperstudio */ function FastClick(a,b){"use strict";function c(a,b){return function(){return a.apply(b,arguments)}}var d;if(b=b||{},this.trackingClick=!1,this.trackingClickStart=0,this.targetElement=null,this.touchStartX=0,this.touchStartY=0,this.lastTouchIdentifier=0,this.touchBoundary=b.touchBoundary||10,this.layer=a,this.tapDelay=b.tapDelay||200,!FastClick.notNeeded(a)){for(var e=["onMouse","onClick","onTouchStart","onTouchMove","onTouchEnd","onTouchCancel"],f=this,g=0,h=e.length;h>g;g++)f[e[g]]=c(f[e[g]],f);deviceIsAndroid&&(a.addEventListener("mouseover",this.onMouse,!0),a.addEventListener("mousedown",this.onMouse,!0),a.addEventListener("mouseup",this.onMouse,!0)),a.addEventListener("click",this.onClick,!0),a.addEventListener("touchstart",this.onTouchStart,!1),a.addEventListener("touchmove",this.onTouchMove,!1),a.addEventListener("touchend",this.onTouchEnd,!1),a.addEventListener("touchcancel",this.onTouchCancel,!1),Event.prototype.stopImmediatePropagation||(a.removeEventListener=function(b,c,d){var e=Node.prototype.removeEventListener;"click"===b?e.call(a,b,c.hijacked||c,d):e.call(a,b,c,d)},a.addEventListener=function(b,c,d){var e=Node.prototype.addEventListener;"click"===b?e.call(a,b,c.hijacked||(c.hijacked=function(a){a.propagationStopped||c(a)}),d):e.call(a,b,c,d)}),"function"==typeof a.onclick&&(d=a.onclick,a.addEventListener("click",function(a){d(a)},!1),a.onclick=null)}}function handleAppCache(){return void 0!==applicationCache?applicationCache.status==applicationCache.UPDATEREADY?(applicationCache.swapCache(),void location.reload()):void applicationCache.addEventListener("updateready",handleAppCache,!1):void 0}!function(a,b,c,d){function e(b,c){if(this.element=b,this.options=a.extend(!0,{},h,c),this.options.events.length&&(this.options.events=this.options.multiDayEvents?this.addMultiDayMomentObjectsToEvents(this.options.events):this.addMomentObjectToEvents(this.options.events)),this.month=this.options.startWithMonth?moment(this.options.startWithMonth).startOf("month"):moment().startOf("month"),this.options.constraints){if(this.options.constraints.startDate){var d=moment(this.options.constraints.startDate);this.month.isBefore(d,"month")&&(this.month.set("month",d.month()),this.month.set("year",d.year()))}if(this.options.constraints.endDate){var e=moment(this.options.constraints.endDate);this.month.isAfter(e,"month")&&this.month.set("month",e.month()).set("year",e.year())}}this._defaults=h,this._name=g,this.init()}var f="
previous
<%= month %> <%= year %>
next
<% for(var i = 0; i < daysOfTheWeek.length; i++) { %><% } %><% for(var i = 0; i < numberOfRows; i++){ %><% for(var j = 0; j < 7; j++){ %><% var d = j + i * 7; %><% } %><% } %>
<%= daysOfTheWeek[i] %>
<%= days[d].day %>
",g="clndr",h={template:f,weekOffset:0,startWithMonth:null,clickEvents:{click:null,nextMonth:null,previousMonth:null,nextYear:null,previousYear:null,today:null,onMonthChange:null,onYearChange:null},targets:{nextButton:"clndr-next-button",previousButton:"clndr-previous-button",nextYearButton:"clndr-next-year-button",previousYearButton:"clndr-previous-year-button",todayButton:"clndr-today-button",day:"day",empty:"empty"},events:[],extras:null,dateParameter:"date",multiDayEvents:null,doneRendering:null,render:null,daysOfTheWeek:null,showAdjacentMonths:!0,adjacentDaysChangeMonth:!1,ready:null,constraints:null,forceSixRows:null};e.prototype.init=function(){if(this.daysOfTheWeek=this.options.daysOfTheWeek||[],!this.options.daysOfTheWeek){this.daysOfTheWeek=[];for(var b=0;7>b;b++)this.daysOfTheWeek.push(moment().weekday(b).format("dd").charAt(0))}if(this.options.weekOffset&&(this.daysOfTheWeek=this.shiftWeekdayLabels(this.options.weekOffset)),!a.isFunction(this.options.render)){if(this.options.render=null,"undefined"==typeof _)throw new Error("Underscore was not found. Please include underscore.js OR provide a custom render function.");this.compiledClndrTemplate=_.template(this.options.template)}a(this.element).html("
"),this.calendarContainer=a(".clndr",this.element),this.bindEvents(),this.render(),this.options.ready&&this.options.ready.apply(this,[])},e.prototype.shiftWeekdayLabels=function(a){for(var b=this.daysOfTheWeek,c=0;a>c;c++)b.push(b.shift());return b},e.prototype.createDaysObject=function(b){daysArray=[];var c=b.startOf("month");if(this.eventsLastMonth=[],this.eventsThisMonth=[],this.eventsNextMonth=[],this.options.events.length)if(this.options.multiDayEvents){if(this.eventsThisMonth=a(this.options.events).filter(function(){return this._clndrStartDateObject.format("YYYY-MM")===b.format("YYYY-MM")||this._clndrEndDateObject.format("YYYY-MM")===b.format("YYYY-MM")?!0:this._clndrStartDateObject.format("YYYY-MM")<=b.format("YYYY-MM")&&this._clndrEndDateObject.format("YYYY-MM")>=b.format("YYYY-MM")?!0:!1}).toArray(),this.options.showAdjacentMonths){var d=b.clone().subtract("months",1),e=b.clone().add("months",1);this.eventsLastMonth=a(this.options.events).filter(function(){return this._clndrStartDateObject.format("YYYY-MM")===d.format("YYYY-MM")||this._clndrEndDateObject.format("YYYY-MM")===d.format("YYYY-MM")?!0:this._clndrStartDateObject.format("YYYY-MM")<=d.format("YYYY-MM")&&this._clndrEndDateObject.format("YYYY-MM")>=d.format("YYYY-MM")?!0:!1}).toArray(),this.eventsNextMonth=a(this.options.events).filter(function(){return this._clndrStartDateObject.format("YYYY-MM")===e.format("YYYY-MM")||this._clndrEndDateObject.format("YYYY-MM")===e.format("YYYY-MM")?!0:this._clndrStartDateObject.format("YYYY-MM")<=e.format("YYYY-MM")&&this._clndrEndDateObject.format("YYYY-MM")>=e.format("YYYY-MM")?!0:!1}).toArray()}}else if(this.eventsThisMonth=a(this.options.events).filter(function(){return this._clndrDateObject.format("YYYY-MM")==b.format("YYYY-MM")}).toArray(),this.options.showAdjacentMonths){var d=b.clone().subtract("months",1),e=b.clone().add("months",1);this.eventsLastMonth=a(this.options.events).filter(function(){return this._clndrDateObject.format("YYYY-MM")==d.format("YYYY-MM")}).toArray(),this.eventsNextMonth=a(this.options.events).filter(function(){return this._clndrDateObject.format("YYYY-MM")==e.format("YYYY-MM")}).toArray()}var f=c.weekday()-this.options.weekOffset;if(0>f&&(f+=7),this.options.showAdjacentMonths)for(var g=0;f>g;g++){var h=moment([b.year(),b.month(),g-f+1]);daysArray.push(this.createDayObject(h,this.eventsLastMonth))}else for(var g=0;f>g;g++)daysArray.push(this.calendarDay({classes:this.options.targets.empty+" last-month"}));for(var i=c.daysInMonth(),g=1;i>=g;g++){var h=moment([b.year(),b.month(),g]);daysArray.push(this.createDayObject(h,this.eventsThisMonth))}for(var g=1;daysArray.length%7!==0;){if(this.options.showAdjacentMonths){var h=moment([b.year(),b.month(),i+g]);daysArray.push(this.createDayObject(h,this.eventsNextMonth))}else daysArray.push(this.calendarDay({classes:this.options.targets.empty+" next-month"}));g++}if(this.options.forceSixRows&&42!==daysArray.length)for(var j=moment(daysArray[daysArray.length-1].date).add("days",1);daysArray.length<42;)this.options.showAdjacentMonths?(daysArray.push(this.createDayObject(moment(j),this.eventsNextMonth)),j.add("days",1)):daysArray.push(this.calendarDay({classes:this.options.targets.empty+" next-month"}));return daysArray},e.prototype.createDayObject=function(a,b){var c=[],e=moment(),f=this,g=0,h=b.length;for(g;h>g;g++)if(f.options.multiDayEvents){var i=b[g]._clndrStartDateObject,j=b[g]._clndrEndDateObject;(a.isSame(i,"day")||a.isAfter(i,"day"))&&(a.isSame(j,"day")||a.isBefore(j,"day"))&&c.push(b[g])}else b[g]._clndrDateObject.date()==a.date()&&c.push(b[g]);var k="";return e.format("YYYY-MM-DD")==a.format("YYYY-MM-DD")&&(k+=" today"),a.isBefore(e,"day")&&(k+=" past"),c.length&&(k+=" event"),this.month.month()>a.month()?(k+=" adjacent-month",k+=this.month.year()===a.year()?" last-month":" next-month"):this.month.month()c;c++)a[c]._clndrDateObject=moment(a[c][b.options.dateParameter]);return a},e.prototype.addMultiDayMomentObjectsToEvents=function(a){var b=this,c=0,d=a.length;for(c;d>c;c++)a[c]._clndrStartDateObject=moment(a[c][b.options.multiDayEvents.startDate]),a[c]._clndrEndDateObject=moment(a[c][b.options.multiDayEvents.endDate]);return a},e.prototype.calendarDay=function(b){var c={day:"",classes:this.options.targets.empty,events:[],date:null};return a.extend({},c,b)},a.fn.clndr=function(a){if(1===this.length){if(!this.data("plugin_clndr")){var b=new e(this,a);return this.data("plugin_clndr",b),b}}else if(this.length>1)throw new Error("CLNDR does not support multiple elements yet. Make sure your clndr selector returns only one element.")}}(jQuery,window,document),window.log=function(){if(log.history=log.history||[],log.history.push(arguments),this.console){arguments.callee=arguments.callee.caller;var a=[].slice.call(arguments);"object"==typeof console.log?log.apply.call(console.log,console,a):console.log.apply(console,a)}},function(a){function b(){}for(var c,d="assert,clear,count,debug,dir,dirxml,error,exception,firebug,group,groupCollapsed,groupEnd,info,log,memoryProfile,memoryProfileEnd,profile,profileEnd,table,time,timeEnd,timeStamp,trace,warn".split(",");c=d.pop();)a[c]=a[c]||b}(function(){try{return console.log(),window.console}catch(a){return window.console={}}}());var deviceIsAndroid=navigator.userAgent.indexOf("Android")>0,deviceIsIOS=/iP(ad|hone|od)/.test(navigator.userAgent),deviceIsIOS4=deviceIsIOS&&/OS 4_\d(_\d)?/.test(navigator.userAgent),deviceIsIOSWithBadTarget=deviceIsIOS&&/OS ([6-9]|\d{2})_\d/.test(navigator.userAgent);FastClick.prototype.needsClick=function(a){"use strict";switch(a.nodeName.toLowerCase()){case"button":case"select":case"textarea":if(a.disabled)return!0;break;case"input":if(deviceIsIOS&&"file"===a.type||a.disabled)return!0;break;case"label":case"video":return!0}return/\bneedsclick\b/.test(a.className)},FastClick.prototype.needsFocus=function(a){"use strict";switch(a.nodeName.toLowerCase()){case"textarea":return!0;case"select":return!deviceIsAndroid;case"input":switch(a.type){case"button":case"checkbox":case"file":case"image":case"radio":case"submit":return!1}return!a.disabled&&!a.readOnly;default:return/\bneedsfocus\b/.test(a.className)}},FastClick.prototype.sendClick=function(a,b){"use strict";var c,d;document.activeElement&&document.activeElement!==a&&document.activeElement.blur(),d=b.changedTouches[0],c=document.createEvent("MouseEvents"),c.initMouseEvent(this.determineEventType(a),!0,!0,window,1,d.screenX,d.screenY,d.clientX,d.clientY,!1,!1,!1,!1,0,null),c.forwardedTouchEvent=!0,a.dispatchEvent(c)},FastClick.prototype.determineEventType=function(a){"use strict";return deviceIsAndroid&&"select"===a.tagName.toLowerCase()?"mousedown":"click"},FastClick.prototype.focus=function(a){"use strict";var b;deviceIsIOS&&a.setSelectionRange&&0!==a.type.indexOf("date")&&"time"!==a.type?(b=a.value.length,a.setSelectionRange(b,b)):a.focus()},FastClick.prototype.updateScrollParent=function(a){"use strict";var b,c;if(b=a.fastClickScrollParent,!b||!b.contains(a)){c=a;do{if(c.scrollHeight>c.offsetHeight){b=c,a.fastClickScrollParent=c;break}c=c.parentElement}while(c)}b&&(b.fastClickLastScrollTop=b.scrollTop)},FastClick.prototype.getTargetElementFromEventTarget=function(a){"use strict";return a.nodeType===Node.TEXT_NODE?a.parentNode:a},FastClick.prototype.onTouchStart=function(a){"use strict";var b,c,d;if(a.targetTouches.length>1)return!0;if(b=this.getTargetElementFromEventTarget(a.target),c=a.targetTouches[0],deviceIsIOS){if(d=window.getSelection(),d.rangeCount&&!d.isCollapsed)return!0;if(!deviceIsIOS4){if(c.identifier===this.lastTouchIdentifier)return a.preventDefault(),!1;this.lastTouchIdentifier=c.identifier,this.updateScrollParent(b)}}return this.trackingClick=!0,this.trackingClickStart=a.timeStamp,this.targetElement=b,this.touchStartX=c.pageX,this.touchStartY=c.pageY,a.timeStamp-this.lastClickTimec||Math.abs(b.pageY-this.touchStartY)>c?!0:!1},FastClick.prototype.onTouchMove=function(a){"use strict";return this.trackingClick?((this.targetElement!==this.getTargetElementFromEventTarget(a.target)||this.touchHasMoved(a))&&(this.trackingClick=!1,this.targetElement=null),!0):!0},FastClick.prototype.findControl=function(a){"use strict";return void 0!==a.control?a.control:a.htmlFor?document.getElementById(a.htmlFor):a.querySelector("button, input:not([type=hidden]), keygen, meter, output, progress, select, textarea")},FastClick.prototype.onTouchEnd=function(a){"use strict";var b,c,d,e,f,g=this.targetElement;if(!this.trackingClick)return!0;if(a.timeStamp-this.lastClickTime100||deviceIsIOS&&window.top!==window&&"input"===d?(this.targetElement=null,!1):(this.focus(g),this.sendClick(g,a),deviceIsIOS&&"select"===d||(this.targetElement=null,a.preventDefault()),!1);return deviceIsIOS&&!deviceIsIOS4&&(e=g.fastClickScrollParent,e&&e.fastClickLastScrollTop!==e.scrollTop)?!0:(this.needsClick(g)||(a.preventDefault(),this.sendClick(g,a)),!1)},FastClick.prototype.onTouchCancel=function(){"use strict";this.trackingClick=!1,this.targetElement=null},FastClick.prototype.onMouse=function(a){"use strict";return this.targetElement?a.forwardedTouchEvent?!0:a.cancelable&&(!this.needsClick(this.targetElement)||this.cancelNextClick)?(a.stopImmediatePropagation?a.stopImmediatePropagation():a.propagationStopped=!0,a.stopPropagation(),a.preventDefault(),!1):!0:!0},FastClick.prototype.onClick=function(a){"use strict";var b;return this.trackingClick?(this.targetElement=null,this.trackingClick=!1,!0):"submit"===a.target.type&&0===a.detail?!0:(b=this.onMouse(a),b||(this.targetElement=null),b)},FastClick.prototype.destroy=function(){"use strict";var a=this.layer;deviceIsAndroid&&(a.removeEventListener("mouseover",this.onMouse,!0),a.removeEventListener("mousedown",this.onMouse,!0),a.removeEventListener("mouseup",this.onMouse,!0)),a.removeEventListener("click",this.onClick,!0),a.removeEventListener("touchstart",this.onTouchStart,!1),a.removeEventListener("touchmove",this.onTouchMove,!1),a.removeEventListener("touchend",this.onTouchEnd,!1),a.removeEventListener("touchcancel",this.onTouchCancel,!1)},FastClick.notNeeded=function(a){"use strict";var b,c;if("undefined"==typeof window.ontouchstart)return!0;if(c=+(/Chrome\/([0-9]+)/.exec(navigator.userAgent)||[,0])[1]){if(!deviceIsAndroid)return!0;if(b=document.querySelector("meta[name=viewport]")){if(-1!==b.content.indexOf("user-scalable=no"))return!0;if(c>31&&document.documentElement.scrollWidth<=window.outerWidth)return!0}}return"none"===a.style.msTouchAction?!0:!1},FastClick.attach=function(a,b){"use strict";return new FastClick(a,b)},"undefined"!=typeof define&&define.amd?define(function(){"use strict";return FastClick}):"undefined"!=typeof module&&module.exports?(module.exports=FastClick.attach,module.exports.FastClick=FastClick):window.FastClick=FastClick,function(a){var b={},c={mode:"horizontal",slideSelector:"",infiniteLoop:!0,hideControlOnEnd:!1,speed:500,easing:null,slideMargin:0,startSlide:0,randomStart:!1,captions:!1,ticker:!1,tickerHover:!1,adaptiveHeight:!1,adaptiveHeightSpeed:500,video:!1,useCSS:!0,preloadImages:"visible",responsive:!0,slideZIndex:50,wrapperClass:"bx-wrapper",touchEnabled:!0,swipeThreshold:50,oneToOneTouch:!0,preventDefaultSwipeX:!0,preventDefaultSwipeY:!1,pager:!0,pagerType:"full",pagerShortSeparator:" / ",pagerSelector:null,buildPager:null,pagerCustom:null,controls:!0,nextText:"Next",prevText:"Prev",nextSelector:null,prevSelector:null,autoControls:!1,startText:"Start",stopText:"Stop",autoControlsCombine:!1,autoControlsSelector:null,auto:!1,pause:4e3,autoStart:!0,autoDirection:"next",autoHover:!1,autoDelay:0,autoSlideForOnePage:!1,minSlides:1,maxSlides:1,moveSlides:0,slideWidth:0,onSliderLoad:function(){},onSlideBefore:function(){},onSlideAfter:function(){},onSlideNext:function(){},onSlidePrev:function(){},onSliderResize:function(){}};a.fn.bxSlider=function(d){if(0==this.length)return this;if(this.length>1)return this.each(function(){a(this).bxSlider(d)}),this;var e={},f=this;b.el=this;var g=a(window).width(),h=a(window).height(),j=function(){e.settings=a.extend({},c,d),e.settings.slideWidth=parseInt(e.settings.slideWidth),e.children=f.children(e.settings.slideSelector),e.children.length1||e.settings.maxSlides>1,e.carousel&&(e.settings.preloadImages="all"),e.minThreshold=e.settings.minSlides*e.settings.slideWidth+(e.settings.minSlides-1)*e.settings.slideMargin,e.maxThreshold=e.settings.maxSlides*e.settings.slideWidth+(e.settings.maxSlides-1)*e.settings.slideMargin,e.working=!1,e.controls={},e.interval=null,e.animProp="vertical"==e.settings.mode?"top":"left",e.usingCSS=e.settings.useCSS&&"fade"!=e.settings.mode&&function(){var a=document.createElement("div"),b=["WebkitPerspective","MozPerspective","OPerspective","msPerspective"];for(var c in b)if(void 0!==a.style[b[c]])return e.cssPrefix=b[c].replace("Perspective","").toLowerCase(),e.animProp="-"+e.cssPrefix+"-transform",!0;return!1}(),"vertical"==e.settings.mode&&(e.settings.maxSlides=e.settings.minSlides),f.data("origStyle",f.attr("style")),f.children(e.settings.slideSelector).each(function(){a(this).data("origStyle",a(this).attr("style"))}),k()},k=function(){f.wrap('
'),e.viewport=f.parent(),e.loader=a('
'),e.viewport.prepend(e.loader),f.css({width:"horizontal"==e.settings.mode?100*e.children.length+215+"%":"auto",position:"relative"}),e.usingCSS&&e.settings.easing?f.css("-"+e.cssPrefix+"-transition-timing-function",e.settings.easing):e.settings.easing||(e.settings.easing="swing");q();e.viewport.css({width:"100%",overflow:"hidden",position:"relative"}),e.viewport.parent().css({maxWidth:o()}),e.settings.pager||e.viewport.parent().css({margin:"0 auto 0px"}),e.children.css({"float":"horizontal"==e.settings.mode?"left":"none",listStyle:"none",position:"relative"}),e.children.css("width",p()),"horizontal"==e.settings.mode&&e.settings.slideMargin>0&&e.children.css("marginRight",e.settings.slideMargin),"vertical"==e.settings.mode&&e.settings.slideMargin>0&&e.children.css("marginBottom",e.settings.slideMargin),"fade"==e.settings.mode&&(e.children.css({position:"absolute",zIndex:0,display:"none"}),e.children.eq(e.settings.startSlide).css({zIndex:e.settings.slideZIndex,display:"block"})),e.controls.el=a('
'),e.settings.captions&&z(),e.active.last=e.settings.startSlide==r()-1,e.settings.video&&f.fitVids();var b=e.children.eq(e.settings.startSlide);"all"==e.settings.preloadImages&&(b=e.children),e.settings.ticker?e.settings.pager=!1:(e.settings.pager&&w(),e.settings.controls&&x(),e.settings.auto&&e.settings.autoControls&&y(),(e.settings.controls||e.settings.autoControls||e.settings.pager)&&e.viewport.after(e.controls.el)),l(b,m)},l=function(b,c){var d=b.find("img, iframe").length;if(0==d)return void c();var e=0;b.find("img, iframe").each(function(){a(this).one("load",function(){++e==d&&c()}).each(function(){this.complete&&a(this).load()})})},m=function(){if(e.settings.infiniteLoop&&"fade"!=e.settings.mode&&!e.settings.ticker){var b="vertical"==e.settings.mode?e.settings.minSlides:e.settings.maxSlides,c=e.children.slice(0,b).clone().addClass("bx-clone"),d=e.children.slice(-b).clone().addClass("bx-clone");f.append(c).prepend(d)}e.loader.remove(),t(),"vertical"==e.settings.mode&&(e.settings.adaptiveHeight=!0),e.viewport.height(n()),f.redrawSlider(),e.settings.onSliderLoad(e.active.index),e.initialized=!0,e.settings.responsive&&a(window).bind("resize",Q),e.settings.auto&&e.settings.autoStart&&(r()>1||e.settings.autoSlideForOnePage)&&J(),e.settings.ticker&&K(),e.settings.pager&&F(e.settings.startSlide),e.settings.controls&&I(),e.settings.touchEnabled&&!e.settings.ticker&&M()},n=function(){var b=0,c=a();if("vertical"==e.settings.mode||e.settings.adaptiveHeight)if(e.carousel){var d=1==e.settings.moveSlides?e.active.index:e.active.index*s();for(c=e.children.eq(d),i=1;i<=e.settings.maxSlides-1;i++)c=c.add(d+i>=e.children.length?e.children.eq(i-1):e.children.eq(d+i))}else c=e.children.eq(e.active.index);else c=e.children;return"vertical"==e.settings.mode?(c.each(function(){b+=a(this).outerHeight()}),e.settings.slideMargin>0&&(b+=e.settings.slideMargin*(e.settings.minSlides-1))):b=Math.max.apply(Math,c.map(function(){return a(this).outerHeight(!1)}).get()),"border-box"==e.viewport.css("box-sizing")?b+=parseFloat(e.viewport.css("padding-top"))+parseFloat(e.viewport.css("padding-bottom"))+parseFloat(e.viewport.css("border-top-width"))+parseFloat(e.viewport.css("border-bottom-width")):"padding-box"==e.viewport.css("box-sizing")&&(b+=parseFloat(e.viewport.css("padding-top"))+parseFloat(e.viewport.css("padding-bottom"))),b},o=function(){var a="100%";return e.settings.slideWidth>0&&(a="horizontal"==e.settings.mode?e.settings.maxSlides*e.settings.slideWidth+(e.settings.maxSlides-1)*e.settings.slideMargin:e.settings.slideWidth),a},p=function(){var a=e.settings.slideWidth,b=e.viewport.width();return 0==e.settings.slideWidth||e.settings.slideWidth>b&&!e.carousel||"vertical"==e.settings.mode?a=b:e.settings.maxSlides>1&&"horizontal"==e.settings.mode&&(b>e.maxThreshold||b0)if(e.viewport.width()e.maxThreshold)a=e.settings.maxSlides;else{var b=e.children.first().width()+e.settings.slideMargin;a=Math.floor((e.viewport.width()+e.settings.slideMargin)/b)}else"vertical"==e.settings.mode&&(a=e.settings.minSlides);return a},r=function(){var a=0;if(e.settings.moveSlides>0)if(e.settings.infiniteLoop)a=Math.ceil(e.children.length/s()); @@ -12,4 +12,4 @@ return b&&c>.5&&.5>d?(a.style.visibility="hidden",void this._stopLoadingImages(a }}function A(a,b){var c=[];return s(b)(a,c),c.join("")}function B(a,b,c,d){var e=z(b,c,d);return A(a,e)}var C,D,E;"undefined"!=typeof window&&(C=window.parseCssDeclarations,D=window.sanitizeCssProperty,E=window.cssSchema);var F={lt:"<",LT:"<",gt:">",GT:">",amp:"&",AMP:"&",quot:'"',apos:"'",nbsp:" "},G=/^#(\d+)$/,H=/^#x([0-9A-Fa-f]+)$/,I=/^[A-Za-z][A-za-z0-9]+$/,J="undefined"!=typeof window&&window.document?window.document.createElement("textarea"):null,K=/\0/g,L=/&(#[0-9]+|#[xX][0-9A-Fa-f]+|\w+);/g,M=/^(#[0-9]+|#[xX][0-9A-Fa-f]+|\w+);/,N=/&/g,O=/&([^a-z#]|#(?:[^0-9x]|x(?:[^0-9a-f]|$)|$)|$)/gi,P=/[<]/g,Q=/>/g,R=/\"/g,S=new RegExp("^\\s*([-.:\\w]+)(?:\\s*(=)\\s*((\")[^\"]*(\"|$)|(')[^']*('|$)|(?=[a-z][-\\w]*\\s*=)|[^\"'\\s]*))?","i"),T=3==="a,b".split(/(,)/).length,U=a.eflags.CDATA|a.eflags.RCDATA,V={},W={},X=/^(?:https?|mailto|data)$/i,Y={};return Y.escapeAttrib=Y.escapeAttrib=g,Y.makeHtmlSanitizer=Y.makeHtmlSanitizer=s,Y.makeSaxParser=Y.makeSaxParser=i,Y.makeTagPolicy=Y.makeTagPolicy=z,Y.normalizeRCData=Y.normalizeRCData=h,Y.sanitize=Y.sanitize=B,Y.sanitizeAttribs=Y.sanitizeAttribs=y,Y.sanitizeWithPolicy=Y.sanitizeWithPolicy=A,Y.unescapeEntities=Y.unescapeEntities=f,Y}(d),f=e.sanitize;d.ATTRIBS["*::style"]=0,d.ELEMENTS.style=0,d.ATTRIBS["a::target"]=0,d.ELEMENTS.video=0,d.ATTRIBS["video::src"]=0,d.ATTRIBS["video::poster"]=0,d.ATTRIBS["video::controls"]=0,d.ELEMENTS.audio=0,d.ATTRIBS["audio::src"]=0,d.ATTRIBS["video::autoplay"]=0,d.ATTRIBS["video::controls"]=0,"undefined"!=typeof b&&(b.exports=f)},{}],6:[function(a,b){b.exports={author:"Mapbox",name:"mapbox.js",description:"mapbox javascript api",version:"2.0.1",homepage:"http://mapbox.com/",repository:{type:"git",url:"git://github.com/mapbox/mapbox.js.git"},main:"src/index.js",dependencies:{leaflet:"0.7.3",mustache:"0.7.3",corslite:"0.0.6","sanitize-caja":"0.1.2"},scripts:{test:"jshint src/*.js && mocha-phantomjs test/index.html"},devDependencies:{"leaflet-hash":"0.2.1","leaflet-fullscreen":"0.0.0","uglify-js":"2.4.8",mocha:"1.17.1","expect.js":"0.3.1",sinon:"1.10.2","mocha-phantomjs":"3.1.6",happen:"0.1.3",browserify:"3.23.1",jshint:"2.4.4","clean-css":"~2.0.7",minimist:"0.0.5",marked:"~0.3.0"},optionalDependencies:{},engines:{node:"*"}}},{}],7:[function(a,b){"use strict";b.exports={HTTP_URL:"http://a.tiles.mapbox.com/v4",HTTPS_URL:"https://a.tiles.mapbox.com/v4",FORCE_HTTPS:!1,REQUIRE_ACCESS_TOKEN:!0}},{}],8:[function(a,b){"use strict";var c=a("./util"),d=a("./url"),e=a("./request"),f=a("./marker"),g=a("./simplestyle"),h=L.FeatureGroup.extend({options:{filter:function(){return!0},sanitizer:a("sanitize-caja"),style:g.style},initialize:function(a,b){L.setOptions(this,b),this._layers={},"string"==typeof a?c.idUrl(a,this):a&&"object"==typeof a&&this.setGeoJSON(a)},setGeoJSON:function(a){return this._geojson=a,this.clearLayers(),this._initialize(a),this},getGeoJSON:function(){return this._geojson},loadURL:function(a){return this._request&&"abort"in this._request&&this._request.abort(),this._request=e(a,L.bind(function(b,d){this._request=null,b&&"abort"!==b.type?(c.log("could not load features at "+a),this.fire("error",{error:b})):d&&(this.setGeoJSON(d),this.fire("ready"))},this)),this},loadID:function(a){return this.loadURL(d("/"+a+"/features.json",this.options.accessToken))},setFilter:function(a){return this.options.filter=a,this._geojson&&(this.clearLayers(),this._initialize(this._geojson)),this},getFilter:function(){return this.options.filter},_initialize:function(a){var b,c,d=L.Util.isArray(a)?a:a.features;if(d)for(b=0,c=d.length;c>b;b++)(d[b].geometries||d[b].geometry||d[b].features)&&this._initialize(d[b]);else if(this.options.filter(a)){var e={accessToken:this.options.accessToken},h=L.GeoJSON.geometryToLayer(a,function(a,b){return f.style(a,b,e)}),i=f.createPopup(a,this.options.sanitizer);"setStyle"in h&&h.setStyle(g.style(a)),h.feature=a,i&&h.bindPopup(i,{closeButton:!1}),this.addLayer(h)}}});b.exports.FeatureLayer=h,b.exports.featureLayer=function(a,b){return new h(a,b)}},{"./marker":21,"./request":22,"./simplestyle":24,"./url":26,"./util":27,"sanitize-caja":4}],9:[function(a,b){"use strict";var c=a("./util"),d=a("./url"),e=a("./request");b.exports=function(a,b){var f={};return c.strict(a,"string"),-1===a.indexOf("/")&&(a=d("/geocode/"+a+"/{query}.json",b&&b.accessToken)),f.getURL=function(){return a},f.queryURL=function(a){if("string"!=typeof a){for(var b=[],c=0;cd;d++){var g=c[d],h=g.place_name;if(h.length){var i=L.DomUtil.create("a","",this._results),j="innerText"in i?"innerText":"textContent";i[j]=h,i.href="#",L.bind(function(a){L.DomEvent.addListener(i,"click",function(b){e(a),L.DomEvent.stop(b),this.fire("select",{feature:a})},this)},this)(g)}}if(c.length>5){var k=L.DomUtil.create("span","",this._results);k.innerHTML="Top 5 of "+c.length+" results"}}this.fire("found",{results:b.results})}else this.fire("error",{error:a})},this),e=L.bind(function(a){a.bbox?this._map.fitBounds(d.lbounds(a.bbox)):a.center&&this._map.setView([a.center[1],a.center[0]],void 0===b.getZoom()?this.options.pointZoom:Math.max(b.getZoom(),this.options.pointZoom))},this);this.geocoder.query(this._input.value,c)}});b.exports.GeocoderControl=e,b.exports.geocoderControl=function(a,b){return new e(a,b)}},{"./geocoder":9,"./util":27}],11:[function(a,b){"use strict";function c(a){return a>=93&&a--,a>=35&&a--,a-32}b.exports=function(a){return function(b,d){if(a){var e=c(a.grid[d].charCodeAt(b)),f=a.keys[e];return a.data[f]}}}},{}],12:[function(a,b){"use strict";var c=a("./util"),d=a("mustache"),e=L.Control.extend({options:{pinnable:!0,follow:!1,sanitizer:a("sanitize-caja"),touchTeaser:!0,location:!0},_currentContent:"",_pinned:!1,initialize:function(a,b){L.Util.setOptions(this,b),c.strict_instance(a,L.Class,"L.mapbox.gridLayer"),this._layer=a},setTemplate:function(a){return c.strict(a,"string"),this.options.template=a,this},_template:function(a,b){if(b){var c=this.options.template||this._layer.getTileJSON().template;if(c){var e={};return e["__"+a+"__"]=!0,this.options.sanitizer(d.to_html(c,L.extend(e,b)))}}},_show:function(a,b){a!==this._currentContent&&(this._currentContent=a,this.options.follow?(this._popup.setContent(a).setLatLng(b.latLng),this._map._popup!==this._popup&&this._popup.openOn(this._map)):(this._container.style.display="block",this._contentWrapper.innerHTML=a))},hide:function(){return this._pinned=!1,this._currentContent="",this._map.closePopup(),this._container.style.display="none",this._contentWrapper.innerHTML="",L.DomUtil.removeClass(this._container,"closable"),this},_mouseover:function(a){if(a.data?L.DomUtil.addClass(this._map._container,"map-clickable"):L.DomUtil.removeClass(this._map._container,"map-clickable"),!this._pinned){var b=this._template("teaser",a.data);b?this._show(b,a):this.hide()}},_mousemove:function(a){this._pinned||this.options.follow&&this._popup.setLatLng(a.latLng)},_navigateTo:function(a){window.top.location.href=a},_click:function(a){var b=this._template("location",a.data);if(this.options.location&&b&&0===b.search(/^https?:/))return this._navigateTo(this._template("location",a.data));if(this.options.pinnable){var c=this._template("full",a.data);!c&&this.options.touchTeaser&&L.Browser.touch&&(c=this._template("teaser",a.data)),c?(L.DomUtil.addClass(this._container,"closable"),this._pinned=!0,this._show(c,a)):this._pinned&&(L.DomUtil.removeClass(this._container,"closable"),this._pinned=!1,this.hide())}},_onPopupClose:function(){this._currentContent=null,this._pinned=!1},_createClosebutton:function(a,b){var c=L.DomUtil.create("a","close",a);return c.innerHTML="close",c.href="#",c.title="close",L.DomEvent.on(c,"click",L.DomEvent.stopPropagation).on(c,"mousedown",L.DomEvent.stopPropagation).on(c,"dblclick",L.DomEvent.stopPropagation).on(c,"click",L.DomEvent.preventDefault).on(c,"click",b,this),c},onAdd:function(a){this._map=a;var b="leaflet-control-grid map-tooltip",c=L.DomUtil.create("div",b),d=L.DomUtil.create("div","map-tooltip-content");return c.style.display="none",this._createClosebutton(c,this.hide),c.appendChild(d),this._contentWrapper=d,this._popup=new L.Popup({autoPan:!1,closeOnClick:!1}),a.on("popupclose",this._onPopupClose,this),L.DomEvent.disableClickPropagation(c).addListener(c,"mousewheel",L.DomEvent.stopPropagation),this._layer.on("mouseover",this._mouseover,this).on("mousemove",this._mousemove,this).on("click",this._click,this),c},onRemove:function(a){a.off("popupclose",this._onPopupClose,this),this._layer.off("mouseover",this._mouseover,this).off("mousemove",this._mousemove,this).off("click",this._click,this)}});b.exports.GridControl=e,b.exports.gridControl=function(a,b){return new e(a,b)}},{"./util":27,mustache:3,"sanitize-caja":4}],13:[function(a,b){"use strict";var c=a("./util"),d=(a("./url"),a("./request")),e=a("./grid"),f=L.Class.extend({includes:[L.Mixin.Events,a("./load_tilejson")],options:{template:function(){return""}},_mouseOn:null,_tilejson:{},_cache:{},initialize:function(a,b){L.Util.setOptions(this,b),this._loadTileJSON(a)},_setTileJSON:function(a){return c.strict(a,"object"),L.extend(this.options,{grids:a.grids,minZoom:a.minzoom,maxZoom:a.maxzoom,bounds:a.bounds&&c.lbounds(a.bounds)}),this._tilejson=a,this._cache={},this._update(),this},getTileJSON:function(){return this._tilejson},active:function(){return!!(this._map&&this.options.grids&&this.options.grids.length)},addTo:function(a){return a.addLayer(this),this},onAdd:function(a){this._map=a,this._update(),this._map.on("click",this._click,this).on("mousemove",this._move,this).on("moveend",this._update,this)},onRemove:function(){this._map.off("click",this._click,this).off("mousemove",this._move,this).off("moveend",this._update,this)},getData:function(a,b){if(this.active()){var c=this._map,d=c.project(a.wrap()),e=256,f=4,g=Math.floor(d.x/e),h=Math.floor(d.y/e),i=c.options.crs.scale(c.getZoom())/e;return g=(g+i)%i,h=(h+i)%i,this._getTile(c.getZoom(),g,h,function(a){var c=Math.floor((d.x-g*e)/f),i=Math.floor((d.y-h*e)/f);b(a(c,i))}),this}},_click:function(a){this.getData(a.latlng,L.bind(function(b){this.fire("click",{latLng:a.latlng,data:b})},this))},_move:function(a){this.getData(a.latlng,L.bind(function(b){b!==this._mouseOn?(this._mouseOn&&this.fire("mouseout",{latLng:a.latlng,data:this._mouseOn}),this.fire("mouseover",{latLng:a.latlng,data:b}),this._mouseOn=b):this.fire("mousemove",{latLng:a.latlng,data:b})},this))},_getTileURL:function(a){var b=this.options.grids,c=(a.x+a.y)%b.length,d=b[c];return L.Util.template(d,a)},_update:function(){if(this.active()){var a=this._map.getPixelBounds(),b=this._map.getZoom(),c=256;if(!(b>this.options.maxZoom||bthis.options.maxZoom||a.z"),a.properties.description&&(c+='
'+a.properties.description+"
"),(b||h)(c)}var f=a("./url"),g=a("./util"),h=a("sanitize-caja");b.exports={icon:c,style:d,createPopup:e}},{"./url":26,"./util":27,"sanitize-caja":4}],22:[function(a,b){"use strict";var c=a("corslite"),d=a("./util").strict,e=a("./config"),f=/^(https?:)?(?=\/\/(.|api)\.tiles\.mapbox\.com\/)/;b.exports=function(a,b){function g(a,c){!a&&c&&(c=JSON.parse(c.responseText)),b(a,c)}return d(a,"string"),d(b,"function"),a=a.replace(f,function(a,b){return"withCredentials"in new window.XMLHttpRequest?"https:"===b||"https:"===document.location.protocol||e.FORCE_HTTPS?"https:":"http:":document.location.protocol}),c(a,g)}},{"./config":7,"./util":27,corslite:1}],23:[function(a,b){"use strict";var c=a("./url"),d=L.Control.extend({includes:[a("./load_tilejson")],options:{position:"topleft",url:""},initialize:function(a,b){L.setOptions(this,b),this._loadTileJSON(a)},_setTileJSON:function(a){this._tilejson=a},onAdd:function(a){this._map=a;var b=L.DomUtil.create("div","leaflet-control-mapbox-share leaflet-bar"),c=L.DomUtil.create("a","mapbox-share mapbox-icon mapbox-icon-share",b);return c.href="#",this._modal=L.DomUtil.create("div","mapbox-modal",this._map._container),this._mask=L.DomUtil.create("div","mapbox-modal-mask",this._modal),this._content=L.DomUtil.create("div","mapbox-modal-content",this._modal),L.DomEvent.addListener(c,"click",this._shareClick,this),L.DomEvent.disableClickPropagation(b),this._map.on("mousedown",this._clickOut,this),b},_clickOut:function(a){return this._sharing?(L.DomEvent.preventDefault(a),L.DomUtil.removeClass(this._modal,"active"),this._content.innerHTML="",void(this._sharing=null)):void 0},_shareClick:function(a){if(L.DomEvent.stop(a),this._sharing)return this._clickOut(a);var b=this._tilejson||this._map._tilejson||{},d=encodeURIComponent(this.options.url||b.webpage||window.location),e=encodeURIComponent(b.name),f=c(b.id+"/"+this._map.getCenter().lng+","+this._map.getCenter().lat+","+this._map.getZoom()+"/600x600.png",this.options.accessToken),g=c(b.id+".html",this.options.accessToken),h="//twitter.com/intent/tweet?status="+e+" "+d,i="//www.facebook.com/sharer.php?u="+d+"&t="+encodeURIComponent(b.name),j="//www.pinterest.com/pin/create/button/?url="+d+"&media="+f+"&description="+b.name,k="

Share this map

".replace("{{twitter}}",h).replace("{{facebook}}",i).replace("{{pinterest}}",j),l=''.replace("{{embed}}",g),m="Copy and paste this HTML code into documents to embed this map on web pages.";L.DomUtil.addClass(this._modal,"active"),this._sharing=L.DomUtil.create("div","mapbox-modal-body",this._content),this._sharing.innerHTML=k;var n=L.DomUtil.create("input","mapbox-embed",this._sharing);n.type="text",n.value=l;var o=L.DomUtil.create("label","mapbox-embed-description",this._sharing);o.innerHTML=m;var p=L.DomUtil.create("a","leaflet-popup-close-button",this._sharing);p.href="#",L.DomEvent.disableClickPropagation(this._sharing),L.DomEvent.addListener(p,"click",this._clickOut,this),L.DomEvent.addListener(n,"click",function(a){a.target.focus(),a.target.select()})}});b.exports.ShareControl=d,b.exports.shareControl=function(a,b){return new d(a,b)}},{"./load_tilejson":18,"./url":26}],24:[function(a,b){"use strict";function c(a,b){var c={};for(var d in b)c[d]=void 0===a[d]?b[d]:a[d];return c}function d(a){for(var b={},c=0;c/g,"")},lbounds:function(a){return new L.LatLngBounds([[a[1],a[0]],[a[3],a[2]]])}}},{}]},{},[14]),function(a){a.addTest("positionfixed",function(){var a,b=navigator.userAgent;if(b.match(/android [0-2]/i)||b.match(/(iphone|ipad|ipod).+(OS [0-4])/i))return!1;var c=document.createElement("div"),d=c.cloneNode(!1),e=!1,f=document.body||function(){return e=!0,document.documentElement.appendChild(document.createElement("body"))}(),g=f.style.cssText;return f.style.cssText="padding:0;margin:0",c.style.cssText="position:fixed;top:42px",f.appendChild(c),f.appendChild(d),a=c.offsetTop!==d.offsetTop,f.removeChild(c),f.removeChild(d),f.style.cssText=g,e&&document.documentElement.removeChild(f),a})}(Modernizr,window),function(a){function b(a,b,c){switch(arguments.length){case 2:return null!=a?a:b;case 3:return null!=a?a:null!=b?b:c;default:throw new Error("Implement me")}}function c(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1}}function d(a,b){function c(){mb.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+a) }var d=!0;return j(function(){return d&&(c(),d=!1),b.apply(this,arguments)},b)}function e(a,b){return function(c){return m(a.call(this,c),b)}}function f(a,b){return function(c){return this.lang().ordinal(a.call(this,c),b)}}function g(){}function h(a){z(a),j(this,a)}function i(a){var b=s(a),c=b.year||0,d=b.quarter||0,e=b.month||0,f=b.week||0,g=b.day||0,h=b.hour||0,i=b.minute||0,j=b.second||0,k=b.millisecond||0;this._milliseconds=+k+1e3*j+6e4*i+36e5*h,this._days=+g+7*f,this._months=+e+3*d+12*c,this._data={},this._bubble()}function j(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c]);return b.hasOwnProperty("toString")&&(a.toString=b.toString),b.hasOwnProperty("valueOf")&&(a.valueOf=b.valueOf),a}function k(a){var b,c={};for(b in a)a.hasOwnProperty(b)&&Ab.hasOwnProperty(b)&&(c[b]=a[b]);return c}function l(a){return 0>a?Math.ceil(a):Math.floor(a)}function m(a,b,c){for(var d=""+Math.abs(a),e=a>=0;d.lengthd;d++)(c&&a[d]!==b[d]||!c&&u(a[d])!==u(b[d]))&&g++;return g+f}function r(a){if(a){var b=a.toLowerCase().replace(/(.)s$/,"$1");a=bc[a]||cc[b]||b}return a}function s(a){var b,c,d={};for(c in a)a.hasOwnProperty(c)&&(b=r(c),b&&(d[b]=a[c]));return d}function t(b){var c,d;if(0===b.indexOf("week"))c=7,d="day";else{if(0!==b.indexOf("month"))return;c=12,d="month"}mb[b]=function(e,f){var g,h,i=mb.fn._lang[b],j=[];if("number"==typeof e&&(f=e,e=a),h=function(a){var b=mb().utc().set(d,a);return i.call(mb.fn._lang,b,e||"")},null!=f)return h(f);for(g=0;c>g;g++)j.push(h(g));return j}}function u(a){var b=+a,c=0;return 0!==b&&isFinite(b)&&(c=b>=0?Math.floor(b):Math.ceil(b)),c}function v(a,b){return new Date(Date.UTC(a,b+1,0)).getUTCDate()}function w(a,b,c){return bb(mb([a,11,31+b-c]),b,c).week}function x(a){return y(a)?366:365}function y(a){return a%4===0&&a%100!==0||a%400===0}function z(a){var b;a._a&&-2===a._pf.overflow&&(b=a._a[tb]<0||a._a[tb]>11?tb:a._a[ub]<1||a._a[ub]>v(a._a[sb],a._a[tb])?ub:a._a[vb]<0||a._a[vb]>23?vb:a._a[wb]<0||a._a[wb]>59?wb:a._a[xb]<0||a._a[xb]>59?xb:a._a[yb]<0||a._a[yb]>999?yb:-1,a._pf._overflowDayOfYear&&(sb>b||b>ub)&&(b=ub),a._pf.overflow=b)}function A(a){return null==a._isValid&&(a._isValid=!isNaN(a._d.getTime())&&a._pf.overflow<0&&!a._pf.empty&&!a._pf.invalidMonth&&!a._pf.nullInput&&!a._pf.invalidFormat&&!a._pf.userInvalidated,a._strict&&(a._isValid=a._isValid&&0===a._pf.charsLeftOver&&0===a._pf.unusedTokens.length)),a._isValid}function B(a){return a?a.toLowerCase().replace("_","-"):a}function C(a,b){return b._isUTC?mb(a).zone(b._offset||0):mb(a).local()}function D(a,b){return b.abbr=a,zb[a]||(zb[a]=new g),zb[a].set(b),zb[a]}function E(a){delete zb[a]}function F(a){var b,c,d,e,f=0,g=function(a){if(!zb[a]&&Bb)try{require("./lang/"+a)}catch(b){}return zb[a]};if(!a)return mb.fn._lang;if(!o(a)){if(c=g(a))return c;a=[a]}for(;f0;){if(c=g(e.slice(0,b).join("-")))return c;if(d&&d.length>=b&&q(e,d,!0)>=b-1)break;b--}f++}return mb.fn._lang}function G(a){return a.match(/\[[\s\S]/)?a.replace(/^\[|\]$/g,""):a.replace(/\\/g,"")}function H(a){var b,c,d=a.match(Fb);for(b=0,c=d.length;c>b;b++)d[b]=hc[d[b]]?hc[d[b]]:G(d[b]);return function(e){var f="";for(b=0;c>b;b++)f+=d[b]instanceof Function?d[b].call(e,a):d[b];return f}}function I(a,b){return a.isValid()?(b=J(b,a.lang()),dc[b]||(dc[b]=H(b)),dc[b](a)):a.lang().invalidDate()}function J(a,b){function c(a){return b.longDateFormat(a)||a}var d=5;for(Gb.lastIndex=0;d>=0&&Gb.test(a);)a=a.replace(Gb,c),Gb.lastIndex=0,d-=1;return a}function K(a,b){var c,d=b._strict;switch(a){case"Q":return Rb;case"DDDD":return Tb;case"YYYY":case"GGGG":case"gggg":return d?Ub:Jb;case"Y":case"G":case"g":return Wb;case"YYYYYY":case"YYYYY":case"GGGGG":case"ggggg":return d?Vb:Kb;case"S":if(d)return Rb;case"SS":if(d)return Sb;case"SSS":if(d)return Tb;case"DDD":return Ib;case"MMM":case"MMMM":case"dd":case"ddd":case"dddd":return Mb;case"a":case"A":return F(b._l)._meridiemParse;case"X":return Pb;case"Z":case"ZZ":return Nb;case"T":return Ob;case"SSSS":return Lb;case"MM":case"DD":case"YY":case"GG":case"gg":case"HH":case"hh":case"mm":case"ss":case"ww":case"WW":return d?Sb:Hb;case"M":case"D":case"d":case"H":case"h":case"m":case"s":case"w":case"W":case"e":case"E":return Hb;case"Do":return Qb;default:return c=new RegExp(T(S(a.replace("\\","")),"i"))}}function L(a){a=a||"";var b=a.match(Nb)||[],c=b[b.length-1]||[],d=(c+"").match(_b)||["-",0,0],e=+(60*d[1])+u(d[2]);return"+"===d[0]?-e:e}function M(a,b,c){var d,e=c._a;switch(a){case"Q":null!=b&&(e[tb]=3*(u(b)-1));break;case"M":case"MM":null!=b&&(e[tb]=u(b)-1);break;case"MMM":case"MMMM":d=F(c._l).monthsParse(b),null!=d?e[tb]=d:c._pf.invalidMonth=b;break;case"D":case"DD":null!=b&&(e[ub]=u(b));break;case"Do":null!=b&&(e[ub]=u(parseInt(b,10)));break;case"DDD":case"DDDD":null!=b&&(c._dayOfYear=u(b));break;case"YY":e[sb]=mb.parseTwoDigitYear(b);break;case"YYYY":case"YYYYY":case"YYYYYY":e[sb]=u(b);break;case"a":case"A":c._isPm=F(c._l).isPM(b);break;case"H":case"HH":case"h":case"hh":e[vb]=u(b);break;case"m":case"mm":e[wb]=u(b);break;case"s":case"ss":e[xb]=u(b);break;case"S":case"SS":case"SSS":case"SSSS":e[yb]=u(1e3*("0."+b));break;case"X":c._d=new Date(1e3*parseFloat(b));break;case"Z":case"ZZ":c._useUTC=!0,c._tzm=L(b);break;case"dd":case"ddd":case"dddd":d=F(c._l).weekdaysParse(b),null!=d?(c._w=c._w||{},c._w.d=d):c._pf.invalidWeekday=b;break;case"w":case"ww":case"W":case"WW":case"d":case"e":case"E":a=a.substr(0,1);case"gggg":case"GGGG":case"GGGGG":a=a.substr(0,2),b&&(c._w=c._w||{},c._w[a]=u(b));break;case"gg":case"GG":c._w=c._w||{},c._w[a]=mb.parseTwoDigitYear(b)}}function N(a){var c,d,e,f,g,h,i,j;c=a._w,null!=c.GG||null!=c.W||null!=c.E?(g=1,h=4,d=b(c.GG,a._a[sb],bb(mb(),1,4).year),e=b(c.W,1),f=b(c.E,1)):(j=F(a._l),g=j._week.dow,h=j._week.doy,d=b(c.gg,a._a[sb],bb(mb(),g,h).year),e=b(c.w,1),null!=c.d?(f=c.d,g>f&&++e):f=null!=c.e?c.e+g:g),i=cb(d,e,f,h,g),a._a[sb]=i.year,a._dayOfYear=i.dayOfYear}function O(a){var c,d,e,f,g=[];if(!a._d){for(e=Q(a),a._w&&null==a._a[ub]&&null==a._a[tb]&&N(a),a._dayOfYear&&(f=b(a._a[sb],e[sb]),a._dayOfYear>x(f)&&(a._pf._overflowDayOfYear=!0),d=Z(f,0,a._dayOfYear),a._a[tb]=d.getUTCMonth(),a._a[ub]=d.getUTCDate()),c=0;3>c&&null==a._a[c];++c)a._a[c]=g[c]=e[c];for(;7>c;c++)a._a[c]=g[c]=null==a._a[c]?2===c?1:0:a._a[c];a._d=(a._useUTC?Z:Y).apply(null,g),null!=a._tzm&&a._d.setUTCMinutes(a._d.getUTCMinutes()+a._tzm)}}function P(a){var b;a._d||(b=s(a._i),a._a=[b.year,b.month,b.day,b.hour,b.minute,b.second,b.millisecond],O(a))}function Q(a){var b=new Date;return a._useUTC?[b.getUTCFullYear(),b.getUTCMonth(),b.getUTCDate()]:[b.getFullYear(),b.getMonth(),b.getDate()]}function R(a){if(a._f===mb.ISO_8601)return void V(a);a._a=[],a._pf.empty=!0;var b,c,d,e,f,g=F(a._l),h=""+a._i,i=h.length,j=0;for(d=J(a._f,g).match(Fb)||[],b=0;b0&&a._pf.unusedInput.push(f),h=h.slice(h.indexOf(c)+c.length),j+=c.length),hc[e]?(c?a._pf.empty=!1:a._pf.unusedTokens.push(e),M(e,c,a)):a._strict&&!c&&a._pf.unusedTokens.push(e);a._pf.charsLeftOver=i-j,h.length>0&&a._pf.unusedInput.push(h),a._isPm&&a._a[vb]<12&&(a._a[vb]+=12),a._isPm===!1&&12===a._a[vb]&&(a._a[vb]=0),O(a),z(a)}function S(a){return a.replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(a,b,c,d,e){return b||c||d||e})}function T(a){return a.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function U(a){var b,d,e,f,g;if(0===a._f.length)return a._pf.invalidFormat=!0,void(a._d=new Date(0/0));for(f=0;fg)&&(e=g,d=b));j(a,d||b)}function V(a){var b,c,d=a._i,e=Xb.exec(d);if(e){for(a._pf.iso=!0,b=0,c=Zb.length;c>b;b++)if(Zb[b][1].exec(d)){a._f=Zb[b][0]+(e[6]||" ");break}for(b=0,c=$b.length;c>b;b++)if($b[b][1].exec(d)){a._f+=$b[b][0];break}d.match(Nb)&&(a._f+="Z"),R(a)}else a._isValid=!1}function W(a){V(a),a._isValid===!1&&(delete a._isValid,mb.createFromInputFallback(a))}function X(b){var c=b._i,d=Cb.exec(c);c===a?b._d=new Date:d?b._d=new Date(+d[1]):"string"==typeof c?W(b):o(c)?(b._a=c.slice(0),O(b)):p(c)?b._d=new Date(+c):"object"==typeof c?P(b):"number"==typeof c?b._d=new Date(c):mb.createFromInputFallback(b)}function Y(a,b,c,d,e,f,g){var h=new Date(a,b,c,d,e,f,g);return 1970>a&&h.setFullYear(a),h}function Z(a){var b=new Date(Date.UTC.apply(null,arguments));return 1970>a&&b.setUTCFullYear(a),b}function $(a,b){if("string"==typeof a)if(isNaN(a)){if(a=b.weekdaysParse(a),"number"!=typeof a)return null}else a=parseInt(a,10);return a}function _(a,b,c,d,e){return e.relativeTime(b||1,!!c,a,d)}function ab(a,b,c){var d=rb(Math.abs(a)/1e3),e=rb(d/60),f=rb(e/60),g=rb(f/24),h=rb(g/365),i=d0,i[4]=c,_.apply({},i)}function bb(a,b,c){var d,e=c-b,f=c-a.day();return f>e&&(f-=7),e-7>f&&(f+=7),d=mb(a).add("d",f),{week:Math.ceil(d.dayOfYear()/7),year:d.year()}}function cb(a,b,c,d,e){var f,g,h=Z(a,0,1).getUTCDay();return h=0===h?7:h,c=null!=c?c:e,f=e-h+(h>d?7:0)-(e>h?7:0),g=7*(b-1)+(c-e)+f+1,{year:g>0?a:a-1,dayOfYear:g>0?g:x(a-1)+g}}function db(b){var c=b._i,d=b._f;return null===c||d===a&&""===c?mb.invalid({nullInput:!0}):("string"==typeof c&&(b._i=c=F().preparse(c)),mb.isMoment(c)?(b=k(c),b._d=new Date(+c._d)):d?o(d)?U(b):R(b):X(b),new h(b))}function eb(a,b){var c,d;if(1===b.length&&o(b[0])&&(b=b[0]),!b.length)return mb();for(c=b[0],d=1;d=0?"+":"-";return b+m(Math.abs(a),6)},gg:function(){return m(this.weekYear()%100,2)},gggg:function(){return m(this.weekYear(),4)},ggggg:function(){return m(this.weekYear(),5)},GG:function(){return m(this.isoWeekYear()%100,2)},GGGG:function(){return m(this.isoWeekYear(),4)},GGGGG:function(){return m(this.isoWeekYear(),5)},e:function(){return this.weekday()},E:function(){return this.isoWeekday()},a:function(){return this.lang().meridiem(this.hours(),this.minutes(),!0)},A:function(){return this.lang().meridiem(this.hours(),this.minutes(),!1)},H:function(){return this.hours()},h:function(){return this.hours()%12||12},m:function(){return this.minutes()},s:function(){return this.seconds()},S:function(){return u(this.milliseconds()/100)},SS:function(){return m(u(this.milliseconds()/10),2)},SSS:function(){return m(this.milliseconds(),3)},SSSS:function(){return m(this.milliseconds(),3)},Z:function(){var a=-this.zone(),b="+";return 0>a&&(a=-a,b="-"),b+m(u(a/60),2)+":"+m(u(a)%60,2)},ZZ:function(){var a=-this.zone(),b="+";return 0>a&&(a=-a,b="-"),b+m(u(a/60),2)+m(u(a)%60,2)},z:function(){return this.zoneAbbr()},zz:function(){return this.zoneName()},X:function(){return this.unix()},Q:function(){return this.quarter()}},ic=["months","monthsShort","weekdays","weekdaysShort","weekdaysMin"];fc.length;)ob=fc.pop(),hc[ob+"o"]=f(hc[ob],ob);for(;gc.length;)ob=gc.pop(),hc[ob+ob]=e(hc[ob],2);for(hc.DDDD=e(hc.DDD,3),j(g.prototype,{set:function(a){var b,c;for(c in a)b=a[c],"function"==typeof b?this[c]=b:this["_"+c]=b},_months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),months:function(a){return this._months[a.month()]},_monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),monthsShort:function(a){return this._monthsShort[a.month()]},monthsParse:function(a){var b,c,d;for(this._monthsParse||(this._monthsParse=[]),b=0;12>b;b++)if(this._monthsParse[b]||(c=mb.utc([2e3,b]),d="^"+this.months(c,"")+"|^"+this.monthsShort(c,""),this._monthsParse[b]=new RegExp(d.replace(".",""),"i")),this._monthsParse[b].test(a))return b},_weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdays:function(a){return this._weekdays[a.day()]},_weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysShort:function(a){return this._weekdaysShort[a.day()]},_weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),weekdaysMin:function(a){return this._weekdaysMin[a.day()]},weekdaysParse:function(a){var b,c,d;for(this._weekdaysParse||(this._weekdaysParse=[]),b=0;7>b;b++)if(this._weekdaysParse[b]||(c=mb([2e3,1]).day(b),d="^"+this.weekdays(c,"")+"|^"+this.weekdaysShort(c,"")+"|^"+this.weekdaysMin(c,""),this._weekdaysParse[b]=new RegExp(d.replace(".",""),"i")),this._weekdaysParse[b].test(a))return b},_longDateFormat:{LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D YYYY",LLL:"MMMM D YYYY LT",LLLL:"dddd, MMMM D YYYY LT"},longDateFormat:function(a){var b=this._longDateFormat[a];return!b&&this._longDateFormat[a.toUpperCase()]&&(b=this._longDateFormat[a.toUpperCase()].replace(/MMMM|MM|DD|dddd/g,function(a){return a.slice(1)}),this._longDateFormat[a]=b),b},isPM:function(a){return"p"===(a+"").toLowerCase().charAt(0)},_meridiemParse:/[ap]\.?m?\.?/i,meridiem:function(a,b,c){return a>11?c?"pm":"PM":c?"am":"AM"},_calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},calendar:function(a,b){var c=this._calendar[a];return"function"==typeof c?c.apply(b):c},_relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},relativeTime:function(a,b,c,d){var e=this._relativeTime[c];return"function"==typeof e?e(a,b,c,d):e.replace(/%d/i,a)},pastFuture:function(a,b){var c=this._relativeTime[a>0?"future":"past"];return"function"==typeof c?c(b):c.replace(/%s/i,b)},ordinal:function(a){return this._ordinal.replace("%d",a)},_ordinal:"%d",preparse:function(a){return a},postformat:function(a){return a},week:function(a){return bb(a,this._week.dow,this._week.doy).week},_week:{dow:0,doy:6},_invalidDate:"Invalid date",invalidDate:function(){return this._invalidDate}}),mb=function(b,d,e,f){var g;return"boolean"==typeof e&&(f=e,e=a),g={},g._isAMomentObject=!0,g._i=b,g._f=d,g._l=e,g._strict=f,g._isUTC=!1,g._pf=c(),db(g)},mb.suppressDeprecationWarnings=!1,mb.createFromInputFallback=d("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.",function(a){a._d=new Date(a._i)}),mb.min=function(){var a=[].slice.call(arguments,0);return eb("isBefore",a)},mb.max=function(){var a=[].slice.call(arguments,0);return eb("isAfter",a)},mb.utc=function(b,d,e,f){var g;return"boolean"==typeof e&&(f=e,e=a),g={},g._isAMomentObject=!0,g._useUTC=!0,g._isUTC=!0,g._l=e,g._i=b,g._f=d,g._strict=f,g._pf=c(),db(g).utc()},mb.unix=function(a){return mb(1e3*a)},mb.duration=function(a,b){var c,d,e,f=a,g=null;return mb.isDuration(a)?f={ms:a._milliseconds,d:a._days,M:a._months}:"number"==typeof a?(f={},b?f[b]=a:f.milliseconds=a):(g=Db.exec(a))?(c="-"===g[1]?-1:1,f={y:0,d:u(g[ub])*c,h:u(g[vb])*c,m:u(g[wb])*c,s:u(g[xb])*c,ms:u(g[yb])*c}):(g=Eb.exec(a))&&(c="-"===g[1]?-1:1,e=function(a){var b=a&&parseFloat(a.replace(",","."));return(isNaN(b)?0:b)*c},f={y:e(g[2]),M:e(g[3]),d:e(g[4]),h:e(g[5]),m:e(g[6]),s:e(g[7]),w:e(g[8])}),d=new i(f),mb.isDuration(a)&&a.hasOwnProperty("_lang")&&(d._lang=a._lang),d},mb.version=pb,mb.defaultFormat=Yb,mb.ISO_8601=function(){},mb.momentProperties=Ab,mb.updateOffset=function(){},mb.relativeTimeThreshold=function(b,c){return ec[b]===a?!1:(ec[b]=c,!0)},mb.lang=function(a,b){var c;return a?(b?D(B(a),b):null===b?(E(a),a="en"):zb[a]||F(a),c=mb.duration.fn._lang=mb.fn._lang=F(a),c._abbr):mb.fn._lang._abbr},mb.langData=function(a){return a&&a._lang&&a._lang._abbr&&(a=a._lang._abbr),F(a)},mb.isMoment=function(a){return a instanceof h||null!=a&&a.hasOwnProperty("_isAMomentObject")},mb.isDuration=function(a){return a instanceof i},ob=ic.length-1;ob>=0;--ob)t(ic[ob]);mb.normalizeUnits=function(a){return r(a)},mb.invalid=function(a){var b=mb.utc(0/0);return null!=a?j(b._pf,a):b._pf.userInvalidated=!0,b},mb.parseZone=function(){return mb.apply(null,arguments).parseZone()},mb.parseTwoDigitYear=function(a){return u(a)+(u(a)>68?1900:2e3)},j(mb.fn=h.prototype,{clone:function(){return mb(this)},valueOf:function(){return+this._d+6e4*(this._offset||0)},unix:function(){return Math.floor(+this/1e3)},toString:function(){return this.clone().lang("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},toDate:function(){return this._offset?new Date(+this):this._d},toISOString:function(){var a=mb(this).utc();return 00:!1},parsingFlags:function(){return j({},this._pf)},invalidAt:function(){return this._pf.overflow},utc:function(){return this.zone(0)},local:function(){return this.zone(0),this._isUTC=!1,this},format:function(a){var b=I(this,a||mb.defaultFormat);return this.lang().postformat(b)},add:function(a,b){var c;return c="string"==typeof a&&"string"==typeof b?mb.duration(isNaN(+b)?+a:+b,isNaN(+b)?b:a):"string"==typeof a?mb.duration(+b,a):mb.duration(a,b),n(this,c,1),this},subtract:function(a,b){var c;return c="string"==typeof a&&"string"==typeof b?mb.duration(isNaN(+b)?+a:+b,isNaN(+b)?b:a):"string"==typeof a?mb.duration(+b,a):mb.duration(a,b),n(this,c,-1),this},diff:function(a,b,c){var d,e,f=C(a,this),g=6e4*(this.zone()-f.zone());return b=r(b),"year"===b||"month"===b?(d=432e5*(this.daysInMonth()+f.daysInMonth()),e=12*(this.year()-f.year())+(this.month()-f.month()),e+=(this-mb(this).startOf("month")-(f-mb(f).startOf("month")))/d,e-=6e4*(this.zone()-mb(this).startOf("month").zone()-(f.zone()-mb(f).startOf("month").zone()))/d,"year"===b&&(e/=12)):(d=this-f,e="second"===b?d/1e3:"minute"===b?d/6e4:"hour"===b?d/36e5:"day"===b?(d-g)/864e5:"week"===b?(d-g)/6048e5:d),c?e:l(e)},from:function(a,b){return mb.duration(this.diff(a)).lang(this.lang()._abbr).humanize(!b)},fromNow:function(a){return this.from(mb(),a)},calendar:function(a){var b=a||mb(),c=C(b,this).startOf("day"),d=this.diff(c,"days",!0),e=-6>d?"sameElse":-1>d?"lastWeek":0>d?"lastDay":1>d?"sameDay":2>d?"nextDay":7>d?"nextWeek":"sameElse";return this.format(this.lang().calendar(e,this))},isLeapYear:function(){return y(this.year())},isDST:function(){return this.zone()+mb(a).startOf(b)},isBefore:function(a,b){return b="undefined"!=typeof b?b:"millisecond",+this.clone().startOf(b)<+mb(a).startOf(b)},isSame:function(a,b){return b=b||"ms",+this.clone().startOf(b)===+C(a,this).startOf(b)},min:d("moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(a){return a=mb.apply(null,arguments),this>a?this:a}),max:d("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(a){return a=mb.apply(null,arguments),a>this?this:a}),zone:function(a,b){var c=this._offset||0;return null==a?this._isUTC?c:this._d.getTimezoneOffset():("string"==typeof a&&(a=L(a)),Math.abs(a)<16&&(a=60*a),this._offset=a,this._isUTC=!0,c!==a&&(!b||this._changeInProgress?n(this,mb.duration(c-a,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,mb.updateOffset(this,!0),this._changeInProgress=null)),this)},zoneAbbr:function(){return this._isUTC?"UTC":""},zoneName:function(){return this._isUTC?"Coordinated Universal Time":""},parseZone:function(){return this._tzm?this.zone(this._tzm):"string"==typeof this._i&&this.zone(this._i),this},hasAlignedHourOffset:function(a){return a=a?mb(a).zone():0,(this.zone()-a)%60===0},daysInMonth:function(){return v(this.year(),this.month())},dayOfYear:function(a){var b=rb((mb(this).startOf("day")-mb(this).startOf("year"))/864e5)+1;return null==a?b:this.add("d",a-b)},quarter:function(a){return null==a?Math.ceil((this.month()+1)/3):this.month(3*(a-1)+this.month()%3)},weekYear:function(a){var b=bb(this,this.lang()._week.dow,this.lang()._week.doy).year;return null==a?b:this.add("y",a-b)},isoWeekYear:function(a){var b=bb(this,1,4).year;return null==a?b:this.add("y",a-b)},week:function(a){var b=this.lang().week(this);return null==a?b:this.add("d",7*(a-b))},isoWeek:function(a){var b=bb(this,1,4).week;return null==a?b:this.add("d",7*(a-b))},weekday:function(a){var b=(this.day()+7-this.lang()._week.dow)%7;return null==a?b:this.add("d",a-b)},isoWeekday:function(a){return null==a?this.day()||7:this.day(this.day()%7?a:a-7)},isoWeeksInYear:function(){return w(this.year(),1,4)},weeksInYear:function(){var a=this._lang._week;return w(this.year(),a.dow,a.doy)},get:function(a){return a=r(a),this[a]()},set:function(a,b){return a=r(a),"function"==typeof this[a]&&this[a](b),this},lang:function(b){return b===a?this._lang:(this._lang=F(b),this)}}),mb.fn.millisecond=mb.fn.milliseconds=ib("Milliseconds",!1),mb.fn.second=mb.fn.seconds=ib("Seconds",!1),mb.fn.minute=mb.fn.minutes=ib("Minutes",!1),mb.fn.hour=mb.fn.hours=ib("Hours",!0),mb.fn.date=ib("Date",!0),mb.fn.dates=d("dates accessor is deprecated. Use date instead.",ib("Date",!0)),mb.fn.year=ib("FullYear",!0),mb.fn.years=d("years accessor is deprecated. Use year instead.",ib("FullYear",!0)),mb.fn.days=mb.fn.day,mb.fn.months=mb.fn.month,mb.fn.weeks=mb.fn.week,mb.fn.isoWeeks=mb.fn.isoWeek,mb.fn.quarters=mb.fn.quarter,mb.fn.toJSON=mb.fn.toISOString,j(mb.duration.fn=i.prototype,{_bubble:function(){var a,b,c,d,e=this._milliseconds,f=this._days,g=this._months,h=this._data;h.milliseconds=e%1e3,a=l(e/1e3),h.seconds=a%60,b=l(a/60),h.minutes=b%60,c=l(b/60),h.hours=c%24,f+=l(c/24),h.days=f%30,g+=l(f/30),h.months=g%12,d=l(g/12),h.years=d},weeks:function(){return l(this.days()/7)},valueOf:function(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*u(this._months/12)},humanize:function(a){var b=+this,c=ab(b,!a,this.lang());return a&&(c=this.lang().pastFuture(b,c)),this.lang().postformat(c)},add:function(a,b){var c=mb.duration(a,b);return this._milliseconds+=c._milliseconds,this._days+=c._days,this._months+=c._months,this._bubble(),this},subtract:function(a,b){var c=mb.duration(a,b);return this._milliseconds-=c._milliseconds,this._days-=c._days,this._months-=c._months,this._bubble(),this},get:function(a){return a=r(a),this[a.toLowerCase()+"s"]()},as:function(a){return a=r(a),this["as"+a.charAt(0).toUpperCase()+a.slice(1)+"s"]()},lang:mb.fn.lang,toIsoString:function(){var a=Math.abs(this.years()),b=Math.abs(this.months()),c=Math.abs(this.days()),d=Math.abs(this.hours()),e=Math.abs(this.minutes()),f=Math.abs(this.seconds()+this.milliseconds()/1e3);return this.asSeconds()?(this.asSeconds()<0?"-":"")+"P"+(a?a+"Y":"")+(b?b+"M":"")+(c?c+"D":"")+(d||e||f?"T":"")+(d?d+"H":"")+(e?e+"M":"")+(f?f+"S":""):"P0D"}});for(ob in ac)ac.hasOwnProperty(ob)&&(kb(ob,ac[ob]),jb(ob.toLowerCase()));kb("Weeks",6048e5),mb.duration.fn.asMonths=function(){return(+this-31536e6*this.years())/2592e6+12*this.years()},mb.lang("en",{ordinal:function(a){var b=a%10,c=1===u(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c}}),Bb?module.exports=mb:"function"==typeof define&&define.amd?(define("moment",function(a,b,c){return c.config&&c.config()&&c.config().noGlobal===!0&&(qb.moment=nb),mb}),lb(!0)):lb()}.call(this),function(a){function b(b){this.$element=a(b),this.original_text=this.$element.html(),this.settings=a.extend({},a.fn.trunk8.defaults)}function c(a){var b=document.createElement("DIV");return b.innerHTML=a,b.textContent||b.innerText}function d(a){if(c(a)===a)return a.split(/\s/g);for(var b,e,f=[],g=/<([a-z]+)([^<]*)(?:>(.*?(?!<\1>)*)<\/\1>|\s+\/>)(['.?!,]*)|((?:[^<>\s])+['.?!,]*\w?|)/gi,h=g.exec(a);h&&b!==g.lastIndex;)b=g.lastIndex,h[5]?f.push(h[5]):h[1]&&f.push({tag:h[1],attribs:h[2],content:h[3],after:h[4]}),h=g.exec(a);for(e=0;e/.test(g)||(1===i&&a.trim(b).length<=g.length?(g=b,("p"===f||"div"===f)&&(g+=d),b=""):b=b.replace(g,"")),k+=a.trim(g)+(j===c.length-1||1>=i?"":" ")):(h=e(g.content,g.tag),g.after&&(b=b.replace(g.after,"")),h&&(g.after||(g.after=" "),k+="<"+g.tag+g.attribs+">"+h+""+g.after)));return k},f=e(c);return f+=d}function f(){var b,f,g,i,k,l,m=this.data("trunk8"),n=m.settings,o=n.width,p=n.side,q=n.fill,r=n.parseHTML,s=h.getLineHeight(this)*n.lines,t=m.original_text,u=t.length,v="";if(this.html(t),k=this.text(),r&&c(t)!==t&&(l=d(t),t=c(t),u=t.length),o===j.auto){if(this.height()<=s)return;for(b=0,f=u-1;f>=b;)g=b+(f-b>>1),i=h.eatStr(t,p,u-g,q),r&&l&&(i=e(i,l,q)),this.html(i),this.height()>s?f=g-1:(b=g+1,v=v.length>i.length?v:i);this.html(""),this.html(v),n.tooltip&&this.attr("title",k)}else isNaN(o)?a.error('Invalid width "'+o+'".'):(g=u-o,i=h.eatStr(t,p,g,q),this.html(i),n.tooltip&&this.attr("title",t))}var g,h,i={center:"center",left:"left",right:"right"},j={auto:"auto"};b.prototype.updateSettings=function(b){this.settings=a.extend(this.settings,b)},g={init:function(c){return this.each(function(){var d=a(this),e=d.data("trunk8");e||d.data("trunk8",e=new b(this)),e.updateSettings(c),f.call(d)})},update:function(b){return this.each(function(){var c=a(this);b&&(c.data("trunk8").original_text=b),f.call(c)})},revert:function(){return this.each(function(){var b=a(this).data("trunk8").original_text;a(this).html(b)})},getSettings:function(){return a(this.get(0)).data("trunk8").settings}},h={eatStr:function(b,c,d,e){var f,g,j=b.length,k=h.eatStr.generateKey.apply(null,arguments);if(h.eatStr.cache[k])return h.eatStr.cache[k];if(("string"!=typeof b||0===j)&&a.error('Invalid source string "'+b+'".'),0>d||d>j)a.error('Invalid bite size "'+d+'".');else if(0===d)return b;switch("string"!=typeof(e+"")&&a.error("Fill unable to be converted to a string."),c){case i.right:return h.eatStr.cache[k]=a.trim(b.substr(0,j-d))+e;case i.left:return h.eatStr.cache[k]=e+a.trim(b.substr(d));case i.center:return f=j>>1,g=d>>1,h.eatStr.cache[k]=a.trim(h.eatStr(b.substr(0,j-f),i.right,d-g,""))+e+a.trim(h.eatStr(b.substr(j-f),i.left,g,""));default:a.error('Invalid side "'+c+'".')}},getLineHeight:function(b){var c=a(b).css("float");"none"!==c&&a(b).css("float","none");var d=a(b).css("position");"absolute"===d&&a(b).css("position","static");var e,f=a(b).html(),g="line-height-test";return a(b).html("i").wrap('
'),e=a("#"+g).innerHeight(),a(b).html(f).css({"float":c,position:d}).unwrap(),e}},h.eatStr.cache={},h.eatStr.generateKey=function(){return Array.prototype.join.call(arguments,"")},a.fn.trunk8=function(b){return g[b]?g[b].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof b&&b?void a.error("Method "+b+" does not exist on jQuery.trunk8"):g.init.apply(this,arguments)},a.fn.trunk8.defaults={fill:"…",lines:1,side:i.right,tooltip:!0,width:j.auto,parseHTML:!1}}(jQuery),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.6.0";var y=x.each=x.forEach=function(a,b,d){if(null==a)return 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=x.keys(a),e=0,f=g.length;f>e;e++)if(b.call(d,a[g[e]],g[e],a)===c)return;return a};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.push(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.push(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,x.property(b))},x.where=function(a,b){return x.filter(a,x.matches(b))},x.findWhere=function(a,b){return x.find(a,x.matches(b))},x.max=function(a,b,c){if(!b&&x.isArray(a)&&a[0]===+a[0]&&a.length<65535)return Math.max.apply(Math,a);var d=-1/0,e=-1/0;return y(a,function(a,f,g){var h=b?b.call(c,a,f,g):a;h>e&&(d=a,e=h)}),d},x.min=function(a,b,c){if(!b&&x.isArray(a)&&a[0]===+a[0]&&a.length<65535)return Math.min.apply(Math,a);var d=1/0,e=1/0;return y(a,function(a,f,g){var h=b?b.call(c,a,f,g):a;e>h&&(d=a,e=h)}),d},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},x.sample=function(a,b,c){return null==b||c?(a.length!==+a.length&&(a=x.values(a)),a[x.random(a.length-1)]):x.shuffle(a).slice(0,Math.max(0,b))};var B=function(a){return null==a?x.identity:x.isFunction(a)?a:x.property(a)};x.sortBy=function(a,b,c){return b=B(b),x.pluck(x.map(a,function(a,d,e){return{value:a,index:d,criteria:b.call(c,a,d,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}),"value")};var C=function(a){return function(b,c,d){var e={};return c=B(c),y(b,function(f,g){var h=c.call(d,f,g,b);a(e,h,f)}),e}};x.groupBy=C(function(a,b,c){x.has(a,b)?a[b].push(c):a[b]=[c]}),x.indexBy=C(function(a,b,c){a[b]=c}),x.countBy=C(function(a,b){x.has(a,b)?a[b]++:a[b]=1}),x.sortedIndex=function(a,b,c,d){c=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])b?[]: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 b&&x.every(a,x.isArray)?i.apply(c,a):(y(a,function(a){x.isArray(a)||x.isArguments(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.partition=function(a,b){var c=[],d=[];return y(a,function(a){(b(a)?c:d).push(a)}),[c,d]},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(x.flatten(arguments,!0))},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.contains(b,a)})})},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=x.max(x.pluck(arguments,"length").concat(0)),b=new Array(a),c=0;a>c;c++)b[c]=x.pluck(arguments,""+c);return b},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};var E=function(){};x.bind=function(a,b){var c,d;if(w&&a.bind===w)return w.apply(a,h.call(arguments,1));if(!x.isFunction(a))throw new TypeError;return c=h.call(arguments,2),d=function(){if(!(this instanceof d))return a.apply(b,c.concat(h.call(arguments)));E.prototype=a.prototype;var e=new E;E.prototype=null;var f=a.apply(e,c.concat(h.call(arguments)));return Object(f)===f?f:e}},x.partial=function(a){var b=h.call(arguments,1);return function(){for(var c=0,d=b.slice(),e=0,f=d.length;f>e;e++)d[e]===x&&(d[e]=arguments[c++]);for(;c=k?(clearTimeout(g),g=null,h=j,f=a.apply(d,e),d=e=null):g||c.trailing===!1||(g=setTimeout(i,k)),f}},x.debounce=function(a,b,c){var d,e,f,g,h,i=function(){var j=x.now()-g;b>j?d=setTimeout(i,b-j):(d=null,c||(h=a.apply(f,e),f=e=null))};return function(){f=this,e=arguments,g=x.now();var j=c&&!d;return d||(d=setTimeout(i,b)),j&&(h=a.apply(f,e),f=e=null),h}},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 x.partial(b,a)},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 function(){return--a<1?b.apply(this,arguments):void 0}},x.keys=function(a){if(!x.isObject(a))return[];if(v)return v(a);var b=[];for(var c in a)x.has(a,c)&&b.push(c);return b},x.values=function(a){for(var b=x.keys(a),c=b.length,d=new Array(c),e=0;c>e;e++)d[e]=a[b[e]];return d},x.pairs=function(a){for(var b=x.keys(a),c=b.length,d=new Array(c),e=0;c>e;e++)d[e]=[b[e],a[b[e]]];return d},x.invert=function(a){for(var b={},c=x.keys(a),d=0,e=c.length;e>d;d++)b[a[c[d]]]=c[d];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)void 0===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 F=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;var g=a.constructor,h=b.constructor;if(g!==h&&!(x.isFunction(g)&&g instanceof g&&x.isFunction(h)&&h instanceof h)&&"constructor"in a&&"constructor"in b)return!1;c.push(a),d.push(b);var i=0,k=!0;if("[object Array]"==e){if(i=a.length,k=i==b.length)for(;i--&&(k=F(a[i],b[i],c,d)););}else{for(var l in a)if(x.has(a,l)&&(i++,!(k=x.has(b,l)&&F(a[l],b[l],c,d))))break;if(k){for(l in b)if(x.has(b,l)&&!i--)break;k=!i}}return c.pop(),d.pop(),k};x.isEqual=function(a,b){return F(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.constant=function(a){return function(){return a}},x.property=function(a){return function(b){return b[a]}},x.matches=function(a){return function(b){if(b===a)return!0;for(var c in a)if(a[c]!==b[c])return!1;return!0}},x.times=function(a,b,c){for(var d=Array(Math.max(0,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))},x.now=Date.now||function(){return(new Date).getTime()};var G={escape:{"&":"&","<":"<",">":">",'"':""","'":"'"}};G.unescape=x.invert(G.escape);var H={escape:new RegExp("["+x.keys(G.escape).join("")+"]","g"),unescape:new RegExp("("+x.keys(G.unescape).join("|")+")","g")};x.each(["escape","unescape"],function(a){x[a]=function(b){return null==b?"":(""+b).replace(H[a],function(b){return G[a][b]})}}),x.result=function(a,b){if(null==a)return void 0;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),M.call(this,c.apply(x,a))}})};var I=0;x.uniqueId=function(a){var b=++I+"";return a?a+b:b},x.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var J=/(.)^/,K={"'":"'","\\":"\\","\r":"r","\n":"n"," ":"t","\u2028":"u2028","\u2029":"u2029"},L=/\\|'|\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||J).source,(c.interpolate||J).source,(c.evaluate||J).source].join("|")+"|$","g"),f=0,g="__p+='";a.replace(e,function(b,c,d,e,h){return g+=a.slice(f,h).replace(L,function(a){return"\\"+K[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 M=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],M.call(this,c)}}),y(["concat","join","slice"],function(a){var b=d[a];x.prototype[a]=function(){return M.call(this,b.apply(this._wrapped,arguments))}}),x.extend(x.prototype,{chain:function(){return this._chain=!0,this},value:function(){return this._wrapped}}),"function"==typeof define&&define.amd&&define("underscore",[],function(){return x})}.call(this),Modernizr.addTest("touchcapable",function(){var a;return a="ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch||navigator.maxTouchPoints>0||navigator.msMaxTouchPoints>0?window.screen.width>1279&&1==window.devicePixelRatio||window.screen.width>1e3&&window.innerWidth<.9*window.screen.width?!1:!0:!1}),String.prototype.capitalize=function(){return this.charAt(0).toUpperCase()+this.slice(1)},jQuery.validator.addMethod("zipcode",function(a,b){return this.optional(b)||/^\d{5}(?:-\d{4})?$/.test(a)},"Please provide a valid zip code."),jQuery.validator.addMethod("remoteEmail",function(){return!0},"User does not exist");var emailRuleSet={required:!0,email:!0},existingEmailRuleSet={required:!0,email:!0,remoteEmail:"remoteEmail"},emailMsgSet={required:"This field is required.",email:"Please enter a valid email address."},passwordMsgSet={required:"This field is required."},confirmPasswordMsgSet={required:"This field is required.",equalTo:"Passwords must match."};jQuery.validator.setDefaults({focusCleanup:!0,focusInvalid:!1,rules:{password_confirmation:{equalTo:"#password"},email:emailRuleSet,zipcode:"zipcode","signin-email":existingEmailRuleSet,"signin-password":"required"},messages:{email:emailMsgSet,password:passwordMsgSet,password_confirmation:confirmPasswordMsgSet,"signin-email":emailMsgSet,"signin-password":passwordMsgSet}});var Artbot=Artbot||{};Artbot.data=Artbot.data||{},Artbot.el={html:$("html"),win:$(window),doc:$(document),body:$("body"),calendarContainer:$("#event-calendar"),eventCalendar:""},Artbot.util={hasTouch:Modernizr.touchcapable,hasPosFixed:Modernizr.positionfixed,hasiOSPosFixed:Modernizr.iospositionfixed,viewportWidth:function(){return Artbot.el.win.width()},viewportHeight:function(){return Artbot.el.win.height()},docHeight:function(){return Artbot.el.doc.height()},bodyHeight:function(){return Artbot.el.body.height()},footerHeight:function(){return Artbot.el.footer.height()},scrollPos:function(){return Artbot.el.win.scrollTop()},mobileMode:function(){return Artbot.util.viewportWidth()<=767?!0:!1},desktopMode:function(){return Artbot.util.viewportWidth()>=1024?!0:!1},orientation:function(){return"undefined"!=typeof orientation?90===Math.abs(window.orientation)?"landscape":"portrait":Artbot.util.viewportWidth()>=Artbot.util.viewportHeight()?"landscape":"portrait"},findQuerystring:function(a){for(hu=window.location.search.substring(1),gy=hu.split("&"),i=0;i0){var d=b.children();d.length>0&&(c=d.length)}return c},isThereMore:function(a){return jsonArray=a,console.log(jsonArray),jsonArray.length>0?(console.log("There are at least "+jsonArray.length+" results to be fetched"),!0):(console.log("No more results"),!1)}},Artbot.errors={logAjaxError:function(a,b,c,d){console.log("Error: "+c),console.log("jqXHR status: "+a.status+" "+a.statusText),d&&console.log("jqXHR response: "+a.responseText)},showFormError:function(a){var b,c,d=$.parseJSON(a);$.each(d,function(a,d){c=$("#"+a),b=a.capitalize()+" "+d,console.log("Error text: "+b),$errorLabel=$("