Use ES6 Set to optimize for large arrays in _.uniq, _.difference, & _.intersection.

This commit is contained in:
John-David Dalton
2014-01-18 22:51:43 -08:00
parent 14099813f0
commit 55cbb12701
7 changed files with 238 additions and 514 deletions

159
dist/lodash.compat.js vendored
View File

@@ -86,7 +86,7 @@
/** Used to assign default `context` object properties */
var contextProps = [
'Array', 'Boolean', 'Date', 'Error', 'Function', 'Math', 'Number', 'Object',
'RegExp', 'String', '_', 'clearTimeout', 'document', 'isFinite', 'isNaN',
'RegExp', 'Set', 'String', '_', 'clearTimeout', 'document', 'isFinite', 'isNaN',
'parseInt', 'setTimeout', 'TypeError', 'window', 'WinRTError'
];
@@ -248,53 +248,7 @@
* @returns {number} Returns `0` if `value` is found, else `-1`.
*/
function cacheIndexOf(cache, value) {
var type = typeof value;
cache = cache.cache;
if (type == 'boolean' || value == null) {
return cache[value] ? 0 : -1;
}
if (type != 'number' && type != 'string') {
type = 'object';
}
var key = type == 'number' ? value : '_' + value;
cache = (cache = cache[type]) && cache[key];
return type == 'object'
? (cache && baseIndexOf(cache, value) > -1 ? 0 : -1)
: (cache ? 0 : -1);
}
/**
* Adds a given value to the corresponding cache object.
*
* @private
* @param {*} value The value to add to the cache.
*/
function cachePush(value) {
var cache = this.cache,
type = typeof value;
if (type == 'boolean' || value == null) {
cache[value] = true;
} else {
if (type != 'number' && type != 'string') {
type = 'object';
}
var key = type == 'number' ? value : '_' + value,
typeCache = cache[type] || (cache[type] = {});
if (type == 'object') {
var array = typeCache[key];
if (array) {
array.push(value);
} else {
typeCache[key] = [value];
}
} else {
typeCache[key] = true;
}
}
return cache.has(value) ? 0 : -1;
}
/**
@@ -388,38 +342,6 @@
return a.index - b.index;
}
/**
* Creates a cache object to optimize linear searches of large arrays.
*
* @private
* @param {Array} [array=[]] The array to search.
* @returns {null|Object} Returns the cache object or `null` if caching should not be used.
*/
function createCache(array) {
var index = -1,
length = array.length,
first = array[0],
mid = array[(length / 2) | 0],
last = array[length - 1];
if (first && typeof first == 'object' &&
mid && typeof mid == 'object' && last && typeof last == 'object') {
return false;
}
var cache = getObject();
cache['false'] = cache['null'] = cache['true'] = cache['undefined'] = false;
var result = getObject();
result.array = array;
result.cache = cache;
result.push = cachePush;
while (++index < length) {
result.push(array[index]);
}
return result;
}
/**
* Used by `escape` to convert characters to HTML entities.
*
@@ -461,18 +383,8 @@
*/
function getObject() {
return objectPool.pop() || {
'array': null,
'cache': null,
'criteria': null,
'false': false,
'index': 0,
'null': false,
'number': null,
'object': null,
'push': null,
'string': null,
'true': false,
'undefined': false,
'value': null
};
}
@@ -510,11 +422,7 @@
* @param {Object} object The object to release.
*/
function releaseObject(object) {
var cache = object.cache;
if (cache) {
releaseObject(cache);
}
object.array = object.cache = object.criteria = object.object = object.number = object.string = object.value = null;
object.criteria = object.value = null;
if (objectPool.length < MAX_POOL_SIZE) {
objectPool.push(object);
}
@@ -696,6 +604,7 @@
hasOwnProperty = objectProto.hasOwnProperty,
push = arrayRef.push,
propertyIsEnumerable = objectProto.propertyIsEnumerable,
Set = isNative(Set = context.Set) && Set,
setTimeout = context.setTimeout,
splice = arrayRef.splice,
unshift = arrayRef.unshift;
@@ -720,6 +629,7 @@
nativeKeys = isNative(nativeKeys = Object.keys) && nativeKeys,
nativeMax = Math.max,
nativeMin = Math.min,
nativeNow = isNative(nativeNow = Date.now) && nativeNow,
nativeParseInt = context.parseInt,
nativeRandom = Math.random,
nativeTrim = isNative(nativeTrim = stringProto.trim) && !nativeTrim.call(whitespace) && nativeTrim,
@@ -1409,17 +1319,11 @@
var index = -1,
indexOf = getIndexOf(),
length = array ? array.length : 0,
isLarge = length >= LARGE_ARRAY_SIZE && indexOf === baseIndexOf,
result = [];
if (isLarge) {
var cache = createCache(values);
if (cache) {
indexOf = cacheIndexOf;
values = cache;
} else {
isLarge = false;
}
if (Set && length >= LARGE_ARRAY_SIZE && indexOf === baseIndexOf) {
indexOf = cacheIndexOf;
values = createCache(values);
}
while (++index < length) {
var value = array[index];
@@ -1427,9 +1331,6 @@
result.push(value);
}
}
if (isLarge) {
releaseObject(values);
}
return result;
}
@@ -1775,15 +1676,14 @@
var index = -1,
indexOf = getIndexOf(),
length = array ? array.length : 0,
isLarge = Set && !isSorted && length >= LARGE_ARRAY_SIZE && indexOf === baseIndexOf,
result = [];
var isLarge = !isSorted && length >= LARGE_ARRAY_SIZE && indexOf === baseIndexOf,
seen = (callback || isLarge) ? getArray() : result;
if (isLarge) {
var cache = createCache(seen);
var seen = createCache();
indexOf = cacheIndexOf;
seen = cache;
} else {
seen = callback ? getArray() : result;
}
while (++index < length) {
var value = array[index],
@@ -1799,10 +1699,7 @@
result.push(value);
}
}
if (isLarge) {
releaseArray(seen.array);
releaseObject(seen);
} else if (callback) {
if (!isLarge && callback) {
releaseArray(seen);
}
return result;
@@ -1840,6 +1737,24 @@
};
}
/**
* Creates a cache object to optimize linear searches of large arrays.
*
* @private
* @param {Array} [array=[]] The array to search.
* @returns {Object} Returns the cache object.
*/
function createCache(array) {
var cache = new Set,
length = array ? array.length : 0;
cache.push = cache.add;
while (length--) {
cache.push(array[length]);
}
return cache;
}
/**
* Creates a function that, when called, either curries or invokes `func`
* with an optional `this` binding and partially applied arguments.
@@ -2490,14 +2405,14 @@
argsLength = arguments.length,
caches = getArray(),
indexOf = getIndexOf(),
trustIndexOf = indexOf === baseIndexOf,
largePrereq = Set && indexOf === baseIndexOf,
seen = getArray();
while (++argsIndex < argsLength) {
var value = arguments[argsIndex];
if (isArray(value) || isArguments(value)) {
args.push(value);
caches.push(trustIndexOf && value.length >= LARGE_ARRAY_SIZE &&
caches.push(largePrereq && value.length >= LARGE_ARRAY_SIZE &&
createCache(argsIndex ? args[argsIndex] : seen));
}
}
@@ -2523,12 +2438,6 @@
result.push(value);
}
}
while (argsLength--) {
cache = caches[argsLength];
if (cache) {
releaseObject(cache);
}
}
releaseArray(caches);
releaseArray(seen);
return result;
@@ -7104,7 +7013,7 @@
* _.defer(function() { console.log(_.now() - stamp); });
* // => logs the number of milliseconds it took for the deferred function to be called
*/
var now = isNative(now = Date.now) && now || function() {
var now = nativeNow || function() {
return new Date().getTime();
};

View File

@@ -3,62 +3,60 @@
* Lo-Dash 2.4.1 (Custom Build) lodash.com/license | Underscore.js 1.5.2 underscorejs.org/LICENSE
* Build: `lodash -o ./dist/lodash.compat.js`
*/
;(function(){function n(n,t){if(n!==t){if(n>t||typeof n=="undefined")return 1;if(n<t||typeof t=="undefined")return-1}return 0}function t(n,t,r){r=(r||0)-1;for(var e=n?n.length:0;++r<e;)if(n[r]===t)return r;return-1}function r(n,r){var e=typeof r;return n=n.h,"boolean"==e||null==r?n[r]?0:-1:("number"!=e&&"string"!=e&&(e="object"),n=(n=n[e])&&n["number"==e?r:"_"+r],"object"==e?n&&-1<t(n,r)?0:-1:n?0:-1)}function e(n){var t=this.h,r=typeof n;if("boolean"==r||null==n)t[n]=true;else{"number"!=r&&"string"!=r&&(r="object");
var e="number"==r?n:"_"+n,t=t[r]||(t[r]={});"object"==r?(r=t[e])?r.push(n):t[e]=[n]:t[e]=true}}function u(n){return n.charCodeAt(0)}function o(n,t){for(var r=-1,e=n.length;++r<e&&0<=t.indexOf(n.charAt(r)););return r}function a(n,t){for(var r=n.length;r--&&0<=t.indexOf(n.charAt(r)););return r}function i(t,r){return n(t.i,r.i)||t.j-r.j}function l(t,r){for(var e=t.i,u=r.i,o=-1,a=e.length;++o<a;){var i=n(e[o],u[o]);if(i)return i}return t.j-r.j}function f(n){var t=-1,r=n.length,u=n[0],o=n[r/2|0],a=n[r-1];
if(u&&typeof u=="object"&&o&&typeof o=="object"&&a&&typeof a=="object")return false;for(u=g(),u["false"]=u["null"]=u["true"]=u.undefined=false,o=g(),o.g=n,o.h=u,o.push=e;++t<r;)o.push(n[t]);return o}function c(n){return gt[n]}function p(n){return"\\"+yt[n]}function s(){return k.pop()||[]}function g(){return O.pop()||{g:null,h:null,i:null,"false":false,j:0,"null":false,number:null,object:null,push:null,string:null,"true":false,undefined:false,k:null}}function h(n){return typeof n.toString!="function"&&typeof(n+"")=="string"
}function v(n){n.length=0,k.length<P&&k.push(n)}function y(n){var t=n.h;t&&y(t),n.g=n.h=n.i=n.object=n.number=n.string=n.k=null,O.length<P&&O.push(n)}function m(n,t){return(n=null==n?"":n+"")?null==t?n.slice(_(n),w(n)+1):(t+="",n.slice(o(n,t),a(n,t)+1)):n}function d(n,t){return(n=null==n?"":n+"")?null==t?n.slice(_(n)):(t+="",n.slice(o(n,t))):n}function b(n,t){return(n=null==n?"":n+"")?null==t?n.slice(0,w(n)+1):(t+="",n.slice(0,a(n,t)+1)):n}function _(n){for(var t=-1,r=n.length;++t<r;){var e=n.charCodeAt(t);
if((160<e||9>e||13<e)&&32!=e&&160!=e&&5760!=e&&6158!=e&&(8192>e||8202<e&&8232!=e&&8233!=e&&8239!=e&&8287!=e&&12288!=e&&65279!=e))break}return t}function w(n){for(var t=n.length;t--;){var r=n.charCodeAt(t);if((160<r||9>r||13<r)&&32!=r&&160!=r&&5760!=r&&6158!=r&&(8192>r||8202<r&&8232!=r&&8233!=r&&8239!=r&&8287!=r&&12288!=r&&65279!=r))break}return t}function j(n){return ht[n]}function x(n){function e(n){return n&&typeof n=="object"&&!se(n)&&Dr.call(n,"__wrapped__")?n:new o(n)}function o(n,t){this.__chain__=!!t,this.__wrapped__=n
}function a(n){function t(){if(e){var n=It(e);Fr.apply(n,arguments)}if(this instanceof t){var o=w(r.prototype),n=r.apply(o,n||arguments);return ur(n)?n:o}return r.apply(u,n||arguments)}var r=n[0],e=n[2],u=n[4];return oe(t,n),t}function _(n,t,r,e,u){if(r){var o=r(n);if(typeof o!="undefined")return o}if(!ur(n))return n;var a=Sr.call(n);if(!ct[a]||!ue.nodeClass&&h(n))return n;var i=re[a];switch(a){case rt:case et:return new i(+n);case at:case ft:return new i(n);case lt:return o=i(n.source,V.exec(n)),o.lastIndex=n.lastIndex,o
}if(a=se(n),t){var l=!e;e||(e=s()),u||(u=s());for(var f=e.length;f--;)if(e[f]==n)return u[f];o=a?i(n.length):{}}else o=a?It(n):Qt({},n);return a&&(Dr.call(n,"index")&&(o.index=n.index),Dr.call(n,"input")&&(o.input=n.input)),t?(e.push(n),u.push(o),(a?gt:Zt)(n,function(n,a){o[a]=_(n,t,r,e,u)}),l&&(v(e),v(u)),o):o}function w(n){return ur(n)?Mr(n):{}}function k(n,t,r){if(typeof n!="function")return lr;if(typeof t=="undefined"||!("prototype"in n))return n;var e=n.__bindData__;if(typeof e=="undefined"&&(ue.funcNames&&(e=!n.name),e=e||!ue.funcDecomp,!e)){var u=Tr.call(n);
ue.funcNames||(e=!X.test(u)),e||(e=J.test(u),oe(n,e))}if(false===e||true!==e&&e[1]&q)return n;switch(r){case 1:return function(r){return n.call(t,r)};case 2:return function(r,e){return n.call(t,r,e)};case 3:return function(r,e,u){return n.call(t,r,e,u)};case 4:return function(r,e,u,o){return n.call(t,r,e,u,o)}}return Ht(n,t)}function O(n){function t(){var n=l?a:this;if(u){var g=It(u);Fr.apply(g,arguments)}return(o||c)&&(g||(g=It(arguments)),o&&Fr.apply(g,o),c&&g.length<i)?(e|=N,e&=~R,O([r,p?e:e&~(q|S),g,null,a,i])):(g||(g=arguments),f&&(r=n[s]),this instanceof t?(n=w(r.prototype),g=r.apply(n,g),ur(g)?g:n):r.apply(n,g))
}var r=n[0],e=n[1],u=n[2],o=n[3],a=n[4],i=n[5],l=e&q,f=e&S,c=e&A,p=e&I,s=r;return oe(t,n),t}function P(n,e){var u=-1,o=Ct(),a=n?n.length:0,i=a>=T&&o===t,l=[];if(i){var c=f(e);c?(o=r,e=c):i=false}for(;++u<a;)c=n[u],0>o(e,c)&&l.push(c);return i&&y(e),l}function gt(n,t,r){var e=-1,u=n,o=n?n.length:0;if(t=t&&typeof r=="undefined"?t:k(t,r,3),typeof o=="number")for(ue.unindexedChars&&ar(u)&&(u=u.split(""));++e<o&&false!==t(u[e],e,n););else Zt(n,t);return n}function ht(n,t,r,e){e=(e||0)-1;for(var u=n?n.length:0,o=[];++e<u;){var a=n[e];
if(a&&typeof a=="object"&&typeof a.length=="number"&&(se(a)||Et(a))){t||(a=ht(a,t,r));var i=-1,l=a.length,f=o.length;for(o.length+=l;++i<l;)o[f++]=a[i]}else r||o.push(a)}return o}function vt(n,t,r,e,u,o){if(r){var a=r(n,t);if(typeof a!="undefined")return!!a}if(n===t)return 0!==n||1/n==1/t;var i=typeof n,l=typeof t;if(n===n&&(!n||"function"!=i&&"object"!=i)&&(!t||"function"!=l&&"object"!=l))return false;if(null==n||null==t)return n===t;if(l=Sr.call(n),i=Sr.call(t),l==nt&&(l=it),i==nt&&(i=it),l!=i)return false;
switch(l){case rt:case et:return+n==+t;case at:return n!=+n?t!=+t:0==n?1/n==1/t:n==+t;case lt:case ft:return n==wr(t)}if(i=l==tt,!i){var f=Dr.call(n,"__wrapped__"),c=Dr.call(t,"__wrapped__");if(f||c)return vt(f?n.__wrapped__:n,c?t.__wrapped__:t,r,e,u,o);if(l!=it||!ue.nodeClass&&(h(n)||h(t)))return false;if(l=!ue.argsObject&&Et(n)?br:n.constructor,f=!ue.argsObject&&Et(t)?br:t.constructor,l!=f&&!(Dr.call(n,"constructor")&&Dr.call(t,"constructor")||er(l)&&l instanceof l&&er(f)&&f instanceof f)&&"constructor"in n&&"constructor"in t)return false
}for(l=!u,u||(u=s()),o||(o=s()),f=u.length;f--;)if(u[f]==n)return o[f]==t;var p=0,a=true;if(u.push(n),o.push(t),i){if(f=n.length,p=t.length,(a=p==f)||e)for(;p--;)if(i=f,c=t[p],e)for(;i--&&!(a=vt(n[i],c,r,e,u,o)););else if(!(a=vt(n[p],c,r,e,u,o)))break}else pe(t,function(t,i,l){return Dr.call(l,i)?(p++,a=Dr.call(n,i)&&vt(n[i],t,r,e,u,o)):void 0}),a&&!e&&pe(n,function(n,t,r){return Dr.call(r,t)?a=-1<--p:void 0});return u.pop(),o.pop(),l&&(v(u),v(o)),a}function yt(n,t,r,e,u){(se(t)?Wt:Zt)(t,function(t,o){var a,i,l=t,f=n[o];
if(t&&((i=se(t))||ge(t))){for(l=e.length;l--;)if(a=e[l]==t){f=u[l];break}if(!a){var c;r&&(l=r(f,t),c=typeof l!="undefined")&&(f=l),c||(f=i?se(f)?f:[]:ge(f)?f:{}),e.push(t),u.push(f),c||yt(f,t,r,e,u)}}else r&&(l=r(f,t),typeof l=="undefined"&&(l=t)),typeof l!="undefined"&&(f=l);n[o]=f})}function dt(n,t){return n+Rr(Yr()*(t-n+1))}function bt(n,e,u){var o=-1,a=Ct(),i=n?n.length:0,l=[],c=!e&&i>=T&&a===t,p=u||c?s():l;for(c&&(p=f(p),a=r);++o<i;){var g=n[o],h=u?u(g,o,n):g;(e?!o||p[p.length-1]!==h:0>a(p,h))&&((u||c)&&p.push(h),l.push(g))
}return c?(v(p.g),y(p)):u&&v(p),l}function wt(n){return function(t,r,u){var o={};if(r=e.createCallback(r,u,3),se(t)){u=-1;for(var a=t.length;++u<a;){var i=t[u];n(o,i,r(i,u,t),t)}}else gt(t,function(t,e,u){n(o,t,r(t,e,u),u)});return o}}function jt(n,t,r,e,u,o){var i=t&q,l=t&A,f=t&N,c=t&R;if(!(t&S||er(n)))throw new jr;f&&!r.length&&(t&=-17,f=r=false),c&&!e.length&&(t&=-33,c=e=false);var p=n&&n.__bindData__;return p&&true!==p?(p=It(p),p[2]&&(p[2]=It(p[2])),p[3]&&(p[3]=It(p[3])),!i||p[1]&q||(p[4]=u),!i&&p[1]&q&&(t|=8),!l||p[1]&A||(p[5]=o),f&&Fr.apply(p[2]||(p[2]=[]),r),c&&Wr.apply(p[3]||(p[3]=[]),e),p[1]|=t,jt.apply(null,p)):(t==q||t==(q|N)?a:O)([n,t,r,e,u,o])
}function xt(n){n.d=Z;var t=yr,r="return function("+n.a+"){",e="var s="+n.b+";if(!k(q)){return s}"+n.e+";";ue.nonEnumArgs&&(e+="var n=q.length;if(n&&j(q)){m=-1;while(++m<n){m+='';"+n.c+";}return s}"),ue.enumPrototypes&&(e+="var u=typeof q=='function';"),ue.enumErrorProps&&(e+="var t=q===g||q instanceof Error;");var u=[];if(ue.enumPrototypes&&u.push("!(u&&m=='prototype')"),ue.enumErrorProps&&u.push("!(t&&(m=='message'||m=='name'))"),e+="for(var m in q){",n.f&&u.push("h.call(q,m)"),u.length&&(e+="if("+u.join("&&")+"){"),e+=n.c+";",u.length&&(e+="}"),e+="}",ue.nonEnumShadows){for(e+="if(q!==r){var e=q.constructor,l=q===(e&&e.prototype),c=q===w?v:q===g?f:y.call(q),o=p[c];",u=0;7>u;u++)e+="m='"+n.d[u]+"';if((!(l&&o[m])&&h.call(q,m))",n.f||(e+="||(!o[m]&&q[m]!==r[m])"),e+="){"+n.c+"}";
e+="}"}return t("a,f,g,h,j,k,r,p,v,w,y",r+(e+"return s;")+"}")(k,ut,Cr,Dr,Et,ur,kr,ee,ft,Or,Sr)}function Ct(){var n=(n=e.indexOf)===St?t:n;return n}function kt(n){return typeof n=="function"&&Ar.test(Tr.call(n))}function Ot(n){var t,r;return!n||Sr.call(n)!=it||!Dr.call(n,"constructor")&&(t=n.constructor,er(t)&&!(t instanceof t))||!ue.argsClass&&Et(n)||!ue.nodeClass&&h(n)?false:ue.ownLast?(pe(n,function(n,t,e){return r=Dr.call(e,t),false}),false!==r):(pe(n,function(n,t){r=t}),typeof r=="undefined"||Dr.call(n,r))
}function Et(n){return n&&typeof n=="object"&&typeof n.length=="number"&&Sr.call(n)==nt||false}function qt(n,t,r){var u=0,o=n?n.length:0;if(typeof t!="number"&&null!=t){var a=-1;for(t=e.createCallback(t,r,3);++a<o&&t(n[a],a,n);)u++}else if(u=t,null==u||r)return n?n[0]:C;return It(n,0,0<u?u:0)}function St(n,r,e){var u=n?n.length:0;if(typeof e=="number")e=0>e?Hr(0,u+e):e||0;else if(e)return e=Nt(n,r),u&&n[e]===r?e:-1;return t(n,r,e)}function At(n,t,r){if(typeof t!="number"&&null!=t){var u=0,o=-1,a=n?n.length:0;
for(t=e.createCallback(t,r,3);++o<a&&t(n[o],o,n);)u++}else u=null==t||r?1:0<t?t:0;return It(n,u)}function It(n,t,r){var e=-1,u=n?n.length:0;for(typeof t=="undefined"?t=0:0>t?t=Hr(u+t,0):t>u&&(t=u),typeof r=="undefined"?r=u:0>r?r=Hr(u+r,0):r>u&&(r=u),u=r-t||0,r=gr(u);++e<u;)r[e]=n[t+e];return r}function Nt(n,t,r,u){var o=0,a=n?n.length:o;for(r=r?e.createCallback(r,u,1):lr,t=r(t);o<a;)u=o+a>>>1,r(n[u])<t?o=u+1:a=u;return o}function Rt(n,t,r,u){var o=typeof t;return"boolean"!=o&&null!=t&&(u=r,r=t,t=false,"number"!=o&&"string"!=o||!u||u[r]!==n||(r=null)),null!=r&&(r=e.createCallback(r,u,3)),bt(n,t,r)
}function Tt(){for(var n=1<arguments.length?arguments:arguments[0],t=-1,r=n?Mt(ce(n,"length")):0,e=gr(0>r?0:r);++t<r;)e[t]=ce(n,t);return e}function Pt(n,t){var r=-1,e=n?n.length:0,u={};for(t||!e||se(n[0])||(t=[]);++r<e;){var o=n[r];t?u[o]=t[r]:o&&(u[o[0]]=o[1])}return u}function Dt(){return this.__wrapped__}function Ft(n,t,r){var e=n?n.length:0;if(r=typeof r=="number"?r:0,typeof e=="number"){if(r>=e)return false;if(typeof n=="string"||!se(n)&&ar(n))return Kr?Kr.call(n,t,r):-1<n.indexOf(t,r);var u=Ct();
return r=(0>r?Hr(0,e+r):r)||0,-1<u(n,t,r)}var o=-1,a=false;return gt(n,function(n){return++o<r?void 0:!(a=n===t)}),a}function $t(n,t,r){var u=true;if(t=e.createCallback(t,r,3),se(n)){r=-1;for(var o=n.length;++r<o&&(u=!!t(n[r],r,n)););}else gt(n,function(n,r,e){return u=!!t(n,r,e)});return u}function Lt(n,t,r){var u=[];if(t=e.createCallback(t,r,3),se(n)){r=-1;for(var o=n.length;++r<o;){var a=n[r];t(a,r,n)&&u.push(a)}}else gt(n,function(n,r,e){t(n,r,e)&&u.push(n)});return u}function Bt(n,t,r){if(t=e.createCallback(t,r,3),!se(n)){var u;
return gt(n,function(n,r,e){return t(n,r,e)?(u=n,false):void 0}),u}r=-1;for(var o=n.length;++r<o;){var a=n[r];if(t(a,r,n))return a}}function Wt(n,t,r){if(t&&typeof r=="undefined"&&se(n)){r=-1;for(var e=n.length;++r<e&&false!==t(n[r],r,n););}else gt(n,t,r);return n}function zt(n,t,r){var e=n,u=n?n.length:0;if(t=t&&typeof r=="undefined"?t:k(t,r,3),se(n))for(;u--&&false!==t(n[u],u,n););else{if(typeof u!="number")var o=he(n),u=o.length;else ue.unindexedChars&&ar(n)&&(e=n.split(""));gt(e,function(r,a){return a=o?o[--u]:--u,t(e[a],a,n)
})}return n}function Kt(n,t,r){var u=-1,o=n?n.length:0,a=gr(typeof o=="number"?o:0);if(t=e.createCallback(t,r,3),se(n))for(;++u<o;)a[u]=t(n[u],u,n);else gt(n,function(n,r,e){a[++u]=t(n,r,e)});return a}function Mt(n,t,r){var o=-1/0,a=o,i=typeof t;if("number"!=i&&"string"!=i||!r||r[t]!==n||(t=null),null==t&&se(n))for(r=-1,i=n.length;++r<i;){var l=n[r];l>a&&(a=l)}else t=null==t&&ar(n)?u:e.createCallback(t,r,3),gt(n,function(n,r,e){r=t(n,r,e),r>o&&(o=r,a=n)});return a}function Ut(n,t,r,u){var o=3>arguments.length;
if(t=e.createCallback(t,u,4),se(n)){var a=-1,i=n.length;for(o&&i&&(r=n[++a]);++a<i;)r=t(r,n[a],a,n)}else gt(n,function(n,e,u){r=o?(o=false,n):t(r,n,e,u)});return r}function Vt(n,t,r,u){var o=3>arguments.length;return t=e.createCallback(t,u,4),zt(n,function(n,e,u){r=o?(o=false,n):t(r,n,e,u)}),r}function Xt(n){var t=-1,r=n?n.length:0,e=gr(typeof r=="number"?r:0);return Wt(n,function(n){var r=dt(0,++t);e[t]=e[r],e[r]=n}),e}function Gt(n,t,r){var u;if(t=e.createCallback(t,r,3),se(n)){r=-1;for(var o=n.length;++r<o&&!(u=t(n[r],r,n)););}else gt(n,function(n,r,e){return!(u=t(n,r,e))
});return!!u}function Ht(n,t){return 2<arguments.length?jt(n,q|N,It(arguments,2),null,t):jt(n,q,null,null,t)}function Jt(n,t,r){function e(){c&&Nr(c),a=c=p=C,(h||g!==t)&&(s=de(),i=n.apply(f,o),c||a||(o=f=null))}function u(){var r=t-(de()-l);0<r?c=Lr(u,r):(a&&Nr(a),r=p,a=c=p=C,r&&(s=de(),i=n.apply(f,o),c||a||(o=f=null)))}var o,a,i,l,f,c,p,s=0,g=false,h=true;if(!er(n))throw new jr;if(t=Hr(0,t)||0,true===r)var v=true,h=false;else ur(r)&&(v=r.leading,g="maxWait"in r&&(Hr(t,r.maxWait)||0),h="trailing"in r?r.trailing:h);
return function(){if(o=arguments,l=de(),f=this,p=h&&(c||!v),false===g)var r=v&&!c;else{a||v||(s=l);var y=g-(l-s),m=0>=y;m?(a&&(a=Nr(a)),s=l,i=n.apply(f,o)):a||(a=Lr(e,y))}return m&&c?c=Nr(c):c||t===g||(c=Lr(u,t)),r&&(m=true,i=n.apply(f,o)),!m||c||a||(o=f=null),i}}function Qt(n,t,r){var e=arguments,u=0,o=e.length,a=typeof r;if("number"!=a&&"string"!=a||!e[3]||e[3][r]!==t||(o=2),3<o&&"function"==typeof e[o-2])var i=k(e[--o-1],e[o--],2);else 2<o&&"function"==typeof e[o-1]&&(i=e[--o]);for(;++u<o;)if(t=e[u],ur(t))for(var a=-1,l=he(t),f=l.length;++a<f;){var c=l[a];
n[c]=i?i(n[c],t[c]):t[c]}return n}function Yt(n,t,r){var e=arguments,u=0,o=e.length,a=typeof r;for("number"!=a&&"string"!=a||!e[3]||e[3][r]!==t||(o=2);++u<o;)if(t=e[u],ur(t))for(var a=-1,i=he(t),l=i.length;++a<l;){var f=i[a];"undefined"==typeof n[f]&&(n[f]=t[f])}return n}function Zt(n,t,r){var e=-1,u=he(n),o=u.length;for(t=t&&typeof r=="undefined"?t:k(t,r,3);++e<o&&(r=u[e],false!==t(n[r],r,n)););return n}function nr(n,t,r){var e=he(n),u=e.length;for(t=k(t,r,3);u--&&(r=e[u],false!==t(n[r],r,n)););return n
}function tr(n){var t=[];return pe(n,function(n,r){er(n)&&t.push(r)}),t.sort()}function rr(n){return n&&typeof n=="object"&&1===n.nodeType&&(ue.nodeClass?-1<Sr.call(n).indexOf("Element"):h(n))||false}function er(n){return typeof n=="function"}function ur(n){var t=typeof n;return n&&("function"==t||"object"==t)||false}function or(n){var t=typeof n;return"number"==t||n&&"object"==t&&Sr.call(n)==at||false}function ar(n){return typeof n=="string"||n&&typeof n=="object"&&Sr.call(n)==ft||false}function ir(n){for(var t=-1,r=he(n),e=r.length,u=gr(e);++t<e;)u[t]=n[r[t]];
return u}function lr(n){return n}function fr(n){n||(n={});var t=he(n),r=t[0],e=n[r];return 1!=t.length||e!==e||ur(e)?function(r){for(var e=t.length,u=false;e--&&(u=vt(r[t[e]],n[t[e]],null,true)););return u}:function(n){return n=n[r],e===n&&(0!==e||1/e==1/n)}}function cr(n,t,r){var u=true,o=t&&tr(t);t&&(r||o.length)||(null==r&&(r=t),t=n,n=e,o=tr(t)),false===r?u=false:ur(r)&&"chain"in r&&(u=r.chain),r=-1;for(var a=er(n),i=o?o.length:0;++r<i;){var l=o[r],f=n[l]=t[l];a&&(n.prototype[l]=function(t){return function(){var r=this.__chain__,e=this.__wrapped__,o=[e];
if(Fr.apply(o,arguments),o=t.apply(n,o),u||r){if(e===o&&ur(o))return this;o=new n(o),o.__chain__=r}return o}}(f))}}function pr(){}function sr(n){return function(t){return t[n]}}n=n?_t.defaults(mt.Object(),n,_t.pick(mt,Y)):mt;var gr=n.Array,hr=n.Boolean,vr=n.Date,yr=n.Function,mr=n.Math,dr=n.Number,br=n.Object,_r=n.RegExp,wr=n.String,jr=n.TypeError,xr=gr.prototype,Cr=n.Error.prototype,kr=br.prototype,Or=wr.prototype,Er=(Er=n.window)&&Er.document,qr=n._,Sr=kr.toString,Ar=_r("^"+wr(Sr).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ir=mr.ceil,Nr=n.clearTimeout,Rr=mr.floor,Tr=yr.prototype.toString,Pr=kt(Pr=br.getPrototypeOf)&&Pr,Dr=kr.hasOwnProperty,Fr=xr.push,$r=kr.propertyIsEnumerable,Lr=n.setTimeout,Br=xr.splice,Wr=xr.unshift,zr=function(){try{var n={},t=kt(t=br.defineProperty)&&t,r=t(n,n,n)&&t
}catch(e){}return r}(),Kr=kt(Kr=Or.contains)&&Kr,Mr=kt(Mr=br.create)&&Mr,Ur=kt(Ur=gr.isArray)&&Ur,Vr=n.isFinite,Xr=n.isNaN,Gr=kt(Gr=br.keys)&&Gr,Hr=mr.max,Jr=mr.min,Qr=n.parseInt,Yr=mr.random,Zr=kt(Zr=Or.trim)&&!Zr.call(D)&&Zr,ne=kt(ne=Or.trimLeft)&&!ne.call(D)&&ne,te=kt(te=Or.trimRight)&&!te.call(D)&&te,re={};re[tt]=gr,re[rt]=hr,re[et]=vr,re[ot]=yr,re[it]=br,re[at]=dr,re[lt]=_r,re[ft]=wr;var ee={};ee[tt]=ee[et]=ee[at]={constructor:true,toLocaleString:true,toString:true,valueOf:true},ee[rt]=ee[ft]={constructor:true,toString:true,valueOf:true},ee[ut]=ee[ot]=ee[lt]={constructor:true,toString:true},ee[it]={constructor:true},function(){for(var n=Z.length;n--;){var t,r=Z[n];
for(t in ee)Dr.call(ee,t)&&!Dr.call(ee[t],r)&&(ee[t][r]=false)}}(),o.prototype=e.prototype;var ue=e.support={};!function(){function t(){this.x=1}var r={0:1,length:1},e=[];t.prototype={valueOf:1,y:1};for(var u in new t)e.push(u);for(u in arguments);ue.argsClass=Sr.call(arguments)==nt,ue.argsObject=arguments.constructor==br&&!(arguments instanceof gr),ue.enumErrorProps=$r.call(Cr,"message")||$r.call(Cr,"name"),ue.enumPrototypes=$r.call(t,"prototype"),ue.funcDecomp=!kt(n.WinRTError)&&J.test(x),ue.funcNames=typeof yr.name=="string",ue.nonEnumArgs=0!=u,ue.nonEnumShadows=!/valueOf/.test(e),ue.ownLast="x"!=e[0],ue.spliceObjects=(Br.call(r,0,1),!r[0]),ue.unindexedChars="xx"!="x"[0]+br("x")[0];
try{ue.dom=11===Er.createDocumentFragment().nodeType}catch(o){ue.dom=false}try{ue.nodeClass=!(Sr.call(undefined)==it&&!({toString:0}+""))}catch(a){ue.nodeClass=true}}(1),e.templateSettings={escape:z,evaluate:K,interpolate:M,variable:"",imports:{_:e}},Mr||(w=function(){function t(){}return function(r){if(ur(r)){t.prototype=r;var e=new t;t.prototype=null}return e||n.Object()}}());var oe=zr?function(n,t){st.value=t,zr(n,"__bindData__",st)}:pr;ue.argsClass||(Et=function(n){return n&&typeof n=="object"&&typeof n.length=="number"&&Dr.call(n,"callee")&&!$r.call(n,"callee")||false
});var ae=xt({a:"q",b:"[]",e:"",c:"s.push(m)",f:true}),ie=wt(function(n,t,r){Dr.call(n,r)?n[r]++:n[r]=1}),le=wt(function(n,t,r){Dr.call(n,r)?n[r].push(t):n[r]=[t]}),fe=wt(function(n,t,r){n[r]=t}),ce=Kt,pe=xt({a:"q,b,x",b:"q",e:"b=b&&typeof x=='undefined'?b:a(b,x,3)",c:"if(b(q[m],m,q)===false){return s}",f:false}),se=Ur||function(n){return n&&typeof n=="object"&&typeof n.length=="number"&&Sr.call(n)==tt||false};ue.dom||(rr=function(n){return n&&typeof n=="object"&&1===n.nodeType&&!ge(n)||false}),er(/x/)&&(er=function(n){return typeof n=="function"&&Sr.call(n)==ot
});var ge=Pr?function(n){if(!n||Sr.call(n)!=it||!ue.argsClass&&Et(n))return false;var t=n.valueOf,r=kt(t)&&(r=Pr(t))&&Pr(r);return r?n==r||Pr(n)==r:Ot(n)}:Ot,he=Gr?function(n){return ur(n)?ue.enumPrototypes&&typeof n=="function"||ue.nonEnumArgs&&n.length&&Et(n)?ae(n):Gr(n):[]}:ae,ve=Zr?function(n,t){return null==n?"":null==t?Zr.call(n):m(n,t)}:m,ye=ne?function(n,t){return null==n?"":null==t?ne.call(n):d(n,t)}:d,me=te?function(n,t){return null==n?"":null==t?te.call(n):b(n,t)}:b,de=kt(de=vr.now)&&de||function(){return(new vr).getTime()
},be=8==Qr(D+"08")?Qr:function(n,t){return n=ve(n),Qr(n,+t||(G.test(n)?16:10))};return e.after=function(n,t){if(!er(t))throw new jr;return function(){return 1>--n?t.apply(this,arguments):void 0}},e.assign=Qt,e.at=function(n,t){var r=arguments,e=-1,u=ht(r,true,false,1),o=u.length,a=typeof t;for("number"!=a&&"string"!=a||!r[2]||r[2][t]!==n||(o=1),ue.unindexedChars&&ar(n)&&(n=n.split("")),r=gr(o);++e<o;)r[e]=n[u[e]];return r},e.bind=Ht,e.bindAll=function(n){for(var t=1<arguments.length?ht(arguments,true,false,1):tr(n),r=-1,e=t.length;++r<e;){var u=t[r];
n[u]=jt(n[u],q,null,null,n)}return n},e.bindKey=function(n,t){return 2<arguments.length?jt(t,q|S|N,It(arguments,2),null,n):jt(t,q|S,null,null,n)},e.chain=function(n){return n=new o(n),n.__chain__=true,n},e.compact=function(n){for(var t=-1,r=n?n.length:0,e=0,u=[];++t<r;){var o=n[t];o&&(u[e++]=o)}return u},e.compose=function(){for(var n=arguments,t=n.length;t--;)if(!er(n[t]))throw new jr;return function(){for(var t=arguments,r=n.length;r--;)t=[n[r].apply(this,t)];return t[0]}},e.constant=function(n){return function(){return n
}},e.countBy=ie,e.create=function(n,t){var r=w(n);return t?Qt(r,t):r},e.createCallback=function(n,t,r){var e=typeof n;return null==n||"function"==e?k(n,t,r):"object"!=e?sr(n):fr(n)},e.curry=function(n,t){return t=typeof t=="number"?t:+t||n.length,jt(n,A,null,null,null,t)},e.debounce=Jt,e.defaults=Yt,e.defer=function(n){if(!er(n))throw new jr;var t=It(arguments,1);return Lr(function(){n.apply(C,t)},1)},e.delay=function(n,t){if(!er(n))throw new jr;var r=It(arguments,2);return Lr(function(){n.apply(C,r)
},t)},e.difference=function(n){return P(n,ht(arguments,true,true,1))},e.filter=Lt,e.flatten=function(n,t,r,e){var u=typeof t;return"boolean"!=u&&null!=t&&(e=r,r=t,t=false,"number"!=u&&"string"!=u||!e||e[r]!==n||(r=null)),null!=r&&(n=Kt(n,r,e)),ht(n,t)},e.forEach=Wt,e.forEachRight=zt,e.forIn=pe,e.forInRight=function(n,t,r){var e=[];pe(n,function(n,t){e.push(t,n)});var u=e.length;for(t=k(t,r,3);u--&&false!==t(e[u--],e[u],n););return n},e.forOwn=Zt,e.forOwnRight=nr,e.functions=tr,e.groupBy=le,e.indexBy=fe,e.initial=function(n,t,r){var u=0,o=n?n.length:0;
if(typeof t!="number"&&null!=t){var a=o;for(t=e.createCallback(t,r,3);a--&&t(n[a],a,n);)u++}else u=null==t||r?1:t||u;return u=o-u,It(n,0,0<u?u:0)},e.intersection=function(){for(var n=[],e=-1,u=arguments.length,o=s(),a=Ct(),i=a===t,l=s();++e<u;){var c=arguments[e];(se(c)||Et(c))&&(n.push(c),o.push(i&&c.length>=T&&f(e?n[e]:l)))}var i=n[0],p=-1,g=i?i.length:0,h=[];n:for(;++p<g;){var m=o[0],c=i[p];if(0>(m?r(m,c):a(l,c))){for(e=u,(m||l).push(c);--e;)if(m=o[e],0>(m?r(m,c):a(n[e],c)))continue n;h.push(c)
}}for(;u--;)(m=o[u])&&y(m);return v(o),v(l),h},e.invert=function(n,t){for(var r=-1,e=he(n),u=e.length,o={};++r<u;){var a=e[r],i=n[a];t?Dr.call(o,i)?o[i].push(a):o[i]=[a]:o[i]=a}return o},e.invoke=function(n,t){var r=It(arguments,2),e=-1,u=typeof t=="function",o=n?n.length:0,a=gr(typeof o=="number"?o:0);return Wt(n,function(n){a[++e]=(u?t:n[t]).apply(n,r)}),a},e.keys=he,e.map=Kt,e.mapValues=function(n,t,r){var u={};return t=e.createCallback(t,r,3),Zt(n,function(n,r,e){u[r]=t(n,r,e)}),u},e.match=fr,e.max=Mt,e.memoize=function(n,t){function r(){var e=r.cache,u=t?t.apply(this,arguments):"_"+arguments[0];
return Dr.call(e,u)?e[u]:e[u]=n.apply(this,arguments)}if(!er(n))throw new jr;return r.cache={},r},e.merge=function(n,t,r){if(!ur(n))return n;var e=arguments,u=e.length,o=typeof r;if("number"!=o&&"string"!=o||!e[3]||e[3][r]!==t||(u=2),3<u&&"function"==typeof e[u-2])var a=k(e[--u-1],e[u--],2);else 2<u&&"function"==typeof e[u-1]&&(a=e[--u]);for(var e=It(arguments,1,u),o=-1,i=s(),l=s();++o<u;)yt(n,e[o],a,i,l);return v(i),v(l),n},e.min=function(n,t,r){var o=1/0,a=o,i=typeof t;if("number"!=i&&"string"!=i||!r||r[t]!==n||(t=null),null==t&&se(n))for(r=-1,i=n.length;++r<i;){var l=n[r];
l<a&&(a=l)}else t=null==t&&ar(n)?u:e.createCallback(t,r,3),gt(n,function(n,r,e){r=t(n,r,e),r<o&&(o=r,a=n)});return a},e.omit=function(n,t,r){var u={};if(typeof t!="function"){var o=[];pe(n,function(n,t){o.push(t)});for(var o=P(o,ht(arguments,true,false,1)),a=-1,i=o.length;++a<i;){var l=o[a];u[l]=n[l]}}else t=e.createCallback(t,r,3),pe(n,function(n,r,e){t(n,r,e)||(u[r]=n)});return u},e.once=function(n){var t,r;if(!er(n))throw new jr;return function(){return t?r:(t=true,r=n.apply(this,arguments),n=null,r)
}},e.pairs=function(n){for(var t=-1,r=he(n),e=r.length,u=gr(e);++t<e;){var o=r[t];u[t]=[o,n[o]]}return u},e.partial=function(n){return jt(n,N,It(arguments,1))},e.partialRight=function(n){return jt(n,R,null,It(arguments,1))},e.pick=function(n,t,r){var u={};if(typeof t!="function")for(var o=-1,a=ht(arguments,true,false,1),i=ur(n)?a.length:0;++o<i;){var l=a[o];l in n&&(u[l]=n[l])}else t=e.createCallback(t,r,3),pe(n,function(n,r,e){t(n,r,e)&&(u[r]=n)});return u},e.pluck=ce,e.property=sr,e.pull=function(n){for(var t=arguments,r=0,e=t.length,u=n?n.length:0;++r<e;)for(var o=-1,a=t[r];++o<u;)n[o]===a&&(Br.call(n,o--,1),u--);
return n},e.range=function(n,t,r){n=+n||0,r=typeof r=="number"?r:+r||1,null==t&&(t=n,n=0);var e=-1;t=Hr(0,Ir((t-n)/(r||1)));for(var u=gr(t);++e<t;)u[e]=n,n+=r;return u},e.reject=function(n,t,r){return t=e.createCallback(t,r,3),Lt(n,function(n,r,e){return!t(n,r,e)})},e.remove=function(n,t,r){var u=-1,o=n?n.length:0,a=[];for(t=e.createCallback(t,r,3);++u<o;)r=n[u],t(r,u,n)&&(a.push(r),Br.call(n,u--,1),o--);return a},e.rest=At,e.shuffle=Xt,e.slice=It,e.sortBy=function(n,t,r){var u=-1,o=t&&se(t),a=n?n.length:0,f=gr(typeof a=="number"?a:0);
for(o||(t=e.createCallback(t,r,3)),Wt(n,function(n,r,e){var a=f[++u]=g();a.j=u,a.k=n,a.i=o?Kt(t,function(t){return n[t]}):t(n,r,e)}),a=f.length,f.sort(o?l:i);a--;)n=f[a],f[a]=n.k,y(n);return f},e.tap=function(n,t,r){return t.call(r,n),n},e.throttle=function(n,t,r){var e=true,u=true;if(!er(n))throw new jr;return false===r?e=false:ur(r)&&(e="leading"in r?r.leading:e,u="trailing"in r?r.trailing:u),pt.leading=e,pt.maxWait=t,pt.trailing=u,Jt(n,t,pt)},e.times=function(n,t,r){n=-1<(n=+n)?n:0;var e=-1,u=gr(n);for(t=k(t,r,1);++e<n;)u[e]=t(e);
return u},e.toArray=function(n){return n&&typeof n.length=="number"?ue.unindexedChars&&ar(n)?n.split(""):It(n):ir(n)},e.transform=function(n,t,r,u){var o=se(n);if(null==r)if(o)r=[];else{var a=n&&n.constructor;r=w(a&&a.prototype)}return t&&(t=e.createCallback(t,u,4),(o?gt:Zt)(n,function(n,e,u){return t(r,n,e,u)})),r},e.union=function(){return bt(ht(arguments,true,true))},e.uniq=Rt,e.values=ir,e.where=Lt,e.without=function(n){return P(n,It(arguments,1))},e.wrap=function(n,t){return jt(t,N,[n])},e.xor=function(){for(var n=-1,t=arguments.length;++n<t;){var r=arguments[n];
if(se(r)||Et(r))var e=e?P(e,r).concat(P(r,e)):r}return e?bt(e):[]},e.zip=Tt,e.zipObject=Pt,e.collect=Kt,e.drop=At,e.each=Wt,e.eachRight=zt,e.extend=Qt,e.methods=tr,e.object=Pt,e.select=Lt,e.tail=At,e.unique=Rt,e.unzip=Tt,cr(Qt({},e)),e.capitalize=function(n){return null==n?"":(n=wr(n),n.charAt(0).toUpperCase()+n.slice(1))},e.clone=function(n,t,r,e){var u=typeof t;return"boolean"!=u&&null!=t&&(e=r,r=t,t=false,"number"!=u&&"string"!=u||!e||e[r]!==n||(r=null)),_(n,t,typeof r=="function"&&k(r,e,1))},e.cloneDeep=function(n,t,r){return _(n,true,typeof t=="function"&&k(t,r,1))
},e.contains=Ft,e.escape=function(n){return null==n?"":wr(n).replace(W,c)},e.every=$t,e.find=Bt,e.findIndex=function(n,t,r){var u=-1,o=n?n.length:0;for(t=e.createCallback(t,r,3);++u<o;)if(t(n[u],u,n))return u;return-1},e.findKey=function(n,t,r){var u;return t=e.createCallback(t,r,3),Zt(n,function(n,r,e){return t(n,r,e)?(u=r,false):void 0}),u},e.findLast=function(n,t,r){var u;return t=e.createCallback(t,r,3),zt(n,function(n,r,e){return t(n,r,e)?(u=n,false):void 0}),u},e.findLastIndex=function(n,t,r){var u=n?n.length:0;
for(t=e.createCallback(t,r,3);u--;)if(t(n[u],u,n))return u;return-1},e.findLastKey=function(n,t,r){var u;return t=e.createCallback(t,r,3),nr(n,function(n,r,e){return t(n,r,e)?(u=r,false):void 0}),u},e.has=function(n,t){return n?Dr.call(n,t):false},e.identity=lr,e.indexOf=St,e.isArguments=Et,e.isArray=se,e.isBoolean=function(n){return true===n||false===n||n&&typeof n=="object"&&Sr.call(n)==rt||false},e.isDate=function(n){return n&&typeof n=="object"&&Sr.call(n)==et||false},e.isElement=rr,e.isEmpty=function(n){var t=true;
if(!n)return t;var r=Sr.call(n),e=n.length;return r==tt||r==ft||(ue.argsClass?r==nt:Et(n))||r==it&&typeof e=="number"&&er(n.splice)?!e:(Zt(n,function(){return t=false}),t)},e.isEqual=function(n,t,r,e){return vt(n,t,typeof r=="function"&&k(r,e,2))},e.isFinite=function(n){return Vr(n)&&!Xr(parseFloat(n))},e.isFunction=er,e.isNaN=function(n){return or(n)&&n!=+n},e.isNull=function(n){return null===n},e.isNumber=or,e.isObject=ur,e.isPlainObject=ge,e.isRegExp=function(n){var t=typeof n;return n&&("function"==t||"object"==t)&&Sr.call(n)==lt||false
},e.isString=ar,e.isUndefined=function(n){return typeof n=="undefined"},e.lastIndexOf=function(n,t,r){var e=n?n.length:0;for(typeof r=="number"&&(e=(0>r?Hr(0,e+r):Jr(r,e-1))+1);e--;)if(n[e]===t)return e;return-1},e.mixin=cr,e.noConflict=function(){return n._=qr,this},e.noop=pr,e.now=de,e.parseInt=be,e.random=function(n,t,r){var e=null==n,u=null==t;return null==r&&(u&&typeof n=="boolean"?(r=n,n=1):typeof t=="boolean"&&(r=t,u=true)),e&&u&&(t=1,u=false),n=+n||0,u?(t=n,n=0):t=+t||0,r||n%1||t%1?(r=Yr(),Jr(n+r*(t-n+parseFloat("1e-"+((r+"").length-1))),t)):dt(n,t)
},e.reduce=Ut,e.reduceRight=Vt,e.result=function(n,t,r){return null==n?r:(r="undefined"!=typeof n[t]?n[t]:r,er(r)?n[t]():r)},e.runInContext=x,e.size=function(n){var t=n?n.length:0;return typeof t=="number"?t:he(n).length},e.some=Gt,e.sortedIndex=Nt,e.template=function(n,t,r){var u=e.templateSettings;n=wr(n||""),r=Yt({},r,u);var o,a=Yt({},r.imports,u.imports),u=he(a),a=ir(a),i=0,l=r.interpolate||H,f="__p+='",l=_r((r.escape||H).source+"|"+l.source+"|"+(l===M?U:H).source+"|"+(r.evaluate||H).source+"|$","g");
n.replace(l,function(t,r,e,u,a,l){return e||(e=u),f+=n.slice(i,l).replace(Q,p),r&&(f+="'+__e("+r+")+'"),a&&(o=true,f+="';"+a+";\n__p+='"),e&&(f+="'+((__t=("+e+"))==null?'':__t)+'"),i=l+t.length,t}),f+="';",l=r=r.variable,l||(r="obj",f="with("+r+"){"+f+"}"),f=(o?f.replace(F,""):f).replace($,"$1").replace(L,"$1;"),f="function("+r+"){"+(l?"":r+"||("+r+"={});")+"var __t,__p='',__e=_.escape"+(o?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+f+"return __p}";try{var c=yr(u,"return "+f).apply(C,a)
}catch(s){throw s.source=f,s}return t?c(t):(c.source=f,c)},e.trim=ve,e.trimLeft=ye,e.trimRight=me,e.unescape=function(n){return null==n?"":(n=wr(n),0>n.indexOf(";")?n:n.replace(B,j))},e.uniqueId=function(n){var t=++E;return wr(null==n?"":n)+t},e.all=$t,e.any=Gt,e.detect=Bt,e.findWhere=Bt,e.foldl=Ut,e.foldr=Vt,e.include=Ft,e.inject=Ut,cr(function(){var n={};return Zt(e,function(t,r){e.prototype[r]||(n[r]=t)}),n}(),false),e.first=qt,e.last=function(n,t,r){var u=0,o=n?n.length:0;if(typeof t!="number"&&null!=t){var a=o;
for(t=e.createCallback(t,r,3);a--&&t(n[a],a,n);)u++}else if(u=t,null==u||r)return n?n[o-1]:C;return u=o-u,It(n,0<u?u:0)},e.sample=function(n,t,r){return n&&typeof n.length!="number"?n=ir(n):ue.unindexedChars&&ar(n)&&(n=n.split("")),null==t||r?n?n[dt(0,n.length-1)]:C:(n=Xt(n),n.length=Jr(Hr(0,t),n.length),n)},e.take=qt,e.head=qt,Zt(e,function(n,t){var r="sample"!==t;e.prototype[t]||(e.prototype[t]=function(t,e){var u=this.__chain__,a=n(this.__wrapped__,t,e);return u||null!=t&&(!e||r&&typeof t=="function")?new o(a,u):a
})}),e.VERSION="2.4.1",e.prototype.chain=function(){return this.__chain__=true,this},e.prototype.toString=function(){return wr(this.__wrapped__)},e.prototype.value=Dt,e.prototype.valueOf=Dt,gt(["join","pop","shift"],function(n){var t=xr[n];e.prototype[n]=function(){var n=this.__chain__,r=t.apply(this.__wrapped__,arguments);return n?new o(r,n):r}}),gt(["push","reverse","sort","unshift"],function(n){var t=xr[n];e.prototype[n]=function(){return t.apply(this.__wrapped__,arguments),this}}),gt(["concat","splice"],function(n){var t=xr[n];
e.prototype[n]=function(){return new o(t.apply(this.__wrapped__,arguments),this.__chain__)}}),ue.spliceObjects||gt(["pop","shift","splice"],function(n){var t=xr[n],r="splice"==n;e.prototype[n]=function(){var n=this.__chain__,e=this.__wrapped__,u=t.apply(e,arguments);return 0===e.length&&delete e[0],n||r?new o(u,n):u}}),e}var C,k=[],O=[],E=0,q=1,S=2,A=4,I=8,N=16,R=32,T=75,P=40,D=" \t\x0B\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000",F=/\b__p\+='';/g,$=/\b(__p\+=)''\+/g,L=/(__e\(.*?\)|\b__t\))\+'';/g,B=/&(?:amp|lt|gt|quot|#39);/g,W=/[&<>"']/g,z=/<%-([\s\S]+?)%>/g,K=/<%([\s\S]+?)%>/g,M=/<%=([\s\S]+?)%>/g,U=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,V=/\w*$/,X=/^\s*function[ \n\r\t]+\w/,G=/^0[xX]/,H=/($^)/,J=/\bthis\b/,Q=/['\n\r\t\u2028\u2029\\]/g,Y="Array Boolean Date Error Function Math Number Object RegExp String _ clearTimeout document isFinite isNaN parseInt setTimeout TypeError window WinRTError".split(" "),Z="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "),nt="[object Arguments]",tt="[object Array]",rt="[object Boolean]",et="[object Date]",ut="[object Error]",ot="[object Function]",at="[object Number]",it="[object Object]",lt="[object RegExp]",ft="[object String]",ct={};
ct[ot]=false,ct[nt]=ct[tt]=ct[rt]=ct[et]=ct[at]=ct[it]=ct[lt]=ct[ft]=true;var pt={leading:false,maxWait:0,trailing:false},st={configurable:false,enumerable:false,value:null,writable:false},gt={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},ht={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"},vt={"function":true,object:true},yt={"\\":"\\","'":"'","\n":"n","\r":"r","\t":"t","\u2028":"u2028","\u2029":"u2029"},mt=vt[typeof window]&&window||this,dt=vt[typeof exports]&&exports&&!exports.nodeType&&exports,bt=vt[typeof global]&&global;
!bt||bt.global!==bt&&bt.window!==bt||(mt=bt);var bt=(vt=vt[typeof module]&&module&&!module.nodeType&&module)&&vt.exports===dt&&dt,_t=x();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(mt._=_t, define(function(){return _t})):dt&&vt?bt?(vt.exports=_t)._=_t:dt._=_t:mt._=_t}).call(this);
;(function(){function n(n,t){if(n!==t){if(n>t||typeof n=="undefined")return 1;if(n<t||typeof t=="undefined")return-1}return 0}function t(n,t,r){r=(r||0)-1;for(var e=n?n.length:0;++r<e;)if(n[r]===t)return r;return-1}function r(n,t){return n.has(t)?0:-1}function e(n){return n.charCodeAt(0)}function u(n,t){for(var r=-1,e=n.length;++r<e&&0<=t.indexOf(n.charAt(r)););return r}function o(n,t){for(var r=n.length;r--&&0<=t.indexOf(n.charAt(r)););return r}function a(t,r){return n(t.i,r.i)||t.j-r.j}function i(t,r){for(var e=t.i,u=r.i,o=-1,a=e.length;++o<a;){var i=n(e[o],u[o]);
if(i)return i}return t.j-r.j}function l(n){return ct[n]}function f(n){return"\\"+gt[n]}function c(){return j.pop()||[]}function p(n){return typeof n.toString!="function"&&typeof(n+"")=="string"}function s(n){n.length=0,j.length<N&&j.push(n)}function g(n){n.i=n.k=null,x.length<N&&x.push(n)}function h(n,t){return(n=null==n?"":n+"")?null==t?n.slice(m(n),d(n)+1):(t+="",n.slice(u(n,t),o(n,t)+1)):n}function v(n,t){return(n=null==n?"":n+"")?null==t?n.slice(m(n)):(t+="",n.slice(u(n,t))):n}function y(n,t){return(n=null==n?"":n+"")?null==t?n.slice(0,d(n)+1):(t+="",n.slice(0,o(n,t)+1)):n
}function m(n){for(var t=-1,r=n.length;++t<r;){var e=n.charCodeAt(t);if((160<e||9>e||13<e)&&32!=e&&160!=e&&5760!=e&&6158!=e&&(8192>e||8202<e&&8232!=e&&8233!=e&&8239!=e&&8287!=e&&12288!=e&&65279!=e))break}return t}function d(n){for(var t=n.length;t--;){var r=n.charCodeAt(t);if((160<r||9>r||13<r)&&32!=r&&160!=r&&5760!=r&&6158!=r&&(8192>r||8202<r&&8232!=r&&8233!=r&&8239!=r&&8287!=r&&12288!=r&&65279!=r))break}return t}function b(n){return pt[n]}function _(n){function u(n){return n&&typeof n=="object"&&!he(n)&&Dr.call(n,"__wrapped__")?n:new o(n)
}function o(n,t){this.__chain__=!!t,this.__wrapped__=n}function m(n){function t(){if(e){var n=It(e);Fr.apply(n,arguments)}if(this instanceof t){var o=j(r.prototype),n=r.apply(o,n||arguments);return ur(n)?n:o}return r.apply(u,n||arguments)}var r=n[0],e=n[2],u=n[4];return ie(t,n),t}function d(n,t,r,e,u){if(r){var o=r(n);if(typeof o!="undefined")return o}if(!ur(n))return n;var a=Sr.call(n);if(!it[a]||!ae.nodeClass&&p(n))return n;var i=ue[a];switch(a){case Z:case nt:return new i(+n);case et:case at:return new i(n);
case ot:return o=i(n.source,K.exec(n)),o.lastIndex=n.lastIndex,o}if(a=he(n),t){var l=!e;e||(e=c()),u||(u=c());for(var f=e.length;f--;)if(e[f]==n)return u[f];o=a?i(n.length):{}}else o=a?It(n):Qt({},n);return a&&(Dr.call(n,"index")&&(o.index=n.index),Dr.call(n,"input")&&(o.input=n.input)),t?(e.push(n),u.push(o),(a?st:Zt)(n,function(n,a){o[a]=d(n,t,r,e,u)}),l&&(s(e),s(u)),o):o}function j(n){return ur(n)?Ur(n):{}}function N(n,t,r){if(typeof n!="function")return lr;if(typeof t=="undefined"||!("prototype"in n))return n;
var e=n.__bindData__;if(typeof e=="undefined"&&(ae.funcNames&&(e=!n.name),e=e||!ae.funcDecomp,!e)){var u=Tr.call(n);ae.funcNames||(e=!M.test(u)),e||(e=X.test(u),ie(n,e))}if(false===e||true!==e&&e[1]&k)return n;switch(r){case 1:return function(r){return n.call(t,r)};case 2:return function(r,e){return n.call(t,r,e)};case 3:return function(r,e,u){return n.call(t,r,e,u)};case 4:return function(r,e,u,o){return n.call(t,r,e,u,o)}}return Ht(n,t)}function ct(n){function t(){var n=l?a:this;if(u){var g=It(u);Fr.apply(g,arguments)
}return(o||c)&&(g||(g=It(arguments)),o&&Fr.apply(g,o),c&&g.length<i)?(e|=S,e&=~A,ct([r,p?e:e&~(k|O),g,null,a,i])):(g||(g=arguments),f&&(r=n[s]),this instanceof t?(n=j(r.prototype),g=r.apply(n,g),ur(g)?g:n):r.apply(n,g))}var r=n[0],e=n[1],u=n[2],o=n[3],a=n[4],i=n[5],l=e&k,f=e&O,c=e&E,p=e&q,s=r;return ie(t,n),t}function pt(n,e){var u=-1,o=Ct(),a=n?n.length:0,i=[];for(Lr&&a>=I&&o===t&&(o=r,e=wt(e));++u<a;){var l=n[u];0>o(e,l)&&i.push(l)}return i}function st(n,t,r){var e=-1,u=n,o=n?n.length:0;if(t=t&&typeof r=="undefined"?t:N(t,r,3),typeof o=="number")for(ae.unindexedChars&&ar(u)&&(u=u.split(""));++e<o&&false!==t(u[e],e,n););else Zt(n,t);
return n}function gt(n,t,r,e){e=(e||0)-1;for(var u=n?n.length:0,o=[];++e<u;){var a=n[e];if(a&&typeof a=="object"&&typeof a.length=="number"&&(he(a)||Et(a))){t||(a=gt(a,t,r));var i=-1,l=a.length,f=o.length;for(o.length+=l;++i<l;)o[f++]=a[i]}else r||o.push(a)}return o}function vt(n,t,r,e,u,o){if(r){var a=r(n,t);if(typeof a!="undefined")return!!a}if(n===t)return 0!==n||1/n==1/t;var i=typeof n,l=typeof t;if(n===n&&(!n||"function"!=i&&"object"!=i)&&(!t||"function"!=l&&"object"!=l))return false;if(null==n||null==t)return n===t;
if(l=Sr.call(n),i=Sr.call(t),l==Q&&(l=ut),i==Q&&(i=ut),l!=i)return false;switch(l){case Z:case nt:return+n==+t;case et:return n!=+n?t!=+t:0==n?1/n==1/t:n==+t;case ot:case at:return n==wr(t)}if(i=l==Y,!i){var f=Dr.call(n,"__wrapped__"),g=Dr.call(t,"__wrapped__");if(f||g)return vt(f?n.__wrapped__:n,g?t.__wrapped__:t,r,e,u,o);if(l!=ut||!ae.nodeClass&&(p(n)||p(t)))return false;if(l=!ae.argsObject&&Et(n)?br:n.constructor,f=!ae.argsObject&&Et(t)?br:t.constructor,l!=f&&!(Dr.call(n,"constructor")&&Dr.call(t,"constructor")||er(l)&&l instanceof l&&er(f)&&f instanceof f)&&"constructor"in n&&"constructor"in t)return false
}for(l=!u,u||(u=c()),o||(o=c()),f=u.length;f--;)if(u[f]==n)return o[f]==t;var h=0,a=true;if(u.push(n),o.push(t),i){if(f=n.length,h=t.length,(a=h==f)||e)for(;h--;)if(i=f,g=t[h],e)for(;i--&&!(a=vt(n[i],g,r,e,u,o)););else if(!(a=vt(n[h],g,r,e,u,o)))break}else ge(t,function(t,i,l){return Dr.call(l,i)?(h++,a=Dr.call(n,i)&&vt(n[i],t,r,e,u,o)):void 0}),a&&!e&&ge(n,function(n,t,r){return Dr.call(r,t)?a=-1<--h:void 0});return u.pop(),o.pop(),l&&(s(u),s(o)),a}function yt(n,t,r,e,u){(he(t)?Wt:Zt)(t,function(t,o){var a,i,l=t,f=n[o];
if(t&&((i=he(t))||ve(t))){for(l=e.length;l--;)if(a=e[l]==t){f=u[l];break}if(!a){var c;r&&(l=r(f,t),c=typeof l!="undefined")&&(f=l),c||(f=i?he(f)?f:[]:ve(f)?f:{}),e.push(t),u.push(f),c||yt(f,t,r,e,u)}}else r&&(l=r(f,t),typeof l=="undefined"&&(l=t)),typeof l!="undefined"&&(f=l);n[o]=f})}function dt(n,t){return n+Rr(ne()*(t-n+1))}function bt(n,e,u){var o=-1,a=Ct(),i=n?n.length:0,l=Lr&&!e&&i>=I&&a===t,f=[];if(l)var p=wt(),a=r;else p=u?c():f;for(;++o<i;){var g=n[o],h=u?u(g,o,n):g;(e?!o||p[p.length-1]!==h:0>a(p,h))&&((u||l)&&p.push(h),f.push(g))
}return!l&&u&&s(p),f}function _t(n){return function(t,r,e){var o={};if(r=u.createCallback(r,e,3),he(t)){e=-1;for(var a=t.length;++e<a;){var i=t[e];n(o,i,r(i,e,t),t)}}else st(t,function(t,e,u){n(o,t,r(t,e,u),u)});return o}}function wt(n){var t=new Lr,r=n?n.length:0;for(t.push=t.add;r--;)t.push(n[r]);return t}function jt(n,t,r,e,u,o){var a=t&k,i=t&E,l=t&S,f=t&A;if(!(t&O||er(n)))throw new jr;l&&!r.length&&(t&=-17,l=r=false),f&&!e.length&&(t&=-33,f=e=false);var c=n&&n.__bindData__;return c&&true!==c?(c=It(c),c[2]&&(c[2]=It(c[2])),c[3]&&(c[3]=It(c[3])),!a||c[1]&k||(c[4]=u),!a&&c[1]&k&&(t|=8),!i||c[1]&E||(c[5]=o),l&&Fr.apply(c[2]||(c[2]=[]),r),f&&zr.apply(c[3]||(c[3]=[]),e),c[1]|=t,jt.apply(null,c)):(t==k||t==(k|S)?m:ct)([n,t,r,e,u,o])
}function xt(n){n.d=J;var t=yr,r="return function("+n.a+"){",e="var s="+n.b+";if(!k(q)){return s}"+n.e+";";ae.nonEnumArgs&&(e+="var n=q.length;if(n&&j(q)){m=-1;while(++m<n){m+='';"+n.c+";}return s}"),ae.enumPrototypes&&(e+="var u=typeof q=='function';"),ae.enumErrorProps&&(e+="var t=q===g||q instanceof Error;");var u=[];if(ae.enumPrototypes&&u.push("!(u&&m=='prototype')"),ae.enumErrorProps&&u.push("!(t&&(m=='message'||m=='name'))"),e+="for(var m in q){",n.f&&u.push("h.call(q,m)"),u.length&&(e+="if("+u.join("&&")+"){"),e+=n.c+";",u.length&&(e+="}"),e+="}",ae.nonEnumShadows){for(e+="if(q!==r){var e=q.constructor,l=q===(e&&e.prototype),c=q===w?v:q===g?f:y.call(q),o=p[c];",u=0;7>u;u++)e+="m='"+n.d[u]+"';if((!(l&&o[m])&&h.call(q,m))",n.f||(e+="||(!o[m]&&q[m]!==r[m])"),e+="){"+n.c+"}";
e+="}"}return t("a,f,g,h,j,k,r,p,v,w,y",r+(e+"return s;")+"}")(N,tt,Cr,Dr,Et,ur,kr,oe,at,Or,Sr)}function Ct(){var n=(n=u.indexOf)===St?t:n;return n}function kt(n){return typeof n=="function"&&Ar.test(Tr.call(n))}function Ot(n){var t,r;return!n||Sr.call(n)!=ut||!Dr.call(n,"constructor")&&(t=n.constructor,er(t)&&!(t instanceof t))||!ae.argsClass&&Et(n)||!ae.nodeClass&&p(n)?false:ae.ownLast?(ge(n,function(n,t,e){return r=Dr.call(e,t),false}),false!==r):(ge(n,function(n,t){r=t}),typeof r=="undefined"||Dr.call(n,r))
}function Et(n){return n&&typeof n=="object"&&typeof n.length=="number"&&Sr.call(n)==Q||false}function qt(n,t,r){var e=0,o=n?n.length:0;if(typeof t!="number"&&null!=t){var a=-1;for(t=u.createCallback(t,r,3);++a<o&&t(n[a],a,n);)e++}else if(e=t,null==e||r)return n?n[0]:w;return It(n,0,0<e?e:0)}function St(n,r,e){var u=n?n.length:0;if(typeof e=="number")e=0>e?Jr(0,u+e):e||0;else if(e)return e=Nt(n,r),u&&n[e]===r?e:-1;return t(n,r,e)}function At(n,t,r){if(typeof t!="number"&&null!=t){var e=0,o=-1,a=n?n.length:0;
for(t=u.createCallback(t,r,3);++o<a&&t(n[o],o,n);)e++}else e=null==t||r?1:0<t?t:0;return It(n,e)}function It(n,t,r){var e=-1,u=n?n.length:0;for(typeof t=="undefined"?t=0:0>t?t=Jr(u+t,0):t>u&&(t=u),typeof r=="undefined"?r=u:0>r?r=Jr(u+r,0):r>u&&(r=u),u=r-t||0,r=gr(u);++e<u;)r[e]=n[t+e];return r}function Nt(n,t,r,e){var o=0,a=n?n.length:o;for(r=r?u.createCallback(r,e,1):lr,t=r(t);o<a;)e=o+a>>>1,r(n[e])<t?o=e+1:a=e;return o}function Rt(n,t,r,e){var o=typeof t;return"boolean"!=o&&null!=t&&(e=r,r=t,t=false,"number"!=o&&"string"!=o||!e||e[r]!==n||(r=null)),null!=r&&(r=u.createCallback(r,e,3)),bt(n,t,r)
}function Tt(){for(var n=1<arguments.length?arguments:arguments[0],t=-1,r=n?Mt(se(n,"length")):0,e=gr(0>r?0:r);++t<r;)e[t]=se(n,t);return e}function Pt(n,t){var r=-1,e=n?n.length:0,u={};for(t||!e||he(n[0])||(t=[]);++r<e;){var o=n[r];t?u[o]=t[r]:o&&(u[o[0]]=o[1])}return u}function Dt(){return this.__wrapped__}function Ft(n,t,r){var e=n?n.length:0;if(r=typeof r=="number"?r:0,typeof e=="number"){if(r>=e)return false;if(typeof n=="string"||!he(n)&&ar(n))return Mr?Mr.call(n,t,r):-1<n.indexOf(t,r);var u=Ct();
return r=(0>r?Jr(0,e+r):r)||0,-1<u(n,t,r)}var o=-1,a=false;return st(n,function(n){return++o<r?void 0:!(a=n===t)}),a}function $t(n,t,r){var e=true;if(t=u.createCallback(t,r,3),he(n)){r=-1;for(var o=n.length;++r<o&&(e=!!t(n[r],r,n)););}else st(n,function(n,r,u){return e=!!t(n,r,u)});return e}function Lt(n,t,r){var e=[];if(t=u.createCallback(t,r,3),he(n)){r=-1;for(var o=n.length;++r<o;){var a=n[r];t(a,r,n)&&e.push(a)}}else st(n,function(n,r,u){t(n,r,u)&&e.push(n)});return e}function Bt(n,t,r){if(t=u.createCallback(t,r,3),!he(n)){var e;
return st(n,function(n,r,u){return t(n,r,u)?(e=n,false):void 0}),e}r=-1;for(var o=n.length;++r<o;){var a=n[r];if(t(a,r,n))return a}}function Wt(n,t,r){if(t&&typeof r=="undefined"&&he(n)){r=-1;for(var e=n.length;++r<e&&false!==t(n[r],r,n););}else st(n,t,r);return n}function zt(n,t,r){var e=n,u=n?n.length:0;if(t=t&&typeof r=="undefined"?t:N(t,r,3),he(n))for(;u--&&false!==t(n[u],u,n););else{if(typeof u!="number")var o=ye(n),u=o.length;else ae.unindexedChars&&ar(n)&&(e=n.split(""));st(e,function(r,a){return a=o?o[--u]:--u,t(e[a],a,n)
})}return n}function Kt(n,t,r){var e=-1,o=n?n.length:0,a=gr(typeof o=="number"?o:0);if(t=u.createCallback(t,r,3),he(n))for(;++e<o;)a[e]=t(n[e],e,n);else st(n,function(n,r,u){a[++e]=t(n,r,u)});return a}function Mt(n,t,r){var o=-1/0,a=o,i=typeof t;if("number"!=i&&"string"!=i||!r||r[t]!==n||(t=null),null==t&&he(n))for(r=-1,i=n.length;++r<i;){var l=n[r];l>a&&(a=l)}else t=null==t&&ar(n)?e:u.createCallback(t,r,3),st(n,function(n,r,e){r=t(n,r,e),r>o&&(o=r,a=n)});return a}function Ut(n,t,r,e){var o=3>arguments.length;
if(t=u.createCallback(t,e,4),he(n)){var a=-1,i=n.length;for(o&&i&&(r=n[++a]);++a<i;)r=t(r,n[a],a,n)}else st(n,function(n,e,u){r=o?(o=false,n):t(r,n,e,u)});return r}function Vt(n,t,r,e){var o=3>arguments.length;return t=u.createCallback(t,e,4),zt(n,function(n,e,u){r=o?(o=false,n):t(r,n,e,u)}),r}function Xt(n){var t=-1,r=n?n.length:0,e=gr(typeof r=="number"?r:0);return Wt(n,function(n){var r=dt(0,++t);e[t]=e[r],e[r]=n}),e}function Gt(n,t,r){var e;if(t=u.createCallback(t,r,3),he(n)){r=-1;for(var o=n.length;++r<o&&!(e=t(n[r],r,n)););}else st(n,function(n,r,u){return!(e=t(n,r,u))
});return!!e}function Ht(n,t){return 2<arguments.length?jt(n,k|S,It(arguments,2),null,t):jt(n,k,null,null,t)}function Jt(n,t,r){function e(){c&&Nr(c),a=c=p=w,(h||g!==t)&&(s=_e(),i=n.apply(f,o),c||a||(o=f=null))}function u(){var r=t-(_e()-l);0<r?c=Br(u,r):(a&&Nr(a),r=p,a=c=p=w,r&&(s=_e(),i=n.apply(f,o),c||a||(o=f=null)))}var o,a,i,l,f,c,p,s=0,g=false,h=true;if(!er(n))throw new jr;if(t=Jr(0,t)||0,true===r)var v=true,h=false;else ur(r)&&(v=r.leading,g="maxWait"in r&&(Jr(t,r.maxWait)||0),h="trailing"in r?r.trailing:h);
return function(){if(o=arguments,l=_e(),f=this,p=h&&(c||!v),false===g)var r=v&&!c;else{a||v||(s=l);var y=g-(l-s),m=0>=y;m?(a&&(a=Nr(a)),s=l,i=n.apply(f,o)):a||(a=Br(e,y))}return m&&c?c=Nr(c):c||t===g||(c=Br(u,t)),r&&(m=true,i=n.apply(f,o)),!m||c||a||(o=f=null),i}}function Qt(n,t,r){var e=arguments,u=0,o=e.length,a=typeof r;if("number"!=a&&"string"!=a||!e[3]||e[3][r]!==t||(o=2),3<o&&"function"==typeof e[o-2])var i=N(e[--o-1],e[o--],2);else 2<o&&"function"==typeof e[o-1]&&(i=e[--o]);for(;++u<o;)if(t=e[u],ur(t))for(var a=-1,l=ye(t),f=l.length;++a<f;){var c=l[a];
n[c]=i?i(n[c],t[c]):t[c]}return n}function Yt(n,t,r){var e=arguments,u=0,o=e.length,a=typeof r;for("number"!=a&&"string"!=a||!e[3]||e[3][r]!==t||(o=2);++u<o;)if(t=e[u],ur(t))for(var a=-1,i=ye(t),l=i.length;++a<l;){var f=i[a];"undefined"==typeof n[f]&&(n[f]=t[f])}return n}function Zt(n,t,r){var e=-1,u=ye(n),o=u.length;for(t=t&&typeof r=="undefined"?t:N(t,r,3);++e<o&&(r=u[e],false!==t(n[r],r,n)););return n}function nr(n,t,r){var e=ye(n),u=e.length;for(t=N(t,r,3);u--&&(r=e[u],false!==t(n[r],r,n)););return n
}function tr(n){var t=[];return ge(n,function(n,r){er(n)&&t.push(r)}),t.sort()}function rr(n){return n&&typeof n=="object"&&1===n.nodeType&&(ae.nodeClass?-1<Sr.call(n).indexOf("Element"):p(n))||false}function er(n){return typeof n=="function"}function ur(n){var t=typeof n;return n&&("function"==t||"object"==t)||false}function or(n){var t=typeof n;return"number"==t||n&&"object"==t&&Sr.call(n)==et||false}function ar(n){return typeof n=="string"||n&&typeof n=="object"&&Sr.call(n)==at||false}function ir(n){for(var t=-1,r=ye(n),e=r.length,u=gr(e);++t<e;)u[t]=n[r[t]];
return u}function lr(n){return n}function fr(n){n||(n={});var t=ye(n),r=t[0],e=n[r];return 1!=t.length||e!==e||ur(e)?function(r){for(var e=t.length,u=false;e--&&(u=vt(r[t[e]],n[t[e]],null,true)););return u}:function(n){return n=n[r],e===n&&(0!==e||1/e==1/n)}}function cr(n,t,r){var e=true,o=t&&tr(t);t&&(r||o.length)||(null==r&&(r=t),t=n,n=u,o=tr(t)),false===r?e=false:ur(r)&&"chain"in r&&(e=r.chain),r=-1;for(var a=er(n),i=o?o.length:0;++r<i;){var l=o[r],f=n[l]=t[l];a&&(n.prototype[l]=function(t){return function(){var r=this.__chain__,u=this.__wrapped__,o=[u];
if(Fr.apply(o,arguments),o=t.apply(n,o),e||r){if(u===o&&ur(o))return this;o=new n(o),o.__chain__=r}return o}}(f))}}function pr(){}function sr(n){return function(t){return t[n]}}n=n?mt.defaults(ht.Object(),n,mt.pick(ht,H)):ht;var gr=n.Array,hr=n.Boolean,vr=n.Date,yr=n.Function,mr=n.Math,dr=n.Number,br=n.Object,_r=n.RegExp,wr=n.String,jr=n.TypeError,xr=gr.prototype,Cr=n.Error.prototype,kr=br.prototype,Or=wr.prototype,Er=(Er=n.window)&&Er.document,qr=n._,Sr=kr.toString,Ar=_r("^"+wr(Sr).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ir=mr.ceil,Nr=n.clearTimeout,Rr=mr.floor,Tr=yr.prototype.toString,Pr=kt(Pr=br.getPrototypeOf)&&Pr,Dr=kr.hasOwnProperty,Fr=xr.push,$r=kr.propertyIsEnumerable,Lr=kt(Lr=n.Set)&&Lr,Br=n.setTimeout,Wr=xr.splice,zr=xr.unshift,Kr=function(){try{var n={},t=kt(t=br.defineProperty)&&t,r=t(n,n,n)&&t
}catch(e){}return r}(),Mr=kt(Mr=Or.contains)&&Mr,Ur=kt(Ur=br.create)&&Ur,Vr=kt(Vr=gr.isArray)&&Vr,Xr=n.isFinite,Gr=n.isNaN,Hr=kt(Hr=br.keys)&&Hr,Jr=mr.max,Qr=mr.min,Yr=kt(Yr=vr.now)&&Yr,Zr=n.parseInt,ne=mr.random,te=kt(te=Or.trim)&&!te.call(R)&&te,re=kt(re=Or.trimLeft)&&!re.call(R)&&re,ee=kt(ee=Or.trimRight)&&!ee.call(R)&&ee,ue={};ue[Y]=gr,ue[Z]=hr,ue[nt]=vr,ue[rt]=yr,ue[ut]=br,ue[et]=dr,ue[ot]=_r,ue[at]=wr;var oe={};oe[Y]=oe[nt]=oe[et]={constructor:true,toLocaleString:true,toString:true,valueOf:true},oe[Z]=oe[at]={constructor:true,toString:true,valueOf:true},oe[tt]=oe[rt]=oe[ot]={constructor:true,toString:true},oe[ut]={constructor:true},function(){for(var n=J.length;n--;){var t,r=J[n];
for(t in oe)Dr.call(oe,t)&&!Dr.call(oe[t],r)&&(oe[t][r]=false)}}(),o.prototype=u.prototype;var ae=u.support={};!function(){function t(){this.x=1}var r={0:1,length:1},e=[];t.prototype={valueOf:1,y:1};for(var u in new t)e.push(u);for(u in arguments);ae.argsClass=Sr.call(arguments)==Q,ae.argsObject=arguments.constructor==br&&!(arguments instanceof gr),ae.enumErrorProps=$r.call(Cr,"message")||$r.call(Cr,"name"),ae.enumPrototypes=$r.call(t,"prototype"),ae.funcDecomp=!kt(n.WinRTError)&&X.test(_),ae.funcNames=typeof yr.name=="string",ae.nonEnumArgs=0!=u,ae.nonEnumShadows=!/valueOf/.test(e),ae.ownLast="x"!=e[0],ae.spliceObjects=(Wr.call(r,0,1),!r[0]),ae.unindexedChars="xx"!="x"[0]+br("x")[0];
try{ae.dom=11===Er.createDocumentFragment().nodeType}catch(o){ae.dom=false}try{ae.nodeClass=!(Sr.call(undefined)==ut&&!({toString:0}+""))}catch(a){ae.nodeClass=true}}(1),u.templateSettings={escape:L,evaluate:B,interpolate:W,variable:"",imports:{_:u}},Ur||(j=function(){function t(){}return function(r){if(ur(r)){t.prototype=r;var e=new t;t.prototype=null}return e||n.Object()}}());var ie=Kr?function(n,t){ft.value=t,Kr(n,"__bindData__",ft)}:pr;ae.argsClass||(Et=function(n){return n&&typeof n=="object"&&typeof n.length=="number"&&Dr.call(n,"callee")&&!$r.call(n,"callee")||false
});var le=xt({a:"q",b:"[]",e:"",c:"s.push(m)",f:true}),fe=_t(function(n,t,r){Dr.call(n,r)?n[r]++:n[r]=1}),ce=_t(function(n,t,r){Dr.call(n,r)?n[r].push(t):n[r]=[t]}),pe=_t(function(n,t,r){n[r]=t}),se=Kt,ge=xt({a:"q,b,x",b:"q",e:"b=b&&typeof x=='undefined'?b:a(b,x,3)",c:"if(b(q[m],m,q)===false){return s}",f:false}),he=Vr||function(n){return n&&typeof n=="object"&&typeof n.length=="number"&&Sr.call(n)==Y||false};ae.dom||(rr=function(n){return n&&typeof n=="object"&&1===n.nodeType&&!ve(n)||false}),er(/x/)&&(er=function(n){return typeof n=="function"&&Sr.call(n)==rt
});var ve=Pr?function(n){if(!n||Sr.call(n)!=ut||!ae.argsClass&&Et(n))return false;var t=n.valueOf,r=kt(t)&&(r=Pr(t))&&Pr(r);return r?n==r||Pr(n)==r:Ot(n)}:Ot,ye=Hr?function(n){return ur(n)?ae.enumPrototypes&&typeof n=="function"||ae.nonEnumArgs&&n.length&&Et(n)?le(n):Hr(n):[]}:le,me=te?function(n,t){return null==n?"":null==t?te.call(n):h(n,t)}:h,de=re?function(n,t){return null==n?"":null==t?re.call(n):v(n,t)}:v,be=ee?function(n,t){return null==n?"":null==t?ee.call(n):y(n,t)}:y,_e=Yr||function(){return(new vr).getTime()
},we=8==Zr(R+"08")?Zr:function(n,t){return n=me(n),Zr(n,+t||(U.test(n)?16:10))};return u.after=function(n,t){if(!er(t))throw new jr;return function(){return 1>--n?t.apply(this,arguments):void 0}},u.assign=Qt,u.at=function(n,t){var r=arguments,e=-1,u=gt(r,true,false,1),o=u.length,a=typeof t;for("number"!=a&&"string"!=a||!r[2]||r[2][t]!==n||(o=1),ae.unindexedChars&&ar(n)&&(n=n.split("")),r=gr(o);++e<o;)r[e]=n[u[e]];return r},u.bind=Ht,u.bindAll=function(n){for(var t=1<arguments.length?gt(arguments,true,false,1):tr(n),r=-1,e=t.length;++r<e;){var u=t[r];
n[u]=jt(n[u],k,null,null,n)}return n},u.bindKey=function(n,t){return 2<arguments.length?jt(t,k|O|S,It(arguments,2),null,n):jt(t,k|O,null,null,n)},u.chain=function(n){return n=new o(n),n.__chain__=true,n},u.compact=function(n){for(var t=-1,r=n?n.length:0,e=0,u=[];++t<r;){var o=n[t];o&&(u[e++]=o)}return u},u.compose=function(){for(var n=arguments,t=n.length;t--;)if(!er(n[t]))throw new jr;return function(){for(var t=arguments,r=n.length;r--;)t=[n[r].apply(this,t)];return t[0]}},u.constant=function(n){return function(){return n
}},u.countBy=fe,u.create=function(n,t){var r=j(n);return t?Qt(r,t):r},u.createCallback=function(n,t,r){var e=typeof n;return null==n||"function"==e?N(n,t,r):"object"!=e?sr(n):fr(n)},u.curry=function(n,t){return t=typeof t=="number"?t:+t||n.length,jt(n,E,null,null,null,t)},u.debounce=Jt,u.defaults=Yt,u.defer=function(n){if(!er(n))throw new jr;var t=It(arguments,1);return Br(function(){n.apply(w,t)},1)},u.delay=function(n,t){if(!er(n))throw new jr;var r=It(arguments,2);return Br(function(){n.apply(w,r)
},t)},u.difference=function(n){return pt(n,gt(arguments,true,true,1))},u.filter=Lt,u.flatten=function(n,t,r,e){var u=typeof t;return"boolean"!=u&&null!=t&&(e=r,r=t,t=false,"number"!=u&&"string"!=u||!e||e[r]!==n||(r=null)),null!=r&&(n=Kt(n,r,e)),gt(n,t)},u.forEach=Wt,u.forEachRight=zt,u.forIn=ge,u.forInRight=function(n,t,r){var e=[];ge(n,function(n,t){e.push(t,n)});var u=e.length;for(t=N(t,r,3);u--&&false!==t(e[u--],e[u],n););return n},u.forOwn=Zt,u.forOwnRight=nr,u.functions=tr,u.groupBy=ce,u.indexBy=pe,u.initial=function(n,t,r){var e=0,o=n?n.length:0;
if(typeof t!="number"&&null!=t){var a=o;for(t=u.createCallback(t,r,3);a--&&t(n[a],a,n);)e++}else e=null==t||r?1:t||e;return e=o-e,It(n,0,0<e?e:0)},u.intersection=function(){for(var n=[],e=-1,u=arguments.length,o=c(),a=Ct(),i=Lr&&a===t,l=c();++e<u;){var f=arguments[e];(he(f)||Et(f))&&(n.push(f),o.push(i&&f.length>=I&&wt(e?n[e]:l)))}var i=n[0],p=-1,g=i?i.length:0,h=[];n:for(;++p<g;){var v=o[0],f=i[p];if(0>(v?r(v,f):a(l,f))){for(e=u,(v||l).push(f);--e;)if(v=o[e],0>(v?r(v,f):a(n[e],f)))continue n;h.push(f)
}}return s(o),s(l),h},u.invert=function(n,t){for(var r=-1,e=ye(n),u=e.length,o={};++r<u;){var a=e[r],i=n[a];t?Dr.call(o,i)?o[i].push(a):o[i]=[a]:o[i]=a}return o},u.invoke=function(n,t){var r=It(arguments,2),e=-1,u=typeof t=="function",o=n?n.length:0,a=gr(typeof o=="number"?o:0);return Wt(n,function(n){a[++e]=(u?t:n[t]).apply(n,r)}),a},u.keys=ye,u.map=Kt,u.mapValues=function(n,t,r){var e={};return t=u.createCallback(t,r,3),Zt(n,function(n,r,u){e[r]=t(n,r,u)}),e},u.match=fr,u.max=Mt,u.memoize=function(n,t){function r(){var e=r.cache,u=t?t.apply(this,arguments):"_"+arguments[0];
return Dr.call(e,u)?e[u]:e[u]=n.apply(this,arguments)}if(!er(n))throw new jr;return r.cache={},r},u.merge=function(n,t,r){if(!ur(n))return n;var e=arguments,u=e.length,o=typeof r;if("number"!=o&&"string"!=o||!e[3]||e[3][r]!==t||(u=2),3<u&&"function"==typeof e[u-2])var a=N(e[--u-1],e[u--],2);else 2<u&&"function"==typeof e[u-1]&&(a=e[--u]);for(var e=It(arguments,1,u),o=-1,i=c(),l=c();++o<u;)yt(n,e[o],a,i,l);return s(i),s(l),n},u.min=function(n,t,r){var o=1/0,a=o,i=typeof t;if("number"!=i&&"string"!=i||!r||r[t]!==n||(t=null),null==t&&he(n))for(r=-1,i=n.length;++r<i;){var l=n[r];
l<a&&(a=l)}else t=null==t&&ar(n)?e:u.createCallback(t,r,3),st(n,function(n,r,e){r=t(n,r,e),r<o&&(o=r,a=n)});return a},u.omit=function(n,t,r){var e={};if(typeof t!="function"){var o=[];ge(n,function(n,t){o.push(t)});for(var o=pt(o,gt(arguments,true,false,1)),a=-1,i=o.length;++a<i;){var l=o[a];e[l]=n[l]}}else t=u.createCallback(t,r,3),ge(n,function(n,r,u){t(n,r,u)||(e[r]=n)});return e},u.once=function(n){var t,r;if(!er(n))throw new jr;return function(){return t?r:(t=true,r=n.apply(this,arguments),n=null,r)
}},u.pairs=function(n){for(var t=-1,r=ye(n),e=r.length,u=gr(e);++t<e;){var o=r[t];u[t]=[o,n[o]]}return u},u.partial=function(n){return jt(n,S,It(arguments,1))},u.partialRight=function(n){return jt(n,A,null,It(arguments,1))},u.pick=function(n,t,r){var e={};if(typeof t!="function")for(var o=-1,a=gt(arguments,true,false,1),i=ur(n)?a.length:0;++o<i;){var l=a[o];l in n&&(e[l]=n[l])}else t=u.createCallback(t,r,3),ge(n,function(n,r,u){t(n,r,u)&&(e[r]=n)});return e},u.pluck=se,u.property=sr,u.pull=function(n){for(var t=arguments,r=0,e=t.length,u=n?n.length:0;++r<e;)for(var o=-1,a=t[r];++o<u;)n[o]===a&&(Wr.call(n,o--,1),u--);
return n},u.range=function(n,t,r){n=+n||0,r=typeof r=="number"?r:+r||1,null==t&&(t=n,n=0);var e=-1;t=Jr(0,Ir((t-n)/(r||1)));for(var u=gr(t);++e<t;)u[e]=n,n+=r;return u},u.reject=function(n,t,r){return t=u.createCallback(t,r,3),Lt(n,function(n,r,e){return!t(n,r,e)})},u.remove=function(n,t,r){var e=-1,o=n?n.length:0,a=[];for(t=u.createCallback(t,r,3);++e<o;)r=n[e],t(r,e,n)&&(a.push(r),Wr.call(n,e--,1),o--);return a},u.rest=At,u.shuffle=Xt,u.slice=It,u.sortBy=function(n,t,r){var e=-1,o=t&&he(t),l=n?n.length:0,f=gr(typeof l=="number"?l:0);
for(o||(t=u.createCallback(t,r,3)),Wt(n,function(n,r,u){var a=f[++e]=x.pop()||{i:null,j:0,k:null};a.j=e,a.k=n,a.i=o?Kt(t,function(t){return n[t]}):t(n,r,u)}),l=f.length,f.sort(o?i:a);l--;)n=f[l],f[l]=n.k,g(n);return f},u.tap=function(n,t,r){return t.call(r,n),n},u.throttle=function(n,t,r){var e=true,u=true;if(!er(n))throw new jr;return false===r?e=false:ur(r)&&(e="leading"in r?r.leading:e,u="trailing"in r?r.trailing:u),lt.leading=e,lt.maxWait=t,lt.trailing=u,Jt(n,t,lt)},u.times=function(n,t,r){n=-1<(n=+n)?n:0;
var e=-1,u=gr(n);for(t=N(t,r,1);++e<n;)u[e]=t(e);return u},u.toArray=function(n){return n&&typeof n.length=="number"?ae.unindexedChars&&ar(n)?n.split(""):It(n):ir(n)},u.transform=function(n,t,r,e){var o=he(n);if(null==r)if(o)r=[];else{var a=n&&n.constructor;r=j(a&&a.prototype)}return t&&(t=u.createCallback(t,e,4),(o?st:Zt)(n,function(n,e,u){return t(r,n,e,u)})),r},u.union=function(){return bt(gt(arguments,true,true))},u.uniq=Rt,u.values=ir,u.where=Lt,u.without=function(n){return pt(n,It(arguments,1))
},u.wrap=function(n,t){return jt(t,S,[n])},u.xor=function(){for(var n=-1,t=arguments.length;++n<t;){var r=arguments[n];if(he(r)||Et(r))var e=e?pt(e,r).concat(pt(r,e)):r}return e?bt(e):[]},u.zip=Tt,u.zipObject=Pt,u.collect=Kt,u.drop=At,u.each=Wt,u.eachRight=zt,u.extend=Qt,u.methods=tr,u.object=Pt,u.select=Lt,u.tail=At,u.unique=Rt,u.unzip=Tt,cr(Qt({},u)),u.capitalize=function(n){return null==n?"":(n=wr(n),n.charAt(0).toUpperCase()+n.slice(1))},u.clone=function(n,t,r,e){var u=typeof t;return"boolean"!=u&&null!=t&&(e=r,r=t,t=false,"number"!=u&&"string"!=u||!e||e[r]!==n||(r=null)),d(n,t,typeof r=="function"&&N(r,e,1))
},u.cloneDeep=function(n,t,r){return d(n,true,typeof t=="function"&&N(t,r,1))},u.contains=Ft,u.escape=function(n){return null==n?"":wr(n).replace($,l)},u.every=$t,u.find=Bt,u.findIndex=function(n,t,r){var e=-1,o=n?n.length:0;for(t=u.createCallback(t,r,3);++e<o;)if(t(n[e],e,n))return e;return-1},u.findKey=function(n,t,r){var e;return t=u.createCallback(t,r,3),Zt(n,function(n,r,u){return t(n,r,u)?(e=r,false):void 0}),e},u.findLast=function(n,t,r){var e;return t=u.createCallback(t,r,3),zt(n,function(n,r,u){return t(n,r,u)?(e=n,false):void 0
}),e},u.findLastIndex=function(n,t,r){var e=n?n.length:0;for(t=u.createCallback(t,r,3);e--;)if(t(n[e],e,n))return e;return-1},u.findLastKey=function(n,t,r){var e;return t=u.createCallback(t,r,3),nr(n,function(n,r,u){return t(n,r,u)?(e=r,false):void 0}),e},u.has=function(n,t){return n?Dr.call(n,t):false},u.identity=lr,u.indexOf=St,u.isArguments=Et,u.isArray=he,u.isBoolean=function(n){return true===n||false===n||n&&typeof n=="object"&&Sr.call(n)==Z||false},u.isDate=function(n){return n&&typeof n=="object"&&Sr.call(n)==nt||false
},u.isElement=rr,u.isEmpty=function(n){var t=true;if(!n)return t;var r=Sr.call(n),e=n.length;return r==Y||r==at||(ae.argsClass?r==Q:Et(n))||r==ut&&typeof e=="number"&&er(n.splice)?!e:(Zt(n,function(){return t=false}),t)},u.isEqual=function(n,t,r,e){return vt(n,t,typeof r=="function"&&N(r,e,2))},u.isFinite=function(n){return Xr(n)&&!Gr(parseFloat(n))},u.isFunction=er,u.isNaN=function(n){return or(n)&&n!=+n},u.isNull=function(n){return null===n},u.isNumber=or,u.isObject=ur,u.isPlainObject=ve,u.isRegExp=function(n){var t=typeof n;
return n&&("function"==t||"object"==t)&&Sr.call(n)==ot||false},u.isString=ar,u.isUndefined=function(n){return typeof n=="undefined"},u.lastIndexOf=function(n,t,r){var e=n?n.length:0;for(typeof r=="number"&&(e=(0>r?Jr(0,e+r):Qr(r,e-1))+1);e--;)if(n[e]===t)return e;return-1},u.mixin=cr,u.noConflict=function(){return n._=qr,this},u.noop=pr,u.now=_e,u.parseInt=we,u.random=function(n,t,r){var e=null==n,u=null==t;return null==r&&(u&&typeof n=="boolean"?(r=n,n=1):typeof t=="boolean"&&(r=t,u=true)),e&&u&&(t=1,u=false),n=+n||0,u?(t=n,n=0):t=+t||0,r||n%1||t%1?(r=ne(),Qr(n+r*(t-n+parseFloat("1e-"+((r+"").length-1))),t)):dt(n,t)
},u.reduce=Ut,u.reduceRight=Vt,u.result=function(n,t,r){return null==n?r:(r="undefined"!=typeof n[t]?n[t]:r,er(r)?n[t]():r)},u.runInContext=_,u.size=function(n){var t=n?n.length:0;return typeof t=="number"?t:ye(n).length},u.some=Gt,u.sortedIndex=Nt,u.template=function(n,t,r){var e=u.templateSettings;n=wr(n||""),r=Yt({},r,e);var o,a=Yt({},r.imports,e.imports),e=ye(a),a=ir(a),i=0,l=r.interpolate||V,c="__p+='",l=_r((r.escape||V).source+"|"+l.source+"|"+(l===W?z:V).source+"|"+(r.evaluate||V).source+"|$","g");
n.replace(l,function(t,r,e,u,a,l){return e||(e=u),c+=n.slice(i,l).replace(G,f),r&&(c+="'+__e("+r+")+'"),a&&(o=true,c+="';"+a+";\n__p+='"),e&&(c+="'+((__t=("+e+"))==null?'':__t)+'"),i=l+t.length,t}),c+="';",l=r=r.variable,l||(r="obj",c="with("+r+"){"+c+"}"),c=(o?c.replace(T,""):c).replace(P,"$1").replace(D,"$1;"),c="function("+r+"){"+(l?"":r+"||("+r+"={});")+"var __t,__p='',__e=_.escape"+(o?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+c+"return __p}";try{var p=yr(e,"return "+c).apply(w,a)
}catch(s){throw s.source=c,s}return t?p(t):(p.source=c,p)},u.trim=me,u.trimLeft=de,u.trimRight=be,u.unescape=function(n){return null==n?"":(n=wr(n),0>n.indexOf(";")?n:n.replace(F,b))},u.uniqueId=function(n){var t=++C;return wr(null==n?"":n)+t},u.all=$t,u.any=Gt,u.detect=Bt,u.findWhere=Bt,u.foldl=Ut,u.foldr=Vt,u.include=Ft,u.inject=Ut,cr(function(){var n={};return Zt(u,function(t,r){u.prototype[r]||(n[r]=t)}),n}(),false),u.first=qt,u.last=function(n,t,r){var e=0,o=n?n.length:0;if(typeof t!="number"&&null!=t){var a=o;
for(t=u.createCallback(t,r,3);a--&&t(n[a],a,n);)e++}else if(e=t,null==e||r)return n?n[o-1]:w;return e=o-e,It(n,0<e?e:0)},u.sample=function(n,t,r){return n&&typeof n.length!="number"?n=ir(n):ae.unindexedChars&&ar(n)&&(n=n.split("")),null==t||r?n?n[dt(0,n.length-1)]:w:(n=Xt(n),n.length=Qr(Jr(0,t),n.length),n)},u.take=qt,u.head=qt,Zt(u,function(n,t){var r="sample"!==t;u.prototype[t]||(u.prototype[t]=function(t,e){var u=this.__chain__,a=n(this.__wrapped__,t,e);return u||null!=t&&(!e||r&&typeof t=="function")?new o(a,u):a
})}),u.VERSION="2.4.1",u.prototype.chain=function(){return this.__chain__=true,this},u.prototype.toString=function(){return wr(this.__wrapped__)},u.prototype.value=Dt,u.prototype.valueOf=Dt,st(["join","pop","shift"],function(n){var t=xr[n];u.prototype[n]=function(){var n=this.__chain__,r=t.apply(this.__wrapped__,arguments);return n?new o(r,n):r}}),st(["push","reverse","sort","unshift"],function(n){var t=xr[n];u.prototype[n]=function(){return t.apply(this.__wrapped__,arguments),this}}),st(["concat","splice"],function(n){var t=xr[n];
u.prototype[n]=function(){return new o(t.apply(this.__wrapped__,arguments),this.__chain__)}}),ae.spliceObjects||st(["pop","shift","splice"],function(n){var t=xr[n],r="splice"==n;u.prototype[n]=function(){var n=this.__chain__,e=this.__wrapped__,u=t.apply(e,arguments);return 0===e.length&&delete e[0],n||r?new o(u,n):u}}),u}var w,j=[],x=[],C=0,k=1,O=2,E=4,q=8,S=16,A=32,I=75,N=40,R=" \t\x0B\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000",T=/\b__p\+='';/g,P=/\b(__p\+=)''\+/g,D=/(__e\(.*?\)|\b__t\))\+'';/g,F=/&(?:amp|lt|gt|quot|#39);/g,$=/[&<>"']/g,L=/<%-([\s\S]+?)%>/g,B=/<%([\s\S]+?)%>/g,W=/<%=([\s\S]+?)%>/g,z=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,K=/\w*$/,M=/^\s*function[ \n\r\t]+\w/,U=/^0[xX]/,V=/($^)/,X=/\bthis\b/,G=/['\n\r\t\u2028\u2029\\]/g,H="Array Boolean Date Error Function Math Number Object RegExp Set String _ clearTimeout document isFinite isNaN parseInt setTimeout TypeError window WinRTError".split(" "),J="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "),Q="[object Arguments]",Y="[object Array]",Z="[object Boolean]",nt="[object Date]",tt="[object Error]",rt="[object Function]",et="[object Number]",ut="[object Object]",ot="[object RegExp]",at="[object String]",it={};
it[rt]=false,it[Q]=it[Y]=it[Z]=it[nt]=it[et]=it[ut]=it[ot]=it[at]=true;var lt={leading:false,maxWait:0,trailing:false},ft={configurable:false,enumerable:false,value:null,writable:false},ct={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},pt={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"},st={"function":true,object:true},gt={"\\":"\\","'":"'","\n":"n","\r":"r","\t":"t","\u2028":"u2028","\u2029":"u2029"},ht=st[typeof window]&&window||this,vt=st[typeof exports]&&exports&&!exports.nodeType&&exports,yt=st[typeof global]&&global;
!yt||yt.global!==yt&&yt.window!==yt||(ht=yt);var yt=(st=st[typeof module]&&module&&!module.nodeType&&module)&&st.exports===vt&&vt,mt=_();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(ht._=mt, define(function(){return mt})):vt&&st?yt?(st.exports=mt)._=mt:vt._=mt:ht._=mt}).call(this);

159
dist/lodash.js vendored
View File

@@ -86,7 +86,7 @@
/** Used to assign default `context` object properties */
var contextProps = [
'Array', 'Boolean', 'Date', 'Function', 'Math', 'Number', 'Object',
'RegExp', 'String', '_', 'clearTimeout', 'document', 'isFinite', 'isNaN',
'RegExp', 'Set', 'String', '_', 'clearTimeout', 'document', 'isFinite', 'isNaN',
'parseInt', 'setTimeout', 'TypeError', 'window', 'WinRTError'
];
@@ -241,53 +241,7 @@
* @returns {number} Returns `0` if `value` is found, else `-1`.
*/
function cacheIndexOf(cache, value) {
var type = typeof value;
cache = cache.cache;
if (type == 'boolean' || value == null) {
return cache[value] ? 0 : -1;
}
if (type != 'number' && type != 'string') {
type = 'object';
}
var key = type == 'number' ? value : '_' + value;
cache = (cache = cache[type]) && cache[key];
return type == 'object'
? (cache && baseIndexOf(cache, value) > -1 ? 0 : -1)
: (cache ? 0 : -1);
}
/**
* Adds a given value to the corresponding cache object.
*
* @private
* @param {*} value The value to add to the cache.
*/
function cachePush(value) {
var cache = this.cache,
type = typeof value;
if (type == 'boolean' || value == null) {
cache[value] = true;
} else {
if (type != 'number' && type != 'string') {
type = 'object';
}
var key = type == 'number' ? value : '_' + value,
typeCache = cache[type] || (cache[type] = {});
if (type == 'object') {
var array = typeCache[key];
if (array) {
array.push(value);
} else {
typeCache[key] = [value];
}
} else {
typeCache[key] = true;
}
}
return cache.has(value) ? 0 : -1;
}
/**
@@ -381,38 +335,6 @@
return a.index - b.index;
}
/**
* Creates a cache object to optimize linear searches of large arrays.
*
* @private
* @param {Array} [array=[]] The array to search.
* @returns {null|Object} Returns the cache object or `null` if caching should not be used.
*/
function createCache(array) {
var index = -1,
length = array.length,
first = array[0],
mid = array[(length / 2) | 0],
last = array[length - 1];
if (first && typeof first == 'object' &&
mid && typeof mid == 'object' && last && typeof last == 'object') {
return false;
}
var cache = getObject();
cache['false'] = cache['null'] = cache['true'] = cache['undefined'] = false;
var result = getObject();
result.array = array;
result.cache = cache;
result.push = cachePush;
while (++index < length) {
result.push(array[index]);
}
return result;
}
/**
* Used by `escape` to convert characters to HTML entities.
*
@@ -454,18 +376,8 @@
*/
function getObject() {
return objectPool.pop() || {
'array': null,
'cache': null,
'criteria': null,
'false': false,
'index': 0,
'null': false,
'number': null,
'object': null,
'push': null,
'string': null,
'true': false,
'undefined': false,
'value': null
};
}
@@ -490,11 +402,7 @@
* @param {Object} object The object to release.
*/
function releaseObject(object) {
var cache = object.cache;
if (cache) {
releaseObject(cache);
}
object.array = object.cache = object.criteria = object.object = object.number = object.string = object.value = null;
object.criteria = object.value = null;
if (objectPool.length < MAX_POOL_SIZE) {
objectPool.push(object);
}
@@ -673,6 +581,7 @@
getPrototypeOf = isNative(getPrototypeOf = Object.getPrototypeOf) && getPrototypeOf,
hasOwnProperty = objectProto.hasOwnProperty,
push = arrayRef.push,
Set = isNative(Set = context.Set) && Set,
setTimeout = context.setTimeout,
splice = arrayRef.splice,
unshift = arrayRef.unshift;
@@ -697,6 +606,7 @@
nativeKeys = isNative(nativeKeys = Object.keys) && nativeKeys,
nativeMax = Math.max,
nativeMin = Math.min,
nativeNow = isNative(nativeNow = Date.now) && nativeNow,
nativeParseInt = context.parseInt,
nativeRandom = Math.random,
nativeTrim = isNative(nativeTrim = stringProto.trim) && !nativeTrim.call(whitespace) && nativeTrim,
@@ -1185,17 +1095,11 @@
var index = -1,
indexOf = getIndexOf(),
length = array ? array.length : 0,
isLarge = length >= LARGE_ARRAY_SIZE && indexOf === baseIndexOf,
result = [];
if (isLarge) {
var cache = createCache(values);
if (cache) {
indexOf = cacheIndexOf;
values = cache;
} else {
isLarge = false;
}
if (Set && length >= LARGE_ARRAY_SIZE && indexOf === baseIndexOf) {
indexOf = cacheIndexOf;
values = createCache(values);
}
while (++index < length) {
var value = array[index];
@@ -1203,9 +1107,6 @@
result.push(value);
}
}
if (isLarge) {
releaseObject(values);
}
return result;
}
@@ -1517,15 +1418,14 @@
var index = -1,
indexOf = getIndexOf(),
length = array ? array.length : 0,
isLarge = Set && !isSorted && length >= LARGE_ARRAY_SIZE && indexOf === baseIndexOf,
result = [];
var isLarge = !isSorted && length >= LARGE_ARRAY_SIZE && indexOf === baseIndexOf,
seen = (callback || isLarge) ? getArray() : result;
if (isLarge) {
var cache = createCache(seen);
var seen = createCache();
indexOf = cacheIndexOf;
seen = cache;
} else {
seen = callback ? getArray() : result;
}
while (++index < length) {
var value = array[index],
@@ -1541,10 +1441,7 @@
result.push(value);
}
}
if (isLarge) {
releaseArray(seen.array);
releaseObject(seen);
} else if (callback) {
if (!isLarge && callback) {
releaseArray(seen);
}
return result;
@@ -1582,6 +1479,24 @@
};
}
/**
* Creates a cache object to optimize linear searches of large arrays.
*
* @private
* @param {Array} [array=[]] The array to search.
* @returns {Object} Returns the cache object.
*/
function createCache(array) {
var cache = new Set,
length = array ? array.length : 0;
cache.push = cache.add;
while (length--) {
cache.push(array[length]);
}
return cache;
}
/**
* Creates a function that, when called, either curries or invokes `func`
* with an optional `this` binding and partially applied arguments.
@@ -2189,14 +2104,14 @@
argsLength = arguments.length,
caches = getArray(),
indexOf = getIndexOf(),
trustIndexOf = indexOf === baseIndexOf,
largePrereq = Set && indexOf === baseIndexOf,
seen = getArray();
while (++argsIndex < argsLength) {
var value = arguments[argsIndex];
if (isArray(value) || isArguments(value)) {
args.push(value);
caches.push(trustIndexOf && value.length >= LARGE_ARRAY_SIZE &&
caches.push(largePrereq && value.length >= LARGE_ARRAY_SIZE &&
createCache(argsIndex ? args[argsIndex] : seen));
}
}
@@ -2222,12 +2137,6 @@
result.push(value);
}
}
while (argsLength--) {
cache = caches[argsLength];
if (cache) {
releaseObject(cache);
}
}
releaseArray(caches);
releaseArray(seen);
return result;
@@ -6785,7 +6694,7 @@
* _.defer(function() { console.log(_.now() - stamp); });
* // => logs the number of milliseconds it took for the deferred function to be called
*/
var now = isNative(now = Date.now) && now || function() {
var now = nativeNow || function() {
return new Date().getTime();
};

107
dist/lodash.min.js vendored
View File

@@ -3,57 +3,56 @@
* Lo-Dash 2.4.1 (Custom Build) lodash.com/license | Underscore.js 1.5.2 underscorejs.org/LICENSE
* Build: `lodash modern -o ./dist/lodash.js`
*/
;(function(){function n(n,t){if(n!==t){if(n>t||typeof n=="undefined")return 1;if(n<t||typeof t=="undefined")return-1}return 0}function t(n,t,r){r=(r||0)-1;for(var e=n?n.length:0;++r<e;)if(n[r]===t)return r;return-1}function r(n,r){var e=typeof r;return n=n.h,"boolean"==e||null==r?n[r]?0:-1:("number"!=e&&"string"!=e&&(e="object"),n=(n=n[e])&&n["number"==e?r:"_"+r],"object"==e?n&&-1<t(n,r)?0:-1:n?0:-1)}function e(n){var t=this.h,r=typeof n;if("boolean"==r||null==n)t[n]=true;else{"number"!=r&&"string"!=r&&(r="object");
var e="number"==r?n:"_"+n,t=t[r]||(t[r]={});"object"==r?(r=t[e])?r.push(n):t[e]=[n]:t[e]=true}}function u(n){return n.charCodeAt(0)}function o(n,t){for(var r=-1,e=n.length;++r<e&&0<=t.indexOf(n.charAt(r)););return r}function i(n,t){for(var r=n.length;r--&&0<=t.indexOf(n.charAt(r)););return r}function a(t,r){return n(t.i,r.i)||t.j-r.j}function f(t,r){for(var e=t.i,u=r.i,o=-1,i=e.length;++o<i;){var a=n(e[o],u[o]);if(a)return a}return t.j-r.j}function l(n){var t=-1,r=n.length,u=n[0],o=n[r/2|0],i=n[r-1];
if(u&&typeof u=="object"&&o&&typeof o=="object"&&i&&typeof i=="object")return false;for(u=g(),u["false"]=u["null"]=u["true"]=u.undefined=false,o=g(),o.g=n,o.h=u,o.push=e;++t<r;)o.push(n[t]);return o}function c(n){return ct[n]}function p(n){return"\\"+gt[n]}function s(){return x.pop()||[]}function g(){return C.pop()||{g:null,h:null,i:null,"false":false,j:0,"null":false,number:null,object:null,push:null,string:null,"true":false,undefined:false,k:null}}function h(n){n.length=0,x.length<D&&x.push(n)}function v(n){var t=n.h;
t&&v(t),n.g=n.h=n.i=n.object=n.number=n.string=n.k=null,C.length<D&&C.push(n)}function y(n,t){return(n=null==n?"":n+"")?null==t?n.slice(d(n),_(n)+1):(t+="",n.slice(o(n,t),i(n,t)+1)):n}function m(n,t){return(n=null==n?"":n+"")?null==t?n.slice(d(n)):(t+="",n.slice(o(n,t))):n}function b(n,t){return(n=null==n?"":n+"")?null==t?n.slice(0,_(n)+1):(t+="",n.slice(0,i(n,t)+1)):n}function d(n){for(var t=-1,r=n.length;++t<r;){var e=n.charCodeAt(t);if((160<e||9>e||13<e)&&32!=e&&160!=e&&5760!=e&&6158!=e&&(8192>e||8202<e&&8232!=e&&8233!=e&&8239!=e&&8287!=e&&12288!=e&&65279!=e))break
}return t}function _(n){for(var t=n.length;t--;){var r=n.charCodeAt(t);if((160<r||9>r||13<r)&&32!=r&&160!=r&&5760!=r&&6158!=r&&(8192>r||8202<r&&8232!=r&&8233!=r&&8239!=r&&8287!=r&&12288!=r&&65279!=r))break}return t}function w(n){return pt[n]}function j(n){function e(n,t,r){if(!tr(n))return n;t=t&&typeof r=="undefined"?t:D(t,r,3);for(var e in n)if(false===t(n[e],e,n))break;return n}function o(n){var t=[];if(!tr(n))return t;for(var r in n)Sr.call(n,r)&&t.push(r);return t}function i(n){return n&&typeof n=="object"&&!oe(n)&&Sr.call(n,"__wrapped__")?n:new d(n)
}function d(n,t){this.__chain__=!!t,this.__wrapped__=n}function _(n){function t(){if(e){var n=Et(e);Tr.apply(n,arguments)}if(this instanceof t){var o=C(r.prototype),n=r.apply(o,n||arguments);return tr(n)?n:o}return r.apply(u,n||arguments)}var r=n[0],e=n[2],u=n[4];return ne(t,n),t}function x(n,t,r,e,u){if(r){var o=r(n);if(typeof o!="undefined")return o}if(!tr(n))return n;var i=Cr.call(n);if(!at[i])return n;var a=Qr[i];switch(i){case nt:case tt:return new a(+n);case et:case it:return new a(n);case ot:return o=a(n.source,U.exec(n)),o.lastIndex=n.lastIndex,o
}if(i=oe(n),t){var f=!e;e||(e=s()),u||(u=s());for(var l=e.length;l--;)if(e[l]==n)return u[l];o=i?a(n.length):{}}else o=i?Et(n):Gt({},n);return i&&(Sr.call(n,"index")&&(o.index=n.index),Sr.call(n,"input")&&(o.input=n.input)),t?(e.push(n),u.push(o),(i?qt:Jt)(n,function(n,i){o[i]=x(n,t,r,e,u)}),f&&(h(e),h(u)),o):o}function C(n){return tr(n)?Wr(n):{}}function D(n,t,r){if(typeof n!="function")return or;if(typeof t=="undefined"||!("prototype"in n))return n;var e=n.__bindData__;if(typeof e=="undefined"&&(Yr.funcNames&&(e=!n.name),e=e||!Yr.funcDecomp,!e)){var u=Rr.call(n);
Yr.funcNames||(e=!V.test(u)),e||(e=H.test(u),ne(n,e))}if(false===e||true!==e&&e[1]&A)return n;switch(r){case 1:return function(r){return n.call(t,r)};case 2:return function(r,e){return n.call(t,r,e)};case 3:return function(r,e,u){return n.call(t,r,e,u)};case 4:return function(r,e,u,o){return n.call(t,r,e,u,o)}}return Vt(n,t)}function ct(n){function t(){var n=f?i:this;if(u){var g=Et(u);Tr.apply(g,arguments)}return(o||c)&&(g||(g=Et(arguments)),o&&Tr.apply(g,o),c&&g.length<a)?(e|=I,e&=~S,ct([r,p?e:e&~(A|E),g,null,i,a])):(g||(g=arguments),l&&(r=n[s]),this instanceof t?(n=C(r.prototype),g=r.apply(n,g),tr(g)?g:n):r.apply(n,g))
}var r=n[0],e=n[1],u=n[2],o=n[3],i=n[4],a=n[5],f=e&A,l=e&E,c=e&N,p=e&R,s=r;return ne(t,n),t}function pt(n,e){var u=-1,o=wt(),i=n?n.length:0,a=i>=T&&o===t,f=[];if(a){var c=l(e);c?(o=r,e=c):a=false}for(;++u<i;)c=n[u],0>o(e,c)&&f.push(c);return a&&v(e),f}function st(n,t,r,e){e=(e||0)-1;for(var u=n?n.length:0,o=[];++e<u;){var i=n[e];if(i&&typeof i=="object"&&typeof i.length=="number"&&(oe(i)||xt(i))){t||(i=st(i,t,r));var a=-1,f=i.length,l=o.length;for(o.length+=f;++a<f;)o[l++]=i[a]}else r||o.push(i)}return o
}function gt(n,t,r,u,o,i){if(r){var a=r(n,t);if(typeof a!="undefined")return!!a}if(n===t)return 0!==n||1/n==1/t;var f=typeof n,l=typeof t;if(n===n&&(!n||"function"!=f&&"object"!=f)&&(!t||"function"!=l&&"object"!=l))return false;if(null==n||null==t)return n===t;if(l=Cr.call(n),f=Cr.call(t),l==Y&&(l=ut),f==Y&&(f=ut),l!=f)return false;switch(l){case nt:case tt:return+n==+t;case et:return n!=+n?t!=+t:0==n?1/n==1/t:n==+t;case ot:case it:return n==br(t)}if(f=l==Z,!f){var c=Sr.call(n,"__wrapped__"),p=Sr.call(t,"__wrapped__");
if(c||p)return gt(c?n.__wrapped__:n,p?t.__wrapped__:t,r,u,o,i);if(l!=ut)return false;if(l=n.constructor,c=t.constructor,l!=c&&!(Sr.call(n,"constructor")&&Sr.call(t,"constructor")||nr(l)&&l instanceof l&&nr(c)&&c instanceof c)&&"constructor"in n&&"constructor"in t)return false}for(l=!o,o||(o=s()),i||(i=s()),c=o.length;c--;)if(o[c]==n)return i[c]==t;var g=0,a=true;if(o.push(n),i.push(t),f){if(c=n.length,g=t.length,(a=g==c)||u)for(;g--;)if(f=c,p=t[g],u)for(;f--&&!(a=gt(n[f],p,r,u,o,i)););else if(!(a=gt(n[g],p,r,u,o,i)))break
}else e(t,function(t,e,f){return Sr.call(f,e)?(g++,a=Sr.call(n,e)&&gt(n[e],t,r,u,o,i)):void 0}),a&&!u&&e(n,function(n,t,r){return Sr.call(r,t)?a=-1<--g:void 0});return o.pop(),i.pop(),l&&(h(o),h(i)),a}function vt(n,t,r,e,u){(oe(t)?qt:Jt)(t,function(t,o){var i,a,f=t,l=n[o];if(t&&((a=oe(t))||ie(t))){for(f=e.length;f--;)if(i=e[f]==t){l=u[f];break}if(!i){var c;r&&(f=r(l,t),c=typeof f!="undefined")&&(l=f),c||(l=a?oe(l)?l:[]:ie(l)?l:{}),e.push(t),u.push(l),c||vt(l,t,r,e,u)}}else r&&(f=r(l,t),typeof f=="undefined"&&(f=t)),typeof f!="undefined"&&(l=f);
n[o]=l})}function yt(n,t){return n+Nr(Xr()*(t-n+1))}function bt(n,e,u){var o=-1,i=wt(),a=n?n.length:0,f=[],c=!e&&a>=T&&i===t,p=u||c?s():f;for(c&&(p=l(p),i=r);++o<a;){var g=n[o],y=u?u(g,o,n):g;(e?!o||p[p.length-1]!==y:0>i(p,y))&&((u||c)&&p.push(y),f.push(g))}return c?(h(p.g),v(p)):u&&h(p),f}function dt(n){return function(t,r,e){var u={};r=i.createCallback(r,e,3),e=-1;var o=t?t.length:0;if(typeof o=="number")for(;++e<o;){var a=t[e];n(u,a,r(a,e,t),t)}else Jt(t,function(t,e,o){n(u,t,r(t,e,o),o)});return u
}}function _t(n,t,r,e,u,o){var i=t&A,a=t&N,f=t&I,l=t&S;if(!(t&E||nr(n)))throw new dr;f&&!r.length&&(t&=-17,f=r=false),l&&!e.length&&(t&=-33,l=e=false);var c=n&&n.__bindData__;return c&&true!==c?(c=Et(c),c[2]&&(c[2]=Et(c[2])),c[3]&&(c[3]=Et(c[3])),!i||c[1]&A||(c[4]=u),!i&&c[1]&A&&(t|=8),!a||c[1]&N||(c[5]=o),f&&Tr.apply(c[2]||(c[2]=[]),r),l&&$r.apply(c[3]||(c[3]=[]),e),c[1]|=t,_t.apply(null,c)):(t==A||t==(A|I)?_:ct)([n,t,r,e,u,o])}function wt(){var n=(n=i.indexOf)===Ot?t:n;return n}function jt(n){return typeof n=="function"&&Or.test(Rr.call(n))
}function kt(n){var t,r;return n&&Cr.call(n)==ut&&(Sr.call(n,"constructor")||(t=n.constructor,!nr(t)||t instanceof t))?(e(n,function(n,t){r=t}),typeof r=="undefined"||Sr.call(n,r)):false}function xt(n){return n&&typeof n=="object"&&typeof n.length=="number"&&Cr.call(n)==Y||false}function Ct(n,t,r){var e=0,u=n?n.length:0;if(typeof t!="number"&&null!=t){var o=-1;for(t=i.createCallback(t,r,3);++o<u&&t(n[o],o,n);)e++}else if(e=t,null==e||r)return n?n[0]:k;return Et(n,0,0<e?e:0)}function Ot(n,r,e){var u=n?n.length:0;
if(typeof e=="number")e=0>e?Mr(0,u+e):e||0;else if(e)return e=Nt(n,r),u&&n[e]===r?e:-1;return t(n,r,e)}function At(n,t,r){if(typeof t!="number"&&null!=t){var e=0,u=-1,o=n?n.length:0;for(t=i.createCallback(t,r,3);++u<o&&t(n[u],u,n);)e++}else e=null==t||r?1:0<t?t:0;return Et(n,e)}function Et(n,t,r){var e=-1,u=n?n.length:0;for(typeof t=="undefined"?t=0:0>t?t=Mr(u+t,0):t>u&&(t=u),typeof r=="undefined"?r=u:0>r?r=Mr(u+r,0):r>u&&(r=u),u=r-t||0,r=cr(u);++e<u;)r[e]=n[t+e];return r}function Nt(n,t,r,e){var u=0,o=n?n.length:u;
for(r=r?i.createCallback(r,e,1):or,t=r(t);u<o;)e=u+o>>>1,r(n[e])<t?u=e+1:o=e;return u}function Rt(n,t,r,e){var u=typeof t;return"boolean"!=u&&null!=t&&(e=r,r=t,t=false,"number"!=u&&"string"!=u||!e||e[r]!==n||(r=null)),null!=r&&(r=i.createCallback(r,e,3)),bt(n,t,r)}function It(){for(var n=1<arguments.length?arguments:arguments[0],t=-1,r=n?Lt(ue(n,"length")):0,e=cr(0>r?0:r);++t<r;)e[t]=ue(n,t);return e}function St(n,t){var r=-1,e=n?n.length:0,u={};for(t||!e||oe(n[0])||(t=[]);++r<e;){var o=n[r];t?u[o]=t[r]:o&&(u[o[0]]=o[1])
}return u}function Tt(){return this.__wrapped__}function Dt(n,t,r){var e=n?n.length:0;if(r=typeof r=="number"?r:0,typeof e=="number"){if(r>=e)return false;if(typeof n=="string"||!oe(n)&&er(n))return qr?qr.call(n,t,r):-1<n.indexOf(t,r);var u=wt();return r=(0>r?Mr(0,e+r):r)||0,-1<u(n,t,r)}var o=-1,i=false;return Jt(n,function(n){return++o<r?void 0:!(i=n===t)}),i}function Ft(n,t,r){var e=true;t=i.createCallback(t,r,3),r=-1;var u=n?n.length:0;if(typeof u=="number")for(;++r<u&&(e=!!t(n[r],r,n)););else Jt(n,function(n,r,u){return e=!!t(n,r,u)
});return e}function $t(n,t,r){var e=[];t=i.createCallback(t,r,3),r=-1;var u=n?n.length:0;if(typeof u=="number")for(;++r<u;){var o=n[r];t(o,r,n)&&e.push(o)}else Jt(n,function(n,r,u){t(n,r,u)&&e.push(n)});return e}function Bt(n,t,r){t=i.createCallback(t,r,3),r=-1;var e=n?n.length:0;if(typeof e!="number"){var u;return Jt(n,function(n,r,e){return t(n,r,e)?(u=n,false):void 0}),u}for(;++r<e;){var o=n[r];if(t(o,r,n))return o}}function qt(n,t,r){var e=-1,u=n?n.length:0;if(t=t&&typeof r=="undefined"?t:D(t,r,3),typeof u=="number")for(;++e<u&&false!==t(n[e],e,n););else Jt(n,t);
return n}function Wt(n,t,r){var e=n?n.length:0;if(t=t&&typeof r=="undefined"?t:D(t,r,3),typeof e=="number")for(;e--&&false!==t(n[e],e,n););else{var u=ae(n),e=u.length;Jt(n,function(n,r,o){return r=u?u[--e]:--e,t(o[r],r,o)})}return n}function zt(n,t,r){var e=-1,u=n?n.length:0;if(t=i.createCallback(t,r,3),typeof u=="number")for(var o=cr(u);++e<u;)o[e]=t(n[e],e,n);else o=[],Jt(n,function(n,r,u){o[++e]=t(n,r,u)});return o}function Lt(n,t,r){var e=-1/0,o=e,a=typeof t;if("number"!=a&&"string"!=a||!r||r[t]!==n||(t=null),null==t&&oe(n))for(r=-1,a=n.length;++r<a;){var f=n[r];
f>o&&(o=f)}else t=null==t&&er(n)?u:i.createCallback(t,r,3),qt(n,function(n,r,u){r=t(n,r,u),r>e&&(e=r,o=n)});return o}function Pt(n,t,r,e){var u=3>arguments.length;t=i.createCallback(t,e,4);var o=-1,a=n?n.length:0;if(typeof a=="number")for(u&&a&&(r=n[++o]);++o<a;)r=t(r,n[o],o,n);else Jt(n,function(n,e,o){r=u?(u=false,n):t(r,n,e,o)});return r}function Kt(n,t,r,e){var u=3>arguments.length;return t=i.createCallback(t,e,4),Wt(n,function(n,e,o){r=u?(u=false,n):t(r,n,e,o)}),r}function Mt(n){var t=-1,r=n?n.length:0,e=cr(typeof r=="number"?r:0);
return qt(n,function(n){var r=yt(0,++t);e[t]=e[r],e[r]=n}),e}function Ut(n,t,r){var e;t=i.createCallback(t,r,3),r=-1;var u=n?n.length:0;if(typeof u=="number")for(;++r<u&&!(e=t(n[r],r,n)););else Jt(n,function(n,r,u){return!(e=t(n,r,u))});return!!e}function Vt(n,t){return 2<arguments.length?_t(n,A|I,Et(arguments,2),null,t):_t(n,A,null,null,t)}function Xt(n,t,r){function e(){c&&Er(c),i=c=p=k,(h||g!==t)&&(s=pe(),a=n.apply(l,o),c||i||(o=l=null))}function u(){var r=t-(pe()-f);0<r?c=Dr(u,r):(i&&Er(i),r=p,i=c=p=k,r&&(s=pe(),a=n.apply(l,o),c||i||(o=l=null)))
}var o,i,a,f,l,c,p,s=0,g=false,h=true;if(!nr(n))throw new dr;if(t=Mr(0,t)||0,true===r)var v=true,h=false;else tr(r)&&(v=r.leading,g="maxWait"in r&&(Mr(t,r.maxWait)||0),h="trailing"in r?r.trailing:h);return function(){if(o=arguments,f=pe(),l=this,p=h&&(c||!v),false===g)var r=v&&!c;else{i||v||(s=f);var y=g-(f-s),m=0>=y;m?(i&&(i=Er(i)),s=f,a=n.apply(l,o)):i||(i=Dr(e,y))}return m&&c?c=Er(c):c||t===g||(c=Dr(u,t)),r&&(m=true,a=n.apply(l,o)),!m||c||i||(o=l=null),a}}function Gt(n,t,r){var e=arguments,u=0,o=e.length,i=typeof r;
if("number"!=i&&"string"!=i||!e[3]||e[3][r]!==t||(o=2),3<o&&"function"==typeof e[o-2])var a=D(e[--o-1],e[o--],2);else 2<o&&"function"==typeof e[o-1]&&(a=e[--o]);for(;++u<o;)if(t=e[u],tr(t))for(var i=-1,f=ae(t),l=f.length;++i<l;){var c=f[i];n[c]=a?a(n[c],t[c]):t[c]}return n}function Ht(n,t,r){var e=arguments,u=0,o=e.length,i=typeof r;for("number"!=i&&"string"!=i||!e[3]||e[3][r]!==t||(o=2);++u<o;)if(t=e[u],tr(t))for(var i=-1,a=ae(t),f=a.length;++i<f;){var l=a[i];"undefined"==typeof n[l]&&(n[l]=t[l])
}return n}function Jt(n,t,r){var e=-1,u=ae(n),o=u.length;for(t=t&&typeof r=="undefined"?t:D(t,r,3);++e<o&&(r=u[e],false!==t(n[r],r,n)););return n}function Qt(n,t,r){var e=ae(n),u=e.length;for(t=D(t,r,3);u--&&(r=e[u],false!==t(n[r],r,n)););return n}function Yt(n){var t=[];return e(n,function(n,r){nr(n)&&t.push(r)}),t.sort()}function Zt(n){return n&&typeof n=="object"&&1===n.nodeType&&-1<Cr.call(n).indexOf("Element")||false}function nr(n){return typeof n=="function"}function tr(n){var t=typeof n;return n&&("function"==t||"object"==t)||false
}function rr(n){var t=typeof n;return"number"==t||n&&"object"==t&&Cr.call(n)==et||false}function er(n){return typeof n=="string"||n&&typeof n=="object"&&Cr.call(n)==it||false}function ur(n){for(var t=-1,r=ae(n),e=r.length,u=cr(e);++t<e;)u[t]=n[r[t]];return u}function or(n){return n}function ir(n){n||(n={});var t=ae(n),r=t[0],e=n[r];return 1!=t.length||e!==e||tr(e)?function(r){for(var e=t.length,u=false;e--&&(u=gt(r[t[e]],n[t[e]],null,true)););return u}:function(n){return n=n[r],e===n&&(0!==e||1/e==1/n)}}function ar(n,t,r){var e=true,u=t&&Yt(t);
t&&(r||u.length)||(null==r&&(r=t),t=n,n=i,u=Yt(t)),false===r?e=false:tr(r)&&"chain"in r&&(e=r.chain),r=-1;for(var o=nr(n),a=u?u.length:0;++r<a;){var f=u[r],l=n[f]=t[f];o&&(n.prototype[f]=function(t){return function(){var r=this.__chain__,u=this.__wrapped__,o=[u];if(Tr.apply(o,arguments),o=t.apply(n,o),e||r){if(u===o&&tr(o))return this;o=new n(o),o.__chain__=r}return o}}(l))}}function fr(){}function lr(n){return function(t){return t[n]}}n=n?mt.defaults(ht.Object(),n,mt.pick(ht,Q)):ht;var cr=n.Array,pr=n.Boolean,sr=n.Date,gr=n.Function,hr=n.Math,vr=n.Number,yr=n.Object,mr=n.RegExp,br=n.String,dr=n.TypeError,_r=cr.prototype,wr=yr.prototype,jr=br.prototype,kr=(kr=n.window)&&kr.document,xr=n._,Cr=wr.toString,Or=mr("^"+br(Cr).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ar=hr.ceil,Er=n.clearTimeout,Nr=hr.floor,Rr=gr.prototype.toString,Ir=jt(Ir=yr.getPrototypeOf)&&Ir,Sr=wr.hasOwnProperty,Tr=_r.push,Dr=n.setTimeout,Fr=_r.splice,$r=_r.unshift,Br=function(){try{var n={},t=jt(t=yr.defineProperty)&&t,r=t(n,n,n)&&t
}catch(e){}return r}(),qr=jt(qr=jr.contains)&&qr,Wr=jt(Wr=yr.create)&&Wr,zr=jt(zr=cr.isArray)&&zr,Lr=n.isFinite,Pr=n.isNaN,Kr=jt(Kr=yr.keys)&&Kr,Mr=hr.max,Ur=hr.min,Vr=n.parseInt,Xr=hr.random,Gr=jt(Gr=jr.trim)&&!Gr.call(F)&&Gr,Hr=jt(Hr=jr.trimLeft)&&!Hr.call(F)&&Hr,Jr=jt(Jr=jr.trimRight)&&!Jr.call(F)&&Jr,Qr={};Qr[Z]=cr,Qr[nt]=pr,Qr[tt]=sr,Qr[rt]=gr,Qr[ut]=yr,Qr[et]=vr,Qr[ot]=mr,Qr[it]=br,d.prototype=i.prototype;var Yr=i.support={};Yr.funcDecomp=!jt(n.WinRTError)&&H.test(j),Yr.funcNames=typeof gr.name=="string";
try{Yr.dom=11===kr.createDocumentFragment().nodeType}catch(Zr){Yr.dom=false}i.templateSettings={escape:L,evaluate:P,interpolate:K,variable:"",imports:{_:i}},Wr||(C=function(){function t(){}return function(r){if(tr(r)){t.prototype=r;var e=new t;t.prototype=null}return e||n.Object()}}());var ne=Br?function(n,t){lt.value=t,Br(n,"__bindData__",lt)}:fr,te=dt(function(n,t,r){Sr.call(n,r)?n[r]++:n[r]=1}),re=dt(function(n,t,r){Sr.call(n,r)?n[r].push(t):n[r]=[t]}),ee=dt(function(n,t,r){n[r]=t}),ue=zt,oe=zr||function(n){return n&&typeof n=="object"&&typeof n.length=="number"&&Cr.call(n)==Z||false
};Yr.dom||(Zt=function(n){return n&&typeof n=="object"&&1===n.nodeType&&!ie(n)||false});var ie=Ir?function(n){if(!n||Cr.call(n)!=ut)return false;var t=n.valueOf,r=jt(t)&&(r=Ir(t))&&Ir(r);return r?n==r||Ir(n)==r:kt(n)}:kt,ae=Kr?function(n){return tr(n)?Kr(n):[]}:o,fe=Gr?function(n,t){return null==n?"":null==t?Gr.call(n):y(n,t)}:y,le=Hr?function(n,t){return null==n?"":null==t?Hr.call(n):m(n,t)}:m,ce=Jr?function(n,t){return null==n?"":null==t?Jr.call(n):b(n,t)}:b,pe=jt(pe=sr.now)&&pe||function(){return(new sr).getTime()
},se=8==Vr(F+"08")?Vr:function(n,t){return n=fe(n),Vr(n,+t||(X.test(n)?16:10))};return i.after=function(n,t){if(!nr(t))throw new dr;return function(){return 1>--n?t.apply(this,arguments):void 0}},i.assign=Gt,i.at=function(n,t){var r=arguments,e=-1,u=st(r,true,false,1),o=u.length,i=typeof t;for("number"!=i&&"string"!=i||!r[2]||r[2][t]!==n||(o=1),r=cr(o);++e<o;)r[e]=n[u[e]];return r},i.bind=Vt,i.bindAll=function(n){for(var t=1<arguments.length?st(arguments,true,false,1):Yt(n),r=-1,e=t.length;++r<e;){var u=t[r];
n[u]=_t(n[u],A,null,null,n)}return n},i.bindKey=function(n,t){return 2<arguments.length?_t(t,A|E|I,Et(arguments,2),null,n):_t(t,A|E,null,null,n)},i.chain=function(n){return n=new d(n),n.__chain__=true,n},i.compact=function(n){for(var t=-1,r=n?n.length:0,e=0,u=[];++t<r;){var o=n[t];o&&(u[e++]=o)}return u},i.compose=function(){for(var n=arguments,t=n.length;t--;)if(!nr(n[t]))throw new dr;return function(){for(var t=arguments,r=n.length;r--;)t=[n[r].apply(this,t)];return t[0]}},i.constant=function(n){return function(){return n
}},i.countBy=te,i.create=function(n,t){var r=C(n);return t?Gt(r,t):r},i.createCallback=function(n,t,r){var e=typeof n;return null==n||"function"==e?D(n,t,r):"object"!=e?lr(n):ir(n)},i.curry=function(n,t){return t=typeof t=="number"?t:+t||n.length,_t(n,N,null,null,null,t)},i.debounce=Xt,i.defaults=Ht,i.defer=function(n){if(!nr(n))throw new dr;var t=Et(arguments,1);return Dr(function(){n.apply(k,t)},1)},i.delay=function(n,t){if(!nr(n))throw new dr;var r=Et(arguments,2);return Dr(function(){n.apply(k,r)
},t)},i.difference=function(n){return pt(n,st(arguments,true,true,1))},i.filter=$t,i.flatten=function(n,t,r,e){var u=typeof t;return"boolean"!=u&&null!=t&&(e=r,r=t,t=false,"number"!=u&&"string"!=u||!e||e[r]!==n||(r=null)),null!=r&&(n=zt(n,r,e)),st(n,t)},i.forEach=qt,i.forEachRight=Wt,i.forIn=e,i.forInRight=function(n,t,r){var u=[];e(n,function(n,t){u.push(t,n)});var o=u.length;for(t=D(t,r,3);o--&&false!==t(u[o--],u[o],n););return n},i.forOwn=Jt,i.forOwnRight=Qt,i.functions=Yt,i.groupBy=re,i.indexBy=ee,i.initial=function(n,t,r){var e=0,u=n?n.length:0;
if(typeof t!="number"&&null!=t){var o=u;for(t=i.createCallback(t,r,3);o--&&t(n[o],o,n);)e++}else e=null==t||r?1:t||e;return e=u-e,Et(n,0,0<e?e:0)},i.intersection=function(){for(var n=[],e=-1,u=arguments.length,o=s(),i=wt(),a=i===t,f=s();++e<u;){var c=arguments[e];(oe(c)||xt(c))&&(n.push(c),o.push(a&&c.length>=T&&l(e?n[e]:f)))}var a=n[0],p=-1,g=a?a.length:0,y=[];n:for(;++p<g;){var m=o[0],c=a[p];if(0>(m?r(m,c):i(f,c))){for(e=u,(m||f).push(c);--e;)if(m=o[e],0>(m?r(m,c):i(n[e],c)))continue n;y.push(c)
}}for(;u--;)(m=o[u])&&v(m);return h(o),h(f),y},i.invert=function(n,t){for(var r=-1,e=ae(n),u=e.length,o={};++r<u;){var i=e[r],a=n[i];t?Sr.call(o,a)?o[a].push(i):o[a]=[i]:o[a]=i}return o},i.invoke=function(n,t){var r=Et(arguments,2),e=-1,u=typeof t=="function",o=n?n.length:0,i=cr(typeof o=="number"?o:0);return qt(n,function(n){i[++e]=(u?t:n[t]).apply(n,r)}),i},i.keys=ae,i.map=zt,i.mapValues=function(n,t,r){var e={};return t=i.createCallback(t,r,3),Jt(n,function(n,r,u){e[r]=t(n,r,u)}),e},i.match=ir,i.max=Lt,i.memoize=function(n,t){function r(){var e=r.cache,u=t?t.apply(this,arguments):"_"+arguments[0];
return Sr.call(e,u)?e[u]:e[u]=n.apply(this,arguments)}if(!nr(n))throw new dr;return r.cache={},r},i.merge=function(n,t,r){if(!tr(n))return n;var e=arguments,u=e.length,o=typeof r;if("number"!=o&&"string"!=o||!e[3]||e[3][r]!==t||(u=2),3<u&&"function"==typeof e[u-2])var i=D(e[--u-1],e[u--],2);else 2<u&&"function"==typeof e[u-1]&&(i=e[--u]);for(var e=Et(arguments,1,u),o=-1,a=s(),f=s();++o<u;)vt(n,e[o],i,a,f);return h(a),h(f),n},i.min=function(n,t,r){var e=1/0,o=e,a=typeof t;if("number"!=a&&"string"!=a||!r||r[t]!==n||(t=null),null==t&&oe(n))for(r=-1,a=n.length;++r<a;){var f=n[r];
f<o&&(o=f)}else t=null==t&&er(n)?u:i.createCallback(t,r,3),qt(n,function(n,r,u){r=t(n,r,u),r<e&&(e=r,o=n)});return o},i.omit=function(n,t,r){var u={};if(typeof t!="function"){var o=[];e(n,function(n,t){o.push(t)});for(var o=pt(o,st(arguments,true,false,1)),a=-1,f=o.length;++a<f;){var l=o[a];u[l]=n[l]}}else t=i.createCallback(t,r,3),e(n,function(n,r,e){t(n,r,e)||(u[r]=n)});return u},i.once=function(n){var t,r;if(!nr(n))throw new dr;return function(){return t?r:(t=true,r=n.apply(this,arguments),n=null,r)}
},i.pairs=function(n){for(var t=-1,r=ae(n),e=r.length,u=cr(e);++t<e;){var o=r[t];u[t]=[o,n[o]]}return u},i.partial=function(n){return _t(n,I,Et(arguments,1))},i.partialRight=function(n){return _t(n,S,null,Et(arguments,1))},i.pick=function(n,t,r){var u={};if(typeof t!="function")for(var o=-1,a=st(arguments,true,false,1),f=tr(n)?a.length:0;++o<f;){var l=a[o];l in n&&(u[l]=n[l])}else t=i.createCallback(t,r,3),e(n,function(n,r,e){t(n,r,e)&&(u[r]=n)});return u},i.pluck=ue,i.property=lr,i.pull=function(n){for(var t=arguments,r=0,e=t.length,u=n?n.length:0;++r<e;)for(var o=-1,i=t[r];++o<u;)n[o]===i&&(Fr.call(n,o--,1),u--);
return n},i.range=function(n,t,r){n=+n||0,r=typeof r=="number"?r:+r||1,null==t&&(t=n,n=0);var e=-1;t=Mr(0,Ar((t-n)/(r||1)));for(var u=cr(t);++e<t;)u[e]=n,n+=r;return u},i.reject=function(n,t,r){return t=i.createCallback(t,r,3),$t(n,function(n,r,e){return!t(n,r,e)})},i.remove=function(n,t,r){var e=-1,u=n?n.length:0,o=[];for(t=i.createCallback(t,r,3);++e<u;)r=n[e],t(r,e,n)&&(o.push(r),Fr.call(n,e--,1),u--);return o},i.rest=At,i.shuffle=Mt,i.slice=Et,i.sortBy=function(n,t,r){var e=-1,u=t&&oe(t),o=n?n.length:0,l=cr(typeof o=="number"?o:0);
for(u||(t=i.createCallback(t,r,3)),qt(n,function(n,r,o){var i=l[++e]=g();i.j=e,i.k=n,i.i=u?zt(t,function(t){return n[t]}):t(n,r,o)}),o=l.length,l.sort(u?f:a);o--;)n=l[o],l[o]=n.k,v(n);return l},i.tap=function(n,t,r){return t.call(r,n),n},i.throttle=function(n,t,r){var e=true,u=true;if(!nr(n))throw new dr;return false===r?e=false:tr(r)&&(e="leading"in r?r.leading:e,u="trailing"in r?r.trailing:u),ft.leading=e,ft.maxWait=t,ft.trailing=u,Xt(n,t,ft)},i.times=function(n,t,r){n=-1<(n=+n)?n:0;var e=-1,u=cr(n);for(t=D(t,r,1);++e<n;)u[e]=t(e);
return u},i.toArray=function(n){return n&&typeof n.length=="number"?Et(n):ur(n)},i.transform=function(n,t,r,e){var u=oe(n);if(null==r)if(u)r=[];else{var o=n&&n.constructor;r=C(o&&o.prototype)}return t&&(t=i.createCallback(t,e,4),(u?qt:Jt)(n,function(n,e,u){return t(r,n,e,u)})),r},i.union=function(){return bt(st(arguments,true,true))},i.uniq=Rt,i.values=ur,i.where=$t,i.without=function(n){return pt(n,Et(arguments,1))},i.wrap=function(n,t){return _t(t,I,[n])},i.xor=function(){for(var n=-1,t=arguments.length;++n<t;){var r=arguments[n];
if(oe(r)||xt(r))var e=e?pt(e,r).concat(pt(r,e)):r}return e?bt(e):[]},i.zip=It,i.zipObject=St,i.collect=zt,i.drop=At,i.each=qt,i.eachRight=Wt,i.extend=Gt,i.methods=Yt,i.object=St,i.select=$t,i.tail=At,i.unique=Rt,i.unzip=It,ar(Gt({},i)),i.capitalize=function(n){return null==n?"":(n=br(n),n.charAt(0).toUpperCase()+n.slice(1))},i.clone=function(n,t,r,e){var u=typeof t;return"boolean"!=u&&null!=t&&(e=r,r=t,t=false,"number"!=u&&"string"!=u||!e||e[r]!==n||(r=null)),x(n,t,typeof r=="function"&&D(r,e,1))},i.cloneDeep=function(n,t,r){return x(n,true,typeof t=="function"&&D(t,r,1))
},i.contains=Dt,i.escape=function(n){return null==n?"":br(n).replace(z,c)},i.every=Ft,i.find=Bt,i.findIndex=function(n,t,r){var e=-1,u=n?n.length:0;for(t=i.createCallback(t,r,3);++e<u;)if(t(n[e],e,n))return e;return-1},i.findKey=function(n,t,r){var e;return t=i.createCallback(t,r,3),Jt(n,function(n,r,u){return t(n,r,u)?(e=r,false):void 0}),e},i.findLast=function(n,t,r){var e;return t=i.createCallback(t,r,3),Wt(n,function(n,r,u){return t(n,r,u)?(e=n,false):void 0}),e},i.findLastIndex=function(n,t,r){var e=n?n.length:0;
for(t=i.createCallback(t,r,3);e--;)if(t(n[e],e,n))return e;return-1},i.findLastKey=function(n,t,r){var e;return t=i.createCallback(t,r,3),Qt(n,function(n,r,u){return t(n,r,u)?(e=r,false):void 0}),e},i.has=function(n,t){return n?Sr.call(n,t):false},i.identity=or,i.indexOf=Ot,i.isArguments=xt,i.isArray=oe,i.isBoolean=function(n){return true===n||false===n||n&&typeof n=="object"&&Cr.call(n)==nt||false},i.isDate=function(n){return n&&typeof n=="object"&&Cr.call(n)==tt||false},i.isElement=Zt,i.isEmpty=function(n){var t=true;
if(!n)return t;var r=Cr.call(n),e=n.length;return r==Z||r==it||r==Y||r==ut&&typeof e=="number"&&nr(n.splice)?!e:(Jt(n,function(){return t=false}),t)},i.isEqual=function(n,t,r,e){return gt(n,t,typeof r=="function"&&D(r,e,2))},i.isFinite=function(n){return Lr(n)&&!Pr(parseFloat(n))},i.isFunction=nr,i.isNaN=function(n){return rr(n)&&n!=+n},i.isNull=function(n){return null===n},i.isNumber=rr,i.isObject=tr,i.isPlainObject=ie,i.isRegExp=function(n){return n&&typeof n=="object"&&Cr.call(n)==ot||false},i.isString=er,i.isUndefined=function(n){return typeof n=="undefined"
},i.lastIndexOf=function(n,t,r){var e=n?n.length:0;for(typeof r=="number"&&(e=(0>r?Mr(0,e+r):Ur(r,e-1))+1);e--;)if(n[e]===t)return e;return-1},i.mixin=ar,i.noConflict=function(){return n._=xr,this},i.noop=fr,i.now=pe,i.parseInt=se,i.random=function(n,t,r){var e=null==n,u=null==t;return null==r&&(u&&typeof n=="boolean"?(r=n,n=1):typeof t=="boolean"&&(r=t,u=true)),e&&u&&(t=1,u=false),n=+n||0,u?(t=n,n=0):t=+t||0,r||n%1||t%1?(r=Xr(),Ur(n+r*(t-n+parseFloat("1e-"+((r+"").length-1))),t)):yt(n,t)},i.reduce=Pt,i.reduceRight=Kt,i.result=function(n,t,r){return null==n?r:(r="undefined"!=typeof n[t]?n[t]:r,nr(r)?n[t]():r)
},i.runInContext=j,i.size=function(n){var t=n?n.length:0;return typeof t=="number"?t:ae(n).length},i.some=Ut,i.sortedIndex=Nt,i.template=function(n,t,r){var e=i.templateSettings;n=br(n||""),r=Ht({},r,e);var u,o=Ht({},r.imports,e.imports),e=ae(o),o=ur(o),a=0,f=r.interpolate||G,l="__p+='",f=mr((r.escape||G).source+"|"+f.source+"|"+(f===K?M:G).source+"|"+(r.evaluate||G).source+"|$","g");n.replace(f,function(t,r,e,o,i,f){return e||(e=o),l+=n.slice(a,f).replace(J,p),r&&(l+="'+__e("+r+")+'"),i&&(u=true,l+="';"+i+";\n__p+='"),e&&(l+="'+((__t=("+e+"))==null?'':__t)+'"),a=f+t.length,t
}),l+="';",f=r=r.variable,f||(r="obj",l="with("+r+"){"+l+"}"),l=(u?l.replace($,""):l).replace(B,"$1").replace(q,"$1;"),l="function("+r+"){"+(f?"":r+"||("+r+"={});")+"var __t,__p='',__e=_.escape"+(u?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+l+"return __p}";try{var c=gr(e,"return "+l).apply(k,o)}catch(s){throw s.source=l,s}return t?c(t):(c.source=l,c)},i.trim=fe,i.trimLeft=le,i.trimRight=ce,i.unescape=function(n){return null==n?"":(n=br(n),0>n.indexOf(";")?n:n.replace(W,w))
},i.uniqueId=function(n){var t=++O;return br(null==n?"":n)+t},i.all=Ft,i.any=Ut,i.detect=Bt,i.findWhere=Bt,i.foldl=Pt,i.foldr=Kt,i.include=Dt,i.inject=Pt,ar(function(){var n={};return Jt(i,function(t,r){i.prototype[r]||(n[r]=t)}),n}(),false),i.first=Ct,i.last=function(n,t,r){var e=0,u=n?n.length:0;if(typeof t!="number"&&null!=t){var o=u;for(t=i.createCallback(t,r,3);o--&&t(n[o],o,n);)e++}else if(e=t,null==e||r)return n?n[u-1]:k;return e=u-e,Et(n,0<e?e:0)},i.sample=function(n,t,r){return n&&typeof n.length!="number"&&(n=ur(n)),null==t||r?n?n[yt(0,n.length-1)]:k:(n=Mt(n),n.length=Ur(Mr(0,t),n.length),n)
},i.take=Ct,i.head=Ct,Jt(i,function(n,t){var r="sample"!==t;i.prototype[t]||(i.prototype[t]=function(t,e){var u=this.__chain__,o=n(this.__wrapped__,t,e);return u||null!=t&&(!e||r&&typeof t=="function")?new d(o,u):o})}),i.VERSION="2.4.1",i.prototype.chain=function(){return this.__chain__=true,this},i.prototype.toString=function(){return br(this.__wrapped__)},i.prototype.value=Tt,i.prototype.valueOf=Tt,qt(["join","pop","shift"],function(n){var t=_r[n];i.prototype[n]=function(){var n=this.__chain__,r=t.apply(this.__wrapped__,arguments);
return n?new d(r,n):r}}),qt(["push","reverse","sort","unshift"],function(n){var t=_r[n];i.prototype[n]=function(){return t.apply(this.__wrapped__,arguments),this}}),qt(["concat","splice"],function(n){var t=_r[n];i.prototype[n]=function(){return new d(t.apply(this.__wrapped__,arguments),this.__chain__)}}),i}var k,x=[],C=[],O=0,A=1,E=2,N=4,R=8,I=16,S=32,T=75,D=40,F=" \t\x0B\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000",$=/\b__p\+='';/g,B=/\b(__p\+=)''\+/g,q=/(__e\(.*?\)|\b__t\))\+'';/g,W=/&(?:amp|lt|gt|quot|#39);/g,z=/[&<>"']/g,L=/<%-([\s\S]+?)%>/g,P=/<%([\s\S]+?)%>/g,K=/<%=([\s\S]+?)%>/g,M=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,U=/\w*$/,V=/^\s*function[ \n\r\t]+\w/,X=/^0[xX]/,G=/($^)/,H=/\bthis\b/,J=/['\n\r\t\u2028\u2029\\]/g,Q="Array Boolean Date Function Math Number Object RegExp String _ clearTimeout document isFinite isNaN parseInt setTimeout TypeError window WinRTError".split(" "),Y="[object Arguments]",Z="[object Array]",nt="[object Boolean]",tt="[object Date]",rt="[object Function]",et="[object Number]",ut="[object Object]",ot="[object RegExp]",it="[object String]",at={};
at[rt]=false,at[Y]=at[Z]=at[nt]=at[tt]=at[et]=at[ut]=at[ot]=at[it]=true;var ft={leading:false,maxWait:0,trailing:false},lt={configurable:false,enumerable:false,value:null,writable:false},ct={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},pt={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"},st={"function":true,object:true},gt={"\\":"\\","'":"'","\n":"n","\r":"r","\t":"t","\u2028":"u2028","\u2029":"u2029"},ht=st[typeof window]&&window||this,vt=st[typeof exports]&&exports&&!exports.nodeType&&exports,yt=st[typeof global]&&global;
!yt||yt.global!==yt&&yt.window!==yt||(ht=yt);var yt=(st=st[typeof module]&&module&&!module.nodeType&&module)&&st.exports===vt&&vt,mt=j();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(ht._=mt, define(function(){return mt})):vt&&st?yt?(st.exports=mt)._=mt:vt._=mt:ht._=mt}).call(this);
;(function(){function n(n,t){if(n!==t){if(n>t||typeof n=="undefined")return 1;if(n<t||typeof t=="undefined")return-1}return 0}function t(n,t,r){r=(r||0)-1;for(var e=n?n.length:0;++r<e;)if(n[r]===t)return r;return-1}function r(n,t){return n.has(t)?0:-1}function e(n){return n.charCodeAt(0)}function u(n,t){for(var r=-1,e=n.length;++r<e&&0<=t.indexOf(n.charAt(r)););return r}function o(n,t){for(var r=n.length;r--&&0<=t.indexOf(n.charAt(r)););return r}function i(t,r){return n(t.i,r.i)||t.j-r.j}function a(t,r){for(var e=t.i,u=r.i,o=-1,i=e.length;++o<i;){var a=n(e[o],u[o]);
if(a)return a}return t.j-r.j}function f(n){return at[n]}function l(n){return"\\"+ct[n]}function c(){return w.pop()||[]}function p(n){n.length=0,w.length<R&&w.push(n)}function s(n){n.i=n.k=null,j.length<R&&j.push(n)}function g(n,t){return(n=null==n?"":n+"")?null==t?n.slice(y(n),m(n)+1):(t+="",n.slice(u(n,t),o(n,t)+1)):n}function h(n,t){return(n=null==n?"":n+"")?null==t?n.slice(y(n)):(t+="",n.slice(u(n,t))):n}function v(n,t){return(n=null==n?"":n+"")?null==t?n.slice(0,m(n)+1):(t+="",n.slice(0,o(n,t)+1)):n
}function y(n){for(var t=-1,r=n.length;++t<r;){var e=n.charCodeAt(t);if((160<e||9>e||13<e)&&32!=e&&160!=e&&5760!=e&&6158!=e&&(8192>e||8202<e&&8232!=e&&8233!=e&&8239!=e&&8287!=e&&12288!=e&&65279!=e))break}return t}function m(n){for(var t=n.length;t--;){var r=n.charCodeAt(t);if((160<r||9>r||13<r)&&32!=r&&160!=r&&5760!=r&&6158!=r&&(8192>r||8202<r&&8232!=r&&8233!=r&&8239!=r&&8287!=r&&12288!=r&&65279!=r))break}return t}function d(n){return ft[n]}function b(n){function u(n,t,r){if(!tr(n))return n;t=t&&typeof r=="undefined"?t:ft(t,r,3);
for(var e in n)if(false===t(n[e],e,n))break;return n}function o(n){var t=[];if(!tr(n))return t;for(var r in n)Ir.call(n,r)&&t.push(r);return t}function y(n){return n&&typeof n=="object"&&!ae(n)&&Ir.call(n,"__wrapped__")?n:new m(n)}function m(n,t){this.__chain__=!!t,this.__wrapped__=n}function w(n){function t(){if(e){var n=St(e);Tr.apply(n,arguments)}if(this instanceof t){var o=at(r.prototype),n=r.apply(o,n||arguments);return tr(n)?n:o}return r.apply(u,n||arguments)}var r=n[0],e=n[2],u=n[4];return re(t,n),t
}function R(n,t,r,e,u){if(r){var o=r(n);if(typeof o!="undefined")return o}if(!tr(n))return n;var i=Cr.call(n);if(!ut[i])return n;var a=Zr[i];switch(i){case Q:case Y:return new a(+n);case nt:case et:return new a(n);case rt:return o=a(n.source,P.exec(n)),o.lastIndex=n.lastIndex,o}if(i=ae(n),t){var f=!e;e||(e=c()),u||(u=c());for(var l=e.length;l--;)if(e[l]==n)return u[l];o=i?a(n.length):{}}else o=i?St(n):Gt({},n);return i&&(Ir.call(n,"index")&&(o.index=n.index),Ir.call(n,"input")&&(o.input=n.input)),t?(e.push(n),u.push(o),(i?qt:Jt)(n,function(n,i){o[i]=R(n,t,r,e,u)
}),f&&(p(e),p(u)),o):o}function at(n){return tr(n)?zr(n):{}}function ft(n,t,r){if(typeof n!="function")return or;if(typeof t=="undefined"||!("prototype"in n))return n;var e=n.__bindData__;if(typeof e=="undefined"&&(ne.funcNames&&(e=!n.name),e=e||!ne.funcDecomp,!e)){var u=Nr.call(n);ne.funcNames||(e=!K.test(u)),e||(e=V.test(u),re(n,e))}if(false===e||true!==e&&e[1]&x)return n;switch(r){case 1:return function(r){return n.call(t,r)};case 2:return function(r,e){return n.call(t,r,e)};case 3:return function(r,e,u){return n.call(t,r,e,u)
};case 4:return function(r,e,u,o){return n.call(t,r,e,u,o)}}return Vt(n,t)}function lt(n){function t(){var n=f?i:this;if(u){var g=St(u);Tr.apply(g,arguments)}return(o||c)&&(g||(g=St(arguments)),o&&Tr.apply(g,o),c&&g.length<a)?(e|=S,e&=~E,lt([r,p?e:e&~(x|C),g,null,i,a])):(g||(g=arguments),l&&(r=n[s]),this instanceof t?(n=at(r.prototype),g=r.apply(n,g),tr(g)?g:n):r.apply(n,g))}var r=n[0],e=n[1],u=n[2],o=n[3],i=n[4],a=n[5],f=e&x,l=e&C,c=e&O,p=e&A,s=r;return re(t,n),t}function ct(n,e){var u=-1,o=wt(),i=n?n.length:0,a=[];
for(Dr&&i>=N&&o===t&&(o=r,e=bt(e));++u<i;){var f=n[u];0>o(e,f)&&a.push(f)}return a}function st(n,t,r,e){e=(e||0)-1;for(var u=n?n.length:0,o=[];++e<u;){var i=n[e];if(i&&typeof i=="object"&&typeof i.length=="number"&&(ae(i)||xt(i))){t||(i=st(i,t,r));var a=-1,f=i.length,l=o.length;for(o.length+=f;++a<f;)o[l++]=i[a]}else r||o.push(i)}return o}function gt(n,t,r,e,o,i){if(r){var a=r(n,t);if(typeof a!="undefined")return!!a}if(n===t)return 0!==n||1/n==1/t;var f=typeof n,l=typeof t;if(n===n&&(!n||"function"!=f&&"object"!=f)&&(!t||"function"!=l&&"object"!=l))return false;
if(null==n||null==t)return n===t;if(l=Cr.call(n),f=Cr.call(t),l==H&&(l=tt),f==H&&(f=tt),l!=f)return false;switch(l){case Q:case Y:return+n==+t;case nt:return n!=+n?t!=+t:0==n?1/n==1/t:n==+t;case rt:case et:return n==dr(t)}if(f=l==J,!f){var s=Ir.call(n,"__wrapped__"),g=Ir.call(t,"__wrapped__");if(s||g)return gt(s?n.__wrapped__:n,g?t.__wrapped__:t,r,e,o,i);if(l!=tt)return false;if(l=n.constructor,s=t.constructor,l!=s&&!(Ir.call(n,"constructor")&&Ir.call(t,"constructor")||nr(l)&&l instanceof l&&nr(s)&&s instanceof s)&&"constructor"in n&&"constructor"in t)return false
}for(l=!o,o||(o=c()),i||(i=c()),s=o.length;s--;)if(o[s]==n)return i[s]==t;var h=0,a=true;if(o.push(n),i.push(t),f){if(s=n.length,h=t.length,(a=h==s)||e)for(;h--;)if(f=s,g=t[h],e)for(;f--&&!(a=gt(n[f],g,r,e,o,i)););else if(!(a=gt(n[h],g,r,e,o,i)))break}else u(t,function(t,u,f){return Ir.call(f,u)?(h++,a=Ir.call(n,u)&&gt(n[u],t,r,e,o,i)):void 0}),a&&!e&&u(n,function(n,t,r){return Ir.call(r,t)?a=-1<--h:void 0});return o.pop(),i.pop(),l&&(p(o),p(i)),a}function vt(n,t,r,e,u){(ae(t)?qt:Jt)(t,function(t,o){var i,a,f=t,l=n[o];
if(t&&((a=ae(t))||fe(t))){for(f=e.length;f--;)if(i=e[f]==t){l=u[f];break}if(!i){var c;r&&(f=r(l,t),c=typeof f!="undefined")&&(l=f),c||(l=a?ae(l)?l:[]:fe(l)?l:{}),e.push(t),u.push(l),c||vt(l,t,r,e,u)}}else r&&(f=r(l,t),typeof f=="undefined"&&(f=t)),typeof f!="undefined"&&(l=f);n[o]=l})}function yt(n,t){return n+Er(Hr()*(t-n+1))}function mt(n,e,u){var o=-1,i=wt(),a=n?n.length:0,f=Dr&&!e&&a>=N&&i===t,l=[];if(f)var s=bt(),i=r;else s=u?c():l;for(;++o<a;){var g=n[o],h=u?u(g,o,n):g;(e?!o||s[s.length-1]!==h:0>i(s,h))&&((u||f)&&s.push(h),l.push(g))
}return!f&&u&&p(s),l}function dt(n){return function(t,r,e){var u={};r=y.createCallback(r,e,3),e=-1;var o=t?t.length:0;if(typeof o=="number")for(;++e<o;){var i=t[e];n(u,i,r(i,e,t),t)}else Jt(t,function(t,e,o){n(u,t,r(t,e,o),o)});return u}}function bt(n){var t=new Dr,r=n?n.length:0;for(t.push=t.add;r--;)t.push(n[r]);return t}function _t(n,t,r,e,u,o){var i=t&x,a=t&O,f=t&S,l=t&E;if(!(t&C||nr(n)))throw new br;f&&!r.length&&(t&=-17,f=r=false),l&&!e.length&&(t&=-33,l=e=false);var c=n&&n.__bindData__;return c&&true!==c?(c=St(c),c[2]&&(c[2]=St(c[2])),c[3]&&(c[3]=St(c[3])),!i||c[1]&x||(c[4]=u),!i&&c[1]&x&&(t|=8),!a||c[1]&O||(c[5]=o),f&&Tr.apply(c[2]||(c[2]=[]),r),l&&Br.apply(c[3]||(c[3]=[]),e),c[1]|=t,_t.apply(null,c)):(t==x||t==(x|S)?w:lt)([n,t,r,e,u,o])
}function wt(){var n=(n=y.indexOf)===Ot?t:n;return n}function jt(n){return typeof n=="function"&&Or.test(Nr.call(n))}function kt(n){var t,r;return n&&Cr.call(n)==tt&&(Ir.call(n,"constructor")||(t=n.constructor,!nr(t)||t instanceof t))?(u(n,function(n,t){r=t}),typeof r=="undefined"||Ir.call(n,r)):false}function xt(n){return n&&typeof n=="object"&&typeof n.length=="number"&&Cr.call(n)==H||false}function Ct(n,t,r){var e=0,u=n?n.length:0;if(typeof t!="number"&&null!=t){var o=-1;for(t=y.createCallback(t,r,3);++o<u&&t(n[o],o,n);)e++
}else if(e=t,null==e||r)return n?n[0]:_;return St(n,0,0<e?e:0)}function Ot(n,r,e){var u=n?n.length:0;if(typeof e=="number")e=0>e?Ur(0,u+e):e||0;else if(e)return e=Et(n,r),u&&n[e]===r?e:-1;return t(n,r,e)}function At(n,t,r){if(typeof t!="number"&&null!=t){var e=0,u=-1,o=n?n.length:0;for(t=y.createCallback(t,r,3);++u<o&&t(n[u],u,n);)e++}else e=null==t||r?1:0<t?t:0;return St(n,e)}function St(n,t,r){var e=-1,u=n?n.length:0;for(typeof t=="undefined"?t=0:0>t?t=Ur(u+t,0):t>u&&(t=u),typeof r=="undefined"?r=u:0>r?r=Ur(u+r,0):r>u&&(r=u),u=r-t||0,r=cr(u);++e<u;)r[e]=n[t+e];
return r}function Et(n,t,r,e){var u=0,o=n?n.length:u;for(r=r?y.createCallback(r,e,1):or,t=r(t);u<o;)e=u+o>>>1,r(n[e])<t?u=e+1:o=e;return u}function Nt(n,t,r,e){var u=typeof t;return"boolean"!=u&&null!=t&&(e=r,r=t,t=false,"number"!=u&&"string"!=u||!e||e[r]!==n||(r=null)),null!=r&&(r=y.createCallback(r,e,3)),mt(n,t,r)}function Rt(){for(var n=1<arguments.length?arguments:arguments[0],t=-1,r=n?Lt(ie(n,"length")):0,e=cr(0>r?0:r);++t<r;)e[t]=ie(n,t);return e}function It(n,t){var r=-1,e=n?n.length:0,u={};for(t||!e||ae(n[0])||(t=[]);++r<e;){var o=n[r];
t?u[o]=t[r]:o&&(u[o[0]]=o[1])}return u}function Tt(){return this.__wrapped__}function Dt(n,t,r){var e=n?n.length:0;if(r=typeof r=="number"?r:0,typeof e=="number"){if(r>=e)return false;if(typeof n=="string"||!ae(n)&&er(n))return Wr?Wr.call(n,t,r):-1<n.indexOf(t,r);var u=wt();return r=(0>r?Ur(0,e+r):r)||0,-1<u(n,t,r)}var o=-1,i=false;return Jt(n,function(n){return++o<r?void 0:!(i=n===t)}),i}function Ft(n,t,r){var e=true;t=y.createCallback(t,r,3),r=-1;var u=n?n.length:0;if(typeof u=="number")for(;++r<u&&(e=!!t(n[r],r,n)););else Jt(n,function(n,r,u){return e=!!t(n,r,u)
});return e}function $t(n,t,r){var e=[];t=y.createCallback(t,r,3),r=-1;var u=n?n.length:0;if(typeof u=="number")for(;++r<u;){var o=n[r];t(o,r,n)&&e.push(o)}else Jt(n,function(n,r,u){t(n,r,u)&&e.push(n)});return e}function Bt(n,t,r){t=y.createCallback(t,r,3),r=-1;var e=n?n.length:0;if(typeof e!="number"){var u;return Jt(n,function(n,r,e){return t(n,r,e)?(u=n,false):void 0}),u}for(;++r<e;){var o=n[r];if(t(o,r,n))return o}}function qt(n,t,r){var e=-1,u=n?n.length:0;if(t=t&&typeof r=="undefined"?t:ft(t,r,3),typeof u=="number")for(;++e<u&&false!==t(n[e],e,n););else Jt(n,t);
return n}function Wt(n,t,r){var e=n?n.length:0;if(t=t&&typeof r=="undefined"?t:ft(t,r,3),typeof e=="number")for(;e--&&false!==t(n[e],e,n););else{var u=le(n),e=u.length;Jt(n,function(n,r,o){return r=u?u[--e]:--e,t(o[r],r,o)})}return n}function zt(n,t,r){var e=-1,u=n?n.length:0;if(t=y.createCallback(t,r,3),typeof u=="number")for(var o=cr(u);++e<u;)o[e]=t(n[e],e,n);else o=[],Jt(n,function(n,r,u){o[++e]=t(n,r,u)});return o}function Lt(n,t,r){var u=-1/0,o=u,i=typeof t;if("number"!=i&&"string"!=i||!r||r[t]!==n||(t=null),null==t&&ae(n))for(r=-1,i=n.length;++r<i;){var a=n[r];
a>o&&(o=a)}else t=null==t&&er(n)?e:y.createCallback(t,r,3),qt(n,function(n,r,e){r=t(n,r,e),r>u&&(u=r,o=n)});return o}function Pt(n,t,r,e){var u=3>arguments.length;t=y.createCallback(t,e,4);var o=-1,i=n?n.length:0;if(typeof i=="number")for(u&&i&&(r=n[++o]);++o<i;)r=t(r,n[o],o,n);else Jt(n,function(n,e,o){r=u?(u=false,n):t(r,n,e,o)});return r}function Kt(n,t,r,e){var u=3>arguments.length;return t=y.createCallback(t,e,4),Wt(n,function(n,e,o){r=u?(u=false,n):t(r,n,e,o)}),r}function Mt(n){var t=-1,r=n?n.length:0,e=cr(typeof r=="number"?r:0);
return qt(n,function(n){var r=yt(0,++t);e[t]=e[r],e[r]=n}),e}function Ut(n,t,r){var e;t=y.createCallback(t,r,3),r=-1;var u=n?n.length:0;if(typeof u=="number")for(;++r<u&&!(e=t(n[r],r,n)););else Jt(n,function(n,r,u){return!(e=t(n,r,u))});return!!e}function Vt(n,t){return 2<arguments.length?_t(n,x|S,St(arguments,2),null,t):_t(n,x,null,null,t)}function Xt(n,t,r){function e(){c&&Sr(c),i=c=p=_,(h||g!==t)&&(s=ge(),a=n.apply(l,o),c||i||(o=l=null))}function u(){var r=t-(ge()-f);0<r?c=Fr(u,r):(i&&Sr(i),r=p,i=c=p=_,r&&(s=ge(),a=n.apply(l,o),c||i||(o=l=null)))
}var o,i,a,f,l,c,p,s=0,g=false,h=true;if(!nr(n))throw new br;if(t=Ur(0,t)||0,true===r)var v=true,h=false;else tr(r)&&(v=r.leading,g="maxWait"in r&&(Ur(t,r.maxWait)||0),h="trailing"in r?r.trailing:h);return function(){if(o=arguments,f=ge(),l=this,p=h&&(c||!v),false===g)var r=v&&!c;else{i||v||(s=f);var y=g-(f-s),m=0>=y;m?(i&&(i=Sr(i)),s=f,a=n.apply(l,o)):i||(i=Fr(e,y))}return m&&c?c=Sr(c):c||t===g||(c=Fr(u,t)),r&&(m=true,a=n.apply(l,o)),!m||c||i||(o=l=null),a}}function Gt(n,t,r){var e=arguments,u=0,o=e.length,i=typeof r;
if("number"!=i&&"string"!=i||!e[3]||e[3][r]!==t||(o=2),3<o&&"function"==typeof e[o-2])var a=ft(e[--o-1],e[o--],2);else 2<o&&"function"==typeof e[o-1]&&(a=e[--o]);for(;++u<o;)if(t=e[u],tr(t))for(var i=-1,f=le(t),l=f.length;++i<l;){var c=f[i];n[c]=a?a(n[c],t[c]):t[c]}return n}function Ht(n,t,r){var e=arguments,u=0,o=e.length,i=typeof r;for("number"!=i&&"string"!=i||!e[3]||e[3][r]!==t||(o=2);++u<o;)if(t=e[u],tr(t))for(var i=-1,a=le(t),f=a.length;++i<f;){var l=a[i];"undefined"==typeof n[l]&&(n[l]=t[l])
}return n}function Jt(n,t,r){var e=-1,u=le(n),o=u.length;for(t=t&&typeof r=="undefined"?t:ft(t,r,3);++e<o&&(r=u[e],false!==t(n[r],r,n)););return n}function Qt(n,t,r){var e=le(n),u=e.length;for(t=ft(t,r,3);u--&&(r=e[u],false!==t(n[r],r,n)););return n}function Yt(n){var t=[];return u(n,function(n,r){nr(n)&&t.push(r)}),t.sort()}function Zt(n){return n&&typeof n=="object"&&1===n.nodeType&&-1<Cr.call(n).indexOf("Element")||false}function nr(n){return typeof n=="function"}function tr(n){var t=typeof n;return n&&("function"==t||"object"==t)||false
}function rr(n){var t=typeof n;return"number"==t||n&&"object"==t&&Cr.call(n)==nt||false}function er(n){return typeof n=="string"||n&&typeof n=="object"&&Cr.call(n)==et||false}function ur(n){for(var t=-1,r=le(n),e=r.length,u=cr(e);++t<e;)u[t]=n[r[t]];return u}function or(n){return n}function ir(n){n||(n={});var t=le(n),r=t[0],e=n[r];return 1!=t.length||e!==e||tr(e)?function(r){for(var e=t.length,u=false;e--&&(u=gt(r[t[e]],n[t[e]],null,true)););return u}:function(n){return n=n[r],e===n&&(0!==e||1/e==1/n)}}function ar(n,t,r){var e=true,u=t&&Yt(t);
t&&(r||u.length)||(null==r&&(r=t),t=n,n=y,u=Yt(t)),false===r?e=false:tr(r)&&"chain"in r&&(e=r.chain),r=-1;for(var o=nr(n),i=u?u.length:0;++r<i;){var a=u[r],f=n[a]=t[a];o&&(n.prototype[a]=function(t){return function(){var r=this.__chain__,u=this.__wrapped__,o=[u];if(Tr.apply(o,arguments),o=t.apply(n,o),e||r){if(u===o&&tr(o))return this;o=new n(o),o.__chain__=r}return o}}(f))}}function fr(){}function lr(n){return function(t){return t[n]}}n=n?ht.defaults(pt.Object(),n,ht.pick(pt,G)):pt;var cr=n.Array,pr=n.Boolean,sr=n.Date,gr=n.Function,hr=n.Math,vr=n.Number,yr=n.Object,mr=n.RegExp,dr=n.String,br=n.TypeError,_r=cr.prototype,wr=yr.prototype,jr=dr.prototype,kr=(kr=n.window)&&kr.document,xr=n._,Cr=wr.toString,Or=mr("^"+dr(Cr).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ar=hr.ceil,Sr=n.clearTimeout,Er=hr.floor,Nr=gr.prototype.toString,Rr=jt(Rr=yr.getPrototypeOf)&&Rr,Ir=wr.hasOwnProperty,Tr=_r.push,Dr=jt(Dr=n.Set)&&Dr,Fr=n.setTimeout,$r=_r.splice,Br=_r.unshift,qr=function(){try{var n={},t=jt(t=yr.defineProperty)&&t,r=t(n,n,n)&&t
}catch(e){}return r}(),Wr=jt(Wr=jr.contains)&&Wr,zr=jt(zr=yr.create)&&zr,Lr=jt(Lr=cr.isArray)&&Lr,Pr=n.isFinite,Kr=n.isNaN,Mr=jt(Mr=yr.keys)&&Mr,Ur=hr.max,Vr=hr.min,Xr=jt(Xr=sr.now)&&Xr,Gr=n.parseInt,Hr=hr.random,Jr=jt(Jr=jr.trim)&&!Jr.call(I)&&Jr,Qr=jt(Qr=jr.trimLeft)&&!Qr.call(I)&&Qr,Yr=jt(Yr=jr.trimRight)&&!Yr.call(I)&&Yr,Zr={};Zr[J]=cr,Zr[Q]=pr,Zr[Y]=sr,Zr[Z]=gr,Zr[tt]=yr,Zr[nt]=vr,Zr[rt]=mr,Zr[et]=dr,m.prototype=y.prototype;var ne=y.support={};ne.funcDecomp=!jt(n.WinRTError)&&V.test(b),ne.funcNames=typeof gr.name=="string";
try{ne.dom=11===kr.createDocumentFragment().nodeType}catch(te){ne.dom=false}y.templateSettings={escape:q,evaluate:W,interpolate:z,variable:"",imports:{_:y}},zr||(at=function(){function t(){}return function(r){if(tr(r)){t.prototype=r;var e=new t;t.prototype=null}return e||n.Object()}}());var re=qr?function(n,t){it.value=t,qr(n,"__bindData__",it)}:fr,ee=dt(function(n,t,r){Ir.call(n,r)?n[r]++:n[r]=1}),ue=dt(function(n,t,r){Ir.call(n,r)?n[r].push(t):n[r]=[t]}),oe=dt(function(n,t,r){n[r]=t}),ie=zt,ae=Lr||function(n){return n&&typeof n=="object"&&typeof n.length=="number"&&Cr.call(n)==J||false
};ne.dom||(Zt=function(n){return n&&typeof n=="object"&&1===n.nodeType&&!fe(n)||false});var fe=Rr?function(n){if(!n||Cr.call(n)!=tt)return false;var t=n.valueOf,r=jt(t)&&(r=Rr(t))&&Rr(r);return r?n==r||Rr(n)==r:kt(n)}:kt,le=Mr?function(n){return tr(n)?Mr(n):[]}:o,ce=Jr?function(n,t){return null==n?"":null==t?Jr.call(n):g(n,t)}:g,pe=Qr?function(n,t){return null==n?"":null==t?Qr.call(n):h(n,t)}:h,se=Yr?function(n,t){return null==n?"":null==t?Yr.call(n):v(n,t)}:v,ge=Xr||function(){return(new sr).getTime()},he=8==Gr(I+"08")?Gr:function(n,t){return n=ce(n),Gr(n,+t||(M.test(n)?16:10))
};return y.after=function(n,t){if(!nr(t))throw new br;return function(){return 1>--n?t.apply(this,arguments):void 0}},y.assign=Gt,y.at=function(n,t){var r=arguments,e=-1,u=st(r,true,false,1),o=u.length,i=typeof t;for("number"!=i&&"string"!=i||!r[2]||r[2][t]!==n||(o=1),r=cr(o);++e<o;)r[e]=n[u[e]];return r},y.bind=Vt,y.bindAll=function(n){for(var t=1<arguments.length?st(arguments,true,false,1):Yt(n),r=-1,e=t.length;++r<e;){var u=t[r];n[u]=_t(n[u],x,null,null,n)}return n},y.bindKey=function(n,t){return 2<arguments.length?_t(t,x|C|S,St(arguments,2),null,n):_t(t,x|C,null,null,n)
},y.chain=function(n){return n=new m(n),n.__chain__=true,n},y.compact=function(n){for(var t=-1,r=n?n.length:0,e=0,u=[];++t<r;){var o=n[t];o&&(u[e++]=o)}return u},y.compose=function(){for(var n=arguments,t=n.length;t--;)if(!nr(n[t]))throw new br;return function(){for(var t=arguments,r=n.length;r--;)t=[n[r].apply(this,t)];return t[0]}},y.constant=function(n){return function(){return n}},y.countBy=ee,y.create=function(n,t){var r=at(n);return t?Gt(r,t):r},y.createCallback=function(n,t,r){var e=typeof n;
return null==n||"function"==e?ft(n,t,r):"object"!=e?lr(n):ir(n)},y.curry=function(n,t){return t=typeof t=="number"?t:+t||n.length,_t(n,O,null,null,null,t)},y.debounce=Xt,y.defaults=Ht,y.defer=function(n){if(!nr(n))throw new br;var t=St(arguments,1);return Fr(function(){n.apply(_,t)},1)},y.delay=function(n,t){if(!nr(n))throw new br;var r=St(arguments,2);return Fr(function(){n.apply(_,r)},t)},y.difference=function(n){return ct(n,st(arguments,true,true,1))},y.filter=$t,y.flatten=function(n,t,r,e){var u=typeof t;
return"boolean"!=u&&null!=t&&(e=r,r=t,t=false,"number"!=u&&"string"!=u||!e||e[r]!==n||(r=null)),null!=r&&(n=zt(n,r,e)),st(n,t)},y.forEach=qt,y.forEachRight=Wt,y.forIn=u,y.forInRight=function(n,t,r){var e=[];u(n,function(n,t){e.push(t,n)});var o=e.length;for(t=ft(t,r,3);o--&&false!==t(e[o--],e[o],n););return n},y.forOwn=Jt,y.forOwnRight=Qt,y.functions=Yt,y.groupBy=ue,y.indexBy=oe,y.initial=function(n,t,r){var e=0,u=n?n.length:0;if(typeof t!="number"&&null!=t){var o=u;for(t=y.createCallback(t,r,3);o--&&t(n[o],o,n);)e++
}else e=null==t||r?1:t||e;return e=u-e,St(n,0,0<e?e:0)},y.intersection=function(){for(var n=[],e=-1,u=arguments.length,o=c(),i=wt(),a=Dr&&i===t,f=c();++e<u;){var l=arguments[e];(ae(l)||xt(l))&&(n.push(l),o.push(a&&l.length>=N&&bt(e?n[e]:f)))}var a=n[0],s=-1,g=a?a.length:0,h=[];n:for(;++s<g;){var v=o[0],l=a[s];if(0>(v?r(v,l):i(f,l))){for(e=u,(v||f).push(l);--e;)if(v=o[e],0>(v?r(v,l):i(n[e],l)))continue n;h.push(l)}}return p(o),p(f),h},y.invert=function(n,t){for(var r=-1,e=le(n),u=e.length,o={};++r<u;){var i=e[r],a=n[i];
t?Ir.call(o,a)?o[a].push(i):o[a]=[i]:o[a]=i}return o},y.invoke=function(n,t){var r=St(arguments,2),e=-1,u=typeof t=="function",o=n?n.length:0,i=cr(typeof o=="number"?o:0);return qt(n,function(n){i[++e]=(u?t:n[t]).apply(n,r)}),i},y.keys=le,y.map=zt,y.mapValues=function(n,t,r){var e={};return t=y.createCallback(t,r,3),Jt(n,function(n,r,u){e[r]=t(n,r,u)}),e},y.match=ir,y.max=Lt,y.memoize=function(n,t){function r(){var e=r.cache,u=t?t.apply(this,arguments):"_"+arguments[0];return Ir.call(e,u)?e[u]:e[u]=n.apply(this,arguments)
}if(!nr(n))throw new br;return r.cache={},r},y.merge=function(n,t,r){if(!tr(n))return n;var e=arguments,u=e.length,o=typeof r;if("number"!=o&&"string"!=o||!e[3]||e[3][r]!==t||(u=2),3<u&&"function"==typeof e[u-2])var i=ft(e[--u-1],e[u--],2);else 2<u&&"function"==typeof e[u-1]&&(i=e[--u]);for(var e=St(arguments,1,u),o=-1,a=c(),f=c();++o<u;)vt(n,e[o],i,a,f);return p(a),p(f),n},y.min=function(n,t,r){var u=1/0,o=u,i=typeof t;if("number"!=i&&"string"!=i||!r||r[t]!==n||(t=null),null==t&&ae(n))for(r=-1,i=n.length;++r<i;){var a=n[r];
a<o&&(o=a)}else t=null==t&&er(n)?e:y.createCallback(t,r,3),qt(n,function(n,r,e){r=t(n,r,e),r<u&&(u=r,o=n)});return o},y.omit=function(n,t,r){var e={};if(typeof t!="function"){var o=[];u(n,function(n,t){o.push(t)});for(var o=ct(o,st(arguments,true,false,1)),i=-1,a=o.length;++i<a;){var f=o[i];e[f]=n[f]}}else t=y.createCallback(t,r,3),u(n,function(n,r,u){t(n,r,u)||(e[r]=n)});return e},y.once=function(n){var t,r;if(!nr(n))throw new br;return function(){return t?r:(t=true,r=n.apply(this,arguments),n=null,r)}
},y.pairs=function(n){for(var t=-1,r=le(n),e=r.length,u=cr(e);++t<e;){var o=r[t];u[t]=[o,n[o]]}return u},y.partial=function(n){return _t(n,S,St(arguments,1))},y.partialRight=function(n){return _t(n,E,null,St(arguments,1))},y.pick=function(n,t,r){var e={};if(typeof t!="function")for(var o=-1,i=st(arguments,true,false,1),a=tr(n)?i.length:0;++o<a;){var f=i[o];f in n&&(e[f]=n[f])}else t=y.createCallback(t,r,3),u(n,function(n,r,u){t(n,r,u)&&(e[r]=n)});return e},y.pluck=ie,y.property=lr,y.pull=function(n){for(var t=arguments,r=0,e=t.length,u=n?n.length:0;++r<e;)for(var o=-1,i=t[r];++o<u;)n[o]===i&&($r.call(n,o--,1),u--);
return n},y.range=function(n,t,r){n=+n||0,r=typeof r=="number"?r:+r||1,null==t&&(t=n,n=0);var e=-1;t=Ur(0,Ar((t-n)/(r||1)));for(var u=cr(t);++e<t;)u[e]=n,n+=r;return u},y.reject=function(n,t,r){return t=y.createCallback(t,r,3),$t(n,function(n,r,e){return!t(n,r,e)})},y.remove=function(n,t,r){var e=-1,u=n?n.length:0,o=[];for(t=y.createCallback(t,r,3);++e<u;)r=n[e],t(r,e,n)&&(o.push(r),$r.call(n,e--,1),u--);return o},y.rest=At,y.shuffle=Mt,y.slice=St,y.sortBy=function(n,t,r){var e=-1,u=t&&ae(t),o=n?n.length:0,f=cr(typeof o=="number"?o:0);
for(u||(t=y.createCallback(t,r,3)),qt(n,function(n,r,o){var i=f[++e]=j.pop()||{i:null,j:0,k:null};i.j=e,i.k=n,i.i=u?zt(t,function(t){return n[t]}):t(n,r,o)}),o=f.length,f.sort(u?a:i);o--;)n=f[o],f[o]=n.k,s(n);return f},y.tap=function(n,t,r){return t.call(r,n),n},y.throttle=function(n,t,r){var e=true,u=true;if(!nr(n))throw new br;return false===r?e=false:tr(r)&&(e="leading"in r?r.leading:e,u="trailing"in r?r.trailing:u),ot.leading=e,ot.maxWait=t,ot.trailing=u,Xt(n,t,ot)},y.times=function(n,t,r){n=-1<(n=+n)?n:0;
var e=-1,u=cr(n);for(t=ft(t,r,1);++e<n;)u[e]=t(e);return u},y.toArray=function(n){return n&&typeof n.length=="number"?St(n):ur(n)},y.transform=function(n,t,r,e){var u=ae(n);if(null==r)if(u)r=[];else{var o=n&&n.constructor;r=at(o&&o.prototype)}return t&&(t=y.createCallback(t,e,4),(u?qt:Jt)(n,function(n,e,u){return t(r,n,e,u)})),r},y.union=function(){return mt(st(arguments,true,true))},y.uniq=Nt,y.values=ur,y.where=$t,y.without=function(n){return ct(n,St(arguments,1))},y.wrap=function(n,t){return _t(t,S,[n])
},y.xor=function(){for(var n=-1,t=arguments.length;++n<t;){var r=arguments[n];if(ae(r)||xt(r))var e=e?ct(e,r).concat(ct(r,e)):r}return e?mt(e):[]},y.zip=Rt,y.zipObject=It,y.collect=zt,y.drop=At,y.each=qt,y.eachRight=Wt,y.extend=Gt,y.methods=Yt,y.object=It,y.select=$t,y.tail=At,y.unique=Nt,y.unzip=Rt,ar(Gt({},y)),y.capitalize=function(n){return null==n?"":(n=dr(n),n.charAt(0).toUpperCase()+n.slice(1))},y.clone=function(n,t,r,e){var u=typeof t;return"boolean"!=u&&null!=t&&(e=r,r=t,t=false,"number"!=u&&"string"!=u||!e||e[r]!==n||(r=null)),R(n,t,typeof r=="function"&&ft(r,e,1))
},y.cloneDeep=function(n,t,r){return R(n,true,typeof t=="function"&&ft(t,r,1))},y.contains=Dt,y.escape=function(n){return null==n?"":dr(n).replace(B,f)},y.every=Ft,y.find=Bt,y.findIndex=function(n,t,r){var e=-1,u=n?n.length:0;for(t=y.createCallback(t,r,3);++e<u;)if(t(n[e],e,n))return e;return-1},y.findKey=function(n,t,r){var e;return t=y.createCallback(t,r,3),Jt(n,function(n,r,u){return t(n,r,u)?(e=r,false):void 0}),e},y.findLast=function(n,t,r){var e;return t=y.createCallback(t,r,3),Wt(n,function(n,r,u){return t(n,r,u)?(e=n,false):void 0
}),e},y.findLastIndex=function(n,t,r){var e=n?n.length:0;for(t=y.createCallback(t,r,3);e--;)if(t(n[e],e,n))return e;return-1},y.findLastKey=function(n,t,r){var e;return t=y.createCallback(t,r,3),Qt(n,function(n,r,u){return t(n,r,u)?(e=r,false):void 0}),e},y.has=function(n,t){return n?Ir.call(n,t):false},y.identity=or,y.indexOf=Ot,y.isArguments=xt,y.isArray=ae,y.isBoolean=function(n){return true===n||false===n||n&&typeof n=="object"&&Cr.call(n)==Q||false},y.isDate=function(n){return n&&typeof n=="object"&&Cr.call(n)==Y||false
},y.isElement=Zt,y.isEmpty=function(n){var t=true;if(!n)return t;var r=Cr.call(n),e=n.length;return r==J||r==et||r==H||r==tt&&typeof e=="number"&&nr(n.splice)?!e:(Jt(n,function(){return t=false}),t)},y.isEqual=function(n,t,r,e){return gt(n,t,typeof r=="function"&&ft(r,e,2))},y.isFinite=function(n){return Pr(n)&&!Kr(parseFloat(n))},y.isFunction=nr,y.isNaN=function(n){return rr(n)&&n!=+n},y.isNull=function(n){return null===n},y.isNumber=rr,y.isObject=tr,y.isPlainObject=fe,y.isRegExp=function(n){return n&&typeof n=="object"&&Cr.call(n)==rt||false
},y.isString=er,y.isUndefined=function(n){return typeof n=="undefined"},y.lastIndexOf=function(n,t,r){var e=n?n.length:0;for(typeof r=="number"&&(e=(0>r?Ur(0,e+r):Vr(r,e-1))+1);e--;)if(n[e]===t)return e;return-1},y.mixin=ar,y.noConflict=function(){return n._=xr,this},y.noop=fr,y.now=ge,y.parseInt=he,y.random=function(n,t,r){var e=null==n,u=null==t;return null==r&&(u&&typeof n=="boolean"?(r=n,n=1):typeof t=="boolean"&&(r=t,u=true)),e&&u&&(t=1,u=false),n=+n||0,u?(t=n,n=0):t=+t||0,r||n%1||t%1?(r=Hr(),Vr(n+r*(t-n+parseFloat("1e-"+((r+"").length-1))),t)):yt(n,t)
},y.reduce=Pt,y.reduceRight=Kt,y.result=function(n,t,r){return null==n?r:(r="undefined"!=typeof n[t]?n[t]:r,nr(r)?n[t]():r)},y.runInContext=b,y.size=function(n){var t=n?n.length:0;return typeof t=="number"?t:le(n).length},y.some=Ut,y.sortedIndex=Et,y.template=function(n,t,r){var e=y.templateSettings;n=dr(n||""),r=Ht({},r,e);var u,o=Ht({},r.imports,e.imports),e=le(o),o=ur(o),i=0,a=r.interpolate||U,f="__p+='",a=mr((r.escape||U).source+"|"+a.source+"|"+(a===z?L:U).source+"|"+(r.evaluate||U).source+"|$","g");
n.replace(a,function(t,r,e,o,a,c){return e||(e=o),f+=n.slice(i,c).replace(X,l),r&&(f+="'+__e("+r+")+'"),a&&(u=true,f+="';"+a+";\n__p+='"),e&&(f+="'+((__t=("+e+"))==null?'':__t)+'"),i=c+t.length,t}),f+="';",a=r=r.variable,a||(r="obj",f="with("+r+"){"+f+"}"),f=(u?f.replace(T,""):f).replace(D,"$1").replace(F,"$1;"),f="function("+r+"){"+(a?"":r+"||("+r+"={});")+"var __t,__p='',__e=_.escape"+(u?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+f+"return __p}";try{var c=gr(e,"return "+f).apply(_,o)
}catch(p){throw p.source=f,p}return t?c(t):(c.source=f,c)},y.trim=ce,y.trimLeft=pe,y.trimRight=se,y.unescape=function(n){return null==n?"":(n=dr(n),0>n.indexOf(";")?n:n.replace($,d))},y.uniqueId=function(n){var t=++k;return dr(null==n?"":n)+t},y.all=Ft,y.any=Ut,y.detect=Bt,y.findWhere=Bt,y.foldl=Pt,y.foldr=Kt,y.include=Dt,y.inject=Pt,ar(function(){var n={};return Jt(y,function(t,r){y.prototype[r]||(n[r]=t)}),n}(),false),y.first=Ct,y.last=function(n,t,r){var e=0,u=n?n.length:0;if(typeof t!="number"&&null!=t){var o=u;
for(t=y.createCallback(t,r,3);o--&&t(n[o],o,n);)e++}else if(e=t,null==e||r)return n?n[u-1]:_;return e=u-e,St(n,0<e?e:0)},y.sample=function(n,t,r){return n&&typeof n.length!="number"&&(n=ur(n)),null==t||r?n?n[yt(0,n.length-1)]:_:(n=Mt(n),n.length=Vr(Ur(0,t),n.length),n)},y.take=Ct,y.head=Ct,Jt(y,function(n,t){var r="sample"!==t;y.prototype[t]||(y.prototype[t]=function(t,e){var u=this.__chain__,o=n(this.__wrapped__,t,e);return u||null!=t&&(!e||r&&typeof t=="function")?new m(o,u):o})}),y.VERSION="2.4.1",y.prototype.chain=function(){return this.__chain__=true,this
},y.prototype.toString=function(){return dr(this.__wrapped__)},y.prototype.value=Tt,y.prototype.valueOf=Tt,qt(["join","pop","shift"],function(n){var t=_r[n];y.prototype[n]=function(){var n=this.__chain__,r=t.apply(this.__wrapped__,arguments);return n?new m(r,n):r}}),qt(["push","reverse","sort","unshift"],function(n){var t=_r[n];y.prototype[n]=function(){return t.apply(this.__wrapped__,arguments),this}}),qt(["concat","splice"],function(n){var t=_r[n];y.prototype[n]=function(){return new m(t.apply(this.__wrapped__,arguments),this.__chain__)
}}),y}var _,w=[],j=[],k=0,x=1,C=2,O=4,A=8,S=16,E=32,N=75,R=40,I=" \t\x0B\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000",T=/\b__p\+='';/g,D=/\b(__p\+=)''\+/g,F=/(__e\(.*?\)|\b__t\))\+'';/g,$=/&(?:amp|lt|gt|quot|#39);/g,B=/[&<>"']/g,q=/<%-([\s\S]+?)%>/g,W=/<%([\s\S]+?)%>/g,z=/<%=([\s\S]+?)%>/g,L=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,P=/\w*$/,K=/^\s*function[ \n\r\t]+\w/,M=/^0[xX]/,U=/($^)/,V=/\bthis\b/,X=/['\n\r\t\u2028\u2029\\]/g,G="Array Boolean Date Function Math Number Object RegExp Set String _ clearTimeout document isFinite isNaN parseInt setTimeout TypeError window WinRTError".split(" "),H="[object Arguments]",J="[object Array]",Q="[object Boolean]",Y="[object Date]",Z="[object Function]",nt="[object Number]",tt="[object Object]",rt="[object RegExp]",et="[object String]",ut={};
ut[Z]=false,ut[H]=ut[J]=ut[Q]=ut[Y]=ut[nt]=ut[tt]=ut[rt]=ut[et]=true;var ot={leading:false,maxWait:0,trailing:false},it={configurable:false,enumerable:false,value:null,writable:false},at={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},ft={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"},lt={"function":true,object:true},ct={"\\":"\\","'":"'","\n":"n","\r":"r","\t":"t","\u2028":"u2028","\u2029":"u2029"},pt=lt[typeof window]&&window||this,st=lt[typeof exports]&&exports&&!exports.nodeType&&exports,gt=lt[typeof global]&&global;
!gt||gt.global!==gt&&gt.window!==gt||(pt=gt);var gt=(lt=lt[typeof module]&&module&&!module.nodeType&&module)&&lt.exports===st&&st,ht=b();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(pt._=ht, define(function(){return ht})):st&&lt?gt?(lt.exports=ht)._=ht:st._=ht:pt._=ht}).call(this);

View File

@@ -239,6 +239,7 @@
nativeKeys = isNative(nativeKeys = Object.keys) && nativeKeys,
nativeMax = Math.max,
nativeMin = Math.min,
nativeNow = isNative(nativeNow = Date.now) && nativeNow,
nativeRandom = Math.random;
/*--------------------------------------------------------------------------*/
@@ -4765,7 +4766,7 @@
* _.defer(function() { console.log(_.now() - stamp); });
* // => logs the number of milliseconds it took for the deferred function to be called
*/
var now = isNative(now = Date.now) && now || function() {
var now = nativeNow || function() {
return new Date().getTime();
};

View File

@@ -6,35 +6,35 @@
;(function(){function n(n,r,t){t=(t||0)-1;for(var e=n?n.length:0;++t<e;)if(n[t]===r)return t;return-1}function r(n,r){var t;n:{t=n.i;var e=r.i;if(t!==e){if(t>e||typeof t=="undefined"){t=1;break n}if(t<e||typeof e=="undefined"){t=-1;break n}}t=0}return t||n.j-r.j}function t(n){return xr[n]}function e(n){return"\\"+Er[n]}function u(n){return Tr[n]}function o(n){return n instanceof o?n:new i(n)}function i(n,r){this.__chain__=!!r,this.__wrapped__=n}function f(n){function r(){if(e){var n=x(e);Cr.apply(n,arguments)
}if(this instanceof r){var o=a(t.prototype),n=t.apply(o,n||arguments);return J(n)?n:o}return t.apply(u,n||arguments)}var t=n[0],e=n[2],u=n[4];return r}function a(n){return J(n)?Vr(n):{}}function c(n,r,t){if(typeof n!="function")return Y;if(typeof r=="undefined"||!("prototype"in n))return n;switch(t){case 1:return function(t){return n.call(r,t)};case 2:return function(t,e){return n.call(r,t,e)};case 3:return function(t,e,u){return n.call(r,t,e,u)};case 4:return function(t,e,u,o){return n.call(r,t,e,u,o)
}}return W(n,r)}function l(n){function r(){var n=c?i:this;if(u){var h=x(u);Cr.apply(h,arguments)}return(o||s)&&(h||(h=x(arguments)),o&&Cr.apply(h,o),s&&h.length<f)?(e|=cr,e&=~lr,l([t,g?e:e&~(or|ir),h,null,i,f])):(h||(h=arguments),p&&(t=n[v]),this instanceof r?(n=a(t.prototype),h=t.apply(n,h),J(h)?h:n):t.apply(n,h))}var t=n[0],e=n[1],u=n[2],o=n[3],i=n[4],f=n[5],c=e&or,p=e&ir,s=e&fr,g=e&ar,v=t;return r}function p(n,r){for(var t=-1,e=m(),u=n?n.length:0,o=[];++t<u;){var i=n[t];0>e(r,i)&&o.push(i)}return o
}function s(n,r,t,e){e=(e||0)-1;for(var u=n?n.length:0,o=[];++e<u;){var i=n[e];if(i&&typeof i=="object"&&typeof i.length=="number"&&(ot(i)||b(i))){r||(i=s(i,r,t));var f=-1,a=i.length,c=o.length;for(o.length+=a;++f<a;)o[c++]=i[f]}else t||o.push(i)}return o}function g(n,r,t,e){if(n===r)return 0!==n||1/n==1/r;var u=typeof n,i=typeof r;if(n===n&&(!n||"function"!=u&&"object"!=u)&&(!r||"function"!=i&&"object"!=i))return false;if(null==n||null==r)return n===r;if(i=$r.call(n),u=$r.call(r),i!=u)return false;switch(i){case mr:case _r:return+n==+r;
case br:return n!=+n?r!=+r:0==n?1/n==1/r:n==+r;case wr:case jr:return n==r+""}if(u=i==yr,!u){var f=n instanceof o,a=r instanceof o;if(f||a)return g(f?n.__wrapped__:n,a?r.__wrapped__:r,t,e);if(i!=dr)return false;if(i=zr.call(n,"constructor"),f=zr.call(r,"constructor"),i!==f||!i&&(i=n.constructor,f=r.constructor,i!=f&&!(H(i)&&i instanceof i&&H(f)&&f instanceof f)&&"constructor"in n&&"constructor"in r))return false}for(t||(t=[]),e||(e=[]),i=t.length;i--;)if(t[i]==n)return e[i]==r;var c=true,l=0;if(t.push(n),e.push(r),u){if(l=r.length,c=l==n.length)for(;l--&&(c=g(n[l],r[l],t,e)););}else ut(r,function(r,u,o){return zr.call(o,u)?(l++,!(c=zr.call(n,u)&&g(n[u],r,t,e))&&ur):void 0
}),c&&ut(n,function(n,r,t){return zr.call(t,r)?!(c=-1<--l)&&ur:void 0});return t.pop(),e.pop(),c}function v(n,r,t){for(var e=-1,u=m(),o=n?n.length:0,i=[],f=t?[]:i;++e<o;){var a=n[e],c=t?t(a,e,n):a;(r?!e||f[f.length-1]!==c:0>u(f,c))&&(t&&f.push(c),i.push(a))}return i}function h(n){return function(r,t,e){var u={};t=X(t,e,3),e=-1;var o=r?r.length:0;if(typeof o=="number")for(;++e<o;){var i=r[e];n(u,i,t(i,e,r),r)}else U(r,function(r,e,o){n(u,r,t(r,e,o),o)});return u}}function y(n,r,t,e,u,o){var i=r&cr,a=r&lr;
}function s(n,r,t,e){e=(e||0)-1;for(var u=n?n.length:0,o=[];++e<u;){var i=n[e];if(i&&typeof i=="object"&&typeof i.length=="number"&&(it(i)||b(i))){r||(i=s(i,r,t));var f=-1,a=i.length,c=o.length;for(o.length+=a;++f<a;)o[c++]=i[f]}else t||o.push(i)}return o}function g(n,r,t,e){if(n===r)return 0!==n||1/n==1/r;var u=typeof n,i=typeof r;if(n===n&&(!n||"function"!=u&&"object"!=u)&&(!r||"function"!=i&&"object"!=i))return false;if(null==n||null==r)return n===r;if(i=$r.call(n),u=$r.call(r),i!=u)return false;switch(i){case mr:case _r:return+n==+r;
case br:return n!=+n?r!=+r:0==n?1/n==1/r:n==+r;case wr:case jr:return n==r+""}if(u=i==yr,!u){var f=n instanceof o,a=r instanceof o;if(f||a)return g(f?n.__wrapped__:n,a?r.__wrapped__:r,t,e);if(i!=dr)return false;if(i=zr.call(n,"constructor"),f=zr.call(r,"constructor"),i!==f||!i&&(i=n.constructor,f=r.constructor,i!=f&&!(H(i)&&i instanceof i&&H(f)&&f instanceof f)&&"constructor"in n&&"constructor"in r))return false}for(t||(t=[]),e||(e=[]),i=t.length;i--;)if(t[i]==n)return e[i]==r;var c=true,l=0;if(t.push(n),e.push(r),u){if(l=r.length,c=l==n.length)for(;l--&&(c=g(n[l],r[l],t,e)););}else ot(r,function(r,u,o){return zr.call(o,u)?(l++,!(c=zr.call(n,u)&&g(n[u],r,t,e))&&ur):void 0
}),c&&ot(n,function(n,r,t){return zr.call(t,r)?!(c=-1<--l)&&ur:void 0});return t.pop(),e.pop(),c}function v(n,r,t){for(var e=-1,u=m(),o=n?n.length:0,i=[],f=t?[]:i;++e<o;){var a=n[e],c=t?t(a,e,n):a;(r?!e||f[f.length-1]!==c:0>u(f,c))&&(t&&f.push(c),i.push(a))}return i}function h(n){return function(r,t,e){var u={};t=X(t,e,3),e=-1;var o=r?r.length:0;if(typeof o=="number")for(;++e<o;){var i=r[e];n(u,i,t(i,e,r),r)}else U(r,function(r,e,o){n(u,r,t(r,e,o),o)});return u}}function y(n,r,t,e,u,o){var i=r&cr,a=r&lr;
if(!(r&ir||H(n)))throw new TypeError;return i&&!t.length&&(r&=-17,t=false),a&&!e.length&&(r&=-33,e=false),(r==or||r==(or|cr)?f:l)([n,r,t,e,u,o])}function m(){var r=(r=o.indexOf)===w?n:r;return r}function _(n){return typeof n=="function"&&Ir.test(Wr.call(n))}function b(n){return n&&typeof n=="object"&&typeof n.length=="number"&&$r.call(n)==hr||false}function d(n,r,t){var e=0,u=n?n.length:0;if(typeof r!="number"&&null!=r){var o=-1;for(r=X(r,t,3);++o<u&&r(n[o],o,n);)e++}else if(e=r,null==e||t)return n?n[0]:tr;
return x(n,0,0<e?e:0)}function w(r,t,e){var u=r?r.length:0;if(typeof e=="number")e=0>e?Lr(0,u+e):e||0;else if(e)return e=T(r,t),u&&r[e]===t?e:-1;return n(r,t,e)}function j(n,r,t){if(typeof r!="number"&&null!=r){var e=0,u=-1,o=n?n.length:0;for(r=X(r,t,3);++u<o&&r(n[u],u,n);)e++}else e=null==r||t?1:0<r?r:0;return x(n,e)}function x(n,r,t){var e=-1,u=n?n.length:0;for(typeof r=="undefined"?r=0:0>r?r=Lr(u+r,0):r>u&&(r=u),typeof t=="undefined"?t=u:0>t?t=Lr(u+t,0):t>u&&(t=u),u=t-r||0,t=Array(u);++e<u;)t[e]=n[r+e];
return t}function T(n,r,t,e){var u=0,o=n?n.length:u;for(t=t?X(t,e,1):Y,r=t(r);u<o;)e=u+o>>>1,t(n[e])<r?u=e+1:o=e;return u}function A(n,r,t,e){var u=typeof r;return"boolean"!=u&&null!=r&&(e=t,t=r,r=false,"number"!=u&&"string"!=u||!e||e[t]!==n||(t=null)),null!=t&&(t=X(t,e,3)),v(n,r,t)}function E(n,r){var t=m(),e=n?n.length:0,u=false;return e&&typeof e=="number"?u=-1<t(n,r):U(n,function(n){return(u=n===r)&&ur}),u}function O(n,r,t){var e=true;r=X(r,t,3),t=-1;var u=n?n.length:0;if(typeof u=="number")for(;++t<u&&(e=!!r(n[t],t,n)););else U(n,function(n,t,u){return!(e=!!r(n,t,u))&&ur
});return e}function k(n,r,t){var e=[];r=X(r,t,3),t=-1;var u=n?n.length:0;if(typeof u=="number")for(;++t<u;){var o=n[t];r(o,t,n)&&e.push(o)}else U(n,function(n,t,u){r(n,t,u)&&e.push(n)});return e}function S(n,r,t){r=X(r,t,3),t=-1;var e=n?n.length:0;if(typeof e!="number"){var u;return U(n,function(n,t,e){return r(n,t,e)?(u=n,ur):void 0}),u}for(;++t<e;){var o=n[t];if(r(o,t,n))return o}}function N(n,r,t){var e=-1,u=n?n.length:0;if(r=r&&typeof t=="undefined"?r:c(r,t,3),typeof u=="number")for(;++e<u&&r(n[e],e,n)!==ur;);else U(n,r)
}function q(n,r){var t=n?n.length:0;if(typeof t=="number")for(;t--&&false!==r(n[t],t,n););else{var e=it(n),t=e.length;U(n,function(n,u,o){return u=e?e[--t]:--t,false===r(o[u],u,o)&&ur})}}function F(n,r,t){var e=-1,u=n?n.length:0;if(r=X(r,t,3),typeof u=="number")for(var o=Array(u);++e<u;)o[e]=r(n[e],e,n);else o=[],U(n,function(n,t,u){o[++e]=r(n,t,u)});return o}function B(n,r,t){var e=-1/0,u=e,o=typeof r;"number"!=o&&"string"!=o||!t||t[r]!==n||(r=null);var o=-1,i=n?n.length:0;if(null==r&&typeof i=="number")for(;++o<i;)t=n[o],t>u&&(u=t);
else r=X(r,t,3),N(n,function(n,t,o){t=r(n,t,o),t>e&&(e=t,u=n)});return u}function R(n,r,t,e){var u=3>arguments.length;r=X(r,e,4);var o=-1,i=n?n.length:0;if(typeof i=="number")for(u&&i&&(t=n[++o]);++o<i;)t=r(t,n[o],o,n);else U(n,function(n,e,o){t=u?(u=false,n):r(t,n,e,o)});return t}function $(n,r,t,e){var u=3>arguments.length;return r=X(r,e,4),q(n,function(n,e,o){t=u?(u=false,n):r(t,n,e,o)}),t}function I(n){var r=-1,t=n?n.length:0,e=Array(typeof t=="number"?t:0);return N(n,function(n){var t;t=++r,t=0+Dr(Xr()*(t-0+1)),e[r]=e[t],e[t]=n
}function q(n,r){var t=n?n.length:0;if(typeof t=="number")for(;t--&&false!==r(n[t],t,n););else{var e=ft(n),t=e.length;U(n,function(n,u,o){return u=e?e[--t]:--t,false===r(o[u],u,o)&&ur})}}function F(n,r,t){var e=-1,u=n?n.length:0;if(r=X(r,t,3),typeof u=="number")for(var o=Array(u);++e<u;)o[e]=r(n[e],e,n);else o=[],U(n,function(n,t,u){o[++e]=r(n,t,u)});return o}function B(n,r,t){var e=-1/0,u=e,o=typeof r;"number"!=o&&"string"!=o||!t||t[r]!==n||(r=null);var o=-1,i=n?n.length:0;if(null==r&&typeof i=="number")for(;++o<i;)t=n[o],t>u&&(u=t);
else r=X(r,t,3),N(n,function(n,t,o){t=r(n,t,o),t>e&&(e=t,u=n)});return u}function R(n,r,t,e){var u=3>arguments.length;r=X(r,e,4);var o=-1,i=n?n.length:0;if(typeof i=="number")for(u&&i&&(t=n[++o]);++o<i;)t=r(t,n[o],o,n);else U(n,function(n,e,o){t=u?(u=false,n):r(t,n,e,o)});return t}function $(n,r,t,e){var u=3>arguments.length;return r=X(r,e,4),q(n,function(n,e,o){t=u?(u=false,n):r(t,n,e,o)}),t}function I(n){var r=-1,t=n?n.length:0,e=Array(typeof t=="number"?t:0);return N(n,function(n){var t;t=++r,t=0+Dr(Yr()*(t-0+1)),e[r]=e[t],e[t]=n
}),e}function M(n,r,t){var e;r=X(r,t,3),t=-1;var u=n?n.length:0;if(typeof u=="number")for(;++t<u&&!(e=r(n[t],t,n)););else U(n,function(n,t,u){return(e=r(n,t,u))&&ur});return!!e}function D(n,r,t){return t&&G(r)?tr:(t?S:k)(n,r)}function W(n,r){return 2<arguments.length?y(n,or|cr,x(arguments,2),null,r):y(n,or,null,null,r)}function z(n,r,t){var e,u,o,i,f,a,c,l=0,p=false,s=true;if(!H(n))throw new TypeError;if(r=Lr(0,r)||0,true===t)var g=true,s=false;else J(t)&&(g=t.leading,p="maxWait"in t&&(Lr(r,t.maxWait)||0),s="trailing"in t?t.trailing:s);
var v=function(){var t=r-(ft()-i);0<t?a=setTimeout(v,t):(u&&clearTimeout(u),t=c,u=a=c=tr,t&&(l=ft(),o=n.apply(f,e),a||u||(e=f=null)))},h=function(){a&&clearTimeout(a),u=a=c=tr,(s||p!==r)&&(l=ft(),o=n.apply(f,e),a||u||(e=f=null))};return function(){if(e=arguments,i=ft(),f=this,c=s&&(a||!g),false===p)var t=g&&!a;else{u||g||(l=i);var y=p-(i-l),m=0>=y;m?(u&&(u=clearTimeout(u)),l=i,o=n.apply(f,e)):u||(u=setTimeout(h,y))}return m&&a?a=clearTimeout(a):a||r===p||(a=setTimeout(v,r)),t&&(m=true,o=n.apply(f,e)),!m||a||u||(e=f=null),o
}}function C(n,r,t){if(!n)return n;var e=arguments,u=0,o=e.length,i=typeof t;for("number"!=i&&"string"!=i||!e[3]||e[3][t]!==r||(o=2);++u<o;)if(r=e[u])for(var f in r)n[f]=r[f];return n}function P(n,r,t){if(!n)return n;var e=arguments,u=0,o=e.length,i=typeof t;for("number"!=i&&"string"!=i||!e[3]||e[3][t]!==r||(o=2);++u<o;)if(r=e[u])for(var f in r)"undefined"==typeof n[f]&&(n[f]=r[f]);return n}function U(n,r){for(var t=-1,e=it(n),u=e.length;++t<u;){var o=e[t];if(r(n[o],o,n)===ur)break}return n}function V(n){var r=[];
return ut(n,function(n,t){H(n)&&r.push(t)}),r.sort()}function G(n){if(!n)return true;if(ot(n)||L(n))return!n.length;for(var r in n)if(zr.call(n,r))return false;return true}function H(n){return typeof n=="function"}function J(n){var r=typeof n;return n&&("function"==r||"object"==r)||false}function K(n){var r=typeof n;return"number"==r||n&&"object"==r&&$r.call(n)==br||false}function L(n){return typeof n=="string"||n&&typeof n=="object"&&$r.call(n)==jr||false}function Q(n){for(var r=-1,t=it(n),e=t.length,u=Array(e);++r<e;)u[r]=n[t[r]];
return u}function X(n,r,t){var e=typeof n;return null==n||"function"==e?c(n,r,t):"object"!=e?rr(n):Z(n)}function Y(n){return n}function Z(n){n||(n={});var r=it(n);return function(t){for(var e=r.length,u=false;e--&&(u=t[r[e]]===n[r[e]]););return u}}function nr(n){for(var r=-1,t=V(n),e=t.length;++r<e;){var u=t[r];o.prototype[u]=function(){var r=o[u]=n[u];return function(){var n=[this.__wrapped__];return Cr.apply(n,arguments),n=r.apply(o,n),this.__chain__?new i(n,true):n}}()}}function rr(n){return function(r){return r[n]
var v=function(){var t=r-(at()-i);0<t?a=setTimeout(v,t):(u&&clearTimeout(u),t=c,u=a=c=tr,t&&(l=at(),o=n.apply(f,e),a||u||(e=f=null)))},h=function(){a&&clearTimeout(a),u=a=c=tr,(s||p!==r)&&(l=at(),o=n.apply(f,e),a||u||(e=f=null))};return function(){if(e=arguments,i=at(),f=this,c=s&&(a||!g),false===p)var t=g&&!a;else{u||g||(l=i);var y=p-(i-l),m=0>=y;m?(u&&(u=clearTimeout(u)),l=i,o=n.apply(f,e)):u||(u=setTimeout(h,y))}return m&&a?a=clearTimeout(a):a||r===p||(a=setTimeout(v,r)),t&&(m=true,o=n.apply(f,e)),!m||a||u||(e=f=null),o
}}function C(n,r,t){if(!n)return n;var e=arguments,u=0,o=e.length,i=typeof t;for("number"!=i&&"string"!=i||!e[3]||e[3][t]!==r||(o=2);++u<o;)if(r=e[u])for(var f in r)n[f]=r[f];return n}function P(n,r,t){if(!n)return n;var e=arguments,u=0,o=e.length,i=typeof t;for("number"!=i&&"string"!=i||!e[3]||e[3][t]!==r||(o=2);++u<o;)if(r=e[u])for(var f in r)"undefined"==typeof n[f]&&(n[f]=r[f]);return n}function U(n,r){for(var t=-1,e=ft(n),u=e.length;++t<u;){var o=e[t];if(r(n[o],o,n)===ur)break}return n}function V(n){var r=[];
return ot(n,function(n,t){H(n)&&r.push(t)}),r.sort()}function G(n){if(!n)return true;if(it(n)||L(n))return!n.length;for(var r in n)if(zr.call(n,r))return false;return true}function H(n){return typeof n=="function"}function J(n){var r=typeof n;return n&&("function"==r||"object"==r)||false}function K(n){var r=typeof n;return"number"==r||n&&"object"==r&&$r.call(n)==br||false}function L(n){return typeof n=="string"||n&&typeof n=="object"&&$r.call(n)==jr||false}function Q(n){for(var r=-1,t=ft(n),e=t.length,u=Array(e);++r<e;)u[r]=n[t[r]];
return u}function X(n,r,t){var e=typeof n;return null==n||"function"==e?c(n,r,t):"object"!=e?rr(n):Z(n)}function Y(n){return n}function Z(n){n||(n={});var r=ft(n);return function(t){for(var e=r.length,u=false;e--&&(u=t[r[e]]===n[r[e]]););return u}}function nr(n){for(var r=-1,t=V(n),e=t.length;++r<e;){var u=t[r];o.prototype[u]=function(){var r=o[u]=n[u];return function(){var n=[this.__wrapped__];return Cr.apply(n,arguments),n=r.apply(o,n),this.__chain__?new i(n,true):n}}()}}function rr(n){return function(r){return r[n]
}}var tr,er=0,ur="__lodash_break_1335248838000__",or=1,ir=2,fr=4,ar=8,cr=16,lr=32,pr=/&(?:amp|lt|gt|quot|#x27);/g,sr=/[&<>"']/g,gr=/($^)/,vr=/['\n\r\t\u2028\u2029\\]/g,hr="[object Arguments]",yr="[object Array]",mr="[object Boolean]",_r="[object Date]",br="[object Number]",dr="[object Object]",wr="[object RegExp]",jr="[object String]",xr={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;"},Tr={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#x27;":"'"},Ar={"function":true,object:true},Er={"\\":"\\","'":"'","\n":"n","\r":"r","\t":"t","\u2028":"u2028","\u2029":"u2029"},Or=Ar[typeof window]&&window||this,kr=Ar[typeof exports]&&exports&&!exports.nodeType&&exports,Sr=Ar[typeof global]&&global;
!Sr||Sr.global!==Sr&&Sr.window!==Sr||(Or=Sr);var Nr=Ar[typeof module]&&module&&!module.nodeType&&module,qr=Nr&&Nr.exports===kr&&kr,Fr=Array.prototype,Br=Object.prototype,Rr=Or._,$r=Br.toString,Ir=RegExp("^"+($r+"").replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Mr=Math.ceil,Dr=Math.floor,Wr=Function.prototype.toString,zr=Br.hasOwnProperty,Cr=Fr.push,Pr=Br.propertyIsEnumerable,Ur=Fr.splice,Vr=_(Vr=Object.create)&&Vr,Gr=_(Gr=Array.isArray)&&Gr,Hr=Or.isFinite,Jr=Or.isNaN,Kr=_(Kr=Object.keys)&&Kr,Lr=Math.max,Qr=Math.min,Xr=Math.random;
i.prototype=o.prototype;var Yr={};!function(){var n={0:1,length:1};Yr.spliceObjects=(Ur.call(n,0,1),!n[0])}(1),o.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,variable:""},Vr||(a=function(){function n(){}return function(r){if(J(r)){n.prototype=r;var t=new n;n.prototype=null}return t||Or.Object()}}()),b(arguments)||(b=function(n){return n&&typeof n=="object"&&typeof n.length=="number"&&zr.call(n,"callee")&&!Pr.call(n,"callee")||false});var Zr=function(n){var r=[];
if(!J(n))return r;for(var t in n)zr.call(n,t)&&r.push(t);return r},nt=h(function(n,r,t){zr.call(n,t)?n[t]++:n[t]=1}),rt=h(function(n,r,t){zr.call(n,t)?n[t].push(r):n[t]=[r]}),tt=h(function(n,r,t){n[t]=r}),et=F,ut=function(n,r){if(!J(n))return n;for(var t in n)if(r(n[t],t,n)===ur)break;return n},ot=Gr||function(n){return n&&typeof n=="object"&&typeof n.length=="number"&&$r.call(n)==yr||false};H(/x/)&&(H=function(n){return typeof n=="function"&&"[object Function]"==$r.call(n)});var it=Kr?function(n){return J(n)?Kr(n):[]
}:Zr,ft=_(ft=Date.now)&&ft||function(){return(new Date).getTime()};o.after=function(n,r){if(!H(r))throw new TypeError;return function(){return 1>--n?r.apply(this,arguments):void 0}},o.bind=W,o.bindAll=function(n){for(var r=1<arguments.length?s(arguments,true,false,1):V(n),t=-1,e=r.length;++t<e;){var u=r[t];n[u]=y(n[u],or,null,null,n)}return n},o.chain=function(n){return n=new i(n),n.__chain__=true,n},o.compact=function(n){for(var r=-1,t=n?n.length:0,e=0,u=[];++r<t;){var o=n[r];o&&(u[e++]=o)}return u},o.compose=function(){for(var n=arguments,r=n.length;r--;)if(!H(n[r]))throw new TypeError;
return function(){for(var r=arguments,t=n.length;t--;)r=[n[t].apply(this,r)];return r[0]}},o.countBy=nt,o.debounce=z,o.defaults=P,o.defer=function(n){if(!H(n))throw new TypeError;var r=x(arguments,1);return setTimeout(function(){n.apply(tr,r)},1)},o.delay=function(n,r){if(!H(n))throw new TypeError;var t=x(arguments,2);return setTimeout(function(){n.apply(tr,t)},r)},o.difference=function(n){return p(n,s(arguments,true,true,1))},o.filter=k,o.flatten=function(n,r){return s(n,r)},o.forEach=N,o.functions=V,o.groupBy=rt,o.indexBy=tt,o.initial=function(n,r,t){var e=0,u=n?n.length:0;
if(typeof r!="number"&&null!=r){var o=u;for(r=X(r,t,3);o--&&r(n[o],o,n);)e++}else e=null==r||t?1:r||e;return e=u-e,x(n,0,0<e?e:0)},o.intersection=function(){for(var n=[],r=-1,t=arguments.length;++r<t;){var e=arguments[r];(ot(e)||b(e))&&n.push(e)}var u=n[0],o=-1,i=m(),f=u?u.length:0,a=[];n:for(;++o<f;)if(e=u[o],0>i(a,e)){for(r=t;--r;)if(0>i(n[r],e))continue n;a.push(e)}return a},o.invert=function(n){for(var r=-1,t=it(n),e=t.length,u={};++r<e;){var o=t[r];u[n[o]]=o}return u},o.invoke=function(n,r){var t=x(arguments,2),e=-1,u=typeof r=="function",o=n?n.length:0,i=Array(typeof o=="number"?o:0);
return N(n,function(n){i[++e]=(u?r:n[r]).apply(n,t)}),i},o.keys=it,o.map=F,o.max=B,o.memoize=function(n,r){var t={};return function(){var e=r?r.apply(this,arguments):"_"+arguments[0];return zr.call(t,e)?t[e]:t[e]=n.apply(this,arguments)}},o.min=function(n,r,t){var e=1/0,u=e,o=typeof r;"number"!=o&&"string"!=o||!t||t[r]!==n||(r=null);var o=-1,i=n?n.length:0;if(null==r&&typeof i=="number")for(;++o<i;)t=n[o],t<u&&(u=t);else r=X(r,t,3),N(n,function(n,t,o){t=r(n,t,o),t<e&&(e=t,u=n)});return u},o.omit=function(n){var r=[];
ut(n,function(n,t){r.push(t)});for(var r=p(r,s(arguments,true,false,1)),t=-1,e=r.length,u={};++t<e;){var o=r[t];u[o]=n[o]}return u},o.once=function(n){var r,t;if(!H(n))throw new TypeError;return function(){return r?t:(r=true,t=n.apply(this,arguments),n=null,t)}},o.pairs=function(n){for(var r=-1,t=it(n),e=t.length,u=Array(e);++r<e;){var o=t[r];u[r]=[o,n[o]]}return u},o.partial=function(n){return y(n,cr,x(arguments,1))},o.pick=function(n){for(var r=-1,t=s(arguments,true,false,1),e=t.length,u={};++r<e;){var o=t[r];
o in n&&(u[o]=n[o])}return u},o.pluck=et,o.range=function(n,r,t){n=+n||0,t=+t||1,null==r&&(r=n,n=0);var e=-1;r=Lr(0,Mr((r-n)/t));for(var u=Array(r);++e<r;)u[e]=n,n+=t;return u},o.reject=function(n,r,t){return r=X(r,t,3),k(n,function(n,t,e){return!r(n,t,e)})},o.rest=j,o.shuffle=I,o.sortBy=function(n,t,e){var u=-1,o=n?n.length:0,i=Array(typeof o=="number"?o:0);for(t=X(t,e,3),N(n,function(n,r,e){i[++u]={i:t(n,r,e),j:u,k:n}}),o=i.length,i.sort(r);o--;)i[o]=i[o].k;return i},o.tap=function(n,r){return r(n),n
},o.throttle=function(n,r,t){var e=true,u=true;if(!H(n))throw new TypeError;return false===t?e=false:J(t)&&(e="leading"in t?t.leading:e,u="trailing"in t?t.trailing:u),t={},t.leading=e,t.maxWait=r,t.trailing=u,z(n,r,t)},o.times=function(n,r,t){n=-1<(n=+n)?n:0;var e=-1,u=Array(n);for(r=c(r,t,1);++e<n;)u[e]=r(e);return u},o.toArray=function(n){return ot(n)?x(n):n&&typeof n.length=="number"?F(n):Q(n)},o.union=function(){return v(s(arguments,true,true))},o.uniq=A,o.values=Q,o.where=D,o.without=function(n){return p(n,x(arguments,1))
},o.wrap=function(n,r){return y(r,cr,[n])},o.zip=function(){for(var n=-1,r=B(et(arguments,"length")),t=Array(0>r?0:r);++n<r;)t[n]=et(arguments,n);return t},o.collect=F,o.drop=j,o.each=N,o.extend=C,o.methods=V,o.object=function(n,r){var t=-1,e=n?n.length:0,u={};for(r||!e||ot(n[0])||(r=[]);++t<e;){var o=n[t];r?u[o]=r[t]:o&&(u[o[0]]=o[1])}return u},o.select=k,o.tail=j,o.unique=A,o.clone=function(n){return J(n)?ot(n)?x(n):C({},n):n},o.contains=E,o.escape=function(n){return null==n?"":(n+"").replace(sr,t)
},o.every=O,o.find=S,o.has=function(n,r){return n?zr.call(n,r):false},o.identity=Y,o.indexOf=w,o.isArguments=b,o.isArray=ot,o.isBoolean=function(n){return true===n||false===n||n&&typeof n=="object"&&$r.call(n)==mr||false},o.isDate=function(n){return n&&typeof n=="object"&&$r.call(n)==_r||false},o.isElement=function(n){return n&&1===n.nodeType||false},o.isEmpty=G,o.isEqual=function(n,r){return g(n,r)},o.isFinite=function(n){return Hr(n)&&!Jr(parseFloat(n))},o.isFunction=H,o.isNaN=function(n){return K(n)&&n!=+n},o.isNull=function(n){return null===n
},o.isNumber=K,o.isObject=J,o.isRegExp=function(n){var r=typeof n;return n&&("function"==r||"object"==r)&&$r.call(n)==wr||false},o.isString=L,o.isUndefined=function(n){return typeof n=="undefined"},o.lastIndexOf=function(n,r,t){var e=n?n.length:0;for(typeof t=="number"&&(e=(0>t?Lr(0,e+t):Qr(t,e-1))+1);e--;)if(n[e]===r)return e;return-1},o.mixin=nr,o.noConflict=function(){return Or._=Rr,this},o.random=function(n,r){return null==n&&null==r&&(r=1),n=+n||0,null==r?(r=n,n=0):r=+r||0,n+Dr(Xr()*(r-n+1))},o.reduce=R,o.reduceRight=$,o.result=function(n,r,t){return null==n?t:(t="undefined"!=typeof n[r]?n[r]:t,H(t)?n[r]():t)
},o.size=function(n){var r=n?n.length:0;return typeof r=="number"?r:it(n).length},o.some=M,o.sortedIndex=T,o.template=function(n,r,t){var u=o,i=u.templateSettings;n=(n||"")+"",t=P({},t,i);var f=0,a="__p+='",i=t.variable;n.replace(RegExp((t.escape||gr).source+"|"+(t.interpolate||gr).source+"|"+(t.evaluate||gr).source+"|$","g"),function(r,t,u,o,i){return a+=n.slice(f,i).replace(vr,e),t&&(a+="'+_.escape("+t+")+'"),o&&(a+="';"+o+";\n__p+='"),u&&(a+="'+((__t=("+u+"))==null?'':__t)+'"),f=i+r.length,r}),a+="';",i||(i="obj",a="with("+i+"||{}){"+a+"}"),a="function("+i+"){var __t,__p='',__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}"+a+"return __p}";
!Sr||Sr.global!==Sr&&Sr.window!==Sr||(Or=Sr);var Nr=Ar[typeof module]&&module&&!module.nodeType&&module,qr=Nr&&Nr.exports===kr&&kr,Fr=Array.prototype,Br=Object.prototype,Rr=Or._,$r=Br.toString,Ir=RegExp("^"+($r+"").replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Mr=Math.ceil,Dr=Math.floor,Wr=Function.prototype.toString,zr=Br.hasOwnProperty,Cr=Fr.push,Pr=Br.propertyIsEnumerable,Ur=Fr.splice,Vr=_(Vr=Object.create)&&Vr,Gr=_(Gr=Array.isArray)&&Gr,Hr=Or.isFinite,Jr=Or.isNaN,Kr=_(Kr=Object.keys)&&Kr,Lr=Math.max,Qr=Math.min,Xr=_(Xr=Date.now)&&Xr,Yr=Math.random;
i.prototype=o.prototype;var Zr={};!function(){var n={0:1,length:1};Zr.spliceObjects=(Ur.call(n,0,1),!n[0])}(1),o.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,variable:""},Vr||(a=function(){function n(){}return function(r){if(J(r)){n.prototype=r;var t=new n;n.prototype=null}return t||Or.Object()}}()),b(arguments)||(b=function(n){return n&&typeof n=="object"&&typeof n.length=="number"&&zr.call(n,"callee")&&!Pr.call(n,"callee")||false});var nt=function(n){var r=[];
if(!J(n))return r;for(var t in n)zr.call(n,t)&&r.push(t);return r},rt=h(function(n,r,t){zr.call(n,t)?n[t]++:n[t]=1}),tt=h(function(n,r,t){zr.call(n,t)?n[t].push(r):n[t]=[r]}),et=h(function(n,r,t){n[t]=r}),ut=F,ot=function(n,r){if(!J(n))return n;for(var t in n)if(r(n[t],t,n)===ur)break;return n},it=Gr||function(n){return n&&typeof n=="object"&&typeof n.length=="number"&&$r.call(n)==yr||false};H(/x/)&&(H=function(n){return typeof n=="function"&&"[object Function]"==$r.call(n)});var ft=Kr?function(n){return J(n)?Kr(n):[]
}:nt,at=Xr||function(){return(new Date).getTime()};o.after=function(n,r){if(!H(r))throw new TypeError;return function(){return 1>--n?r.apply(this,arguments):void 0}},o.bind=W,o.bindAll=function(n){for(var r=1<arguments.length?s(arguments,true,false,1):V(n),t=-1,e=r.length;++t<e;){var u=r[t];n[u]=y(n[u],or,null,null,n)}return n},o.chain=function(n){return n=new i(n),n.__chain__=true,n},o.compact=function(n){for(var r=-1,t=n?n.length:0,e=0,u=[];++r<t;){var o=n[r];o&&(u[e++]=o)}return u},o.compose=function(){for(var n=arguments,r=n.length;r--;)if(!H(n[r]))throw new TypeError;
return function(){for(var r=arguments,t=n.length;t--;)r=[n[t].apply(this,r)];return r[0]}},o.countBy=rt,o.debounce=z,o.defaults=P,o.defer=function(n){if(!H(n))throw new TypeError;var r=x(arguments,1);return setTimeout(function(){n.apply(tr,r)},1)},o.delay=function(n,r){if(!H(n))throw new TypeError;var t=x(arguments,2);return setTimeout(function(){n.apply(tr,t)},r)},o.difference=function(n){return p(n,s(arguments,true,true,1))},o.filter=k,o.flatten=function(n,r){return s(n,r)},o.forEach=N,o.functions=V,o.groupBy=tt,o.indexBy=et,o.initial=function(n,r,t){var e=0,u=n?n.length:0;
if(typeof r!="number"&&null!=r){var o=u;for(r=X(r,t,3);o--&&r(n[o],o,n);)e++}else e=null==r||t?1:r||e;return e=u-e,x(n,0,0<e?e:0)},o.intersection=function(){for(var n=[],r=-1,t=arguments.length;++r<t;){var e=arguments[r];(it(e)||b(e))&&n.push(e)}var u=n[0],o=-1,i=m(),f=u?u.length:0,a=[];n:for(;++o<f;)if(e=u[o],0>i(a,e)){for(r=t;--r;)if(0>i(n[r],e))continue n;a.push(e)}return a},o.invert=function(n){for(var r=-1,t=ft(n),e=t.length,u={};++r<e;){var o=t[r];u[n[o]]=o}return u},o.invoke=function(n,r){var t=x(arguments,2),e=-1,u=typeof r=="function",o=n?n.length:0,i=Array(typeof o=="number"?o:0);
return N(n,function(n){i[++e]=(u?r:n[r]).apply(n,t)}),i},o.keys=ft,o.map=F,o.max=B,o.memoize=function(n,r){var t={};return function(){var e=r?r.apply(this,arguments):"_"+arguments[0];return zr.call(t,e)?t[e]:t[e]=n.apply(this,arguments)}},o.min=function(n,r,t){var e=1/0,u=e,o=typeof r;"number"!=o&&"string"!=o||!t||t[r]!==n||(r=null);var o=-1,i=n?n.length:0;if(null==r&&typeof i=="number")for(;++o<i;)t=n[o],t<u&&(u=t);else r=X(r,t,3),N(n,function(n,t,o){t=r(n,t,o),t<e&&(e=t,u=n)});return u},o.omit=function(n){var r=[];
ot(n,function(n,t){r.push(t)});for(var r=p(r,s(arguments,true,false,1)),t=-1,e=r.length,u={};++t<e;){var o=r[t];u[o]=n[o]}return u},o.once=function(n){var r,t;if(!H(n))throw new TypeError;return function(){return r?t:(r=true,t=n.apply(this,arguments),n=null,t)}},o.pairs=function(n){for(var r=-1,t=ft(n),e=t.length,u=Array(e);++r<e;){var o=t[r];u[r]=[o,n[o]]}return u},o.partial=function(n){return y(n,cr,x(arguments,1))},o.pick=function(n){for(var r=-1,t=s(arguments,true,false,1),e=t.length,u={};++r<e;){var o=t[r];
o in n&&(u[o]=n[o])}return u},o.pluck=ut,o.range=function(n,r,t){n=+n||0,t=+t||1,null==r&&(r=n,n=0);var e=-1;r=Lr(0,Mr((r-n)/t));for(var u=Array(r);++e<r;)u[e]=n,n+=t;return u},o.reject=function(n,r,t){return r=X(r,t,3),k(n,function(n,t,e){return!r(n,t,e)})},o.rest=j,o.shuffle=I,o.sortBy=function(n,t,e){var u=-1,o=n?n.length:0,i=Array(typeof o=="number"?o:0);for(t=X(t,e,3),N(n,function(n,r,e){i[++u]={i:t(n,r,e),j:u,k:n}}),o=i.length,i.sort(r);o--;)i[o]=i[o].k;return i},o.tap=function(n,r){return r(n),n
},o.throttle=function(n,r,t){var e=true,u=true;if(!H(n))throw new TypeError;return false===t?e=false:J(t)&&(e="leading"in t?t.leading:e,u="trailing"in t?t.trailing:u),t={},t.leading=e,t.maxWait=r,t.trailing=u,z(n,r,t)},o.times=function(n,r,t){n=-1<(n=+n)?n:0;var e=-1,u=Array(n);for(r=c(r,t,1);++e<n;)u[e]=r(e);return u},o.toArray=function(n){return it(n)?x(n):n&&typeof n.length=="number"?F(n):Q(n)},o.union=function(){return v(s(arguments,true,true))},o.uniq=A,o.values=Q,o.where=D,o.without=function(n){return p(n,x(arguments,1))
},o.wrap=function(n,r){return y(r,cr,[n])},o.zip=function(){for(var n=-1,r=B(ut(arguments,"length")),t=Array(0>r?0:r);++n<r;)t[n]=ut(arguments,n);return t},o.collect=F,o.drop=j,o.each=N,o.extend=C,o.methods=V,o.object=function(n,r){var t=-1,e=n?n.length:0,u={};for(r||!e||it(n[0])||(r=[]);++t<e;){var o=n[t];r?u[o]=r[t]:o&&(u[o[0]]=o[1])}return u},o.select=k,o.tail=j,o.unique=A,o.clone=function(n){return J(n)?it(n)?x(n):C({},n):n},o.contains=E,o.escape=function(n){return null==n?"":(n+"").replace(sr,t)
},o.every=O,o.find=S,o.has=function(n,r){return n?zr.call(n,r):false},o.identity=Y,o.indexOf=w,o.isArguments=b,o.isArray=it,o.isBoolean=function(n){return true===n||false===n||n&&typeof n=="object"&&$r.call(n)==mr||false},o.isDate=function(n){return n&&typeof n=="object"&&$r.call(n)==_r||false},o.isElement=function(n){return n&&1===n.nodeType||false},o.isEmpty=G,o.isEqual=function(n,r){return g(n,r)},o.isFinite=function(n){return Hr(n)&&!Jr(parseFloat(n))},o.isFunction=H,o.isNaN=function(n){return K(n)&&n!=+n},o.isNull=function(n){return null===n
},o.isNumber=K,o.isObject=J,o.isRegExp=function(n){var r=typeof n;return n&&("function"==r||"object"==r)&&$r.call(n)==wr||false},o.isString=L,o.isUndefined=function(n){return typeof n=="undefined"},o.lastIndexOf=function(n,r,t){var e=n?n.length:0;for(typeof t=="number"&&(e=(0>t?Lr(0,e+t):Qr(t,e-1))+1);e--;)if(n[e]===r)return e;return-1},o.mixin=nr,o.noConflict=function(){return Or._=Rr,this},o.random=function(n,r){return null==n&&null==r&&(r=1),n=+n||0,null==r?(r=n,n=0):r=+r||0,n+Dr(Yr()*(r-n+1))},o.reduce=R,o.reduceRight=$,o.result=function(n,r,t){return null==n?t:(t="undefined"!=typeof n[r]?n[r]:t,H(t)?n[r]():t)
},o.size=function(n){var r=n?n.length:0;return typeof r=="number"?r:ft(n).length},o.some=M,o.sortedIndex=T,o.template=function(n,r,t){var u=o,i=u.templateSettings;n=(n||"")+"",t=P({},t,i);var f=0,a="__p+='",i=t.variable;n.replace(RegExp((t.escape||gr).source+"|"+(t.interpolate||gr).source+"|"+(t.evaluate||gr).source+"|$","g"),function(r,t,u,o,i){return a+=n.slice(f,i).replace(vr,e),t&&(a+="'+_.escape("+t+")+'"),o&&(a+="';"+o+";\n__p+='"),u&&(a+="'+((__t=("+u+"))==null?'':__t)+'"),f=i+r.length,r}),a+="';",i||(i="obj",a="with("+i+"||{}){"+a+"}"),a="function("+i+"){var __t,__p='',__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}"+a+"return __p}";
try{var c=Function("_","return "+a)(u)}catch(l){throw l.source=a,l}return r?c(r):(c.source=a,c)},o.unescape=function(n){return null==n?"":(n+="",0>n.indexOf(";")?n:n.replace(pr,u))},o.uniqueId=function(n){var r=++er+"";return n?n+r:r},o.all=O,o.any=M,o.detect=S,o.findWhere=function(n,r){return D(n,r,true)},o.foldl=R,o.foldr=$,o.include=E,o.inject=R,o.first=d,o.last=function(n,r,t){var e=0,u=n?n.length:0;if(typeof r!="number"&&null!=r){var o=u;for(r=X(r,t,3);o--&&r(n[o],o,n);)e++}else if(e=r,null==e||t)return n?n[u-1]:tr;
return e=u-e,x(n,0<e?e:0)},o.sample=function(n,r,t){return n&&typeof n.length!="number"&&(n=Q(n)),null==r||t?n?n[0+Dr(Xr()*(n.length-1-0+1))]:tr:(n=I(n),n.length=Qr(Lr(0,r),n.length),n)},o.take=d,o.head=d,nr(C({},o)),o.VERSION="2.4.1",o.prototype.chain=function(){return this.__chain__=true,this},o.prototype.value=function(){return this.__wrapped__},N("pop push reverse shift sort splice unshift".split(" "),function(n){var r=Fr[n];o.prototype[n]=function(){var n=this.__wrapped__;return r.apply(n,arguments),Yr.spliceObjects||0!==n.length||delete n[0],this
return e=u-e,x(n,0<e?e:0)},o.sample=function(n,r,t){return n&&typeof n.length!="number"&&(n=Q(n)),null==r||t?n?n[0+Dr(Yr()*(n.length-1-0+1))]:tr:(n=I(n),n.length=Qr(Lr(0,r),n.length),n)},o.take=d,o.head=d,nr(C({},o)),o.VERSION="2.4.1",o.prototype.chain=function(){return this.__chain__=true,this},o.prototype.value=function(){return this.__wrapped__},N("pop push reverse shift sort splice unshift".split(" "),function(n){var r=Fr[n];o.prototype[n]=function(){var n=this.__wrapped__;return r.apply(n,arguments),Zr.spliceObjects||0!==n.length||delete n[0],this
}}),N(["concat","join","slice"],function(n){var r=Fr[n];o.prototype[n]=function(){var n=r.apply(this.__wrapped__,arguments);return this.__chain__&&(n=new i(n),n.__chain__=true),n}}),typeof define=="function"&&typeof define.amd=="object"&&define.amd?(Or._=o, define(function(){return o})):kr&&Nr?qr?(Nr.exports=o)._=o:kr._=o:Or._=o}).call(this);

160
lodash.js
View File

@@ -85,7 +85,7 @@
/** Used to assign default `context` object properties */
var contextProps = [
'Array', 'Boolean', 'Date', 'Error', 'Function', 'Math', 'Number', 'Object',
'RegExp', 'String', '_', 'clearTimeout', 'document', 'isFinite', 'isNaN',
'RegExp', 'Set', 'String', '_', 'clearTimeout', 'document', 'isFinite', 'isNaN',
'parseInt', 'setTimeout', 'TypeError', 'window', 'WinRTError'
];
@@ -247,53 +247,7 @@
* @returns {number} Returns `0` if `value` is found, else `-1`.
*/
function cacheIndexOf(cache, value) {
var type = typeof value;
cache = cache.cache;
if (type == 'boolean' || value == null) {
return cache[value] ? 0 : -1;
}
if (type != 'number' && type != 'string') {
type = 'object';
}
var key = type == 'number' ? value : '_' + value;
cache = (cache = cache[type]) && cache[key];
return type == 'object'
? (cache && baseIndexOf(cache, value) > -1 ? 0 : -1)
: (cache ? 0 : -1);
}
/**
* Adds a given value to the corresponding cache object.
*
* @private
* @param {*} value The value to add to the cache.
*/
function cachePush(value) {
var cache = this.cache,
type = typeof value;
if (type == 'boolean' || value == null) {
cache[value] = true;
} else {
if (type != 'number' && type != 'string') {
type = 'object';
}
var key = type == 'number' ? value : '_' + value,
typeCache = cache[type] || (cache[type] = {});
if (type == 'object') {
var array = typeCache[key];
if (array) {
array.push(value);
} else {
typeCache[key] = [value];
}
} else {
typeCache[key] = true;
}
}
return cache.has(value) ? 0 : -1;
}
/**
@@ -387,38 +341,6 @@
return a.index - b.index;
}
/**
* Creates a cache object to optimize linear searches of large arrays.
*
* @private
* @param {Array} [array=[]] The array to search.
* @returns {null|Object} Returns the cache object or `null` if caching should not be used.
*/
function createCache(array) {
var index = -1,
length = array.length,
first = array[0],
mid = array[(length / 2) | 0],
last = array[length - 1];
if (first && typeof first == 'object' &&
mid && typeof mid == 'object' && last && typeof last == 'object') {
return false;
}
var cache = getObject();
cache['false'] = cache['null'] = cache['true'] = cache['undefined'] = false;
var result = getObject();
result.array = array;
result.cache = cache;
result.push = cachePush;
while (++index < length) {
result.push(array[index]);
}
return result;
}
/**
* Used by `escape` to convert characters to HTML entities.
*
@@ -460,18 +382,8 @@
*/
function getObject() {
return objectPool.pop() || {
'array': null,
'cache': null,
'criteria': null,
'false': false,
'index': 0,
'null': false,
'number': null,
'object': null,
'push': null,
'string': null,
'true': false,
'undefined': false,
'value': null
};
}
@@ -509,11 +421,7 @@
* @param {Object} object The object to release.
*/
function releaseObject(object) {
var cache = object.cache;
if (cache) {
releaseObject(cache);
}
object.array = object.cache = object.criteria = object.object = object.number = object.string = object.value = null;
object.criteria = object.value = null;
if (objectPool.length < MAX_POOL_SIZE) {
objectPool.push(object);
}
@@ -695,6 +603,7 @@
hasOwnProperty = objectProto.hasOwnProperty,
push = arrayRef.push,
propertyIsEnumerable = objectProto.propertyIsEnumerable,
Set = isNative(Set = context.Set) && Set,
setTimeout = context.setTimeout,
splice = arrayRef.splice,
unshift = arrayRef.unshift;
@@ -719,6 +628,7 @@
nativeKeys = isNative(nativeKeys = Object.keys) && nativeKeys,
nativeMax = Math.max,
nativeMin = Math.min,
nativeNow = isNative(nativeNow = Date.now) && nativeNow,
nativeParseInt = context.parseInt,
nativeRandom = Math.random,
nativeTrim = isNative(nativeTrim = stringProto.trim) && !nativeTrim.call(whitespace) && nativeTrim,
@@ -1424,17 +1334,11 @@
var index = -1,
indexOf = getIndexOf(),
length = array ? array.length : 0,
isLarge = length >= LARGE_ARRAY_SIZE && indexOf === baseIndexOf,
result = [];
if (isLarge) {
var cache = createCache(values);
if (cache) {
indexOf = cacheIndexOf;
values = cache;
} else {
isLarge = false;
}
if (Set && length >= LARGE_ARRAY_SIZE && indexOf === baseIndexOf) {
indexOf = cacheIndexOf;
values = createCache(values);
}
while (++index < length) {
var value = array[index];
@@ -1442,13 +1346,9 @@
result.push(value);
}
}
if (isLarge) {
releaseObject(values);
}
return result;
}
/**
* Iterates `arguments` objects, arrays, objects, and strings consistently
* across environments, executing the callback for each element in the
@@ -1791,15 +1691,14 @@
var index = -1,
indexOf = getIndexOf(),
length = array ? array.length : 0,
isLarge = Set && !isSorted && length >= LARGE_ARRAY_SIZE && indexOf === baseIndexOf,
result = [];
var isLarge = !isSorted && length >= LARGE_ARRAY_SIZE && indexOf === baseIndexOf,
seen = (callback || isLarge) ? getArray() : result;
if (isLarge) {
var cache = createCache(seen);
var seen = createCache();
indexOf = cacheIndexOf;
seen = cache;
} else {
seen = callback ? getArray() : result;
}
while (++index < length) {
var value = array[index],
@@ -1815,10 +1714,7 @@
result.push(value);
}
}
if (isLarge) {
releaseArray(seen.array);
releaseObject(seen);
} else if (callback) {
if (!isLarge && callback) {
releaseArray(seen);
}
return result;
@@ -1856,6 +1752,24 @@
};
}
/**
* Creates a cache object to optimize linear searches of large arrays.
*
* @private
* @param {Array} [array=[]] The array to search.
* @returns {Object} Returns the cache object.
*/
function createCache(array) {
var cache = new Set,
length = array ? array.length : 0;
cache.push = cache.add;
while (length--) {
cache.push(array[length]);
}
return cache;
}
/**
* Creates a function that, when called, either curries or invokes `func`
* with an optional `this` binding and partially applied arguments.
@@ -2507,14 +2421,14 @@
argsLength = arguments.length,
caches = getArray(),
indexOf = getIndexOf(),
trustIndexOf = indexOf === baseIndexOf,
largePrereq = Set && indexOf === baseIndexOf,
seen = getArray();
while (++argsIndex < argsLength) {
var value = arguments[argsIndex];
if (isArray(value) || isArguments(value)) {
args.push(value);
caches.push(trustIndexOf && value.length >= LARGE_ARRAY_SIZE &&
caches.push(largePrereq && value.length >= LARGE_ARRAY_SIZE &&
createCache(argsIndex ? args[argsIndex] : seen));
}
}
@@ -2540,12 +2454,6 @@
result.push(value);
}
}
while (argsLength--) {
cache = caches[argsLength];
if (cache) {
releaseObject(cache);
}
}
releaseArray(caches);
releaseArray(seen);
return result;
@@ -7123,7 +7031,7 @@
* _.defer(function() { console.log(_.now() - stamp); });
* // => logs the number of milliseconds it took for the deferred function to be called
*/
var now = isNative(now = Date.now) && now || function() {
var now = nativeNow || function() {
return new Date().getTime();
};