diff --git a/public/build/js/app-8e71bf6f18.js b/public/build/js/app-036129abbd.js similarity index 84% rename from public/build/js/app-8e71bf6f18.js rename to public/build/js/app-036129abbd.js index 125860b..3ffc114 100644 --- a/public/build/js/app-8e71bf6f18.js +++ b/public/build/js/app-036129abbd.js @@ -1,5 +1,6 @@ -!function t(e,n,i){function r(o,a){if(!n[o]){if(!e[o]){var u="function"==typeof require&&require;if(!a&&u)return u(o,!0);if(s)return s(o,!0);var c=new Error("Cannot find module '"+o+"'");throw c.code="MODULE_NOT_FOUND",c}var l=n[o]={exports:{}};e[o][0].call(l.exports,function(t){var n=e[o][1][t];return r(n?n:t)},l,l.exports,t,e,n,i)}return n[o].exports}for(var s="function"==typeof require&&require,o=0;o0)for(n in ei)i=ei[n],r=e[i],p(r)||(t[i]=r);return t}function v(t){m(this,t),this._d=new Date(null!=t._d?t._d.getTime():NaN),ni===!1&&(ni=!0,n.updateOffset(this),ni=!1)}function g(t){return t instanceof v||null!=t&&null!=t._isAMomentObject}function _(t){return 0>t?Math.ceil(t):Math.floor(t)}function y(t){var e=+t,n=0;return 0!==e&&isFinite(e)&&(n=_(e)),n}function b(t,e,n){var i,r=Math.min(t.length,e.length),s=Math.abs(t.length-e.length),o=0;for(i=0;r>i;i++)(n&&t[i]!==e[i]||!n&&y(t[i])!==y(e[i]))&&o++;return o+s}function w(t){n.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+t)}function k(t,e){var n=!0;return u(function(){return n&&(w(t+"\nArguments: "+Array.prototype.slice.call(arguments).join(", ")+"\n"+(new Error).stack),n=!1),e.apply(this,arguments)},e)}function S(t,e){ii[t]||(w(e),ii[t]=!0)}function x(t){return t instanceof Function||"[object Function]"===Object.prototype.toString.call(t)}function C(t){return"[object Object]"===Object.prototype.toString.call(t)}function D(t){var e,n;for(n in t)e=t[n],x(e)?this[n]=e:this["_"+n]=e;this._config=t,this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)}function O(t,e){var n,i=u({},t);for(n in e)a(e,n)&&(C(t[n])&&C(e[n])?(i[n]={},u(i[n],t[n]),u(i[n],e[n])):null!=e[n]?i[n]=e[n]:delete i[n]);return i}function $(t){null!=t&&this.set(t)}function T(t){return t?t.toLowerCase().replace("_","-"):t}function M(t){for(var e,n,i,r,s=0;s0;){if(i=A(r.slice(0,e).join("-")))return i;if(n&&n.length>=e&&b(r,n,!0)>=e-1)break;e--}s++}return null}function A(n){var i=null;if(!si[n]&&"undefined"!=typeof e&&e&&e.exports)try{i=ri._abbr,t("./locale/"+n),Y(i)}catch(r){}return si[n]}function Y(t,e){var n;return t&&(n=p(e)?E(t):j(t,e),n&&(ri=n)),ri._abbr}function j(t,e){return null!==e?(e.abbr=t,null!=si[t]?(S("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale"),e=O(si[t]._config,e)):null!=e.parentLocale&&(null!=si[e.parentLocale]?e=O(si[e.parentLocale]._config,e):S("parentLocaleUndefined","specified parentLocale is not defined yet")),si[t]=new $(e),Y(t),si[t]):(delete si[t],null)}function P(t,e){if(null!=e){var n;null!=si[t]&&(e=O(si[t]._config,e)),n=new $(e),n.parentLocale=si[t],si[t]=n,Y(t)}else null!=si[t]&&(null!=si[t].parentLocale?si[t]=si[t].parentLocale:null!=si[t]&&delete si[t]);return si[t]}function E(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return ri;if(!r(t)){if(e=A(t))return e;t=[t]}return M(t)}function F(){return Object.keys(si)}function N(t,e){var n=t.toLowerCase();oi[n]=oi[n+"s"]=oi[e]=t}function U(t){return"string"==typeof t?oi[t]||oi[t.toLowerCase()]:void 0}function R(t){var e,n,i={};for(n in t)a(t,n)&&(e=U(n),e&&(i[e]=t[n]));return i}function W(t,e){return function(i){return null!=i?(L(this,t,i),n.updateOffset(this,e),this):H(this,t)}}function H(t,e){return t.isValid()?t._d["get"+(t._isUTC?"UTC":"")+e]():NaN}function L(t,e,n){t.isValid()&&t._d["set"+(t._isUTC?"UTC":"")+e](n)}function I(t,e){var n;if("object"==typeof t)for(n in t)this.set(n,t[n]);else if(t=U(t),x(this[t]))return this[t](e);return this}function V(t,e,n){var i=""+Math.abs(t),r=e-i.length,s=t>=0;return(s?n?"+":"":"-")+Math.pow(10,Math.max(0,r)).toString().substr(1)+i}function G(t,e,n,i){var r=i;"string"==typeof i&&(r=function(){return this[i]()}),t&&(li[t]=r),e&&(li[e[0]]=function(){return V(r.apply(this,arguments),e[1],e[2])}),n&&(li[n]=function(){return this.localeData().ordinal(r.apply(this,arguments),t)})}function z(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function q(t){var e,n,i=t.match(ai);for(e=0,n=i.length;n>e;e++)li[i[e]]?i[e]=li[i[e]]:i[e]=z(i[e]);return function(r){var s="";for(e=0;n>e;e++)s+=i[e]instanceof Function?i[e].call(r,t):i[e];return s}}function B(t,e){return t.isValid()?(e=J(e,t.localeData()),ci[e]=ci[e]||q(e),ci[e](t)):t.localeData().invalidDate()}function J(t,e){function n(t){return e.longDateFormat(t)||t}var i=5;for(ui.lastIndex=0;i>=0&&ui.test(t);)t=t.replace(ui,n),ui.lastIndex=0,i-=1;return t}function Z(t,e,n){$i[t]=x(e)?e:function(t,i){return t&&n?n:e}}function Q(t,e){return a($i,t)?$i[t](e._strict,e._locale):new RegExp(X(t))}function X(t){return K(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,n,i,r){return e||n||i||r}))}function K(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function tt(t,e){var n,i=e;for("string"==typeof t&&(t=[t]),"number"==typeof e&&(i=function(t,n){n[e]=y(t)}),n=0;ni;i++){if(r=c([2e3,i]),n&&!this._longMonthsParse[i]&&(this._longMonthsParse[i]=new RegExp("^"+this.months(r,"").replace(".","")+"$","i"),this._shortMonthsParse[i]=new RegExp("^"+this.monthsShort(r,"").replace(".","")+"$","i")),n||this._monthsParse[i]||(s="^"+this.months(r,"")+"|^"+this.monthsShort(r,""),this._monthsParse[i]=new RegExp(s.replace(".",""),"i")),n&&"MMMM"===e&&this._longMonthsParse[i].test(t))return i;if(n&&"MMM"===e&&this._shortMonthsParse[i].test(t))return i;if(!n&&this._monthsParse[i].test(t))return i}}function at(t,e){var n;if(!t.isValid())return t;if("string"==typeof e)if(/^\d+$/.test(e))e=y(e);else if(e=t.localeData().monthsParse(e),"number"!=typeof e)return t;return n=Math.min(t.date(),it(t.year(),e)),t._d["set"+(t._isUTC?"UTC":"")+"Month"](e,n),t}function ut(t){return null!=t?(at(this,t),n.updateOffset(this,!0),this):H(this,"Month")}function ct(){return it(this.year(),this.month())}function lt(t){return this._monthsParseExact?(a(this,"_monthsRegex")||ft.call(this),t?this._monthsShortStrictRegex:this._monthsShortRegex):this._monthsShortStrictRegex&&t?this._monthsShortStrictRegex:this._monthsShortRegex}function ht(t){return this._monthsParseExact?(a(this,"_monthsRegex")||ft.call(this),t?this._monthsStrictRegex:this._monthsRegex):this._monthsStrictRegex&&t?this._monthsStrictRegex:this._monthsRegex}function ft(){function t(t,e){return e.length-t.length}var e,n,i=[],r=[],s=[];for(e=0;12>e;e++)n=c([2e3,e]),i.push(this.monthsShort(n,"")),r.push(this.months(n,"")),s.push(this.months(n,"")),s.push(this.monthsShort(n,""));for(i.sort(t),r.sort(t),s.sort(t),e=0;12>e;e++)i[e]=K(i[e]),r[e]=K(r[e]),s[e]=K(s[e]);this._monthsRegex=new RegExp("^("+s.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+r.join("|")+")$","i"),this._monthsShortStrictRegex=new RegExp("^("+i.join("|")+")$","i")}function dt(t){var e,n=t._a;return n&&-2===h(t).overflow&&(e=n[Ai]<0||n[Ai]>11?Ai:n[Yi]<1||n[Yi]>it(n[Mi],n[Ai])?Yi:n[ji]<0||n[ji]>24||24===n[ji]&&(0!==n[Pi]||0!==n[Ei]||0!==n[Fi])?ji:n[Pi]<0||n[Pi]>59?Pi:n[Ei]<0||n[Ei]>59?Ei:n[Fi]<0||n[Fi]>999?Fi:-1,h(t)._overflowDayOfYear&&(Mi>e||e>Yi)&&(e=Yi),h(t)._overflowWeeks&&-1===e&&(e=Ni),h(t)._overflowWeekday&&-1===e&&(e=Ui),h(t).overflow=e),t}function pt(t){var e,n,i,r,s,o,a=t._i,u=Vi.exec(a)||Gi.exec(a);if(u){for(h(t).iso=!0,e=0,n=qi.length;n>e;e++)if(qi[e][1].exec(u[1])){r=qi[e][0],i=qi[e][2]!==!1;break}if(null==r)return void(t._isValid=!1);if(u[3]){for(e=0,n=Bi.length;n>e;e++)if(Bi[e][1].exec(u[3])){s=(u[2]||" ")+Bi[e][0];break}if(null==s)return void(t._isValid=!1)}if(!i&&null!=s)return void(t._isValid=!1);if(u[4]){if(!zi.exec(u[4]))return void(t._isValid=!1);o="Z"}t._f=r+(s||"")+(o||""),Tt(t)}else t._isValid=!1}function mt(t){var e=Ji.exec(t._i);return null!==e?void(t._d=new Date(+e[1])):(pt(t),void(t._isValid===!1&&(delete t._isValid,n.createFromInputFallback(t))))}function vt(t,e,n,i,r,s,o){var a=new Date(t,e,n,i,r,s,o);return 100>t&&t>=0&&isFinite(a.getFullYear())&&a.setFullYear(t),a}function gt(t){var e=new Date(Date.UTC.apply(null,arguments));return 100>t&&t>=0&&isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t),e}function _t(t){return yt(t)?366:365}function yt(t){return t%4===0&&t%100!==0||t%400===0}function bt(){return yt(this.year())}function wt(t,e,n){var i=7+e-n,r=(7+gt(t,0,i).getUTCDay()-e)%7;return-r+i-1}function kt(t,e,n,i,r){var s,o,a=(7+n-i)%7,u=wt(t,i,r),c=1+7*(e-1)+a+u;return 0>=c?(s=t-1,o=_t(s)+c):c>_t(t)?(s=t+1,o=c-_t(t)):(s=t,o=c),{year:s,dayOfYear:o}}function St(t,e,n){var i,r,s=wt(t.year(),e,n),o=Math.floor((t.dayOfYear()-s-1)/7)+1;return 1>o?(r=t.year()-1,i=o+xt(r,e,n)):o>xt(t.year(),e,n)?(i=o-xt(t.year(),e,n),r=t.year()+1):(r=t.year(),i=o),{week:i,year:r}}function xt(t,e,n){var i=wt(t,e,n),r=wt(t+1,e,n);return(_t(t)-i+r)/7}function Ct(t,e,n){return null!=t?t:null!=e?e:n}function Dt(t){var e=new Date(n.now());return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}function Ot(t){var e,n,i,r,s=[];if(!t._d){for(i=Dt(t),t._w&&null==t._a[Yi]&&null==t._a[Ai]&&$t(t),t._dayOfYear&&(r=Ct(t._a[Mi],i[Mi]),t._dayOfYear>_t(r)&&(h(t)._overflowDayOfYear=!0),n=gt(r,0,t._dayOfYear),t._a[Ai]=n.getUTCMonth(),t._a[Yi]=n.getUTCDate()),e=0;3>e&&null==t._a[e];++e)t._a[e]=s[e]=i[e];for(;7>e;e++)t._a[e]=s[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[ji]&&0===t._a[Pi]&&0===t._a[Ei]&&0===t._a[Fi]&&(t._nextDay=!0,t._a[ji]=0),t._d=(t._useUTC?gt:vt).apply(null,s),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[ji]=24)}}function $t(t){var e,n,i,r,s,o,a,u;e=t._w,null!=e.GG||null!=e.W||null!=e.E?(s=1,o=4,n=Ct(e.GG,t._a[Mi],St(Nt(),1,4).year),i=Ct(e.W,1),r=Ct(e.E,1),(1>r||r>7)&&(u=!0)):(s=t._locale._week.dow,o=t._locale._week.doy,n=Ct(e.gg,t._a[Mi],St(Nt(),s,o).year),i=Ct(e.w,1),null!=e.d?(r=e.d,(0>r||r>6)&&(u=!0)):null!=e.e?(r=e.e+s,(e.e<0||e.e>6)&&(u=!0)):r=s),1>i||i>xt(n,s,o)?h(t)._overflowWeeks=!0:null!=u?h(t)._overflowWeekday=!0:(a=kt(n,i,r,s,o),t._a[Mi]=a.year,t._dayOfYear=a.dayOfYear)}function Tt(t){if(t._f===n.ISO_8601)return void pt(t);t._a=[],h(t).empty=!0;var e,i,r,s,o,a=""+t._i,u=a.length,c=0;for(r=J(t._f,t._locale).match(ai)||[],e=0;e0&&h(t).unusedInput.push(o),a=a.slice(a.indexOf(i)+i.length),c+=i.length),li[s]?(i?h(t).empty=!1:h(t).unusedTokens.push(s),nt(s,i,t)):t._strict&&!i&&h(t).unusedTokens.push(s);h(t).charsLeftOver=u-c,a.length>0&&h(t).unusedInput.push(a),h(t).bigHour===!0&&t._a[ji]<=12&&t._a[ji]>0&&(h(t).bigHour=void 0),t._a[ji]=Mt(t._locale,t._a[ji],t._meridiem),Ot(t),dt(t)}function Mt(t,e,n){var i;return null==n?e:null!=t.meridiemHour?t.meridiemHour(e,n):null!=t.isPM?(i=t.isPM(n),i&&12>e&&(e+=12),i||12!==e||(e=0),e):e}function At(t){var e,n,i,r,s;if(0===t._f.length)return h(t).invalidFormat=!0,void(t._d=new Date(NaN));for(r=0;rs)&&(i=s,n=e));u(t,n||e)}function Yt(t){if(!t._d){var e=R(t._i);t._a=o([e.year,e.month,e.day||e.date,e.hour,e.minute,e.second,e.millisecond],function(t){return t&&parseInt(t,10)}),Ot(t)}}function jt(t){var e=new v(dt(Pt(t)));return e._nextDay&&(e.add(1,"d"),e._nextDay=void 0),e}function Pt(t){var e=t._i,n=t._f;return t._locale=t._locale||E(t._l),null===e||void 0===n&&""===e?d({nullInput:!0}):("string"==typeof e&&(t._i=e=t._locale.preparse(e)),g(e)?new v(dt(e)):(r(n)?At(t):n?Tt(t):s(e)?t._d=e:Et(t),f(t)||(t._d=null),t))}function Et(t){var e=t._i;void 0===e?t._d=new Date(n.now()):s(e)?t._d=new Date(+e):"string"==typeof e?mt(t):r(e)?(t._a=o(e.slice(0),function(t){return parseInt(t,10)}),Ot(t)):"object"==typeof e?Yt(t):"number"==typeof e?t._d=new Date(e):n.createFromInputFallback(t)}function Ft(t,e,n,i,r){var s={};return"boolean"==typeof n&&(i=n,n=void 0),s._isAMomentObject=!0,s._useUTC=s._isUTC=r,s._l=n,s._i=t,s._f=e,s._strict=i,jt(s)}function Nt(t,e,n,i){return Ft(t,e,n,i,!1)}function Ut(t,e){var n,i;if(1===e.length&&r(e[0])&&(e=e[0]),!e.length)return Nt();for(n=e[0],i=1;it&&(t=-t,n="-"),n+V(~~(t/60),2)+e+V(~~t%60,2)})}function Vt(t,e){var n=(e||"").match(t)||[],i=n[n.length-1]||[],r=(i+"").match(tr)||["-",0,0],s=+(60*r[1])+y(r[2]);return"+"===r[0]?s:-s}function Gt(t,e){var i,r;return e._isUTC?(i=e.clone(),r=(g(t)||s(t)?+t:+Nt(t))-+i,i._d.setTime(+i._d+r),n.updateOffset(i,!1),i):Nt(t).local()}function zt(t){return 15*-Math.round(t._d.getTimezoneOffset()/15)}function qt(t,e){var i,r=this._offset||0;return this.isValid()?null!=t?("string"==typeof t?t=Vt(Ci,t):Math.abs(t)<16&&(t=60*t),!this._isUTC&&e&&(i=zt(this)),this._offset=t,this._isUTC=!0,null!=i&&this.add(i,"m"),r!==t&&(!e||this._changeInProgress?le(this,re(t-r,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,n.updateOffset(this,!0),this._changeInProgress=null)),this):this._isUTC?r:zt(this):null!=t?this:NaN}function Bt(t,e){return null!=t?("string"!=typeof t&&(t=-t),this.utcOffset(t,e),this):-this.utcOffset()}function Jt(t){return this.utcOffset(0,t)}function Zt(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(zt(this),"m")),this}function Qt(){return this._tzm?this.utcOffset(this._tzm):"string"==typeof this._i&&this.utcOffset(Vt(xi,this._i)),this}function Xt(t){return this.isValid()?(t=t?Nt(t).utcOffset():0,(this.utcOffset()-t)%60===0):!1}function Kt(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function te(){if(!p(this._isDSTShifted))return this._isDSTShifted;var t={};if(m(t,this),t=Pt(t),t._a){var e=t._isUTC?c(t._a):Nt(t._a);this._isDSTShifted=this.isValid()&&b(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function ee(){return this.isValid()?!this._isUTC:!1}function ne(){return this.isValid()?this._isUTC:!1}function ie(){return this.isValid()?this._isUTC&&0===this._offset:!1}function re(t,e){var n,i,r,s=t,o=null;return Lt(t)?s={ms:t._milliseconds,d:t._days,M:t._months}:"number"==typeof t?(s={},e?s[e]=t:s.milliseconds=t):(o=er.exec(t))?(n="-"===o[1]?-1:1,s={y:0,d:y(o[Yi])*n,h:y(o[ji])*n,m:y(o[Pi])*n,s:y(o[Ei])*n,ms:y(o[Fi])*n}):(o=nr.exec(t))?(n="-"===o[1]?-1:1,s={y:se(o[2],n),M:se(o[3],n),w:se(o[4],n),d:se(o[5],n),h:se(o[6],n),m:se(o[7],n),s:se(o[8],n)}):null==s?s={}:"object"==typeof s&&("from"in s||"to"in s)&&(r=ae(Nt(s.from),Nt(s.to)),s={},s.ms=r.milliseconds,s.M=r.months),i=new Ht(s),Lt(t)&&a(t,"_locale")&&(i._locale=t._locale),i}function se(t,e){var n=t&&parseFloat(t.replace(",","."));return(isNaN(n)?0:n)*e}function oe(t,e){var n={milliseconds:0,months:0};return n.months=e.month()-t.month()+12*(e.year()-t.year()),t.clone().add(n.months,"M").isAfter(e)&&--n.months,n.milliseconds=+e-+t.clone().add(n.months,"M"),n}function ae(t,e){var n;return t.isValid()&&e.isValid()?(e=Gt(e,t),t.isBefore(e)?n=oe(t,e):(n=oe(e,t),n.milliseconds=-n.milliseconds,n.months=-n.months),n):{milliseconds:0,months:0}}function ue(t){return 0>t?-1*Math.round(-1*t):Math.round(t)}function ce(t,e){return function(n,i){var r,s;return null===i||isNaN(+i)||(S(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period)."),s=n,n=i,i=s),n="string"==typeof n?+n:n,r=re(n,i),le(this,r,t),this}}function le(t,e,i,r){var s=e._milliseconds,o=ue(e._days),a=ue(e._months);t.isValid()&&(r=null==r?!0:r,s&&t._d.setTime(+t._d+s*i),o&&L(t,"Date",H(t,"Date")+o*i),a&&at(t,H(t,"Month")+a*i),r&&n.updateOffset(t,o||a))}function he(t,e){var n=t||Nt(),i=Gt(n,this).startOf("day"),r=this.diff(i,"days",!0),s=-6>r?"sameElse":-1>r?"lastWeek":0>r?"lastDay":1>r?"sameDay":2>r?"nextDay":7>r?"nextWeek":"sameElse",o=e&&(x(e[s])?e[s]():e[s]);return this.format(o||this.localeData().calendar(s,this,Nt(n)))}function fe(){return new v(this)}function de(t,e){var n=g(t)?t:Nt(t);return this.isValid()&&n.isValid()?(e=U(p(e)?"millisecond":e),"millisecond"===e?+this>+n:+n<+this.clone().startOf(e)):!1}function pe(t,e){var n=g(t)?t:Nt(t);return this.isValid()&&n.isValid()?(e=U(p(e)?"millisecond":e),"millisecond"===e?+n>+this:+this.clone().endOf(e)<+n):!1}function me(t,e,n){return this.isAfter(t,n)&&this.isBefore(e,n)}function ve(t,e){var n,i=g(t)?t:Nt(t);return this.isValid()&&i.isValid()?(e=U(e||"millisecond"),"millisecond"===e?+this===+i:(n=+i,+this.clone().startOf(e)<=n&&n<=+this.clone().endOf(e))):!1}function ge(t,e){return this.isSame(t,e)||this.isAfter(t,e)}function _e(t,e){return this.isSame(t,e)||this.isBefore(t,e)}function ye(t,e,n){var i,r,s,o;return this.isValid()?(i=Gt(t,this),i.isValid()?(r=6e4*(i.utcOffset()-this.utcOffset()),e=U(e),"year"===e||"month"===e||"quarter"===e?(o=be(this,i),"quarter"===e?o/=3:"year"===e&&(o/=12)):(s=this-i,o="second"===e?s/1e3:"minute"===e?s/6e4:"hour"===e?s/36e5:"day"===e?(s-r)/864e5:"week"===e?(s-r)/6048e5:s),n?o:_(o)):NaN):NaN}function be(t,e){var n,i,r=12*(e.year()-t.year())+(e.month()-t.month()),s=t.clone().add(r,"months");return 0>e-s?(n=t.clone().add(r-1,"months"),i=(e-s)/(s-n)):(n=t.clone().add(r+1,"months"),i=(e-s)/(n-s)),-(r+i)}function we(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function ke(){var t=this.clone().utc();return 0s&&(e=s),Be.call(this,t,e,n,i,r))}function Be(t,e,n,i,r){var s=kt(t,e,n,i,r),o=gt(s.year,0,s.dayOfYear);return this.year(o.getUTCFullYear()),this.month(o.getUTCMonth()),this.date(o.getUTCDate()),this}function Je(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)}function Ze(t){return St(t,this._week.dow,this._week.doy).week}function Qe(){return this._week.dow}function Xe(){return this._week.doy}function Ke(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")}function tn(t){var e=St(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")}function en(t,e){return"string"!=typeof t?t:isNaN(t)?(t=e.weekdaysParse(t),"number"==typeof t?t:null):parseInt(t,10)}function nn(t,e){return r(this._weekdays)?this._weekdays[t.day()]:this._weekdays[this._weekdays.isFormat.test(e)?"format":"standalone"][t.day()]}function rn(t){return this._weekdaysShort[t.day()]}function sn(t){return this._weekdaysMin[t.day()]}function on(t,e,n){var i,r,s;for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),i=0;7>i;i++){if(r=Nt([2e3,1]).day(i),n&&!this._fullWeekdaysParse[i]&&(this._fullWeekdaysParse[i]=new RegExp("^"+this.weekdays(r,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[i]=new RegExp("^"+this.weekdaysShort(r,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[i]=new RegExp("^"+this.weekdaysMin(r,"").replace(".",".?")+"$","i")),this._weekdaysParse[i]||(s="^"+this.weekdays(r,"")+"|^"+this.weekdaysShort(r,"")+"|^"+this.weekdaysMin(r,""),this._weekdaysParse[i]=new RegExp(s.replace(".",""),"i")),n&&"dddd"===e&&this._fullWeekdaysParse[i].test(t))return i;if(n&&"ddd"===e&&this._shortWeekdaysParse[i].test(t))return i;if(n&&"dd"===e&&this._minWeekdaysParse[i].test(t))return i;if(!n&&this._weekdaysParse[i].test(t))return i}}function an(t){if(!this.isValid())return null!=t?this:NaN;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=en(t,this.localeData()),this.add(t-e,"d")):e}function un(t){if(!this.isValid())return null!=t?this:NaN;var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")}function cn(t){return this.isValid()?null==t?this.day()||7:this.day(this.day()%7?t:t-7):null!=t?this:NaN}function ln(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")}function hn(){return this.hours()%12||12}function fn(t,e){G(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function dn(t,e){return e._meridiemParse}function pn(t){return"p"===(t+"").toLowerCase().charAt(0)}function mn(t,e,n){return t>11?n?"pm":"PM":n?"am":"AM"}function vn(t,e){e[Fi]=y(1e3*("0."+t))}function gn(){return this._isUTC?"UTC":""}function _n(){return this._isUTC?"Coordinated Universal Time":""}function yn(t){return Nt(1e3*t)}function bn(){return Nt.apply(null,arguments).parseZone()}function wn(t,e,n){var i=this._calendar[t];return x(i)?i.call(e,n):i}function kn(t){var e=this._longDateFormat[t],n=this._longDateFormat[t.toUpperCase()];return e||!n?e:(this._longDateFormat[t]=n.replace(/MMMM|MM|DD|dddd/g,function(t){return t.slice(1)}),this._longDateFormat[t])}function Sn(){return this._invalidDate}function xn(t){return this._ordinal.replace("%d",t)}function Cn(t){return t}function Dn(t,e,n,i){var r=this._relativeTime[n];return x(r)?r(t,e,n,i):r.replace(/%d/i,t)}function On(t,e){var n=this._relativeTime[t>0?"future":"past"];return x(n)?n(e):n.replace(/%s/i,e)}function $n(t,e,n,i){var r=E(),s=c().set(i,e);return r[n](s,t)}function Tn(t,e,n,i,r){if("number"==typeof t&&(e=t,t=void 0),t=t||"",null!=e)return $n(t,e,n,r);var s,o=[];for(s=0;i>s;s++)o[s]=$n(t,s,n,r);return o}function Mn(t,e){return Tn(t,e,"months",12,"month")}function An(t,e){return Tn(t,e,"monthsShort",12,"month")}function Yn(t,e){return Tn(t,e,"weekdays",7,"day")}function jn(t,e){return Tn(t,e,"weekdaysShort",7,"day")}function Pn(t,e){return Tn(t,e,"weekdaysMin",7,"day")}function En(){var t=this._data;return this._milliseconds=Dr(this._milliseconds),this._days=Dr(this._days),this._months=Dr(this._months),t.milliseconds=Dr(t.milliseconds),t.seconds=Dr(t.seconds),t.minutes=Dr(t.minutes),t.hours=Dr(t.hours),t.months=Dr(t.months),t.years=Dr(t.years),this}function Fn(t,e,n,i){var r=re(e,n);return t._milliseconds+=i*r._milliseconds,t._days+=i*r._days,t._months+=i*r._months,t._bubble()}function Nn(t,e){return Fn(this,t,e,1)}function Un(t,e){return Fn(this,t,e,-1)}function Rn(t){return 0>t?Math.floor(t):Math.ceil(t)}function Wn(){var t,e,n,i,r,s=this._milliseconds,o=this._days,a=this._months,u=this._data;return s>=0&&o>=0&&a>=0||0>=s&&0>=o&&0>=a||(s+=864e5*Rn(Ln(a)+o),o=0,a=0),u.milliseconds=s%1e3,t=_(s/1e3),u.seconds=t%60,e=_(t/60),u.minutes=e%60,n=_(e/60),u.hours=n%24,o+=_(n/24),r=_(Hn(o)),a+=r,o-=Rn(Ln(r)),i=_(a/12),a%=12,u.days=o,u.months=a,u.years=i,this}function Hn(t){return 4800*t/146097}function Ln(t){return 146097*t/4800}function In(t){var e,n,i=this._milliseconds;if(t=U(t),"month"===t||"year"===t)return e=this._days+i/864e5,n=this._months+Hn(e),"month"===t?n:n/12;switch(e=this._days+Math.round(Ln(this._months)),t){case"week":return e/7+i/6048e5;case"day":return e+i/864e5;case"hour":return 24*e+i/36e5;case"minute":return 1440*e+i/6e4;case"second":return 86400*e+i/1e3;case"millisecond":return Math.floor(864e5*e)+i;default:throw new Error("Unknown unit "+t)}}function Vn(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*y(this._months/12)}function Gn(t){return function(){return this.as(t)}}function zn(t){return t=U(t),this[t+"s"]()}function qn(t){return function(){return this._data[t]}}function Bn(){return _(this.days()/7)}function Jn(t,e,n,i,r){return r.relativeTime(e||1,!!n,t,i)}function Zn(t,e,n){var i=re(t).abs(),r=Lr(i.as("s")),s=Lr(i.as("m")),o=Lr(i.as("h")),a=Lr(i.as("d")),u=Lr(i.as("M")),c=Lr(i.as("y")),l=r=s&&["m"]||s=o&&["h"]||o=a&&["d"]||a=u&&["M"]||u=c&&["y"]||["yy",c];return l[2]=e,l[3]=+t>0,l[4]=n,Jn.apply(null,l)}function Qn(t,e){return void 0===Ir[t]?!1:void 0===e?Ir[t]:(Ir[t]=e,!0)}function Xn(t){var e=this.localeData(),n=Zn(this,!t,e);return t&&(n=e.pastFuture(+this,n)),e.postformat(n)}function Kn(){var t,e,n,i=Vr(this._milliseconds)/1e3,r=Vr(this._days),s=Vr(this._months);t=_(i/60),e=_(t/60),i%=60,t%=60,n=_(s/12),s%=12;var o=n,a=s,u=r,c=e,l=t,h=i,f=this.asSeconds();return f?(0>f?"-":"")+"P"+(o?o+"Y":"")+(a?a+"M":"")+(u?u+"D":"")+(c||l||h?"T":"")+(c?c+"H":"")+(l?l+"M":"")+(h?h+"S":""):"P0D"}var ti,ei=n.momentProperties=[],ni=!1,ii={};n.suppressDeprecationWarnings=!1;var ri,si={},oi={},ai=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,ui=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,ci={},li={},hi=/\d/,fi=/\d\d/,di=/\d{3}/,pi=/\d{4}/,mi=/[+-]?\d{6}/,vi=/\d\d?/,gi=/\d\d\d\d?/,_i=/\d\d\d\d\d\d?/,yi=/\d{1,3}/,bi=/\d{1,4}/,wi=/[+-]?\d{1,6}/,ki=/\d+/,Si=/[+-]?\d+/,xi=/Z|[+-]\d\d:?\d\d/gi,Ci=/Z|[+-]\d\d(?::?\d\d)?/gi,Di=/[+-]?\d+(\.\d{1,3})?/,Oi=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,$i={},Ti={},Mi=0,Ai=1,Yi=2,ji=3,Pi=4,Ei=5,Fi=6,Ni=7,Ui=8;G("M",["MM",2],"Mo",function(){return this.month()+1}),G("MMM",0,0,function(t){return this.localeData().monthsShort(this,t)}),G("MMMM",0,0,function(t){return this.localeData().months(this,t)}),N("month","M"),Z("M",vi),Z("MM",vi,fi),Z("MMM",function(t,e){return e.monthsShortRegex(t)}),Z("MMMM",function(t,e){return e.monthsRegex(t)}),tt(["M","MM"],function(t,e){e[Ai]=y(t)-1}),tt(["MMM","MMMM"],function(t,e,n,i){var r=n._locale.monthsParse(t,i,n._strict);null!=r?e[Ai]=r:h(n).invalidMonth=t});var Ri=/D[oD]?(\[[^\[\]]*\]|\s+)+MMMM?/,Wi="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),Hi="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),Li=Oi,Ii=Oi,Vi=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?/,Gi=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?/,zi=/Z|[+-]\d\d(?::?\d\d)?/,qi=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],Bi=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Ji=/^\/?Date\((\-?\d+)/i;n.createFromInputFallback=k("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(t){ -t._d=new Date(t._i+(t._useUTC?" UTC":""))}),G("Y",0,0,function(){var t=this.year();return 9999>=t?""+t:"+"+t}),G(0,["YY",2],0,function(){return this.year()%100}),G(0,["YYYY",4],0,"year"),G(0,["YYYYY",5],0,"year"),G(0,["YYYYYY",6,!0],0,"year"),N("year","y"),Z("Y",Si),Z("YY",vi,fi),Z("YYYY",bi,pi),Z("YYYYY",wi,mi),Z("YYYYYY",wi,mi),tt(["YYYYY","YYYYYY"],Mi),tt("YYYY",function(t,e){e[Mi]=2===t.length?n.parseTwoDigitYear(t):y(t)}),tt("YY",function(t,e){e[Mi]=n.parseTwoDigitYear(t)}),tt("Y",function(t,e){e[Mi]=parseInt(t,10)}),n.parseTwoDigitYear=function(t){return y(t)+(y(t)>68?1900:2e3)};var Zi=W("FullYear",!1);n.ISO_8601=function(){};var Qi=k("moment().min is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(){var t=Nt.apply(null,arguments);return this.isValid()&&t.isValid()?this>t?this:t:d()}),Xi=k("moment().max is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(){var t=Nt.apply(null,arguments);return this.isValid()&&t.isValid()?t>this?this:t:d()}),Ki=function(){return Date.now?Date.now():+new Date};It("Z",":"),It("ZZ",""),Z("Z",Ci),Z("ZZ",Ci),tt(["Z","ZZ"],function(t,e,n){n._useUTC=!0,n._tzm=Vt(Ci,t)});var tr=/([\+\-]|\d\d)/gi;n.updateOffset=function(){};var er=/^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?\d*)?$/,nr=/^(-)?P(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)W)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?$/;re.fn=Ht.prototype;var ir=ce(1,"add"),rr=ce(-1,"subtract");n.defaultFormat="YYYY-MM-DDTHH:mm:ssZ";var sr=k("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(t){return void 0===t?this.localeData():this.locale(t)});G(0,["gg",2],0,function(){return this.weekYear()%100}),G(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Le("gggg","weekYear"),Le("ggggg","weekYear"),Le("GGGG","isoWeekYear"),Le("GGGGG","isoWeekYear"),N("weekYear","gg"),N("isoWeekYear","GG"),Z("G",Si),Z("g",Si),Z("GG",vi,fi),Z("gg",vi,fi),Z("GGGG",bi,pi),Z("gggg",bi,pi),Z("GGGGG",wi,mi),Z("ggggg",wi,mi),et(["gggg","ggggg","GGGG","GGGGG"],function(t,e,n,i){e[i.substr(0,2)]=y(t)}),et(["gg","GG"],function(t,e,i,r){e[r]=n.parseTwoDigitYear(t)}),G("Q",0,"Qo","quarter"),N("quarter","Q"),Z("Q",hi),tt("Q",function(t,e){e[Ai]=3*(y(t)-1)}),G("w",["ww",2],"wo","week"),G("W",["WW",2],"Wo","isoWeek"),N("week","w"),N("isoWeek","W"),Z("w",vi),Z("ww",vi,fi),Z("W",vi),Z("WW",vi,fi),et(["w","ww","W","WW"],function(t,e,n,i){e[i.substr(0,1)]=y(t)});var or={dow:0,doy:6};G("D",["DD",2],"Do","date"),N("date","D"),Z("D",vi),Z("DD",vi,fi),Z("Do",function(t,e){return t?e._ordinalParse:e._ordinalParseLenient}),tt(["D","DD"],Yi),tt("Do",function(t,e){e[Yi]=y(t.match(vi)[0],10)});var ar=W("Date",!0);G("d",0,"do","day"),G("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)}),G("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)}),G("dddd",0,0,function(t){return this.localeData().weekdays(this,t)}),G("e",0,0,"weekday"),G("E",0,0,"isoWeekday"),N("day","d"),N("weekday","e"),N("isoWeekday","E"),Z("d",vi),Z("e",vi),Z("E",vi),Z("dd",Oi),Z("ddd",Oi),Z("dddd",Oi),et(["dd","ddd","dddd"],function(t,e,n,i){var r=n._locale.weekdaysParse(t,i,n._strict);null!=r?e.d=r:h(n).invalidWeekday=t}),et(["d","e","E"],function(t,e,n,i){e[i]=y(t)});var ur="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),cr="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),lr="Su_Mo_Tu_We_Th_Fr_Sa".split("_");G("DDD",["DDDD",3],"DDDo","dayOfYear"),N("dayOfYear","DDD"),Z("DDD",yi),Z("DDDD",di),tt(["DDD","DDDD"],function(t,e,n){n._dayOfYear=y(t)}),G("H",["HH",2],0,"hour"),G("h",["hh",2],0,hn),G("hmm",0,0,function(){return""+hn.apply(this)+V(this.minutes(),2)}),G("hmmss",0,0,function(){return""+hn.apply(this)+V(this.minutes(),2)+V(this.seconds(),2)}),G("Hmm",0,0,function(){return""+this.hours()+V(this.minutes(),2)}),G("Hmmss",0,0,function(){return""+this.hours()+V(this.minutes(),2)+V(this.seconds(),2)}),fn("a",!0),fn("A",!1),N("hour","h"),Z("a",dn),Z("A",dn),Z("H",vi),Z("h",vi),Z("HH",vi,fi),Z("hh",vi,fi),Z("hmm",gi),Z("hmmss",_i),Z("Hmm",gi),Z("Hmmss",_i),tt(["H","HH"],ji),tt(["a","A"],function(t,e,n){n._isPm=n._locale.isPM(t),n._meridiem=t}),tt(["h","hh"],function(t,e,n){e[ji]=y(t),h(n).bigHour=!0}),tt("hmm",function(t,e,n){var i=t.length-2;e[ji]=y(t.substr(0,i)),e[Pi]=y(t.substr(i)),h(n).bigHour=!0}),tt("hmmss",function(t,e,n){var i=t.length-4,r=t.length-2;e[ji]=y(t.substr(0,i)),e[Pi]=y(t.substr(i,2)),e[Ei]=y(t.substr(r)),h(n).bigHour=!0}),tt("Hmm",function(t,e,n){var i=t.length-2;e[ji]=y(t.substr(0,i)),e[Pi]=y(t.substr(i))}),tt("Hmmss",function(t,e,n){var i=t.length-4,r=t.length-2;e[ji]=y(t.substr(0,i)),e[Pi]=y(t.substr(i,2)),e[Ei]=y(t.substr(r))});var hr=/[ap]\.?m?\.?/i,fr=W("Hours",!0);G("m",["mm",2],0,"minute"),N("minute","m"),Z("m",vi),Z("mm",vi,fi),tt(["m","mm"],Pi);var dr=W("Minutes",!1);G("s",["ss",2],0,"second"),N("second","s"),Z("s",vi),Z("ss",vi,fi),tt(["s","ss"],Ei);var pr=W("Seconds",!1);G("S",0,0,function(){return~~(this.millisecond()/100)}),G(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),G(0,["SSS",3],0,"millisecond"),G(0,["SSSS",4],0,function(){return 10*this.millisecond()}),G(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),G(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),G(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),G(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),G(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),N("millisecond","ms"),Z("S",yi,hi),Z("SS",yi,fi),Z("SSS",yi,di);var mr;for(mr="SSSS";mr.length<=9;mr+="S")Z(mr,ki);for(mr="S";mr.length<=9;mr+="S")tt(mr,vn);var vr=W("Milliseconds",!1);G("z",0,0,"zoneAbbr"),G("zz",0,0,"zoneName");var gr=v.prototype;gr.add=ir,gr.calendar=he,gr.clone=fe,gr.diff=ye,gr.endOf=Ae,gr.format=Se,gr.from=xe,gr.fromNow=Ce,gr.to=De,gr.toNow=Oe,gr.get=I,gr.invalidAt=We,gr.isAfter=de,gr.isBefore=pe,gr.isBetween=me,gr.isSame=ve,gr.isSameOrAfter=ge,gr.isSameOrBefore=_e,gr.isValid=Ue,gr.lang=sr,gr.locale=$e,gr.localeData=Te,gr.max=Xi,gr.min=Qi,gr.parsingFlags=Re,gr.set=I,gr.startOf=Me,gr.subtract=rr,gr.toArray=Ee,gr.toObject=Fe,gr.toDate=Pe,gr.toISOString=ke,gr.toJSON=Ne,gr.toString=we,gr.unix=je,gr.valueOf=Ye,gr.creationData=He,gr.year=Zi,gr.isLeapYear=bt,gr.weekYear=Ie,gr.isoWeekYear=Ve,gr.quarter=gr.quarters=Je,gr.month=ut,gr.daysInMonth=ct,gr.week=gr.weeks=Ke,gr.isoWeek=gr.isoWeeks=tn,gr.weeksInYear=ze,gr.isoWeeksInYear=Ge,gr.date=ar,gr.day=gr.days=an,gr.weekday=un,gr.isoWeekday=cn,gr.dayOfYear=ln,gr.hour=gr.hours=fr,gr.minute=gr.minutes=dr,gr.second=gr.seconds=pr,gr.millisecond=gr.milliseconds=vr,gr.utcOffset=qt,gr.utc=Jt,gr.local=Zt,gr.parseZone=Qt,gr.hasAlignedHourOffset=Xt,gr.isDST=Kt,gr.isDSTShifted=te,gr.isLocal=ee,gr.isUtcOffset=ne,gr.isUtc=ie,gr.isUTC=ie,gr.zoneAbbr=gn,gr.zoneName=_n,gr.dates=k("dates accessor is deprecated. Use date instead.",ar),gr.months=k("months accessor is deprecated. Use month instead",ut),gr.years=k("years accessor is deprecated. Use year instead",Zi),gr.zone=k("moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779",Bt);var _r=gr,yr={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},br={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},wr="Invalid date",kr="%d",Sr=/\d{1,2}/,xr={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"},Cr=$.prototype;Cr._calendar=yr,Cr.calendar=wn,Cr._longDateFormat=br,Cr.longDateFormat=kn,Cr._invalidDate=wr,Cr.invalidDate=Sn,Cr._ordinal=kr,Cr.ordinal=xn,Cr._ordinalParse=Sr,Cr.preparse=Cn,Cr.postformat=Cn,Cr._relativeTime=xr,Cr.relativeTime=Dn,Cr.pastFuture=On,Cr.set=D,Cr.months=rt,Cr._months=Wi,Cr.monthsShort=st,Cr._monthsShort=Hi,Cr.monthsParse=ot,Cr._monthsRegex=Ii,Cr.monthsRegex=ht,Cr._monthsShortRegex=Li,Cr.monthsShortRegex=lt,Cr.week=Ze,Cr._week=or,Cr.firstDayOfYear=Xe,Cr.firstDayOfWeek=Qe,Cr.weekdays=nn,Cr._weekdays=ur,Cr.weekdaysMin=sn,Cr._weekdaysMin=lr,Cr.weekdaysShort=rn,Cr._weekdaysShort=cr,Cr.weekdaysParse=on,Cr.isPM=pn,Cr._meridiemParse=hr,Cr.meridiem=mn,Y("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,n=1===y(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+n}}),n.lang=k("moment.lang is deprecated. Use moment.locale instead.",Y),n.langData=k("moment.langData is deprecated. Use moment.localeData instead.",E);var Dr=Math.abs,Or=Gn("ms"),$r=Gn("s"),Tr=Gn("m"),Mr=Gn("h"),Ar=Gn("d"),Yr=Gn("w"),jr=Gn("M"),Pr=Gn("y"),Er=qn("milliseconds"),Fr=qn("seconds"),Nr=qn("minutes"),Ur=qn("hours"),Rr=qn("days"),Wr=qn("months"),Hr=qn("years"),Lr=Math.round,Ir={s:45,m:45,h:22,d:26,M:11},Vr=Math.abs,Gr=Ht.prototype;Gr.abs=En,Gr.add=Nn,Gr.subtract=Un,Gr.as=In,Gr.asMilliseconds=Or,Gr.asSeconds=$r,Gr.asMinutes=Tr,Gr.asHours=Mr,Gr.asDays=Ar,Gr.asWeeks=Yr,Gr.asMonths=jr,Gr.asYears=Pr,Gr.valueOf=Vn,Gr._bubble=Wn,Gr.get=zn,Gr.milliseconds=Er,Gr.seconds=Fr,Gr.minutes=Nr,Gr.hours=Ur,Gr.days=Rr,Gr.weeks=Bn,Gr.months=Wr,Gr.years=Hr,Gr.humanize=Xn,Gr.toISOString=Kn,Gr.toString=Kn,Gr.toJSON=Kn,Gr.locale=$e,Gr.localeData=Te,Gr.toIsoString=k("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Kn),Gr.lang=sr,G("X",0,0,"unix"),G("x",0,0,"valueOf"),Z("x",Si),Z("X",Di),tt("X",function(t,e,n){n._d=new Date(1e3*parseFloat(t,10))}),tt("x",function(t,e,n){n._d=new Date(y(t))}),n.version="2.12.0",i(Nt),n.fn=_r,n.min=Rt,n.max=Wt,n.now=Ki,n.utc=c,n.unix=yn,n.months=Mn,n.isDate=s,n.locale=Y,n.invalid=d,n.duration=re,n.isMoment=g,n.weekdays=Yn,n.parseZone=bn,n.localeData=E,n.isDuration=Lt,n.monthsShort=An,n.weekdaysMin=Pn,n.defineLocale=j,n.updateLocale=P,n.locales=F,n.weekdaysShort=jn,n.normalizeUnits=U,n.relativeTimeThreshold=Qn,n.prototype=_r;var zr=n;return zr})},{}],2:[function(t,e,n){var i=t("../util");e.exports={request:function(t){return i.isFunction(t.beforeSend)&&t.beforeSend.call(this,t),t}}},{"../util":25}],3:[function(t,e,n){function i(t){var e,n,i,s={};return r.isString(t)&&r.each(t.split("\n"),function(t){i=t.indexOf(":"),n=r.trim(r.toLower(t.slice(0,i))),e=r.trim(t.slice(i+1)),s[n]?r.isArray(s[n])?s[n].push(e):s[n]=[s[n],e]:s[n]=e}),s}var r=t("../../util"),s=t("../../promise"),o=t("./xhr");e.exports=function(t){var e=(t.client||o)(t);return s.resolve(e).then(function(t){if(t.headers){var e=i(t.headers);t.headers=function(t){return t?e[r.toLower(t)]:e}}return t.ok=t.status>=200&&t.status<300,t})}},{"../../promise":18,"../../util":25,"./xhr":6}],4:[function(t,e,n){var i=t("../../util"),r=t("../../promise");e.exports=function(t){return new r(function(e){var n,r,s="_jsonp"+Math.random().toString(36).substr(2),o={request:t,data:null};t.params[t.jsonp]=s,t.cancel=function(){n({type:"cancel"})},r=document.createElement("script"),r.src=i.url(t),r.type="text/javascript",r.async=!0,window[s]=function(t){o.data=t},n=function(t){"load"===t.type&&null!==o.data?o.status=200:"error"===t.type?o.status=404:o.status=0,e(o),delete window[s],document.body.removeChild(r)},r.onload=n,r.onerror=n,document.body.appendChild(r)})}},{"../../promise":18,"../../util":25}],5:[function(t,e,n){var i=t("../../util"),r=t("../../promise");e.exports=function(t){return new r(function(e){var n,r=new XDomainRequest,s={request:t};t.cancel=function(){r.abort()},r.open(t.method,i.url(t),!0),n=function(t){s.data=r.responseText,s.status=r.status,s.statusText=r.statusText,e(s)},r.timeout=0,r.onload=n,r.onabort=n,r.onerror=n,r.ontimeout=function(){},r.onprogress=function(){},r.send(t.data)})}},{"../../promise":18,"../../util":25}],6:[function(t,e,n){var i=t("../../util"),r=t("../../promise");e.exports=function(t){return new r(function(e){var n,r=new XMLHttpRequest,s={request:t};t.cancel=function(){r.abort()},r.open(t.method,i.url(t),!0),n=function(t){s.data=r.responseText,s.status=r.status,s.statusText=r.statusText,s.headers=r.getAllResponseHeaders(),e(s)},r.timeout=0,r.onload=n,r.onabort=n,r.onerror=n,r.ontimeout=function(){},r.onprogress=function(){},i.isPlainObject(t.xhr)&&i.extend(r,t.xhr),i.isPlainObject(t.upload)&&i.extend(r.upload,t.upload),i.each(t.headers||{},function(t,e){r.setRequestHeader(e,t)}),r.send(t.data)})}},{"../../promise":18,"../../util":25}],7:[function(t,e,n){function i(t){var e=r.url.parse(r.url(t));return e.protocol!==a.protocol||e.host!==a.host}var r=t("../util"),s=t("./client/xdr"),o="withCredentials"in new XMLHttpRequest,a=r.url.parse(location.href);e.exports={request:function(t){return null===t.crossOrigin&&(t.crossOrigin=i(t)),t.crossOrigin&&(o||(t.client=s),t.emulateHTTP=!1),t}}},{"../util":25,"./client/xdr":5}],8:[function(t,e,n){var i=t("../util");e.exports={request:function(t){return t.method=t.method.toUpperCase(),t.headers=i.extend({},i.http.headers.common,t.crossOrigin?{}:i.http.headers.custom,i.http.headers[t.method.toLowerCase()],t.headers),i.isPlainObject(t.data)&&/^(GET|JSONP)$/i.test(t.method)&&(i.extend(t.params,t.data),delete t.data),t}}},{"../util":25}],9:[function(t,e,n){function i(t,e){var n,u,c=s;return i.interceptors.forEach(function(t){c=a(t,this.$vm)(c)},this),e=r.isObject(t)?t:r.extend({url:t},e),n=r.merge({},i.options,this.$options,e),u=c(n).bind(this.$vm).then(function(t){return t.ok?t:o.reject(t)},function(t){return t instanceof Error&&r.error(t),o.reject(t)}),n.success&&u.success(n.success),n.error&&u.error(n.error),u}var r=t("../util"),s=t("./client"),o=t("../promise"),a=t("./interceptor"),u={"Content-Type":"application/json"};i.options={method:"get",data:"",params:{},headers:{},xhr:null,upload:null,jsonp:"callback",beforeSend:null,crossOrigin:null,emulateHTTP:!1,emulateJSON:!1,timeout:0},i.interceptors=[t("./before"),t("./timeout"),t("./jsonp"),t("./method"),t("./mime"),t("./header"),t("./cors")],i.headers={put:u,post:u,patch:u,"delete":u,common:{Accept:"application/json, text/plain, */*"},custom:{"X-Requested-With":"XMLHttpRequest"}},["get","put","post","patch","delete","jsonp"].forEach(function(t){i[t]=function(e,n,i,s){return r.isFunction(n)&&(s=i,i=n,n=void 0),r.isObject(i)&&(s=i,i=void 0),this(e,r.extend({method:t,data:n,success:i},s))}}),e.exports=r.http=i},{"../promise":18,"../util":25,"./before":2,"./client":3,"./cors":7,"./header":8,"./interceptor":10,"./jsonp":11,"./method":12,"./mime":13,"./timeout":14}],10:[function(t,e,n){function i(t,e,n){var i=s.resolve(t);return arguments.length<2?i:i.then(e,n)}var r=t("../util"),s=t("../promise");e.exports=function(t,e){return function(n){return r.isFunction(t)&&(t=t.call(e,s)),function(s){return r.isFunction(t.request)&&(s=t.request.call(e,s)),i(s,function(s){return i(n(s),function(n){return r.isFunction(t.response)&&(n=t.response.call(e,n)),n})})}}}},{"../promise":18,"../util":25}],11:[function(t,e,n){var i=t("./client/jsonp");e.exports={request:function(t){return"JSONP"==t.method&&(t.client=i),t}}},{"./client/jsonp":4}],12:[function(t,e,n){e.exports={request:function(t){return t.emulateHTTP&&/^(PUT|PATCH|DELETE)$/i.test(t.method)&&(t.headers["X-HTTP-Method-Override"]=t.method,t.method="POST"),t}}},{}],13:[function(t,e,n){var i=t("../util");e.exports={request:function(t){return t.emulateJSON&&i.isPlainObject(t.data)&&(t.headers["Content-Type"]="application/x-www-form-urlencoded",t.data=i.url.params(t.data)),i.isObject(t.data)&&/FormData/i.test(t.data.toString())&&delete t.headers["Content-Type"],i.isPlainObject(t.data)&&(t.data=JSON.stringify(t.data)),t},response:function(t){try{t.data=JSON.parse(t.data)}catch(e){}return t}}},{"../util":25}],14:[function(t,e,n){e.exports=function(){var t;return{request:function(e){return e.timeout&&(t=setTimeout(function(){e.cancel()},e.timeout)),e},response:function(e){return clearTimeout(t),e}}}},{}],15:[function(t,e,n){function i(e){var n=t("./util");n.config=e.config,n.warning=e.util.warn,n.nextTick=e.util.nextTick,e.url=t("./url"),e.http=t("./http"),e.resource=t("./resource"),e.Promise=t("./promise"),Object.defineProperties(e.prototype,{$url:{get:function(){return n.options(e.url,this,this.$options.url)}},$http:{get:function(){return n.options(e.http,this,this.$options.http)}},$resource:{get:function(){return e.resource.bind(this)}},$promise:{get:function(){return function(t){return new e.Promise(t,this)}.bind(this)}}})}window.Vue&&Vue.use(i),e.exports=i},{"./http":9,"./promise":18,"./resource":19,"./url":20,"./util":25}],16:[function(t,e,n){function i(t){this.state=a,this.value=void 0,this.deferred=[];var e=this;try{t(function(t){e.resolve(t)},function(t){e.reject(t)})}catch(n){e.reject(n)}}var r=t("../util"),s=0,o=1,a=2;i.reject=function(t){return new i(function(e,n){n(t)})},i.resolve=function(t){return new i(function(e,n){e(t)})},i.all=function(t){return new i(function(e,n){function r(n){return function(i){o[n]=i,s+=1,s===t.length&&e(o)}}var s=0,o=[];0===t.length&&e(o);for(var a=0;a1?t.apply(e,arguments):t.call(e,n):t.call(e)}}function v(t,e){e=e||0;for(var n=t.length-e,i=new Array(n);n--;)i[n]=t[n+e];return i}function g(t,e){for(var n=Object.keys(e),i=n.length;i--;)t[n[i]]=e[n[i]];return t}function _(t){return null!==t&&"object"==typeof t}function y(t){return $n.call(t)===Tn}function b(t,e,n,i){Object.defineProperty(t,e,{value:n,enumerable:!!i,writable:!0,configurable:!0})}function w(t,e){var n,i,r,s,o,a=function u(){var a=Date.now()-s;e>a&&a>=0?n=setTimeout(u,e-a):(n=null,o=t.apply(r,i),n||(r=i=null))};return function(){return r=this,i=arguments,s=Date.now(),n||(n=setTimeout(a,e)),o}}function k(t,e){for(var n=t.length;n--;)if(t[n]===e)return n;return-1}function S(t){var e=function n(){return n.cancelled?void 0:t.apply(this,arguments)};return e.cancel=function(){e.cancelled=!0},e}function x(t,e){return t==e||(_(t)&&_(e)?JSON.stringify(t)===JSON.stringify(e):!1)}function C(t){this.size=0,this.limit=t,this.head=this.tail=void 0,this._keymap=Object.create(null)}function D(){var t,e=Gn.slice(Qn,Jn).trim();if(e){t={};var n=e.match(ri);t.name=n[0],n.length>1&&(t.args=n.slice(1).map(O))}t&&(zn.filters=zn.filters||[]).push(t),Qn=Jn+1}function O(t){if(si.test(t))return{value:u(t),dynamic:!1};var e=l(t),n=e===t;return{value:n?t:e,dynamic:n}}function $(t){var e=ii.get(t);if(e)return e;for(Gn=t,Xn=Kn=!1,ti=ei=ni=0,Qn=0,zn={},Jn=0,Zn=Gn.length;Zn>Jn;Jn++)if(Bn=qn,qn=Gn.charCodeAt(Jn),Xn)39===qn&&92!==Bn&&(Xn=!Xn);else if(Kn)34===qn&&92!==Bn&&(Kn=!Kn);else if(124===qn&&124!==Gn.charCodeAt(Jn+1)&&124!==Gn.charCodeAt(Jn-1))null==zn.expression?(Qn=Jn+1,zn.expression=Gn.slice(0,Jn).trim()):D();else switch(qn){case 34:Kn=!0;break;case 39:Xn=!0;break;case 40:ni++;break;case 41:ni--;break;case 91:ei++;break;case 93:ei--;break;case 123:ti++;break;case 125:ti--}return null==zn.expression?zn.expression=Gn.slice(0,Jn).trim():0!==Qn&&D(),ii.put(t,zn),zn}function T(t){return t.replace(ai,"\\$&")}function M(){var t=T(mi.delimiters[0]),e=T(mi.delimiters[1]),n=T(mi.unsafeDelimiters[0]),i=T(mi.unsafeDelimiters[1]);ci=new RegExp(n+"(.+?)"+i+"|"+t+"(.+?)"+e,"g"),li=new RegExp("^"+n+".*"+i+"$"),ui=new C(1e3)}function A(t){ui||M();var e=ui.get(t);if(e)return e;if(t=t.replace(/\n/g,""),!ci.test(t))return null;for(var n,i,r,s,o,a,u=[],c=ci.lastIndex=0;n=ci.exec(t);)i=n.index,i>c&&u.push({value:t.slice(c,i)}),r=li.test(n[0]),s=r?n[1]:n[2],o=s.charCodeAt(0),a=42===o,s=a?s.slice(1):s,u.push({tag:!0,value:s.trim(),html:r,oneTime:a}),c=i+n[0].length;return c1?t.map(function(t){return j(t,e)}).join("+"):j(t[0],e,!0)}function j(t,e,n){return t.tag?t.oneTime&&e?'"'+e.$eval(t.value)+'"':P(t.value,n):'"'+t.value+'"'}function P(t,e){if(hi.test(t)){var n=$(t);return n.filters?"this._applyFilters("+n.expression+",null,"+JSON.stringify(n.filters)+",false)":"("+t+")"}return e?t:"("+t+")"}function E(t,e,n,i){U(t,1,function(){e.appendChild(t)},n,i)}function F(t,e,n,i){U(t,1,function(){V(t,e)},n,i)}function N(t,e,n){U(t,-1,function(){z(t)},e,n)}function U(t,e,n,i,r){var s=t.__v_trans;if(!s||!s.hooks&&!Un||!i._isCompiled||i.$parent&&!i.$parent._isCompiled)return n(),void(r&&r());var o=e>0?"enter":"leave";s[o](n,r)}function R(t){if("string"==typeof t){t=document.querySelector(t)}return t}function W(t){var e=document.documentElement,n=t&&t.parentNode;return e===t||e===n||!(!n||1!==n.nodeType||!e.contains(n))}function H(t,e){var n=t.getAttribute(e);return null!==n&&t.removeAttribute(e),n}function L(t,e){var n=H(t,":"+e);return null===n&&(n=H(t,"v-bind:"+e)),n}function I(t,e){return t.hasAttribute(e)||t.hasAttribute(":"+e)||t.hasAttribute("v-bind:"+e)}function V(t,e){e.parentNode.insertBefore(t,e)}function G(t,e){e.nextSibling?V(t,e.nextSibling):e.parentNode.appendChild(t)}function z(t){t.parentNode.removeChild(t)}function q(t,e){e.firstChild?V(t,e.firstChild):e.appendChild(t)}function B(t,e){var n=t.parentNode;n&&n.replaceChild(e,t)}function J(t,e,n,i){t.addEventListener(e,n,i)}function Z(t,e,n){t.removeEventListener(e,n)}function Q(t,e){En&&!/svg$/.test(t.namespaceURI)?t.className=e:t.setAttribute("class",e)}function X(t,e){if(t.classList)t.classList.add(e);else{var n=" "+(t.getAttribute("class")||"")+" ";n.indexOf(" "+e+" ")<0&&Q(t,(n+e).trim())}}function K(t,e){if(t.classList)t.classList.remove(e);else{for(var n=" "+(t.getAttribute("class")||"")+" ",i=" "+e+" ";n.indexOf(i)>=0;)n=n.replace(i," ");Q(t,n.trim())}t.className||t.removeAttribute("class")}function tt(t,e){var n,i; -if(it(t)&&ut(t.content)&&(t=t.content),t.hasChildNodes())for(et(t),i=e?document.createDocumentFragment():document.createElement("div");n=t.firstChild;)i.appendChild(n);return i}function et(t){for(var e;e=t.firstChild,nt(e);)t.removeChild(e);for(;e=t.lastChild,nt(e);)t.removeChild(e)}function nt(t){return t&&(3===t.nodeType&&!t.data.trim()||8===t.nodeType)}function it(t){return t.tagName&&"template"===t.tagName.toLowerCase()}function rt(t,e){var n=mi.debug?document.createComment(t):document.createTextNode(e?" ":"");return n.__v_anchor=!0,n}function st(t){if(t.hasAttributes())for(var e=t.attributes,n=0,i=e.length;i>n;n++){var r=e[n].name;if(_i.test(r))return h(r.replace(_i,""))}}function ot(t,e,n){for(var i;t!==e;)i=t.nextSibling,n(t),t=i;n(e)}function at(t,e,n,i,r){function s(){if(a++,o&&a>=u.length){for(var t=0;tr;r++){var o=i[r];yi.test(o)||bi.test(o)||(e=n[o],y(e)&&(n[o]=gn.extend(e)))}}function _t(t){var e,n,i=t.props;if(Mn(i))for(t.props={},e=i.length;e--;)n=i[e],"string"==typeof n?t.props[n]=null:n.name&&(t.props[n.name]=n);else if(y(i)){var r=Object.keys(i);for(e=r.length;e--;)n=i[r[e]],"function"==typeof n&&(i[r[e]]={type:n})}}function yt(t){if(Mn(t)){for(var e,n={},i=t.length;i--;){e=t[i];var r="function"==typeof e?e.options&&e.options.name||e.id:e.name||e.id;r&&(n[r]=e)}return n}return t}function bt(t,e,n){function i(i){var r=wi[i]||ki;o[i]=r(t[i],e[i],n,i)}gt(e),_t(e);var s,o={};if(e.mixins)for(var a=0,u=e.mixins.length;u>a;a++)t=bt(t,e.mixins[a],n);for(s in t)i(s);for(s in e)r(t,s)||i(s);return o}function wt(t,e,n){if("string"==typeof n){var i,r=t[e];return r[n]||r[i=h(n)]||r[i.charAt(0).toUpperCase()+i.slice(1)]}}function kt(t,e,n){}function St(){this.id=Si++,this.subs=[]}function xt(t){if(this.value=t,this.dep=new St,b(t,"__ob__",this),Mn(t)){var e=An?Ct:Dt;e(t,Ci,Di),this.observeArray(t)}else this.walk(t)}function Ct(t,e){t.__proto__=e}function Dt(t,e,n){for(var i=0,r=n.length;r>i;i++){var s=n[i];b(t,s,e[s])}}function Ot(t,e){if(t&&"object"==typeof t){var n;return r(t,"__ob__")&&t.__ob__ instanceof xt?n=t.__ob__:(Mn(t)||y(t))&&Object.isExtensible(t)&&!t._isVue&&(n=new xt(t)),n&&e&&n.addVm(e),n}}function $t(t,e,n){var i=new St,r=Object.getOwnPropertyDescriptor(t,e);if(!r||r.configurable!==!1){var s=r&&r.get,o=r&&r.set,a=Ot(n);Object.defineProperty(t,e,{enumerable:!0,configurable:!0,get:function(){var e=s?s.call(t):n;if(St.target&&(i.depend(),a&&a.dep.depend(),Mn(e)))for(var r,o=0,u=e.length;u>o;o++)r=e[o],r&&r.__ob__&&r.__ob__.dep.depend();return e},set:function(e){var r=s?s.call(t):n;e!==r&&(o?o.call(t,e):n=e,a=Ot(e),i.notify())}})}}function Tt(t){t.prototype._init=function(t){t=t||{},this.$el=null,this.$parent=t.parent,this.$root=this.$parent?this.$parent.$root:this,this.$children=[],this.$refs={},this.$els={},this._watchers=[],this._directives=[],this._uid=$i++,this._isVue=!0,this._events={},this._eventsCount={},this._isFragment=!1,this._fragment=this._fragmentStart=this._fragmentEnd=null,this._isCompiled=this._isDestroyed=this._isReady=this._isAttached=this._isBeingDestroyed=this._vForRemoving=!1,this._unlinkFn=null,this._context=t._context||this.$parent,this._scope=t._scope,this._frag=t._frag,this._frag&&this._frag.children.push(this),this.$parent&&this.$parent.$children.push(this),t=this.$options=bt(this.constructor.options,t,this),this._updateRef(),this._data={},this._callHook("init"),this._initState(),this._initEvents(),this._callHook("created"),t.el&&this.$mount(t.el)}}function Mt(t){if(void 0===t)return"eof";var e=t.charCodeAt(0);switch(e){case 91:case 93:case 46:case 34:case 39:case 48:return t;case 95:case 36:return"ident";case 32:case 9:case 10:case 13:case 160:case 65279:case 8232:case 8233:return"ws"}return e>=97&&122>=e||e>=65&&90>=e?"ident":e>=49&&57>=e?"number":"else"}function At(t){var e=t.trim();return"0"===t.charAt(0)&&isNaN(t)?!1:s(e)?l(e):"*"+e}function Yt(t){function e(){var e=t[l+1];return h===Ri&&"'"===e||h===Wi&&'"'===e?(l++,i="\\"+e,d[Mi](),!0):void 0}var n,i,r,s,o,a,u,c=[],l=-1,h=Pi,f=0,d=[];for(d[Ai]=function(){void 0!==r&&(c.push(r),r=void 0)},d[Mi]=function(){void 0===r?r=i:r+=i},d[Yi]=function(){d[Mi](),f++},d[ji]=function(){if(f>0)f--,h=Ui,d[Mi]();else{if(f=0,r=At(r),r===!1)return!1;d[Ai]()}};null!=h;)if(l++,n=t[l],"\\"!==n||!e()){if(s=Mt(n),u=Ii[h],o=u[s]||u["else"]||Li,o===Li)return;if(h=o[0],a=d[o[1]],a&&(i=o[2],i=void 0===i?n:i,a()===!1))return;if(h===Hi)return c.raw=t,c}}function jt(t){var e=Ti.get(t);return e||(e=Yt(t),e&&Ti.put(t,e)),e}function Pt(t,e){return Lt(e).get(t)}function Et(t,e,i){var r=t;if("string"==typeof e&&(e=Yt(e)),!e||!_(t))return!1;for(var s,o,a=0,u=e.length;u>a;a++)s=t,o=e[a],"*"===o.charAt(0)&&(o=Lt(o.slice(1)).get.call(r,r)),u-1>a?(t=t[o],_(t)||(t={},n(s,o,t))):Mn(t)?t.$set(o,i):o in t?t[o]=i:n(t,o,i);return!0}function Ft(t,e){var n=ir.length;return ir[n]=e?t.replace(Qi,"\\n"):t,'"'+n+'"'}function Nt(t){var e=t.charAt(0),n=t.slice(1);return qi.test(n)?t:(n=n.indexOf('"')>-1?n.replace(Ki,Ut):n,e+"scope."+n)}function Ut(t,e){return ir[e]}function Rt(t){Ji.test(t),ir.length=0;var e=t.replace(Xi,Ft).replace(Zi,"");return e=(" "+e).replace(er,Nt).replace(Ki,Ut),Wt(e)}function Wt(t){try{return new Function("scope","return "+t+";")}catch(e){}}function Ht(t){var e=jt(t);return e?function(t,n){Et(t,e,n)}:void 0}function Lt(t,e){t=t.trim();var n=Gi.get(t);if(n)return e&&!n.set&&(n.set=Ht(n.exp)),n;var i={exp:t};return i.get=It(t)&&t.indexOf("[")<0?Wt("scope."+t):Rt(t),e&&(i.set=Ht(t)),Gi.put(t,i),i}function It(t){return tr.test(t)&&!nr.test(t)&&"Math."!==t.slice(0,5)}function Vt(){sr=[],or=[],ar={},ur={},cr=lr=!1}function Gt(){zt(sr),lr=!0,zt(or),jn&&jn.emit("flush"),Vt()}function zt(t){for(var e=0;e0){var o=s+(i?e:ct(e));r=kr.get(o),r||(r=Me(n,t.$options,!0),kr.put(o,r))}else r=Me(n,t.$options,!0);this.linker=r}function ce(t,e,n){var i=t.node.previousSibling;if(i){for(t=i.__v_frag;!(t&&t.forId===n&&t.inserted||i===e);){if(i=i.previousSibling,!i)return;t=i.__v_frag}return t}}function le(t){var e=t.node;if(t.end)for(;!e.__vue__&&e!==t.end&&e.nextSibling;)e=e.nextSibling;return e.__vue__}function he(t){for(var e=-1,n=new Array(Math.floor(t));++ea;a++)if(i=t.options[a],s=n?i.hasAttribute("selected"):i.selected){if(r=i.hasOwnProperty("_value")?i._value:i.value,!e)return r;o.push(r)}return o}function de(t,e){for(var n=t.length;n--;)if(x(t[n],e))return n;return-1}function pe(t,e){var n=e.map(function(t){var e=t.charCodeAt(0);return e>47&&58>e?parseInt(t,10):1===t.length&&(e=t.toUpperCase().charCodeAt(0),e>64&&91>e)?e:Ir[t]});return n=[].concat.apply([],n),function(e){return n.indexOf(e.keyCode)>-1?t.call(this,e):void 0}}function me(t){return function(e){return e.stopPropagation(),t.call(this,e)}}function ve(t){return function(e){return e.preventDefault(),t.call(this,e)}}function ge(t){return function(e){return e.target===e.currentTarget?t.call(this,e):void 0}}function _e(t){if(Br[t])return Br[t];var e=ye(t);return Br[t]=Br[e]=e,e}function ye(t){t=d(t);var e=h(t),n=e.charAt(0).toUpperCase()+e.slice(1);Jr||(Jr=document.createElement("div"));for(var i,r=Gr.length;r--;)if(i=zr[r]+n,i in Jr.style)return Gr[r]+t;return e in Jr.style?t:void 0}function be(t){for(var e={},n=t.trim().split(/\s+/),i=n.length;i--;)e[n[i]]=!0;return e}function we(t,e){return Mn(t)?t.indexOf(e)>-1:r(t,e)}function ke(t,e,n){function i(){++s>=r?n():t[s].call(e,i)}var r=t.length,s=0;t[0].call(e,i)}function Se(t){fs.push(t),ds||(ds=!0,In(xe))}function xe(){for(var t=document.documentElement.offsetHeight,e=0;er;r++)i[r]._bind();return i}function Ye(t,e){return t=t.descriptor.def.priority||Ms,e=e.descriptor.def.priority||Ms,t>e?-1:t===e?0:1}function je(t,e,n,i){function r(r){Pe(t,e,r),n&&i&&Pe(n,i)}return r.dirs=e,r}function Pe(t,e,n){for(var i=e.length;i--;)e[i]._teardown()}function Ee(t,e,n,i){var r=Oe(e,n),s=Ae(function(){r(t,i)},t);return je(t,s)}function Fe(t,e,n){var i,r,s=e._containerAttrs,o=e._replacerAttrs;if(11!==t.nodeType)e._asComponent?(s&&n&&(i=Ze(s,n)),o&&(r=Ze(o,e))):r=Ze(t.attributes,e);else;return e._containerAttrs=e._replacerAttrs=null,function(t,e,n){var s,o=t._context;o&&i&&(s=Ae(function(){i(o,e,null,n)},o));var a=Ae(function(){r&&r(t,e)},t);return je(t,a,o,s)}}function Ne(t,e){var n=t.nodeType;return 1===n&&"SCRIPT"!==t.tagName?Ue(t,e):3===n&&t.data.trim()?Re(t,e):null}function Ue(t,e){if("TEXTAREA"===t.tagName){var n=A(t.value);n&&(t.setAttribute(":value",Y(n)),t.value="")}var i,r=t.hasAttributes();return r&&(i=qe(t,e)),i||(i=Ge(t,e)),i||(i=ze(t,e)),!i&&r&&(i=Ze(t.attributes,e)),i}function Re(t,e){if(t._skip)return We;var n=A(t.wholeText);if(!n)return null;for(var i=t.nextSibling;i&&3===i.nodeType;)i._skip=!0,i=i.nextSibling;for(var r,s,o=document.createDocumentFragment(),a=0,u=n.length;u>a;a++)s=n[a],r=s.tag?He(s,e):document.createTextNode(s.value),o.appendChild(r);return Le(n,o,e)}function We(t,e){z(e)}function He(t,e){function n(e){if(!t.descriptor){var n=$(t.value);t.descriptor={name:e,def:as[e],expression:n.expression,filters:n.filters}}}var i;return t.oneTime?i=document.createTextNode(t.value):t.html?(i=document.createComment("v-html"),n("html")):(i=document.createTextNode(" "),n("text")),i}function Le(t,e){return function(n,i,r,s){for(var o,a,u,c=e.cloneNode(!0),l=v(c.childNodes),h=0,f=t.length;f>h;h++)o=t[h],a=o.value,o.tag&&(u=l[h],o.oneTime?(a=(s||n).$eval(a),o.html?B(u,te(a,!0)):u.data=a):n._bindDir(o.descriptor,u,r,s));B(i,c)}}function Ie(t,e){for(var n,i,r,s=[],o=0,a=t.length;a>o;o++)r=t[o],n=Ne(r,e),i=n&&n.terminal||"SCRIPT"===r.tagName||!r.hasChildNodes()?null:Ie(r.childNodes,e),s.push(n,i);return s.length?Ve(s):null}function Ve(t){return function(e,n,i,r,s){for(var o,a,u,c=0,l=0,h=t.length;h>c;l++){o=n[l],a=t[c++],u=t[c++];var f=v(o.childNodes);a&&a(e,o,i,r,s),u&&u(e,f,i,r,s)}}}function Ge(t,e){var n=t.tagName.toLowerCase();if(!yi.test(n)){var i=wt(e,"elementDirectives",n);return i?Je(t,n,"",e,i):void 0}}function ze(t,e){var n=lt(t,e);if(n){var i=st(t),r={name:"component",ref:i,expression:n.id,def:bs.component,modifiers:{literal:!n.dynamic}},s=function(t,e,n,s,o){i&&$t((s||t).$refs,i,null),t._bindDir(r,e,n,s,o)};return s.terminal=!0,s}}function qe(t,e){if(null!==H(t,"v-pre"))return Be;if(t.hasAttribute("v-else")){var n=t.previousElementSibling;if(n&&n.hasAttribute("v-if"))return Be}for(var i,r,s=0,o=Ts.length;o>s;s++)if(r=Ts[s],i=t.getAttribute("v-"+r),null!=i)return Je(t,r,i,e)}function Be(){}function Je(t,e,n,i,r){var s=$(n),o={name:e,expression:s.expression,filters:s.filters,raw:n,def:r||wt(i,"directives",e)};"for"!==e&&"router-view"!==e||(o.ref=st(t));var a=function(t,e,n,i,r){o.ref&&$t((i||t).$refs,o.ref,null),t._bindDir(o,e,n,i,r)};return a.terminal=!0,a}function Ze(t,e){function n(t,e,n){var i=n&&Ke(n),r=!i&&$(s);m.push({name:t,attr:o,raw:a,def:e,arg:c,modifiers:l,expression:r&&r.expression,filters:r&&r.filters,interp:n,hasOneTime:i})}for(var i,r,s,o,a,u,c,l,h,f,d,p=t.length,m=[];p--;)if(i=t[p],r=o=i.name,s=a=i.value,f=A(s),c=null,l=Qe(r),r=r.replace(Os,""),f)s=Y(f),c=r,n("bind",as.bind,f);else if($s.test(r))l.literal=!xs.test(r),n("transition",bs.transition);else if(Cs.test(r))c=r.replace(Cs,""),n("on",as.on);else if(xs.test(r))u=r.replace(xs,""),"style"===u||"class"===u?n(u,bs[u]):(c=u,n("bind",as.bind));else if(d=r.match(Ds)){if(u=d[1],c=d[2],"else"===u)continue;h=wt(e,"directives",u),h&&n(u,h)}return m.length?Xe(m):void 0}function Qe(t){var e=Object.create(null),n=t.match(Os);if(n)for(var i=n.length;i--;)e[n[i].slice(1)]=!0;return e}function Xe(t){return function(e,n,i,r,s){for(var o=t.length;o--;)e._bindDir(t[o],n,i,r,s)}}function Ke(t){for(var e=t.length;e--;)if(t[e].oneTime)return!0}function tn(t,e){return e&&(e._containerAttrs=nn(t)),it(t)&&(t=te(t)),e&&(e._asComponent&&!e.template&&(e.template=""),e.template&&(e._content=tt(t),t=en(t,e))),ut(t)&&(q(rt("v-start",!0),t),t.appendChild(rt("v-end",!0))),t}function en(t,e){var n=e.template,i=te(n,!0);if(i){var r=i.firstChild,s=r.tagName&&r.tagName.toLowerCase();return e.replace?(t===document.body,i.childNodes.length>1||1!==r.nodeType||"component"===s||wt(e,"components",s)||I(r,"is")||wt(e,"elementDirectives",s)||r.hasAttribute("v-for")||r.hasAttribute("v-if")?i:(e._replacerAttrs=nn(r),rn(t,r),r)):(t.appendChild(i),t)}}function nn(t){return 1===t.nodeType&&t.hasAttributes()?v(t.attributes):void 0}function rn(t,e){for(var n,i,r=t.attributes,s=r.length;s--;)n=r[s].name,i=r[s].value,e.hasAttribute(n)||As.test(n)?"class"!==n||A(i)||i.split(/\s+/).forEach(function(t){X(e,t)}):e.setAttribute(n,i)}function sn(t,e,n){function i(t,n){var i='[slot="'+n+'"]',s=e.querySelectorAll(i);s.length&&(r[n]=on(s,e))}if(e){var r=n._slotContents={},s=t.querySelectorAll("slot");if(s.length){for(var o,a,u,c=0,l=s.length;l>c;c++)a=s[c],(u=a.getAttribute("name"))?i(a,u):o=!0;o&&(r["default"]=on(e.childNodes,e))}}}function on(t,e){var n=document.createDocumentFragment();t=v(t);for(var i=0,r=t.length;r>i;i++){var s=t[i];s.parentNode===e&&(!it(s)||s.hasAttribute("v-if")||s.hasAttribute("v-for")||(e.removeChild(s),s=te(s)),n.appendChild(s))}return n}function an(t){function e(){}function i(t,e){var n=new Bt(e,t,null,{lazy:!0});return function(){return n.dirty&&n.evaluate(),St.target&&n.depend(),n.value}}Object.defineProperty(t.prototype,"$data",{get:function(){return this._data},set:function(t){t!==this._data&&this._setData(t)}}),t.prototype._initState=function(){this._initProps(),this._initMeta(),this._initMethods(),this._initData(),this._initComputed()},t.prototype._initProps=function(){var t=this.$options,e=t.el,n=t.props;e=t.el=R(e),this._propsUnlinkFn=e&&1===e.nodeType&&n?Ee(this,e,n,this._scope):null},t.prototype._initData=function(){var t=this._data,e=this.$options.data,i=e&&e();if(i){this._data=i;for(var s in t)null===this._props[s].raw&&r(i,s)||n(i,s,t[s])}var o,a,u=this._data,c=Object.keys(u);for(o=c.length;o--;)a=c[o],this._proxy(a);Ot(u,this)},t.prototype._setData=function(t){t=t||{};var e=this._data;this._data=t;var n,i,s;for(n=Object.keys(e),s=n.length;s--;)i=n[s],i in t||this._unproxy(i);for(n=Object.keys(t),s=n.length;s--;)i=n[s],r(this,i)||this._proxy(i);e.__ob__.removeVm(this),Ot(t,this),this._digest()},t.prototype._proxy=function(t){if(!o(t)){var e=this;Object.defineProperty(e,t,{configurable:!0,enumerable:!0,get:function(){return e._data[t]},set:function(n){e._data[t]=n}})}},t.prototype._unproxy=function(t){o(t)||delete this[t]},t.prototype._digest=function(){for(var t=0,e=this._watchers.length;e>t;t++)this._watchers[t].update(!0)},t.prototype._initComputed=function(){var t=this.$options.computed;if(t)for(var n in t){var r=t[n],s={enumerable:!0,configurable:!0};"function"==typeof r?(s.get=i(r,this),s.set=e):(s.get=r.get?r.cache!==!1?i(r.get,this):m(r.get,this):e,s.set=r.set?m(r.set,this):e),Object.defineProperty(this,n,s)}},t.prototype._initMethods=function(){var t=this.$options.methods;if(t)for(var e in t)this[e]=m(t[e],this)},t.prototype._initMeta=function(){var t=this.$options._meta;if(t)for(var e in t)$t(this,e,t[e])}}function un(t){function e(t,e){for(var n,i,r=e.attributes,s=0,o=r.length;o>s;s++)n=r[s].name,js.test(n)&&(n=n.replace(js,""),i=(t._scope||t._context).$eval(r[s].value,!0),"function"==typeof i&&(i._fromParent=!0,t.$on(n.replace(js),i)))}function n(t,e,n){if(n){var r,s,o,a;for(s in n)if(r=n[s],Mn(r))for(o=0,a=r.length;a>o;o++)i(t,e,s,r[o]);else i(t,e,s,r)}}function i(t,e,n,r,s){var o=typeof r;if("function"===o)t[e](n,r,s);else if("string"===o){var a=t.$options.methods,u=a&&a[r];u&&t[e](n,u,s)}else r&&"object"===o&&i(t,e,n,r.handler,r)}function r(){this._isAttached||(this._isAttached=!0,this.$children.forEach(s))}function s(t){!t._isAttached&&W(t.$el)&&t._callHook("attached")}function o(){this._isAttached&&(this._isAttached=!1,this.$children.forEach(a))}function a(t){t._isAttached&&!W(t.$el)&&t._callHook("detached")}t.prototype._initEvents=function(){var t=this.$options;t._asComponent&&e(this,t.el),n(this,"$on",t.events),n(this,"$watch",t.watch)},t.prototype._initDOMHooks=function(){this.$on("hook:attached",r),this.$on("hook:detached",o)},t.prototype._callHook=function(t){this.$emit("pre-hook:"+t);var e=this.$options[t];if(e)for(var n=0,i=e.length;i>n;n++)e[n].call(this);this.$emit("hook:"+t)}}function cn(){}function ln(t,e,n,i,r,s){this.vm=e,this.el=n,this.descriptor=t,this.name=t.name,this.expression=t.expression,this.arg=t.arg,this.modifiers=t.modifiers,this.filters=t.filters,this.literal=this.modifiers&&this.modifiers.literal,this._locked=!1,this._bound=!1,this._listeners=null,this._host=i,this._scope=r,this._frag=s}function hn(t){t.prototype._updateRef=function(t){var e=this.$options._ref;if(e){var n=(this._scope||this._context).$refs;t?n[e]===this&&(n[e]=null):n[e]=this}},t.prototype._compile=function(t){var e=this.$options,n=t;if(t=tn(t,e),this._initElement(t),1!==t.nodeType||null===H(t,"v-pre")){var i=this._context&&this._context.$options,r=Fe(t,e,i);sn(t,e._content,this);var s,o=this.constructor;e._linkerCachable&&(s=o.linker,s||(s=o.linker=Me(t,e)));var a=r(this,t,this._scope),u=s?s(this,t):Me(t,e)(this,t);this._unlinkFn=function(){a(),u(!0)},e.replace&&B(n,t),this._isCompiled=!0,this._callHook("compiled")}},t.prototype._initElement=function(t){ut(t)?(this._isFragment=!0,this.$el=this._fragmentStart=t.firstChild,this._fragmentEnd=t.lastChild,3===this._fragmentStart.nodeType&&(this._fragmentStart.data=this._fragmentEnd.data=""),this._fragment=t):this.$el=t,this.$el.__vue__=this,this._callHook("beforeCompile")},t.prototype._bindDir=function(t,e,n,i,r){this._directives.push(new ln(t,this,e,n,i,r))},t.prototype._destroy=function(t,e){if(this._isBeingDestroyed)return void(e||this._cleanup());var n,i,r=this,s=function(){!n||i||e||r._cleanup()};t&&this.$el&&(i=!0,this.$remove(function(){i=!1,s()})),this._callHook("beforeDestroy"),this._isBeingDestroyed=!0;var o,a=this.$parent;for(a&&!a._isBeingDestroyed&&(a.$children.$remove(this),this._updateRef(!0)),o=this.$children.length;o--;)this.$children[o].$destroy();for(this._propsUnlinkFn&&this._propsUnlinkFn(),this._unlinkFn&&this._unlinkFn(),o=this._watchers.length;o--;)this._watchers[o].teardown();this.$el&&(this.$el.__vue__=null),n=!0,s()},t.prototype._cleanup=function(){this._isDestroyed||(this._frag&&this._frag.children.$remove(this),this._data.__ob__&&this._data.__ob__.removeVm(this),this.$el=this.$parent=this.$root=this.$children=this._watchers=this._context=this._scope=this._directives=null,this._isDestroyed=!0,this._callHook("destroyed"),this.$off())}}function fn(t){t.prototype._applyFilters=function(t,e,n,i){var r,s,o,a,u,c,l,h,f;for(c=0,l=n.length;l>c;c++)if(r=n[c],s=wt(this.$options,"filters",r.name),s&&(s=i?s.write:s.read||s,"function"==typeof s)){if(o=i?[t,e]:[t],u=i?2:1,r.args)for(h=0,f=r.args.length;f>h;h++)a=r.args[h],o[h+u]=a.dynamic?this.$get(a.value):a.value;t=s.apply(this,o)}return t},t.prototype._resolveComponent=function(e,n){var i=wt(this.$options,"components",e);if(i)if(i.options)n(i);else if(i.resolved)n(i.resolved);else if(i.requested)i.pendingCallbacks.push(n);else{i.requested=!0;var r=i.pendingCallbacks=[n];i.call(this,function(e){y(e)&&(e=t.extend(e)),i.resolved=e;for(var n=0,s=r.length;s>n;n++)r[n](e)},function(t){})}}}function dn(t){function e(t){return JSON.parse(JSON.stringify(t))}t.prototype.$get=function(t,e){var n=Lt(t);if(n){if(e&&!It(t)){var i=this;return function(){i.$arguments=v(arguments);var t=n.get.call(i,i);return i.$arguments=null,t}}try{return n.get.call(this,this)}catch(r){}}},t.prototype.$set=function(t,e){var n=Lt(t,!0);n&&n.set&&n.set.call(this,this,e)},t.prototype.$delete=function(t){i(this._data,t)},t.prototype.$watch=function(t,e,n){var i,r=this;"string"==typeof t&&(i=$(t),t=i.expression);var s=new Bt(r,t,e,{deep:n&&n.deep,sync:n&&n.sync,filters:i&&i.filters,user:!n||n.user!==!1});return n&&n.immediate&&e.call(r,s.value),function(){s.teardown()}},t.prototype.$eval=function(t,e){if(Ps.test(t)){var n=$(t),i=this.$get(n.expression,e);return n.filters?this._applyFilters(i,null,n.filters):i}return this.$get(t,e)},t.prototype.$interpolate=function(t){var e=A(t),n=this;return e?1===e.length?n.$eval(e[0].value)+"":e.map(function(t){return t.tag?n.$eval(t.value):t.value}).join(""):t},t.prototype.$log=function(t){var n=t?Pt(this._data,t):this._data;if(n&&(n=e(n)),!t)for(var i in this.$options.computed)n[i]=e(this[i]);console.log(n)}}function pn(t){function e(t,e,i,r,s,o){e=n(e);var a=!W(e),u=r===!1||a?s:o,c=!a&&!t._isAttached&&!W(t.$el);return t._isFragment?(ot(t._fragmentStart,t._fragmentEnd,function(n){u(n,e,t)}),i&&i()):u(t.$el,e,t,i),c&&t._callHook("attached"),t}function n(t){return"string"==typeof t?document.querySelector(t):t}function i(t,e,n,i){e.appendChild(t),i&&i()}function r(t,e,n,i){V(t,e),i&&i()}function s(t,e,n){z(t),n&&n()}t.prototype.$nextTick=function(t){In(t,this)},t.prototype.$appendTo=function(t,n,r){return e(this,t,n,r,i,E)},t.prototype.$prependTo=function(t,e,i){return t=n(t),t.hasChildNodes()?this.$before(t.firstChild,e,i):this.$appendTo(t,e,i),this},t.prototype.$before=function(t,n,i){return e(this,t,n,i,r,F)},t.prototype.$after=function(t,e,i){return t=n(t),t.nextSibling?this.$before(t.nextSibling,e,i):this.$appendTo(t.parentNode,e,i),this},t.prototype.$remove=function(t,e){if(!this.$el.parentNode)return t&&t();var n=this._isAttached&&W(this.$el);n||(e=!1);var i=this,r=function(){n&&i._callHook("detached"),t&&t()};if(this._isFragment)at(this._fragmentStart,this._fragmentEnd,this,this._fragment,r);else{var o=e===!1?s:N;o(this.$el,this,r)}return this}}function mn(t){function e(t,e,i){var r=t.$parent;if(r&&i&&!n.test(e))for(;r;)r._eventsCount[e]=(r._eventsCount[e]||0)+i,r=r.$parent}t.prototype.$on=function(t,n){return(this._events[t]||(this._events[t]=[])).push(n),e(this,t,1),this},t.prototype.$once=function(t,e){function n(){i.$off(t,n),e.apply(this,arguments)}var i=this;return n.fn=e,this.$on(t,n),this},t.prototype.$off=function(t,n){var i;if(!arguments.length){if(this.$parent)for(t in this._events)i=this._events[t],i&&e(this,t,-i.length);return this._events={},this}if(i=this._events[t],!i)return this;if(1===arguments.length)return e(this,t,-i.length),this._events[t]=null,this;for(var r,s=i.length;s--;)if(r=i[s],r===n||r.fn===n){e(this,t,-1),i.splice(s,1);break}return this},t.prototype.$emit=function(t){var e="string"==typeof t;t=e?t:t.name;var n=this._events[t],i=e||!n;if(n){n=n.length>1?v(n):n;var r=e&&n.some(function(t){return t._fromParent});r&&(i=!1);for(var s=v(arguments,1),o=0,a=n.length;a>o;o++){var u=n[o],c=u.apply(this,s);c!==!0||r&&!u._fromParent||(i=!0)}}return i},t.prototype.$broadcast=function(t){var e="string"==typeof t;if(t=e?t:t.name,this._eventsCount[t]){var n=this.$children,i=v(arguments);e&&(i[0]={name:t,source:this});for(var r=0,s=n.length;s>r;r++){var o=n[r],a=o.$emit.apply(o,i);a&&o.$broadcast.apply(o,i)}return this}},t.prototype.$dispatch=function(t){var e=this.$emit.apply(this,arguments);if(e){var n=this.$parent,i=v(arguments);for(i[0]={name:t,source:this};n;)e=n.$emit.apply(n,i),n=e?n.$parent:null;return this}};var n=/^hook:/}function vn(t){function e(){this._isAttached=!0,this._isReady=!0,this._callHook("ready")}t.prototype.$mount=function(t){return this._isCompiled?void 0:(t=R(t),t||(t=document.createElement("div")),this._compile(t),this._initDOMHooks(),W(this.$el)?(this._callHook("attached"),e.call(this)):this.$once("hook:attached",e),this)},t.prototype.$destroy=function(t,e){this._destroy(t,e)},t.prototype.$compile=function(t,e,n,i){return Me(t,this.$options,!0)(this,t,e,n,i)}}function gn(t){this._init(t)}function _n(t,e,n){return n=n?parseInt(n,10):0,e=u(e),"number"==typeof e?t.slice(n,n+e):t}function yn(t,e,n){if(t=Us(t),null==e)return t;if("function"==typeof e)return t.filter(e);e=(""+e).toLowerCase();for(var i,r,s,o,a="in"===n?3:2,u=v(arguments,a).reduce(function(t,e){return t.concat(e)},[]),c=[],l=0,h=t.length;h>l;l++)if(i=t[l],s=i&&i.$value||i,o=u.length){for(;o--;)if(r=u[o],"$key"===r&&wn(i.$key,e)||wn(Pt(s,r),e)){c.push(i);break}}else wn(i,e)&&c.push(i);return c}function bn(t,e,n){if(t=Us(t),!e)return t;var i=n&&0>n?-1:1;return t.slice().sort(function(t,n){return"$key"!==e&&(_(t)&&"$value"in t&&(t=t.$value),_(n)&&"$value"in n&&(n=n.$value)),t=_(t)?Pt(t,e):t,n=_(n)?Pt(n,e):n,t===n?0:t>n?i:-i})}function wn(t,e){var n;if(y(t)){var i=Object.keys(t);for(n=i.length;n--;)if(wn(t[i[n]],e))return!0}else if(Mn(t)){for(n=t.length;n--;)if(wn(t[n],e))return!0}else if(null!=t)return t.toString().toLowerCase().indexOf(e)>-1}function kn(t){function e(t){return new Function("return function "+p(t)+" (options) { this._init(options) }")()}t.options={directives:as,elementDirectives:Ns,filters:Ws,transitions:{},components:{},partials:{},replace:!0},t.util=Oi,t.config=mi,t.set=n,t["delete"]=i,t.nextTick=In,t.compiler=Ys,t.FragmentFactory=ue,t.internalDirectives=bs,t.parsers={path:Vi,text:fi,template:br,directive:oi,expression:rr},t.cid=0;var r=1;t.extend=function(t){t=t||{};var n=this,i=0===n.cid;if(i&&t._Ctor)return t._Ctor;var s=t.name||n.options.name,o=e(s||"VueComponent");return o.prototype=Object.create(n.prototype),o.prototype.constructor=o,o.cid=r++,o.options=bt(n.options,t),o["super"]=n, -o.extend=n.extend,mi._assetTypes.forEach(function(t){o[t]=n[t]}),s&&(o.options.components[s]=o),i&&(t._Ctor=o),o},t.use=function(t){if(!t.installed){var e=v(arguments,1);return e.unshift(this),"function"==typeof t.install?t.install.apply(t,e):t.apply(null,e),t.installed=!0,this}},t.mixin=function(e){t.options=bt(t.options,e)},mi._assetTypes.forEach(function(e){t[e]=function(n,i){return i?("component"===e&&y(i)&&(i.name=n,i=t.extend(i)),this.options[e+"s"][n]=i,i):this.options[e+"s"][n]}}),g(t.transition,gi)}var Sn=Object.prototype.hasOwnProperty,xn=/^\s?(true|false|-?[\d\.]+|'[^']*'|"[^"]*")\s?$/,Cn=/-(\w)/g,Dn=/([a-z\d])([A-Z])/g,On=/(?:^|[-_\/])(\w)/g,$n=Object.prototype.toString,Tn="[object Object]",Mn=Array.isArray,An="__proto__"in{},Yn="undefined"!=typeof window&&"[object Object]"!==Object.prototype.toString.call(window),jn=Yn&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__,Pn=Yn&&window.navigator.userAgent.toLowerCase(),En=Pn&&Pn.indexOf("msie 9.0")>0,Fn=Pn&&Pn.indexOf("android")>0,Nn=void 0,Un=void 0,Rn=void 0,Wn=void 0;if(Yn&&!En){var Hn=void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend,Ln=void 0===window.onanimationend&&void 0!==window.onwebkitanimationend;Nn=Hn?"WebkitTransition":"transition",Un=Hn?"webkitTransitionEnd":"transitionend",Rn=Ln?"WebkitAnimation":"animation",Wn=Ln?"webkitAnimationEnd":"animationend"}var In=function(){function e(){r=!1;var t=i.slice(0);i=[];for(var e=0;ee;e++)t[e].update()};var xi=Array.prototype,Ci=Object.create(xi);["push","pop","shift","unshift","splice","sort","reverse"].forEach(function(t){var e=xi[t];b(Ci,t,function(){for(var n=arguments.length,i=new Array(n);n--;)i[n]=arguments[n];var r,s=e.apply(this,i),o=this.__ob__;switch(t){case"push":r=i;break;case"unshift":r=i;break;case"splice":r=i.slice(2)}return r&&o.observeArray(r),o.dep.notify(),s})}),b(xi,"$set",function(t,e){return t>=this.length&&(this.length=Number(t)+1),this.splice(t,1,e)[0]}),b(xi,"$remove",function(t){if(this.length){var e=k(this,t);return e>-1?this.splice(e,1):void 0}});var Di=Object.getOwnPropertyNames(Ci);xt.prototype.walk=function(t){for(var e=Object.keys(t),n=0,i=e.length;i>n;n++)this.convert(e[n],t[e[n]])},xt.prototype.observeArray=function(t){for(var e=0,n=t.length;n>e;e++)Ot(t[e])},xt.prototype.convert=function(t,e){$t(this.value,t,e)},xt.prototype.addVm=function(t){(this.vms||(this.vms=[])).push(t)},xt.prototype.removeVm=function(t){this.vms.$remove(t)};var Oi=Object.freeze({defineReactive:$t,set:n,del:i,hasOwn:r,isLiteral:s,isReserved:o,_toString:a,toNumber:u,toBoolean:c,stripQuotes:l,camelize:h,hyphenate:d,classify:p,bind:m,toArray:v,extend:g,isObject:_,isPlainObject:y,def:b,debounce:w,indexOf:k,cancellable:S,looseEqual:x,isArray:Mn,hasProto:An,inBrowser:Yn,devtools:jn,isIE9:En,isAndroid:Fn,get transitionProp(){return Nn},get transitionEndEvent(){return Un},get animationProp(){return Rn},get animationEndEvent(){return Wn},nextTick:In,query:R,inDoc:W,getAttr:H,getBindAttr:L,hasBindAttr:I,before:V,after:G,remove:z,prepend:q,replace:B,on:J,off:Z,setClass:Q,addClass:X,removeClass:K,extractContent:tt,trimNode:et,isTemplate:it,createAnchor:rt,findRef:st,mapNodeRange:ot,removeNodeRange:at,isFragment:ut,getOuterHTML:ct,mergeOptions:bt,resolveAsset:wt,assertAsset:kt,checkComponentAttr:lt,initProp:ft,assertProp:dt,coerceProp:pt,commonTagRE:yi,reservedTagRE:bi,get warn(){return vi}}),$i=0,Ti=new C(1e3),Mi=0,Ai=1,Yi=2,ji=3,Pi=0,Ei=1,Fi=2,Ni=3,Ui=4,Ri=5,Wi=6,Hi=7,Li=8,Ii=[];Ii[Pi]={ws:[Pi],ident:[Ni,Mi],"[":[Ui],eof:[Hi]},Ii[Ei]={ws:[Ei],".":[Fi],"[":[Ui],eof:[Hi]},Ii[Fi]={ws:[Fi],ident:[Ni,Mi]},Ii[Ni]={ident:[Ni,Mi],0:[Ni,Mi],number:[Ni,Mi],ws:[Ei,Ai],".":[Fi,Ai],"[":[Ui,Ai],eof:[Hi,Ai]},Ii[Ui]={"'":[Ri,Mi],'"':[Wi,Mi],"[":[Ui,Yi],"]":[Ei,ji],eof:Li,"else":[Ui,Mi]},Ii[Ri]={"'":[Ui,Mi],eof:Li,"else":[Ri,Mi]},Ii[Wi]={'"':[Ui,Mi],eof:Li,"else":[Wi,Mi]};var Vi=Object.freeze({parsePath:jt,getPath:Pt,setPath:Et}),Gi=new C(1e3),zi="Math,Date,this,true,false,null,undefined,Infinity,NaN,isNaN,isFinite,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,parseInt,parseFloat",qi=new RegExp("^("+zi.replace(/,/g,"\\b|")+"\\b)"),Bi="break,case,class,catch,const,continue,debugger,default,delete,do,else,export,extends,finally,for,function,if,import,in,instanceof,let,return,super,switch,throw,try,var,while,with,yield,enum,await,implements,package,proctected,static,interface,private,public",Ji=new RegExp("^("+Bi.replace(/,/g,"\\b|")+"\\b)"),Zi=/\s/g,Qi=/\n/g,Xi=/[\{,]\s*[\w\$_]+\s*:|('(?:[^'\\]|\\.)*'|"(?:[^"\\]|\\.)*"|`(?:[^`\\]|\\.)*\$\{|\}(?:[^`\\]|\\.)*`|`(?:[^`\\]|\\.)*`)|new |typeof |void /g,Ki=/"(\d+)"/g,tr=/^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['.*?'\]|\[".*?"\]|\[\d+\]|\[[A-Za-z_$][\w$]*\])*$/,er=/[^\w$\.](?:[A-Za-z_$][\w$]*)/g,nr=/^(?:true|false)$/,ir=[],rr=Object.freeze({parseExpression:Lt,isSimplePath:It}),sr=[],or=[],ar={},ur={},cr=!1,lr=!1,hr=0;Bt.prototype.addDep=function(t){var e=t.id;this.newDeps[e]||(this.newDeps[e]=t,this.deps[e]||(this.deps[e]=t,t.addSub(this)))},Bt.prototype.get=function(){this.beforeGet();var t,e=this.scope||this.vm;try{t=this.getter.call(e,e)}catch(n){}return this.deep&&Jt(t),this.preProcess&&(t=this.preProcess(t)),this.filters&&(t=e._applyFilters(t,null,this.filters,!1)),this.postProcess&&(t=this.postProcess(t)),this.afterGet(),t},Bt.prototype.set=function(t){var e=this.scope||this.vm;this.filters&&(t=e._applyFilters(t,this.value,this.filters,!0));try{this.setter.call(e,e,t)}catch(n){}var i=e.$forContext;if(i&&i.alias===this.expression){if(i.filters)return;i._withLock(function(){e.$key?i.rawValue[e.$key]=t:i.rawValue.$set(e.$index,t)})}},Bt.prototype.beforeGet=function(){St.target=this,this.newDeps=Object.create(null)},Bt.prototype.afterGet=function(){St.target=null;for(var t=Object.keys(this.deps),e=t.length;e--;){var n=t[e];this.newDeps[n]||this.deps[n].removeSub(this)}this.deps=this.newDeps},Bt.prototype.update=function(t){this.lazy?this.dirty=!0:this.sync||!mi.async?this.run():(this.shallow=this.queued?t?this.shallow:!1:!!t,this.queued=!0,qt(this))},Bt.prototype.run=function(){if(this.active){var t=this.get();if(t!==this.value||(_(t)||this.deep)&&!this.shallow){var e=this.value;this.value=t;this.prevError;this.cb.call(this.vm,t,e)}this.queued=this.shallow=!1}},Bt.prototype.evaluate=function(){var t=St.target;this.value=this.get(),this.dirty=!1,St.target=t},Bt.prototype.depend=function(){for(var t=Object.keys(this.deps),e=t.length;e--;)this.deps[t[e]].depend()},Bt.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||this.vm._vForRemoving||this.vm._watchers.$remove(this);for(var t=Object.keys(this.deps),e=t.length;e--;)this.deps[t[e]].removeSub(this);this.active=!1,this.vm=this.cb=this.value=null}};var fr={bind:function(){this.attr=3===this.el.nodeType?"data":"textContent"},update:function(t){this.el[this.attr]=a(t)}},dr=new C(1e3),pr=new C(1e3),mr={efault:[0,"",""],legend:[1,"
","
"],tr:[2,"","
"],col:[2,"","
"]};mr.td=mr.th=[3,"","
"],mr.option=mr.optgroup=[1,'"],mr.thead=mr.tbody=mr.colgroup=mr.caption=mr.tfoot=[1,"","
"],mr.g=mr.defs=mr.symbol=mr.use=mr.image=mr.text=mr.circle=mr.ellipse=mr.line=mr.path=mr.polygon=mr.polyline=mr.rect=[1,'',""];var vr=/<([\w:]+)/,gr=/&#?\w+?;/,_r=function(){if(Yn){var t=document.createElement("div");return t.innerHTML="",!t.cloneNode(!0).firstChild.innerHTML}return!1}(),yr=function(){if(Yn){var t=document.createElement("textarea");return t.placeholder="t","t"===t.cloneNode(!0).value}return!1}(),br=Object.freeze({cloneNode:Kt,parseTemplate:te}),wr={bind:function(){8===this.el.nodeType&&(this.nodes=[],this.anchor=rt("v-html"),B(this.el,this.anchor))},update:function(t){t=a(t),this.nodes?this.swap(t):this.el.innerHTML=t},swap:function(t){for(var e=this.nodes.length;e--;)z(this.nodes[e]);var n=te(t,!0,!0);this.nodes=v(n.childNodes),V(n,this.anchor)}};ee.prototype.callHook=function(t){var e,n;for(e=0,n=this.childFrags.length;n>e;e++)this.childFrags[e].callHook(t);for(e=0,n=this.children.length;n>e;e++)t(this.children[e])},ee.prototype.beforeRemove=function(){var t,e;for(t=0,e=this.childFrags.length;e>t;t++)this.childFrags[t].beforeRemove(!1);for(t=0,e=this.children.length;e>t;t++)this.children[t].$destroy(!1,!0);var n=this.unlink.dirs;for(t=0,e=n.length;e>t;t++)n[t]._watcher&&n[t]._watcher.teardown()},ee.prototype.destroy=function(){this.parentFrag&&this.parentFrag.childFrags.$remove(this),this.node.__v_frag=null,this.unlink()};var kr=new C(5e3);ue.prototype.create=function(t,e,n){var i=Kt(this.template);return new ee(this.linker,this.vm,i,t,e,n)};var Sr=700,xr=800,Cr=850,Dr=1100,Or=1500,$r=1500,Tr=1750,Mr=2e3,Ar=2e3,Yr=2100,jr=0,Pr={priority:Mr,params:["track-by","stagger","enter-stagger","leave-stagger"],bind:function(){var t=this.expression.match(/(.*) (?:in|of) (.*)/);if(t){var e=t[1].match(/\((.*),(.*)\)/);e?(this.iterator=e[1].trim(),this.alias=e[2].trim()):this.alias=t[1].trim(),this.expression=t[2]}if(this.alias){this.id="__v-for__"+ ++jr;var n=this.el.tagName;this.isOption=("OPTION"===n||"OPTGROUP"===n)&&"SELECT"===this.el.parentNode.tagName,this.start=rt("v-for-start"),this.end=rt("v-for-end"),B(this.el,this.end),V(this.start,this.end),this.cache=Object.create(null),this.factory=new ue(this.vm,this.el)}},update:function(t){this.diff(t),this.updateRef(),this.updateModel()},diff:function(t){var e,n,i,s,o,a,u=t[0],c=this.fromObject=_(u)&&r(u,"$key")&&r(u,"$value"),l=this.params.trackBy,h=this.frags,f=this.frags=new Array(t.length),d=this.alias,p=this.iterator,m=this.start,v=this.end,g=W(m),y=!h;for(e=0,n=t.length;n>e;e++)u=t[e],s=c?u.$key:null,o=c?u.$value:u,a=!_(o),i=!y&&this.getCachedFrag(o,e,s),i?(i.reused=!0,i.scope.$index=e,s&&(i.scope.$key=s),p&&(i.scope[p]=null!==s?s:e),(l||c||a)&&(i.scope[d]=o)):(i=this.create(o,d,e,s),i.fresh=!y),f[e]=i,y&&i.before(v);if(!y){var b=0,w=h.length-f.length;for(this.vm._vForRemoving=!0,e=0,n=h.length;n>e;e++)i=h[e],i.reused||(this.deleteCachedFrag(i),this.remove(i,b++,w,g));this.vm._vForRemoving=!1,b&&(this.vm._watchers=this.vm._watchers.filter(function(t){return t.active}));var k,S,x,C=0;for(e=0,n=f.length;n>e;e++)i=f[e],k=f[e-1],S=k?k.staggerCb?k.staggerAnchor:k.end||k.node:m,i.reused&&!i.staggerCb?(x=ce(i,m,this.id),x===k||x&&ce(x,m,this.id)===k||this.move(i,S)):this.insert(i,C++,S,g),i.reused=i.fresh=!1}},create:function(t,e,n,i){var r=this._host,s=this._scope||this.vm,o=Object.create(s);o.$refs=Object.create(s.$refs),o.$els=Object.create(s.$els),o.$parent=s,o.$forContext=this,$t(o,e,t),$t(o,"$index",n),i?$t(o,"$key",i):o.$key&&b(o,"$key",null),this.iterator&&$t(o,this.iterator,null!==i?i:n);var a=this.factory.create(r,o,this._frag);return a.forId=this.id,this.cacheFrag(t,a,n,i),a},updateRef:function(){var t=this.descriptor.ref;if(t){var e,n=(this._scope||this.vm).$refs;this.fromObject?(e={},this.frags.forEach(function(t){e[t.scope.$key]=le(t)})):e=this.frags.map(le),n[t]=e}},updateModel:function(){if(this.isOption){var t=this.start.parentNode,e=t&&t.__v_model;e&&e.forceUpdate()}},insert:function(t,e,n,i){t.staggerCb&&(t.staggerCb.cancel(),t.staggerCb=null);var r=this.getStagger(t,e,null,"enter");if(i&&r){var s=t.staggerAnchor;s||(s=t.staggerAnchor=rt("stagger-anchor"),s.__v_frag=t),G(s,n);var o=t.staggerCb=S(function(){t.staggerCb=null,t.before(s),z(s)});setTimeout(o,r)}else t.before(n.nextSibling)},remove:function(t,e,n,i){if(t.staggerCb)return t.staggerCb.cancel(),void(t.staggerCb=null);var r=this.getStagger(t,e,n,"leave");if(i&&r){var s=t.staggerCb=S(function(){t.staggerCb=null,t.remove()});setTimeout(s,r)}else t.remove()},move:function(t,e){e.nextSibling||this.end.parentNode.appendChild(this.end),t.before(e.nextSibling,!1)},cacheFrag:function(t,e,n,i){var s,o=this.params.trackBy,a=this.cache,u=!_(t);i||o||u?(s=o?"$index"===o?n:t[o]:i||t,a[s]||(a[s]=e)):(s=this.id,r(t,s)?null===t[s]&&(t[s]=e):b(t,s,e)),e.raw=t},getCachedFrag:function(t,e,n){var i,r=this.params.trackBy,s=!_(t);if(n||r||s){var o=r?"$index"===r?e:t[r]:n||t;i=this.cache[o]}else i=t[this.id];return i&&(i.reused||i.fresh),i},deleteCachedFrag:function(t){var e=t.raw,n=this.params.trackBy,i=t.scope,s=i.$index,o=r(i,"$key")&&i.$key,a=!_(e);if(n||o||a){var u=n?"$index"===n?s:e[n]:o||e;this.cache[u]=null}else e[this.id]=null,t.raw=null},getStagger:function(t,e,n,i){i+="Stagger";var r=t.node.__v_trans,s=r&&r.hooks,o=s&&(s[i]||s.stagger);return o?o.call(t,e,n):e*parseInt(this.params[i]||this.params.stagger,10)},_preProcess:function(t){return this.rawValue=t,t},_postProcess:function(t){if(Mn(t))return t;if(y(t)){for(var e,n=Object.keys(t),i=n.length,r=new Array(i);i--;)e=n[i],r[i]={$key:e,$value:t[e]};return r}return"number"!=typeof t||isNaN(t)||(t=he(t)),t||[]},unbind:function(){if(this.descriptor.ref&&((this._scope||this.vm).$refs[this.descriptor.ref]=null),this.frags)for(var t,e=this.frags.length;e--;)t=this.frags[e],this.deleteCachedFrag(t),t.destroy()}},Er={priority:Ar,bind:function(){var t=this.el;if(t.__vue__)this.invalid=!0;else{var e=t.nextElementSibling;e&&null!==H(e,"v-else")&&(z(e),this.elseFactory=new ue(e._context||this.vm,e)),this.anchor=rt("v-if"),B(t,this.anchor),this.factory=new ue(this.vm,t)}},update:function(t){this.invalid||(t?this.frag||this.insert():this.remove())},insert:function(){this.elseFrag&&(this.elseFrag.remove(),this.elseFrag=null),this.frag=this.factory.create(this._host,this._scope,this._frag),this.frag.before(this.anchor)},remove:function(){this.frag&&(this.frag.remove(),this.frag=null),this.elseFactory&&!this.elseFrag&&(this.elseFrag=this.elseFactory.create(this._host,this._scope,this._frag),this.elseFrag.before(this.anchor))},unbind:function(){this.frag&&this.frag.destroy(),this.elseFrag&&this.elseFrag.destroy()}},Fr={bind:function(){var t=this.el.nextElementSibling;t&&null!==H(t,"v-else")&&(this.elseEl=t)},update:function(t){this.apply(this.el,t),this.elseEl&&this.apply(this.elseEl,!t)},apply:function(t,e){function n(){t.style.display=e?"":"none"}W(t)?U(t,e?1:-1,n,this.vm):n()}},Nr={bind:function(){var t=this,e=this.el,n="range"===e.type,i=this.params.lazy,r=this.params.number,s=this.params.debounce,o=!1;if(Fn||n||(this.on("compositionstart",function(){o=!0}),this.on("compositionend",function(){o=!1,i||t.listener()})),this.focused=!1,n||i||(this.on("focus",function(){t.focused=!0}),this.on("blur",function(){t.focused=!1})),this.listener=this.rawListener=function(){if(!o&&t._bound){var i=r||n?u(e.value):e.value;t.set(i),In(function(){t._bound&&!t.focused&&t.update(t._watcher.value)})}},s&&(this.listener=w(this.listener,s)),this.hasjQuery="function"==typeof jQuery,this.hasjQuery){var a=jQuery.fn.on?"on":"bind";jQuery(e)[a]("change",this.rawListener),i||jQuery(e)[a]("input",this.listener)}else this.on("change",this.rawListener),i||this.on("input",this.listener);!i&&En&&(this.on("cut",function(){In(t.listener)}),this.on("keyup",function(e){46!==e.keyCode&&8!==e.keyCode||t.listener()})),(e.hasAttribute("value")||"TEXTAREA"===e.tagName&&e.value.trim())&&(this.afterBind=this.listener)},update:function(t){this.el.value=a(t)},unbind:function(){var t=this.el;if(this.hasjQuery){var e=jQuery.fn.off?"off":"unbind";jQuery(t)[e]("change",this.listener),jQuery(t)[e]("input",this.listener)}}},Ur={bind:function(){var t=this,e=this.el;this.getValue=function(){if(e.hasOwnProperty("_value"))return e._value;var n=e.value;return t.params.number&&(n=u(n)),n},this.listener=function(){t.set(t.getValue())},this.on("change",this.listener),e.hasAttribute("checked")&&(this.afterBind=this.listener)},update:function(t){this.el.checked=x(t,this.getValue())}},Rr={bind:function(){var t=this,e=this.el;this.forceUpdate=function(){t._watcher&&t.update(t._watcher.get())};var n=this.multiple=e.hasAttribute("multiple");this.listener=function(){var i=fe(e,n);i=t.params.number?Mn(i)?i.map(u):u(i):i,t.set(i)},this.on("change",this.listener);var i=fe(e,n,!0);(n&&i.length||!n&&null!==i)&&(this.afterBind=this.listener),this.vm.$on("hook:attached",this.forceUpdate)},update:function(t){var e=this.el;e.selectedIndex=-1;for(var n,i,r=this.multiple&&Mn(t),s=e.options,o=s.length;o--;)n=s[o],i=n.hasOwnProperty("_value")?n._value:n.value,n.selected=r?de(t,i)>-1:x(t,i)},unbind:function(){this.vm.$off("hook:attached",this.forceUpdate)}},Wr={bind:function(){function t(){var t=n.checked;return t&&n.hasOwnProperty("_trueValue")?n._trueValue:!t&&n.hasOwnProperty("_falseValue")?n._falseValue:t}var e=this,n=this.el;this.getValue=function(){return n.hasOwnProperty("_value")?n._value:e.params.number?u(n.value):n.value},this.listener=function(){var i=e._watcher.value;if(Mn(i)){var r=e.getValue();n.checked?k(i,r)<0&&i.push(r):i.$remove(r)}else e.set(t())},this.on("change",this.listener),n.hasAttribute("checked")&&(this.afterBind=this.listener)},update:function(t){var e=this.el;Mn(t)?e.checked=k(t,this.getValue())>-1:e.hasOwnProperty("_trueValue")?e.checked=x(t,e._trueValue):e.checked=!!t}},Hr={text:Nr,radio:Ur,select:Rr,checkbox:Wr},Lr={priority:xr,twoWay:!0,handlers:Hr,params:["lazy","number","debounce"],bind:function(){this.checkFilters(),this.hasRead&&!this.hasWrite;var t,e=this.el,n=e.tagName;if("INPUT"===n)t=Hr[e.type]||Hr.text;else if("SELECT"===n)t=Hr.select;else{if("TEXTAREA"!==n)return;t=Hr.text}e.__v_model=this,t.bind.call(this),this.update=t.update,this._unbind=t.unbind},checkFilters:function(){var t=this.filters;if(t)for(var e=t.length;e--;){var n=wt(this.vm.$options,"filters",t[e].name);("function"==typeof n||n.read)&&(this.hasRead=!0),n.write&&(this.hasWrite=!0)}},unbind:function(){this.el.__v_model=null,this._unbind&&this._unbind()}},Ir={esc:27,tab:9,enter:13,space:32,"delete":[8,46],up:38,left:37,right:39,down:40},Vr={priority:Sr,acceptStatement:!0,keyCodes:Ir,bind:function(){if("IFRAME"===this.el.tagName&&"load"!==this.arg){var t=this;this.iframeBind=function(){J(t.el.contentWindow,t.arg,t.handler,t.modifiers.capture)},this.on("load",this.iframeBind)}},update:function(t){if(this.descriptor.raw||(t=function(){}),"function"==typeof t){this.modifiers.stop&&(t=me(t)),this.modifiers.prevent&&(t=ve(t)),this.modifiers.self&&(t=ge(t));var e=Object.keys(this.modifiers).filter(function(t){return"stop"!==t&&"prevent"!==t});e.length&&(t=pe(t,e)),this.reset(),this.handler=t,this.iframeBind?this.iframeBind():J(this.el,this.arg,this.handler,this.modifiers.capture)}},reset:function(){var t=this.iframeBind?this.el.contentWindow:this.el;this.handler&&Z(t,this.arg,this.handler)},unbind:function(){this.reset()}},Gr=["-webkit-","-moz-","-ms-"],zr=["Webkit","Moz","ms"],qr=/!important;?$/,Br=Object.create(null),Jr=null,Zr={deep:!0,update:function(t){"string"==typeof t?this.el.style.cssText=t:Mn(t)?this.handleObject(t.reduce(g,{})):this.handleObject(t||{})},handleObject:function(t){var e,n,i=this.cache||(this.cache={});for(e in i)e in t||(this.handleSingle(e,null),delete i[e]);for(e in t)n=t[e],n!==i[e]&&(i[e]=n,this.handleSingle(e,n))},handleSingle:function(t,e){if(t=_e(t))if(null!=e&&(e+=""),e){var n=qr.test(e)?"important":"";n&&(e=e.replace(qr,"").trim()),this.el.style.setProperty(t,e,n)}else this.el.style.removeProperty(t)}},Qr="http://www.w3.org/1999/xlink",Xr=/^xlink:/,Kr=/^v-|^:|^@|^(?:is|transition|transition-mode|debounce|track-by|stagger|enter-stagger|leave-stagger)$/,ts=/^(?:value|checked|selected|muted)$/,es=/^(?:draggable|contenteditable|spellcheck)$/,ns={value:"_value","true-value":"_trueValue","false-value":"_falseValue"},is={priority:Cr,bind:function(){var t=this.arg,e=this.el.tagName;t||(this.deep=!0);var n=this.descriptor,i=n.interp;if(i){n.hasOneTime&&(this.expression=Y(i,this._scope||this.vm)),(Kr.test(t)||"name"===t&&("PARTIAL"===e||"SLOT"===e))&&(this.el.removeAttribute(t),this.invalid=!0)}},update:function(t){if(!this.invalid){var e=this.arg;this.arg?this.handleSingle(e,t):this.handleObject(t||{})}},handleObject:Zr.handleObject,handleSingle:function(t,e){var n=this.el,i=this.descriptor.interp;this.modifiers.camel&&(t=h(t)),!i&&ts.test(t)&&t in n&&(n[t]="value"===t&&null==e?"":e);var r=ns[t];if(!i&&r){n[r]=e;var s=n.__v_model;s&&s.listener()}return"value"===t&&"TEXTAREA"===n.tagName?void n.removeAttribute(t):void(es.test(t)?n.setAttribute(t,e?"true":"false"):null!=e&&e!==!1?"class"===t?(n.__v_trans&&(e+=" "+n.__v_trans.id+"-transition"),Q(n,e)):Xr.test(t)?n.setAttributeNS(Qr,t,e===!0?"":e):n.setAttribute(t,e===!0?"":e):n.removeAttribute(t))}},rs={priority:Or,bind:function(){if(this.arg){var t=this.id=h(this.arg),e=(this._scope||this.vm).$els;r(e,t)?e[t]=this.el:$t(e,t,this.el)}},unbind:function(){var t=(this._scope||this.vm).$els;t[this.id]===this.el&&(t[this.id]=null)}},ss={bind:function(){}},os={bind:function(){var t=this.el;this.vm.$once("pre-hook:compiled",function(){t.removeAttribute("v-cloak")})}},as={text:fr,html:wr,"for":Pr,"if":Er,show:Fr,model:Lr,on:Vr,bind:is,el:rs,ref:ss,cloak:os},us={deep:!0,update:function(t){t&&"string"==typeof t?this.handleObject(be(t)):y(t)?this.handleObject(t):Mn(t)?this.handleArray(t):this.cleanup()},handleObject:function(t){this.cleanup(t);for(var e=this.prevKeys=Object.keys(t),n=0,i=e.length;i>n;n++){var r=e[n];t[r]?X(this.el,r):K(this.el,r)}},handleArray:function(t){this.cleanup(t);for(var e=0,n=t.length;n>e;e++)t[e]&&X(this.el,t[e]);this.prevKeys=t.slice()},cleanup:function(t){if(this.prevKeys)for(var e=this.prevKeys.length;e--;){var n=this.prevKeys[e];!n||t&&we(t,n)||K(this.el,n)}}},cs={priority:$r,params:["keep-alive","transition-mode","inline-template"],bind:function(){this.el.__vue__||(this.keepAlive=this.params.keepAlive,this.keepAlive&&(this.cache={}),this.params.inlineTemplate&&(this.inlineTemplate=tt(this.el,!0)),this.pendingComponentCb=this.Component=null,this.pendingRemovals=0,this.pendingRemovalCb=null,this.anchor=rt("v-component"),B(this.el,this.anchor),this.el.removeAttribute("is"),this.descriptor.ref&&this.el.removeAttribute("v-ref:"+d(this.descriptor.ref)),this.literal&&this.setComponent(this.expression))},update:function(t){this.literal||this.setComponent(t)},setComponent:function(t,e){if(this.invalidatePending(),t){var n=this;this.resolveComponent(t,function(){n.mountComponent(e)})}else this.unbuild(!0),this.remove(this.childVM,e),this.childVM=null},resolveComponent:function(t,e){var n=this;this.pendingComponentCb=S(function(i){n.ComponentName=i.options.name||t,n.Component=i,e()}),this.vm._resolveComponent(t,this.pendingComponentCb)},mountComponent:function(t){this.unbuild(!0);var e=this,n=this.Component.options.activate,i=this.getCached(),r=this.build();n&&!i?(this.waitingFor=r,ke(n,r,function(){e.waitingFor===r&&(e.waitingFor=null,e.transition(r,t))})):(i&&r._updateRef(),this.transition(r,t))},invalidatePending:function(){this.pendingComponentCb&&(this.pendingComponentCb.cancel(),this.pendingComponentCb=null)},build:function(t){var e=this.getCached();if(e)return e;if(this.Component){var n={name:this.ComponentName,el:Kt(this.el),template:this.inlineTemplate,parent:this._host||this.vm,_linkerCachable:!this.inlineTemplate,_ref:this.descriptor.ref,_asComponent:!0,_isRouterView:this._isRouterView,_context:this.vm,_scope:this._scope,_frag:this._frag};t&&g(n,t);var i=new this.Component(n);return this.keepAlive&&(this.cache[this.Component.cid]=i),i}},getCached:function(){return this.keepAlive&&this.cache[this.Component.cid]},unbuild:function(t){this.waitingFor&&(this.waitingFor.$destroy(),this.waitingFor=null);var e=this.childVM;return!e||this.keepAlive?void(e&&e._updateRef(!0)):void e.$destroy(!1,t)},remove:function(t,e){var n=this.keepAlive;if(t){this.pendingRemovals++,this.pendingRemovalCb=e;var i=this;t.$remove(function(){i.pendingRemovals--,n||t._cleanup(),!i.pendingRemovals&&i.pendingRemovalCb&&(i.pendingRemovalCb(),i.pendingRemovalCb=null)})}else e&&e()},transition:function(t,e){var n=this,i=this.childVM;switch(this.childVM=t,n.params.transitionMode){case"in-out":t.$before(n.anchor,function(){n.remove(i,e)});break;case"out-in":n.remove(i,function(){t.$before(n.anchor,e)});break;default:n.remove(i),t.$before(n.anchor,e)}},unbind:function(){if(this.invalidatePending(),this.unbuild(),this.cache){for(var t in this.cache)this.cache[t].$destroy();this.cache=null}}},ls=mi._propBindingModes,hs={bind:function(){var t=this.vm,e=t._context,n=this.descriptor.prop,i=n.path,r=n.parentPath,s=n.mode===ls.TWO_WAY,o=this.parentWatcher=new Bt(e,r,function(e){e=pt(n,e),dt(n,e)&&(t[i]=e)},{twoWay:s,filters:n.filters,scope:this._scope});if(ft(t,n,o.value),s){var a=this;t.$once("pre-hook:created",function(){a.childWatcher=new Bt(t,i,function(t){o.set(t)},{sync:!0})})}},unbind:function(){this.parentWatcher.teardown(),this.childWatcher&&this.childWatcher.teardown()}},fs=[],ds=!1,ps="transition",ms="animation",vs=Nn+"Duration",gs=Rn+"Duration",_s=Ce.prototype;_s.enter=function(t,e){this.cancelPending(),this.callHook("beforeEnter"),this.cb=e,X(this.el,this.enterClass),t(),this.entered=!1,this.callHookWithCb("enter"),this.entered||(this.cancel=this.hooks&&this.hooks.enterCancelled,Se(this.enterNextTick))},_s.enterNextTick=function(){this.justEntered=!0;var t=this;setTimeout(function(){t.justEntered=!1},17);var e=this.enterDone,n=this.getCssTransitionType(this.enterClass);this.pendingJsCb?n===ps&&K(this.el,this.enterClass):n===ps?(K(this.el,this.enterClass),this.setupCssCb(Un,e)):n===ms?this.setupCssCb(Wn,e):e()},_s.enterDone=function(){this.entered=!0,this.cancel=this.pendingJsCb=null,K(this.el,this.enterClass),this.callHook("afterEnter"),this.cb&&this.cb()},_s.leave=function(t,e){this.cancelPending(),this.callHook("beforeLeave"),this.op=t,this.cb=e,X(this.el,this.leaveClass),this.left=!1,this.callHookWithCb("leave"),this.left||(this.cancel=this.hooks&&this.hooks.leaveCancelled,this.op&&!this.pendingJsCb&&(this.justEntered?this.leaveDone():Se(this.leaveNextTick)))},_s.leaveNextTick=function(){var t=this.getCssTransitionType(this.leaveClass);if(t){var e=t===ps?Un:Wn;this.setupCssCb(e,this.leaveDone)}else this.leaveDone()},_s.leaveDone=function(){this.left=!0,this.cancel=this.pendingJsCb=null,this.op(),K(this.el,this.leaveClass),this.callHook("afterLeave"),this.cb&&this.cb(),this.op=null},_s.cancelPending=function(){this.op=this.cb=null;var t=!1;this.pendingCssCb&&(t=!0,Z(this.el,this.pendingCssEvent,this.pendingCssCb),this.pendingCssEvent=this.pendingCssCb=null),this.pendingJsCb&&(t=!0,this.pendingJsCb.cancel(),this.pendingJsCb=null),t&&(K(this.el,this.enterClass),K(this.el,this.leaveClass)),this.cancel&&(this.cancel.call(this.vm,this.el),this.cancel=null)},_s.callHook=function(t){this.hooks&&this.hooks[t]&&this.hooks[t].call(this.vm,this.el)},_s.callHookWithCb=function(t){var e=this.hooks&&this.hooks[t];e&&(e.length>1&&(this.pendingJsCb=S(this[t+"Done"])),e.call(this.vm,this.el,this.pendingJsCb))},_s.getCssTransitionType=function(t){if(!(!Un||document.hidden||this.hooks&&this.hooks.css===!1||De(this.el))){var e=this.type||this.typeCache[t];if(e)return e;var n=this.el.style,i=window.getComputedStyle(this.el),r=n[vs]||i[vs];if(r&&"0s"!==r)e=ps;else{var s=n[gs]||i[gs];s&&"0s"!==s&&(e=ms)}return e&&(this.typeCache[t]=e),e}},_s.setupCssCb=function(t,e){this.pendingCssEvent=t;var n=this,i=this.el,r=this.pendingCssCb=function(s){s.target===i&&(Z(i,t,r),n.pendingCssEvent=n.pendingCssCb=null,!n.pendingJsCb&&e&&e())};J(i,t,r)};var ys={priority:Dr,update:function(t,e){var n=this.el,i=wt(this.vm.$options,"transitions",t);t=t||"v",n.__v_trans=new Ce(n,t,i,this.vm),e&&K(n,e+"-transition"),X(n,t+"-transition")}},bs={style:Zr,"class":us,component:cs,prop:hs,transition:ys},ws=mi._propBindingModes,ks={},Ss=/^[$_a-zA-Z]+[\w$]*$/,xs=/^v-bind:|^:/,Cs=/^v-on:|^@/,Ds=/^v-([^:]+)(?:$|:(.*)$)/,Os=/\.[^\.]+/g,$s=/^(v-bind:|:)?transition$/,Ts=["for","if"],Ms=1e3;Be.terminal=!0;var As=/[^\w\-:\.]/,Ys=Object.freeze({compile:Me,compileAndLinkProps:Ee,compileRoot:Fe,terminalDirectives:Ts,transclude:tn,scanSlots:sn}),js=/^v-on:|^@/;ln.prototype._bind=function(){var t=this.name,e=this.descriptor;if(("cloak"!==t||this.vm._isCompiled)&&this.el&&this.el.removeAttribute){var n=e.attr||"v-"+t;this.el.removeAttribute(n)}var i=e.def;if("function"==typeof i?this.update=i:g(this,i),this._setupParams(),this.bind&&this.bind(),this._bound=!0,this.literal)this.update&&this.update(e.raw);else if((this.expression||this.modifiers)&&(this.update||this.twoWay)&&!this._checkStatement()){var r=this;this.update?this._update=function(t,e){r._locked||r.update(t,e)}:this._update=cn;var s=this._preProcess?m(this._preProcess,this):null,o=this._postProcess?m(this._postProcess,this):null,a=this._watcher=new Bt(this.vm,this.expression,this._update,{ -filters:this.filters,twoWay:this.twoWay,deep:this.deep,preProcess:s,postProcess:o,scope:this._scope});this.afterBind?this.afterBind():this.update&&this.update(a.value)}},ln.prototype._setupParams=function(){if(this.params){var t=this.params;this.params=Object.create(null);for(var e,n,i,r=t.length;r--;)e=t[r],i=h(e),n=L(this.el,e),null!=n?this._setupParamWatcher(i,n):(n=H(this.el,e),null!=n&&(this.params[i]=""===n?!0:n))}},ln.prototype._setupParamWatcher=function(t,e){var n=this,i=!1,r=(this._scope||this.vm).$watch(e,function(e,r){if(n.params[t]=e,i){var s=n.paramWatchers&&n.paramWatchers[t];s&&s.call(n,e,r)}else i=!0},{immediate:!0,user:!1});(this._paramUnwatchFns||(this._paramUnwatchFns=[])).push(r)},ln.prototype._checkStatement=function(){var t=this.expression;if(t&&this.acceptStatement&&!It(t)){var e=Lt(t).get,n=this._scope||this.vm,i=function(t){n.$event=t,e.call(n,n),n.$event=null};return this.filters&&(i=n._applyFilters(i,null,this.filters)),this.update(i),!0}},ln.prototype.set=function(t){this.twoWay&&this._withLock(function(){this._watcher.set(t)})},ln.prototype._withLock=function(t){var e=this;e._locked=!0,t.call(e),In(function(){e._locked=!1})},ln.prototype.on=function(t,e,n){J(this.el,t,e,n),(this._listeners||(this._listeners=[])).push([t,e])},ln.prototype._teardown=function(){if(this._bound){this._bound=!1,this.unbind&&this.unbind(),this._watcher&&this._watcher.teardown();var t,e=this._listeners;if(e)for(t=e.length;t--;)Z(this.el,e[t][0],e[t][1]);var n=this._paramUnwatchFns;if(n)for(t=n.length;t--;)n[t]();this.vm=this.el=this._watcher=this._listeners=null}};var Ps=/[^|]\|[^|]/;Tt(gn),an(gn),un(gn),hn(gn),fn(gn),dn(gn),pn(gn),mn(gn),vn(gn);var Es={priority:Yr,params:["name"],bind:function(){var t=this.params.name||"default",e=this.vm._slotContents&&this.vm._slotContents[t];e&&e.hasChildNodes()?this.compile(e.cloneNode(!0),this.vm._context,this.vm):this.fallback()},compile:function(t,e,n){if(t&&e){if(this.el.hasChildNodes()&&1===t.childNodes.length&&1===t.childNodes[0].nodeType&&t.childNodes[0].hasAttribute("v-if")){var i=document.createElement("template");i.setAttribute("v-else",""),i.innerHTML=this.el.innerHTML,i._context=this.vm,t.appendChild(i)}var r=n?n._scope:this._scope;this.unlink=e.$compile(t,n,r,this._frag)}t?B(this.el,t):z(this.el)},fallback:function(){this.compile(tt(this.el,!0),this.vm)},unbind:function(){this.unlink&&this.unlink()}},Fs={priority:Tr,params:["name"],paramWatchers:{name:function(t){Er.remove.call(this),t&&this.insert(t)}},bind:function(){this.anchor=rt("v-partial"),B(this.el,this.anchor),this.insert(this.params.name)},insert:function(t){var e=wt(this.vm.$options,"partials",t);e&&(this.factory=new ue(this.vm,e),Er.insert.call(this))},unbind:function(){this.frag&&this.frag.destroy()}},Ns={slot:Es,partial:Fs},Us=Pr._postProcess,Rs=/(\d{3})(?=\d)/g,Ws={orderBy:bn,filterBy:yn,limitBy:_n,json:{read:function(t,e){return"string"==typeof t?t:JSON.stringify(t,null,Number(e)||2)},write:function(t){try{return JSON.parse(t)}catch(e){return t}}},capitalize:function(t){return t||0===t?(t=t.toString(),t.charAt(0).toUpperCase()+t.slice(1)):""},uppercase:function(t){return t||0===t?t.toString().toUpperCase():""},lowercase:function(t){return t||0===t?t.toString().toLowerCase():""},currency:function(t,e){if(t=parseFloat(t),!isFinite(t)||!t&&0!==t)return"";e=null!=e?e:"$";var n=Math.abs(t).toFixed(2),i=n.slice(0,-3),r=i.length%3,s=r>0?i.slice(0,r)+(i.length>3?",":""):"",o=n.slice(-3),a=0>t?"-":"";return a+e+s+i.slice(r).replace(Rs,"$1,")+o},pluralize:function(t){var e=v(arguments,1);return e.length>1?e[t%10-1]||e[e.length-1]:e[0]+(1===t?"":"s")},debounce:function(t,e){return t?(e||(e=300),w(t,e)):void 0}};kn(gn),gn.version="1.0.17",jn&&jn.emit("init",gn),e.exports=gn}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],27:[function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{"default":t}}var r=t("./components/SearchIndex.vue"),s=i(r),o=t("./components/SearchCreate.vue"),a=i(o),u=t("./components/SearchShow.vue"),c=i(u),l=t("./components/SearchActionsButtons.vue"),h=(i(l),t("moment")),f=t("vue"),d=t("vue-resource");f.use(d),f.config.debug=!0,f.http.headers.common["X-CSRF-TOKEN"]=document.querySelector('meta[name="csrf-token"]').getAttribute("content"),(document.body.classList.contains("searches-index")||document.body.classList.contains("searches-show")||document.body.classList.contains("searches-create"))&&(f.filter("searchStatus",function(t){return t===!1?'':''}),f.filter("formatInteger",function(t){return t.toLocaleString()}),f.filter("timeAgo",function(t){return h(t).fromNow()}),new f({el:"#app",data:{},methods:{},components:{SearchIndex:s["default"],SearchCreate:a["default"],SearchShow:c["default"]}}))},{"./components/SearchActionsButtons.vue":28,"./components/SearchCreate.vue":29,"./components/SearchIndex.vue":30,"./components/SearchShow.vue":31,moment:1,vue:26,"vue-resource":15}],28:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n["default"]={computed:{createSearchUrl:function(){return baseUrl+"/searches/create"},downloadResourcesUrl:function(){return baseUrl+"/resources"},countSearches:function(){return void 0!==this.$parent.searches?this.$parent.searches.length:0}},methods:{deleteAllSearches:function(){return confirm("Are you shure you want to delete all your searches?")?(this.$http["delete"](apiUrl+"/users/"+userId+"/searches").then(function(){this.$parent.getUserSearches()},function(t){console.log(t)}),!0):!1}}},e.exports.__esModule&&(e.exports=e.exports["default"]),("function"==typeof e.exports?e.exports.options:e.exports).template=' Start a new search Download all resources Delete all searches'},{}],29:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n["default"]={data:function(){return{entrypoint:"",type:""}},computed:{searchesIndexUrl:function(){return baseUrl+"/searches"}},methods:{createSearch:function(){var t={entrypoint:this.entrypoint,type:this.type};this.$http.post(baseUrl+"/searches",t).then(function(){console.log(response)},function(t){console.log(t)}),window.location=baseUrl+"/searches"}}},e.exports.__esModule&&(e.exports=e.exports["default"]),("function"==typeof e.exports?e.exports.options:e.exports).template='



My searches'},{}],30:[function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(n,"__esModule",{value:!0});var r=t("./SearchActionsButtons.vue"),s=i(r);n["default"]={data:function(){return{searches:[]}},methods:{getUserSearches:function(){this.$http.get(apiUrl+"/users/"+userId+"/searches").then(function(t){this.$root.searches=t.data.searches,this.searches=t.data.searches},function(t){console.log(t)})},getUserSearchesEveryFiveSeconds:function(){this.interval=setInterval(function(){if(this.getUserSearches(),this.searches.length>0){for(var t=!1,e=0;e{{ search.resource_type | capitalize }}{{ search.entrypoint_url }}{{ search.created_at | timeAgo }}{{{ search.finished | searchStatus }}}{{ search.related.urls.data.total | formatInteger }}{{ search.related.resources.data.total | formatInteger }} '},{"./SearchActionsButtons.vue":28}],31:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n["default"]={data:function(){return{search:{related:{urls:{data:{total:0,crawled:0}},resources:{data:{total:0,crawled:0}}}},interval:null}},computed:{UserSearchesPageUrl:function(){return baseUrl+"/searches"}},methods:{getSearchEverySecond:function(){this.interval=setInterval(function(){this.getSearch(searchId)}.bind(this),1e3)},getSearch:function(t){this.$http.get(apiUrl+"/users/"+userId+"/searches/"+t).then(function(t){this.search=t.data,this.search.finished&&clearInterval(this.interval)},function(t){clearInterval(this.interval),console.log(t)})},downloadSearchResourceUrl:function(t){return baseUrl+"/searches/"+t+"/resources"},stopSearch:function(t){this.$http.patch(apiUrl+"/users/"+userId+"/searches/"+t,{finished:!0}).then(function(t){},function(t){})}},ready:function(){this.getSearch(searchId),this.getSearchEverySecond()}},e.exports.__esModule&&(e.exports=e.exports["default"]),("function"==typeof e.exports?e.exports.options:e.exports).template='

Status: {{{ search.finished | searchStatus }}}
Started: {{ search.created_at | timeAgo }}
Url found: {{ search.related.urls.data.total | formatInteger }}
Url crawled: {{ search.related.urls.data.crawled | formatInteger }}
{{ search.resource_type | capitalize }}s found: {{ search.related.resources.data.total | formatInteger }}

Url stats:

{{ search.related.urls.data.percent_crawled }}%
{{ search.related.urls.data.percent_not_crawled }}%
    crawled
    not crawled yet

Download {{ search.resource_type }}s Once a search is stopped, it cannot be restarted.

My searches'},{}]},{},[27]); \ No newline at end of file +!function t(e,n,i){function r(o,a){if(!n[o]){if(!e[o]){var u="function"==typeof require&&require;if(!a&&u)return u(o,!0);if(s)return s(o,!0);var c=new Error("Cannot find module '"+o+"'");throw c.code="MODULE_NOT_FOUND",c}var l=n[o]={exports:{}};e[o][0].call(l.exports,function(t){var n=e[o][1][t];return r(n?n:t)},l,l.exports,t,e,n,i)}return n[o].exports}for(var s="function"==typeof require&&require,o=0;o0)for(n in ei)i=ei[n],r=e[i],p(r)||(t[i]=r);return t}function v(t){m(this,t),this._d=new Date(null!=t._d?t._d.getTime():NaN),ni===!1&&(ni=!0,n.updateOffset(this),ni=!1)}function g(t){return t instanceof v||null!=t&&null!=t._isAMomentObject}function _(t){return 0>t?Math.ceil(t):Math.floor(t)}function y(t){var e=+t,n=0;return 0!==e&&isFinite(e)&&(n=_(e)),n}function b(t,e,n){var i,r=Math.min(t.length,e.length),s=Math.abs(t.length-e.length),o=0;for(i=0;r>i;i++)(n&&t[i]!==e[i]||!n&&y(t[i])!==y(e[i]))&&o++;return o+s}function w(t){n.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+t)}function k(t,e){var n=!0;return u(function(){return n&&(w(t+"\nArguments: "+Array.prototype.slice.call(arguments).join(", ")+"\n"+(new Error).stack),n=!1),e.apply(this,arguments)},e)}function x(t,e){ii[t]||(w(e),ii[t]=!0)}function S(t){return t instanceof Function||"[object Function]"===Object.prototype.toString.call(t)}function C(t){return"[object Object]"===Object.prototype.toString.call(t)}function D(t){var e,n;for(n in t)e=t[n],S(e)?this[n]=e:this["_"+n]=e;this._config=t,this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)}function O(t,e){var n,i=u({},t);for(n in e)a(e,n)&&(C(t[n])&&C(e[n])?(i[n]={},u(i[n],t[n]),u(i[n],e[n])):null!=e[n]?i[n]=e[n]:delete i[n]);return i}function $(t){null!=t&&this.set(t)}function T(t){return t?t.toLowerCase().replace("_","-"):t}function M(t){for(var e,n,i,r,s=0;s0;){if(i=A(r.slice(0,e).join("-")))return i;if(n&&n.length>=e&&b(r,n,!0)>=e-1)break;e--}s++}return null}function A(n){var i=null;if(!si[n]&&"undefined"!=typeof e&&e&&e.exports)try{i=ri._abbr,t("./locale/"+n),Y(i)}catch(r){}return si[n]}function Y(t,e){var n;return t&&(n=p(e)?E(t):j(t,e),n&&(ri=n)),ri._abbr}function j(t,e){return null!==e?(e.abbr=t,null!=si[t]?(x("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale"),e=O(si[t]._config,e)):null!=e.parentLocale&&(null!=si[e.parentLocale]?e=O(si[e.parentLocale]._config,e):x("parentLocaleUndefined","specified parentLocale is not defined yet")),si[t]=new $(e),Y(t),si[t]):(delete si[t],null)}function P(t,e){if(null!=e){var n;null!=si[t]&&(e=O(si[t]._config,e)),n=new $(e),n.parentLocale=si[t],si[t]=n,Y(t)}else null!=si[t]&&(null!=si[t].parentLocale?si[t]=si[t].parentLocale:null!=si[t]&&delete si[t]);return si[t]}function E(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return ri;if(!r(t)){if(e=A(t))return e;t=[t]}return M(t)}function F(){return Object.keys(si)}function N(t,e){var n=t.toLowerCase();oi[n]=oi[n+"s"]=oi[e]=t}function U(t){return"string"==typeof t?oi[t]||oi[t.toLowerCase()]:void 0}function R(t){var e,n,i={};for(n in t)a(t,n)&&(e=U(n),e&&(i[e]=t[n]));return i}function W(t,e){return function(i){return null!=i?(L(this,t,i),n.updateOffset(this,e),this):H(this,t)}}function H(t,e){return t.isValid()?t._d["get"+(t._isUTC?"UTC":"")+e]():NaN}function L(t,e,n){t.isValid()&&t._d["set"+(t._isUTC?"UTC":"")+e](n)}function I(t,e){var n;if("object"==typeof t)for(n in t)this.set(n,t[n]);else if(t=U(t),S(this[t]))return this[t](e);return this}function V(t,e,n){var i=""+Math.abs(t),r=e-i.length,s=t>=0;return(s?n?"+":"":"-")+Math.pow(10,Math.max(0,r)).toString().substr(1)+i}function G(t,e,n,i){var r=i;"string"==typeof i&&(r=function(){return this[i]()}),t&&(li[t]=r),e&&(li[e[0]]=function(){return V(r.apply(this,arguments),e[1],e[2])}),n&&(li[n]=function(){return this.localeData().ordinal(r.apply(this,arguments),t)})}function z(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function q(t){var e,n,i=t.match(ai);for(e=0,n=i.length;n>e;e++)li[i[e]]?i[e]=li[i[e]]:i[e]=z(i[e]);return function(r){var s="";for(e=0;n>e;e++)s+=i[e]instanceof Function?i[e].call(r,t):i[e];return s}}function B(t,e){return t.isValid()?(e=J(e,t.localeData()),ci[e]=ci[e]||q(e),ci[e](t)):t.localeData().invalidDate()}function J(t,e){function n(t){return e.longDateFormat(t)||t}var i=5;for(ui.lastIndex=0;i>=0&&ui.test(t);)t=t.replace(ui,n),ui.lastIndex=0,i-=1;return t}function Z(t,e,n){$i[t]=S(e)?e:function(t,i){return t&&n?n:e}}function Q(t,e){return a($i,t)?$i[t](e._strict,e._locale):new RegExp(X(t))}function X(t){return K(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,n,i,r){return e||n||i||r}))}function K(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function tt(t,e){var n,i=e;for("string"==typeof t&&(t=[t]),"number"==typeof e&&(i=function(t,n){n[e]=y(t)}),n=0;ni;i++){if(r=c([2e3,i]),n&&!this._longMonthsParse[i]&&(this._longMonthsParse[i]=new RegExp("^"+this.months(r,"").replace(".","")+"$","i"),this._shortMonthsParse[i]=new RegExp("^"+this.monthsShort(r,"").replace(".","")+"$","i")),n||this._monthsParse[i]||(s="^"+this.months(r,"")+"|^"+this.monthsShort(r,""),this._monthsParse[i]=new RegExp(s.replace(".",""),"i")),n&&"MMMM"===e&&this._longMonthsParse[i].test(t))return i;if(n&&"MMM"===e&&this._shortMonthsParse[i].test(t))return i;if(!n&&this._monthsParse[i].test(t))return i}}function at(t,e){var n;if(!t.isValid())return t;if("string"==typeof e)if(/^\d+$/.test(e))e=y(e);else if(e=t.localeData().monthsParse(e),"number"!=typeof e)return t;return n=Math.min(t.date(),it(t.year(),e)),t._d["set"+(t._isUTC?"UTC":"")+"Month"](e,n),t}function ut(t){return null!=t?(at(this,t),n.updateOffset(this,!0),this):H(this,"Month")}function ct(){return it(this.year(),this.month())}function lt(t){return this._monthsParseExact?(a(this,"_monthsRegex")||dt.call(this),t?this._monthsShortStrictRegex:this._monthsShortRegex):this._monthsShortStrictRegex&&t?this._monthsShortStrictRegex:this._monthsShortRegex}function ht(t){return this._monthsParseExact?(a(this,"_monthsRegex")||dt.call(this),t?this._monthsStrictRegex:this._monthsRegex):this._monthsStrictRegex&&t?this._monthsStrictRegex:this._monthsRegex}function dt(){function t(t,e){return e.length-t.length}var e,n,i=[],r=[],s=[];for(e=0;12>e;e++)n=c([2e3,e]),i.push(this.monthsShort(n,"")),r.push(this.months(n,"")),s.push(this.months(n,"")),s.push(this.monthsShort(n,""));for(i.sort(t),r.sort(t),s.sort(t),e=0;12>e;e++)i[e]=K(i[e]),r[e]=K(r[e]),s[e]=K(s[e]);this._monthsRegex=new RegExp("^("+s.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+r.join("|")+")$","i"),this._monthsShortStrictRegex=new RegExp("^("+i.join("|")+")$","i")}function ft(t){var e,n=t._a;return n&&-2===h(t).overflow&&(e=n[Ai]<0||n[Ai]>11?Ai:n[Yi]<1||n[Yi]>it(n[Mi],n[Ai])?Yi:n[ji]<0||n[ji]>24||24===n[ji]&&(0!==n[Pi]||0!==n[Ei]||0!==n[Fi])?ji:n[Pi]<0||n[Pi]>59?Pi:n[Ei]<0||n[Ei]>59?Ei:n[Fi]<0||n[Fi]>999?Fi:-1,h(t)._overflowDayOfYear&&(Mi>e||e>Yi)&&(e=Yi),h(t)._overflowWeeks&&-1===e&&(e=Ni),h(t)._overflowWeekday&&-1===e&&(e=Ui),h(t).overflow=e),t}function pt(t){var e,n,i,r,s,o,a=t._i,u=Vi.exec(a)||Gi.exec(a);if(u){for(h(t).iso=!0,e=0,n=qi.length;n>e;e++)if(qi[e][1].exec(u[1])){r=qi[e][0],i=qi[e][2]!==!1;break}if(null==r)return void(t._isValid=!1);if(u[3]){for(e=0,n=Bi.length;n>e;e++)if(Bi[e][1].exec(u[3])){s=(u[2]||" ")+Bi[e][0];break}if(null==s)return void(t._isValid=!1)}if(!i&&null!=s)return void(t._isValid=!1);if(u[4]){if(!zi.exec(u[4]))return void(t._isValid=!1);o="Z"}t._f=r+(s||"")+(o||""),Tt(t)}else t._isValid=!1}function mt(t){var e=Ji.exec(t._i);return null!==e?void(t._d=new Date(+e[1])):(pt(t),void(t._isValid===!1&&(delete t._isValid,n.createFromInputFallback(t))))}function vt(t,e,n,i,r,s,o){var a=new Date(t,e,n,i,r,s,o);return 100>t&&t>=0&&isFinite(a.getFullYear())&&a.setFullYear(t),a}function gt(t){var e=new Date(Date.UTC.apply(null,arguments));return 100>t&&t>=0&&isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t),e}function _t(t){return yt(t)?366:365}function yt(t){return t%4===0&&t%100!==0||t%400===0}function bt(){return yt(this.year())}function wt(t,e,n){var i=7+e-n,r=(7+gt(t,0,i).getUTCDay()-e)%7;return-r+i-1}function kt(t,e,n,i,r){var s,o,a=(7+n-i)%7,u=wt(t,i,r),c=1+7*(e-1)+a+u;return 0>=c?(s=t-1,o=_t(s)+c):c>_t(t)?(s=t+1,o=c-_t(t)):(s=t,o=c),{year:s,dayOfYear:o}}function xt(t,e,n){var i,r,s=wt(t.year(),e,n),o=Math.floor((t.dayOfYear()-s-1)/7)+1;return 1>o?(r=t.year()-1,i=o+St(r,e,n)):o>St(t.year(),e,n)?(i=o-St(t.year(),e,n),r=t.year()+1):(r=t.year(),i=o),{week:i,year:r}}function St(t,e,n){var i=wt(t,e,n),r=wt(t+1,e,n);return(_t(t)-i+r)/7}function Ct(t,e,n){return null!=t?t:null!=e?e:n}function Dt(t){var e=new Date(n.now());return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}function Ot(t){var e,n,i,r,s=[];if(!t._d){for(i=Dt(t),t._w&&null==t._a[Yi]&&null==t._a[Ai]&&$t(t),t._dayOfYear&&(r=Ct(t._a[Mi],i[Mi]),t._dayOfYear>_t(r)&&(h(t)._overflowDayOfYear=!0),n=gt(r,0,t._dayOfYear),t._a[Ai]=n.getUTCMonth(),t._a[Yi]=n.getUTCDate()),e=0;3>e&&null==t._a[e];++e)t._a[e]=s[e]=i[e];for(;7>e;e++)t._a[e]=s[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[ji]&&0===t._a[Pi]&&0===t._a[Ei]&&0===t._a[Fi]&&(t._nextDay=!0,t._a[ji]=0),t._d=(t._useUTC?gt:vt).apply(null,s),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[ji]=24)}}function $t(t){var e,n,i,r,s,o,a,u;e=t._w,null!=e.GG||null!=e.W||null!=e.E?(s=1,o=4,n=Ct(e.GG,t._a[Mi],xt(Nt(),1,4).year),i=Ct(e.W,1),r=Ct(e.E,1),(1>r||r>7)&&(u=!0)):(s=t._locale._week.dow,o=t._locale._week.doy,n=Ct(e.gg,t._a[Mi],xt(Nt(),s,o).year),i=Ct(e.w,1),null!=e.d?(r=e.d,(0>r||r>6)&&(u=!0)):null!=e.e?(r=e.e+s,(e.e<0||e.e>6)&&(u=!0)):r=s),1>i||i>St(n,s,o)?h(t)._overflowWeeks=!0:null!=u?h(t)._overflowWeekday=!0:(a=kt(n,i,r,s,o),t._a[Mi]=a.year,t._dayOfYear=a.dayOfYear)}function Tt(t){if(t._f===n.ISO_8601)return void pt(t);t._a=[],h(t).empty=!0;var e,i,r,s,o,a=""+t._i,u=a.length,c=0;for(r=J(t._f,t._locale).match(ai)||[],e=0;e0&&h(t).unusedInput.push(o),a=a.slice(a.indexOf(i)+i.length),c+=i.length),li[s]?(i?h(t).empty=!1:h(t).unusedTokens.push(s),nt(s,i,t)):t._strict&&!i&&h(t).unusedTokens.push(s);h(t).charsLeftOver=u-c,a.length>0&&h(t).unusedInput.push(a),h(t).bigHour===!0&&t._a[ji]<=12&&t._a[ji]>0&&(h(t).bigHour=void 0),t._a[ji]=Mt(t._locale,t._a[ji],t._meridiem),Ot(t),ft(t)}function Mt(t,e,n){var i;return null==n?e:null!=t.meridiemHour?t.meridiemHour(e,n):null!=t.isPM?(i=t.isPM(n),i&&12>e&&(e+=12),i||12!==e||(e=0),e):e}function At(t){var e,n,i,r,s;if(0===t._f.length)return h(t).invalidFormat=!0,void(t._d=new Date(NaN));for(r=0;rs)&&(i=s,n=e));u(t,n||e)}function Yt(t){if(!t._d){var e=R(t._i);t._a=o([e.year,e.month,e.day||e.date,e.hour,e.minute,e.second,e.millisecond],function(t){return t&&parseInt(t,10)}),Ot(t)}}function jt(t){var e=new v(ft(Pt(t)));return e._nextDay&&(e.add(1,"d"),e._nextDay=void 0),e}function Pt(t){var e=t._i,n=t._f;return t._locale=t._locale||E(t._l),null===e||void 0===n&&""===e?f({nullInput:!0}):("string"==typeof e&&(t._i=e=t._locale.preparse(e)),g(e)?new v(ft(e)):(r(n)?At(t):n?Tt(t):s(e)?t._d=e:Et(t),d(t)||(t._d=null),t))}function Et(t){var e=t._i;void 0===e?t._d=new Date(n.now()):s(e)?t._d=new Date(+e):"string"==typeof e?mt(t):r(e)?(t._a=o(e.slice(0),function(t){return parseInt(t,10)}),Ot(t)):"object"==typeof e?Yt(t):"number"==typeof e?t._d=new Date(e):n.createFromInputFallback(t)}function Ft(t,e,n,i,r){var s={};return"boolean"==typeof n&&(i=n,n=void 0),s._isAMomentObject=!0,s._useUTC=s._isUTC=r,s._l=n,s._i=t,s._f=e,s._strict=i,jt(s)}function Nt(t,e,n,i){return Ft(t,e,n,i,!1)}function Ut(t,e){var n,i;if(1===e.length&&r(e[0])&&(e=e[0]),!e.length)return Nt();for(n=e[0],i=1;it&&(t=-t,n="-"),n+V(~~(t/60),2)+e+V(~~t%60,2)})}function Vt(t,e){var n=(e||"").match(t)||[],i=n[n.length-1]||[],r=(i+"").match(tr)||["-",0,0],s=+(60*r[1])+y(r[2]);return"+"===r[0]?s:-s}function Gt(t,e){var i,r;return e._isUTC?(i=e.clone(),r=(g(t)||s(t)?+t:+Nt(t))-+i,i._d.setTime(+i._d+r),n.updateOffset(i,!1),i):Nt(t).local()}function zt(t){return 15*-Math.round(t._d.getTimezoneOffset()/15)}function qt(t,e){var i,r=this._offset||0;return this.isValid()?null!=t?("string"==typeof t?t=Vt(Ci,t):Math.abs(t)<16&&(t=60*t),!this._isUTC&&e&&(i=zt(this)),this._offset=t,this._isUTC=!0,null!=i&&this.add(i,"m"),r!==t&&(!e||this._changeInProgress?le(this,re(t-r,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,n.updateOffset(this,!0),this._changeInProgress=null)),this):this._isUTC?r:zt(this):null!=t?this:NaN}function Bt(t,e){return null!=t?("string"!=typeof t&&(t=-t),this.utcOffset(t,e),this):-this.utcOffset()}function Jt(t){return this.utcOffset(0,t)}function Zt(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(zt(this),"m")),this}function Qt(){return this._tzm?this.utcOffset(this._tzm):"string"==typeof this._i&&this.utcOffset(Vt(Si,this._i)),this}function Xt(t){return this.isValid()?(t=t?Nt(t).utcOffset():0,(this.utcOffset()-t)%60===0):!1}function Kt(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function te(){if(!p(this._isDSTShifted))return this._isDSTShifted;var t={};if(m(t,this),t=Pt(t),t._a){var e=t._isUTC?c(t._a):Nt(t._a);this._isDSTShifted=this.isValid()&&b(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function ee(){return this.isValid()?!this._isUTC:!1}function ne(){return this.isValid()?this._isUTC:!1}function ie(){return this.isValid()?this._isUTC&&0===this._offset:!1}function re(t,e){var n,i,r,s=t,o=null;return Lt(t)?s={ms:t._milliseconds,d:t._days,M:t._months}:"number"==typeof t?(s={},e?s[e]=t:s.milliseconds=t):(o=er.exec(t))?(n="-"===o[1]?-1:1,s={y:0,d:y(o[Yi])*n,h:y(o[ji])*n,m:y(o[Pi])*n,s:y(o[Ei])*n,ms:y(o[Fi])*n}):(o=nr.exec(t))?(n="-"===o[1]?-1:1,s={y:se(o[2],n),M:se(o[3],n),w:se(o[4],n),d:se(o[5],n),h:se(o[6],n),m:se(o[7],n),s:se(o[8],n)}):null==s?s={}:"object"==typeof s&&("from"in s||"to"in s)&&(r=ae(Nt(s.from),Nt(s.to)),s={},s.ms=r.milliseconds,s.M=r.months),i=new Ht(s),Lt(t)&&a(t,"_locale")&&(i._locale=t._locale),i}function se(t,e){var n=t&&parseFloat(t.replace(",","."));return(isNaN(n)?0:n)*e}function oe(t,e){var n={milliseconds:0,months:0};return n.months=e.month()-t.month()+12*(e.year()-t.year()),t.clone().add(n.months,"M").isAfter(e)&&--n.months,n.milliseconds=+e-+t.clone().add(n.months,"M"),n}function ae(t,e){var n;return t.isValid()&&e.isValid()?(e=Gt(e,t),t.isBefore(e)?n=oe(t,e):(n=oe(e,t),n.milliseconds=-n.milliseconds,n.months=-n.months),n):{milliseconds:0,months:0}}function ue(t){return 0>t?-1*Math.round(-1*t):Math.round(t)}function ce(t,e){return function(n,i){var r,s;return null===i||isNaN(+i)||(x(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period)."),s=n,n=i,i=s),n="string"==typeof n?+n:n,r=re(n,i),le(this,r,t),this}}function le(t,e,i,r){var s=e._milliseconds,o=ue(e._days),a=ue(e._months);t.isValid()&&(r=null==r?!0:r,s&&t._d.setTime(+t._d+s*i),o&&L(t,"Date",H(t,"Date")+o*i),a&&at(t,H(t,"Month")+a*i),r&&n.updateOffset(t,o||a))}function he(t,e){var n=t||Nt(),i=Gt(n,this).startOf("day"),r=this.diff(i,"days",!0),s=-6>r?"sameElse":-1>r?"lastWeek":0>r?"lastDay":1>r?"sameDay":2>r?"nextDay":7>r?"nextWeek":"sameElse",o=e&&(S(e[s])?e[s]():e[s]);return this.format(o||this.localeData().calendar(s,this,Nt(n)))}function de(){return new v(this)}function fe(t,e){var n=g(t)?t:Nt(t);return this.isValid()&&n.isValid()?(e=U(p(e)?"millisecond":e),"millisecond"===e?+this>+n:+n<+this.clone().startOf(e)):!1}function pe(t,e){var n=g(t)?t:Nt(t);return this.isValid()&&n.isValid()?(e=U(p(e)?"millisecond":e),"millisecond"===e?+n>+this:+this.clone().endOf(e)<+n):!1}function me(t,e,n){return this.isAfter(t,n)&&this.isBefore(e,n)}function ve(t,e){var n,i=g(t)?t:Nt(t);return this.isValid()&&i.isValid()?(e=U(e||"millisecond"),"millisecond"===e?+this===+i:(n=+i,+this.clone().startOf(e)<=n&&n<=+this.clone().endOf(e))):!1}function ge(t,e){return this.isSame(t,e)||this.isAfter(t,e)}function _e(t,e){return this.isSame(t,e)||this.isBefore(t,e)}function ye(t,e,n){var i,r,s,o;return this.isValid()?(i=Gt(t,this),i.isValid()?(r=6e4*(i.utcOffset()-this.utcOffset()),e=U(e),"year"===e||"month"===e||"quarter"===e?(o=be(this,i),"quarter"===e?o/=3:"year"===e&&(o/=12)):(s=this-i,o="second"===e?s/1e3:"minute"===e?s/6e4:"hour"===e?s/36e5:"day"===e?(s-r)/864e5:"week"===e?(s-r)/6048e5:s),n?o:_(o)):NaN):NaN}function be(t,e){var n,i,r=12*(e.year()-t.year())+(e.month()-t.month()),s=t.clone().add(r,"months");return 0>e-s?(n=t.clone().add(r-1,"months"),i=(e-s)/(s-n)):(n=t.clone().add(r+1,"months"),i=(e-s)/(n-s)),-(r+i)}function we(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function ke(){var t=this.clone().utc();return 0s&&(e=s),Be.call(this,t,e,n,i,r))}function Be(t,e,n,i,r){var s=kt(t,e,n,i,r),o=gt(s.year,0,s.dayOfYear);return this.year(o.getUTCFullYear()),this.month(o.getUTCMonth()),this.date(o.getUTCDate()),this}function Je(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)}function Ze(t){return xt(t,this._week.dow,this._week.doy).week}function Qe(){return this._week.dow}function Xe(){return this._week.doy}function Ke(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")}function tn(t){var e=xt(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")}function en(t,e){return"string"!=typeof t?t:isNaN(t)?(t=e.weekdaysParse(t),"number"==typeof t?t:null):parseInt(t,10)}function nn(t,e){return r(this._weekdays)?this._weekdays[t.day()]:this._weekdays[this._weekdays.isFormat.test(e)?"format":"standalone"][t.day()]}function rn(t){return this._weekdaysShort[t.day()]}function sn(t){return this._weekdaysMin[t.day()]}function on(t,e,n){var i,r,s;for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),i=0;7>i;i++){if(r=Nt([2e3,1]).day(i),n&&!this._fullWeekdaysParse[i]&&(this._fullWeekdaysParse[i]=new RegExp("^"+this.weekdays(r,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[i]=new RegExp("^"+this.weekdaysShort(r,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[i]=new RegExp("^"+this.weekdaysMin(r,"").replace(".",".?")+"$","i")),this._weekdaysParse[i]||(s="^"+this.weekdays(r,"")+"|^"+this.weekdaysShort(r,"")+"|^"+this.weekdaysMin(r,""),this._weekdaysParse[i]=new RegExp(s.replace(".",""),"i")),n&&"dddd"===e&&this._fullWeekdaysParse[i].test(t))return i;if(n&&"ddd"===e&&this._shortWeekdaysParse[i].test(t))return i;if(n&&"dd"===e&&this._minWeekdaysParse[i].test(t))return i;if(!n&&this._weekdaysParse[i].test(t))return i}}function an(t){if(!this.isValid())return null!=t?this:NaN;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=en(t,this.localeData()),this.add(t-e,"d")):e}function un(t){if(!this.isValid())return null!=t?this:NaN;var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")}function cn(t){return this.isValid()?null==t?this.day()||7:this.day(this.day()%7?t:t-7):null!=t?this:NaN}function ln(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")}function hn(){return this.hours()%12||12}function dn(t,e){G(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function fn(t,e){return e._meridiemParse}function pn(t){return"p"===(t+"").toLowerCase().charAt(0)}function mn(t,e,n){return t>11?n?"pm":"PM":n?"am":"AM"}function vn(t,e){e[Fi]=y(1e3*("0."+t))}function gn(){return this._isUTC?"UTC":""}function _n(){return this._isUTC?"Coordinated Universal Time":""}function yn(t){return Nt(1e3*t)}function bn(){return Nt.apply(null,arguments).parseZone()}function wn(t,e,n){var i=this._calendar[t];return S(i)?i.call(e,n):i}function kn(t){var e=this._longDateFormat[t],n=this._longDateFormat[t.toUpperCase()];return e||!n?e:(this._longDateFormat[t]=n.replace(/MMMM|MM|DD|dddd/g,function(t){return t.slice(1)}),this._longDateFormat[t])}function xn(){return this._invalidDate}function Sn(t){return this._ordinal.replace("%d",t)}function Cn(t){return t}function Dn(t,e,n,i){var r=this._relativeTime[n];return S(r)?r(t,e,n,i):r.replace(/%d/i,t)}function On(t,e){var n=this._relativeTime[t>0?"future":"past"];return S(n)?n(e):n.replace(/%s/i,e)}function $n(t,e,n,i){var r=E(),s=c().set(i,e);return r[n](s,t)}function Tn(t,e,n,i,r){if("number"==typeof t&&(e=t,t=void 0),t=t||"",null!=e)return $n(t,e,n,r);var s,o=[];for(s=0;i>s;s++)o[s]=$n(t,s,n,r);return o}function Mn(t,e){return Tn(t,e,"months",12,"month")}function An(t,e){return Tn(t,e,"monthsShort",12,"month")}function Yn(t,e){return Tn(t,e,"weekdays",7,"day")}function jn(t,e){return Tn(t,e,"weekdaysShort",7,"day")}function Pn(t,e){return Tn(t,e,"weekdaysMin",7,"day")}function En(){var t=this._data;return this._milliseconds=Dr(this._milliseconds),this._days=Dr(this._days),this._months=Dr(this._months),t.milliseconds=Dr(t.milliseconds),t.seconds=Dr(t.seconds),t.minutes=Dr(t.minutes),t.hours=Dr(t.hours),t.months=Dr(t.months),t.years=Dr(t.years),this}function Fn(t,e,n,i){var r=re(e,n);return t._milliseconds+=i*r._milliseconds,t._days+=i*r._days,t._months+=i*r._months,t._bubble()}function Nn(t,e){return Fn(this,t,e,1)}function Un(t,e){return Fn(this,t,e,-1)}function Rn(t){return 0>t?Math.floor(t):Math.ceil(t)}function Wn(){var t,e,n,i,r,s=this._milliseconds,o=this._days,a=this._months,u=this._data;return s>=0&&o>=0&&a>=0||0>=s&&0>=o&&0>=a||(s+=864e5*Rn(Ln(a)+o),o=0,a=0),u.milliseconds=s%1e3,t=_(s/1e3),u.seconds=t%60,e=_(t/60),u.minutes=e%60,n=_(e/60),u.hours=n%24,o+=_(n/24),r=_(Hn(o)),a+=r,o-=Rn(Ln(r)),i=_(a/12),a%=12,u.days=o,u.months=a,u.years=i,this}function Hn(t){return 4800*t/146097}function Ln(t){return 146097*t/4800}function In(t){var e,n,i=this._milliseconds;if(t=U(t),"month"===t||"year"===t)return e=this._days+i/864e5,n=this._months+Hn(e),"month"===t?n:n/12;switch(e=this._days+Math.round(Ln(this._months)),t){case"week":return e/7+i/6048e5;case"day":return e+i/864e5;case"hour":return 24*e+i/36e5;case"minute":return 1440*e+i/6e4;case"second":return 86400*e+i/1e3;case"millisecond":return Math.floor(864e5*e)+i;default:throw new Error("Unknown unit "+t)}}function Vn(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*y(this._months/12)}function Gn(t){return function(){return this.as(t)}}function zn(t){return t=U(t),this[t+"s"]()}function qn(t){return function(){return this._data[t]}}function Bn(){return _(this.days()/7)}function Jn(t,e,n,i,r){return r.relativeTime(e||1,!!n,t,i)}function Zn(t,e,n){var i=re(t).abs(),r=Lr(i.as("s")),s=Lr(i.as("m")),o=Lr(i.as("h")),a=Lr(i.as("d")),u=Lr(i.as("M")),c=Lr(i.as("y")),l=r=s&&["m"]||s=o&&["h"]||o=a&&["d"]||a=u&&["M"]||u=c&&["y"]||["yy",c];return l[2]=e,l[3]=+t>0,l[4]=n,Jn.apply(null,l)}function Qn(t,e){return void 0===Ir[t]?!1:void 0===e?Ir[t]:(Ir[t]=e,!0)}function Xn(t){var e=this.localeData(),n=Zn(this,!t,e);return t&&(n=e.pastFuture(+this,n)),e.postformat(n)}function Kn(){var t,e,n,i=Vr(this._milliseconds)/1e3,r=Vr(this._days),s=Vr(this._months);t=_(i/60),e=_(t/60),i%=60,t%=60,n=_(s/12),s%=12;var o=n,a=s,u=r,c=e,l=t,h=i,d=this.asSeconds();return d?(0>d?"-":"")+"P"+(o?o+"Y":"")+(a?a+"M":"")+(u?u+"D":"")+(c||l||h?"T":"")+(c?c+"H":"")+(l?l+"M":"")+(h?h+"S":""):"P0D"}var ti,ei=n.momentProperties=[],ni=!1,ii={};n.suppressDeprecationWarnings=!1;var ri,si={},oi={},ai=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,ui=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,ci={},li={},hi=/\d/,di=/\d\d/,fi=/\d{3}/,pi=/\d{4}/,mi=/[+-]?\d{6}/,vi=/\d\d?/,gi=/\d\d\d\d?/,_i=/\d\d\d\d\d\d?/,yi=/\d{1,3}/,bi=/\d{1,4}/,wi=/[+-]?\d{1,6}/,ki=/\d+/,xi=/[+-]?\d+/,Si=/Z|[+-]\d\d:?\d\d/gi,Ci=/Z|[+-]\d\d(?::?\d\d)?/gi,Di=/[+-]?\d+(\.\d{1,3})?/,Oi=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,$i={},Ti={},Mi=0,Ai=1,Yi=2,ji=3,Pi=4,Ei=5,Fi=6,Ni=7,Ui=8;G("M",["MM",2],"Mo",function(){return this.month()+1}),G("MMM",0,0,function(t){return this.localeData().monthsShort(this,t)}),G("MMMM",0,0,function(t){return this.localeData().months(this,t)}),N("month","M"),Z("M",vi),Z("MM",vi,di),Z("MMM",function(t,e){return e.monthsShortRegex(t)}),Z("MMMM",function(t,e){return e.monthsRegex(t)}),tt(["M","MM"],function(t,e){e[Ai]=y(t)-1}),tt(["MMM","MMMM"],function(t,e,n,i){var r=n._locale.monthsParse(t,i,n._strict);null!=r?e[Ai]=r:h(n).invalidMonth=t});var Ri=/D[oD]?(\[[^\[\]]*\]|\s+)+MMMM?/,Wi="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),Hi="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),Li=Oi,Ii=Oi,Vi=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?/,Gi=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?/,zi=/Z|[+-]\d\d(?::?\d\d)?/,qi=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],Bi=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Ji=/^\/?Date\((\-?\d+)/i;n.createFromInputFallback=k("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(t){ +t._d=new Date(t._i+(t._useUTC?" UTC":""))}),G("Y",0,0,function(){var t=this.year();return 9999>=t?""+t:"+"+t}),G(0,["YY",2],0,function(){return this.year()%100}),G(0,["YYYY",4],0,"year"),G(0,["YYYYY",5],0,"year"),G(0,["YYYYYY",6,!0],0,"year"),N("year","y"),Z("Y",xi),Z("YY",vi,di),Z("YYYY",bi,pi),Z("YYYYY",wi,mi),Z("YYYYYY",wi,mi),tt(["YYYYY","YYYYYY"],Mi),tt("YYYY",function(t,e){e[Mi]=2===t.length?n.parseTwoDigitYear(t):y(t)}),tt("YY",function(t,e){e[Mi]=n.parseTwoDigitYear(t)}),tt("Y",function(t,e){e[Mi]=parseInt(t,10)}),n.parseTwoDigitYear=function(t){return y(t)+(y(t)>68?1900:2e3)};var Zi=W("FullYear",!1);n.ISO_8601=function(){};var Qi=k("moment().min is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(){var t=Nt.apply(null,arguments);return this.isValid()&&t.isValid()?this>t?this:t:f()}),Xi=k("moment().max is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(){var t=Nt.apply(null,arguments);return this.isValid()&&t.isValid()?t>this?this:t:f()}),Ki=function(){return Date.now?Date.now():+new Date};It("Z",":"),It("ZZ",""),Z("Z",Ci),Z("ZZ",Ci),tt(["Z","ZZ"],function(t,e,n){n._useUTC=!0,n._tzm=Vt(Ci,t)});var tr=/([\+\-]|\d\d)/gi;n.updateOffset=function(){};var er=/^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?\d*)?$/,nr=/^(-)?P(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)W)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?$/;re.fn=Ht.prototype;var ir=ce(1,"add"),rr=ce(-1,"subtract");n.defaultFormat="YYYY-MM-DDTHH:mm:ssZ";var sr=k("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(t){return void 0===t?this.localeData():this.locale(t)});G(0,["gg",2],0,function(){return this.weekYear()%100}),G(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Le("gggg","weekYear"),Le("ggggg","weekYear"),Le("GGGG","isoWeekYear"),Le("GGGGG","isoWeekYear"),N("weekYear","gg"),N("isoWeekYear","GG"),Z("G",xi),Z("g",xi),Z("GG",vi,di),Z("gg",vi,di),Z("GGGG",bi,pi),Z("gggg",bi,pi),Z("GGGGG",wi,mi),Z("ggggg",wi,mi),et(["gggg","ggggg","GGGG","GGGGG"],function(t,e,n,i){e[i.substr(0,2)]=y(t)}),et(["gg","GG"],function(t,e,i,r){e[r]=n.parseTwoDigitYear(t)}),G("Q",0,"Qo","quarter"),N("quarter","Q"),Z("Q",hi),tt("Q",function(t,e){e[Ai]=3*(y(t)-1)}),G("w",["ww",2],"wo","week"),G("W",["WW",2],"Wo","isoWeek"),N("week","w"),N("isoWeek","W"),Z("w",vi),Z("ww",vi,di),Z("W",vi),Z("WW",vi,di),et(["w","ww","W","WW"],function(t,e,n,i){e[i.substr(0,1)]=y(t)});var or={dow:0,doy:6};G("D",["DD",2],"Do","date"),N("date","D"),Z("D",vi),Z("DD",vi,di),Z("Do",function(t,e){return t?e._ordinalParse:e._ordinalParseLenient}),tt(["D","DD"],Yi),tt("Do",function(t,e){e[Yi]=y(t.match(vi)[0],10)});var ar=W("Date",!0);G("d",0,"do","day"),G("dd",0,0,function(t){return this.localeData().weekdaysMin(this,t)}),G("ddd",0,0,function(t){return this.localeData().weekdaysShort(this,t)}),G("dddd",0,0,function(t){return this.localeData().weekdays(this,t)}),G("e",0,0,"weekday"),G("E",0,0,"isoWeekday"),N("day","d"),N("weekday","e"),N("isoWeekday","E"),Z("d",vi),Z("e",vi),Z("E",vi),Z("dd",Oi),Z("ddd",Oi),Z("dddd",Oi),et(["dd","ddd","dddd"],function(t,e,n,i){var r=n._locale.weekdaysParse(t,i,n._strict);null!=r?e.d=r:h(n).invalidWeekday=t}),et(["d","e","E"],function(t,e,n,i){e[i]=y(t)});var ur="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),cr="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),lr="Su_Mo_Tu_We_Th_Fr_Sa".split("_");G("DDD",["DDDD",3],"DDDo","dayOfYear"),N("dayOfYear","DDD"),Z("DDD",yi),Z("DDDD",fi),tt(["DDD","DDDD"],function(t,e,n){n._dayOfYear=y(t)}),G("H",["HH",2],0,"hour"),G("h",["hh",2],0,hn),G("hmm",0,0,function(){return""+hn.apply(this)+V(this.minutes(),2)}),G("hmmss",0,0,function(){return""+hn.apply(this)+V(this.minutes(),2)+V(this.seconds(),2)}),G("Hmm",0,0,function(){return""+this.hours()+V(this.minutes(),2)}),G("Hmmss",0,0,function(){return""+this.hours()+V(this.minutes(),2)+V(this.seconds(),2)}),dn("a",!0),dn("A",!1),N("hour","h"),Z("a",fn),Z("A",fn),Z("H",vi),Z("h",vi),Z("HH",vi,di),Z("hh",vi,di),Z("hmm",gi),Z("hmmss",_i),Z("Hmm",gi),Z("Hmmss",_i),tt(["H","HH"],ji),tt(["a","A"],function(t,e,n){n._isPm=n._locale.isPM(t),n._meridiem=t}),tt(["h","hh"],function(t,e,n){e[ji]=y(t),h(n).bigHour=!0}),tt("hmm",function(t,e,n){var i=t.length-2;e[ji]=y(t.substr(0,i)),e[Pi]=y(t.substr(i)),h(n).bigHour=!0}),tt("hmmss",function(t,e,n){var i=t.length-4,r=t.length-2;e[ji]=y(t.substr(0,i)),e[Pi]=y(t.substr(i,2)),e[Ei]=y(t.substr(r)),h(n).bigHour=!0}),tt("Hmm",function(t,e,n){var i=t.length-2;e[ji]=y(t.substr(0,i)),e[Pi]=y(t.substr(i))}),tt("Hmmss",function(t,e,n){var i=t.length-4,r=t.length-2;e[ji]=y(t.substr(0,i)),e[Pi]=y(t.substr(i,2)),e[Ei]=y(t.substr(r))});var hr=/[ap]\.?m?\.?/i,dr=W("Hours",!0);G("m",["mm",2],0,"minute"),N("minute","m"),Z("m",vi),Z("mm",vi,di),tt(["m","mm"],Pi);var fr=W("Minutes",!1);G("s",["ss",2],0,"second"),N("second","s"),Z("s",vi),Z("ss",vi,di),tt(["s","ss"],Ei);var pr=W("Seconds",!1);G("S",0,0,function(){return~~(this.millisecond()/100)}),G(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),G(0,["SSS",3],0,"millisecond"),G(0,["SSSS",4],0,function(){return 10*this.millisecond()}),G(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),G(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),G(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),G(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),G(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),N("millisecond","ms"),Z("S",yi,hi),Z("SS",yi,di),Z("SSS",yi,fi);var mr;for(mr="SSSS";mr.length<=9;mr+="S")Z(mr,ki);for(mr="S";mr.length<=9;mr+="S")tt(mr,vn);var vr=W("Milliseconds",!1);G("z",0,0,"zoneAbbr"),G("zz",0,0,"zoneName");var gr=v.prototype;gr.add=ir,gr.calendar=he,gr.clone=de,gr.diff=ye,gr.endOf=Ae,gr.format=xe,gr.from=Se,gr.fromNow=Ce,gr.to=De,gr.toNow=Oe,gr.get=I,gr.invalidAt=We,gr.isAfter=fe,gr.isBefore=pe,gr.isBetween=me,gr.isSame=ve,gr.isSameOrAfter=ge,gr.isSameOrBefore=_e,gr.isValid=Ue,gr.lang=sr,gr.locale=$e,gr.localeData=Te,gr.max=Xi,gr.min=Qi,gr.parsingFlags=Re,gr.set=I,gr.startOf=Me,gr.subtract=rr,gr.toArray=Ee,gr.toObject=Fe,gr.toDate=Pe,gr.toISOString=ke,gr.toJSON=Ne,gr.toString=we,gr.unix=je,gr.valueOf=Ye,gr.creationData=He,gr.year=Zi,gr.isLeapYear=bt,gr.weekYear=Ie,gr.isoWeekYear=Ve,gr.quarter=gr.quarters=Je,gr.month=ut,gr.daysInMonth=ct,gr.week=gr.weeks=Ke,gr.isoWeek=gr.isoWeeks=tn,gr.weeksInYear=ze,gr.isoWeeksInYear=Ge,gr.date=ar,gr.day=gr.days=an,gr.weekday=un,gr.isoWeekday=cn,gr.dayOfYear=ln,gr.hour=gr.hours=dr,gr.minute=gr.minutes=fr,gr.second=gr.seconds=pr,gr.millisecond=gr.milliseconds=vr,gr.utcOffset=qt,gr.utc=Jt,gr.local=Zt,gr.parseZone=Qt,gr.hasAlignedHourOffset=Xt,gr.isDST=Kt,gr.isDSTShifted=te,gr.isLocal=ee,gr.isUtcOffset=ne,gr.isUtc=ie,gr.isUTC=ie,gr.zoneAbbr=gn,gr.zoneName=_n,gr.dates=k("dates accessor is deprecated. Use date instead.",ar),gr.months=k("months accessor is deprecated. Use month instead",ut),gr.years=k("years accessor is deprecated. Use year instead",Zi),gr.zone=k("moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779",Bt);var _r=gr,yr={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},br={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},wr="Invalid date",kr="%d",xr=/\d{1,2}/,Sr={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"},Cr=$.prototype;Cr._calendar=yr,Cr.calendar=wn,Cr._longDateFormat=br,Cr.longDateFormat=kn,Cr._invalidDate=wr,Cr.invalidDate=xn,Cr._ordinal=kr,Cr.ordinal=Sn,Cr._ordinalParse=xr,Cr.preparse=Cn,Cr.postformat=Cn,Cr._relativeTime=Sr,Cr.relativeTime=Dn,Cr.pastFuture=On,Cr.set=D,Cr.months=rt,Cr._months=Wi,Cr.monthsShort=st,Cr._monthsShort=Hi,Cr.monthsParse=ot,Cr._monthsRegex=Ii,Cr.monthsRegex=ht,Cr._monthsShortRegex=Li,Cr.monthsShortRegex=lt,Cr.week=Ze,Cr._week=or,Cr.firstDayOfYear=Xe,Cr.firstDayOfWeek=Qe,Cr.weekdays=nn,Cr._weekdays=ur,Cr.weekdaysMin=sn,Cr._weekdaysMin=lr,Cr.weekdaysShort=rn,Cr._weekdaysShort=cr,Cr.weekdaysParse=on,Cr.isPM=pn,Cr._meridiemParse=hr,Cr.meridiem=mn,Y("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,n=1===y(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+n}}),n.lang=k("moment.lang is deprecated. Use moment.locale instead.",Y),n.langData=k("moment.langData is deprecated. Use moment.localeData instead.",E);var Dr=Math.abs,Or=Gn("ms"),$r=Gn("s"),Tr=Gn("m"),Mr=Gn("h"),Ar=Gn("d"),Yr=Gn("w"),jr=Gn("M"),Pr=Gn("y"),Er=qn("milliseconds"),Fr=qn("seconds"),Nr=qn("minutes"),Ur=qn("hours"),Rr=qn("days"),Wr=qn("months"),Hr=qn("years"),Lr=Math.round,Ir={s:45,m:45,h:22,d:26,M:11},Vr=Math.abs,Gr=Ht.prototype;Gr.abs=En,Gr.add=Nn,Gr.subtract=Un,Gr.as=In,Gr.asMilliseconds=Or,Gr.asSeconds=$r,Gr.asMinutes=Tr,Gr.asHours=Mr,Gr.asDays=Ar,Gr.asWeeks=Yr,Gr.asMonths=jr,Gr.asYears=Pr,Gr.valueOf=Vn,Gr._bubble=Wn,Gr.get=zn,Gr.milliseconds=Er,Gr.seconds=Fr,Gr.minutes=Nr,Gr.hours=Ur,Gr.days=Rr,Gr.weeks=Bn,Gr.months=Wr,Gr.years=Hr,Gr.humanize=Xn,Gr.toISOString=Kn,Gr.toString=Kn,Gr.toJSON=Kn,Gr.locale=$e,Gr.localeData=Te,Gr.toIsoString=k("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Kn),Gr.lang=sr,G("X",0,0,"unix"),G("x",0,0,"valueOf"),Z("x",xi),Z("X",Di),tt("X",function(t,e,n){n._d=new Date(1e3*parseFloat(t,10))}),tt("x",function(t,e,n){n._d=new Date(y(t))}),n.version="2.12.0",i(Nt),n.fn=_r,n.min=Rt,n.max=Wt,n.now=Ki,n.utc=c,n.unix=yn,n.months=Mn,n.isDate=s,n.locale=Y,n.invalid=f,n.duration=re,n.isMoment=g,n.weekdays=Yn,n.parseZone=bn,n.localeData=E,n.isDuration=Lt,n.monthsShort=An,n.weekdaysMin=Pn,n.defineLocale=j,n.updateLocale=P,n.locales=F,n.weekdaysShort=jn,n.normalizeUnits=U,n.relativeTimeThreshold=Qn,n.prototype=_r;var zr=n;return zr})},{}],2:[function(t,e,n){var i=t("../util");e.exports={request:function(t){return i.isFunction(t.beforeSend)&&t.beforeSend.call(this,t),t}}},{"../util":25}],3:[function(t,e,n){function i(t){var e,n,i,s={};return r.isString(t)&&r.each(t.split("\n"),function(t){i=t.indexOf(":"),n=r.trim(r.toLower(t.slice(0,i))),e=r.trim(t.slice(i+1)),s[n]?r.isArray(s[n])?s[n].push(e):s[n]=[s[n],e]:s[n]=e}),s}var r=t("../../util"),s=t("../../promise"),o=t("./xhr");e.exports=function(t){var e=(t.client||o)(t);return s.resolve(e).then(function(t){if(t.headers){var e=i(t.headers);t.headers=function(t){return t?e[r.toLower(t)]:e}}return t.ok=t.status>=200&&t.status<300,t})}},{"../../promise":18,"../../util":25,"./xhr":6}],4:[function(t,e,n){var i=t("../../util"),r=t("../../promise");e.exports=function(t){return new r(function(e){var n,r,s="_jsonp"+Math.random().toString(36).substr(2),o={request:t,data:null};t.params[t.jsonp]=s,t.cancel=function(){n({type:"cancel"})},r=document.createElement("script"),r.src=i.url(t),r.type="text/javascript",r.async=!0,window[s]=function(t){o.data=t},n=function(t){"load"===t.type&&null!==o.data?o.status=200:"error"===t.type?o.status=404:o.status=0,e(o),delete window[s],document.body.removeChild(r)},r.onload=n,r.onerror=n,document.body.appendChild(r)})}},{"../../promise":18,"../../util":25}],5:[function(t,e,n){var i=t("../../util"),r=t("../../promise");e.exports=function(t){return new r(function(e){var n,r=new XDomainRequest,s={request:t};t.cancel=function(){r.abort()},r.open(t.method,i.url(t),!0),n=function(t){s.data=r.responseText,s.status=r.status,s.statusText=r.statusText,e(s)},r.timeout=0,r.onload=n,r.onabort=n,r.onerror=n,r.ontimeout=function(){},r.onprogress=function(){},r.send(t.data)})}},{"../../promise":18,"../../util":25}],6:[function(t,e,n){var i=t("../../util"),r=t("../../promise");e.exports=function(t){return new r(function(e){var n,r=new XMLHttpRequest,s={request:t};t.cancel=function(){r.abort()},r.open(t.method,i.url(t),!0),n=function(t){s.data=r.responseText,s.status=r.status,s.statusText=r.statusText,s.headers=r.getAllResponseHeaders(),e(s)},r.timeout=0,r.onload=n,r.onabort=n,r.onerror=n,r.ontimeout=function(){},r.onprogress=function(){},i.isPlainObject(t.xhr)&&i.extend(r,t.xhr),i.isPlainObject(t.upload)&&i.extend(r.upload,t.upload),i.each(t.headers||{},function(t,e){r.setRequestHeader(e,t)}),r.send(t.data)})}},{"../../promise":18,"../../util":25}],7:[function(t,e,n){function i(t){var e=r.url.parse(r.url(t));return e.protocol!==a.protocol||e.host!==a.host}var r=t("../util"),s=t("./client/xdr"),o="withCredentials"in new XMLHttpRequest,a=r.url.parse(location.href);e.exports={request:function(t){return null===t.crossOrigin&&(t.crossOrigin=i(t)),t.crossOrigin&&(o||(t.client=s),t.emulateHTTP=!1),t}}},{"../util":25,"./client/xdr":5}],8:[function(t,e,n){var i=t("../util");e.exports={request:function(t){return t.method=t.method.toUpperCase(),t.headers=i.extend({},i.http.headers.common,t.crossOrigin?{}:i.http.headers.custom,i.http.headers[t.method.toLowerCase()],t.headers),i.isPlainObject(t.data)&&/^(GET|JSONP)$/i.test(t.method)&&(i.extend(t.params,t.data),delete t.data),t}}},{"../util":25}],9:[function(t,e,n){function i(t,e){var n,u,c=s;return i.interceptors.forEach(function(t){c=a(t,this.$vm)(c)},this),e=r.isObject(t)?t:r.extend({url:t},e),n=r.merge({},i.options,this.$options,e),u=c(n).bind(this.$vm).then(function(t){return t.ok?t:o.reject(t)},function(t){return t instanceof Error&&r.error(t),o.reject(t)}),n.success&&u.success(n.success),n.error&&u.error(n.error),u}var r=t("../util"),s=t("./client"),o=t("../promise"),a=t("./interceptor"),u={"Content-Type":"application/json"};i.options={method:"get",data:"",params:{},headers:{},xhr:null,upload:null,jsonp:"callback",beforeSend:null,crossOrigin:null,emulateHTTP:!1,emulateJSON:!1,timeout:0},i.interceptors=[t("./before"),t("./timeout"),t("./jsonp"),t("./method"),t("./mime"),t("./header"),t("./cors")],i.headers={put:u,post:u,patch:u,"delete":u,common:{Accept:"application/json, text/plain, */*"},custom:{"X-Requested-With":"XMLHttpRequest"}},["get","put","post","patch","delete","jsonp"].forEach(function(t){i[t]=function(e,n,i,s){return r.isFunction(n)&&(s=i,i=n,n=void 0),r.isObject(i)&&(s=i,i=void 0),this(e,r.extend({method:t,data:n,success:i},s))}}),e.exports=r.http=i},{"../promise":18,"../util":25,"./before":2,"./client":3,"./cors":7,"./header":8,"./interceptor":10,"./jsonp":11,"./method":12,"./mime":13,"./timeout":14}],10:[function(t,e,n){function i(t,e,n){var i=s.resolve(t);return arguments.length<2?i:i.then(e,n)}var r=t("../util"),s=t("../promise");e.exports=function(t,e){return function(n){return r.isFunction(t)&&(t=t.call(e,s)),function(s){return r.isFunction(t.request)&&(s=t.request.call(e,s)),i(s,function(s){return i(n(s),function(n){return r.isFunction(t.response)&&(n=t.response.call(e,n)),n})})}}}},{"../promise":18,"../util":25}],11:[function(t,e,n){var i=t("./client/jsonp");e.exports={request:function(t){return"JSONP"==t.method&&(t.client=i),t}}},{"./client/jsonp":4}],12:[function(t,e,n){e.exports={request:function(t){return t.emulateHTTP&&/^(PUT|PATCH|DELETE)$/i.test(t.method)&&(t.headers["X-HTTP-Method-Override"]=t.method,t.method="POST"),t}}},{}],13:[function(t,e,n){var i=t("../util");e.exports={request:function(t){return t.emulateJSON&&i.isPlainObject(t.data)&&(t.headers["Content-Type"]="application/x-www-form-urlencoded",t.data=i.url.params(t.data)),i.isObject(t.data)&&/FormData/i.test(t.data.toString())&&delete t.headers["Content-Type"],i.isPlainObject(t.data)&&(t.data=JSON.stringify(t.data)),t},response:function(t){try{t.data=JSON.parse(t.data)}catch(e){}return t}}},{"../util":25}],14:[function(t,e,n){e.exports=function(){var t;return{request:function(e){return e.timeout&&(t=setTimeout(function(){e.cancel()},e.timeout)),e},response:function(e){return clearTimeout(t),e}}}},{}],15:[function(t,e,n){function i(e){var n=t("./util");n.config=e.config,n.warning=e.util.warn,n.nextTick=e.util.nextTick,e.url=t("./url"),e.http=t("./http"),e.resource=t("./resource"),e.Promise=t("./promise"),Object.defineProperties(e.prototype,{$url:{get:function(){return n.options(e.url,this,this.$options.url)}},$http:{get:function(){return n.options(e.http,this,this.$options.http)}},$resource:{get:function(){return e.resource.bind(this)}},$promise:{get:function(){return function(t){return new e.Promise(t,this)}.bind(this)}}})}window.Vue&&Vue.use(i),e.exports=i},{"./http":9,"./promise":18,"./resource":19,"./url":20,"./util":25}],16:[function(t,e,n){function i(t){this.state=a,this.value=void 0,this.deferred=[];var e=this;try{t(function(t){e.resolve(t)},function(t){e.reject(t)})}catch(n){e.reject(n)}}var r=t("../util"),s=0,o=1,a=2;i.reject=function(t){return new i(function(e,n){n(t)})},i.resolve=function(t){return new i(function(e,n){e(t)})},i.all=function(t){return new i(function(e,n){function r(n){return function(i){o[n]=i,s+=1,s===t.length&&e(o)}}var s=0,o=[];0===t.length&&e(o);for(var a=0;a1?t.apply(e,arguments):t.call(e,n):t.call(e)}}function v(t,e){e=e||0;for(var n=t.length-e,i=new Array(n);n--;)i[n]=t[n+e];return i}function g(t,e){for(var n=Object.keys(e),i=n.length;i--;)t[n[i]]=e[n[i]];return t}function _(t){return null!==t&&"object"==typeof t}function y(t){return $n.call(t)===Tn}function b(t,e,n,i){Object.defineProperty(t,e,{value:n,enumerable:!!i,writable:!0,configurable:!0})}function w(t,e){var n,i,r,s,o,a=function u(){var a=Date.now()-s;e>a&&a>=0?n=setTimeout(u,e-a):(n=null,o=t.apply(r,i),n||(r=i=null))};return function(){return r=this,i=arguments,s=Date.now(),n||(n=setTimeout(a,e)),o}}function k(t,e){for(var n=t.length;n--;)if(t[n]===e)return n;return-1}function x(t){var e=function n(){return n.cancelled?void 0:t.apply(this,arguments)};return e.cancel=function(){e.cancelled=!0},e}function S(t,e){return t==e||(_(t)&&_(e)?JSON.stringify(t)===JSON.stringify(e):!1)}function C(t){this.size=0,this.limit=t,this.head=this.tail=void 0,this._keymap=Object.create(null)}function D(){var t,e=Gn.slice(Qn,Jn).trim();if(e){t={};var n=e.match(ri);t.name=n[0],n.length>1&&(t.args=n.slice(1).map(O))}t&&(zn.filters=zn.filters||[]).push(t),Qn=Jn+1}function O(t){if(si.test(t))return{value:u(t),dynamic:!1};var e=l(t),n=e===t;return{value:n?t:e,dynamic:n}}function $(t){var e=ii.get(t);if(e)return e;for(Gn=t,Xn=Kn=!1,ti=ei=ni=0,Qn=0,zn={},Jn=0,Zn=Gn.length;Zn>Jn;Jn++)if(Bn=qn,qn=Gn.charCodeAt(Jn),Xn)39===qn&&92!==Bn&&(Xn=!Xn);else if(Kn)34===qn&&92!==Bn&&(Kn=!Kn);else if(124===qn&&124!==Gn.charCodeAt(Jn+1)&&124!==Gn.charCodeAt(Jn-1))null==zn.expression?(Qn=Jn+1,zn.expression=Gn.slice(0,Jn).trim()):D();else switch(qn){case 34:Kn=!0;break;case 39:Xn=!0;break;case 40:ni++;break;case 41:ni--;break;case 91:ei++;break;case 93:ei--;break;case 123:ti++;break;case 125:ti--}return null==zn.expression?zn.expression=Gn.slice(0,Jn).trim():0!==Qn&&D(),ii.put(t,zn),zn}function T(t){return t.replace(ai,"\\$&")}function M(){var t=T(mi.delimiters[0]),e=T(mi.delimiters[1]),n=T(mi.unsafeDelimiters[0]),i=T(mi.unsafeDelimiters[1]);ci=new RegExp(n+"(.+?)"+i+"|"+t+"(.+?)"+e,"g"),li=new RegExp("^"+n+".*"+i+"$"),ui=new C(1e3)}function A(t){ui||M();var e=ui.get(t);if(e)return e;if(t=t.replace(/\n/g,""),!ci.test(t))return null;for(var n,i,r,s,o,a,u=[],c=ci.lastIndex=0;n=ci.exec(t);)i=n.index,i>c&&u.push({value:t.slice(c,i)}),r=li.test(n[0]),s=r?n[1]:n[2],o=s.charCodeAt(0),a=42===o,s=a?s.slice(1):s,u.push({tag:!0,value:s.trim(),html:r,oneTime:a}),c=i+n[0].length;return c1?t.map(function(t){return j(t,e)}).join("+"):j(t[0],e,!0)}function j(t,e,n){return t.tag?t.oneTime&&e?'"'+e.$eval(t.value)+'"':P(t.value,n):'"'+t.value+'"'}function P(t,e){if(hi.test(t)){var n=$(t);return n.filters?"this._applyFilters("+n.expression+",null,"+JSON.stringify(n.filters)+",false)":"("+t+")"}return e?t:"("+t+")"}function E(t,e,n,i){U(t,1,function(){e.appendChild(t)},n,i)}function F(t,e,n,i){U(t,1,function(){V(t,e)},n,i)}function N(t,e,n){U(t,-1,function(){z(t)},e,n)}function U(t,e,n,i,r){var s=t.__v_trans;if(!s||!s.hooks&&!Un||!i._isCompiled||i.$parent&&!i.$parent._isCompiled)return n(),void(r&&r());var o=e>0?"enter":"leave";s[o](n,r)}function R(t){if("string"==typeof t){t=document.querySelector(t)}return t}function W(t){var e=document.documentElement,n=t&&t.parentNode;return e===t||e===n||!(!n||1!==n.nodeType||!e.contains(n))}function H(t,e){var n=t.getAttribute(e);return null!==n&&t.removeAttribute(e),n}function L(t,e){var n=H(t,":"+e);return null===n&&(n=H(t,"v-bind:"+e)),n}function I(t,e){return t.hasAttribute(e)||t.hasAttribute(":"+e)||t.hasAttribute("v-bind:"+e)}function V(t,e){e.parentNode.insertBefore(t,e)}function G(t,e){e.nextSibling?V(t,e.nextSibling):e.parentNode.appendChild(t)}function z(t){t.parentNode.removeChild(t)}function q(t,e){e.firstChild?V(t,e.firstChild):e.appendChild(t)}function B(t,e){var n=t.parentNode;n&&n.replaceChild(e,t)}function J(t,e,n,i){t.addEventListener(e,n,i)}function Z(t,e,n){t.removeEventListener(e,n)}function Q(t,e){En&&!/svg$/.test(t.namespaceURI)?t.className=e:t.setAttribute("class",e)}function X(t,e){if(t.classList)t.classList.add(e);else{var n=" "+(t.getAttribute("class")||"")+" ";n.indexOf(" "+e+" ")<0&&Q(t,(n+e).trim())}}function K(t,e){if(t.classList)t.classList.remove(e);else{for(var n=" "+(t.getAttribute("class")||"")+" ",i=" "+e+" ";n.indexOf(i)>=0;)n=n.replace(i," ");Q(t,n.trim())}t.className||t.removeAttribute("class")}function tt(t,e){var n,i; +if(it(t)&&ut(t.content)&&(t=t.content),t.hasChildNodes())for(et(t),i=e?document.createDocumentFragment():document.createElement("div");n=t.firstChild;)i.appendChild(n);return i}function et(t){for(var e;e=t.firstChild,nt(e);)t.removeChild(e);for(;e=t.lastChild,nt(e);)t.removeChild(e)}function nt(t){return t&&(3===t.nodeType&&!t.data.trim()||8===t.nodeType)}function it(t){return t.tagName&&"template"===t.tagName.toLowerCase()}function rt(t,e){var n=mi.debug?document.createComment(t):document.createTextNode(e?" ":"");return n.__v_anchor=!0,n}function st(t){if(t.hasAttributes())for(var e=t.attributes,n=0,i=e.length;i>n;n++){var r=e[n].name;if(_i.test(r))return h(r.replace(_i,""))}}function ot(t,e,n){for(var i;t!==e;)i=t.nextSibling,n(t),t=i;n(e)}function at(t,e,n,i,r){function s(){if(a++,o&&a>=u.length){for(var t=0;tr;r++){var o=i[r];yi.test(o)||bi.test(o)||(e=n[o],y(e)&&(n[o]=gn.extend(e)))}}function _t(t){var e,n,i=t.props;if(Mn(i))for(t.props={},e=i.length;e--;)n=i[e],"string"==typeof n?t.props[n]=null:n.name&&(t.props[n.name]=n);else if(y(i)){var r=Object.keys(i);for(e=r.length;e--;)n=i[r[e]],"function"==typeof n&&(i[r[e]]={type:n})}}function yt(t){if(Mn(t)){for(var e,n={},i=t.length;i--;){e=t[i];var r="function"==typeof e?e.options&&e.options.name||e.id:e.name||e.id;r&&(n[r]=e)}return n}return t}function bt(t,e,n){function i(i){var r=wi[i]||ki;o[i]=r(t[i],e[i],n,i)}gt(e),_t(e);var s,o={};if(e.mixins)for(var a=0,u=e.mixins.length;u>a;a++)t=bt(t,e.mixins[a],n);for(s in t)i(s);for(s in e)r(t,s)||i(s);return o}function wt(t,e,n){if("string"==typeof n){var i,r=t[e];return r[n]||r[i=h(n)]||r[i.charAt(0).toUpperCase()+i.slice(1)]}}function kt(t,e,n){}function xt(){this.id=xi++,this.subs=[]}function St(t){if(this.value=t,this.dep=new xt,b(t,"__ob__",this),Mn(t)){var e=An?Ct:Dt;e(t,Ci,Di),this.observeArray(t)}else this.walk(t)}function Ct(t,e){t.__proto__=e}function Dt(t,e,n){for(var i=0,r=n.length;r>i;i++){var s=n[i];b(t,s,e[s])}}function Ot(t,e){if(t&&"object"==typeof t){var n;return r(t,"__ob__")&&t.__ob__ instanceof St?n=t.__ob__:(Mn(t)||y(t))&&Object.isExtensible(t)&&!t._isVue&&(n=new St(t)),n&&e&&n.addVm(e),n}}function $t(t,e,n){var i=new xt,r=Object.getOwnPropertyDescriptor(t,e);if(!r||r.configurable!==!1){var s=r&&r.get,o=r&&r.set,a=Ot(n);Object.defineProperty(t,e,{enumerable:!0,configurable:!0,get:function(){var e=s?s.call(t):n;if(xt.target&&(i.depend(),a&&a.dep.depend(),Mn(e)))for(var r,o=0,u=e.length;u>o;o++)r=e[o],r&&r.__ob__&&r.__ob__.dep.depend();return e},set:function(e){var r=s?s.call(t):n;e!==r&&(o?o.call(t,e):n=e,a=Ot(e),i.notify())}})}}function Tt(t){t.prototype._init=function(t){t=t||{},this.$el=null,this.$parent=t.parent,this.$root=this.$parent?this.$parent.$root:this,this.$children=[],this.$refs={},this.$els={},this._watchers=[],this._directives=[],this._uid=$i++,this._isVue=!0,this._events={},this._eventsCount={},this._isFragment=!1,this._fragment=this._fragmentStart=this._fragmentEnd=null,this._isCompiled=this._isDestroyed=this._isReady=this._isAttached=this._isBeingDestroyed=this._vForRemoving=!1,this._unlinkFn=null,this._context=t._context||this.$parent,this._scope=t._scope,this._frag=t._frag,this._frag&&this._frag.children.push(this),this.$parent&&this.$parent.$children.push(this),t=this.$options=bt(this.constructor.options,t,this),this._updateRef(),this._data={},this._callHook("init"),this._initState(),this._initEvents(),this._callHook("created"),t.el&&this.$mount(t.el)}}function Mt(t){if(void 0===t)return"eof";var e=t.charCodeAt(0);switch(e){case 91:case 93:case 46:case 34:case 39:case 48:return t;case 95:case 36:return"ident";case 32:case 9:case 10:case 13:case 160:case 65279:case 8232:case 8233:return"ws"}return e>=97&&122>=e||e>=65&&90>=e?"ident":e>=49&&57>=e?"number":"else"}function At(t){var e=t.trim();return"0"===t.charAt(0)&&isNaN(t)?!1:s(e)?l(e):"*"+e}function Yt(t){function e(){var e=t[l+1];return h===Ri&&"'"===e||h===Wi&&'"'===e?(l++,i="\\"+e,f[Mi](),!0):void 0}var n,i,r,s,o,a,u,c=[],l=-1,h=Pi,d=0,f=[];for(f[Ai]=function(){void 0!==r&&(c.push(r),r=void 0)},f[Mi]=function(){void 0===r?r=i:r+=i},f[Yi]=function(){f[Mi](),d++},f[ji]=function(){if(d>0)d--,h=Ui,f[Mi]();else{if(d=0,r=At(r),r===!1)return!1;f[Ai]()}};null!=h;)if(l++,n=t[l],"\\"!==n||!e()){if(s=Mt(n),u=Ii[h],o=u[s]||u["else"]||Li,o===Li)return;if(h=o[0],a=f[o[1]],a&&(i=o[2],i=void 0===i?n:i,a()===!1))return;if(h===Hi)return c.raw=t,c}}function jt(t){var e=Ti.get(t);return e||(e=Yt(t),e&&Ti.put(t,e)),e}function Pt(t,e){return Lt(e).get(t)}function Et(t,e,i){var r=t;if("string"==typeof e&&(e=Yt(e)),!e||!_(t))return!1;for(var s,o,a=0,u=e.length;u>a;a++)s=t,o=e[a],"*"===o.charAt(0)&&(o=Lt(o.slice(1)).get.call(r,r)),u-1>a?(t=t[o],_(t)||(t={},n(s,o,t))):Mn(t)?t.$set(o,i):o in t?t[o]=i:n(t,o,i);return!0}function Ft(t,e){var n=ir.length;return ir[n]=e?t.replace(Qi,"\\n"):t,'"'+n+'"'}function Nt(t){var e=t.charAt(0),n=t.slice(1);return qi.test(n)?t:(n=n.indexOf('"')>-1?n.replace(Ki,Ut):n,e+"scope."+n)}function Ut(t,e){return ir[e]}function Rt(t){Ji.test(t),ir.length=0;var e=t.replace(Xi,Ft).replace(Zi,"");return e=(" "+e).replace(er,Nt).replace(Ki,Ut),Wt(e)}function Wt(t){try{return new Function("scope","return "+t+";")}catch(e){}}function Ht(t){var e=jt(t);return e?function(t,n){Et(t,e,n)}:void 0}function Lt(t,e){t=t.trim();var n=Gi.get(t);if(n)return e&&!n.set&&(n.set=Ht(n.exp)),n;var i={exp:t};return i.get=It(t)&&t.indexOf("[")<0?Wt("scope."+t):Rt(t),e&&(i.set=Ht(t)),Gi.put(t,i),i}function It(t){return tr.test(t)&&!nr.test(t)&&"Math."!==t.slice(0,5)}function Vt(){sr=[],or=[],ar={},ur={},cr=lr=!1}function Gt(){zt(sr),lr=!0,zt(or),jn&&jn.emit("flush"),Vt()}function zt(t){for(var e=0;e0){var o=s+(i?e:ct(e));r=kr.get(o),r||(r=Me(n,t.$options,!0),kr.put(o,r))}else r=Me(n,t.$options,!0);this.linker=r}function ce(t,e,n){var i=t.node.previousSibling;if(i){for(t=i.__v_frag;!(t&&t.forId===n&&t.inserted||i===e);){if(i=i.previousSibling,!i)return;t=i.__v_frag}return t}}function le(t){var e=t.node;if(t.end)for(;!e.__vue__&&e!==t.end&&e.nextSibling;)e=e.nextSibling;return e.__vue__}function he(t){for(var e=-1,n=new Array(Math.floor(t));++ea;a++)if(i=t.options[a],s=n?i.hasAttribute("selected"):i.selected){if(r=i.hasOwnProperty("_value")?i._value:i.value,!e)return r;o.push(r)}return o}function fe(t,e){for(var n=t.length;n--;)if(S(t[n],e))return n;return-1}function pe(t,e){var n=e.map(function(t){var e=t.charCodeAt(0);return e>47&&58>e?parseInt(t,10):1===t.length&&(e=t.toUpperCase().charCodeAt(0),e>64&&91>e)?e:Ir[t]});return n=[].concat.apply([],n),function(e){return n.indexOf(e.keyCode)>-1?t.call(this,e):void 0}}function me(t){return function(e){return e.stopPropagation(),t.call(this,e)}}function ve(t){return function(e){return e.preventDefault(),t.call(this,e)}}function ge(t){return function(e){return e.target===e.currentTarget?t.call(this,e):void 0}}function _e(t){if(Br[t])return Br[t];var e=ye(t);return Br[t]=Br[e]=e,e}function ye(t){t=f(t);var e=h(t),n=e.charAt(0).toUpperCase()+e.slice(1);Jr||(Jr=document.createElement("div"));for(var i,r=Gr.length;r--;)if(i=zr[r]+n,i in Jr.style)return Gr[r]+t;return e in Jr.style?t:void 0}function be(t){for(var e={},n=t.trim().split(/\s+/),i=n.length;i--;)e[n[i]]=!0;return e}function we(t,e){return Mn(t)?t.indexOf(e)>-1:r(t,e)}function ke(t,e,n){function i(){++s>=r?n():t[s].call(e,i)}var r=t.length,s=0;t[0].call(e,i)}function xe(t){ds.push(t),fs||(fs=!0,In(Se))}function Se(){for(var t=document.documentElement.offsetHeight,e=0;er;r++)i[r]._bind();return i}function Ye(t,e){return t=t.descriptor.def.priority||Ms,e=e.descriptor.def.priority||Ms,t>e?-1:t===e?0:1}function je(t,e,n,i){function r(r){Pe(t,e,r),n&&i&&Pe(n,i)}return r.dirs=e,r}function Pe(t,e,n){for(var i=e.length;i--;)e[i]._teardown()}function Ee(t,e,n,i){var r=Oe(e,n),s=Ae(function(){r(t,i)},t);return je(t,s)}function Fe(t,e,n){var i,r,s=e._containerAttrs,o=e._replacerAttrs;if(11!==t.nodeType)e._asComponent?(s&&n&&(i=Ze(s,n)),o&&(r=Ze(o,e))):r=Ze(t.attributes,e);else;return e._containerAttrs=e._replacerAttrs=null,function(t,e,n){var s,o=t._context;o&&i&&(s=Ae(function(){i(o,e,null,n)},o));var a=Ae(function(){r&&r(t,e)},t);return je(t,a,o,s)}}function Ne(t,e){var n=t.nodeType;return 1===n&&"SCRIPT"!==t.tagName?Ue(t,e):3===n&&t.data.trim()?Re(t,e):null}function Ue(t,e){if("TEXTAREA"===t.tagName){var n=A(t.value);n&&(t.setAttribute(":value",Y(n)),t.value="")}var i,r=t.hasAttributes();return r&&(i=qe(t,e)),i||(i=Ge(t,e)),i||(i=ze(t,e)),!i&&r&&(i=Ze(t.attributes,e)),i}function Re(t,e){if(t._skip)return We;var n=A(t.wholeText);if(!n)return null;for(var i=t.nextSibling;i&&3===i.nodeType;)i._skip=!0,i=i.nextSibling;for(var r,s,o=document.createDocumentFragment(),a=0,u=n.length;u>a;a++)s=n[a],r=s.tag?He(s,e):document.createTextNode(s.value),o.appendChild(r);return Le(n,o,e)}function We(t,e){z(e)}function He(t,e){function n(e){if(!t.descriptor){var n=$(t.value);t.descriptor={name:e,def:as[e],expression:n.expression,filters:n.filters}}}var i;return t.oneTime?i=document.createTextNode(t.value):t.html?(i=document.createComment("v-html"),n("html")):(i=document.createTextNode(" "),n("text")),i}function Le(t,e){return function(n,i,r,s){for(var o,a,u,c=e.cloneNode(!0),l=v(c.childNodes),h=0,d=t.length;d>h;h++)o=t[h],a=o.value,o.tag&&(u=l[h],o.oneTime?(a=(s||n).$eval(a),o.html?B(u,te(a,!0)):u.data=a):n._bindDir(o.descriptor,u,r,s));B(i,c)}}function Ie(t,e){for(var n,i,r,s=[],o=0,a=t.length;a>o;o++)r=t[o],n=Ne(r,e),i=n&&n.terminal||"SCRIPT"===r.tagName||!r.hasChildNodes()?null:Ie(r.childNodes,e),s.push(n,i);return s.length?Ve(s):null}function Ve(t){return function(e,n,i,r,s){for(var o,a,u,c=0,l=0,h=t.length;h>c;l++){o=n[l],a=t[c++],u=t[c++];var d=v(o.childNodes);a&&a(e,o,i,r,s),u&&u(e,d,i,r,s)}}}function Ge(t,e){var n=t.tagName.toLowerCase();if(!yi.test(n)){var i=wt(e,"elementDirectives",n);return i?Je(t,n,"",e,i):void 0}}function ze(t,e){var n=lt(t,e);if(n){var i=st(t),r={name:"component",ref:i,expression:n.id,def:bs.component,modifiers:{literal:!n.dynamic}},s=function(t,e,n,s,o){i&&$t((s||t).$refs,i,null),t._bindDir(r,e,n,s,o)};return s.terminal=!0,s}}function qe(t,e){if(null!==H(t,"v-pre"))return Be;if(t.hasAttribute("v-else")){var n=t.previousElementSibling;if(n&&n.hasAttribute("v-if"))return Be}for(var i,r,s=0,o=Ts.length;o>s;s++)if(r=Ts[s],i=t.getAttribute("v-"+r),null!=i)return Je(t,r,i,e)}function Be(){}function Je(t,e,n,i,r){var s=$(n),o={name:e,expression:s.expression,filters:s.filters,raw:n,def:r||wt(i,"directives",e)};"for"!==e&&"router-view"!==e||(o.ref=st(t));var a=function(t,e,n,i,r){o.ref&&$t((i||t).$refs,o.ref,null),t._bindDir(o,e,n,i,r)};return a.terminal=!0,a}function Ze(t,e){function n(t,e,n){var i=n&&Ke(n),r=!i&&$(s);m.push({name:t,attr:o,raw:a,def:e,arg:c,modifiers:l,expression:r&&r.expression,filters:r&&r.filters,interp:n,hasOneTime:i})}for(var i,r,s,o,a,u,c,l,h,d,f,p=t.length,m=[];p--;)if(i=t[p],r=o=i.name,s=a=i.value,d=A(s),c=null,l=Qe(r),r=r.replace(Os,""),d)s=Y(d),c=r,n("bind",as.bind,d);else if($s.test(r))l.literal=!Ss.test(r),n("transition",bs.transition);else if(Cs.test(r))c=r.replace(Cs,""),n("on",as.on);else if(Ss.test(r))u=r.replace(Ss,""),"style"===u||"class"===u?n(u,bs[u]):(c=u,n("bind",as.bind));else if(f=r.match(Ds)){if(u=f[1],c=f[2],"else"===u)continue;h=wt(e,"directives",u),h&&n(u,h)}return m.length?Xe(m):void 0}function Qe(t){var e=Object.create(null),n=t.match(Os);if(n)for(var i=n.length;i--;)e[n[i].slice(1)]=!0;return e}function Xe(t){return function(e,n,i,r,s){for(var o=t.length;o--;)e._bindDir(t[o],n,i,r,s)}}function Ke(t){for(var e=t.length;e--;)if(t[e].oneTime)return!0}function tn(t,e){return e&&(e._containerAttrs=nn(t)),it(t)&&(t=te(t)),e&&(e._asComponent&&!e.template&&(e.template=""),e.template&&(e._content=tt(t),t=en(t,e))),ut(t)&&(q(rt("v-start",!0),t),t.appendChild(rt("v-end",!0))),t}function en(t,e){var n=e.template,i=te(n,!0);if(i){var r=i.firstChild,s=r.tagName&&r.tagName.toLowerCase();return e.replace?(t===document.body,i.childNodes.length>1||1!==r.nodeType||"component"===s||wt(e,"components",s)||I(r,"is")||wt(e,"elementDirectives",s)||r.hasAttribute("v-for")||r.hasAttribute("v-if")?i:(e._replacerAttrs=nn(r),rn(t,r),r)):(t.appendChild(i),t)}}function nn(t){return 1===t.nodeType&&t.hasAttributes()?v(t.attributes):void 0}function rn(t,e){for(var n,i,r=t.attributes,s=r.length;s--;)n=r[s].name,i=r[s].value,e.hasAttribute(n)||As.test(n)?"class"!==n||A(i)||i.split(/\s+/).forEach(function(t){X(e,t)}):e.setAttribute(n,i)}function sn(t,e,n){function i(t,n){var i='[slot="'+n+'"]',s=e.querySelectorAll(i);s.length&&(r[n]=on(s,e))}if(e){var r=n._slotContents={},s=t.querySelectorAll("slot");if(s.length){for(var o,a,u,c=0,l=s.length;l>c;c++)a=s[c],(u=a.getAttribute("name"))?i(a,u):o=!0;o&&(r["default"]=on(e.childNodes,e))}}}function on(t,e){var n=document.createDocumentFragment();t=v(t);for(var i=0,r=t.length;r>i;i++){var s=t[i];s.parentNode===e&&(!it(s)||s.hasAttribute("v-if")||s.hasAttribute("v-for")||(e.removeChild(s),s=te(s)),n.appendChild(s))}return n}function an(t){function e(){}function i(t,e){var n=new Bt(e,t,null,{lazy:!0});return function(){return n.dirty&&n.evaluate(),xt.target&&n.depend(),n.value}}Object.defineProperty(t.prototype,"$data",{get:function(){return this._data},set:function(t){t!==this._data&&this._setData(t)}}),t.prototype._initState=function(){this._initProps(),this._initMeta(),this._initMethods(),this._initData(),this._initComputed()},t.prototype._initProps=function(){var t=this.$options,e=t.el,n=t.props;e=t.el=R(e),this._propsUnlinkFn=e&&1===e.nodeType&&n?Ee(this,e,n,this._scope):null},t.prototype._initData=function(){var t=this._data,e=this.$options.data,i=e&&e();if(i){this._data=i;for(var s in t)null===this._props[s].raw&&r(i,s)||n(i,s,t[s])}var o,a,u=this._data,c=Object.keys(u);for(o=c.length;o--;)a=c[o],this._proxy(a);Ot(u,this)},t.prototype._setData=function(t){t=t||{};var e=this._data;this._data=t;var n,i,s;for(n=Object.keys(e),s=n.length;s--;)i=n[s],i in t||this._unproxy(i);for(n=Object.keys(t),s=n.length;s--;)i=n[s],r(this,i)||this._proxy(i);e.__ob__.removeVm(this),Ot(t,this),this._digest()},t.prototype._proxy=function(t){if(!o(t)){var e=this;Object.defineProperty(e,t,{configurable:!0,enumerable:!0,get:function(){return e._data[t]},set:function(n){e._data[t]=n}})}},t.prototype._unproxy=function(t){o(t)||delete this[t]},t.prototype._digest=function(){for(var t=0,e=this._watchers.length;e>t;t++)this._watchers[t].update(!0)},t.prototype._initComputed=function(){var t=this.$options.computed;if(t)for(var n in t){var r=t[n],s={enumerable:!0,configurable:!0};"function"==typeof r?(s.get=i(r,this),s.set=e):(s.get=r.get?r.cache!==!1?i(r.get,this):m(r.get,this):e,s.set=r.set?m(r.set,this):e),Object.defineProperty(this,n,s)}},t.prototype._initMethods=function(){var t=this.$options.methods;if(t)for(var e in t)this[e]=m(t[e],this)},t.prototype._initMeta=function(){var t=this.$options._meta;if(t)for(var e in t)$t(this,e,t[e])}}function un(t){function e(t,e){for(var n,i,r=e.attributes,s=0,o=r.length;o>s;s++)n=r[s].name,js.test(n)&&(n=n.replace(js,""),i=(t._scope||t._context).$eval(r[s].value,!0),"function"==typeof i&&(i._fromParent=!0,t.$on(n.replace(js),i)))}function n(t,e,n){if(n){var r,s,o,a;for(s in n)if(r=n[s],Mn(r))for(o=0,a=r.length;a>o;o++)i(t,e,s,r[o]);else i(t,e,s,r)}}function i(t,e,n,r,s){var o=typeof r;if("function"===o)t[e](n,r,s);else if("string"===o){var a=t.$options.methods,u=a&&a[r];u&&t[e](n,u,s)}else r&&"object"===o&&i(t,e,n,r.handler,r)}function r(){this._isAttached||(this._isAttached=!0,this.$children.forEach(s))}function s(t){!t._isAttached&&W(t.$el)&&t._callHook("attached")}function o(){this._isAttached&&(this._isAttached=!1,this.$children.forEach(a))}function a(t){t._isAttached&&!W(t.$el)&&t._callHook("detached")}t.prototype._initEvents=function(){var t=this.$options;t._asComponent&&e(this,t.el),n(this,"$on",t.events),n(this,"$watch",t.watch)},t.prototype._initDOMHooks=function(){this.$on("hook:attached",r),this.$on("hook:detached",o)},t.prototype._callHook=function(t){this.$emit("pre-hook:"+t);var e=this.$options[t];if(e)for(var n=0,i=e.length;i>n;n++)e[n].call(this);this.$emit("hook:"+t)}}function cn(){}function ln(t,e,n,i,r,s){this.vm=e,this.el=n,this.descriptor=t,this.name=t.name,this.expression=t.expression,this.arg=t.arg,this.modifiers=t.modifiers,this.filters=t.filters,this.literal=this.modifiers&&this.modifiers.literal,this._locked=!1,this._bound=!1,this._listeners=null,this._host=i,this._scope=r,this._frag=s}function hn(t){t.prototype._updateRef=function(t){var e=this.$options._ref;if(e){var n=(this._scope||this._context).$refs;t?n[e]===this&&(n[e]=null):n[e]=this}},t.prototype._compile=function(t){var e=this.$options,n=t;if(t=tn(t,e),this._initElement(t),1!==t.nodeType||null===H(t,"v-pre")){var i=this._context&&this._context.$options,r=Fe(t,e,i);sn(t,e._content,this);var s,o=this.constructor;e._linkerCachable&&(s=o.linker,s||(s=o.linker=Me(t,e)));var a=r(this,t,this._scope),u=s?s(this,t):Me(t,e)(this,t);this._unlinkFn=function(){a(),u(!0)},e.replace&&B(n,t),this._isCompiled=!0,this._callHook("compiled")}},t.prototype._initElement=function(t){ut(t)?(this._isFragment=!0,this.$el=this._fragmentStart=t.firstChild,this._fragmentEnd=t.lastChild,3===this._fragmentStart.nodeType&&(this._fragmentStart.data=this._fragmentEnd.data=""),this._fragment=t):this.$el=t,this.$el.__vue__=this,this._callHook("beforeCompile")},t.prototype._bindDir=function(t,e,n,i,r){this._directives.push(new ln(t,this,e,n,i,r))},t.prototype._destroy=function(t,e){if(this._isBeingDestroyed)return void(e||this._cleanup());var n,i,r=this,s=function(){!n||i||e||r._cleanup()};t&&this.$el&&(i=!0,this.$remove(function(){i=!1,s()})),this._callHook("beforeDestroy"),this._isBeingDestroyed=!0;var o,a=this.$parent;for(a&&!a._isBeingDestroyed&&(a.$children.$remove(this),this._updateRef(!0)),o=this.$children.length;o--;)this.$children[o].$destroy();for(this._propsUnlinkFn&&this._propsUnlinkFn(),this._unlinkFn&&this._unlinkFn(),o=this._watchers.length;o--;)this._watchers[o].teardown();this.$el&&(this.$el.__vue__=null),n=!0,s()},t.prototype._cleanup=function(){this._isDestroyed||(this._frag&&this._frag.children.$remove(this),this._data.__ob__&&this._data.__ob__.removeVm(this),this.$el=this.$parent=this.$root=this.$children=this._watchers=this._context=this._scope=this._directives=null,this._isDestroyed=!0,this._callHook("destroyed"),this.$off())}}function dn(t){t.prototype._applyFilters=function(t,e,n,i){var r,s,o,a,u,c,l,h,d;for(c=0,l=n.length;l>c;c++)if(r=n[c],s=wt(this.$options,"filters",r.name),s&&(s=i?s.write:s.read||s,"function"==typeof s)){if(o=i?[t,e]:[t],u=i?2:1,r.args)for(h=0,d=r.args.length;d>h;h++)a=r.args[h],o[h+u]=a.dynamic?this.$get(a.value):a.value;t=s.apply(this,o)}return t},t.prototype._resolveComponent=function(e,n){var i=wt(this.$options,"components",e);if(i)if(i.options)n(i);else if(i.resolved)n(i.resolved);else if(i.requested)i.pendingCallbacks.push(n);else{i.requested=!0;var r=i.pendingCallbacks=[n];i.call(this,function(e){y(e)&&(e=t.extend(e)),i.resolved=e;for(var n=0,s=r.length;s>n;n++)r[n](e)},function(t){})}}}function fn(t){function e(t){return JSON.parse(JSON.stringify(t))}t.prototype.$get=function(t,e){var n=Lt(t);if(n){if(e&&!It(t)){var i=this;return function(){i.$arguments=v(arguments);var t=n.get.call(i,i);return i.$arguments=null,t}}try{return n.get.call(this,this)}catch(r){}}},t.prototype.$set=function(t,e){var n=Lt(t,!0);n&&n.set&&n.set.call(this,this,e)},t.prototype.$delete=function(t){i(this._data,t)},t.prototype.$watch=function(t,e,n){var i,r=this;"string"==typeof t&&(i=$(t),t=i.expression);var s=new Bt(r,t,e,{deep:n&&n.deep,sync:n&&n.sync,filters:i&&i.filters,user:!n||n.user!==!1});return n&&n.immediate&&e.call(r,s.value),function(){s.teardown()}},t.prototype.$eval=function(t,e){if(Ps.test(t)){var n=$(t),i=this.$get(n.expression,e);return n.filters?this._applyFilters(i,null,n.filters):i}return this.$get(t,e)},t.prototype.$interpolate=function(t){var e=A(t),n=this;return e?1===e.length?n.$eval(e[0].value)+"":e.map(function(t){return t.tag?n.$eval(t.value):t.value}).join(""):t},t.prototype.$log=function(t){var n=t?Pt(this._data,t):this._data;if(n&&(n=e(n)),!t)for(var i in this.$options.computed)n[i]=e(this[i]);console.log(n)}}function pn(t){function e(t,e,i,r,s,o){e=n(e);var a=!W(e),u=r===!1||a?s:o,c=!a&&!t._isAttached&&!W(t.$el);return t._isFragment?(ot(t._fragmentStart,t._fragmentEnd,function(n){u(n,e,t)}),i&&i()):u(t.$el,e,t,i),c&&t._callHook("attached"),t}function n(t){return"string"==typeof t?document.querySelector(t):t}function i(t,e,n,i){e.appendChild(t),i&&i()}function r(t,e,n,i){V(t,e),i&&i()}function s(t,e,n){z(t),n&&n()}t.prototype.$nextTick=function(t){In(t,this)},t.prototype.$appendTo=function(t,n,r){return e(this,t,n,r,i,E)},t.prototype.$prependTo=function(t,e,i){return t=n(t),t.hasChildNodes()?this.$before(t.firstChild,e,i):this.$appendTo(t,e,i),this},t.prototype.$before=function(t,n,i){return e(this,t,n,i,r,F)},t.prototype.$after=function(t,e,i){return t=n(t),t.nextSibling?this.$before(t.nextSibling,e,i):this.$appendTo(t.parentNode,e,i),this},t.prototype.$remove=function(t,e){if(!this.$el.parentNode)return t&&t();var n=this._isAttached&&W(this.$el);n||(e=!1);var i=this,r=function(){n&&i._callHook("detached"),t&&t()};if(this._isFragment)at(this._fragmentStart,this._fragmentEnd,this,this._fragment,r);else{var o=e===!1?s:N;o(this.$el,this,r)}return this}}function mn(t){function e(t,e,i){var r=t.$parent;if(r&&i&&!n.test(e))for(;r;)r._eventsCount[e]=(r._eventsCount[e]||0)+i,r=r.$parent}t.prototype.$on=function(t,n){return(this._events[t]||(this._events[t]=[])).push(n),e(this,t,1),this},t.prototype.$once=function(t,e){function n(){i.$off(t,n),e.apply(this,arguments)}var i=this;return n.fn=e,this.$on(t,n),this},t.prototype.$off=function(t,n){var i;if(!arguments.length){if(this.$parent)for(t in this._events)i=this._events[t],i&&e(this,t,-i.length);return this._events={},this}if(i=this._events[t],!i)return this;if(1===arguments.length)return e(this,t,-i.length),this._events[t]=null,this;for(var r,s=i.length;s--;)if(r=i[s],r===n||r.fn===n){e(this,t,-1),i.splice(s,1);break}return this},t.prototype.$emit=function(t){var e="string"==typeof t;t=e?t:t.name;var n=this._events[t],i=e||!n;if(n){n=n.length>1?v(n):n;var r=e&&n.some(function(t){return t._fromParent});r&&(i=!1);for(var s=v(arguments,1),o=0,a=n.length;a>o;o++){var u=n[o],c=u.apply(this,s);c!==!0||r&&!u._fromParent||(i=!0)}}return i},t.prototype.$broadcast=function(t){var e="string"==typeof t;if(t=e?t:t.name,this._eventsCount[t]){var n=this.$children,i=v(arguments);e&&(i[0]={name:t,source:this});for(var r=0,s=n.length;s>r;r++){var o=n[r],a=o.$emit.apply(o,i);a&&o.$broadcast.apply(o,i)}return this}},t.prototype.$dispatch=function(t){var e=this.$emit.apply(this,arguments);if(e){var n=this.$parent,i=v(arguments);for(i[0]={name:t,source:this};n;)e=n.$emit.apply(n,i),n=e?n.$parent:null;return this}};var n=/^hook:/}function vn(t){function e(){this._isAttached=!0,this._isReady=!0,this._callHook("ready")}t.prototype.$mount=function(t){return this._isCompiled?void 0:(t=R(t),t||(t=document.createElement("div")),this._compile(t),this._initDOMHooks(),W(this.$el)?(this._callHook("attached"),e.call(this)):this.$once("hook:attached",e),this)},t.prototype.$destroy=function(t,e){this._destroy(t,e)},t.prototype.$compile=function(t,e,n,i){return Me(t,this.$options,!0)(this,t,e,n,i)}}function gn(t){this._init(t)}function _n(t,e,n){return n=n?parseInt(n,10):0,e=u(e),"number"==typeof e?t.slice(n,n+e):t}function yn(t,e,n){if(t=Us(t),null==e)return t;if("function"==typeof e)return t.filter(e);e=(""+e).toLowerCase();for(var i,r,s,o,a="in"===n?3:2,u=v(arguments,a).reduce(function(t,e){return t.concat(e)},[]),c=[],l=0,h=t.length;h>l;l++)if(i=t[l],s=i&&i.$value||i,o=u.length){for(;o--;)if(r=u[o],"$key"===r&&wn(i.$key,e)||wn(Pt(s,r),e)){c.push(i);break}}else wn(i,e)&&c.push(i);return c}function bn(t,e,n){if(t=Us(t),!e)return t;var i=n&&0>n?-1:1;return t.slice().sort(function(t,n){return"$key"!==e&&(_(t)&&"$value"in t&&(t=t.$value),_(n)&&"$value"in n&&(n=n.$value)),t=_(t)?Pt(t,e):t,n=_(n)?Pt(n,e):n,t===n?0:t>n?i:-i})}function wn(t,e){var n;if(y(t)){var i=Object.keys(t);for(n=i.length;n--;)if(wn(t[i[n]],e))return!0}else if(Mn(t)){for(n=t.length;n--;)if(wn(t[n],e))return!0}else if(null!=t)return t.toString().toLowerCase().indexOf(e)>-1}function kn(t){function e(t){return new Function("return function "+p(t)+" (options) { this._init(options) }")()}t.options={directives:as,elementDirectives:Ns,filters:Ws,transitions:{},components:{},partials:{},replace:!0},t.util=Oi,t.config=mi,t.set=n,t["delete"]=i,t.nextTick=In,t.compiler=Ys,t.FragmentFactory=ue,t.internalDirectives=bs,t.parsers={path:Vi,text:di,template:br,directive:oi,expression:rr},t.cid=0;var r=1;t.extend=function(t){t=t||{};var n=this,i=0===n.cid;if(i&&t._Ctor)return t._Ctor;var s=t.name||n.options.name,o=e(s||"VueComponent");return o.prototype=Object.create(n.prototype),o.prototype.constructor=o,o.cid=r++,o.options=bt(n.options,t),o["super"]=n, +o.extend=n.extend,mi._assetTypes.forEach(function(t){o[t]=n[t]}),s&&(o.options.components[s]=o),i&&(t._Ctor=o),o},t.use=function(t){if(!t.installed){var e=v(arguments,1);return e.unshift(this),"function"==typeof t.install?t.install.apply(t,e):t.apply(null,e),t.installed=!0,this}},t.mixin=function(e){t.options=bt(t.options,e)},mi._assetTypes.forEach(function(e){t[e]=function(n,i){return i?("component"===e&&y(i)&&(i.name=n,i=t.extend(i)),this.options[e+"s"][n]=i,i):this.options[e+"s"][n]}}),g(t.transition,gi)}var xn=Object.prototype.hasOwnProperty,Sn=/^\s?(true|false|-?[\d\.]+|'[^']*'|"[^"]*")\s?$/,Cn=/-(\w)/g,Dn=/([a-z\d])([A-Z])/g,On=/(?:^|[-_\/])(\w)/g,$n=Object.prototype.toString,Tn="[object Object]",Mn=Array.isArray,An="__proto__"in{},Yn="undefined"!=typeof window&&"[object Object]"!==Object.prototype.toString.call(window),jn=Yn&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__,Pn=Yn&&window.navigator.userAgent.toLowerCase(),En=Pn&&Pn.indexOf("msie 9.0")>0,Fn=Pn&&Pn.indexOf("android")>0,Nn=void 0,Un=void 0,Rn=void 0,Wn=void 0;if(Yn&&!En){var Hn=void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend,Ln=void 0===window.onanimationend&&void 0!==window.onwebkitanimationend;Nn=Hn?"WebkitTransition":"transition",Un=Hn?"webkitTransitionEnd":"transitionend",Rn=Ln?"WebkitAnimation":"animation",Wn=Ln?"webkitAnimationEnd":"animationend"}var In=function(){function e(){r=!1;var t=i.slice(0);i=[];for(var e=0;ee;e++)t[e].update()};var Si=Array.prototype,Ci=Object.create(Si);["push","pop","shift","unshift","splice","sort","reverse"].forEach(function(t){var e=Si[t];b(Ci,t,function(){for(var n=arguments.length,i=new Array(n);n--;)i[n]=arguments[n];var r,s=e.apply(this,i),o=this.__ob__;switch(t){case"push":r=i;break;case"unshift":r=i;break;case"splice":r=i.slice(2)}return r&&o.observeArray(r),o.dep.notify(),s})}),b(Si,"$set",function(t,e){return t>=this.length&&(this.length=Number(t)+1),this.splice(t,1,e)[0]}),b(Si,"$remove",function(t){if(this.length){var e=k(this,t);return e>-1?this.splice(e,1):void 0}});var Di=Object.getOwnPropertyNames(Ci);St.prototype.walk=function(t){for(var e=Object.keys(t),n=0,i=e.length;i>n;n++)this.convert(e[n],t[e[n]])},St.prototype.observeArray=function(t){for(var e=0,n=t.length;n>e;e++)Ot(t[e])},St.prototype.convert=function(t,e){$t(this.value,t,e)},St.prototype.addVm=function(t){(this.vms||(this.vms=[])).push(t)},St.prototype.removeVm=function(t){this.vms.$remove(t)};var Oi=Object.freeze({defineReactive:$t,set:n,del:i,hasOwn:r,isLiteral:s,isReserved:o,_toString:a,toNumber:u,toBoolean:c,stripQuotes:l,camelize:h,hyphenate:f,classify:p,bind:m,toArray:v,extend:g,isObject:_,isPlainObject:y,def:b,debounce:w,indexOf:k,cancellable:x,looseEqual:S,isArray:Mn,hasProto:An,inBrowser:Yn,devtools:jn,isIE9:En,isAndroid:Fn,get transitionProp(){return Nn},get transitionEndEvent(){return Un},get animationProp(){return Rn},get animationEndEvent(){return Wn},nextTick:In,query:R,inDoc:W,getAttr:H,getBindAttr:L,hasBindAttr:I,before:V,after:G,remove:z,prepend:q,replace:B,on:J,off:Z,setClass:Q,addClass:X,removeClass:K,extractContent:tt,trimNode:et,isTemplate:it,createAnchor:rt,findRef:st,mapNodeRange:ot,removeNodeRange:at,isFragment:ut,getOuterHTML:ct,mergeOptions:bt,resolveAsset:wt,assertAsset:kt,checkComponentAttr:lt,initProp:dt,assertProp:ft,coerceProp:pt,commonTagRE:yi,reservedTagRE:bi,get warn(){return vi}}),$i=0,Ti=new C(1e3),Mi=0,Ai=1,Yi=2,ji=3,Pi=0,Ei=1,Fi=2,Ni=3,Ui=4,Ri=5,Wi=6,Hi=7,Li=8,Ii=[];Ii[Pi]={ws:[Pi],ident:[Ni,Mi],"[":[Ui],eof:[Hi]},Ii[Ei]={ws:[Ei],".":[Fi],"[":[Ui],eof:[Hi]},Ii[Fi]={ws:[Fi],ident:[Ni,Mi]},Ii[Ni]={ident:[Ni,Mi],0:[Ni,Mi],number:[Ni,Mi],ws:[Ei,Ai],".":[Fi,Ai],"[":[Ui,Ai],eof:[Hi,Ai]},Ii[Ui]={"'":[Ri,Mi],'"':[Wi,Mi],"[":[Ui,Yi],"]":[Ei,ji],eof:Li,"else":[Ui,Mi]},Ii[Ri]={"'":[Ui,Mi],eof:Li,"else":[Ri,Mi]},Ii[Wi]={'"':[Ui,Mi],eof:Li,"else":[Wi,Mi]};var Vi=Object.freeze({parsePath:jt,getPath:Pt,setPath:Et}),Gi=new C(1e3),zi="Math,Date,this,true,false,null,undefined,Infinity,NaN,isNaN,isFinite,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,parseInt,parseFloat",qi=new RegExp("^("+zi.replace(/,/g,"\\b|")+"\\b)"),Bi="break,case,class,catch,const,continue,debugger,default,delete,do,else,export,extends,finally,for,function,if,import,in,instanceof,let,return,super,switch,throw,try,var,while,with,yield,enum,await,implements,package,proctected,static,interface,private,public",Ji=new RegExp("^("+Bi.replace(/,/g,"\\b|")+"\\b)"),Zi=/\s/g,Qi=/\n/g,Xi=/[\{,]\s*[\w\$_]+\s*:|('(?:[^'\\]|\\.)*'|"(?:[^"\\]|\\.)*"|`(?:[^`\\]|\\.)*\$\{|\}(?:[^`\\]|\\.)*`|`(?:[^`\\]|\\.)*`)|new |typeof |void /g,Ki=/"(\d+)"/g,tr=/^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['.*?'\]|\[".*?"\]|\[\d+\]|\[[A-Za-z_$][\w$]*\])*$/,er=/[^\w$\.](?:[A-Za-z_$][\w$]*)/g,nr=/^(?:true|false)$/,ir=[],rr=Object.freeze({parseExpression:Lt,isSimplePath:It}),sr=[],or=[],ar={},ur={},cr=!1,lr=!1,hr=0;Bt.prototype.addDep=function(t){var e=t.id;this.newDeps[e]||(this.newDeps[e]=t,this.deps[e]||(this.deps[e]=t,t.addSub(this)))},Bt.prototype.get=function(){this.beforeGet();var t,e=this.scope||this.vm;try{t=this.getter.call(e,e)}catch(n){}return this.deep&&Jt(t),this.preProcess&&(t=this.preProcess(t)),this.filters&&(t=e._applyFilters(t,null,this.filters,!1)),this.postProcess&&(t=this.postProcess(t)),this.afterGet(),t},Bt.prototype.set=function(t){var e=this.scope||this.vm;this.filters&&(t=e._applyFilters(t,this.value,this.filters,!0));try{this.setter.call(e,e,t)}catch(n){}var i=e.$forContext;if(i&&i.alias===this.expression){if(i.filters)return;i._withLock(function(){e.$key?i.rawValue[e.$key]=t:i.rawValue.$set(e.$index,t)})}},Bt.prototype.beforeGet=function(){xt.target=this,this.newDeps=Object.create(null)},Bt.prototype.afterGet=function(){xt.target=null;for(var t=Object.keys(this.deps),e=t.length;e--;){var n=t[e];this.newDeps[n]||this.deps[n].removeSub(this)}this.deps=this.newDeps},Bt.prototype.update=function(t){this.lazy?this.dirty=!0:this.sync||!mi.async?this.run():(this.shallow=this.queued?t?this.shallow:!1:!!t,this.queued=!0,qt(this))},Bt.prototype.run=function(){if(this.active){var t=this.get();if(t!==this.value||(_(t)||this.deep)&&!this.shallow){var e=this.value;this.value=t;this.prevError;this.cb.call(this.vm,t,e)}this.queued=this.shallow=!1}},Bt.prototype.evaluate=function(){var t=xt.target;this.value=this.get(),this.dirty=!1,xt.target=t},Bt.prototype.depend=function(){for(var t=Object.keys(this.deps),e=t.length;e--;)this.deps[t[e]].depend()},Bt.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||this.vm._vForRemoving||this.vm._watchers.$remove(this);for(var t=Object.keys(this.deps),e=t.length;e--;)this.deps[t[e]].removeSub(this);this.active=!1,this.vm=this.cb=this.value=null}};var dr={bind:function(){this.attr=3===this.el.nodeType?"data":"textContent"},update:function(t){this.el[this.attr]=a(t)}},fr=new C(1e3),pr=new C(1e3),mr={efault:[0,"",""],legend:[1,"

","
"],tr:[2,"","
"],col:[2,"","
"]};mr.td=mr.th=[3,"","
"],mr.option=mr.optgroup=[1,'"],mr.thead=mr.tbody=mr.colgroup=mr.caption=mr.tfoot=[1,"","
"],mr.g=mr.defs=mr.symbol=mr.use=mr.image=mr.text=mr.circle=mr.ellipse=mr.line=mr.path=mr.polygon=mr.polyline=mr.rect=[1,'',""];var vr=/<([\w:]+)/,gr=/&#?\w+?;/,_r=function(){if(Yn){var t=document.createElement("div");return t.innerHTML="",!t.cloneNode(!0).firstChild.innerHTML}return!1}(),yr=function(){if(Yn){var t=document.createElement("textarea");return t.placeholder="t","t"===t.cloneNode(!0).value}return!1}(),br=Object.freeze({cloneNode:Kt,parseTemplate:te}),wr={bind:function(){8===this.el.nodeType&&(this.nodes=[],this.anchor=rt("v-html"),B(this.el,this.anchor))},update:function(t){t=a(t),this.nodes?this.swap(t):this.el.innerHTML=t},swap:function(t){for(var e=this.nodes.length;e--;)z(this.nodes[e]);var n=te(t,!0,!0);this.nodes=v(n.childNodes),V(n,this.anchor)}};ee.prototype.callHook=function(t){var e,n;for(e=0,n=this.childFrags.length;n>e;e++)this.childFrags[e].callHook(t);for(e=0,n=this.children.length;n>e;e++)t(this.children[e])},ee.prototype.beforeRemove=function(){var t,e;for(t=0,e=this.childFrags.length;e>t;t++)this.childFrags[t].beforeRemove(!1);for(t=0,e=this.children.length;e>t;t++)this.children[t].$destroy(!1,!0);var n=this.unlink.dirs;for(t=0,e=n.length;e>t;t++)n[t]._watcher&&n[t]._watcher.teardown()},ee.prototype.destroy=function(){this.parentFrag&&this.parentFrag.childFrags.$remove(this),this.node.__v_frag=null,this.unlink()};var kr=new C(5e3);ue.prototype.create=function(t,e,n){var i=Kt(this.template);return new ee(this.linker,this.vm,i,t,e,n)};var xr=700,Sr=800,Cr=850,Dr=1100,Or=1500,$r=1500,Tr=1750,Mr=2e3,Ar=2e3,Yr=2100,jr=0,Pr={priority:Mr,params:["track-by","stagger","enter-stagger","leave-stagger"],bind:function(){var t=this.expression.match(/(.*) (?:in|of) (.*)/);if(t){var e=t[1].match(/\((.*),(.*)\)/);e?(this.iterator=e[1].trim(),this.alias=e[2].trim()):this.alias=t[1].trim(),this.expression=t[2]}if(this.alias){this.id="__v-for__"+ ++jr;var n=this.el.tagName;this.isOption=("OPTION"===n||"OPTGROUP"===n)&&"SELECT"===this.el.parentNode.tagName,this.start=rt("v-for-start"),this.end=rt("v-for-end"),B(this.el,this.end),V(this.start,this.end),this.cache=Object.create(null),this.factory=new ue(this.vm,this.el)}},update:function(t){this.diff(t),this.updateRef(),this.updateModel()},diff:function(t){var e,n,i,s,o,a,u=t[0],c=this.fromObject=_(u)&&r(u,"$key")&&r(u,"$value"),l=this.params.trackBy,h=this.frags,d=this.frags=new Array(t.length),f=this.alias,p=this.iterator,m=this.start,v=this.end,g=W(m),y=!h;for(e=0,n=t.length;n>e;e++)u=t[e],s=c?u.$key:null,o=c?u.$value:u,a=!_(o),i=!y&&this.getCachedFrag(o,e,s),i?(i.reused=!0,i.scope.$index=e,s&&(i.scope.$key=s),p&&(i.scope[p]=null!==s?s:e),(l||c||a)&&(i.scope[f]=o)):(i=this.create(o,f,e,s),i.fresh=!y),d[e]=i,y&&i.before(v);if(!y){var b=0,w=h.length-d.length;for(this.vm._vForRemoving=!0,e=0,n=h.length;n>e;e++)i=h[e],i.reused||(this.deleteCachedFrag(i),this.remove(i,b++,w,g));this.vm._vForRemoving=!1,b&&(this.vm._watchers=this.vm._watchers.filter(function(t){return t.active}));var k,x,S,C=0;for(e=0,n=d.length;n>e;e++)i=d[e],k=d[e-1],x=k?k.staggerCb?k.staggerAnchor:k.end||k.node:m,i.reused&&!i.staggerCb?(S=ce(i,m,this.id),S===k||S&&ce(S,m,this.id)===k||this.move(i,x)):this.insert(i,C++,x,g),i.reused=i.fresh=!1}},create:function(t,e,n,i){var r=this._host,s=this._scope||this.vm,o=Object.create(s);o.$refs=Object.create(s.$refs),o.$els=Object.create(s.$els),o.$parent=s,o.$forContext=this,$t(o,e,t),$t(o,"$index",n),i?$t(o,"$key",i):o.$key&&b(o,"$key",null),this.iterator&&$t(o,this.iterator,null!==i?i:n);var a=this.factory.create(r,o,this._frag);return a.forId=this.id,this.cacheFrag(t,a,n,i),a},updateRef:function(){var t=this.descriptor.ref;if(t){var e,n=(this._scope||this.vm).$refs;this.fromObject?(e={},this.frags.forEach(function(t){e[t.scope.$key]=le(t)})):e=this.frags.map(le),n[t]=e}},updateModel:function(){if(this.isOption){var t=this.start.parentNode,e=t&&t.__v_model;e&&e.forceUpdate()}},insert:function(t,e,n,i){t.staggerCb&&(t.staggerCb.cancel(),t.staggerCb=null);var r=this.getStagger(t,e,null,"enter");if(i&&r){var s=t.staggerAnchor;s||(s=t.staggerAnchor=rt("stagger-anchor"),s.__v_frag=t),G(s,n);var o=t.staggerCb=x(function(){t.staggerCb=null,t.before(s),z(s)});setTimeout(o,r)}else t.before(n.nextSibling)},remove:function(t,e,n,i){if(t.staggerCb)return t.staggerCb.cancel(),void(t.staggerCb=null);var r=this.getStagger(t,e,n,"leave");if(i&&r){var s=t.staggerCb=x(function(){t.staggerCb=null,t.remove()});setTimeout(s,r)}else t.remove()},move:function(t,e){e.nextSibling||this.end.parentNode.appendChild(this.end),t.before(e.nextSibling,!1)},cacheFrag:function(t,e,n,i){var s,o=this.params.trackBy,a=this.cache,u=!_(t);i||o||u?(s=o?"$index"===o?n:t[o]:i||t,a[s]||(a[s]=e)):(s=this.id,r(t,s)?null===t[s]&&(t[s]=e):b(t,s,e)),e.raw=t},getCachedFrag:function(t,e,n){var i,r=this.params.trackBy,s=!_(t);if(n||r||s){var o=r?"$index"===r?e:t[r]:n||t;i=this.cache[o]}else i=t[this.id];return i&&(i.reused||i.fresh),i},deleteCachedFrag:function(t){var e=t.raw,n=this.params.trackBy,i=t.scope,s=i.$index,o=r(i,"$key")&&i.$key,a=!_(e);if(n||o||a){var u=n?"$index"===n?s:e[n]:o||e;this.cache[u]=null}else e[this.id]=null,t.raw=null},getStagger:function(t,e,n,i){i+="Stagger";var r=t.node.__v_trans,s=r&&r.hooks,o=s&&(s[i]||s.stagger);return o?o.call(t,e,n):e*parseInt(this.params[i]||this.params.stagger,10)},_preProcess:function(t){return this.rawValue=t,t},_postProcess:function(t){if(Mn(t))return t;if(y(t)){for(var e,n=Object.keys(t),i=n.length,r=new Array(i);i--;)e=n[i],r[i]={$key:e,$value:t[e]};return r}return"number"!=typeof t||isNaN(t)||(t=he(t)),t||[]},unbind:function(){if(this.descriptor.ref&&((this._scope||this.vm).$refs[this.descriptor.ref]=null),this.frags)for(var t,e=this.frags.length;e--;)t=this.frags[e],this.deleteCachedFrag(t),t.destroy()}},Er={priority:Ar,bind:function(){var t=this.el;if(t.__vue__)this.invalid=!0;else{var e=t.nextElementSibling;e&&null!==H(e,"v-else")&&(z(e),this.elseFactory=new ue(e._context||this.vm,e)),this.anchor=rt("v-if"),B(t,this.anchor),this.factory=new ue(this.vm,t)}},update:function(t){this.invalid||(t?this.frag||this.insert():this.remove())},insert:function(){this.elseFrag&&(this.elseFrag.remove(),this.elseFrag=null),this.frag=this.factory.create(this._host,this._scope,this._frag),this.frag.before(this.anchor)},remove:function(){this.frag&&(this.frag.remove(),this.frag=null),this.elseFactory&&!this.elseFrag&&(this.elseFrag=this.elseFactory.create(this._host,this._scope,this._frag),this.elseFrag.before(this.anchor))},unbind:function(){this.frag&&this.frag.destroy(),this.elseFrag&&this.elseFrag.destroy()}},Fr={bind:function(){var t=this.el.nextElementSibling;t&&null!==H(t,"v-else")&&(this.elseEl=t)},update:function(t){this.apply(this.el,t),this.elseEl&&this.apply(this.elseEl,!t)},apply:function(t,e){function n(){t.style.display=e?"":"none"}W(t)?U(t,e?1:-1,n,this.vm):n()}},Nr={bind:function(){var t=this,e=this.el,n="range"===e.type,i=this.params.lazy,r=this.params.number,s=this.params.debounce,o=!1;if(Fn||n||(this.on("compositionstart",function(){o=!0}),this.on("compositionend",function(){o=!1,i||t.listener()})),this.focused=!1,n||i||(this.on("focus",function(){t.focused=!0}),this.on("blur",function(){t.focused=!1})),this.listener=this.rawListener=function(){if(!o&&t._bound){var i=r||n?u(e.value):e.value;t.set(i),In(function(){t._bound&&!t.focused&&t.update(t._watcher.value)})}},s&&(this.listener=w(this.listener,s)),this.hasjQuery="function"==typeof jQuery,this.hasjQuery){var a=jQuery.fn.on?"on":"bind";jQuery(e)[a]("change",this.rawListener),i||jQuery(e)[a]("input",this.listener)}else this.on("change",this.rawListener),i||this.on("input",this.listener);!i&&En&&(this.on("cut",function(){In(t.listener)}),this.on("keyup",function(e){46!==e.keyCode&&8!==e.keyCode||t.listener()})),(e.hasAttribute("value")||"TEXTAREA"===e.tagName&&e.value.trim())&&(this.afterBind=this.listener)},update:function(t){this.el.value=a(t)},unbind:function(){var t=this.el;if(this.hasjQuery){var e=jQuery.fn.off?"off":"unbind";jQuery(t)[e]("change",this.listener),jQuery(t)[e]("input",this.listener)}}},Ur={bind:function(){var t=this,e=this.el;this.getValue=function(){if(e.hasOwnProperty("_value"))return e._value;var n=e.value;return t.params.number&&(n=u(n)),n},this.listener=function(){t.set(t.getValue())},this.on("change",this.listener),e.hasAttribute("checked")&&(this.afterBind=this.listener)},update:function(t){this.el.checked=S(t,this.getValue())}},Rr={bind:function(){var t=this,e=this.el;this.forceUpdate=function(){t._watcher&&t.update(t._watcher.get())};var n=this.multiple=e.hasAttribute("multiple");this.listener=function(){var i=de(e,n);i=t.params.number?Mn(i)?i.map(u):u(i):i,t.set(i)},this.on("change",this.listener);var i=de(e,n,!0);(n&&i.length||!n&&null!==i)&&(this.afterBind=this.listener),this.vm.$on("hook:attached",this.forceUpdate)},update:function(t){var e=this.el;e.selectedIndex=-1;for(var n,i,r=this.multiple&&Mn(t),s=e.options,o=s.length;o--;)n=s[o],i=n.hasOwnProperty("_value")?n._value:n.value,n.selected=r?fe(t,i)>-1:S(t,i)},unbind:function(){this.vm.$off("hook:attached",this.forceUpdate)}},Wr={bind:function(){function t(){var t=n.checked;return t&&n.hasOwnProperty("_trueValue")?n._trueValue:!t&&n.hasOwnProperty("_falseValue")?n._falseValue:t}var e=this,n=this.el;this.getValue=function(){return n.hasOwnProperty("_value")?n._value:e.params.number?u(n.value):n.value},this.listener=function(){var i=e._watcher.value;if(Mn(i)){var r=e.getValue();n.checked?k(i,r)<0&&i.push(r):i.$remove(r)}else e.set(t())},this.on("change",this.listener),n.hasAttribute("checked")&&(this.afterBind=this.listener)},update:function(t){var e=this.el;Mn(t)?e.checked=k(t,this.getValue())>-1:e.hasOwnProperty("_trueValue")?e.checked=S(t,e._trueValue):e.checked=!!t}},Hr={text:Nr,radio:Ur,select:Rr,checkbox:Wr},Lr={priority:Sr,twoWay:!0,handlers:Hr,params:["lazy","number","debounce"],bind:function(){this.checkFilters(),this.hasRead&&!this.hasWrite;var t,e=this.el,n=e.tagName;if("INPUT"===n)t=Hr[e.type]||Hr.text;else if("SELECT"===n)t=Hr.select;else{if("TEXTAREA"!==n)return;t=Hr.text}e.__v_model=this,t.bind.call(this),this.update=t.update,this._unbind=t.unbind},checkFilters:function(){var t=this.filters;if(t)for(var e=t.length;e--;){var n=wt(this.vm.$options,"filters",t[e].name);("function"==typeof n||n.read)&&(this.hasRead=!0),n.write&&(this.hasWrite=!0)}},unbind:function(){this.el.__v_model=null,this._unbind&&this._unbind()}},Ir={esc:27,tab:9,enter:13,space:32,"delete":[8,46],up:38,left:37,right:39,down:40},Vr={priority:xr,acceptStatement:!0,keyCodes:Ir,bind:function(){if("IFRAME"===this.el.tagName&&"load"!==this.arg){var t=this;this.iframeBind=function(){J(t.el.contentWindow,t.arg,t.handler,t.modifiers.capture)},this.on("load",this.iframeBind)}},update:function(t){if(this.descriptor.raw||(t=function(){}),"function"==typeof t){this.modifiers.stop&&(t=me(t)),this.modifiers.prevent&&(t=ve(t)),this.modifiers.self&&(t=ge(t));var e=Object.keys(this.modifiers).filter(function(t){return"stop"!==t&&"prevent"!==t});e.length&&(t=pe(t,e)),this.reset(),this.handler=t,this.iframeBind?this.iframeBind():J(this.el,this.arg,this.handler,this.modifiers.capture)}},reset:function(){var t=this.iframeBind?this.el.contentWindow:this.el;this.handler&&Z(t,this.arg,this.handler)},unbind:function(){this.reset()}},Gr=["-webkit-","-moz-","-ms-"],zr=["Webkit","Moz","ms"],qr=/!important;?$/,Br=Object.create(null),Jr=null,Zr={deep:!0,update:function(t){"string"==typeof t?this.el.style.cssText=t:Mn(t)?this.handleObject(t.reduce(g,{})):this.handleObject(t||{})},handleObject:function(t){var e,n,i=this.cache||(this.cache={});for(e in i)e in t||(this.handleSingle(e,null),delete i[e]);for(e in t)n=t[e],n!==i[e]&&(i[e]=n,this.handleSingle(e,n))},handleSingle:function(t,e){if(t=_e(t))if(null!=e&&(e+=""),e){var n=qr.test(e)?"important":"";n&&(e=e.replace(qr,"").trim()),this.el.style.setProperty(t,e,n)}else this.el.style.removeProperty(t)}},Qr="http://www.w3.org/1999/xlink",Xr=/^xlink:/,Kr=/^v-|^:|^@|^(?:is|transition|transition-mode|debounce|track-by|stagger|enter-stagger|leave-stagger)$/,ts=/^(?:value|checked|selected|muted)$/,es=/^(?:draggable|contenteditable|spellcheck)$/,ns={value:"_value","true-value":"_trueValue","false-value":"_falseValue"},is={priority:Cr,bind:function(){var t=this.arg,e=this.el.tagName;t||(this.deep=!0);var n=this.descriptor,i=n.interp;if(i){n.hasOneTime&&(this.expression=Y(i,this._scope||this.vm)),(Kr.test(t)||"name"===t&&("PARTIAL"===e||"SLOT"===e))&&(this.el.removeAttribute(t),this.invalid=!0)}},update:function(t){if(!this.invalid){var e=this.arg;this.arg?this.handleSingle(e,t):this.handleObject(t||{})}},handleObject:Zr.handleObject,handleSingle:function(t,e){var n=this.el,i=this.descriptor.interp;this.modifiers.camel&&(t=h(t)),!i&&ts.test(t)&&t in n&&(n[t]="value"===t&&null==e?"":e);var r=ns[t];if(!i&&r){n[r]=e;var s=n.__v_model;s&&s.listener()}return"value"===t&&"TEXTAREA"===n.tagName?void n.removeAttribute(t):void(es.test(t)?n.setAttribute(t,e?"true":"false"):null!=e&&e!==!1?"class"===t?(n.__v_trans&&(e+=" "+n.__v_trans.id+"-transition"),Q(n,e)):Xr.test(t)?n.setAttributeNS(Qr,t,e===!0?"":e):n.setAttribute(t,e===!0?"":e):n.removeAttribute(t))}},rs={priority:Or,bind:function(){if(this.arg){var t=this.id=h(this.arg),e=(this._scope||this.vm).$els;r(e,t)?e[t]=this.el:$t(e,t,this.el)}},unbind:function(){var t=(this._scope||this.vm).$els;t[this.id]===this.el&&(t[this.id]=null)}},ss={bind:function(){}},os={bind:function(){var t=this.el;this.vm.$once("pre-hook:compiled",function(){t.removeAttribute("v-cloak")})}},as={text:dr,html:wr,"for":Pr,"if":Er,show:Fr,model:Lr,on:Vr,bind:is,el:rs,ref:ss,cloak:os},us={deep:!0,update:function(t){t&&"string"==typeof t?this.handleObject(be(t)):y(t)?this.handleObject(t):Mn(t)?this.handleArray(t):this.cleanup()},handleObject:function(t){this.cleanup(t);for(var e=this.prevKeys=Object.keys(t),n=0,i=e.length;i>n;n++){var r=e[n];t[r]?X(this.el,r):K(this.el,r)}},handleArray:function(t){this.cleanup(t);for(var e=0,n=t.length;n>e;e++)t[e]&&X(this.el,t[e]);this.prevKeys=t.slice()},cleanup:function(t){if(this.prevKeys)for(var e=this.prevKeys.length;e--;){var n=this.prevKeys[e];!n||t&&we(t,n)||K(this.el,n)}}},cs={priority:$r,params:["keep-alive","transition-mode","inline-template"],bind:function(){this.el.__vue__||(this.keepAlive=this.params.keepAlive,this.keepAlive&&(this.cache={}),this.params.inlineTemplate&&(this.inlineTemplate=tt(this.el,!0)),this.pendingComponentCb=this.Component=null,this.pendingRemovals=0,this.pendingRemovalCb=null,this.anchor=rt("v-component"),B(this.el,this.anchor),this.el.removeAttribute("is"),this.descriptor.ref&&this.el.removeAttribute("v-ref:"+f(this.descriptor.ref)),this.literal&&this.setComponent(this.expression))},update:function(t){this.literal||this.setComponent(t)},setComponent:function(t,e){if(this.invalidatePending(),t){var n=this;this.resolveComponent(t,function(){n.mountComponent(e)})}else this.unbuild(!0),this.remove(this.childVM,e),this.childVM=null},resolveComponent:function(t,e){var n=this;this.pendingComponentCb=x(function(i){n.ComponentName=i.options.name||t,n.Component=i,e()}),this.vm._resolveComponent(t,this.pendingComponentCb)},mountComponent:function(t){this.unbuild(!0);var e=this,n=this.Component.options.activate,i=this.getCached(),r=this.build();n&&!i?(this.waitingFor=r,ke(n,r,function(){e.waitingFor===r&&(e.waitingFor=null,e.transition(r,t))})):(i&&r._updateRef(),this.transition(r,t))},invalidatePending:function(){this.pendingComponentCb&&(this.pendingComponentCb.cancel(),this.pendingComponentCb=null)},build:function(t){var e=this.getCached();if(e)return e;if(this.Component){var n={name:this.ComponentName,el:Kt(this.el),template:this.inlineTemplate,parent:this._host||this.vm,_linkerCachable:!this.inlineTemplate,_ref:this.descriptor.ref,_asComponent:!0,_isRouterView:this._isRouterView,_context:this.vm,_scope:this._scope,_frag:this._frag};t&&g(n,t);var i=new this.Component(n);return this.keepAlive&&(this.cache[this.Component.cid]=i),i}},getCached:function(){return this.keepAlive&&this.cache[this.Component.cid]},unbuild:function(t){this.waitingFor&&(this.waitingFor.$destroy(),this.waitingFor=null);var e=this.childVM;return!e||this.keepAlive?void(e&&e._updateRef(!0)):void e.$destroy(!1,t)},remove:function(t,e){var n=this.keepAlive;if(t){this.pendingRemovals++,this.pendingRemovalCb=e;var i=this;t.$remove(function(){i.pendingRemovals--,n||t._cleanup(),!i.pendingRemovals&&i.pendingRemovalCb&&(i.pendingRemovalCb(),i.pendingRemovalCb=null)})}else e&&e()},transition:function(t,e){var n=this,i=this.childVM;switch(this.childVM=t,n.params.transitionMode){case"in-out":t.$before(n.anchor,function(){n.remove(i,e)});break;case"out-in":n.remove(i,function(){t.$before(n.anchor,e)});break;default:n.remove(i),t.$before(n.anchor,e)}},unbind:function(){if(this.invalidatePending(),this.unbuild(),this.cache){for(var t in this.cache)this.cache[t].$destroy();this.cache=null}}},ls=mi._propBindingModes,hs={bind:function(){var t=this.vm,e=t._context,n=this.descriptor.prop,i=n.path,r=n.parentPath,s=n.mode===ls.TWO_WAY,o=this.parentWatcher=new Bt(e,r,function(e){e=pt(n,e),ft(n,e)&&(t[i]=e)},{twoWay:s,filters:n.filters,scope:this._scope});if(dt(t,n,o.value),s){var a=this;t.$once("pre-hook:created",function(){a.childWatcher=new Bt(t,i,function(t){o.set(t)},{sync:!0})})}},unbind:function(){this.parentWatcher.teardown(),this.childWatcher&&this.childWatcher.teardown()}},ds=[],fs=!1,ps="transition",ms="animation",vs=Nn+"Duration",gs=Rn+"Duration",_s=Ce.prototype;_s.enter=function(t,e){this.cancelPending(),this.callHook("beforeEnter"),this.cb=e,X(this.el,this.enterClass),t(),this.entered=!1,this.callHookWithCb("enter"),this.entered||(this.cancel=this.hooks&&this.hooks.enterCancelled,xe(this.enterNextTick))},_s.enterNextTick=function(){this.justEntered=!0;var t=this;setTimeout(function(){t.justEntered=!1},17);var e=this.enterDone,n=this.getCssTransitionType(this.enterClass);this.pendingJsCb?n===ps&&K(this.el,this.enterClass):n===ps?(K(this.el,this.enterClass),this.setupCssCb(Un,e)):n===ms?this.setupCssCb(Wn,e):e()},_s.enterDone=function(){this.entered=!0,this.cancel=this.pendingJsCb=null,K(this.el,this.enterClass),this.callHook("afterEnter"),this.cb&&this.cb()},_s.leave=function(t,e){this.cancelPending(),this.callHook("beforeLeave"),this.op=t,this.cb=e,X(this.el,this.leaveClass),this.left=!1,this.callHookWithCb("leave"),this.left||(this.cancel=this.hooks&&this.hooks.leaveCancelled,this.op&&!this.pendingJsCb&&(this.justEntered?this.leaveDone():xe(this.leaveNextTick)))},_s.leaveNextTick=function(){var t=this.getCssTransitionType(this.leaveClass);if(t){var e=t===ps?Un:Wn;this.setupCssCb(e,this.leaveDone)}else this.leaveDone()},_s.leaveDone=function(){this.left=!0,this.cancel=this.pendingJsCb=null,this.op(),K(this.el,this.leaveClass),this.callHook("afterLeave"),this.cb&&this.cb(),this.op=null},_s.cancelPending=function(){this.op=this.cb=null;var t=!1;this.pendingCssCb&&(t=!0,Z(this.el,this.pendingCssEvent,this.pendingCssCb),this.pendingCssEvent=this.pendingCssCb=null),this.pendingJsCb&&(t=!0,this.pendingJsCb.cancel(),this.pendingJsCb=null),t&&(K(this.el,this.enterClass),K(this.el,this.leaveClass)),this.cancel&&(this.cancel.call(this.vm,this.el),this.cancel=null)},_s.callHook=function(t){this.hooks&&this.hooks[t]&&this.hooks[t].call(this.vm,this.el)},_s.callHookWithCb=function(t){var e=this.hooks&&this.hooks[t];e&&(e.length>1&&(this.pendingJsCb=x(this[t+"Done"])),e.call(this.vm,this.el,this.pendingJsCb))},_s.getCssTransitionType=function(t){if(!(!Un||document.hidden||this.hooks&&this.hooks.css===!1||De(this.el))){var e=this.type||this.typeCache[t];if(e)return e;var n=this.el.style,i=window.getComputedStyle(this.el),r=n[vs]||i[vs];if(r&&"0s"!==r)e=ps;else{var s=n[gs]||i[gs];s&&"0s"!==s&&(e=ms)}return e&&(this.typeCache[t]=e),e}},_s.setupCssCb=function(t,e){this.pendingCssEvent=t;var n=this,i=this.el,r=this.pendingCssCb=function(s){s.target===i&&(Z(i,t,r),n.pendingCssEvent=n.pendingCssCb=null,!n.pendingJsCb&&e&&e())};J(i,t,r)};var ys={priority:Dr,update:function(t,e){var n=this.el,i=wt(this.vm.$options,"transitions",t);t=t||"v",n.__v_trans=new Ce(n,t,i,this.vm),e&&K(n,e+"-transition"),X(n,t+"-transition")}},bs={style:Zr,"class":us,component:cs,prop:hs,transition:ys},ws=mi._propBindingModes,ks={},xs=/^[$_a-zA-Z]+[\w$]*$/,Ss=/^v-bind:|^:/,Cs=/^v-on:|^@/,Ds=/^v-([^:]+)(?:$|:(.*)$)/,Os=/\.[^\.]+/g,$s=/^(v-bind:|:)?transition$/,Ts=["for","if"],Ms=1e3;Be.terminal=!0;var As=/[^\w\-:\.]/,Ys=Object.freeze({compile:Me,compileAndLinkProps:Ee,compileRoot:Fe,terminalDirectives:Ts,transclude:tn,scanSlots:sn}),js=/^v-on:|^@/;ln.prototype._bind=function(){var t=this.name,e=this.descriptor;if(("cloak"!==t||this.vm._isCompiled)&&this.el&&this.el.removeAttribute){var n=e.attr||"v-"+t;this.el.removeAttribute(n)}var i=e.def;if("function"==typeof i?this.update=i:g(this,i),this._setupParams(),this.bind&&this.bind(),this._bound=!0,this.literal)this.update&&this.update(e.raw);else if((this.expression||this.modifiers)&&(this.update||this.twoWay)&&!this._checkStatement()){var r=this;this.update?this._update=function(t,e){r._locked||r.update(t,e)}:this._update=cn;var s=this._preProcess?m(this._preProcess,this):null,o=this._postProcess?m(this._postProcess,this):null,a=this._watcher=new Bt(this.vm,this.expression,this._update,{ +filters:this.filters,twoWay:this.twoWay,deep:this.deep,preProcess:s,postProcess:o,scope:this._scope});this.afterBind?this.afterBind():this.update&&this.update(a.value)}},ln.prototype._setupParams=function(){if(this.params){var t=this.params;this.params=Object.create(null);for(var e,n,i,r=t.length;r--;)e=t[r],i=h(e),n=L(this.el,e),null!=n?this._setupParamWatcher(i,n):(n=H(this.el,e),null!=n&&(this.params[i]=""===n?!0:n))}},ln.prototype._setupParamWatcher=function(t,e){var n=this,i=!1,r=(this._scope||this.vm).$watch(e,function(e,r){if(n.params[t]=e,i){var s=n.paramWatchers&&n.paramWatchers[t];s&&s.call(n,e,r)}else i=!0},{immediate:!0,user:!1});(this._paramUnwatchFns||(this._paramUnwatchFns=[])).push(r)},ln.prototype._checkStatement=function(){var t=this.expression;if(t&&this.acceptStatement&&!It(t)){var e=Lt(t).get,n=this._scope||this.vm,i=function(t){n.$event=t,e.call(n,n),n.$event=null};return this.filters&&(i=n._applyFilters(i,null,this.filters)),this.update(i),!0}},ln.prototype.set=function(t){this.twoWay&&this._withLock(function(){this._watcher.set(t)})},ln.prototype._withLock=function(t){var e=this;e._locked=!0,t.call(e),In(function(){e._locked=!1})},ln.prototype.on=function(t,e,n){J(this.el,t,e,n),(this._listeners||(this._listeners=[])).push([t,e])},ln.prototype._teardown=function(){if(this._bound){this._bound=!1,this.unbind&&this.unbind(),this._watcher&&this._watcher.teardown();var t,e=this._listeners;if(e)for(t=e.length;t--;)Z(this.el,e[t][0],e[t][1]);var n=this._paramUnwatchFns;if(n)for(t=n.length;t--;)n[t]();this.vm=this.el=this._watcher=this._listeners=null}};var Ps=/[^|]\|[^|]/;Tt(gn),an(gn),un(gn),hn(gn),dn(gn),fn(gn),pn(gn),mn(gn),vn(gn);var Es={priority:Yr,params:["name"],bind:function(){var t=this.params.name||"default",e=this.vm._slotContents&&this.vm._slotContents[t];e&&e.hasChildNodes()?this.compile(e.cloneNode(!0),this.vm._context,this.vm):this.fallback()},compile:function(t,e,n){if(t&&e){if(this.el.hasChildNodes()&&1===t.childNodes.length&&1===t.childNodes[0].nodeType&&t.childNodes[0].hasAttribute("v-if")){var i=document.createElement("template");i.setAttribute("v-else",""),i.innerHTML=this.el.innerHTML,i._context=this.vm,t.appendChild(i)}var r=n?n._scope:this._scope;this.unlink=e.$compile(t,n,r,this._frag)}t?B(this.el,t):z(this.el)},fallback:function(){this.compile(tt(this.el,!0),this.vm)},unbind:function(){this.unlink&&this.unlink()}},Fs={priority:Tr,params:["name"],paramWatchers:{name:function(t){Er.remove.call(this),t&&this.insert(t)}},bind:function(){this.anchor=rt("v-partial"),B(this.el,this.anchor),this.insert(this.params.name)},insert:function(t){var e=wt(this.vm.$options,"partials",t);e&&(this.factory=new ue(this.vm,e),Er.insert.call(this))},unbind:function(){this.frag&&this.frag.destroy()}},Ns={slot:Es,partial:Fs},Us=Pr._postProcess,Rs=/(\d{3})(?=\d)/g,Ws={orderBy:bn,filterBy:yn,limitBy:_n,json:{read:function(t,e){return"string"==typeof t?t:JSON.stringify(t,null,Number(e)||2)},write:function(t){try{return JSON.parse(t)}catch(e){return t}}},capitalize:function(t){return t||0===t?(t=t.toString(),t.charAt(0).toUpperCase()+t.slice(1)):""},uppercase:function(t){return t||0===t?t.toString().toUpperCase():""},lowercase:function(t){return t||0===t?t.toString().toLowerCase():""},currency:function(t,e){if(t=parseFloat(t),!isFinite(t)||!t&&0!==t)return"";e=null!=e?e:"$";var n=Math.abs(t).toFixed(2),i=n.slice(0,-3),r=i.length%3,s=r>0?i.slice(0,r)+(i.length>3?",":""):"",o=n.slice(-3),a=0>t?"-":"";return a+e+s+i.slice(r).replace(Rs,"$1,")+o},pluralize:function(t){var e=v(arguments,1);return e.length>1?e[t%10-1]||e[e.length-1]:e[0]+(1===t?"":"s")},debounce:function(t,e){return t?(e||(e=300),w(t,e)):void 0}};kn(gn),gn.version="1.0.17",jn&&jn.emit("init",gn),e.exports=gn}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],27:[function(t,e,n){var i=n.cache={};n.insert=function(t){if(!i[t]){i[t]=!0;var e=document.createElement("style");return e.setAttribute("type","text/css"),"textContent"in e?e.textContent=t:e.styleSheet.cssText=t,document.getElementsByTagName("head")[0].appendChild(e),e}}},{}],28:[function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{"default":t}}var r=t("./components/SearchIndex.vue"),s=i(r),o=t("./components/SearchCreate.vue"),a=i(o),u=t("./components/SearchShow.vue"),c=i(u),l=t("./components/SearchActionsButtons.vue"),h=(i(l),t("moment")),d=t("vue"),f=t("vue-resource");d.use(f),d.config.debug=!0,d.http.headers.common["X-CSRF-TOKEN"]=document.querySelector('meta[name="csrf-token"]').getAttribute("content"),(document.body.classList.contains("searches-index")||document.body.classList.contains("searches-show")||document.body.classList.contains("searches-create"))&&(d.filter("searchStatus",function(t){return t===!1?'':''}),d.filter("formatInteger",function(t){return t.toLocaleString()}),d.filter("timeAgo",function(t){return h(t).fromNow()}),new d({el:"#app",data:{},methods:{},components:{SearchIndex:s["default"],SearchCreate:a["default"],SearchShow:c["default"]}}))},{"./components/SearchActionsButtons.vue":29,"./components/SearchCreate.vue":30,"./components/SearchIndex.vue":31,"./components/SearchShow.vue":32,moment:1,vue:26,"vue-resource":15}],29:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n["default"]={computed:{createSearchUrl:function(){return baseUrl+"/searches/create"},downloadResourcesUrl:function(){return baseUrl+"/resources"},countSearches:function(){return void 0!==this.$parent.searches?this.$parent.searches.length:0}},methods:{deleteAllSearches:function(){return confirm("Are you shure you want to delete all your searches?")?(this.$http["delete"](apiUrl+"/users/"+userId+"/searches").then(function(){this.$parent.getUserSearches()},function(t){console.log(t)}),!0):!1}}},e.exports.__esModule&&(e.exports=e.exports["default"]),("function"==typeof e.exports?e.exports.options:e.exports).template=' Start a new search Download all resources Delete all searches'},{}],30:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n["default"]={data:function(){return{entrypoint:"",type:""}},computed:{searchesIndexUrl:function(){return baseUrl+"/searches"}},methods:{createSearch:function(){var t={entrypoint:this.entrypoint,type:this.type};this.$http.post(baseUrl+"/searches",t).then(function(){console.log(response)},function(t){console.log(t)}),window.location=baseUrl+"/searches"}}},e.exports.__esModule&&(e.exports=e.exports["default"]),("function"==typeof e.exports?e.exports.options:e.exports).template='



My searches'},{}],31:[function(t,e,n){function i(t){return t&&t.__esModule?t:{"default":t}}t("vueify-insert-css").insert("@media screen and (max-width:991px){.btn-action{margin-bottom:3px}}");Object.defineProperty(n,"__esModule",{value:!0});var r=t("./SearchActionsButtons.vue"),s=i(r);n["default"]={data:function(){return{searches:[]}},methods:{getUserSearches:function(){this.$http.get(apiUrl+"/users/"+userId+"/searches").then(function(t){this.$root.searches=t.data.searches,this.searches=t.data.searches},function(t){console.log(t)})},getUserSearchesEveryFiveSeconds:function(){this.interval=setInterval(function(){if(this.getUserSearches(),this.searches.length>0){for(var t=!1,e=0;e{{ search.resource_type | capitalize }}{{ search.entrypoint_url }}{{ search.created_at | timeAgo }}{{{ search.finished | searchStatus }}}{{ search.related.urls.data.total | formatInteger }}{{ search.related.resources.data.total | formatInteger }} '},{"./SearchActionsButtons.vue":29,"vueify-insert-css":27}],32:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n["default"]={data:function(){return{search:{related:{urls:{data:{total:0,crawled:0}},resources:{data:{total:0,crawled:0}}}},interval:null}},computed:{UserSearchesPageUrl:function(){return baseUrl+"/searches"}},methods:{getSearchEverySecond:function(){this.interval=setInterval(function(){this.getSearch(searchId)}.bind(this),1e3)},getSearch:function(t){this.$http.get(apiUrl+"/users/"+userId+"/searches/"+t).then(function(t){this.search=t.data,this.search.finished&&clearInterval(this.interval)},function(t){clearInterval(this.interval),console.log(t)})},downloadSearchResourceUrl:function(t){return baseUrl+"/searches/"+t+"/resources"},stopSearch:function(t){this.$http.patch(apiUrl+"/users/"+userId+"/searches/"+t,{finished:!0}).then(function(t){},function(t){})}},ready:function(){this.getSearch(searchId),this.getSearchEverySecond()}},e.exports.__esModule&&(e.exports=e.exports["default"]),("function"==typeof e.exports?e.exports.options:e.exports).template='

Status: {{{ search.finished | searchStatus }}}
Started: {{ search.created_at | timeAgo }}
Url found: {{ search.related.urls.data.total | formatInteger }}
Url crawled: {{ search.related.urls.data.crawled | formatInteger }}
{{ search.resource_type | capitalize }}s found: {{ search.related.resources.data.total | formatInteger }}

Url stats:

{{ search.related.urls.data.percent_crawled }}%
{{ search.related.urls.data.percent_not_crawled }}%
    crawled
    not crawled yet

Download {{ search.resource_type }}s Once a search is stopped, it cannot be restarted.

My searches'},{}]},{},[28]); +//# sourceMappingURL=app.js.map diff --git a/public/build/js/app.js.map b/public/build/js/app.js.map index 8578b8d..92a44ae 100644 --- a/public/build/js/app.js.map +++ b/public/build/js/app.js.map @@ -1 +1 @@ -{"version":3,"names":[],"mappings":"","sources":["app.js"],"sourcesContent":["(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o 0) {\n for (i in momentProperties) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n }\n\n var updateInProgress = false;\n\n // Moment prototype object\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n utils_hooks__hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n\n function isMoment (obj) {\n return obj instanceof Moment || (obj != null && obj._isAMomentObject != null);\n }\n\n function absFloor (number) {\n if (number < 0) {\n return Math.ceil(number);\n } else {\n return Math.floor(number);\n }\n }\n\n function toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n }\n\n // compare two arrays, return the number of differences\n function compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n for (i = 0; i < len; i++) {\n if ((dontConvert && array1[i] !== array2[i]) ||\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n }\n\n function warn(msg) {\n if (utils_hooks__hooks.suppressDeprecationWarnings === false &&\n (typeof console !== 'undefined') && console.warn) {\n console.warn('Deprecation warning: ' + msg);\n }\n }\n\n function deprecate(msg, fn) {\n var firstTime = true;\n\n return extend(function () {\n if (firstTime) {\n warn(msg + '\\nArguments: ' + Array.prototype.slice.call(arguments).join(', ') + '\\n' + (new Error()).stack);\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n }\n\n var deprecations = {};\n\n function deprecateSimple(name, msg) {\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n }\n\n utils_hooks__hooks.suppressDeprecationWarnings = false;\n\n function isFunction(input) {\n return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';\n }\n\n function isObject(input) {\n return Object.prototype.toString.call(input) === '[object Object]';\n }\n\n function locale_set__set (config) {\n var prop, i;\n for (i in config) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n this._config = config;\n // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _ordinalParseLenient.\n this._ordinalParseLenient = new RegExp(this._ordinalParse.source + '|' + (/\\d{1,2}/).source);\n }\n\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig), prop;\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n return res;\n }\n\n function Locale(config) {\n if (config != null) {\n this.set(config);\n }\n }\n\n // internal storage for locale config files\n var locales = {};\n var globalLocale;\n\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n }\n\n // pick the locale from the array\n // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n function chooseLocale(names) {\n var i = 0, j, next, locale, split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (next && next.length >= j && compareArrays(split, next, true) >= j - 1) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return null;\n }\n\n function loadLocale(name) {\n var oldLocale = null;\n // TODO: Find a better way to register and load all the locales in Node\n if (!locales[name] && (typeof module !== 'undefined') &&\n module && module.exports) {\n try {\n oldLocale = globalLocale._abbr;\n require('./locale/' + name);\n // because defineLocale currently also sets the global locale, we\n // want to undo that for lazy loaded locales\n locale_locales__getSetGlobalLocale(oldLocale);\n } catch (e) { }\n }\n return locales[name];\n }\n\n // This function will load locale and then set the global locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n function locale_locales__getSetGlobalLocale (key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = locale_locales__getLocale(key);\n }\n else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n }\n }\n\n return globalLocale._abbr;\n }\n\n function defineLocale (name, config) {\n if (config !== null) {\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple('defineLocaleOverride',\n 'use moment.updateLocale(localeName, config) to change ' +\n 'an existing locale. moment.defineLocale(localeName, ' +\n 'config) should only be used for creating a new locale');\n config = mergeConfigs(locales[name]._config, config);\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n config = mergeConfigs(locales[config.parentLocale]._config, config);\n } else {\n // treat as if there is no base config\n deprecateSimple('parentLocaleUndefined',\n 'specified parentLocale is not defined yet');\n }\n }\n locales[name] = new Locale(config);\n\n // backwards compat for now: also set the locale\n locale_locales__getSetGlobalLocale(name);\n\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n }\n\n function updateLocale(name, config) {\n if (config != null) {\n var locale;\n if (locales[name] != null) {\n config = mergeConfigs(locales[name]._config, config);\n }\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n\n // backwards compat for now: also set the locale\n locale_locales__getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n }\n\n // returns locale data\n function locale_locales__getLocale (key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n\n return chooseLocale(key);\n }\n\n function locale_locales__listLocales() {\n return Object.keys(locales);\n }\n\n var aliases = {};\n\n function addUnitAlias (unit, shorthand) {\n var lowerCase = unit.toLowerCase();\n aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n }\n\n function normalizeUnits(units) {\n return typeof units === 'string' ? aliases[units] || aliases[units.toLowerCase()] : undefined;\n }\n\n function normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n }\n\n function makeGetSet (unit, keepTime) {\n return function (value) {\n if (value != null) {\n get_set__set(this, unit, value);\n utils_hooks__hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get_set__get(this, unit);\n }\n };\n }\n\n function get_set__get (mom, unit) {\n return mom.isValid() ?\n mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() : NaN;\n }\n\n function get_set__set (mom, unit, value) {\n if (mom.isValid()) {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\n }\n }\n\n // MOMENTS\n\n function getSet (units, value) {\n var unit;\n if (typeof units === 'object') {\n for (unit in units) {\n this.set(unit, units[unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\n }\n\n function zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (sign ? (forceSign ? '+' : '') : '-') +\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber;\n }\n\n var formattingTokens = /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g;\n\n var localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g;\n\n var formatFunctions = {};\n\n var formatTokenFunctions = {};\n\n // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n function addFormatToken (token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(func.apply(this, arguments), token);\n };\n }\n }\n\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n }\n\n function makeFormatFunction(format) {\n var array = format.match(formattingTokens), i, length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '';\n for (i = 0; i < length; i++) {\n output += array[i] instanceof Function ? array[i].call(mom, format) : array[i];\n }\n return output;\n };\n }\n\n // format date using native date object\n function formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] = formatFunctions[format] || makeFormatFunction(format);\n\n return formatFunctions[format](m);\n }\n\n function expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(localFormattingTokens, replaceLongDateFormatTokens);\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n }\n\n var match1 = /\\d/; // 0 - 9\n var match2 = /\\d\\d/; // 00 - 99\n var match3 = /\\d{3}/; // 000 - 999\n var match4 = /\\d{4}/; // 0000 - 9999\n var match6 = /[+-]?\\d{6}/; // -999999 - 999999\n var match1to2 = /\\d\\d?/; // 0 - 99\n var match3to4 = /\\d\\d\\d\\d?/; // 999 - 9999\n var match5to6 = /\\d\\d\\d\\d\\d\\d?/; // 99999 - 999999\n var match1to3 = /\\d{1,3}/; // 0 - 999\n var match1to4 = /\\d{1,4}/; // 0 - 9999\n var match1to6 = /[+-]?\\d{1,6}/; // -999999 - 999999\n\n var matchUnsigned = /\\d+/; // 0 - inf\n var matchSigned = /[+-]?\\d+/; // -inf - inf\n\n var matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi; // +00:00 -00:00 +0000 -0000 or Z\n var matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi; // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n\n var matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/; // 123456789 123456789.123\n\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n var matchWord = /[0-9]*['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]+|[\\u0600-\\u06FF\\/]+(\\s*?[\\u0600-\\u06FF]+){1,2}/i;\n\n\n var regexes = {};\n\n function addRegexToken (token, regex, strictRegex) {\n regexes[token] = isFunction(regex) ? regex : function (isStrict, localeData) {\n return (isStrict && strictRegex) ? strictRegex : regex;\n };\n }\n\n function getParseRegexForToken (token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n }\n\n // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n function unescapeFormat(s) {\n return regexEscape(s.replace('\\\\', '').replace(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g, function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }));\n }\n\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n var tokens = {};\n\n function addParseToken (token, callback) {\n var i, func = callback;\n if (typeof token === 'string') {\n token = [token];\n }\n if (typeof callback === 'number') {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n for (i = 0; i < token.length; i++) {\n tokens[token[i]] = func;\n }\n }\n\n function addWeekParseToken (token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n }\n\n function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n }\n\n var YEAR = 0;\n var MONTH = 1;\n var DATE = 2;\n var HOUR = 3;\n var MINUTE = 4;\n var SECOND = 5;\n var MILLISECOND = 6;\n var WEEK = 7;\n var WEEKDAY = 8;\n\n function daysInMonth(year, month) {\n return new Date(Date.UTC(year, month + 1, 0)).getUTCDate();\n }\n\n // FORMATTING\n\n addFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n });\n\n addFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n });\n\n addFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n });\n\n // ALIASES\n\n addUnitAlias('month', 'M');\n\n // PARSING\n\n addRegexToken('M', match1to2);\n addRegexToken('MM', match1to2, match2);\n addRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n });\n addRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n });\n\n addParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n });\n\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n });\n\n // LOCALES\n\n var MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s+)+MMMM?/;\n var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_');\n function localeMonths (m, format) {\n return isArray(this._months) ? this._months[m.month()] :\n this._months[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()];\n }\n\n var defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_');\n function localeMonthsShort (m, format) {\n return isArray(this._monthsShort) ? this._monthsShort[m.month()] :\n this._monthsShort[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()];\n }\n\n function localeMonthsParse (monthName, format, strict) {\n var i, mom, regex;\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = create_utc__createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i');\n this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i');\n }\n if (!strict && !this._monthsParse[i]) {\n regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (strict && format === 'MMMM' && this._longMonthsParse[i].test(monthName)) {\n return i;\n } else if (strict && format === 'MMM' && this._shortMonthsParse[i].test(monthName)) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function setMonth (mom, value) {\n var dayOfMonth;\n\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (typeof value !== 'number') {\n return mom;\n }\n }\n }\n\n dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\n return mom;\n }\n\n function getSetMonth (value) {\n if (value != null) {\n setMonth(this, value);\n utils_hooks__hooks.updateOffset(this, true);\n return this;\n } else {\n return get_set__get(this, 'Month');\n }\n }\n\n function getDaysInMonth () {\n return daysInMonth(this.year(), this.month());\n }\n\n var defaultMonthsShortRegex = matchWord;\n function monthsShortRegex (isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n return this._monthsShortStrictRegex && isStrict ?\n this._monthsShortStrictRegex : this._monthsShortRegex;\n }\n }\n\n var defaultMonthsRegex = matchWord;\n function monthsRegex (isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n return this._monthsStrictRegex && isStrict ?\n this._monthsStrictRegex : this._monthsRegex;\n }\n }\n\n function computeMonthsParse () {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [], longPieces = [], mixedPieces = [],\n i, mom;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = create_utc__createUTC([2000, i]);\n shortPieces.push(this.monthsShort(mom, ''));\n longPieces.push(this.months(mom, ''));\n mixedPieces.push(this.months(mom, ''));\n mixedPieces.push(this.monthsShort(mom, ''));\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 12; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp('^(' + longPieces.join('|') + ')$', 'i');\n this._monthsShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')$', 'i');\n }\n\n function checkOverflow (m) {\n var overflow;\n var a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow =\n a[MONTH] < 0 || a[MONTH] > 11 ? MONTH :\n a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) ? DATE :\n a[HOUR] < 0 || a[HOUR] > 24 || (a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0)) ? HOUR :\n a[MINUTE] < 0 || a[MINUTE] > 59 ? MINUTE :\n a[SECOND] < 0 || a[SECOND] > 59 ? SECOND :\n a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND :\n -1;\n\n if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n }\n\n // iso 8601 regex\n // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n var extendedIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?/;\n var basicIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?/;\n\n var tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/;\n\n var isoDates = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/],\n ['YYYYMMDD', /\\d{8}/],\n // YYYYMM is NOT allowed by the standard\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/]\n ];\n\n // iso time formats and regexes\n var isoTimes = [\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n ['HH:mm', /\\d\\d:\\d\\d/],\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n ['HHmm', /\\d\\d\\d\\d/],\n ['HH', /\\d\\d/]\n ];\n\n var aspNetJsonRegex = /^\\/?Date\\((\\-?\\d+)/i;\n\n // date from iso format\n function configFromISO(config) {\n var i, l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime, dateFormat, timeFormat, tzFormat;\n\n if (match) {\n getParsingFlags(config).iso = true;\n\n for (i = 0, l = isoDates.length; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimes.length; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n }\n\n // date from iso format or fallback\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n utils_hooks__hooks.createFromInputFallback(config);\n }\n }\n\n utils_hooks__hooks.createFromInputFallback = deprecate(\n 'moment construction falls back to js Date. This is ' +\n 'discouraged and will be removed in upcoming major ' +\n 'release. Please refer to ' +\n 'https://github.com/moment/moment/issues/1407 for more info.',\n function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }\n );\n\n function createDate (y, m, d, h, M, s, ms) {\n //can't just apply() to create a date:\n //http://stackoverflow.com/questions/181348/instantiating-a-javascript-object-by-calling-prototype-constructor-apply\n var date = new Date(y, m, d, h, M, s, ms);\n\n //the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0 && isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n return date;\n }\n\n function createUTCDate (y) {\n var date = new Date(Date.UTC.apply(null, arguments));\n\n //the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0 && isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n return date;\n }\n\n // FORMATTING\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? '' + y : '+' + y;\n });\n\n addFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n });\n\n addFormatToken(0, ['YYYY', 4], 0, 'year');\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n // ALIASES\n\n addUnitAlias('year', 'y');\n\n // PARSING\n\n addRegexToken('Y', matchSigned);\n addRegexToken('YY', match1to2, match2);\n addRegexToken('YYYY', match1to4, match4);\n addRegexToken('YYYYY', match1to6, match6);\n addRegexToken('YYYYYY', match1to6, match6);\n\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array) {\n array[YEAR] = input.length === 2 ? utils_hooks__hooks.parseTwoDigitYear(input) : toInt(input);\n });\n addParseToken('YY', function (input, array) {\n array[YEAR] = utils_hooks__hooks.parseTwoDigitYear(input);\n });\n addParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n });\n\n // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n }\n\n function isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n }\n\n // HOOKS\n\n utils_hooks__hooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n };\n\n // MOMENTS\n\n var getSetYear = makeGetSet('FullYear', false);\n\n function getIsLeapYear () {\n return isLeapYear(this.year());\n }\n\n // start-of-first-week - start-of-year\n function firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n return -fwdlw + fwd - 1;\n }\n\n //http://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear, resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear\n };\n }\n\n function weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek, resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear\n };\n }\n\n function weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n }\n\n // Pick the first defined of two or three arguments.\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n }\n\n function currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(utils_hooks__hooks.now());\n if (config._useUTC) {\n return [nowValue.getUTCFullYear(), nowValue.getUTCMonth(), nowValue.getUTCDate()];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n }\n\n // convert an array to a date.\n // the array should mirror the parameters below\n // note: all values past the year are optional and will default to the lowest possible value.\n // [year, month, day , hour, minute, second, millisecond]\n function configFromArray (config) {\n var i, date, input = [], currentDate, yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (config._dayOfYear > daysInYear(yearToUse)) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\n // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] = (config._a[i] == null) ? (i === 2 ? 1 : 0) : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input);\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n }\n\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow;\n\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n weekYear = defaults(w.GG, config._a[YEAR], weekOfYear(local__createLocal(), 1, 4).year);\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n\n weekYear = defaults(w.gg, config._a[YEAR], weekOfYear(local__createLocal(), dow, doy).year);\n week = defaults(w.w, 1);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from begining of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to begining of week\n weekday = dow;\n }\n }\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n }\n\n // constant that refers to the ISO standard\n utils_hooks__hooks.ISO_8601 = function () {};\n\n // date from string and format string\n function configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === utils_hooks__hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n var string = '' + config._i,\n i, parsedInput, tokens, token, skipped,\n stringLength = string.length,\n totalParsedInputLength = 0;\n\n tokens = expandFormat(config._f, config._locale).match(formattingTokens) || [];\n\n for (i = 0; i < tokens.length; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0];\n // console.log('token', token, 'parsedInput', parsedInput,\n // 'regex', getParseRegexForToken(token, config));\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(string.indexOf(parsedInput) + parsedInput.length);\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n }\n else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n }\n else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (getParsingFlags(config).bigHour === true &&\n config._a[HOUR] <= 12 &&\n config._a[HOUR] > 0) {\n getParsingFlags(config).bigHour = undefined;\n }\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], config._meridiem);\n\n configFromArray(config);\n checkOverflow(config);\n }\n\n\n function meridiemFixWrap (locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n }\n\n // date from string and array of format strings\n function configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n\n scoreToBeat,\n i,\n currentScore;\n\n if (config._f.length === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < config._f.length; i++) {\n currentScore = 0;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (!valid__isValid(tempConfig)) {\n continue;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n getParsingFlags(tempConfig).score = currentScore;\n\n if (scoreToBeat == null || currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n\n extend(config, bestMoment || tempConfig);\n }\n\n function configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i);\n config._a = map([i.year, i.month, i.day || i.date, i.hour, i.minute, i.second, i.millisecond], function (obj) {\n return obj && parseInt(obj, 10);\n });\n\n configFromArray(config);\n }\n\n function createFromConfig (config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n }\n\n function prepareConfig (config) {\n var input = config._i,\n format = config._f;\n\n config._locale = config._locale || locale_locales__getLocale(config._l);\n\n if (input === null || (format === undefined && input === '')) {\n return valid__createInvalid({nullInput: true});\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else if (isDate(input)) {\n config._d = input;\n } else {\n configFromInput(config);\n }\n\n if (!valid__isValid(config)) {\n config._d = null;\n }\n\n return config;\n }\n\n function configFromInput(config) {\n var input = config._i;\n if (input === undefined) {\n config._d = new Date(utils_hooks__hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(+input);\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (typeof(input) === 'object') {\n configFromObject(config);\n } else if (typeof(input) === 'number') {\n // from milliseconds\n config._d = new Date(input);\n } else {\n utils_hooks__hooks.createFromInputFallback(config);\n }\n }\n\n function createLocalOrUTC (input, format, locale, strict, isUTC) {\n var c = {};\n\n if (typeof(locale) === 'boolean') {\n strict = locale;\n locale = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n\n return createFromConfig(c);\n }\n\n function local__createLocal (input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n }\n\n var prototypeMin = deprecate(\n 'moment().min is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548',\n function () {\n var other = local__createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return valid__createInvalid();\n }\n }\n );\n\n var prototypeMax = deprecate(\n 'moment().max is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548',\n function () {\n var other = local__createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return valid__createInvalid();\n }\n }\n );\n\n // Pick a moment m from moments so that m[fn](other) is true for all\n // other. This relies on the function fn to be transitive.\n //\n // moments should either be an array of moment objects or an array, whose\n // first element is an array of moment objects.\n function pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return local__createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n }\n\n // TODO: Use [].sort instead?\n function min () {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n }\n\n function max () {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n }\n\n var now = function () {\n return Date.now ? Date.now() : +(new Date());\n };\n\n function Duration (duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n\n // representation for dateAddRemove\n this._milliseconds = +milliseconds +\n seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 36e5; // 1000 * 60 * 60\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n this._days = +days +\n weeks * 7;\n // It is impossible translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n this._months = +months +\n quarters * 3 +\n years * 12;\n\n this._data = {};\n\n this._locale = locale_locales__getLocale();\n\n this._bubble();\n }\n\n function isDuration (obj) {\n return obj instanceof Duration;\n }\n\n // FORMATTING\n\n function offset (token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset();\n var sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return sign + zeroFill(~~(offset / 60), 2) + separator + zeroFill(~~(offset) % 60, 2);\n });\n }\n\n offset('Z', ':');\n offset('ZZ', '');\n\n // PARSING\n\n addRegexToken('Z', matchShortOffset);\n addRegexToken('ZZ', matchShortOffset);\n addParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n });\n\n // HELPERS\n\n // timezone chunker\n // '+10:00' > ['10', '00']\n // '-1530' > ['-15', '30']\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n function offsetFromString(matcher, string) {\n var matches = ((string || '').match(matcher) || []);\n var chunk = matches[matches.length - 1] || [];\n var parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n var minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n return parts[0] === '+' ? minutes : -minutes;\n }\n\n // Return a moment from input, that is local/utc/zone equivalent to model.\n function cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff = (isMoment(input) || isDate(input) ? +input : +local__createLocal(input)) - (+res);\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(+res._d + diff);\n utils_hooks__hooks.updateOffset(res, false);\n return res;\n } else {\n return local__createLocal(input).local();\n }\n }\n\n function getDateOffset (m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset() / 15) * 15;\n }\n\n // HOOKS\n\n // This function will be called whenever a moment is mutated.\n // It is intended to keep the offset in sync with the timezone.\n utils_hooks__hooks.updateOffset = function () {};\n\n // MOMENTS\n\n // keepLocalTime = true means only change the timezone, without\n // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n // +0200, so we adjust the time as needed, to be valid.\n //\n // Keeping the time actually adds/subtracts (one hour)\n // from the actual represented time. That is why we call updateOffset\n // a second time. In case it wants us to change the offset again\n // _changeInProgress == true case, then we have to adjust, because\n // there is no such time in the given timezone.\n function getSetOffset (input, keepLocalTime) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n } else if (Math.abs(input) < 16) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n add_subtract__addSubtract(this, create__createDuration(input - offset, 'm'), 1, false);\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n utils_hooks__hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n\n function getSetZone (input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n\n function setOffsetToUTC (keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n\n function setOffsetToLocal (keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n }\n\n function setOffsetToParsedOffset () {\n if (this._tzm) {\n this.utcOffset(this._tzm);\n } else if (typeof this._i === 'string') {\n this.utcOffset(offsetFromString(matchOffset, this._i));\n }\n return this;\n }\n\n function hasAlignedHourOffset (input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? local__createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n }\n\n function isDaylightSavingTime () {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n }\n\n function isDaylightSavingTimeShifted () {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {};\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n var other = c._isUTC ? create_utc__createUTC(c._a) : local__createLocal(c._a);\n this._isDSTShifted = this.isValid() &&\n compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n }\n\n function isLocal () {\n return this.isValid() ? !this._isUTC : false;\n }\n\n function isUtcOffset () {\n return this.isValid() ? this._isUTC : false;\n }\n\n function isUtc () {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n }\n\n // ASP.NET json date format regex\n var aspNetRegex = /^(\\-)?(?:(\\d*)[. ])?(\\d+)\\:(\\d+)(?:\\:(\\d+)\\.?(\\d{3})?\\d*)?$/;\n\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n var isoRegex = /^(-)?P(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)W)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?$/;\n\n function create__createDuration (input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms : input._milliseconds,\n d : input._days,\n M : input._months\n };\n } else if (typeof input === 'number') {\n duration = {};\n if (key) {\n duration[key] = input;\n } else {\n duration.milliseconds = input;\n }\n } else if (!!(match = aspNetRegex.exec(input))) {\n sign = (match[1] === '-') ? -1 : 1;\n duration = {\n y : 0,\n d : toInt(match[DATE]) * sign,\n h : toInt(match[HOUR]) * sign,\n m : toInt(match[MINUTE]) * sign,\n s : toInt(match[SECOND]) * sign,\n ms : toInt(match[MILLISECOND]) * sign\n };\n } else if (!!(match = isoRegex.exec(input))) {\n sign = (match[1] === '-') ? -1 : 1;\n duration = {\n y : parseIso(match[2], sign),\n M : parseIso(match[3], sign),\n w : parseIso(match[4], sign),\n d : parseIso(match[5], sign),\n h : parseIso(match[6], sign),\n m : parseIso(match[7], sign),\n s : parseIso(match[8], sign)\n };\n } else if (duration == null) {// checks for null or undefined\n duration = {};\n } else if (typeof duration === 'object' && ('from' in duration || 'to' in duration)) {\n diffRes = momentsDifference(local__createLocal(duration.from), local__createLocal(duration.to));\n\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n return ret;\n }\n\n create__createDuration.fn = Duration.prototype;\n\n function parseIso (inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n }\n\n function positiveMomentsDifference(base, other) {\n var res = {milliseconds: 0, months: 0};\n\n res.months = other.month() - base.month() +\n (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +(base.clone().add(res.months, 'M'));\n\n return res;\n }\n\n function momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return {milliseconds: 0, months: 0};\n }\n\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n }\n\n function absRound (number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n }\n\n // TODO: remove 'name' arg after deprecation is removed\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(name, 'moment().' + name + '(period, number) is deprecated. Please use moment().' + name + '(number, period).');\n tmp = val; val = period; period = tmp;\n }\n\n val = typeof val === 'string' ? +val : val;\n dur = create__createDuration(val, period);\n add_subtract__addSubtract(this, dur, direction);\n return this;\n };\n }\n\n function add_subtract__addSubtract (mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (milliseconds) {\n mom._d.setTime(+mom._d + milliseconds * isAdding);\n }\n if (days) {\n get_set__set(mom, 'Date', get_set__get(mom, 'Date') + days * isAdding);\n }\n if (months) {\n setMonth(mom, get_set__get(mom, 'Month') + months * isAdding);\n }\n if (updateOffset) {\n utils_hooks__hooks.updateOffset(mom, days || months);\n }\n }\n\n var add_subtract__add = createAdder(1, 'add');\n var add_subtract__subtract = createAdder(-1, 'subtract');\n\n function moment_calendar__calendar (time, formats) {\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || local__createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n diff = this.diff(sod, 'days', true),\n format = diff < -6 ? 'sameElse' :\n diff < -1 ? 'lastWeek' :\n diff < 0 ? 'lastDay' :\n diff < 1 ? 'sameDay' :\n diff < 2 ? 'nextDay' :\n diff < 7 ? 'nextWeek' : 'sameElse';\n\n var output = formats && (isFunction(formats[format]) ? formats[format]() : formats[format]);\n\n return this.format(output || this.localeData().calendar(format, this, local__createLocal(now)));\n }\n\n function clone () {\n return new Moment(this);\n }\n\n function isAfter (input, units) {\n var localInput = isMoment(input) ? input : local__createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(!isUndefined(units) ? units : 'millisecond');\n if (units === 'millisecond') {\n return +this > +localInput;\n } else {\n return +localInput < +this.clone().startOf(units);\n }\n }\n\n function isBefore (input, units) {\n var localInput = isMoment(input) ? input : local__createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(!isUndefined(units) ? units : 'millisecond');\n if (units === 'millisecond') {\n return +this < +localInput;\n } else {\n return +this.clone().endOf(units) < +localInput;\n }\n }\n\n function isBetween (from, to, units) {\n return this.isAfter(from, units) && this.isBefore(to, units);\n }\n\n function isSame (input, units) {\n var localInput = isMoment(input) ? input : local__createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units || 'millisecond');\n if (units === 'millisecond') {\n return +this === +localInput;\n } else {\n inputMs = +localInput;\n return +(this.clone().startOf(units)) <= inputMs && inputMs <= +(this.clone().endOf(units));\n }\n }\n\n function isSameOrAfter (input, units) {\n return this.isSame(input, units) || this.isAfter(input,units);\n }\n\n function isSameOrBefore (input, units) {\n return this.isSame(input, units) || this.isBefore(input,units);\n }\n\n function diff (input, units, asFloat) {\n var that,\n zoneDelta,\n delta, output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n units = normalizeUnits(units);\n\n if (units === 'year' || units === 'month' || units === 'quarter') {\n output = monthDiff(this, that);\n if (units === 'quarter') {\n output = output / 3;\n } else if (units === 'year') {\n output = output / 12;\n }\n } else {\n delta = this - that;\n output = units === 'second' ? delta / 1e3 : // 1000\n units === 'minute' ? delta / 6e4 : // 1000 * 60\n units === 'hour' ? delta / 36e5 : // 1000 * 60 * 60\n units === 'day' ? (delta - zoneDelta) / 864e5 : // 1000 * 60 * 60 * 24, negate dst\n units === 'week' ? (delta - zoneDelta) / 6048e5 : // 1000 * 60 * 60 * 24 * 7, negate dst\n delta;\n }\n return asFloat ? output : absFloor(output);\n }\n\n function monthDiff (a, b) {\n // difference in months\n var wholeMonthDiff = ((b.year() - a.year()) * 12) + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2, adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n return -(wholeMonthDiff + adjust);\n }\n\n utils_hooks__hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n\n function toString () {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n\n function moment_format__toISOString () {\n var m = this.clone().utc();\n if (0 < m.year() && m.year() <= 9999) {\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n return this.toDate().toISOString();\n } else {\n return formatMoment(m, 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]');\n }\n } else {\n return formatMoment(m, 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]');\n }\n }\n\n function format (inputString) {\n var output = formatMoment(this, inputString || utils_hooks__hooks.defaultFormat);\n return this.localeData().postformat(output);\n }\n\n function from (time, withoutSuffix) {\n if (this.isValid() &&\n ((isMoment(time) && time.isValid()) ||\n local__createLocal(time).isValid())) {\n return create__createDuration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function fromNow (withoutSuffix) {\n return this.from(local__createLocal(), withoutSuffix);\n }\n\n function to (time, withoutSuffix) {\n if (this.isValid() &&\n ((isMoment(time) && time.isValid()) ||\n local__createLocal(time).isValid())) {\n return create__createDuration({from: this, to: time}).locale(this.locale()).humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function toNow (withoutSuffix) {\n return this.to(local__createLocal(), withoutSuffix);\n }\n\n // If passed a locale key, it will set the locale for this\n // instance. Otherwise, it will return the locale configuration\n // variables for this instance.\n function locale (key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = locale_locales__getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n }\n\n var lang = deprecate(\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n }\n );\n\n function localeData () {\n return this._locale;\n }\n\n function startOf (units) {\n units = normalizeUnits(units);\n // the following switch intentionally omits break keywords\n // to utilize falling through the cases.\n switch (units) {\n case 'year':\n this.month(0);\n /* falls through */\n case 'quarter':\n case 'month':\n this.date(1);\n /* falls through */\n case 'week':\n case 'isoWeek':\n case 'day':\n this.hours(0);\n /* falls through */\n case 'hour':\n this.minutes(0);\n /* falls through */\n case 'minute':\n this.seconds(0);\n /* falls through */\n case 'second':\n this.milliseconds(0);\n }\n\n // weeks are a special case\n if (units === 'week') {\n this.weekday(0);\n }\n if (units === 'isoWeek') {\n this.isoWeekday(1);\n }\n\n // quarters are also special\n if (units === 'quarter') {\n this.month(Math.floor(this.month() / 3) * 3);\n }\n\n return this;\n }\n\n function endOf (units) {\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond') {\n return this;\n }\n return this.startOf(units).add(1, (units === 'isoWeek' ? 'week' : units)).subtract(1, 'ms');\n }\n\n function to_type__valueOf () {\n return +this._d - ((this._offset || 0) * 60000);\n }\n\n function unix () {\n return Math.floor(+this / 1000);\n }\n\n function toDate () {\n return this._offset ? new Date(+this) : this._d;\n }\n\n function toArray () {\n var m = this;\n return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()];\n }\n\n function toObject () {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds()\n };\n }\n\n function toJSON () {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n\n function moment_valid__isValid () {\n return valid__isValid(this);\n }\n\n function parsingFlags () {\n return extend({}, getParsingFlags(this));\n }\n\n function invalidAt () {\n return getParsingFlags(this).overflow;\n }\n\n function creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict\n };\n }\n\n // FORMATTING\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\n\n addFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n });\n\n function addWeekYearFormatToken (token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n // ALIASES\n\n addUnitAlias('weekYear', 'gg');\n addUnitAlias('isoWeekYear', 'GG');\n\n // PARSING\n\n addRegexToken('G', matchSigned);\n addRegexToken('g', matchSigned);\n addRegexToken('GG', match1to2, match2);\n addRegexToken('gg', match1to2, match2);\n addRegexToken('GGGG', match1to4, match4);\n addRegexToken('gggg', match1to4, match4);\n addRegexToken('GGGGG', match1to6, match6);\n addRegexToken('ggggg', match1to6, match6);\n\n addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n });\n\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = utils_hooks__hooks.parseTwoDigitYear(input);\n });\n\n // MOMENTS\n\n function getSetWeekYear (input) {\n return getSetWeekYearHelper.call(this,\n input,\n this.week(),\n this.weekday(),\n this.localeData()._week.dow,\n this.localeData()._week.doy);\n }\n\n function getSetISOWeekYear (input) {\n return getSetWeekYearHelper.call(this,\n input, this.isoWeek(), this.isoWeekday(), 1, 4);\n }\n\n function getISOWeeksInYear () {\n return weeksInYear(this.year(), 1, 4);\n }\n\n function getWeeksInYear () {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n }\n\n function setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n }\n\n // FORMATTING\n\n addFormatToken('Q', 0, 'Qo', 'quarter');\n\n // ALIASES\n\n addUnitAlias('quarter', 'Q');\n\n // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n });\n\n // MOMENTS\n\n function getSetQuarter (input) {\n return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3);\n }\n\n // FORMATTING\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n // ALIASES\n\n addUnitAlias('week', 'w');\n addUnitAlias('isoWeek', 'W');\n\n // PARSING\n\n addRegexToken('w', match1to2);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2);\n addRegexToken('WW', match1to2, match2);\n\n addWeekParseToken(['w', 'ww', 'W', 'WW'], function (input, week, config, token) {\n week[token.substr(0, 1)] = toInt(input);\n });\n\n // HELPERS\n\n // LOCALES\n\n function localeWeek (mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n }\n\n var defaultLocaleWeek = {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n };\n\n function localeFirstDayOfWeek () {\n return this._week.dow;\n }\n\n function localeFirstDayOfYear () {\n return this._week.doy;\n }\n\n // MOMENTS\n\n function getSetWeek (input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n function getSetISOWeek (input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n // ALIASES\n\n addUnitAlias('date', 'D');\n\n // PARSING\n\n addRegexToken('D', match1to2);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n return isStrict ? locale._ordinalParse : locale._ordinalParseLenient;\n });\n\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0], 10);\n });\n\n // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true);\n\n // FORMATTING\n\n addFormatToken('d', 0, 'do', 'day');\n\n addFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n });\n\n addFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n });\n\n addFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n });\n\n addFormatToken('e', 0, 0, 'weekday');\n addFormatToken('E', 0, 0, 'isoWeekday');\n\n // ALIASES\n\n addUnitAlias('day', 'd');\n addUnitAlias('weekday', 'e');\n addUnitAlias('isoWeekday', 'E');\n\n // PARSING\n\n addRegexToken('d', match1to2);\n addRegexToken('e', match1to2);\n addRegexToken('E', match1to2);\n addRegexToken('dd', matchWord);\n addRegexToken('ddd', matchWord);\n addRegexToken('dddd', matchWord);\n\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n });\n\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n });\n\n // HELPERS\n\n function parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n }\n\n // LOCALES\n\n var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_');\n function localeWeekdays (m, format) {\n return isArray(this._weekdays) ? this._weekdays[m.day()] :\n this._weekdays[this._weekdays.isFormat.test(format) ? 'format' : 'standalone'][m.day()];\n }\n\n var defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_');\n function localeWeekdaysShort (m) {\n return this._weekdaysShort[m.day()];\n }\n\n var defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_');\n function localeWeekdaysMin (m) {\n return this._weekdaysMin[m.day()];\n }\n\n function localeWeekdaysParse (weekdayName, format, strict) {\n var i, mom, regex;\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = local__createLocal([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp('^' + this.weekdays(mom, '').replace('.', '\\.?') + '$', 'i');\n this._shortWeekdaysParse[i] = new RegExp('^' + this.weekdaysShort(mom, '').replace('.', '\\.?') + '$', 'i');\n this._minWeekdaysParse[i] = new RegExp('^' + this.weekdaysMin(mom, '').replace('.', '\\.?') + '$', 'i');\n }\n if (!this._weekdaysParse[i]) {\n regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (strict && format === 'dddd' && this._fullWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (strict && format === 'ddd' && this._shortWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (strict && format === 'dd' && this._minWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function getSetDayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n }\n\n function getSetLocaleDayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n }\n\n function getSetISODayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n return input == null ? this.day() || 7 : this.day(this.day() % 7 ? input : input - 7);\n }\n\n // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n // ALIASES\n\n addUnitAlias('dayOfYear', 'DDD');\n\n // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n });\n\n // HELPERS\n\n // MOMENTS\n\n function getSetDayOfYear (input) {\n var dayOfYear = Math.round((this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1;\n return input == null ? dayOfYear : this.add((input - dayOfYear), 'd');\n }\n\n // FORMATTING\n\n function hFormat() {\n return this.hours() % 12 || 12;\n }\n\n addFormatToken('H', ['HH', 2], 0, 'hour');\n addFormatToken('h', ['hh', 2], 0, hFormat);\n\n addFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('hmmss', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2);\n });\n\n addFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('Hmmss', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2);\n });\n\n function meridiem (token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(this.hours(), this.minutes(), lowercase);\n });\n }\n\n meridiem('a', true);\n meridiem('A', false);\n\n // ALIASES\n\n addUnitAlias('hour', 'h');\n\n // PARSING\n\n function matchMeridiem (isStrict, locale) {\n return locale._meridiemParse;\n }\n\n addRegexToken('a', matchMeridiem);\n addRegexToken('A', matchMeridiem);\n addRegexToken('H', match1to2);\n addRegexToken('h', match1to2);\n addRegexToken('HH', match1to2, match2);\n addRegexToken('hh', match1to2, match2);\n\n addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n\n addParseToken(['H', 'HH'], HOUR);\n addParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n });\n addParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4;\n var pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n });\n addParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4;\n var pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n });\n\n // LOCALES\n\n function localeIsPM (input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return ((input + '').toLowerCase().charAt(0) === 'p');\n }\n\n var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i;\n function localeMeridiem (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n }\n\n\n // MOMENTS\n\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour he wants. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n var getSetHour = makeGetSet('Hours', true);\n\n // FORMATTING\n\n addFormatToken('m', ['mm', 2], 0, 'minute');\n\n // ALIASES\n\n addUnitAlias('minute', 'm');\n\n // PARSING\n\n addRegexToken('m', match1to2);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE);\n\n // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false);\n\n // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second');\n\n // ALIASES\n\n addUnitAlias('second', 's');\n\n // PARSING\n\n addRegexToken('s', match1to2);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND);\n\n // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false);\n\n // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\n\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n addFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n });\n addFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n });\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n });\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n });\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n });\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n });\n\n\n // ALIASES\n\n addUnitAlias('millisecond', 'ms');\n\n // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n\n var token;\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n // MOMENTS\n\n var getSetMillisecond = makeGetSet('Milliseconds', false);\n\n // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName');\n\n // MOMENTS\n\n function getZoneAbbr () {\n return this._isUTC ? 'UTC' : '';\n }\n\n function getZoneName () {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n }\n\n var momentPrototype__proto = Moment.prototype;\n\n momentPrototype__proto.add = add_subtract__add;\n momentPrototype__proto.calendar = moment_calendar__calendar;\n momentPrototype__proto.clone = clone;\n momentPrototype__proto.diff = diff;\n momentPrototype__proto.endOf = endOf;\n momentPrototype__proto.format = format;\n momentPrototype__proto.from = from;\n momentPrototype__proto.fromNow = fromNow;\n momentPrototype__proto.to = to;\n momentPrototype__proto.toNow = toNow;\n momentPrototype__proto.get = getSet;\n momentPrototype__proto.invalidAt = invalidAt;\n momentPrototype__proto.isAfter = isAfter;\n momentPrototype__proto.isBefore = isBefore;\n momentPrototype__proto.isBetween = isBetween;\n momentPrototype__proto.isSame = isSame;\n momentPrototype__proto.isSameOrAfter = isSameOrAfter;\n momentPrototype__proto.isSameOrBefore = isSameOrBefore;\n momentPrototype__proto.isValid = moment_valid__isValid;\n momentPrototype__proto.lang = lang;\n momentPrototype__proto.locale = locale;\n momentPrototype__proto.localeData = localeData;\n momentPrototype__proto.max = prototypeMax;\n momentPrototype__proto.min = prototypeMin;\n momentPrototype__proto.parsingFlags = parsingFlags;\n momentPrototype__proto.set = getSet;\n momentPrototype__proto.startOf = startOf;\n momentPrototype__proto.subtract = add_subtract__subtract;\n momentPrototype__proto.toArray = toArray;\n momentPrototype__proto.toObject = toObject;\n momentPrototype__proto.toDate = toDate;\n momentPrototype__proto.toISOString = moment_format__toISOString;\n momentPrototype__proto.toJSON = toJSON;\n momentPrototype__proto.toString = toString;\n momentPrototype__proto.unix = unix;\n momentPrototype__proto.valueOf = to_type__valueOf;\n momentPrototype__proto.creationData = creationData;\n\n // Year\n momentPrototype__proto.year = getSetYear;\n momentPrototype__proto.isLeapYear = getIsLeapYear;\n\n // Week Year\n momentPrototype__proto.weekYear = getSetWeekYear;\n momentPrototype__proto.isoWeekYear = getSetISOWeekYear;\n\n // Quarter\n momentPrototype__proto.quarter = momentPrototype__proto.quarters = getSetQuarter;\n\n // Month\n momentPrototype__proto.month = getSetMonth;\n momentPrototype__proto.daysInMonth = getDaysInMonth;\n\n // Week\n momentPrototype__proto.week = momentPrototype__proto.weeks = getSetWeek;\n momentPrototype__proto.isoWeek = momentPrototype__proto.isoWeeks = getSetISOWeek;\n momentPrototype__proto.weeksInYear = getWeeksInYear;\n momentPrototype__proto.isoWeeksInYear = getISOWeeksInYear;\n\n // Day\n momentPrototype__proto.date = getSetDayOfMonth;\n momentPrototype__proto.day = momentPrototype__proto.days = getSetDayOfWeek;\n momentPrototype__proto.weekday = getSetLocaleDayOfWeek;\n momentPrototype__proto.isoWeekday = getSetISODayOfWeek;\n momentPrototype__proto.dayOfYear = getSetDayOfYear;\n\n // Hour\n momentPrototype__proto.hour = momentPrototype__proto.hours = getSetHour;\n\n // Minute\n momentPrototype__proto.minute = momentPrototype__proto.minutes = getSetMinute;\n\n // Second\n momentPrototype__proto.second = momentPrototype__proto.seconds = getSetSecond;\n\n // Millisecond\n momentPrototype__proto.millisecond = momentPrototype__proto.milliseconds = getSetMillisecond;\n\n // Offset\n momentPrototype__proto.utcOffset = getSetOffset;\n momentPrototype__proto.utc = setOffsetToUTC;\n momentPrototype__proto.local = setOffsetToLocal;\n momentPrototype__proto.parseZone = setOffsetToParsedOffset;\n momentPrototype__proto.hasAlignedHourOffset = hasAlignedHourOffset;\n momentPrototype__proto.isDST = isDaylightSavingTime;\n momentPrototype__proto.isDSTShifted = isDaylightSavingTimeShifted;\n momentPrototype__proto.isLocal = isLocal;\n momentPrototype__proto.isUtcOffset = isUtcOffset;\n momentPrototype__proto.isUtc = isUtc;\n momentPrototype__proto.isUTC = isUtc;\n\n // Timezone\n momentPrototype__proto.zoneAbbr = getZoneAbbr;\n momentPrototype__proto.zoneName = getZoneName;\n\n // Deprecations\n momentPrototype__proto.dates = deprecate('dates accessor is deprecated. Use date instead.', getSetDayOfMonth);\n momentPrototype__proto.months = deprecate('months accessor is deprecated. Use month instead', getSetMonth);\n momentPrototype__proto.years = deprecate('years accessor is deprecated. Use year instead', getSetYear);\n momentPrototype__proto.zone = deprecate('moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779', getSetZone);\n\n var momentPrototype = momentPrototype__proto;\n\n function moment__createUnix (input) {\n return local__createLocal(input * 1000);\n }\n\n function moment__createInZone () {\n return local__createLocal.apply(null, arguments).parseZone();\n }\n\n var defaultCalendar = {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n };\n\n function locale_calendar__calendar (key, mom, now) {\n var output = this._calendar[key];\n return isFunction(output) ? output.call(mom, now) : output;\n }\n\n var defaultLongDateFormat = {\n LTS : 'h:mm:ss A',\n LT : 'h:mm A',\n L : 'MM/DD/YYYY',\n LL : 'MMMM D, YYYY',\n LLL : 'MMMM D, YYYY h:mm A',\n LLLL : 'dddd, MMMM D, YYYY h:mm A'\n };\n\n function longDateFormat (key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper.replace(/MMMM|MM|DD|dddd/g, function (val) {\n return val.slice(1);\n });\n\n return this._longDateFormat[key];\n }\n\n var defaultInvalidDate = 'Invalid date';\n\n function invalidDate () {\n return this._invalidDate;\n }\n\n var defaultOrdinal = '%d';\n var defaultOrdinalParse = /\\d{1,2}/;\n\n function ordinal (number) {\n return this._ordinal.replace('%d', number);\n }\n\n function preParsePostFormat (string) {\n return string;\n }\n\n var defaultRelativeTime = {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n };\n\n function relative__relativeTime (number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return (isFunction(output)) ?\n output(number, withoutSuffix, string, isFuture) :\n output.replace(/%d/i, number);\n }\n\n function pastFuture (diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n\n var prototype__proto = Locale.prototype;\n\n prototype__proto._calendar = defaultCalendar;\n prototype__proto.calendar = locale_calendar__calendar;\n prototype__proto._longDateFormat = defaultLongDateFormat;\n prototype__proto.longDateFormat = longDateFormat;\n prototype__proto._invalidDate = defaultInvalidDate;\n prototype__proto.invalidDate = invalidDate;\n prototype__proto._ordinal = defaultOrdinal;\n prototype__proto.ordinal = ordinal;\n prototype__proto._ordinalParse = defaultOrdinalParse;\n prototype__proto.preparse = preParsePostFormat;\n prototype__proto.postformat = preParsePostFormat;\n prototype__proto._relativeTime = defaultRelativeTime;\n prototype__proto.relativeTime = relative__relativeTime;\n prototype__proto.pastFuture = pastFuture;\n prototype__proto.set = locale_set__set;\n\n // Month\n prototype__proto.months = localeMonths;\n prototype__proto._months = defaultLocaleMonths;\n prototype__proto.monthsShort = localeMonthsShort;\n prototype__proto._monthsShort = defaultLocaleMonthsShort;\n prototype__proto.monthsParse = localeMonthsParse;\n prototype__proto._monthsRegex = defaultMonthsRegex;\n prototype__proto.monthsRegex = monthsRegex;\n prototype__proto._monthsShortRegex = defaultMonthsShortRegex;\n prototype__proto.monthsShortRegex = monthsShortRegex;\n\n // Week\n prototype__proto.week = localeWeek;\n prototype__proto._week = defaultLocaleWeek;\n prototype__proto.firstDayOfYear = localeFirstDayOfYear;\n prototype__proto.firstDayOfWeek = localeFirstDayOfWeek;\n\n // Day of Week\n prototype__proto.weekdays = localeWeekdays;\n prototype__proto._weekdays = defaultLocaleWeekdays;\n prototype__proto.weekdaysMin = localeWeekdaysMin;\n prototype__proto._weekdaysMin = defaultLocaleWeekdaysMin;\n prototype__proto.weekdaysShort = localeWeekdaysShort;\n prototype__proto._weekdaysShort = defaultLocaleWeekdaysShort;\n prototype__proto.weekdaysParse = localeWeekdaysParse;\n\n // Hours\n prototype__proto.isPM = localeIsPM;\n prototype__proto._meridiemParse = defaultLocaleMeridiemParse;\n prototype__proto.meridiem = localeMeridiem;\n\n function lists__get (format, index, field, setter) {\n var locale = locale_locales__getLocale();\n var utc = create_utc__createUTC().set(setter, index);\n return locale[field](utc, format);\n }\n\n function list (format, index, field, count, setter) {\n if (typeof format === 'number') {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return lists__get(format, index, field, setter);\n }\n\n var i;\n var out = [];\n for (i = 0; i < count; i++) {\n out[i] = lists__get(format, i, field, setter);\n }\n return out;\n }\n\n function lists__listMonths (format, index) {\n return list(format, index, 'months', 12, 'month');\n }\n\n function lists__listMonthsShort (format, index) {\n return list(format, index, 'monthsShort', 12, 'month');\n }\n\n function lists__listWeekdays (format, index) {\n return list(format, index, 'weekdays', 7, 'day');\n }\n\n function lists__listWeekdaysShort (format, index) {\n return list(format, index, 'weekdaysShort', 7, 'day');\n }\n\n function lists__listWeekdaysMin (format, index) {\n return list(format, index, 'weekdaysMin', 7, 'day');\n }\n\n locale_locales__getSetGlobalLocale('en', {\n ordinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (toInt(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n }\n });\n\n // Side effect imports\n utils_hooks__hooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', locale_locales__getSetGlobalLocale);\n utils_hooks__hooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', locale_locales__getLocale);\n\n var mathAbs = Math.abs;\n\n function duration_abs__abs () {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n\n return this;\n }\n\n function duration_add_subtract__addSubtract (duration, input, value, direction) {\n var other = create__createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n }\n\n // supports only 2.0-style add(1, 's') or add(duration)\n function duration_add_subtract__add (input, value) {\n return duration_add_subtract__addSubtract(this, input, value, 1);\n }\n\n // supports only 2.0-style subtract(1, 's') or subtract(duration)\n function duration_add_subtract__subtract (input, value) {\n return duration_add_subtract__addSubtract(this, input, value, -1);\n }\n\n function absCeil (number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n }\n\n function bubble () {\n var milliseconds = this._milliseconds;\n var days = this._days;\n var months = this._months;\n var data = this._data;\n var seconds, minutes, hours, years, monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (!((milliseconds >= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0))) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\n return this;\n }\n\n function daysToMonths (days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return days * 4800 / 146097;\n }\n\n function monthsToDays (months) {\n // the reverse of daysToMonths\n return months * 146097 / 4800;\n }\n\n function as (units) {\n var days;\n var months;\n var milliseconds = this._milliseconds;\n\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n return units === 'month' ? months : months / 12;\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week' : return days / 7 + milliseconds / 6048e5;\n case 'day' : return days + milliseconds / 864e5;\n case 'hour' : return days * 24 + milliseconds / 36e5;\n case 'minute' : return days * 1440 + milliseconds / 6e4;\n case 'second' : return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond': return Math.floor(days * 864e5) + milliseconds;\n default: throw new Error('Unknown unit ' + units);\n }\n }\n }\n\n // TODO: Use this.as('ms')?\n function duration_as__valueOf () {\n return (\n this._milliseconds +\n this._days * 864e5 +\n (this._months % 12) * 2592e6 +\n toInt(this._months / 12) * 31536e6\n );\n }\n\n function makeAs (alias) {\n return function () {\n return this.as(alias);\n };\n }\n\n var asMilliseconds = makeAs('ms');\n var asSeconds = makeAs('s');\n var asMinutes = makeAs('m');\n var asHours = makeAs('h');\n var asDays = makeAs('d');\n var asWeeks = makeAs('w');\n var asMonths = makeAs('M');\n var asYears = makeAs('y');\n\n function duration_get__get (units) {\n units = normalizeUnits(units);\n return this[units + 's']();\n }\n\n function makeGetter(name) {\n return function () {\n return this._data[name];\n };\n }\n\n var milliseconds = makeGetter('milliseconds');\n var seconds = makeGetter('seconds');\n var minutes = makeGetter('minutes');\n var hours = makeGetter('hours');\n var days = makeGetter('days');\n var months = makeGetter('months');\n var years = makeGetter('years');\n\n function weeks () {\n return absFloor(this.days() / 7);\n }\n\n var round = Math.round;\n var thresholds = {\n s: 45, // seconds to minute\n m: 45, // minutes to hour\n h: 22, // hours to day\n d: 26, // days to month\n M: 11 // months to year\n };\n\n // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n }\n\n function duration_humanize__relativeTime (posNegDuration, withoutSuffix, locale) {\n var duration = create__createDuration(posNegDuration).abs();\n var seconds = round(duration.as('s'));\n var minutes = round(duration.as('m'));\n var hours = round(duration.as('h'));\n var days = round(duration.as('d'));\n var months = round(duration.as('M'));\n var years = round(duration.as('y'));\n\n var a = seconds < thresholds.s && ['s', seconds] ||\n minutes <= 1 && ['m'] ||\n minutes < thresholds.m && ['mm', minutes] ||\n hours <= 1 && ['h'] ||\n hours < thresholds.h && ['hh', hours] ||\n days <= 1 && ['d'] ||\n days < thresholds.d && ['dd', days] ||\n months <= 1 && ['M'] ||\n months < thresholds.M && ['MM', months] ||\n years <= 1 && ['y'] || ['yy', years];\n\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n }\n\n // This function allows you to set a threshold for relative time strings\n function duration_humanize__getSetRelativeTimeThreshold (threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n return true;\n }\n\n function humanize (withSuffix) {\n var locale = this.localeData();\n var output = duration_humanize__relativeTime(this, !withSuffix, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n }\n\n var iso_string__abs = Math.abs;\n\n function iso_string__toISOString() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n var seconds = iso_string__abs(this._milliseconds) / 1000;\n var days = iso_string__abs(this._days);\n var months = iso_string__abs(this._months);\n var minutes, hours, years;\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n var Y = years;\n var M = months;\n var D = days;\n var h = hours;\n var m = minutes;\n var s = seconds;\n var total = this.asSeconds();\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n return (total < 0 ? '-' : '') +\n 'P' +\n (Y ? Y + 'Y' : '') +\n (M ? M + 'M' : '') +\n (D ? D + 'D' : '') +\n ((h || m || s) ? 'T' : '') +\n (h ? h + 'H' : '') +\n (m ? m + 'M' : '') +\n (s ? s + 'S' : '');\n }\n\n var duration_prototype__proto = Duration.prototype;\n\n duration_prototype__proto.abs = duration_abs__abs;\n duration_prototype__proto.add = duration_add_subtract__add;\n duration_prototype__proto.subtract = duration_add_subtract__subtract;\n duration_prototype__proto.as = as;\n duration_prototype__proto.asMilliseconds = asMilliseconds;\n duration_prototype__proto.asSeconds = asSeconds;\n duration_prototype__proto.asMinutes = asMinutes;\n duration_prototype__proto.asHours = asHours;\n duration_prototype__proto.asDays = asDays;\n duration_prototype__proto.asWeeks = asWeeks;\n duration_prototype__proto.asMonths = asMonths;\n duration_prototype__proto.asYears = asYears;\n duration_prototype__proto.valueOf = duration_as__valueOf;\n duration_prototype__proto._bubble = bubble;\n duration_prototype__proto.get = duration_get__get;\n duration_prototype__proto.milliseconds = milliseconds;\n duration_prototype__proto.seconds = seconds;\n duration_prototype__proto.minutes = minutes;\n duration_prototype__proto.hours = hours;\n duration_prototype__proto.days = days;\n duration_prototype__proto.weeks = weeks;\n duration_prototype__proto.months = months;\n duration_prototype__proto.years = years;\n duration_prototype__proto.humanize = humanize;\n duration_prototype__proto.toISOString = iso_string__toISOString;\n duration_prototype__proto.toString = iso_string__toISOString;\n duration_prototype__proto.toJSON = iso_string__toISOString;\n duration_prototype__proto.locale = locale;\n duration_prototype__proto.localeData = localeData;\n\n // Deprecations\n duration_prototype__proto.toIsoString = deprecate('toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', iso_string__toISOString);\n duration_prototype__proto.lang = lang;\n\n // Side effect imports\n\n // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf');\n\n // PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input, 10) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n });\n\n // Side effect imports\n\n\n utils_hooks__hooks.version = '2.12.0';\n\n setHookCallback(local__createLocal);\n\n utils_hooks__hooks.fn = momentPrototype;\n utils_hooks__hooks.min = min;\n utils_hooks__hooks.max = max;\n utils_hooks__hooks.now = now;\n utils_hooks__hooks.utc = create_utc__createUTC;\n utils_hooks__hooks.unix = moment__createUnix;\n utils_hooks__hooks.months = lists__listMonths;\n utils_hooks__hooks.isDate = isDate;\n utils_hooks__hooks.locale = locale_locales__getSetGlobalLocale;\n utils_hooks__hooks.invalid = valid__createInvalid;\n utils_hooks__hooks.duration = create__createDuration;\n utils_hooks__hooks.isMoment = isMoment;\n utils_hooks__hooks.weekdays = lists__listWeekdays;\n utils_hooks__hooks.parseZone = moment__createInZone;\n utils_hooks__hooks.localeData = locale_locales__getLocale;\n utils_hooks__hooks.isDuration = isDuration;\n utils_hooks__hooks.monthsShort = lists__listMonthsShort;\n utils_hooks__hooks.weekdaysMin = lists__listWeekdaysMin;\n utils_hooks__hooks.defineLocale = defineLocale;\n utils_hooks__hooks.updateLocale = updateLocale;\n utils_hooks__hooks.locales = locale_locales__listLocales;\n utils_hooks__hooks.weekdaysShort = lists__listWeekdaysShort;\n utils_hooks__hooks.normalizeUnits = normalizeUnits;\n utils_hooks__hooks.relativeTimeThreshold = duration_humanize__getSetRelativeTimeThreshold;\n utils_hooks__hooks.prototype = momentPrototype;\n\n var _moment = utils_hooks__hooks;\n\n return _moment;\n\n}));\n},{}],2:[function(require,module,exports){\n// shim for using process in browser\n\nvar process = module.exports = {};\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = setTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n clearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n setTimeout(drainQueue, 0);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n},{}],3:[function(require,module,exports){\nvar Vue // late bind\nvar map = Object.create(null)\nvar shimmed = false\nvar isBrowserify = false\n\n/**\n * Determine compatibility and apply patch.\n *\n * @param {Function} vue\n * @param {Boolean} browserify\n */\n\nexports.install = function (vue, browserify) {\n if (shimmed) return\n shimmed = true\n\n Vue = vue\n isBrowserify = browserify\n\n exports.compatible = !!Vue.internalDirectives\n if (!exports.compatible) {\n console.warn(\n '[HMR] vue-loader hot reload is only compatible with ' +\n 'Vue.js 1.0.0+.'\n )\n return\n }\n\n // patch view directive\n patchView(Vue.internalDirectives.component)\n console.log('[HMR] Vue component hot reload shim applied.')\n // shim router-view if present\n var routerView = Vue.elementDirective('router-view')\n if (routerView) {\n patchView(routerView)\n console.log('[HMR] vue-router hot reload shim applied.')\n }\n}\n\n/**\n * Shim the view directive (component or router-view).\n *\n * @param {Object} View\n */\n\nfunction patchView (View) {\n var unbuild = View.unbuild\n View.unbuild = function (defer) {\n if (!this.hotUpdating) {\n var prevComponent = this.childVM && this.childVM.constructor\n removeView(prevComponent, this)\n // defer = true means we are transitioning to a new\n // Component. Register this new component to the list.\n if (defer) {\n addView(this.Component, this)\n }\n }\n // call original\n return unbuild.call(this, defer)\n }\n}\n\n/**\n * Add a component view to a Component's hot list\n *\n * @param {Function} Component\n * @param {Directive} view - view directive instance\n */\n\nfunction addView (Component, view) {\n var id = Component && Component.options.hotID\n if (id) {\n if (!map[id]) {\n map[id] = {\n Component: Component,\n views: [],\n instances: []\n }\n }\n map[id].views.push(view)\n }\n}\n\n/**\n * Remove a component view from a Component's hot list\n *\n * @param {Function} Component\n * @param {Directive} view - view directive instance\n */\n\nfunction removeView (Component, view) {\n var id = Component && Component.options.hotID\n if (id) {\n map[id].views.$remove(view)\n }\n}\n\n/**\n * Create a record for a hot module, which keeps track of its construcotr,\n * instnaces and views (component directives or router-views).\n *\n * @param {String} id\n * @param {Object} options\n */\n\nexports.createRecord = function (id, options) {\n if (typeof options === 'function') {\n options = options.options\n }\n if (typeof options.el !== 'string' && typeof options.data !== 'object') {\n makeOptionsHot(id, options)\n map[id] = {\n Component: null,\n views: [],\n instances: []\n }\n }\n}\n\n/**\n * Make a Component options object hot.\n *\n * @param {String} id\n * @param {Object} options\n */\n\nfunction makeOptionsHot (id, options) {\n options.hotID = id\n injectHook(options, 'created', function () {\n var record = map[id]\n if (!record.Component) {\n record.Component = this.constructor\n }\n record.instances.push(this)\n })\n injectHook(options, 'beforeDestroy', function () {\n map[id].instances.$remove(this)\n })\n}\n\n/**\n * Inject a hook to a hot reloadable component so that\n * we can keep track of it.\n *\n * @param {Object} options\n * @param {String} name\n * @param {Function} hook\n */\n\nfunction injectHook (options, name, hook) {\n var existing = options[name]\n options[name] = existing\n ? Array.isArray(existing)\n ? existing.concat(hook)\n : [existing, hook]\n : [hook]\n}\n\n/**\n * Update a hot component.\n *\n * @param {String} id\n * @param {Object|null} newOptions\n * @param {String|null} newTemplate\n */\n\nexports.update = function (id, newOptions, newTemplate) {\n var record = map[id]\n // force full-reload if an instance of the component is active but is not\n // managed by a view\n if (!record || (record.instances.length && !record.views.length)) {\n console.log('[HMR] Root or manually-mounted instance modified. Full reload may be required.')\n if (!isBrowserify) {\n window.location.reload()\n } else {\n // browserify-hmr somehow sends incomplete bundle if we reload here\n return\n }\n }\n if (!isBrowserify) {\n // browserify-hmr already logs this\n console.log('[HMR] Updating component: ' + format(id))\n }\n var Component = record.Component\n // update constructor\n if (newOptions) {\n // in case the user exports a constructor\n Component = record.Component = typeof newOptions === 'function'\n ? newOptions\n : Vue.extend(newOptions)\n makeOptionsHot(id, Component.options)\n }\n if (newTemplate) {\n Component.options.template = newTemplate\n }\n // handle recursive lookup\n if (Component.options.name) {\n Component.options.components[Component.options.name] = Component\n }\n // reset constructor cached linker\n Component.linker = null\n // reload all views\n record.views.forEach(function (view) {\n updateView(view, Component)\n })\n // flush devtools\n if (window.__VUE_DEVTOOLS_GLOBAL_HOOK__) {\n window.__VUE_DEVTOOLS_GLOBAL_HOOK__.emit('flush')\n }\n}\n\n/**\n * Update a component view instance\n *\n * @param {Directive} view\n * @param {Function} Component\n */\n\nfunction updateView (view, Component) {\n if (!view._bound) {\n return\n }\n view.Component = Component\n view.hotUpdating = true\n // disable transitions\n view.vm._isCompiled = false\n // save state\n var state = extractState(view.childVM)\n // remount, make sure to disable keep-alive\n var keepAlive = view.keepAlive\n view.keepAlive = false\n view.mountComponent()\n view.keepAlive = keepAlive\n // restore state\n restoreState(view.childVM, state, true)\n // re-eanble transitions\n view.vm._isCompiled = true\n view.hotUpdating = false\n}\n\n/**\n * Extract state from a Vue instance.\n *\n * @param {Vue} vm\n * @return {Object}\n */\n\nfunction extractState (vm) {\n return {\n cid: vm.constructor.cid,\n data: vm.$data,\n children: vm.$children.map(extractState)\n }\n}\n\n/**\n * Restore state to a reloaded Vue instance.\n *\n * @param {Vue} vm\n * @param {Object} state\n */\n\nfunction restoreState (vm, state, isRoot) {\n var oldAsyncConfig\n if (isRoot) {\n // set Vue into sync mode during state rehydration\n oldAsyncConfig = Vue.config.async\n Vue.config.async = false\n }\n // actual restore\n if (isRoot || !vm._props) {\n vm.$data = state.data\n } else {\n Object.keys(state.data).forEach(function (key) {\n if (!vm._props[key]) {\n // for non-root, only restore non-props fields\n vm.$data[key] = state.data[key]\n }\n })\n }\n // verify child consistency\n var hasSameChildren = vm.$children.every(function (c, i) {\n return state.children[i] && state.children[i].cid === c.constructor.cid\n })\n if (hasSameChildren) {\n // rehydrate children\n vm.$children.forEach(function (c, i) {\n restoreState(c, state.children[i])\n })\n }\n if (isRoot) {\n Vue.config.async = oldAsyncConfig\n }\n}\n\nfunction format (id) {\n return id.match(/[^\\/]+\\.vue$/)[0]\n}\n\n},{}],4:[function(require,module,exports){\n/**\n * Before Interceptor.\n */\n\nvar _ = require('../util');\n\nmodule.exports = {\n\n request: function (request) {\n\n if (_.isFunction(request.beforeSend)) {\n request.beforeSend.call(this, request);\n }\n\n return request;\n }\n\n};\n\n},{\"../util\":27}],5:[function(require,module,exports){\n/**\n * Base client.\n */\n\nvar _ = require('../../util');\nvar Promise = require('../../promise');\nvar xhrClient = require('./xhr');\n\nmodule.exports = function (request) {\n\n var response = (request.client || xhrClient)(request);\n\n return Promise.resolve(response).then(function (response) {\n\n if (response.headers) {\n\n var headers = parseHeaders(response.headers);\n\n response.headers = function (name) {\n\n if (name) {\n return headers[_.toLower(name)];\n }\n\n return headers;\n };\n\n }\n\n response.ok = response.status >= 200 && response.status < 300;\n\n return response;\n });\n\n};\n\nfunction parseHeaders(str) {\n\n var headers = {}, value, name, i;\n\n if (_.isString(str)) {\n _.each(str.split('\\n'), function (row) {\n\n i = row.indexOf(':');\n name = _.trim(_.toLower(row.slice(0, i)));\n value = _.trim(row.slice(i + 1));\n\n if (headers[name]) {\n\n if (_.isArray(headers[name])) {\n headers[name].push(value);\n } else {\n headers[name] = [headers[name], value];\n }\n\n } else {\n\n headers[name] = value;\n }\n\n });\n }\n\n return headers;\n}\n\n},{\"../../promise\":20,\"../../util\":27,\"./xhr\":8}],6:[function(require,module,exports){\n/**\n * JSONP client.\n */\n\nvar _ = require('../../util');\nvar Promise = require('../../promise');\n\nmodule.exports = function (request) {\n return new Promise(function (resolve) {\n\n var callback = '_jsonp' + Math.random().toString(36).substr(2), response = {request: request, data: null}, handler, script;\n\n request.params[request.jsonp] = callback;\n request.cancel = function () {\n handler({type: 'cancel'});\n };\n\n script = document.createElement('script');\n script.src = _.url(request);\n script.type = 'text/javascript';\n script.async = true;\n\n window[callback] = function (data) {\n response.data = data;\n };\n\n handler = function (event) {\n\n if (event.type === 'load' && response.data !== null) {\n response.status = 200;\n } else if (event.type === 'error') {\n response.status = 404;\n } else {\n response.status = 0;\n }\n\n resolve(response);\n\n delete window[callback];\n document.body.removeChild(script);\n };\n\n script.onload = handler;\n script.onerror = handler;\n\n document.body.appendChild(script);\n });\n};\n\n},{\"../../promise\":20,\"../../util\":27}],7:[function(require,module,exports){\n/**\n * XDomain client (Internet Explorer).\n */\n\nvar _ = require('../../util');\nvar Promise = require('../../promise');\n\nmodule.exports = function (request) {\n return new Promise(function (resolve) {\n\n var xdr = new XDomainRequest(), response = {request: request}, handler;\n\n request.cancel = function () {\n xdr.abort();\n };\n\n xdr.open(request.method, _.url(request), true);\n\n handler = function (event) {\n\n response.data = xdr.responseText;\n response.status = xdr.status;\n response.statusText = xdr.statusText;\n\n resolve(response);\n };\n\n xdr.timeout = 0;\n xdr.onload = handler;\n xdr.onabort = handler;\n xdr.onerror = handler;\n xdr.ontimeout = function () {};\n xdr.onprogress = function () {};\n\n xdr.send(request.data);\n });\n};\n\n},{\"../../promise\":20,\"../../util\":27}],8:[function(require,module,exports){\n/**\n * XMLHttp client.\n */\n\nvar _ = require('../../util');\nvar Promise = require('../../promise');\n\nmodule.exports = function (request) {\n return new Promise(function (resolve) {\n\n var xhr = new XMLHttpRequest(), response = {request: request}, handler;\n\n request.cancel = function () {\n xhr.abort();\n };\n\n xhr.open(request.method, _.url(request), true);\n\n handler = function (event) {\n\n response.data = xhr.responseText;\n response.status = xhr.status;\n response.statusText = xhr.statusText;\n response.headers = xhr.getAllResponseHeaders();\n\n resolve(response);\n };\n\n xhr.timeout = 0;\n xhr.onload = handler;\n xhr.onabort = handler;\n xhr.onerror = handler;\n xhr.ontimeout = function () {};\n xhr.onprogress = function () {};\n\n if (_.isPlainObject(request.xhr)) {\n _.extend(xhr, request.xhr);\n }\n\n if (_.isPlainObject(request.upload)) {\n _.extend(xhr.upload, request.upload);\n }\n\n _.each(request.headers || {}, function (value, header) {\n xhr.setRequestHeader(header, value);\n });\n\n xhr.send(request.data);\n });\n};\n\n},{\"../../promise\":20,\"../../util\":27}],9:[function(require,module,exports){\n/**\n * CORS Interceptor.\n */\n\nvar _ = require('../util');\nvar xdrClient = require('./client/xdr');\nvar xhrCors = 'withCredentials' in new XMLHttpRequest();\nvar originUrl = _.url.parse(location.href);\n\nmodule.exports = {\n\n request: function (request) {\n\n if (request.crossOrigin === null) {\n request.crossOrigin = crossOrigin(request);\n }\n\n if (request.crossOrigin) {\n\n if (!xhrCors) {\n request.client = xdrClient;\n }\n\n request.emulateHTTP = false;\n }\n\n return request;\n }\n\n};\n\nfunction crossOrigin(request) {\n\n var requestUrl = _.url.parse(_.url(request));\n\n return (requestUrl.protocol !== originUrl.protocol || requestUrl.host !== originUrl.host);\n}\n\n},{\"../util\":27,\"./client/xdr\":7}],10:[function(require,module,exports){\n/**\n * Header Interceptor.\n */\n\nvar _ = require('../util');\n\nmodule.exports = {\n\n request: function (request) {\n\n request.method = request.method.toUpperCase();\n request.headers = _.extend({}, _.http.headers.common,\n !request.crossOrigin ? _.http.headers.custom : {},\n _.http.headers[request.method.toLowerCase()],\n request.headers\n );\n\n if (_.isPlainObject(request.data) && /^(GET|JSONP)$/i.test(request.method)) {\n _.extend(request.params, request.data);\n delete request.data;\n }\n\n return request;\n }\n\n};\n\n},{\"../util\":27}],11:[function(require,module,exports){\n/**\n * Service for sending network requests.\n */\n\nvar _ = require('../util');\nvar Client = require('./client');\nvar Promise = require('../promise');\nvar interceptor = require('./interceptor');\nvar jsonType = {'Content-Type': 'application/json'};\n\nfunction Http(url, options) {\n\n var client = Client, request, promise;\n\n Http.interceptors.forEach(function (handler) {\n client = interceptor(handler, this.$vm)(client);\n }, this);\n\n options = _.isObject(url) ? url : _.extend({url: url}, options);\n request = _.merge({}, Http.options, this.$options, options);\n promise = client(request).bind(this.$vm).then(function (response) {\n\n return response.ok ? response : Promise.reject(response);\n\n }, function (response) {\n\n if (response instanceof Error) {\n _.error(response);\n }\n\n return Promise.reject(response);\n });\n\n if (request.success) {\n promise.success(request.success);\n }\n\n if (request.error) {\n promise.error(request.error);\n }\n\n return promise;\n}\n\nHttp.options = {\n method: 'get',\n data: '',\n params: {},\n headers: {},\n xhr: null,\n upload: null,\n jsonp: 'callback',\n beforeSend: null,\n crossOrigin: null,\n emulateHTTP: false,\n emulateJSON: false,\n timeout: 0\n};\n\nHttp.interceptors = [\n require('./before'),\n require('./timeout'),\n require('./jsonp'),\n require('./method'),\n require('./mime'),\n require('./header'),\n require('./cors')\n];\n\nHttp.headers = {\n put: jsonType,\n post: jsonType,\n patch: jsonType,\n delete: jsonType,\n common: {'Accept': 'application/json, text/plain, */*'},\n custom: {'X-Requested-With': 'XMLHttpRequest'}\n};\n\n['get', 'put', 'post', 'patch', 'delete', 'jsonp'].forEach(function (method) {\n\n Http[method] = function (url, data, success, options) {\n\n if (_.isFunction(data)) {\n options = success;\n success = data;\n data = undefined;\n }\n\n if (_.isObject(success)) {\n options = success;\n success = undefined;\n }\n\n return this(url, _.extend({method: method, data: data, success: success}, options));\n };\n});\n\nmodule.exports = _.http = Http;\n\n},{\"../promise\":20,\"../util\":27,\"./before\":4,\"./client\":5,\"./cors\":9,\"./header\":10,\"./interceptor\":12,\"./jsonp\":13,\"./method\":14,\"./mime\":15,\"./timeout\":16}],12:[function(require,module,exports){\n/**\n * Interceptor factory.\n */\n\nvar _ = require('../util');\nvar Promise = require('../promise');\n\nmodule.exports = function (handler, vm) {\n\n return function (client) {\n\n if (_.isFunction(handler)) {\n handler = handler.call(vm, Promise);\n }\n\n return function (request) {\n\n if (_.isFunction(handler.request)) {\n request = handler.request.call(vm, request);\n }\n\n return when(request, function (request) {\n return when(client(request), function (response) {\n\n if (_.isFunction(handler.response)) {\n response = handler.response.call(vm, response);\n }\n\n return response;\n });\n });\n };\n };\n};\n\nfunction when(value, fulfilled, rejected) {\n\n var promise = Promise.resolve(value);\n\n if (arguments.length < 2) {\n return promise;\n }\n\n return promise.then(fulfilled, rejected);\n}\n\n},{\"../promise\":20,\"../util\":27}],13:[function(require,module,exports){\n/**\n * JSONP Interceptor.\n */\n\nvar jsonpClient = require('./client/jsonp');\n\nmodule.exports = {\n\n request: function (request) {\n\n if (request.method == 'JSONP') {\n request.client = jsonpClient;\n }\n\n return request;\n }\n\n};\n\n},{\"./client/jsonp\":6}],14:[function(require,module,exports){\n/**\n * HTTP method override Interceptor.\n */\n\nmodule.exports = {\n\n request: function (request) {\n\n if (request.emulateHTTP && /^(PUT|PATCH|DELETE)$/i.test(request.method)) {\n request.headers['X-HTTP-Method-Override'] = request.method;\n request.method = 'POST';\n }\n\n return request;\n }\n\n};\n\n},{}],15:[function(require,module,exports){\n/**\n * Mime Interceptor.\n */\n\nvar _ = require('../util');\n\nmodule.exports = {\n\n request: function (request) {\n\n if (request.emulateJSON && _.isPlainObject(request.data)) {\n request.headers['Content-Type'] = 'application/x-www-form-urlencoded';\n request.data = _.url.params(request.data);\n }\n\n if (_.isObject(request.data) && /FormData/i.test(request.data.toString())) {\n delete request.headers['Content-Type'];\n }\n\n if (_.isPlainObject(request.data)) {\n request.data = JSON.stringify(request.data);\n }\n\n return request;\n },\n\n response: function (response) {\n\n try {\n response.data = JSON.parse(response.data);\n } catch (e) {}\n\n return response;\n }\n\n};\n\n},{\"../util\":27}],16:[function(require,module,exports){\n/**\n * Timeout Interceptor.\n */\n\nmodule.exports = function () {\n\n var timeout;\n\n return {\n\n request: function (request) {\n\n if (request.timeout) {\n timeout = setTimeout(function () {\n request.cancel();\n }, request.timeout);\n }\n\n return request;\n },\n\n response: function (response) {\n\n clearTimeout(timeout);\n\n return response;\n }\n\n };\n};\n\n},{}],17:[function(require,module,exports){\n/**\n * Install plugin.\n */\n\nfunction install(Vue) {\n\n var _ = require('./util');\n\n _.config = Vue.config;\n _.warning = Vue.util.warn;\n _.nextTick = Vue.util.nextTick;\n\n Vue.url = require('./url');\n Vue.http = require('./http');\n Vue.resource = require('./resource');\n Vue.Promise = require('./promise');\n\n Object.defineProperties(Vue.prototype, {\n\n $url: {\n get: function () {\n return _.options(Vue.url, this, this.$options.url);\n }\n },\n\n $http: {\n get: function () {\n return _.options(Vue.http, this, this.$options.http);\n }\n },\n\n $resource: {\n get: function () {\n return Vue.resource.bind(this);\n }\n },\n\n $promise: {\n get: function () {\n return function (executor) {\n return new Vue.Promise(executor, this);\n }.bind(this);\n }\n }\n\n });\n}\n\nif (window.Vue) {\n Vue.use(install);\n}\n\nmodule.exports = install;\n\n},{\"./http\":11,\"./promise\":20,\"./resource\":21,\"./url\":22,\"./util\":27}],18:[function(require,module,exports){\n/**\n * Promises/A+ polyfill v1.1.4 (https://github.com/bramstein/promis)\n */\n\nvar _ = require('../util');\n\nvar RESOLVED = 0;\nvar REJECTED = 1;\nvar PENDING = 2;\n\nfunction Promise(executor) {\n\n this.state = PENDING;\n this.value = undefined;\n this.deferred = [];\n\n var promise = this;\n\n try {\n executor(function (x) {\n promise.resolve(x);\n }, function (r) {\n promise.reject(r);\n });\n } catch (e) {\n promise.reject(e);\n }\n}\n\nPromise.reject = function (r) {\n return new Promise(function (resolve, reject) {\n reject(r);\n });\n};\n\nPromise.resolve = function (x) {\n return new Promise(function (resolve, reject) {\n resolve(x);\n });\n};\n\nPromise.all = function all(iterable) {\n return new Promise(function (resolve, reject) {\n var count = 0, result = [];\n\n if (iterable.length === 0) {\n resolve(result);\n }\n\n function resolver(i) {\n return function (x) {\n result[i] = x;\n count += 1;\n\n if (count === iterable.length) {\n resolve(result);\n }\n };\n }\n\n for (var i = 0; i < iterable.length; i += 1) {\n Promise.resolve(iterable[i]).then(resolver(i), reject);\n }\n });\n};\n\nPromise.race = function race(iterable) {\n return new Promise(function (resolve, reject) {\n for (var i = 0; i < iterable.length; i += 1) {\n Promise.resolve(iterable[i]).then(resolve, reject);\n }\n });\n};\n\nvar p = Promise.prototype;\n\np.resolve = function resolve(x) {\n var promise = this;\n\n if (promise.state === PENDING) {\n if (x === promise) {\n throw new TypeError('Promise settled with itself.');\n }\n\n var called = false;\n\n try {\n var then = x && x['then'];\n\n if (x !== null && typeof x === 'object' && typeof then === 'function') {\n then.call(x, function (x) {\n if (!called) {\n promise.resolve(x);\n }\n called = true;\n\n }, function (r) {\n if (!called) {\n promise.reject(r);\n }\n called = true;\n });\n return;\n }\n } catch (e) {\n if (!called) {\n promise.reject(e);\n }\n return;\n }\n\n promise.state = RESOLVED;\n promise.value = x;\n promise.notify();\n }\n};\n\np.reject = function reject(reason) {\n var promise = this;\n\n if (promise.state === PENDING) {\n if (reason === promise) {\n throw new TypeError('Promise settled with itself.');\n }\n\n promise.state = REJECTED;\n promise.value = reason;\n promise.notify();\n }\n};\n\np.notify = function notify() {\n var promise = this;\n\n _.nextTick(function () {\n if (promise.state !== PENDING) {\n while (promise.deferred.length) {\n var deferred = promise.deferred.shift(),\n onResolved = deferred[0],\n onRejected = deferred[1],\n resolve = deferred[2],\n reject = deferred[3];\n\n try {\n if (promise.state === RESOLVED) {\n if (typeof onResolved === 'function') {\n resolve(onResolved.call(undefined, promise.value));\n } else {\n resolve(promise.value);\n }\n } else if (promise.state === REJECTED) {\n if (typeof onRejected === 'function') {\n resolve(onRejected.call(undefined, promise.value));\n } else {\n reject(promise.value);\n }\n }\n } catch (e) {\n reject(e);\n }\n }\n }\n });\n};\n\np.then = function then(onResolved, onRejected) {\n var promise = this;\n\n return new Promise(function (resolve, reject) {\n promise.deferred.push([onResolved, onRejected, resolve, reject]);\n promise.notify();\n });\n};\n\np.catch = function (onRejected) {\n return this.then(undefined, onRejected);\n};\n\nmodule.exports = Promise;\n\n},{\"../util\":27}],19:[function(require,module,exports){\n/**\n * URL Template v2.0.6 (https://github.com/bramstein/url-template)\n */\n\nexports.expand = function (url, params, variables) {\n\n var tmpl = this.parse(url), expanded = tmpl.expand(params);\n\n if (variables) {\n variables.push.apply(variables, tmpl.vars);\n }\n\n return expanded;\n};\n\nexports.parse = function (template) {\n\n var operators = ['+', '#', '.', '/', ';', '?', '&'], variables = [];\n\n return {\n vars: variables,\n expand: function (context) {\n return template.replace(/\\{([^\\{\\}]+)\\}|([^\\{\\}]+)/g, function (_, expression, literal) {\n if (expression) {\n\n var operator = null, values = [];\n\n if (operators.indexOf(expression.charAt(0)) !== -1) {\n operator = expression.charAt(0);\n expression = expression.substr(1);\n }\n\n expression.split(/,/g).forEach(function (variable) {\n var tmp = /([^:\\*]*)(?::(\\d+)|(\\*))?/.exec(variable);\n values.push.apply(values, exports.getValues(context, operator, tmp[1], tmp[2] || tmp[3]));\n variables.push(tmp[1]);\n });\n\n if (operator && operator !== '+') {\n\n var separator = ',';\n\n if (operator === '?') {\n separator = '&';\n } else if (operator !== '#') {\n separator = operator;\n }\n\n return (values.length !== 0 ? operator : '') + values.join(separator);\n } else {\n return values.join(',');\n }\n\n } else {\n return exports.encodeReserved(literal);\n }\n });\n }\n };\n};\n\nexports.getValues = function (context, operator, key, modifier) {\n\n var value = context[key], result = [];\n\n if (this.isDefined(value) && value !== '') {\n if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {\n value = value.toString();\n\n if (modifier && modifier !== '*') {\n value = value.substring(0, parseInt(modifier, 10));\n }\n\n result.push(this.encodeValue(operator, value, this.isKeyOperator(operator) ? key : null));\n } else {\n if (modifier === '*') {\n if (Array.isArray(value)) {\n value.filter(this.isDefined).forEach(function (value) {\n result.push(this.encodeValue(operator, value, this.isKeyOperator(operator) ? key : null));\n }, this);\n } else {\n Object.keys(value).forEach(function (k) {\n if (this.isDefined(value[k])) {\n result.push(this.encodeValue(operator, value[k], k));\n }\n }, this);\n }\n } else {\n var tmp = [];\n\n if (Array.isArray(value)) {\n value.filter(this.isDefined).forEach(function (value) {\n tmp.push(this.encodeValue(operator, value));\n }, this);\n } else {\n Object.keys(value).forEach(function (k) {\n if (this.isDefined(value[k])) {\n tmp.push(encodeURIComponent(k));\n tmp.push(this.encodeValue(operator, value[k].toString()));\n }\n }, this);\n }\n\n if (this.isKeyOperator(operator)) {\n result.push(encodeURIComponent(key) + '=' + tmp.join(','));\n } else if (tmp.length !== 0) {\n result.push(tmp.join(','));\n }\n }\n }\n } else {\n if (operator === ';') {\n result.push(encodeURIComponent(key));\n } else if (value === '' && (operator === '&' || operator === '?')) {\n result.push(encodeURIComponent(key) + '=');\n } else if (value === '') {\n result.push('');\n }\n }\n\n return result;\n};\n\nexports.isDefined = function (value) {\n return value !== undefined && value !== null;\n};\n\nexports.isKeyOperator = function (operator) {\n return operator === ';' || operator === '&' || operator === '?';\n};\n\nexports.encodeValue = function (operator, value, key) {\n\n value = (operator === '+' || operator === '#') ? this.encodeReserved(value) : encodeURIComponent(value);\n\n if (key) {\n return encodeURIComponent(key) + '=' + value;\n } else {\n return value;\n }\n};\n\nexports.encodeReserved = function (str) {\n return str.split(/(%[0-9A-Fa-f]{2})/g).map(function (part) {\n if (!/%[0-9A-Fa-f]/.test(part)) {\n part = encodeURI(part);\n }\n return part;\n }).join('');\n};\n\n},{}],20:[function(require,module,exports){\n/**\n * Promise adapter.\n */\n\nvar _ = require('./util');\nvar PromiseObj = window.Promise || require('./lib/promise');\n\nfunction Promise(executor, context) {\n\n if (executor instanceof PromiseObj) {\n this.promise = executor;\n } else {\n this.promise = new PromiseObj(executor.bind(context));\n }\n\n this.context = context;\n}\n\nPromise.all = function (iterable, context) {\n return new Promise(PromiseObj.all(iterable), context);\n};\n\nPromise.resolve = function (value, context) {\n return new Promise(PromiseObj.resolve(value), context);\n};\n\nPromise.reject = function (reason, context) {\n return new Promise(PromiseObj.reject(reason), context);\n};\n\nPromise.race = function (iterable, context) {\n return new Promise(PromiseObj.race(iterable), context);\n};\n\nvar p = Promise.prototype;\n\np.bind = function (context) {\n this.context = context;\n return this;\n};\n\np.then = function (fulfilled, rejected) {\n\n if (fulfilled && fulfilled.bind && this.context) {\n fulfilled = fulfilled.bind(this.context);\n }\n\n if (rejected && rejected.bind && this.context) {\n rejected = rejected.bind(this.context);\n }\n\n this.promise = this.promise.then(fulfilled, rejected);\n\n return this;\n};\n\np.catch = function (rejected) {\n\n if (rejected && rejected.bind && this.context) {\n rejected = rejected.bind(this.context);\n }\n\n this.promise = this.promise.catch(rejected);\n\n return this;\n};\n\np.finally = function (callback) {\n\n return this.then(function (value) {\n callback.call(this);\n return value;\n }, function (reason) {\n callback.call(this);\n return PromiseObj.reject(reason);\n }\n );\n};\n\np.success = function (callback) {\n\n _.warn('The `success` method has been deprecated. Use the `then` method instead.');\n\n return this.then(function (response) {\n return callback.call(this, response.data, response.status, response) || response;\n });\n};\n\np.error = function (callback) {\n\n _.warn('The `error` method has been deprecated. Use the `catch` method instead.');\n\n return this.catch(function (response) {\n return callback.call(this, response.data, response.status, response) || response;\n });\n};\n\np.always = function (callback) {\n\n _.warn('The `always` method has been deprecated. Use the `finally` method instead.');\n\n var cb = function (response) {\n return callback.call(this, response.data, response.status, response) || response;\n };\n\n return this.then(cb, cb);\n};\n\nmodule.exports = Promise;\n\n},{\"./lib/promise\":18,\"./util\":27}],21:[function(require,module,exports){\n/**\n * Service for interacting with RESTful services.\n */\n\nvar _ = require('./util');\n\nfunction Resource(url, params, actions, options) {\n\n var self = this, resource = {};\n\n actions = _.extend({},\n Resource.actions,\n actions\n );\n\n _.each(actions, function (action, name) {\n\n action = _.merge({url: url, params: params || {}}, options, action);\n\n resource[name] = function () {\n return (self.$http || _.http)(opts(action, arguments));\n };\n });\n\n return resource;\n}\n\nfunction opts(action, args) {\n\n var options = _.extend({}, action), params = {}, data, success, error;\n\n switch (args.length) {\n\n case 4:\n\n error = args[3];\n success = args[2];\n\n case 3:\n case 2:\n\n if (_.isFunction(args[1])) {\n\n if (_.isFunction(args[0])) {\n\n success = args[0];\n error = args[1];\n\n break;\n }\n\n success = args[1];\n error = args[2];\n\n } else {\n\n params = args[0];\n data = args[1];\n success = args[2];\n\n break;\n }\n\n case 1:\n\n if (_.isFunction(args[0])) {\n success = args[0];\n } else if (/^(POST|PUT|PATCH)$/i.test(options.method)) {\n data = args[0];\n } else {\n params = args[0];\n }\n\n break;\n\n case 0:\n\n break;\n\n default:\n\n throw 'Expected up to 4 arguments [params, data, success, error], got ' + args.length + ' arguments';\n }\n\n options.data = data;\n options.params = _.extend({}, options.params, params);\n\n if (success) {\n options.success = success;\n }\n\n if (error) {\n options.error = error;\n }\n\n return options;\n}\n\nResource.actions = {\n\n get: {method: 'GET'},\n save: {method: 'POST'},\n query: {method: 'GET'},\n update: {method: 'PUT'},\n remove: {method: 'DELETE'},\n delete: {method: 'DELETE'}\n\n};\n\nmodule.exports = _.resource = Resource;\n\n},{\"./util\":27}],22:[function(require,module,exports){\n/**\n * Service for URL templating.\n */\n\nvar _ = require('../util');\nvar ie = document.documentMode;\nvar el = document.createElement('a');\n\nfunction Url(url, params) {\n\n var options = url, transform;\n\n if (_.isString(url)) {\n options = {url: url, params: params};\n }\n\n options = _.merge({}, Url.options, this.$options, options);\n\n Url.transforms.forEach(function (handler) {\n transform = factory(handler, transform, this.$vm);\n }, this);\n\n return transform(options);\n};\n\n/**\n * Url options.\n */\n\nUrl.options = {\n url: '',\n root: null,\n params: {}\n};\n\n/**\n * Url transforms.\n */\n\nUrl.transforms = [\n require('./template'),\n require('./legacy'),\n require('./query'),\n require('./root')\n];\n\n/**\n * Encodes a Url parameter string.\n *\n * @param {Object} obj\n */\n\nUrl.params = function (obj) {\n\n var params = [], escape = encodeURIComponent;\n\n params.add = function (key, value) {\n\n if (_.isFunction(value)) {\n value = value();\n }\n\n if (value === null) {\n value = '';\n }\n\n this.push(escape(key) + '=' + escape(value));\n };\n\n serialize(params, obj);\n\n return params.join('&').replace(/%20/g, '+');\n};\n\n/**\n * Parse a URL and return its components.\n *\n * @param {String} url\n */\n\nUrl.parse = function (url) {\n\n if (ie) {\n el.href = url;\n url = el.href;\n }\n\n el.href = url;\n\n return {\n href: el.href,\n protocol: el.protocol ? el.protocol.replace(/:$/, '') : '',\n port: el.port,\n host: el.host,\n hostname: el.hostname,\n pathname: el.pathname.charAt(0) === '/' ? el.pathname : '/' + el.pathname,\n search: el.search ? el.search.replace(/^\\?/, '') : '',\n hash: el.hash ? el.hash.replace(/^#/, '') : ''\n };\n};\n\nfunction factory(handler, next, vm) {\n return function (options) {\n return handler.call(vm, options, next);\n };\n}\n\nfunction serialize(params, obj, scope) {\n\n var array = _.isArray(obj), plain = _.isPlainObject(obj), hash;\n\n _.each(obj, function (value, key) {\n\n hash = _.isObject(value) || _.isArray(value);\n\n if (scope) {\n key = scope + '[' + (plain || hash ? key : '') + ']';\n }\n\n if (!scope && array) {\n params.add(value.name, value.value);\n } else if (hash) {\n serialize(params, value, key);\n } else {\n params.add(key, value);\n }\n });\n}\n\nmodule.exports = _.url = Url;\n\n},{\"../util\":27,\"./legacy\":23,\"./query\":24,\"./root\":25,\"./template\":26}],23:[function(require,module,exports){\n/**\n * Legacy Transform.\n */\n\nvar _ = require('../util');\n\nmodule.exports = function (options, next) {\n\n var variables = [], url = next(options);\n\n url = url.replace(/(\\/?):([a-z]\\w*)/gi, function (match, slash, name) {\n\n _.warn('The `:' + name + '` parameter syntax has been deprecated. Use the `{' + name + '}` syntax instead.');\n\n if (options.params[name]) {\n variables.push(name);\n return slash + encodeUriSegment(options.params[name]);\n }\n\n return '';\n });\n\n variables.forEach(function (key) {\n delete options.params[key];\n });\n\n return url;\n};\n\nfunction encodeUriSegment(value) {\n\n return encodeUriQuery(value, true).\n replace(/%26/gi, '&').\n replace(/%3D/gi, '=').\n replace(/%2B/gi, '+');\n}\n\nfunction encodeUriQuery(value, spaces) {\n\n return encodeURIComponent(value).\n replace(/%40/gi, '@').\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, (spaces ? '%20' : '+'));\n}\n\n},{\"../util\":27}],24:[function(require,module,exports){\n/**\n * Query Parameter Transform.\n */\n\nvar _ = require('../util');\n\nmodule.exports = function (options, next) {\n\n var urlParams = Object.keys(_.url.options.params), query = {}, url = next(options);\n\n _.each(options.params, function (value, key) {\n if (urlParams.indexOf(key) === -1) {\n query[key] = value;\n }\n });\n\n query = _.url.params(query);\n\n if (query) {\n url += (url.indexOf('?') == -1 ? '?' : '&') + query;\n }\n\n return url;\n};\n\n},{\"../util\":27}],25:[function(require,module,exports){\n/**\n * Root Prefix Transform.\n */\n\nvar _ = require('../util');\n\nmodule.exports = function (options, next) {\n\n var url = next(options);\n\n if (_.isString(options.root) && !url.match(/^(https?:)?\\//)) {\n url = options.root + '/' + url;\n }\n\n return url;\n};\n\n},{\"../util\":27}],26:[function(require,module,exports){\n/**\n * URL Template (RFC 6570) Transform.\n */\n\nvar UrlTemplate = require('../lib/url-template');\n\nmodule.exports = function (options) {\n\n var variables = [], url = UrlTemplate.expand(options.url, options.params, variables);\n\n variables.forEach(function (key) {\n delete options.params[key];\n });\n\n return url;\n};\n\n},{\"../lib/url-template\":19}],27:[function(require,module,exports){\n/**\n * Utility functions.\n */\n\nvar _ = exports, array = [], console = window.console;\n\n_.warn = function (msg) {\n if (console && _.warning && (!_.config.silent || _.config.debug)) {\n console.warn('[VueResource warn]: ' + msg);\n }\n};\n\n_.error = function (msg) {\n if (console) {\n console.error(msg);\n }\n};\n\n_.trim = function (str) {\n return str.replace(/^\\s*|\\s*$/g, '');\n};\n\n_.toLower = function (str) {\n return str ? str.toLowerCase() : '';\n};\n\n_.isArray = Array.isArray;\n\n_.isString = function (val) {\n return typeof val === 'string';\n};\n\n_.isFunction = function (val) {\n return typeof val === 'function';\n};\n\n_.isObject = function (obj) {\n return obj !== null && typeof obj === 'object';\n};\n\n_.isPlainObject = function (obj) {\n return _.isObject(obj) && Object.getPrototypeOf(obj) == Object.prototype;\n};\n\n_.options = function (fn, obj, options) {\n\n options = options || {};\n\n if (_.isFunction(options)) {\n options = options.call(obj);\n }\n\n return _.merge(fn.bind({$vm: obj, $options: options}), fn, {$options: options});\n};\n\n_.each = function (obj, iterator) {\n\n var i, key;\n\n if (typeof obj.length == 'number') {\n for (i = 0; i < obj.length; i++) {\n iterator.call(obj[i], obj[i], i);\n }\n } else if (_.isObject(obj)) {\n for (key in obj) {\n if (obj.hasOwnProperty(key)) {\n iterator.call(obj[key], obj[key], key);\n }\n }\n }\n\n return obj;\n};\n\n_.defaults = function (target, source) {\n\n for (var key in source) {\n if (target[key] === undefined) {\n target[key] = source[key];\n }\n }\n\n return target;\n};\n\n_.extend = function (target) {\n\n var args = array.slice.call(arguments, 1);\n\n args.forEach(function (arg) {\n merge(target, arg);\n });\n\n return target;\n};\n\n_.merge = function (target) {\n\n var args = array.slice.call(arguments, 1);\n\n args.forEach(function (arg) {\n merge(target, arg, true);\n });\n\n return target;\n};\n\nfunction merge(target, source, deep) {\n for (var key in source) {\n if (deep && (_.isPlainObject(source[key]) || _.isArray(source[key]))) {\n if (_.isPlainObject(source[key]) && !_.isPlainObject(target[key])) {\n target[key] = {};\n }\n if (_.isArray(source[key]) && !_.isArray(target[key])) {\n target[key] = [];\n }\n merge(target[key], source[key], deep);\n } else if (source[key] !== undefined) {\n target[key] = source[key];\n }\n }\n}\n\n},{}],28:[function(require,module,exports){\n(function (process,global){\n/*!\n * Vue.js v1.0.17\n * (c) 2016 Evan You\n * Released under the MIT License.\n */\n'use strict';\n\nfunction set(obj, key, val) {\n if (hasOwn(obj, key)) {\n obj[key] = val;\n return;\n }\n if (obj._isVue) {\n set(obj._data, key, val);\n return;\n }\n var ob = obj.__ob__;\n if (!ob) {\n obj[key] = val;\n return;\n }\n ob.convert(key, val);\n ob.dep.notify();\n if (ob.vms) {\n var i = ob.vms.length;\n while (i--) {\n var vm = ob.vms[i];\n vm._proxy(key);\n vm._digest();\n }\n }\n return val;\n}\n\n/**\n * Delete a property and trigger change if necessary.\n *\n * @param {Object} obj\n * @param {String} key\n */\n\nfunction del(obj, key) {\n if (!hasOwn(obj, key)) {\n return;\n }\n delete obj[key];\n var ob = obj.__ob__;\n if (!ob) {\n return;\n }\n ob.dep.notify();\n if (ob.vms) {\n var i = ob.vms.length;\n while (i--) {\n var vm = ob.vms[i];\n vm._unproxy(key);\n vm._digest();\n }\n }\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n/**\n * Check whether the object has the property.\n *\n * @param {Object} obj\n * @param {String} key\n * @return {Boolean}\n */\n\nfunction hasOwn(obj, key) {\n return hasOwnProperty.call(obj, key);\n}\n\n/**\n * Check if an expression is a literal value.\n *\n * @param {String} exp\n * @return {Boolean}\n */\n\nvar literalValueRE = /^\\s?(true|false|-?[\\d\\.]+|'[^']*'|\"[^\"]*\")\\s?$/;\n\nfunction isLiteral(exp) {\n return literalValueRE.test(exp);\n}\n\n/**\n * Check if a string starts with $ or _\n *\n * @param {String} str\n * @return {Boolean}\n */\n\nfunction isReserved(str) {\n var c = (str + '').charCodeAt(0);\n return c === 0x24 || c === 0x5F;\n}\n\n/**\n * Guard text output, make sure undefined outputs\n * empty string\n *\n * @param {*} value\n * @return {String}\n */\n\nfunction _toString(value) {\n return value == null ? '' : value.toString();\n}\n\n/**\n * Check and convert possible numeric strings to numbers\n * before setting back to data\n *\n * @param {*} value\n * @return {*|Number}\n */\n\nfunction toNumber(value) {\n if (typeof value !== 'string') {\n return value;\n } else {\n var parsed = Number(value);\n return isNaN(parsed) ? value : parsed;\n }\n}\n\n/**\n * Convert string boolean literals into real booleans.\n *\n * @param {*} value\n * @return {*|Boolean}\n */\n\nfunction toBoolean(value) {\n return value === 'true' ? true : value === 'false' ? false : value;\n}\n\n/**\n * Strip quotes from a string\n *\n * @param {String} str\n * @return {String | false}\n */\n\nfunction stripQuotes(str) {\n var a = str.charCodeAt(0);\n var b = str.charCodeAt(str.length - 1);\n return a === b && (a === 0x22 || a === 0x27) ? str.slice(1, -1) : str;\n}\n\n/**\n * Camelize a hyphen-delmited string.\n *\n * @param {String} str\n * @return {String}\n */\n\nvar camelizeRE = /-(\\w)/g;\n\nfunction camelize(str) {\n return str.replace(camelizeRE, toUpper);\n}\n\nfunction toUpper(_, c) {\n return c ? c.toUpperCase() : '';\n}\n\n/**\n * Hyphenate a camelCase string.\n *\n * @param {String} str\n * @return {String}\n */\n\nvar hyphenateRE = /([a-z\\d])([A-Z])/g;\n\nfunction hyphenate(str) {\n return str.replace(hyphenateRE, '$1-$2').toLowerCase();\n}\n\n/**\n * Converts hyphen/underscore/slash delimitered names into\n * camelized classNames.\n *\n * e.g. my-component => MyComponent\n * some_else => SomeElse\n * some/comp => SomeComp\n *\n * @param {String} str\n * @return {String}\n */\n\nvar classifyRE = /(?:^|[-_\\/])(\\w)/g;\n\nfunction classify(str) {\n return str.replace(classifyRE, toUpper);\n}\n\n/**\n * Simple bind, faster than native\n *\n * @param {Function} fn\n * @param {Object} ctx\n * @return {Function}\n */\n\nfunction bind(fn, ctx) {\n return function (a) {\n var l = arguments.length;\n return l ? l > 1 ? fn.apply(ctx, arguments) : fn.call(ctx, a) : fn.call(ctx);\n };\n}\n\n/**\n * Convert an Array-like object to a real Array.\n *\n * @param {Array-like} list\n * @param {Number} [start] - start index\n * @return {Array}\n */\n\nfunction toArray(list, start) {\n start = start || 0;\n var i = list.length - start;\n var ret = new Array(i);\n while (i--) {\n ret[i] = list[i + start];\n }\n return ret;\n}\n\n/**\n * Mix properties into target object.\n *\n * @param {Object} to\n * @param {Object} from\n */\n\nfunction extend(to, from) {\n var keys = Object.keys(from);\n var i = keys.length;\n while (i--) {\n to[keys[i]] = from[keys[i]];\n }\n return to;\n}\n\n/**\n * Quick object check - this is primarily used to tell\n * Objects from primitive values when we know the value\n * is a JSON-compliant type.\n *\n * @param {*} obj\n * @return {Boolean}\n */\n\nfunction isObject(obj) {\n return obj !== null && typeof obj === 'object';\n}\n\n/**\n * Strict object type check. Only returns true\n * for plain JavaScript objects.\n *\n * @param {*} obj\n * @return {Boolean}\n */\n\nvar toString = Object.prototype.toString;\nvar OBJECT_STRING = '[object Object]';\n\nfunction isPlainObject(obj) {\n return toString.call(obj) === OBJECT_STRING;\n}\n\n/**\n * Array type check.\n *\n * @param {*} obj\n * @return {Boolean}\n */\n\nvar isArray = Array.isArray;\n\n/**\n * Define a non-enumerable property\n *\n * @param {Object} obj\n * @param {String} key\n * @param {*} val\n * @param {Boolean} [enumerable]\n */\n\nfunction def(obj, key, val, enumerable) {\n Object.defineProperty(obj, key, {\n value: val,\n enumerable: !!enumerable,\n writable: true,\n configurable: true\n });\n}\n\n/**\n * Debounce a function so it only gets called after the\n * input stops arriving after the given wait period.\n *\n * @param {Function} func\n * @param {Number} wait\n * @return {Function} - the debounced function\n */\n\nfunction _debounce(func, wait) {\n var timeout, args, context, timestamp, result;\n var later = function later() {\n var last = Date.now() - timestamp;\n if (last < wait && last >= 0) {\n timeout = setTimeout(later, wait - last);\n } else {\n timeout = null;\n result = func.apply(context, args);\n if (!timeout) context = args = null;\n }\n };\n return function () {\n context = this;\n args = arguments;\n timestamp = Date.now();\n if (!timeout) {\n timeout = setTimeout(later, wait);\n }\n return result;\n };\n}\n\n/**\n * Manual indexOf because it's slightly faster than\n * native.\n *\n * @param {Array} arr\n * @param {*} obj\n */\n\nfunction indexOf(arr, obj) {\n var i = arr.length;\n while (i--) {\n if (arr[i] === obj) return i;\n }\n return -1;\n}\n\n/**\n * Make a cancellable version of an async callback.\n *\n * @param {Function} fn\n * @return {Function}\n */\n\nfunction cancellable(fn) {\n var cb = function cb() {\n if (!cb.cancelled) {\n return fn.apply(this, arguments);\n }\n };\n cb.cancel = function () {\n cb.cancelled = true;\n };\n return cb;\n}\n\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n *\n * @param {*} a\n * @param {*} b\n * @return {Boolean}\n */\n\nfunction looseEqual(a, b) {\n /* eslint-disable eqeqeq */\n return a == b || (isObject(a) && isObject(b) ? JSON.stringify(a) === JSON.stringify(b) : false);\n /* eslint-enable eqeqeq */\n}\n\nvar hasProto = ('__proto__' in {});\n\n// Browser environment sniffing\nvar inBrowser = typeof window !== 'undefined' && Object.prototype.toString.call(window) !== '[object Object]';\n\n// detect devtools\nvar devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\n// UA sniffing for working around browser-specific quirks\nvar UA = inBrowser && window.navigator.userAgent.toLowerCase();\nvar isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nvar isAndroid = UA && UA.indexOf('android') > 0;\n\nvar transitionProp = undefined;\nvar transitionEndEvent = undefined;\nvar animationProp = undefined;\nvar animationEndEvent = undefined;\n\n// Transition property/event sniffing\nif (inBrowser && !isIE9) {\n var isWebkitTrans = window.ontransitionend === undefined && window.onwebkittransitionend !== undefined;\n var isWebkitAnim = window.onanimationend === undefined && window.onwebkitanimationend !== undefined;\n transitionProp = isWebkitTrans ? 'WebkitTransition' : 'transition';\n transitionEndEvent = isWebkitTrans ? 'webkitTransitionEnd' : 'transitionend';\n animationProp = isWebkitAnim ? 'WebkitAnimation' : 'animation';\n animationEndEvent = isWebkitAnim ? 'webkitAnimationEnd' : 'animationend';\n}\n\n/**\n * Defer a task to execute it asynchronously. Ideally this\n * should be executed as a microtask, so we leverage\n * MutationObserver if it's available, and fallback to\n * setTimeout(0).\n *\n * @param {Function} cb\n * @param {Object} ctx\n */\n\nvar nextTick = (function () {\n var callbacks = [];\n var pending = false;\n var timerFunc;\n function nextTickHandler() {\n pending = false;\n var copies = callbacks.slice(0);\n callbacks = [];\n for (var i = 0; i < copies.length; i++) {\n copies[i]();\n }\n }\n\n /* istanbul ignore if */\n if (typeof MutationObserver !== 'undefined') {\n var counter = 1;\n var observer = new MutationObserver(nextTickHandler);\n var textNode = document.createTextNode(counter);\n observer.observe(textNode, {\n characterData: true\n });\n timerFunc = function () {\n counter = (counter + 1) % 2;\n textNode.data = counter;\n };\n } else {\n // webpack attempts to inject a shim for setImmediate\n // if it is used as a global, so we have to work around that to\n // avoid bundling unnecessary code.\n var context = inBrowser ? window : typeof global !== 'undefined' ? global : {};\n timerFunc = context.setImmediate || setTimeout;\n }\n return function (cb, ctx) {\n var func = ctx ? function () {\n cb.call(ctx);\n } : cb;\n callbacks.push(func);\n if (pending) return;\n pending = true;\n timerFunc(nextTickHandler, 0);\n };\n})();\n\nfunction Cache(limit) {\n this.size = 0;\n this.limit = limit;\n this.head = this.tail = undefined;\n this._keymap = Object.create(null);\n}\n\nvar p = Cache.prototype;\n\n/**\n * Put into the cache associated with .\n * Returns the entry which was removed to make room for\n * the new entry. Otherwise undefined is returned.\n * (i.e. if there was enough room already).\n *\n * @param {String} key\n * @param {*} value\n * @return {Entry|undefined}\n */\n\np.put = function (key, value) {\n var removed;\n if (this.size === this.limit) {\n removed = this.shift();\n }\n\n var entry = this.get(key, true);\n if (!entry) {\n entry = {\n key: key\n };\n this._keymap[key] = entry;\n if (this.tail) {\n this.tail.newer = entry;\n entry.older = this.tail;\n } else {\n this.head = entry;\n }\n this.tail = entry;\n this.size++;\n }\n entry.value = value;\n\n return removed;\n};\n\n/**\n * Purge the least recently used (oldest) entry from the\n * cache. Returns the removed entry or undefined if the\n * cache was empty.\n */\n\np.shift = function () {\n var entry = this.head;\n if (entry) {\n this.head = this.head.newer;\n this.head.older = undefined;\n entry.newer = entry.older = undefined;\n this._keymap[entry.key] = undefined;\n this.size--;\n }\n return entry;\n};\n\n/**\n * Get and register recent use of . Returns the value\n * associated with or undefined if not in cache.\n *\n * @param {String} key\n * @param {Boolean} returnEntry\n * @return {Entry|*}\n */\n\np.get = function (key, returnEntry) {\n var entry = this._keymap[key];\n if (entry === undefined) return;\n if (entry === this.tail) {\n return returnEntry ? entry : entry.value;\n }\n // HEAD--------------TAIL\n // <.older .newer>\n // <--- add direction --\n // A B C E\n if (entry.newer) {\n if (entry === this.head) {\n this.head = entry.newer;\n }\n entry.newer.older = entry.older; // C <-- E.\n }\n if (entry.older) {\n entry.older.newer = entry.newer; // C. --> E\n }\n entry.newer = undefined; // D --x\n entry.older = this.tail; // D. --> E\n if (this.tail) {\n this.tail.newer = entry; // E. <-- D\n }\n this.tail = entry;\n return returnEntry ? entry : entry.value;\n};\n\nvar cache$1 = new Cache(1000);\nvar filterTokenRE = /[^\\s'\"]+|'[^']*'|\"[^\"]*\"/g;\nvar reservedArgRE = /^in$|^-?\\d+/;\n\n/**\n * Parser state\n */\n\nvar str;\nvar dir;\nvar c;\nvar prev;\nvar i;\nvar l;\nvar lastFilterIndex;\nvar inSingle;\nvar inDouble;\nvar curly;\nvar square;\nvar paren;\n/**\n * Push a filter to the current directive object\n */\n\nfunction pushFilter() {\n var exp = str.slice(lastFilterIndex, i).trim();\n var filter;\n if (exp) {\n filter = {};\n var tokens = exp.match(filterTokenRE);\n filter.name = tokens[0];\n if (tokens.length > 1) {\n filter.args = tokens.slice(1).map(processFilterArg);\n }\n }\n if (filter) {\n (dir.filters = dir.filters || []).push(filter);\n }\n lastFilterIndex = i + 1;\n}\n\n/**\n * Check if an argument is dynamic and strip quotes.\n *\n * @param {String} arg\n * @return {Object}\n */\n\nfunction processFilterArg(arg) {\n if (reservedArgRE.test(arg)) {\n return {\n value: toNumber(arg),\n dynamic: false\n };\n } else {\n var stripped = stripQuotes(arg);\n var dynamic = stripped === arg;\n return {\n value: dynamic ? arg : stripped,\n dynamic: dynamic\n };\n }\n}\n\n/**\n * Parse a directive value and extract the expression\n * and its filters into a descriptor.\n *\n * Example:\n *\n * \"a + 1 | uppercase\" will yield:\n * {\n * expression: 'a + 1',\n * filters: [\n * { name: 'uppercase', args: null }\n * ]\n * }\n *\n * @param {String} str\n * @return {Object}\n */\n\nfunction parseDirective(s) {\n var hit = cache$1.get(s);\n if (hit) {\n return hit;\n }\n\n // reset parser state\n str = s;\n inSingle = inDouble = false;\n curly = square = paren = 0;\n lastFilterIndex = 0;\n dir = {};\n\n for (i = 0, l = str.length; i < l; i++) {\n prev = c;\n c = str.charCodeAt(i);\n if (inSingle) {\n // check single quote\n if (c === 0x27 && prev !== 0x5C) inSingle = !inSingle;\n } else if (inDouble) {\n // check double quote\n if (c === 0x22 && prev !== 0x5C) inDouble = !inDouble;\n } else if (c === 0x7C && // pipe\n str.charCodeAt(i + 1) !== 0x7C && str.charCodeAt(i - 1) !== 0x7C) {\n if (dir.expression == null) {\n // first filter, end of expression\n lastFilterIndex = i + 1;\n dir.expression = str.slice(0, i).trim();\n } else {\n // already has filter\n pushFilter();\n }\n } else {\n switch (c) {\n case 0x22:\n inDouble = true;break; // \"\n case 0x27:\n inSingle = true;break; // '\n case 0x28:\n paren++;break; // (\n case 0x29:\n paren--;break; // )\n case 0x5B:\n square++;break; // [\n case 0x5D:\n square--;break; // ]\n case 0x7B:\n curly++;break; // {\n case 0x7D:\n curly--;break; // }\n }\n }\n }\n\n if (dir.expression == null) {\n dir.expression = str.slice(0, i).trim();\n } else if (lastFilterIndex !== 0) {\n pushFilter();\n }\n\n cache$1.put(s, dir);\n return dir;\n}\n\nvar directive = Object.freeze({\n parseDirective: parseDirective\n});\n\nvar regexEscapeRE = /[-.*+?^${}()|[\\]\\/\\\\]/g;\nvar cache = undefined;\nvar tagRE = undefined;\nvar htmlRE = undefined;\n/**\n * Escape a string so it can be used in a RegExp\n * constructor.\n *\n * @param {String} str\n */\n\nfunction escapeRegex(str) {\n return str.replace(regexEscapeRE, '\\\\$&');\n}\n\nfunction compileRegex() {\n var open = escapeRegex(config.delimiters[0]);\n var close = escapeRegex(config.delimiters[1]);\n var unsafeOpen = escapeRegex(config.unsafeDelimiters[0]);\n var unsafeClose = escapeRegex(config.unsafeDelimiters[1]);\n tagRE = new RegExp(unsafeOpen + '(.+?)' + unsafeClose + '|' + open + '(.+?)' + close, 'g');\n htmlRE = new RegExp('^' + unsafeOpen + '.*' + unsafeClose + '$');\n // reset cache\n cache = new Cache(1000);\n}\n\n/**\n * Parse a template text string into an array of tokens.\n *\n * @param {String} text\n * @return {Array | null}\n * - {String} type\n * - {String} value\n * - {Boolean} [html]\n * - {Boolean} [oneTime]\n */\n\nfunction parseText(text) {\n if (!cache) {\n compileRegex();\n }\n var hit = cache.get(text);\n if (hit) {\n return hit;\n }\n text = text.replace(/\\n/g, '');\n if (!tagRE.test(text)) {\n return null;\n }\n var tokens = [];\n var lastIndex = tagRE.lastIndex = 0;\n var match, index, html, value, first, oneTime;\n /* eslint-disable no-cond-assign */\n while (match = tagRE.exec(text)) {\n /* eslint-enable no-cond-assign */\n index = match.index;\n // push text token\n if (index > lastIndex) {\n tokens.push({\n value: text.slice(lastIndex, index)\n });\n }\n // tag token\n html = htmlRE.test(match[0]);\n value = html ? match[1] : match[2];\n first = value.charCodeAt(0);\n oneTime = first === 42; // *\n value = oneTime ? value.slice(1) : value;\n tokens.push({\n tag: true,\n value: value.trim(),\n html: html,\n oneTime: oneTime\n });\n lastIndex = index + match[0].length;\n }\n if (lastIndex < text.length) {\n tokens.push({\n value: text.slice(lastIndex)\n });\n }\n cache.put(text, tokens);\n return tokens;\n}\n\n/**\n * Format a list of tokens into an expression.\n * e.g. tokens parsed from 'a {{b}} c' can be serialized\n * into one single expression as '\"a \" + b + \" c\"'.\n *\n * @param {Array} tokens\n * @param {Vue} [vm]\n * @return {String}\n */\n\nfunction tokensToExp(tokens, vm) {\n if (tokens.length > 1) {\n return tokens.map(function (token) {\n return formatToken(token, vm);\n }).join('+');\n } else {\n return formatToken(tokens[0], vm, true);\n }\n}\n\n/**\n * Format a single token.\n *\n * @param {Object} token\n * @param {Vue} [vm]\n * @param {Boolean} [single]\n * @return {String}\n */\n\nfunction formatToken(token, vm, single) {\n return token.tag ? token.oneTime && vm ? '\"' + vm.$eval(token.value) + '\"' : inlineFilters(token.value, single) : '\"' + token.value + '\"';\n}\n\n/**\n * For an attribute with multiple interpolation tags,\n * e.g. attr=\"some-{{thing | filter}}\", in order to combine\n * the whole thing into a single watchable expression, we\n * have to inline those filters. This function does exactly\n * that. This is a bit hacky but it avoids heavy changes\n * to directive parser and watcher mechanism.\n *\n * @param {String} exp\n * @param {Boolean} single\n * @return {String}\n */\n\nvar filterRE = /[^|]\\|[^|]/;\nfunction inlineFilters(exp, single) {\n if (!filterRE.test(exp)) {\n return single ? exp : '(' + exp + ')';\n } else {\n var dir = parseDirective(exp);\n if (!dir.filters) {\n return '(' + exp + ')';\n } else {\n return 'this._applyFilters(' + dir.expression + // value\n ',null,' + // oldValue (null for read)\n JSON.stringify(dir.filters) + // filter descriptors\n ',false)'; // write?\n }\n }\n}\n\nvar text = Object.freeze({\n compileRegex: compileRegex,\n parseText: parseText,\n tokensToExp: tokensToExp\n});\n\nvar delimiters = ['{{', '}}'];\nvar unsafeDelimiters = ['{{{', '}}}'];\n\nvar config = Object.defineProperties({\n\n /**\n * Whether to print debug messages.\n * Also enables stack trace for warnings.\n *\n * @type {Boolean}\n */\n\n debug: false,\n\n /**\n * Whether to suppress warnings.\n *\n * @type {Boolean}\n */\n\n silent: false,\n\n /**\n * Whether to use async rendering.\n */\n\n async: true,\n\n /**\n * Whether to warn against errors caught when evaluating\n * expressions.\n */\n\n warnExpressionErrors: true,\n\n /**\n * Internal flag to indicate the delimiters have been\n * changed.\n *\n * @type {Boolean}\n */\n\n _delimitersChanged: true,\n\n /**\n * List of asset types that a component can own.\n *\n * @type {Array}\n */\n\n _assetTypes: ['component', 'directive', 'elementDirective', 'filter', 'transition', 'partial'],\n\n /**\n * prop binding modes\n */\n\n _propBindingModes: {\n ONE_WAY: 0,\n TWO_WAY: 1,\n ONE_TIME: 2\n },\n\n /**\n * Max circular updates allowed in a batcher flush cycle.\n */\n\n _maxUpdateCount: 100\n\n}, {\n delimiters: { /**\n * Interpolation delimiters. Changing these would trigger\n * the text parser to re-compile the regular expressions.\n *\n * @type {Array}\n */\n\n get: function get() {\n return delimiters;\n },\n set: function set(val) {\n delimiters = val;\n compileRegex();\n },\n configurable: true,\n enumerable: true\n },\n unsafeDelimiters: {\n get: function get() {\n return unsafeDelimiters;\n },\n set: function set(val) {\n unsafeDelimiters = val;\n compileRegex();\n },\n configurable: true,\n enumerable: true\n }\n});\n\nvar warn = undefined;\n\nif (process.env.NODE_ENV !== 'production') {\n (function () {\n var hasConsole = typeof console !== 'undefined';\n warn = function (msg, e) {\n if (hasConsole && (!config.silent || config.debug)) {\n console.warn('[Vue warn]: ' + msg);\n /* istanbul ignore if */\n if (config.debug) {\n if (e) {\n throw e;\n } else {\n console.warn(new Error('Warning Stack Trace').stack);\n }\n }\n }\n };\n })();\n}\n\n/**\n * Append with transition.\n *\n * @param {Element} el\n * @param {Element} target\n * @param {Vue} vm\n * @param {Function} [cb]\n */\n\nfunction appendWithTransition(el, target, vm, cb) {\n applyTransition(el, 1, function () {\n target.appendChild(el);\n }, vm, cb);\n}\n\n/**\n * InsertBefore with transition.\n *\n * @param {Element} el\n * @param {Element} target\n * @param {Vue} vm\n * @param {Function} [cb]\n */\n\nfunction beforeWithTransition(el, target, vm, cb) {\n applyTransition(el, 1, function () {\n before(el, target);\n }, vm, cb);\n}\n\n/**\n * Remove with transition.\n *\n * @param {Element} el\n * @param {Vue} vm\n * @param {Function} [cb]\n */\n\nfunction removeWithTransition(el, vm, cb) {\n applyTransition(el, -1, function () {\n remove(el);\n }, vm, cb);\n}\n\n/**\n * Apply transitions with an operation callback.\n *\n * @param {Element} el\n * @param {Number} direction\n * 1: enter\n * -1: leave\n * @param {Function} op - the actual DOM operation\n * @param {Vue} vm\n * @param {Function} [cb]\n */\n\nfunction applyTransition(el, direction, op, vm, cb) {\n var transition = el.__v_trans;\n if (!transition ||\n // skip if there are no js hooks and CSS transition is\n // not supported\n !transition.hooks && !transitionEndEvent ||\n // skip transitions for initial compile\n !vm._isCompiled ||\n // if the vm is being manipulated by a parent directive\n // during the parent's compilation phase, skip the\n // animation.\n vm.$parent && !vm.$parent._isCompiled) {\n op();\n if (cb) cb();\n return;\n }\n var action = direction > 0 ? 'enter' : 'leave';\n transition[action](op, cb);\n}\n\nvar transition = Object.freeze({\n appendWithTransition: appendWithTransition,\n beforeWithTransition: beforeWithTransition,\n removeWithTransition: removeWithTransition,\n applyTransition: applyTransition\n});\n\n/**\n * Query an element selector if it's not an element already.\n *\n * @param {String|Element} el\n * @return {Element}\n */\n\nfunction query(el) {\n if (typeof el === 'string') {\n var selector = el;\n el = document.querySelector(el);\n if (!el) {\n process.env.NODE_ENV !== 'production' && warn('Cannot find element: ' + selector);\n }\n }\n return el;\n}\n\n/**\n * Check if a node is in the document.\n * Note: document.documentElement.contains should work here\n * but always returns false for comment nodes in phantomjs,\n * making unit tests difficult. This is fixed by doing the\n * contains() check on the node's parentNode instead of\n * the node itself.\n *\n * @param {Node} node\n * @return {Boolean}\n */\n\nfunction inDoc(node) {\n var doc = document.documentElement;\n var parent = node && node.parentNode;\n return doc === node || doc === parent || !!(parent && parent.nodeType === 1 && doc.contains(parent));\n}\n\n/**\n * Get and remove an attribute from a node.\n *\n * @param {Node} node\n * @param {String} _attr\n */\n\nfunction getAttr(node, _attr) {\n var val = node.getAttribute(_attr);\n if (val !== null) {\n node.removeAttribute(_attr);\n }\n return val;\n}\n\n/**\n * Get an attribute with colon or v-bind: prefix.\n *\n * @param {Node} node\n * @param {String} name\n * @return {String|null}\n */\n\nfunction getBindAttr(node, name) {\n var val = getAttr(node, ':' + name);\n if (val === null) {\n val = getAttr(node, 'v-bind:' + name);\n }\n return val;\n}\n\n/**\n * Check the presence of a bind attribute.\n *\n * @param {Node} node\n * @param {String} name\n * @return {Boolean}\n */\n\nfunction hasBindAttr(node, name) {\n return node.hasAttribute(name) || node.hasAttribute(':' + name) || node.hasAttribute('v-bind:' + name);\n}\n\n/**\n * Insert el before target\n *\n * @param {Element} el\n * @param {Element} target\n */\n\nfunction before(el, target) {\n target.parentNode.insertBefore(el, target);\n}\n\n/**\n * Insert el after target\n *\n * @param {Element} el\n * @param {Element} target\n */\n\nfunction after(el, target) {\n if (target.nextSibling) {\n before(el, target.nextSibling);\n } else {\n target.parentNode.appendChild(el);\n }\n}\n\n/**\n * Remove el from DOM\n *\n * @param {Element} el\n */\n\nfunction remove(el) {\n el.parentNode.removeChild(el);\n}\n\n/**\n * Prepend el to target\n *\n * @param {Element} el\n * @param {Element} target\n */\n\nfunction prepend(el, target) {\n if (target.firstChild) {\n before(el, target.firstChild);\n } else {\n target.appendChild(el);\n }\n}\n\n/**\n * Replace target with el\n *\n * @param {Element} target\n * @param {Element} el\n */\n\nfunction replace(target, el) {\n var parent = target.parentNode;\n if (parent) {\n parent.replaceChild(el, target);\n }\n}\n\n/**\n * Add event listener shorthand.\n *\n * @param {Element} el\n * @param {String} event\n * @param {Function} cb\n * @param {Boolean} [useCapture]\n */\n\nfunction on(el, event, cb, useCapture) {\n el.addEventListener(event, cb, useCapture);\n}\n\n/**\n * Remove event listener shorthand.\n *\n * @param {Element} el\n * @param {String} event\n * @param {Function} cb\n */\n\nfunction off(el, event, cb) {\n el.removeEventListener(event, cb);\n}\n\n/**\n * In IE9, setAttribute('class') will result in empty class\n * if the element also has the :class attribute; However in\n * PhantomJS, setting `className` does not work on SVG elements...\n * So we have to do a conditional check here.\n *\n * @param {Element} el\n * @param {String} cls\n */\n\nfunction setClass(el, cls) {\n /* istanbul ignore if */\n if (isIE9 && !/svg$/.test(el.namespaceURI)) {\n el.className = cls;\n } else {\n el.setAttribute('class', cls);\n }\n}\n\n/**\n * Add class with compatibility for IE & SVG\n *\n * @param {Element} el\n * @param {String} cls\n */\n\nfunction addClass(el, cls) {\n if (el.classList) {\n el.classList.add(cls);\n } else {\n var cur = ' ' + (el.getAttribute('class') || '') + ' ';\n if (cur.indexOf(' ' + cls + ' ') < 0) {\n setClass(el, (cur + cls).trim());\n }\n }\n}\n\n/**\n * Remove class with compatibility for IE & SVG\n *\n * @param {Element} el\n * @param {String} cls\n */\n\nfunction removeClass(el, cls) {\n if (el.classList) {\n el.classList.remove(cls);\n } else {\n var cur = ' ' + (el.getAttribute('class') || '') + ' ';\n var tar = ' ' + cls + ' ';\n while (cur.indexOf(tar) >= 0) {\n cur = cur.replace(tar, ' ');\n }\n setClass(el, cur.trim());\n }\n if (!el.className) {\n el.removeAttribute('class');\n }\n}\n\n/**\n * Extract raw content inside an element into a temporary\n * container div\n *\n * @param {Element} el\n * @param {Boolean} asFragment\n * @return {Element|DocumentFragment}\n */\n\nfunction extractContent(el, asFragment) {\n var child;\n var rawContent;\n /* istanbul ignore if */\n if (isTemplate(el) && isFragment(el.content)) {\n el = el.content;\n }\n if (el.hasChildNodes()) {\n trimNode(el);\n rawContent = asFragment ? document.createDocumentFragment() : document.createElement('div');\n /* eslint-disable no-cond-assign */\n while (child = el.firstChild) {\n /* eslint-enable no-cond-assign */\n rawContent.appendChild(child);\n }\n }\n return rawContent;\n}\n\n/**\n * Trim possible empty head/tail text and comment\n * nodes inside a parent.\n *\n * @param {Node} node\n */\n\nfunction trimNode(node) {\n var child;\n /* eslint-disable no-sequences */\n while ((child = node.firstChild, isTrimmable(child))) {\n node.removeChild(child);\n }\n while ((child = node.lastChild, isTrimmable(child))) {\n node.removeChild(child);\n }\n /* eslint-enable no-sequences */\n}\n\nfunction isTrimmable(node) {\n return node && (node.nodeType === 3 && !node.data.trim() || node.nodeType === 8);\n}\n\n/**\n * Check if an element is a template tag.\n * Note if the template appears inside an SVG its tagName\n * will be in lowercase.\n *\n * @param {Element} el\n */\n\nfunction isTemplate(el) {\n return el.tagName && el.tagName.toLowerCase() === 'template';\n}\n\n/**\n * Create an \"anchor\" for performing dom insertion/removals.\n * This is used in a number of scenarios:\n * - fragment instance\n * - v-html\n * - v-if\n * - v-for\n * - component\n *\n * @param {String} content\n * @param {Boolean} persist - IE trashes empty textNodes on\n * cloneNode(true), so in certain\n * cases the anchor needs to be\n * non-empty to be persisted in\n * templates.\n * @return {Comment|Text}\n */\n\nfunction createAnchor(content, persist) {\n var anchor = config.debug ? document.createComment(content) : document.createTextNode(persist ? ' ' : '');\n anchor.__v_anchor = true;\n return anchor;\n}\n\n/**\n * Find a component ref attribute that starts with $.\n *\n * @param {Element} node\n * @return {String|undefined}\n */\n\nvar refRE = /^v-ref:/;\n\nfunction findRef(node) {\n if (node.hasAttributes()) {\n var attrs = node.attributes;\n for (var i = 0, l = attrs.length; i < l; i++) {\n var name = attrs[i].name;\n if (refRE.test(name)) {\n return camelize(name.replace(refRE, ''));\n }\n }\n }\n}\n\n/**\n * Map a function to a range of nodes .\n *\n * @param {Node} node\n * @param {Node} end\n * @param {Function} op\n */\n\nfunction mapNodeRange(node, end, op) {\n var next;\n while (node !== end) {\n next = node.nextSibling;\n op(node);\n node = next;\n }\n op(end);\n}\n\n/**\n * Remove a range of nodes with transition, store\n * the nodes in a fragment with correct ordering,\n * and call callback when done.\n *\n * @param {Node} start\n * @param {Node} end\n * @param {Vue} vm\n * @param {DocumentFragment} frag\n * @param {Function} cb\n */\n\nfunction removeNodeRange(start, end, vm, frag, cb) {\n var done = false;\n var removed = 0;\n var nodes = [];\n mapNodeRange(start, end, function (node) {\n if (node === end) done = true;\n nodes.push(node);\n removeWithTransition(node, vm, onRemoved);\n });\n function onRemoved() {\n removed++;\n if (done && removed >= nodes.length) {\n for (var i = 0; i < nodes.length; i++) {\n frag.appendChild(nodes[i]);\n }\n cb && cb();\n }\n }\n}\n\n/**\n * Check if a node is a DocumentFragment.\n *\n * @param {Node} node\n * @return {Boolean}\n */\n\nfunction isFragment(node) {\n return node && node.nodeType === 11;\n}\n\n/**\n * Get outerHTML of elements, taking care\n * of SVG elements in IE as well.\n *\n * @param {Element} el\n * @return {String}\n */\n\nfunction getOuterHTML(el) {\n if (el.outerHTML) {\n return el.outerHTML;\n } else {\n var container = document.createElement('div');\n container.appendChild(el.cloneNode(true));\n return container.innerHTML;\n }\n}\n\nvar commonTagRE = /^(div|p|span|img|a|b|i|br|ul|ol|li|h1|h2|h3|h4|h5|h6|code|pre|table|th|td|tr|form|label|input|select|option|nav|article|section|header|footer)$/;\nvar reservedTagRE = /^(slot|partial|component)$/;\n\nvar isUnknownElement = undefined;\nif (process.env.NODE_ENV !== 'production') {\n isUnknownElement = function (el, tag) {\n if (tag.indexOf('-') > -1) {\n // http://stackoverflow.com/a/28210364/1070244\n return el.constructor === window.HTMLUnknownElement || el.constructor === window.HTMLElement;\n } else {\n return (/HTMLUnknownElement/.test(el.toString()) &&\n // Chrome returns unknown for several HTML5 elements.\n // https://code.google.com/p/chromium/issues/detail?id=540526\n !/^(data|time|rtc|rb)$/.test(tag)\n );\n }\n };\n}\n\n/**\n * Check if an element is a component, if yes return its\n * component id.\n *\n * @param {Element} el\n * @param {Object} options\n * @return {Object|undefined}\n */\n\nfunction checkComponentAttr(el, options) {\n var tag = el.tagName.toLowerCase();\n var hasAttrs = el.hasAttributes();\n if (!commonTagRE.test(tag) && !reservedTagRE.test(tag)) {\n if (resolveAsset(options, 'components', tag)) {\n return { id: tag };\n } else {\n var is = hasAttrs && getIsBinding(el);\n if (is) {\n return is;\n } else if (process.env.NODE_ENV !== 'production') {\n var expectedTag = options._componentNameMap && options._componentNameMap[tag];\n if (expectedTag) {\n warn('Unknown custom element: <' + tag + '> - ' + 'did you mean <' + expectedTag + '>? ' + 'HTML is case-insensitive, remember to use kebab-case in templates.');\n } else if (isUnknownElement(el, tag)) {\n warn('Unknown custom element: <' + tag + '> - did you ' + 'register the component correctly? For recursive components, ' + 'make sure to provide the \"name\" option.');\n }\n }\n }\n } else if (hasAttrs) {\n return getIsBinding(el);\n }\n}\n\n/**\n * Get \"is\" binding from an element.\n *\n * @param {Element} el\n * @return {Object|undefined}\n */\n\nfunction getIsBinding(el) {\n // dynamic syntax\n var exp = getAttr(el, 'is');\n if (exp != null) {\n return { id: exp };\n } else {\n exp = getBindAttr(el, 'is');\n if (exp != null) {\n return { id: exp, dynamic: true };\n }\n }\n}\n\n/**\n * Set a prop's initial value on a vm and its data object.\n *\n * @param {Vue} vm\n * @param {Object} prop\n * @param {*} value\n */\n\nfunction initProp(vm, prop, value) {\n var key = prop.path;\n value = coerceProp(prop, value);\n vm[key] = vm._data[key] = assertProp(prop, value) ? value : undefined;\n}\n\n/**\n * Assert whether a prop is valid.\n *\n * @param {Object} prop\n * @param {*} value\n */\n\nfunction assertProp(prop, value) {\n if (!prop.options.required && ( // non-required\n prop.raw === null || // abscent\n value == null) // null or undefined\n ) {\n return true;\n }\n var options = prop.options;\n var type = options.type;\n var valid = true;\n var expectedType;\n if (type) {\n if (type === String) {\n expectedType = 'string';\n valid = typeof value === expectedType;\n } else if (type === Number) {\n expectedType = 'number';\n valid = typeof value === 'number';\n } else if (type === Boolean) {\n expectedType = 'boolean';\n valid = typeof value === 'boolean';\n } else if (type === Function) {\n expectedType = 'function';\n valid = typeof value === 'function';\n } else if (type === Object) {\n expectedType = 'object';\n valid = isPlainObject(value);\n } else if (type === Array) {\n expectedType = 'array';\n valid = isArray(value);\n } else {\n valid = value instanceof type;\n }\n }\n if (!valid) {\n process.env.NODE_ENV !== 'production' && warn('Invalid prop: type check failed for ' + prop.path + '=\"' + prop.raw + '\".' + ' Expected ' + formatType(expectedType) + ', got ' + formatValue(value) + '.');\n return false;\n }\n var validator = options.validator;\n if (validator) {\n if (!validator(value)) {\n process.env.NODE_ENV !== 'production' && warn('Invalid prop: custom validator check failed for ' + prop.path + '=\"' + prop.raw + '\"');\n return false;\n }\n }\n return true;\n}\n\n/**\n * Force parsing value with coerce option.\n *\n * @param {*} value\n * @param {Object} options\n * @return {*}\n */\n\nfunction coerceProp(prop, value) {\n var coerce = prop.options.coerce;\n if (!coerce) {\n return value;\n }\n // coerce is a function\n return coerce(value);\n}\n\nfunction formatType(val) {\n return val ? val.charAt(0).toUpperCase() + val.slice(1) : 'custom type';\n}\n\nfunction formatValue(val) {\n return Object.prototype.toString.call(val).slice(8, -1);\n}\n\n/**\n * Option overwriting strategies are functions that handle\n * how to merge a parent option value and a child option\n * value into the final value.\n *\n * All strategy functions follow the same signature:\n *\n * @param {*} parentVal\n * @param {*} childVal\n * @param {Vue} [vm]\n */\n\nvar strats = config.optionMergeStrategies = Object.create(null);\n\n/**\n * Helper that recursively merges two data objects together.\n */\n\nfunction mergeData(to, from) {\n var key, toVal, fromVal;\n for (key in from) {\n toVal = to[key];\n fromVal = from[key];\n if (!hasOwn(to, key)) {\n set(to, key, fromVal);\n } else if (isObject(toVal) && isObject(fromVal)) {\n mergeData(toVal, fromVal);\n }\n }\n return to;\n}\n\n/**\n * Data\n */\n\nstrats.data = function (parentVal, childVal, vm) {\n if (!vm) {\n // in a Vue.extend merge, both should be functions\n if (!childVal) {\n return parentVal;\n }\n if (typeof childVal !== 'function') {\n process.env.NODE_ENV !== 'production' && warn('The \"data\" option should be a function ' + 'that returns a per-instance value in component ' + 'definitions.');\n return parentVal;\n }\n if (!parentVal) {\n return childVal;\n }\n // when parentVal & childVal are both present,\n // we need to return a function that returns the\n // merged result of both functions... no need to\n // check if parentVal is a function here because\n // it has to be a function to pass previous merges.\n return function mergedDataFn() {\n return mergeData(childVal.call(this), parentVal.call(this));\n };\n } else if (parentVal || childVal) {\n return function mergedInstanceDataFn() {\n // instance merge\n var instanceData = typeof childVal === 'function' ? childVal.call(vm) : childVal;\n var defaultData = typeof parentVal === 'function' ? parentVal.call(vm) : undefined;\n if (instanceData) {\n return mergeData(instanceData, defaultData);\n } else {\n return defaultData;\n }\n };\n }\n};\n\n/**\n * El\n */\n\nstrats.el = function (parentVal, childVal, vm) {\n if (!vm && childVal && typeof childVal !== 'function') {\n process.env.NODE_ENV !== 'production' && warn('The \"el\" option should be a function ' + 'that returns a per-instance value in component ' + 'definitions.');\n return;\n }\n var ret = childVal || parentVal;\n // invoke the element factory if this is instance merge\n return vm && typeof ret === 'function' ? ret.call(vm) : ret;\n};\n\n/**\n * Hooks and param attributes are merged as arrays.\n */\n\nstrats.init = strats.created = strats.ready = strats.attached = strats.detached = strats.beforeCompile = strats.compiled = strats.beforeDestroy = strats.destroyed = strats.activate = function (parentVal, childVal) {\n return childVal ? parentVal ? parentVal.concat(childVal) : isArray(childVal) ? childVal : [childVal] : parentVal;\n};\n\n/**\n * 0.11 deprecation warning\n */\n\nstrats.paramAttributes = function () {\n /* istanbul ignore next */\n process.env.NODE_ENV !== 'production' && warn('\"paramAttributes\" option has been deprecated in 0.12. ' + 'Use \"props\" instead.');\n};\n\n/**\n * Assets\n *\n * When a vm is present (instance creation), we need to do\n * a three-way merge between constructor options, instance\n * options and parent options.\n */\n\nfunction mergeAssets(parentVal, childVal) {\n var res = Object.create(parentVal);\n return childVal ? extend(res, guardArrayAssets(childVal)) : res;\n}\n\nconfig._assetTypes.forEach(function (type) {\n strats[type + 's'] = mergeAssets;\n});\n\n/**\n * Events & Watchers.\n *\n * Events & watchers hashes should not overwrite one\n * another, so we merge them as arrays.\n */\n\nstrats.watch = strats.events = function (parentVal, childVal) {\n if (!childVal) return parentVal;\n if (!parentVal) return childVal;\n var ret = {};\n extend(ret, parentVal);\n for (var key in childVal) {\n var parent = ret[key];\n var child = childVal[key];\n if (parent && !isArray(parent)) {\n parent = [parent];\n }\n ret[key] = parent ? parent.concat(child) : [child];\n }\n return ret;\n};\n\n/**\n * Other object hashes.\n */\n\nstrats.props = strats.methods = strats.computed = function (parentVal, childVal) {\n if (!childVal) return parentVal;\n if (!parentVal) return childVal;\n var ret = Object.create(null);\n extend(ret, parentVal);\n extend(ret, childVal);\n return ret;\n};\n\n/**\n * Default strategy.\n */\n\nvar defaultStrat = function defaultStrat(parentVal, childVal) {\n return childVal === undefined ? parentVal : childVal;\n};\n\n/**\n * Make sure component options get converted to actual\n * constructors.\n *\n * @param {Object} options\n */\n\nfunction guardComponents(options) {\n if (options.components) {\n var components = options.components = guardArrayAssets(options.components);\n var ids = Object.keys(components);\n var def;\n if (process.env.NODE_ENV !== 'production') {\n var map = options._componentNameMap = {};\n }\n for (var i = 0, l = ids.length; i < l; i++) {\n var key = ids[i];\n if (commonTagRE.test(key) || reservedTagRE.test(key)) {\n process.env.NODE_ENV !== 'production' && warn('Do not use built-in or reserved HTML elements as component ' + 'id: ' + key);\n continue;\n }\n // record a all lowercase <-> kebab-case mapping for\n // possible custom element case error warning\n if (process.env.NODE_ENV !== 'production') {\n map[key.replace(/-/g, '').toLowerCase()] = hyphenate(key);\n }\n def = components[key];\n if (isPlainObject(def)) {\n components[key] = Vue.extend(def);\n }\n }\n }\n}\n\n/**\n * Ensure all props option syntax are normalized into the\n * Object-based format.\n *\n * @param {Object} options\n */\n\nfunction guardProps(options) {\n var props = options.props;\n var i, val;\n if (isArray(props)) {\n options.props = {};\n i = props.length;\n while (i--) {\n val = props[i];\n if (typeof val === 'string') {\n options.props[val] = null;\n } else if (val.name) {\n options.props[val.name] = val;\n }\n }\n } else if (isPlainObject(props)) {\n var keys = Object.keys(props);\n i = keys.length;\n while (i--) {\n val = props[keys[i]];\n if (typeof val === 'function') {\n props[keys[i]] = { type: val };\n }\n }\n }\n}\n\n/**\n * Guard an Array-format assets option and converted it\n * into the key-value Object format.\n *\n * @param {Object|Array} assets\n * @return {Object}\n */\n\nfunction guardArrayAssets(assets) {\n if (isArray(assets)) {\n var res = {};\n var i = assets.length;\n var asset;\n while (i--) {\n asset = assets[i];\n var id = typeof asset === 'function' ? asset.options && asset.options.name || asset.id : asset.name || asset.id;\n if (!id) {\n process.env.NODE_ENV !== 'production' && warn('Array-syntax assets must provide a \"name\" or \"id\" field.');\n } else {\n res[id] = asset;\n }\n }\n return res;\n }\n return assets;\n}\n\n/**\n * Merge two option objects into a new one.\n * Core utility used in both instantiation and inheritance.\n *\n * @param {Object} parent\n * @param {Object} child\n * @param {Vue} [vm] - if vm is present, indicates this is\n * an instantiation merge.\n */\n\nfunction mergeOptions(parent, child, vm) {\n guardComponents(child);\n guardProps(child);\n var options = {};\n var key;\n if (child.mixins) {\n for (var i = 0, l = child.mixins.length; i < l; i++) {\n parent = mergeOptions(parent, child.mixins[i], vm);\n }\n }\n for (key in parent) {\n mergeField(key);\n }\n for (key in child) {\n if (!hasOwn(parent, key)) {\n mergeField(key);\n }\n }\n function mergeField(key) {\n var strat = strats[key] || defaultStrat;\n options[key] = strat(parent[key], child[key], vm, key);\n }\n return options;\n}\n\n/**\n * Resolve an asset.\n * This function is used because child instances need access\n * to assets defined in its ancestor chain.\n *\n * @param {Object} options\n * @param {String} type\n * @param {String} id\n * @return {Object|Function}\n */\n\nfunction resolveAsset(options, type, id) {\n /* istanbul ignore if */\n if (typeof id !== 'string') {\n return;\n }\n var assets = options[type];\n var camelizedId;\n return assets[id] ||\n // camelCase ID\n assets[camelizedId = camelize(id)] ||\n // Pascal Case ID\n assets[camelizedId.charAt(0).toUpperCase() + camelizedId.slice(1)];\n}\n\n/**\n * Assert asset exists\n */\n\nfunction assertAsset(val, type, id) {\n if (!val) {\n process.env.NODE_ENV !== 'production' && warn('Failed to resolve ' + type + ': ' + id);\n }\n}\n\nvar uid$1 = 0;\n\n/**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n *\n * @constructor\n */\nfunction Dep() {\n this.id = uid$1++;\n this.subs = [];\n}\n\n// the current target watcher being evaluated.\n// this is globally unique because there could be only one\n// watcher being evaluated at any time.\nDep.target = null;\n\n/**\n * Add a directive subscriber.\n *\n * @param {Directive} sub\n */\n\nDep.prototype.addSub = function (sub) {\n this.subs.push(sub);\n};\n\n/**\n * Remove a directive subscriber.\n *\n * @param {Directive} sub\n */\n\nDep.prototype.removeSub = function (sub) {\n this.subs.$remove(sub);\n};\n\n/**\n * Add self as a dependency to the target watcher.\n */\n\nDep.prototype.depend = function () {\n Dep.target.addDep(this);\n};\n\n/**\n * Notify all subscribers of a new value.\n */\n\nDep.prototype.notify = function () {\n // stablize the subscriber list first\n var subs = toArray(this.subs);\n for (var i = 0, l = subs.length; i < l; i++) {\n subs[i].update();\n }\n};\n\nvar arrayProto = Array.prototype;\nvar arrayMethods = Object.create(arrayProto)\n\n/**\n * Intercept mutating methods and emit events\n */\n\n;['push', 'pop', 'shift', 'unshift', 'splice', 'sort', 'reverse'].forEach(function (method) {\n // cache original method\n var original = arrayProto[method];\n def(arrayMethods, method, function mutator() {\n // avoid leaking arguments:\n // http://jsperf.com/closure-with-arguments\n var i = arguments.length;\n var args = new Array(i);\n while (i--) {\n args[i] = arguments[i];\n }\n var result = original.apply(this, args);\n var ob = this.__ob__;\n var inserted;\n switch (method) {\n case 'push':\n inserted = args;\n break;\n case 'unshift':\n inserted = args;\n break;\n case 'splice':\n inserted = args.slice(2);\n break;\n }\n if (inserted) ob.observeArray(inserted);\n // notify change\n ob.dep.notify();\n return result;\n });\n});\n\n/**\n * Swap the element at the given index with a new value\n * and emits corresponding event.\n *\n * @param {Number} index\n * @param {*} val\n * @return {*} - replaced element\n */\n\ndef(arrayProto, '$set', function $set(index, val) {\n if (index >= this.length) {\n this.length = Number(index) + 1;\n }\n return this.splice(index, 1, val)[0];\n});\n\n/**\n * Convenience method to remove the element at given index.\n *\n * @param {Number} index\n * @param {*} val\n */\n\ndef(arrayProto, '$remove', function $remove(item) {\n /* istanbul ignore if */\n if (!this.length) return;\n var index = indexOf(this, item);\n if (index > -1) {\n return this.splice(index, 1);\n }\n});\n\nvar arrayKeys = Object.getOwnPropertyNames(arrayMethods);\n\n/**\n * Observer class that are attached to each observed\n * object. Once attached, the observer converts target\n * object's property keys into getter/setters that\n * collect dependencies and dispatches updates.\n *\n * @param {Array|Object} value\n * @constructor\n */\n\nfunction Observer(value) {\n this.value = value;\n this.dep = new Dep();\n def(value, '__ob__', this);\n if (isArray(value)) {\n var augment = hasProto ? protoAugment : copyAugment;\n augment(value, arrayMethods, arrayKeys);\n this.observeArray(value);\n } else {\n this.walk(value);\n }\n}\n\n// Instance methods\n\n/**\n * Walk through each property and convert them into\n * getter/setters. This method should only be called when\n * value type is Object.\n *\n * @param {Object} obj\n */\n\nObserver.prototype.walk = function (obj) {\n var keys = Object.keys(obj);\n for (var i = 0, l = keys.length; i < l; i++) {\n this.convert(keys[i], obj[keys[i]]);\n }\n};\n\n/**\n * Observe a list of Array items.\n *\n * @param {Array} items\n */\n\nObserver.prototype.observeArray = function (items) {\n for (var i = 0, l = items.length; i < l; i++) {\n observe(items[i]);\n }\n};\n\n/**\n * Convert a property into getter/setter so we can emit\n * the events when the property is accessed/changed.\n *\n * @param {String} key\n * @param {*} val\n */\n\nObserver.prototype.convert = function (key, val) {\n defineReactive(this.value, key, val);\n};\n\n/**\n * Add an owner vm, so that when $set/$delete mutations\n * happen we can notify owner vms to proxy the keys and\n * digest the watchers. This is only called when the object\n * is observed as an instance's root $data.\n *\n * @param {Vue} vm\n */\n\nObserver.prototype.addVm = function (vm) {\n (this.vms || (this.vms = [])).push(vm);\n};\n\n/**\n * Remove an owner vm. This is called when the object is\n * swapped out as an instance's $data object.\n *\n * @param {Vue} vm\n */\n\nObserver.prototype.removeVm = function (vm) {\n this.vms.$remove(vm);\n};\n\n// helpers\n\n/**\n * Augment an target Object or Array by intercepting\n * the prototype chain using __proto__\n *\n * @param {Object|Array} target\n * @param {Object} proto\n */\n\nfunction protoAugment(target, src) {\n /* eslint-disable no-proto */\n target.__proto__ = src;\n /* eslint-enable no-proto */\n}\n\n/**\n * Augment an target Object or Array by defining\n * hidden properties.\n *\n * @param {Object|Array} target\n * @param {Object} proto\n */\n\nfunction copyAugment(target, src, keys) {\n for (var i = 0, l = keys.length; i < l; i++) {\n var key = keys[i];\n def(target, key, src[key]);\n }\n}\n\n/**\n * Attempt to create an observer instance for a value,\n * returns the new observer if successfully observed,\n * or the existing observer if the value already has one.\n *\n * @param {*} value\n * @param {Vue} [vm]\n * @return {Observer|undefined}\n * @static\n */\n\nfunction observe(value, vm) {\n if (!value || typeof value !== 'object') {\n return;\n }\n var ob;\n if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {\n ob = value.__ob__;\n } else if ((isArray(value) || isPlainObject(value)) && Object.isExtensible(value) && !value._isVue) {\n ob = new Observer(value);\n }\n if (ob && vm) {\n ob.addVm(vm);\n }\n return ob;\n}\n\n/**\n * Define a reactive property on an Object.\n *\n * @param {Object} obj\n * @param {String} key\n * @param {*} val\n */\n\nfunction defineReactive(obj, key, val) {\n var dep = new Dep();\n\n var property = Object.getOwnPropertyDescriptor(obj, key);\n if (property && property.configurable === false) {\n return;\n }\n\n // cater for pre-defined getter/setters\n var getter = property && property.get;\n var setter = property && property.set;\n\n var childOb = observe(val);\n Object.defineProperty(obj, key, {\n enumerable: true,\n configurable: true,\n get: function reactiveGetter() {\n var value = getter ? getter.call(obj) : val;\n if (Dep.target) {\n dep.depend();\n if (childOb) {\n childOb.dep.depend();\n }\n if (isArray(value)) {\n for (var e, i = 0, l = value.length; i < l; i++) {\n e = value[i];\n e && e.__ob__ && e.__ob__.dep.depend();\n }\n }\n }\n return value;\n },\n set: function reactiveSetter(newVal) {\n var value = getter ? getter.call(obj) : val;\n if (newVal === value) {\n return;\n }\n if (setter) {\n setter.call(obj, newVal);\n } else {\n val = newVal;\n }\n childOb = observe(newVal);\n dep.notify();\n }\n });\n}\n\n\n\nvar util = Object.freeze({\n\tdefineReactive: defineReactive,\n\tset: set,\n\tdel: del,\n\thasOwn: hasOwn,\n\tisLiteral: isLiteral,\n\tisReserved: isReserved,\n\t_toString: _toString,\n\ttoNumber: toNumber,\n\ttoBoolean: toBoolean,\n\tstripQuotes: stripQuotes,\n\tcamelize: camelize,\n\thyphenate: hyphenate,\n\tclassify: classify,\n\tbind: bind,\n\ttoArray: toArray,\n\textend: extend,\n\tisObject: isObject,\n\tisPlainObject: isPlainObject,\n\tdef: def,\n\tdebounce: _debounce,\n\tindexOf: indexOf,\n\tcancellable: cancellable,\n\tlooseEqual: looseEqual,\n\tisArray: isArray,\n\thasProto: hasProto,\n\tinBrowser: inBrowser,\n\tdevtools: devtools,\n\tisIE9: isIE9,\n\tisAndroid: isAndroid,\n\tget transitionProp () { return transitionProp; },\n\tget transitionEndEvent () { return transitionEndEvent; },\n\tget animationProp () { return animationProp; },\n\tget animationEndEvent () { return animationEndEvent; },\n\tnextTick: nextTick,\n\tquery: query,\n\tinDoc: inDoc,\n\tgetAttr: getAttr,\n\tgetBindAttr: getBindAttr,\n\thasBindAttr: hasBindAttr,\n\tbefore: before,\n\tafter: after,\n\tremove: remove,\n\tprepend: prepend,\n\treplace: replace,\n\ton: on,\n\toff: off,\n\tsetClass: setClass,\n\taddClass: addClass,\n\tremoveClass: removeClass,\n\textractContent: extractContent,\n\ttrimNode: trimNode,\n\tisTemplate: isTemplate,\n\tcreateAnchor: createAnchor,\n\tfindRef: findRef,\n\tmapNodeRange: mapNodeRange,\n\tremoveNodeRange: removeNodeRange,\n\tisFragment: isFragment,\n\tgetOuterHTML: getOuterHTML,\n\tmergeOptions: mergeOptions,\n\tresolveAsset: resolveAsset,\n\tassertAsset: assertAsset,\n\tcheckComponentAttr: checkComponentAttr,\n\tinitProp: initProp,\n\tassertProp: assertProp,\n\tcoerceProp: coerceProp,\n\tcommonTagRE: commonTagRE,\n\treservedTagRE: reservedTagRE,\n\tget warn () { return warn; }\n});\n\nvar uid = 0;\n\nfunction initMixin (Vue) {\n /**\n * The main init sequence. This is called for every\n * instance, including ones that are created from extended\n * constructors.\n *\n * @param {Object} options - this options object should be\n * the result of merging class\n * options and the options passed\n * in to the constructor.\n */\n\n Vue.prototype._init = function (options) {\n options = options || {};\n\n this.$el = null;\n this.$parent = options.parent;\n this.$root = this.$parent ? this.$parent.$root : this;\n this.$children = [];\n this.$refs = {}; // child vm references\n this.$els = {}; // element references\n this._watchers = []; // all watchers as an array\n this._directives = []; // all directives\n\n // a uid\n this._uid = uid++;\n\n // a flag to avoid this being observed\n this._isVue = true;\n\n // events bookkeeping\n this._events = {}; // registered callbacks\n this._eventsCount = {}; // for $broadcast optimization\n\n // fragment instance properties\n this._isFragment = false;\n this._fragment = // @type {DocumentFragment}\n this._fragmentStart = // @type {Text|Comment}\n this._fragmentEnd = null; // @type {Text|Comment}\n\n // lifecycle state\n this._isCompiled = this._isDestroyed = this._isReady = this._isAttached = this._isBeingDestroyed = this._vForRemoving = false;\n this._unlinkFn = null;\n\n // context:\n // if this is a transcluded component, context\n // will be the common parent vm of this instance\n // and its host.\n this._context = options._context || this.$parent;\n\n // scope:\n // if this is inside an inline v-for, the scope\n // will be the intermediate scope created for this\n // repeat fragment. this is used for linking props\n // and container directives.\n this._scope = options._scope;\n\n // fragment:\n // if this instance is compiled inside a Fragment, it\n // needs to reigster itself as a child of that fragment\n // for attach/detach to work properly.\n this._frag = options._frag;\n if (this._frag) {\n this._frag.children.push(this);\n }\n\n // push self into parent / transclusion host\n if (this.$parent) {\n this.$parent.$children.push(this);\n }\n\n // save raw constructor data before merge\n // so that we know which properties are provided at\n // instantiation.\n if (process.env.NODE_ENV !== 'production') {\n this._runtimeData = options.data;\n }\n\n // merge options.\n options = this.$options = mergeOptions(this.constructor.options, options, this);\n\n // set ref\n this._updateRef();\n\n // initialize data as empty object.\n // it will be filled up in _initScope().\n this._data = {};\n\n // call init hook\n this._callHook('init');\n\n // initialize data observation and scope inheritance.\n this._initState();\n\n // setup event system and option events.\n this._initEvents();\n\n // call created hook\n this._callHook('created');\n\n // if `el` option is passed, start compilation.\n if (options.el) {\n this.$mount(options.el);\n }\n };\n}\n\nvar pathCache = new Cache(1000);\n\n// actions\nvar APPEND = 0;\nvar PUSH = 1;\nvar INC_SUB_PATH_DEPTH = 2;\nvar PUSH_SUB_PATH = 3;\n\n// states\nvar BEFORE_PATH = 0;\nvar IN_PATH = 1;\nvar BEFORE_IDENT = 2;\nvar IN_IDENT = 3;\nvar IN_SUB_PATH = 4;\nvar IN_SINGLE_QUOTE = 5;\nvar IN_DOUBLE_QUOTE = 6;\nvar AFTER_PATH = 7;\nvar ERROR = 8;\n\nvar pathStateMachine = [];\n\npathStateMachine[BEFORE_PATH] = {\n 'ws': [BEFORE_PATH],\n 'ident': [IN_IDENT, APPEND],\n '[': [IN_SUB_PATH],\n 'eof': [AFTER_PATH]\n};\n\npathStateMachine[IN_PATH] = {\n 'ws': [IN_PATH],\n '.': [BEFORE_IDENT],\n '[': [IN_SUB_PATH],\n 'eof': [AFTER_PATH]\n};\n\npathStateMachine[BEFORE_IDENT] = {\n 'ws': [BEFORE_IDENT],\n 'ident': [IN_IDENT, APPEND]\n};\n\npathStateMachine[IN_IDENT] = {\n 'ident': [IN_IDENT, APPEND],\n '0': [IN_IDENT, APPEND],\n 'number': [IN_IDENT, APPEND],\n 'ws': [IN_PATH, PUSH],\n '.': [BEFORE_IDENT, PUSH],\n '[': [IN_SUB_PATH, PUSH],\n 'eof': [AFTER_PATH, PUSH]\n};\n\npathStateMachine[IN_SUB_PATH] = {\n \"'\": [IN_SINGLE_QUOTE, APPEND],\n '\"': [IN_DOUBLE_QUOTE, APPEND],\n '[': [IN_SUB_PATH, INC_SUB_PATH_DEPTH],\n ']': [IN_PATH, PUSH_SUB_PATH],\n 'eof': ERROR,\n 'else': [IN_SUB_PATH, APPEND]\n};\n\npathStateMachine[IN_SINGLE_QUOTE] = {\n \"'\": [IN_SUB_PATH, APPEND],\n 'eof': ERROR,\n 'else': [IN_SINGLE_QUOTE, APPEND]\n};\n\npathStateMachine[IN_DOUBLE_QUOTE] = {\n '\"': [IN_SUB_PATH, APPEND],\n 'eof': ERROR,\n 'else': [IN_DOUBLE_QUOTE, APPEND]\n};\n\n/**\n * Determine the type of a character in a keypath.\n *\n * @param {Char} ch\n * @return {String} type\n */\n\nfunction getPathCharType(ch) {\n if (ch === undefined) {\n return 'eof';\n }\n\n var code = ch.charCodeAt(0);\n\n switch (code) {\n case 0x5B: // [\n case 0x5D: // ]\n case 0x2E: // .\n case 0x22: // \"\n case 0x27: // '\n case 0x30:\n // 0\n return ch;\n\n case 0x5F: // _\n case 0x24:\n // $\n return 'ident';\n\n case 0x20: // Space\n case 0x09: // Tab\n case 0x0A: // Newline\n case 0x0D: // Return\n case 0xA0: // No-break space\n case 0xFEFF: // Byte Order Mark\n case 0x2028: // Line Separator\n case 0x2029:\n // Paragraph Separator\n return 'ws';\n }\n\n // a-z, A-Z\n if (code >= 0x61 && code <= 0x7A || code >= 0x41 && code <= 0x5A) {\n return 'ident';\n }\n\n // 1-9\n if (code >= 0x31 && code <= 0x39) {\n return 'number';\n }\n\n return 'else';\n}\n\n/**\n * Format a subPath, return its plain form if it is\n * a literal string or number. Otherwise prepend the\n * dynamic indicator (*).\n *\n * @param {String} path\n * @return {String}\n */\n\nfunction formatSubPath(path) {\n var trimmed = path.trim();\n // invalid leading 0\n if (path.charAt(0) === '0' && isNaN(path)) {\n return false;\n }\n return isLiteral(trimmed) ? stripQuotes(trimmed) : '*' + trimmed;\n}\n\n/**\n * Parse a string path into an array of segments\n *\n * @param {String} path\n * @return {Array|undefined}\n */\n\nfunction parse(path) {\n var keys = [];\n var index = -1;\n var mode = BEFORE_PATH;\n var subPathDepth = 0;\n var c, newChar, key, type, transition, action, typeMap;\n\n var actions = [];\n\n actions[PUSH] = function () {\n if (key !== undefined) {\n keys.push(key);\n key = undefined;\n }\n };\n\n actions[APPEND] = function () {\n if (key === undefined) {\n key = newChar;\n } else {\n key += newChar;\n }\n };\n\n actions[INC_SUB_PATH_DEPTH] = function () {\n actions[APPEND]();\n subPathDepth++;\n };\n\n actions[PUSH_SUB_PATH] = function () {\n if (subPathDepth > 0) {\n subPathDepth--;\n mode = IN_SUB_PATH;\n actions[APPEND]();\n } else {\n subPathDepth = 0;\n key = formatSubPath(key);\n if (key === false) {\n return false;\n } else {\n actions[PUSH]();\n }\n }\n };\n\n function maybeUnescapeQuote() {\n var nextChar = path[index + 1];\n if (mode === IN_SINGLE_QUOTE && nextChar === \"'\" || mode === IN_DOUBLE_QUOTE && nextChar === '\"') {\n index++;\n newChar = '\\\\' + nextChar;\n actions[APPEND]();\n return true;\n }\n }\n\n while (mode != null) {\n index++;\n c = path[index];\n\n if (c === '\\\\' && maybeUnescapeQuote()) {\n continue;\n }\n\n type = getPathCharType(c);\n typeMap = pathStateMachine[mode];\n transition = typeMap[type] || typeMap['else'] || ERROR;\n\n if (transition === ERROR) {\n return; // parse error\n }\n\n mode = transition[0];\n action = actions[transition[1]];\n if (action) {\n newChar = transition[2];\n newChar = newChar === undefined ? c : newChar;\n if (action() === false) {\n return;\n }\n }\n\n if (mode === AFTER_PATH) {\n keys.raw = path;\n return keys;\n }\n }\n}\n\n/**\n * External parse that check for a cache hit first\n *\n * @param {String} path\n * @return {Array|undefined}\n */\n\nfunction parsePath(path) {\n var hit = pathCache.get(path);\n if (!hit) {\n hit = parse(path);\n if (hit) {\n pathCache.put(path, hit);\n }\n }\n return hit;\n}\n\n/**\n * Get from an object from a path string\n *\n * @param {Object} obj\n * @param {String} path\n */\n\nfunction getPath(obj, path) {\n return parseExpression(path).get(obj);\n}\n\n/**\n * Warn against setting non-existent root path on a vm.\n */\n\nvar warnNonExistent;\nif (process.env.NODE_ENV !== 'production') {\n warnNonExistent = function (path) {\n warn('You are setting a non-existent path \"' + path.raw + '\" ' + 'on a vm instance. Consider pre-initializing the property ' + 'with the \"data\" option for more reliable reactivity ' + 'and better performance.');\n };\n}\n\n/**\n * Set on an object from a path\n *\n * @param {Object} obj\n * @param {String | Array} path\n * @param {*} val\n */\n\nfunction setPath(obj, path, val) {\n var original = obj;\n if (typeof path === 'string') {\n path = parse(path);\n }\n if (!path || !isObject(obj)) {\n return false;\n }\n var last, key;\n for (var i = 0, l = path.length; i < l; i++) {\n last = obj;\n key = path[i];\n if (key.charAt(0) === '*') {\n key = parseExpression(key.slice(1)).get.call(original, original);\n }\n if (i < l - 1) {\n obj = obj[key];\n if (!isObject(obj)) {\n obj = {};\n if (process.env.NODE_ENV !== 'production' && last._isVue) {\n warnNonExistent(path);\n }\n set(last, key, obj);\n }\n } else {\n if (isArray(obj)) {\n obj.$set(key, val);\n } else if (key in obj) {\n obj[key] = val;\n } else {\n if (process.env.NODE_ENV !== 'production' && obj._isVue) {\n warnNonExistent(path);\n }\n set(obj, key, val);\n }\n }\n }\n return true;\n}\n\nvar path = Object.freeze({\n parsePath: parsePath,\n getPath: getPath,\n setPath: setPath\n});\n\nvar expressionCache = new Cache(1000);\n\nvar allowedKeywords = 'Math,Date,this,true,false,null,undefined,Infinity,NaN,' + 'isNaN,isFinite,decodeURI,decodeURIComponent,encodeURI,' + 'encodeURIComponent,parseInt,parseFloat';\nvar allowedKeywordsRE = new RegExp('^(' + allowedKeywords.replace(/,/g, '\\\\b|') + '\\\\b)');\n\n// keywords that don't make sense inside expressions\nvar improperKeywords = 'break,case,class,catch,const,continue,debugger,default,' + 'delete,do,else,export,extends,finally,for,function,if,' + 'import,in,instanceof,let,return,super,switch,throw,try,' + 'var,while,with,yield,enum,await,implements,package,' + 'proctected,static,interface,private,public';\nvar improperKeywordsRE = new RegExp('^(' + improperKeywords.replace(/,/g, '\\\\b|') + '\\\\b)');\n\nvar wsRE = /\\s/g;\nvar newlineRE = /\\n/g;\nvar saveRE = /[\\{,]\\s*[\\w\\$_]+\\s*:|('(?:[^'\\\\]|\\\\.)*'|\"(?:[^\"\\\\]|\\\\.)*\"|`(?:[^`\\\\]|\\\\.)*\\$\\{|\\}(?:[^`\\\\]|\\\\.)*`|`(?:[^`\\\\]|\\\\.)*`)|new |typeof |void /g;\nvar restoreRE = /\"(\\d+)\"/g;\nvar pathTestRE = /^[A-Za-z_$][\\w$]*(?:\\.[A-Za-z_$][\\w$]*|\\['.*?'\\]|\\[\".*?\"\\]|\\[\\d+\\]|\\[[A-Za-z_$][\\w$]*\\])*$/;\nvar identRE = /[^\\w$\\.](?:[A-Za-z_$][\\w$]*)/g;\nvar booleanLiteralRE = /^(?:true|false)$/;\n\n/**\n * Save / Rewrite / Restore\n *\n * When rewriting paths found in an expression, it is\n * possible for the same letter sequences to be found in\n * strings and Object literal property keys. Therefore we\n * remove and store these parts in a temporary array, and\n * restore them after the path rewrite.\n */\n\nvar saved = [];\n\n/**\n * Save replacer\n *\n * The save regex can match two possible cases:\n * 1. An opening object literal\n * 2. A string\n * If matched as a plain string, we need to escape its\n * newlines, since the string needs to be preserved when\n * generating the function body.\n *\n * @param {String} str\n * @param {String} isString - str if matched as a string\n * @return {String} - placeholder with index\n */\n\nfunction save(str, isString) {\n var i = saved.length;\n saved[i] = isString ? str.replace(newlineRE, '\\\\n') : str;\n return '\"' + i + '\"';\n}\n\n/**\n * Path rewrite replacer\n *\n * @param {String} raw\n * @return {String}\n */\n\nfunction rewrite(raw) {\n var c = raw.charAt(0);\n var path = raw.slice(1);\n if (allowedKeywordsRE.test(path)) {\n return raw;\n } else {\n path = path.indexOf('\"') > -1 ? path.replace(restoreRE, restore) : path;\n return c + 'scope.' + path;\n }\n}\n\n/**\n * Restore replacer\n *\n * @param {String} str\n * @param {String} i - matched save index\n * @return {String}\n */\n\nfunction restore(str, i) {\n return saved[i];\n}\n\n/**\n * Rewrite an expression, prefixing all path accessors with\n * `scope.` and generate getter/setter functions.\n *\n * @param {String} exp\n * @return {Function}\n */\n\nfunction compileGetter(exp) {\n if (improperKeywordsRE.test(exp)) {\n process.env.NODE_ENV !== 'production' && warn('Avoid using reserved keywords in expression: ' + exp);\n }\n // reset state\n saved.length = 0;\n // save strings and object literal keys\n var body = exp.replace(saveRE, save).replace(wsRE, '');\n // rewrite all paths\n // pad 1 space here becaue the regex matches 1 extra char\n body = (' ' + body).replace(identRE, rewrite).replace(restoreRE, restore);\n return makeGetterFn(body);\n}\n\n/**\n * Build a getter function. Requires eval.\n *\n * We isolate the try/catch so it doesn't affect the\n * optimization of the parse function when it is not called.\n *\n * @param {String} body\n * @return {Function|undefined}\n */\n\nfunction makeGetterFn(body) {\n try {\n /* eslint-disable no-new-func */\n return new Function('scope', 'return ' + body + ';');\n /* eslint-enable no-new-func */\n } catch (e) {\n process.env.NODE_ENV !== 'production' && warn('Invalid expression. ' + 'Generated function body: ' + body);\n }\n}\n\n/**\n * Compile a setter function for the expression.\n *\n * @param {String} exp\n * @return {Function|undefined}\n */\n\nfunction compileSetter(exp) {\n var path = parsePath(exp);\n if (path) {\n return function (scope, val) {\n setPath(scope, path, val);\n };\n } else {\n process.env.NODE_ENV !== 'production' && warn('Invalid setter expression: ' + exp);\n }\n}\n\n/**\n * Parse an expression into re-written getter/setters.\n *\n * @param {String} exp\n * @param {Boolean} needSet\n * @return {Function}\n */\n\nfunction parseExpression(exp, needSet) {\n exp = exp.trim();\n // try cache\n var hit = expressionCache.get(exp);\n if (hit) {\n if (needSet && !hit.set) {\n hit.set = compileSetter(hit.exp);\n }\n return hit;\n }\n var res = { exp: exp };\n res.get = isSimplePath(exp) && exp.indexOf('[') < 0\n // optimized super simple getter\n ? makeGetterFn('scope.' + exp)\n // dynamic getter\n : compileGetter(exp);\n if (needSet) {\n res.set = compileSetter(exp);\n }\n expressionCache.put(exp, res);\n return res;\n}\n\n/**\n * Check if an expression is a simple path.\n *\n * @param {String} exp\n * @return {Boolean}\n */\n\nfunction isSimplePath(exp) {\n return pathTestRE.test(exp) &&\n // don't treat true/false as paths\n !booleanLiteralRE.test(exp) &&\n // Math constants e.g. Math.PI, Math.E etc.\n exp.slice(0, 5) !== 'Math.';\n}\n\nvar expression = Object.freeze({\n parseExpression: parseExpression,\n isSimplePath: isSimplePath\n});\n\n// we have two separate queues: one for directive updates\n// and one for user watcher registered via $watch().\n// we want to guarantee directive updates to be called\n// before user watchers so that when user watchers are\n// triggered, the DOM would have already been in updated\n// state.\nvar queue = [];\nvar userQueue = [];\nvar has = {};\nvar circular = {};\nvar waiting = false;\nvar internalQueueDepleted = false;\n\n/**\n * Reset the batcher's state.\n */\n\nfunction resetBatcherState() {\n queue = [];\n userQueue = [];\n has = {};\n circular = {};\n waiting = internalQueueDepleted = false;\n}\n\n/**\n * Flush both queues and run the watchers.\n */\n\nfunction flushBatcherQueue() {\n runBatcherQueue(queue);\n internalQueueDepleted = true;\n runBatcherQueue(userQueue);\n // dev tool hook\n /* istanbul ignore if */\n if (devtools) {\n devtools.emit('flush');\n }\n resetBatcherState();\n}\n\n/**\n * Run the watchers in a single queue.\n *\n * @param {Array} queue\n */\n\nfunction runBatcherQueue(queue) {\n // do not cache length because more watchers might be pushed\n // as we run existing watchers\n for (var i = 0; i < queue.length; i++) {\n var watcher = queue[i];\n var id = watcher.id;\n has[id] = null;\n watcher.run();\n // in dev build, check and stop circular updates.\n if (process.env.NODE_ENV !== 'production' && has[id] != null) {\n circular[id] = (circular[id] || 0) + 1;\n if (circular[id] > config._maxUpdateCount) {\n queue.splice(has[id], 1);\n warn('You may have an infinite update loop for watcher ' + 'with expression: ' + watcher.expression);\n }\n }\n }\n}\n\n/**\n * Push a watcher into the watcher queue.\n * Jobs with duplicate IDs will be skipped unless it's\n * pushed when the queue is being flushed.\n *\n * @param {Watcher} watcher\n * properties:\n * - {Number} id\n * - {Function} run\n */\n\nfunction pushWatcher(watcher) {\n var id = watcher.id;\n if (has[id] == null) {\n // if an internal watcher is pushed, but the internal\n // queue is already depleted, we run it immediately.\n if (internalQueueDepleted && !watcher.user) {\n watcher.run();\n return;\n }\n // push watcher into appropriate queue\n var q = watcher.user ? userQueue : queue;\n has[id] = q.length;\n q.push(watcher);\n // queue the flush\n if (!waiting) {\n waiting = true;\n nextTick(flushBatcherQueue);\n }\n }\n}\n\nvar uid$2 = 0;\n\n/**\n * A watcher parses an expression, collects dependencies,\n * and fires callback when the expression value changes.\n * This is used for both the $watch() api and directives.\n *\n * @param {Vue} vm\n * @param {String} expression\n * @param {Function} cb\n * @param {Object} options\n * - {Array} filters\n * - {Boolean} twoWay\n * - {Boolean} deep\n * - {Boolean} user\n * - {Boolean} sync\n * - {Boolean} lazy\n * - {Function} [preProcess]\n * - {Function} [postProcess]\n * @constructor\n */\nfunction Watcher(vm, expOrFn, cb, options) {\n // mix in options\n if (options) {\n extend(this, options);\n }\n var isFn = typeof expOrFn === 'function';\n this.vm = vm;\n vm._watchers.push(this);\n this.expression = isFn ? expOrFn.toString() : expOrFn;\n this.cb = cb;\n this.id = ++uid$2; // uid for batching\n this.active = true;\n this.dirty = this.lazy; // for lazy watchers\n this.deps = Object.create(null);\n this.newDeps = null;\n this.prevError = null; // for async error stacks\n // parse expression for getter/setter\n if (isFn) {\n this.getter = expOrFn;\n this.setter = undefined;\n } else {\n var res = parseExpression(expOrFn, this.twoWay);\n this.getter = res.get;\n this.setter = res.set;\n }\n this.value = this.lazy ? undefined : this.get();\n // state for avoiding false triggers for deep and Array\n // watchers during vm._digest()\n this.queued = this.shallow = false;\n}\n\n/**\n * Add a dependency to this directive.\n *\n * @param {Dep} dep\n */\n\nWatcher.prototype.addDep = function (dep) {\n var id = dep.id;\n if (!this.newDeps[id]) {\n this.newDeps[id] = dep;\n if (!this.deps[id]) {\n this.deps[id] = dep;\n dep.addSub(this);\n }\n }\n};\n\n/**\n * Evaluate the getter, and re-collect dependencies.\n */\n\nWatcher.prototype.get = function () {\n this.beforeGet();\n var scope = this.scope || this.vm;\n var value;\n try {\n value = this.getter.call(scope, scope);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production' && config.warnExpressionErrors) {\n warn('Error when evaluating expression \"' + this.expression + '\". ' + (config.debug ? '' : 'Turn on debug mode to see stack trace.'), e);\n }\n }\n // \"touch\" every property so they are all tracked as\n // dependencies for deep watching\n if (this.deep) {\n traverse(value);\n }\n if (this.preProcess) {\n value = this.preProcess(value);\n }\n if (this.filters) {\n value = scope._applyFilters(value, null, this.filters, false);\n }\n if (this.postProcess) {\n value = this.postProcess(value);\n }\n this.afterGet();\n return value;\n};\n\n/**\n * Set the corresponding value with the setter.\n *\n * @param {*} value\n */\n\nWatcher.prototype.set = function (value) {\n var scope = this.scope || this.vm;\n if (this.filters) {\n value = scope._applyFilters(value, this.value, this.filters, true);\n }\n try {\n this.setter.call(scope, scope, value);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production' && config.warnExpressionErrors) {\n warn('Error when evaluating setter \"' + this.expression + '\"', e);\n }\n }\n // two-way sync for v-for alias\n var forContext = scope.$forContext;\n if (forContext && forContext.alias === this.expression) {\n if (forContext.filters) {\n process.env.NODE_ENV !== 'production' && warn('It seems you are using two-way binding on ' + 'a v-for alias (' + this.expression + '), and the ' + 'v-for has filters. This will not work properly. ' + 'Either remove the filters or use an array of ' + 'objects and bind to object properties instead.');\n return;\n }\n forContext._withLock(function () {\n if (scope.$key) {\n // original is an object\n forContext.rawValue[scope.$key] = value;\n } else {\n forContext.rawValue.$set(scope.$index, value);\n }\n });\n }\n};\n\n/**\n * Prepare for dependency collection.\n */\n\nWatcher.prototype.beforeGet = function () {\n Dep.target = this;\n this.newDeps = Object.create(null);\n};\n\n/**\n * Clean up for dependency collection.\n */\n\nWatcher.prototype.afterGet = function () {\n Dep.target = null;\n var ids = Object.keys(this.deps);\n var i = ids.length;\n while (i--) {\n var id = ids[i];\n if (!this.newDeps[id]) {\n this.deps[id].removeSub(this);\n }\n }\n this.deps = this.newDeps;\n};\n\n/**\n * Subscriber interface.\n * Will be called when a dependency changes.\n *\n * @param {Boolean} shallow\n */\n\nWatcher.prototype.update = function (shallow) {\n if (this.lazy) {\n this.dirty = true;\n } else if (this.sync || !config.async) {\n this.run();\n } else {\n // if queued, only overwrite shallow with non-shallow,\n // but not the other way around.\n this.shallow = this.queued ? shallow ? this.shallow : false : !!shallow;\n this.queued = true;\n // record before-push error stack in debug mode\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.debug) {\n this.prevError = new Error('[vue] async stack trace');\n }\n pushWatcher(this);\n }\n};\n\n/**\n * Batcher job interface.\n * Will be called by the batcher.\n */\n\nWatcher.prototype.run = function () {\n if (this.active) {\n var value = this.get();\n if (value !== this.value ||\n // Deep watchers and watchers on Object/Arrays should fire even\n // when the value is the same, because the value may\n // have mutated; but only do so if this is a\n // non-shallow update (caused by a vm digest).\n (isObject(value) || this.deep) && !this.shallow) {\n // set new value\n var oldValue = this.value;\n this.value = value;\n // in debug + async mode, when a watcher callbacks\n // throws, we also throw the saved before-push error\n // so the full cross-tick stack trace is available.\n var prevError = this.prevError;\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.debug && prevError) {\n this.prevError = null;\n try {\n this.cb.call(this.vm, value, oldValue);\n } catch (e) {\n nextTick(function () {\n throw prevError;\n }, 0);\n throw e;\n }\n } else {\n this.cb.call(this.vm, value, oldValue);\n }\n }\n this.queued = this.shallow = false;\n }\n};\n\n/**\n * Evaluate the value of the watcher.\n * This only gets called for lazy watchers.\n */\n\nWatcher.prototype.evaluate = function () {\n // avoid overwriting another watcher that is being\n // collected.\n var current = Dep.target;\n this.value = this.get();\n this.dirty = false;\n Dep.target = current;\n};\n\n/**\n * Depend on all deps collected by this watcher.\n */\n\nWatcher.prototype.depend = function () {\n var depIds = Object.keys(this.deps);\n var i = depIds.length;\n while (i--) {\n this.deps[depIds[i]].depend();\n }\n};\n\n/**\n * Remove self from all dependencies' subcriber list.\n */\n\nWatcher.prototype.teardown = function () {\n if (this.active) {\n // remove self from vm's watcher list\n // this is a somewhat expensive operation so we skip it\n // if the vm is being destroyed or is performing a v-for\n // re-render (the watcher list is then filtered by v-for).\n if (!this.vm._isBeingDestroyed && !this.vm._vForRemoving) {\n this.vm._watchers.$remove(this);\n }\n var depIds = Object.keys(this.deps);\n var i = depIds.length;\n while (i--) {\n this.deps[depIds[i]].removeSub(this);\n }\n this.active = false;\n this.vm = this.cb = this.value = null;\n }\n};\n\n/**\n * Recrusively traverse an object to evoke all converted\n * getters, so that every nested property inside the object\n * is collected as a \"deep\" dependency.\n *\n * @param {*} val\n */\n\nfunction traverse(val) {\n var i, keys;\n if (isArray(val)) {\n i = val.length;\n while (i--) traverse(val[i]);\n } else if (isObject(val)) {\n keys = Object.keys(val);\n i = keys.length;\n while (i--) traverse(val[keys[i]]);\n }\n}\n\nvar text$1 = {\n\n bind: function bind() {\n this.attr = this.el.nodeType === 3 ? 'data' : 'textContent';\n },\n\n update: function update(value) {\n this.el[this.attr] = _toString(value);\n }\n};\n\nvar templateCache = new Cache(1000);\nvar idSelectorCache = new Cache(1000);\n\nvar map = {\n efault: [0, '', ''],\n legend: [1, '
', '
'],\n tr: [2, '', '
'],\n col: [2, '', '
']\n};\n\nmap.td = map.th = [3, '', '
'];\n\nmap.option = map.optgroup = [1, ''];\n\nmap.thead = map.tbody = map.colgroup = map.caption = map.tfoot = [1, '', '
'];\n\nmap.g = map.defs = map.symbol = map.use = map.image = map.text = map.circle = map.ellipse = map.line = map.path = map.polygon = map.polyline = map.rect = [1, '', ''];\n\n/**\n * Check if a node is a supported template node with a\n * DocumentFragment content.\n *\n * @param {Node} node\n * @return {Boolean}\n */\n\nfunction isRealTemplate(node) {\n return isTemplate(node) && isFragment(node.content);\n}\n\nvar tagRE$1 = /<([\\w:]+)/;\nvar entityRE = /&#?\\w+?;/;\n\n/**\n * Convert a string template to a DocumentFragment.\n * Determines correct wrapping by tag types. Wrapping\n * strategy found in jQuery & component/domify.\n *\n * @param {String} templateString\n * @param {Boolean} raw\n * @return {DocumentFragment}\n */\n\nfunction stringToFragment(templateString, raw) {\n // try a cache hit first\n var cacheKey = raw ? templateString : templateString.trim();\n var hit = templateCache.get(cacheKey);\n if (hit) {\n return hit;\n }\n\n var frag = document.createDocumentFragment();\n var tagMatch = templateString.match(tagRE$1);\n var entityMatch = entityRE.test(templateString);\n\n if (!tagMatch && !entityMatch) {\n // text only, return a single text node.\n frag.appendChild(document.createTextNode(templateString));\n } else {\n var tag = tagMatch && tagMatch[1];\n var wrap = map[tag] || map.efault;\n var depth = wrap[0];\n var prefix = wrap[1];\n var suffix = wrap[2];\n var node = document.createElement('div');\n\n node.innerHTML = prefix + templateString + suffix;\n while (depth--) {\n node = node.lastChild;\n }\n\n var child;\n /* eslint-disable no-cond-assign */\n while (child = node.firstChild) {\n /* eslint-enable no-cond-assign */\n frag.appendChild(child);\n }\n }\n if (!raw) {\n trimNode(frag);\n }\n templateCache.put(cacheKey, frag);\n return frag;\n}\n\n/**\n * Convert a template node to a DocumentFragment.\n *\n * @param {Node} node\n * @return {DocumentFragment}\n */\n\nfunction nodeToFragment(node) {\n // if its a template tag and the browser supports it,\n // its content is already a document fragment.\n if (isRealTemplate(node)) {\n trimNode(node.content);\n return node.content;\n }\n // script template\n if (node.tagName === 'SCRIPT') {\n return stringToFragment(node.textContent);\n }\n // normal node, clone it to avoid mutating the original\n var clonedNode = cloneNode(node);\n var frag = document.createDocumentFragment();\n var child;\n /* eslint-disable no-cond-assign */\n while (child = clonedNode.firstChild) {\n /* eslint-enable no-cond-assign */\n frag.appendChild(child);\n }\n trimNode(frag);\n return frag;\n}\n\n// Test for the presence of the Safari template cloning bug\n// https://bugs.webkit.org/showug.cgi?id=137755\nvar hasBrokenTemplate = (function () {\n /* istanbul ignore else */\n if (inBrowser) {\n var a = document.createElement('div');\n a.innerHTML = '';\n return !a.cloneNode(true).firstChild.innerHTML;\n } else {\n return false;\n }\n})();\n\n// Test for IE10/11 textarea placeholder clone bug\nvar hasTextareaCloneBug = (function () {\n /* istanbul ignore else */\n if (inBrowser) {\n var t = document.createElement('textarea');\n t.placeholder = 't';\n return t.cloneNode(true).value === 't';\n } else {\n return false;\n }\n})();\n\n/**\n * 1. Deal with Safari cloning nested