Update builds and docs, replacing passed with provided.

Former-commit-id: 30114421fcb5853097c0992cd4125aa25ede6853
This commit is contained in:
John-David Dalton
2013-08-02 09:01:58 -07:00
parent 913d440c61
commit 1732c16778
8 changed files with 1375 additions and 1136 deletions

552
dist/lodash.compat.js vendored

File diff suppressed because it is too large Load Diff

View File

@@ -3,51 +3,52 @@
* Lo-Dash 1.3.1 (Custom Build) lodash.com/license | Underscore.js 1.5.1 underscorejs.org/LICENSE
* Build: `lodash -o ./dist/lodash.compat.js`
*/
;!function(n){function t(n,t,e){e=(e||0)-1;for(var r=n?n.length:0;++e<r;)if(n[e]===t)return e;return-1}function e(n,e){var r=typeof e;if(n=n.k,"boolean"==r||e==d)return n[e];"number"!=r&&"string"!=r&&(r="object");var u="number"==r?e:x+e;return n=n[r]||(n[r]={}),"object"==r?n[u]&&-1<t(n[u],e)?0:-1:n[u]?0:-1}function r(n){var t=this.k,e=typeof n;if("boolean"==e||n==d)t[n]=m;else{"number"!=e&&"string"!=e&&(e="object");var r="number"==e?n:x+n,t=t[e]||(t[e]={});"object"==e?(t[r]||(t[r]=[])).push(n):t[r]=m
}}function u(n){return n.charCodeAt(0)}function a(n,t){var e=n.m,r=t.m;if(n=n.l,t=t.l,n!==t){if(n>t||typeof n=="undefined")return 1;if(n<t||typeof t=="undefined")return-1}return e<r?-1:1}function o(n){var t=-1,e=n.length,u=n[0],a=n[e-1];if(u&&typeof u=="object"&&a&&typeof a=="object")return b;for(u=f(),u["false"]=u["null"]=u["true"]=u.undefined=b,a=f(),a.b=n,a.k=u,a.push=r;++t<e;)a.push(n[t]);return a}function i(n){return"\\"+Y[n]}function c(){return _.pop()||[]}function f(){return j.pop()||{a:"",b:d,c:"",k:d,configurable:b,l:d,enumerable:b,"false":b,d:"",m:0,e:"",u:d,leading:b,g:"",maxWait:0,"null":b,number:d,y:d,push:d,h:d,string:d,i:"",trailing:b,"true":b,undefined:b,j:b,n:d,writable:b}
}function l(n){return typeof n.toString!="function"&&typeof(n+"")=="string"}function s(){}function p(n){n.length=0,_.length<E&&_.push(n)}function g(n){var t=n.k;t&&g(t),n.b=n.k=n.l=n.object=n.number=n.string=n.n=d,j.length<E&&j.push(n)}function v(n,t,e){t||(t=0),typeof e=="undefined"&&(e=n?n.length:0);var r=-1;e=e-t||0;for(var u=Array(0>e?0:e);++r<e;)u[r]=n[t+r];return u}function h(r){function _(n){return n&&typeof n=="object"&&!Re(n)&&ge.call(n,"__wrapped__")?n:new j(n)}function j(n,t){this.__chain__=!!t,this.__wrapped__=n
}function E(n,t,e,r,u){var a=n;if(e){if(a=e(a),typeof a!="undefined")return a;a=n}var o=mt(a);if(o){var i=de.call(a);if(!Q[i]||!Fe.nodeClass&&l(a))return a;var f=Re(a)}if(!o||!t)return o?f?v(a):Ge({},a):a;switch(o=Pe[i],i){case K:case W:return new o(+a);case M:case V:return new o(a);case U:return o(a.source,P.exec(a))}i=!r,r||(r=c()),u||(u=c());for(var s=r.length;s--;)if(r[s]==n)return u[s];return a=f?o(a.length):{},f&&(ge.call(n,"index")&&(a.index=n.index),ge.call(n,"input")&&(a.input=n.input)),r.push(n),u.push(a),(f?Me:Qe)(n,function(n,o){a[o]=E(n,t,e,r,u)
}),i&&(p(r),p(u)),a}function Y(n,t,e,r){r=(r||0)-1;for(var u=n?n.length:0,a=[];++r<u;){var o=n[r];o&&typeof o=="object"&&(Re(o)||pt(o))?ve.apply(a,t?o:Y(o,t,e)):e||a.push(o)}return a}function Z(n,t,e,r,u,a){if(e){var o=e(n,t);if(typeof o!="undefined")return!!o}if(n===t)return 0!==n||1/n==1/t;if(n===n&&(!n||!X[typeof n])&&(!t||!X[typeof t]))return b;if(n==d||t==d)return n===t;var i=de.call(n),f=de.call(t);if(i==L&&(i=G),f==L&&(f=G),i!=f)return b;switch(i){case K:case W:return+n==+t;case M:return n!=+n?t!=+t:0==n?1/n==1/t:n==+t;
case U:case V:return n==ne(t)}if(f=i==T,!f){if(ge.call(n,"__wrapped__")||ge.call(t,"__wrapped__"))return Z(n.__wrapped__||n,t.__wrapped__||t,e,r,u,a);if(i!=G||!Fe.nodeClass&&(l(n)||l(t)))return b;var i=!Fe.argsObject&&pt(n)?Yt:n.constructor,s=!Fe.argsObject&&pt(t)?Yt:t.constructor;if(i!=s&&(!yt(i)||!(i instanceof i&&yt(s)&&s instanceof s)))return b}for(s=!u,u||(u=c()),a||(a=c()),i=u.length;i--;)if(u[i]==n)return a[i]==t;var g=0,o=m;if(u.push(n),a.push(t),f){if(i=n.length,g=t.length,o=g==n.length,!o&&!r)return o;
for(;g--;)if(f=i,s=t[g],r)for(;f--&&!(o=Z(n[f],s,e,r,u,a)););else if(!(o=Z(n[g],s,e,r,u,a)))break;return o}return Ve(t,function(t,i,c){return ge.call(c,i)?(g++,o=ge.call(n,i)&&Z(n[i],t,e,r,u,a)):void 0}),o&&!r&&Ve(n,function(n,t,e){return ge.call(e,t)?o=-1<--g:void 0}),s&&(p(u),p(a)),o}function tt(n,t,e,r,u){(Re(t)?xt:Qe)(t,function(t,a){var o,i,c=t,f=n[a];if(t&&((i=Re(t))||Xe(t))){for(c=r.length;c--;)if(o=r[c]==t){f=u[c];break}if(!o){var l;e&&(c=e(f,t),l=typeof c!="undefined")&&(f=c),l||(f=i?Re(f)?f:[]:Xe(f)?f:{}),r.push(t),u.push(f),l||tt(f,t,e,r,u)
}}else e&&(c=e(f,t),typeof c=="undefined"&&(c=t)),typeof c!="undefined"&&(f=c);n[a]=f})}function rt(n,r,u){var a=-1,i=ft(),f=n?n.length:0,l=[],s=!r&&f>=O&&i===t,v=u||s?c():l;if(s){var h=o(v);h?(i=e,v=h):(s=b,v=u?v:(p(v),l))}for(;++a<f;){var h=n[a],y=u?u(h,a,n):h;(r?!a||v[v.length-1]!==y:0>i(v,y))&&((u||s)&&v.push(y),l.push(h))}return s?(p(v.b),g(v)):u&&p(v),l}function ut(n){return function(t,e,r){var u={};return e=_.createCallback(e,r,3),xt(t,function(t,r,a){r=ne(e(t,r,a)),n(u,t,r,a)}),u}}function at(n,t,e,r,u,a){var o=a&&!u;
if(!yt(n)&&!o)throw new te;if(u||a||r.length||!(Fe.fastBind||_e&&e.length))i=function(){var a=arguments,f=u?this:t;return o&&(n=t[c]),(e.length||r.length)&&(be.apply(a,e),ve.apply(a,r)),this instanceof i?(f=it(n.prototype),a=n.apply(f,a),mt(a)?a:f):n.apply(f,a)};else{a=[n,t],ve.apply(a,e);var i=_e.call.apply(_e,a)}if(o){var c=t;t=n}return i}function ot(){var n=f();n.h=q,n.b=n.c=n.g=n.i="",n.e="s",n.j=m;for(var t,e=0;t=arguments[e];e++)for(var r in t)n[r]=t[r];e=n.a,n.d=/^[^,]+/.exec(e)[0],t=Vt,e="return function("+e+"){",r="var m,s="+n.d+",D="+n.e+";if(!s)return D;"+n.i+";",n.b?(r+="var t=s.length;m=-1;if("+n.b+"){",Fe.unindexedChars&&(r+="if(r(s)){s=s.split('')}"),r+="while(++m<t){"+n.g+";}}else{"):Fe.nonEnumArgs&&(r+="var t=s.length;m=-1;if(t&&o(s)){while(++m<t){m+='';"+n.g+";}}else{"),Fe.enumPrototypes&&(r+="var F=typeof s=='function';"),Fe.enumErrorProps&&(r+="var E=false===j||s instanceof Error;");
var u=[];if(Fe.enumPrototypes&&u.push('!(F&&m=="prototype")'),Fe.enumErrorProps&&u.push('!(E&&(m=="message"||m=="name"))'),n.j&&n.f)r+="var B=-1,C=A[typeof s]&&u(s),t=C?C.length:0;while(++B<t){m=C[B];",u.length&&(r+="if("+u.join("&&")+"){"),r+=n.g+";",u.length&&(r+="}"),r+="}";else if(r+="for(m in s){",n.j&&u.push("l.call(s, m)"),u.length&&(r+="if("+u.join("&&")+"){"),r+=n.g+";",u.length&&(r+="}"),r+="}",Fe.nonEnumShadows){for(r+="if(false!==z){var h=s.constructor,q=false===(h&&h.prototype),e=false===I?H:false===j?i:K.call(s),w=x[e];",k=0;7>k;k++)r+="m='"+n.h[k]+"';if((!(q&&w[m])&&l.call(s,m))",n.j||(r+="||(!w[m]&&s[m]!==z[m])"),r+="){"+n.g+"}";
r+="}"}return(n.b||Fe.nonEnumArgs)&&(r+="}"),r+=n.c+";return D",t=t("i,j,l,n,o,p,r,u,v,z,A,x,H,I,K",e+r+"}"),g(n),t(J,re,ge,C,pt,Re,bt,n.f,_,ue,X,Ne,V,ae,de)}function it(n){return mt(n)?je(n):{}}function ct(n){return Ke[n]}function ft(){var n=(n=_.indexOf)===Nt?t:n;return n}function lt(n){var t,e;return!n||de.call(n)!=G||(t=n.constructor,yt(t)&&!(t instanceof t))||!Fe.argsClass&&pt(n)||!Fe.nodeClass&&l(n)?b:Fe.ownLast?(Ve(n,function(n,t,r){return e=ge.call(r,t),b}),e!==false):(Ve(n,function(n,t){e=t
}),e===y||ge.call(n,e))}function st(n){return We[n]}function pt(n){return n&&typeof n=="object"?de.call(n)==L:b}function gt(n,t,e){var r=ze(n),u=r.length;for(t=_.createCallback(t,e,3);u--&&(e=r[u],!(t(n[e],e,n)===false)););return n}function vt(n){var t=[];return Ve(n,function(n,e){yt(n)&&t.push(e)}),t.sort()}function ht(n){for(var t=-1,e=ze(n),r=e.length,u={};++t<r;){var a=e[t];u[n[a]]=a}return u}function yt(n){return typeof n=="function"}function mt(n){return!(!n||!X[typeof n])}function dt(n){return typeof n=="number"||de.call(n)==M
}function bt(n){return typeof n=="string"||de.call(n)==V}function _t(n){for(var t=-1,e=ze(n),r=e.length,u=Mt(r);++t<r;)u[t]=n[e[t]];return u}function jt(n,t,e){var r=-1,u=ft(),a=n?n.length:0,o=b;return e=(0>e?Oe(0,a+e):e)||0,a&&typeof a=="number"?o=-1<(bt(n)?n.indexOf(t,e):u(n,t,e)):Me(n,function(n){return++r<e?void 0:!(o=n===t)}),o}function wt(n,t,e){var r=m;if(t=_.createCallback(t,e,3),Re(n)){e=-1;for(var u=n.length;++e<u&&(r=!!t(n[e],e,n)););}else Me(n,function(n,e,u){return r=!!t(n,e,u)});return r
}function Ct(n,t,e){var r=[];if(t=_.createCallback(t,e,3),Re(n)){e=-1;for(var u=n.length;++e<u;){var a=n[e];t(a,e,n)&&r.push(a)}}else Me(n,function(n,e,u){t(n,e,u)&&r.push(n)});return r}function kt(n,t,e){if(t=_.createCallback(t,e,3),!Re(n)){var r;return Me(n,function(n,e,u){return t(n,e,u)?(r=n,b):void 0}),r}e=-1;for(var u=n.length;++e<u;){var a=n[e];if(t(a,e,n))return a}}function xt(n,t,e){if(t&&typeof e=="undefined"&&Re(n)){e=-1;for(var r=n.length;++e<r&&t(n[e],e,n)!==false;);}else Me(n,t,e);return n
}function Ot(n,t,e){var r=n,u=n?n.length:0;if(typeof u!="number")var a=ze(n),u=a.length;else Fe.unindexedChars&&bt(n)&&(r=n.split(""));return t=_.createCallback(t,e,3),xt(n,function(n,e,o){e=a?a[--u]:--u,t(r[e],e,o)}),n}function Et(n,t,e){var r=-1,u=n?n.length:0,a=Mt(typeof u=="number"?u:0);if(t=_.createCallback(t,e,3),Re(n))for(;++r<u;)a[r]=t(n[r],r,n);else Me(n,function(n,e,u){a[++r]=t(n,e,u)});return a}function St(n,t,e){var r=-1/0,a=r;if(!t&&Re(n)){e=-1;for(var o=n.length;++e<o;){var i=n[e];i>a&&(a=i)
}}else t=!t&&bt(n)?u:_.createCallback(t,e,3),Me(n,function(n,e,u){e=t(n,e,u),e>r&&(r=e,a=n)});return a}function At(n,t,e,r){var u=3>arguments.length;if(t=_.createCallback(t,r,4),Re(n)){var a=-1,o=n.length;for(u&&(e=n[++a]);++a<o;)e=t(e,n[a],a,n)}else Me(n,function(n,r,a){e=u?(u=b,n):t(e,n,r,a)});return e}function It(n,t,e,r){var u=3>arguments.length;return t=_.createCallback(t,r,4),Ot(n,function(n,r,a){e=u?(u=b,n):t(e,n,r,a)}),e}function Dt(n,t,e){var r;if(t=_.createCallback(t,e,3),Re(n)){e=-1;for(var u=n.length;++e<u&&!(r=t(n[e],e,n)););}else Me(n,function(n,e,u){return!(r=t(n,e,u))
});return!!r}function Bt(n){var r=-1,u=ft(),a=n?n.length:0,i=Y(arguments,m,m,1),c=[],f=a>=O&&u===t;if(f){var l=o(i);l?(u=e,i=l):f=b}for(;++r<a;)l=n[r],0>u(i,l)&&c.push(l);return f&&g(i),c}function Pt(n,t,e){if(n){var r=0,u=n.length;if(typeof t!="number"&&t!=d){var a=-1;for(t=_.createCallback(t,e,3);++a<u&&t(n[a],a,n);)r++}else if(r=t,r==d||e)return n[0];return v(n,0,Ee(Oe(0,r),u))}}function Nt(n,e,r){if(typeof r=="number"){var u=n?n.length:0;r=0>r?Oe(0,u+r):r||0}else if(r)return r=Rt(n,e),n[r]===e?r:-1;
return n?t(n,e,r):-1}function Ft(n,t,e){if(typeof t!="number"&&t!=d){var r=0,u=-1,a=n?n.length:0;for(t=_.createCallback(t,e,3);++u<a&&t(n[u],u,n);)r++}else r=t==d||e?1:Oe(0,t);return v(n,r)}function Rt(n,t,e,r){var u=0,a=n?n.length:u;for(e=e?_.createCallback(e,r,1):Wt,t=e(t);u<a;)r=u+a>>>1,e(n[r])<t?u=r+1:a=r;return u}function $t(n,t,e,r){return typeof t!="boolean"&&t!=d&&(r=e,e=r&&r[t]===n?y:t,t=b),e!=d&&(e=_.createCallback(e,r,3)),rt(n,t,e)}function zt(){for(var n=1<arguments.length?arguments:arguments[0],t=-1,e=n?St(tr(n,"length")):0,r=Mt(0>e?0:e);++t<e;)r[t]=tr(n,t);
return r}function qt(n,t){for(var e=-1,r=n?n.length:0,u={};++e<r;){var a=n[e];t?u[a]=t[e]:a&&(u[a[0]]=a[1])}return u}function Lt(n,t){return at(n,t,Ie.call(arguments,2),[])}function Tt(n,t,e){function r(){fe(p),fe(g),f=0,p=g=d}function u(){var t=v&&(!h||1<f);r(),t&&(s!==false&&(l=new Ut),i=n.apply(c,o))}function a(){r(),(v||s!==t)&&(l=new Ut,i=n.apply(c,o))}var o,i,c,f=0,l=0,s=b,p=d,g=d,v=m;if(t=Oe(0,t||0),e===m)var h=m,v=b;else mt(e)&&(h=e.leading,s="maxWait"in e&&Oe(t,e.maxWait||0),v="trailing"in e?e.trailing:v);
return function(){if(o=arguments,c=this,f++,fe(g),s===false)h&&2>f&&(i=n.apply(c,o));else{var e=new Ut;!p&&!h&&(l=e);var r=s-(e-l);0<r?p||(p=me(a,r)):(fe(p),p=d,l=e,i=n.apply(c,o))}return t!==s&&(g=me(u,t)),i}}function Kt(n){var t=Ie.call(arguments,1);return me(function(){n.apply(y,t)},1)}function Wt(n){return n}function Jt(n,t){t||(t=n,n=_);var e=yt(n);xt(vt(t),function(r){var u=n[r]=t[r];e&&(n.prototype[r]=function(){var t=this.__wrapped__,e=[t];return ve.apply(e,arguments),e=u.apply(n,e),t&&typeof t=="object"&&t===e?this:new j(e)
})})}function Ht(){return this.__wrapped__}r=r?et.defaults(n.Object(),r,et.pick(n,z)):n;var Mt=r.Array,Gt=r.Boolean,Ut=r.Date,Vt=r.Function,Qt=r.Math,Xt=r.Number,Yt=r.Object,Zt=r.RegExp,ne=r.String,te=r.TypeError,ee=[],re=r.Error.prototype,ue=Yt.prototype,ae=ne.prototype,oe=r._,ie=Zt("^"+ne(ue.valueOf).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/valueOf|for [^\]]+/g,".+?")+"$"),ce=Qt.ceil,fe=r.clearTimeout,le=ie.test(le=Yt.defineProperty)&&le,se=Qt.floor,pe=ie.test(pe=Yt.getPrototypeOf)&&pe,ge=ue.hasOwnProperty,ve=ee.push,he=ue.propertyIsEnumerable,ye=r.setImmediate,me=r.setTimeout,de=ue.toString,be=ee.unshift,_e=ie.test(_e=de.bind)&&_e,je=ie.test(je=Yt.create)&&je,we=ie.test(we=Mt.isArray)&&we,Ce=r.isFinite,ke=r.isNaN,xe=ie.test(xe=Yt.keys)&&xe,Oe=Qt.max,Ee=Qt.min,Se=r.parseInt,Ae=Qt.random,Ie=ee.slice,De=ie.test(r.attachEvent),Be=_e&&!/\n|true/.test(_e+De),Pe={};
Pe[T]=Mt,Pe[K]=Gt,Pe[W]=Ut,Pe[H]=Vt,Pe[G]=Yt,Pe[M]=Xt,Pe[U]=Zt,Pe[V]=ne;var Ne={};Ne[T]=Ne[W]=Ne[M]={constructor:m,toLocaleString:m,toString:m,valueOf:m},Ne[K]=Ne[V]={constructor:m,toString:m,valueOf:m},Ne[J]=Ne[H]=Ne[U]={constructor:m,toString:m},Ne[G]={constructor:m},function(){for(var n=q.length;n--;){var t,e=q[n];for(t in Ne)ge.call(Ne,t)&&!ge.call(Ne[t],e)&&(Ne[t][e]=b)}}(),j.prototype=_.prototype;var Fe=_.support={};!function(){function n(){this.x=1}var t={0:1,length:1},e=[];n.prototype={valueOf:1};
for(var r in new n)e.push(r);for(r in arguments);Fe.argsObject=arguments.constructor==Yt&&!(arguments instanceof Mt),Fe.argsClass=de.call(arguments)==L,Fe.enumErrorProps=he.call(re,"message")||he.call(re,"name"),Fe.enumPrototypes=he.call(n,"prototype"),Fe.fastBind=_e&&!Be,Fe.ownLast="x"!=e[0],Fe.nonEnumArgs=0!=r,Fe.nonEnumShadows=!/valueOf/.test(e),Fe.spliceObjects=(ee.splice.call(t,0,1),!t[0]),Fe.unindexedChars="xx"!="x"[0]+Yt("x")[0];try{Fe.nodeClass=!(de.call(document)==G&&!({toString:0}+""))}catch(u){Fe.nodeClass=m
}}(1),_.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:N,variable:"",imports:{_:_}},je||(it=function(n){if(mt(n)){s.prototype=n;var t=new s;s.prototype=d}return t||{}}),Fe.argsClass||(pt=function(n){return n&&typeof n=="object"?ge.call(n,"callee"):b});var Re=we||function(n){return n&&typeof n=="object"?de.call(n)==T:b},$e=ot({a:"y",e:"[]",i:"if(!(A[typeof y]))return D",g:"D.push(m)"}),ze=xe?function(n){return mt(n)?Fe.enumPrototypes&&typeof n=="function"||Fe.nonEnumArgs&&n.length&&pt(n)?$e(n):xe(n):[]
}:$e,qe={a:"f,d,J",i:"d=d&&typeof J=='undefined'?d:v.createCallback(d,J,3)",b:"typeof t=='number'",u:ze,g:"if(d(s[m],m,f)===false)return D"},Le={a:"y,G,k",i:"var a=arguments,b=0,c=typeof k=='number'?2:a.length;while(++b<c){s=a[b];if(s&&A[typeof s]){",u:ze,g:"if(typeof D[m]=='undefined')D[m]=s[m]",c:"}}"},Te={i:"if(!A[typeof s])return D;"+qe.i,b:b},Ke={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},We=ht(Ke),Je=Zt("("+ze(We).join("|")+")","g"),He=Zt("["+ze(Ke).join("")+"]","g"),Me=ot(qe),Ge=ot(Le,{i:Le.i.replace(";",";if(c>3&&typeof a[c-2]=='function'){var d=v.createCallback(a[--c-1],a[c--],2)}else if(c>2&&typeof a[c-1]=='function'){d=a[--c]}"),g:"D[m]=d?d(D[m],s[m]):s[m]"}),Ue=ot(Le),Ve=ot(qe,Te,{j:b}),Qe=ot(qe,Te);
yt(/x/)&&(yt=function(n){return typeof n=="function"&&de.call(n)==H});var Xe=pe?function(n){if(!n||de.call(n)!=G||!Fe.argsClass&&pt(n))return b;var t=n.valueOf,e=typeof t=="function"&&(e=pe(t))&&pe(e);return e?n==e||pe(n)==e:lt(n)}:lt,Ye=ut(function(n,t,e){ge.call(n,e)?n[e]++:n[e]=1}),Ze=ut(function(n,t,e){(ge.call(n,e)?n[e]:n[e]=[]).push(t)}),nr=ut(function(n,t,e){n[e]=t}),tr=Et;Be&&nt&&typeof ye=="function"&&(Kt=Lt(ye,r));var er=8==Se(S+"08")?Se:function(n,t){return Se(bt(n)?n.replace(F,""):n,t||0)
};return _.after=function(n,t){return function(){return 1>--n?t.apply(this,arguments):void 0}},_.assign=Ge,_.at=function(n){var t=-1,e=Y(arguments,m,b,1),r=e.length,u=Mt(r);for(Fe.unindexedChars&&bt(n)&&(n=n.split(""));++t<r;)u[t]=n[e[t]];return u},_.bind=Lt,_.bindAll=function(n){for(var t=1<arguments.length?Y(arguments,m,b,1):vt(n),e=-1,r=t.length;++e<r;){var u=t[e];n[u]=Lt(n[u],n)}return n},_.bindKey=function(n,t){return at(n,t,Ie.call(arguments,2),[],b,m)},_.chain=function(n){return n=new j(n),n.__chain__=m,n
},_.compact=function(n){for(var t=-1,e=n?n.length:0,r=[];++t<e;){var u=n[t];u&&r.push(u)}return r},_.compose=function(){var n=arguments;return function(){for(var t=arguments,e=n.length;e--;)t=[n[e].apply(this,t)];return t[0]}},_.countBy=Ye,_.createCallback=function(n,t,e){if(n==d)return Wt;var r=typeof n;if("function"!=r){if("object"!=r)return function(t){return t[n]};var u=ze(n),a=u[0],o=n[a];return 1!=u.length||o!==o||mt(o)?function(t){for(var e=u.length,r=b;e--&&(r=Z(t[u[e]],n[u[e]],d,m)););return r
}:function(n){return n=n[a],o===n&&(0!==o||1/o==1/n)}}if(typeof t=="undefined")return n;switch(e){case 1:return function(e){return n.call(t,e)};case 2:return function(e,r){return n.call(t,e,r)};case 3:return function(e,r,u){return n.call(t,e,r,u)};case 4:return function(e,r,u,a){return n.call(t,e,r,u,a)}}return Lt(n,t)},_.debounce=Tt,_.defaults=Ue,_.defer=Kt,_.delay=function(n,t){var e=Ie.call(arguments,2);return me(function(){n.apply(y,e)},t)},_.difference=Bt,_.filter=Ct,_.flatten=function(n,t,e,r){return typeof t!="boolean"&&t!=d&&(r=e,e=r&&r[t]===n?y:t,t=b),e!=d&&(n=Et(n,e,r)),Y(n,t)
},_.forEach=xt,_.forEachRight=Ot,_.forIn=Ve,_.forInRight=function(n,t,e){var r=-1,u=[];Ve(n,function(n,t){u.push(n,t)});var a=u.length;for(t=_.createCallback(t,e,3);++r<a&&t(u[r],u[++r],n)!==false;);return n},_.forOwn=Qe,_.forOwnRight=gt,_.functions=vt,_.groupBy=Ze,_.indexBy=nr,_.initial=function(n,t,e){if(!n)return[];var r=0,u=n.length;if(typeof t!="number"&&t!=d){var a=u;for(t=_.createCallback(t,e,3);a--&&t(n[a],a,n);)r++}else r=t==d||e?1:t||r;return v(n,0,Ee(Oe(0,u-r),u))},_.intersection=function(n){for(var r=arguments,u=r.length,a=-1,i=c(),f=-1,l=ft(),s=n?n.length:0,v=[],h=c();++a<u;){var y=r[a];
i[a]=l===t&&(y?y.length:0)>=O&&o(a?r[a]:h)}n:for(;++f<s;){var m=i[0],y=n[f];if(0>(m?e(m,y):l(h,y))){for(a=u,(m||h).push(y);--a;)if(m=i[a],0>(m?e(m,y):l(r[a],y)))continue n;v.push(y)}}for(;u--;)(m=i[u])&&g(m);return p(i),p(h),v},_.invert=ht,_.invoke=function(n,t){var e=Ie.call(arguments,2),r=-1,u=typeof t=="function",a=n?n.length:0,o=Mt(typeof a=="number"?a:0);return xt(n,function(n){o[++r]=(u?t:n[t]).apply(n,e)}),o},_.keys=ze,_.map=Et,_.max=St,_.memoize=function(n,t){function e(){var r=e.cache,u=x+(t?t.apply(this,arguments):arguments[0]);
return ge.call(r,u)?r[u]:r[u]=n.apply(this,arguments)}return e.cache={},e},_.merge=function(n){var t=arguments,e=2;if(!mt(n))return n;if("number"!=typeof t[2]&&(e=t.length),3<e&&"function"==typeof t[e-2])var r=_.createCallback(t[--e-1],t[e--],2);else 2<e&&"function"==typeof t[e-1]&&(r=t[--e]);for(var t=Ie.call(arguments,1,e),u=-1,a=c(),o=c();++u<e;)tt(n,t[u],r,a,o);return p(a),p(o),n},_.min=function(n,t,e){var r=1/0,a=r;if(!t&&Re(n)){e=-1;for(var o=n.length;++e<o;){var i=n[e];i<a&&(a=i)}}else t=!t&&bt(n)?u:_.createCallback(t,e,3),Me(n,function(n,e,u){e=t(n,e,u),e<r&&(r=e,a=n)
});return a},_.omit=function(n,t,e){var r=ft(),u=typeof t=="function",a={};if(u)t=_.createCallback(t,e,3);else var o=Y(arguments,m,b,1);return Ve(n,function(n,e,i){(u?!t(n,e,i):0>r(o,e))&&(a[e]=n)}),a},_.once=function(n){var t,e;return function(){return t?e:(t=m,e=n.apply(this,arguments),n=d,e)}},_.pairs=function(n){for(var t=-1,e=ze(n),r=e.length,u=Mt(r);++t<r;){var a=e[t];u[t]=[a,n[a]]}return u},_.partial=function(n){return at(n,d,Ie.call(arguments,1),[],m)},_.partialRight=function(n){return at(n,d,[],Ie.call(arguments,1),m,m)
},_.pick=function(n,t,e){var r={};if(typeof t!="function")for(var u=-1,a=Y(arguments,m,b,1),o=mt(n)?a.length:0;++u<o;){var i=a[u];i in n&&(r[i]=n[i])}else t=_.createCallback(t,e,3),Ve(n,function(n,e,u){t(n,e,u)&&(r[e]=n)});return r},_.pluck=tr,_.range=function(n,t,e){n=+n||0,e=+e||1,t==d&&(t=n,n=0);var r=-1;t=Oe(0,ce((t-n)/e));for(var u=Mt(t);++r<t;)u[r]=n,n+=e;return u},_.reject=function(n,t,e){return t=_.createCallback(t,e,3),Ct(n,function(n,e,r){return!t(n,e,r)})},_.rest=Ft,_.shuffle=function(n){var t=-1,e=n?n.length:0,r=Mt(typeof e=="number"?e:0);
return xt(n,function(n){var e=se(Ae()*(++t+1));r[t]=r[e],r[e]=n}),r},_.sortBy=function(n,t,e){var r=-1,u=n?n.length:0,o=Mt(typeof u=="number"?u:0);for(t=_.createCallback(t,e,3),xt(n,function(n,e,u){var a=o[++r]=f();a.l=t(n,e,u),a.m=r,a.n=n}),u=o.length,o.sort(a);u--;)n=o[u],o[u]=n.n,g(n);return o},_.tap=function(n,t){return t(n),n},_.throttle=function(n,t,e){var r=m,u=m;return e===false?r=b:mt(e)&&(r="leading"in e?e.leading:r,u="trailing"in e?e.trailing:u),e=f(),e.leading=r,e.maxWait=t,e.trailing=u,n=Tt(n,t,e),g(e),n
},_.times=function(n,t,e){n=-1<(n=+n)?n:0;var r=-1,u=Mt(n);for(t=_.createCallback(t,e,1);++r<n;)u[r]=t(r);return u},_.toArray=function(n){return n&&typeof n.length=="number"?Fe.unindexedChars&&bt(n)?n.split(""):v(n):_t(n)},_.transform=function(n,t,e,r){var u=Re(n);return t=_.createCallback(t,r,4),e==d&&(u?e=[]:(r=n&&n.constructor,e=it(r&&r.prototype))),(u?Me:Qe)(n,function(n,r,u){return t(e,n,r,u)}),e},_.union=function(){return rt(Y(arguments,m,m))},_.uniq=$t,_.values=_t,_.where=Ct,_.without=function(n){return Bt(n,Ie.call(arguments,1))
},_.wrap=function(n,t){return function(){var e=[n];return ve.apply(e,arguments),t.apply(this,e)}},_.zip=zt,_.zipObject=qt,_.collect=Et,_.drop=Ft,_.each=xt,_.extend=Ge,_.methods=vt,_.object=qt,_.select=Ct,_.tail=Ft,_.unique=$t,_.unzip=zt,Jt(_),_.clone=function(n,t,e,r){return typeof t!="boolean"&&t!=d&&(r=e,e=t,t=b),E(n,t,typeof e=="function"&&_.createCallback(e,r,1))},_.cloneDeep=function(n,t,e){return E(n,m,typeof t=="function"&&_.createCallback(t,e,1))},_.contains=jt,_.escape=function(n){return n==d?"":ne(n).replace(He,ct)
},_.every=wt,_.find=kt,_.findIndex=function(n,t,e){var r=-1,u=n?n.length:0;for(t=_.createCallback(t,e,3);++r<u;)if(t(n[r],r,n))return r;return-1},_.findLast=function(n,t,e){var r;return t=_.createCallback(t,e),Ot(n,function(n,e,u){return t(n,e,u)?(r=n,b):void 0}),r},_.findLastIndex=function(n,t,e){var r=n?n.length:0;for(t=_.createCallback(t,e);r--&&!t(n[-1],-1,n););return-1},_.findKey=function(n,t,e){var r;return t=_.createCallback(t,e,3),Qe(n,function(n,e,u){return t(n,e,u)?(r=e,b):void 0}),r},_.findLastKey=function(n,t,e){var r;
return t=_.createCallback(t,e),gt(n,function(n,e,u){return t(n,e,u)?(r=e,b):void 0}),r},_.has=function(n,t){return n?ge.call(n,t):b},_.identity=Wt,_.indexOf=Nt,_.isArguments=pt,_.isArray=Re,_.isBoolean=function(n){return n===m||n===false||de.call(n)==K},_.isDate=function(n){return n?typeof n=="object"&&de.call(n)==W:b},_.isElement=function(n){return n?1===n.nodeType:b},_.isEmpty=function(n){var t=m;if(!n)return t;var e=de.call(n),r=n.length;return e==T||e==V||(Fe.argsClass?e==L:pt(n))||e==G&&typeof r=="number"&&yt(n.splice)?!r:(Qe(n,function(){return t=b
}),t)},_.isEqual=function(n,t,e,r){return Z(n,t,typeof e=="function"&&_.createCallback(e,r,2))},_.isFinite=function(n){return Ce(n)&&!ke(parseFloat(n))},_.isFunction=yt,_.isNaN=function(n){return dt(n)&&n!=+n},_.isNull=function(n){return n===d},_.isNumber=dt,_.isObject=mt,_.isPlainObject=Xe,_.isRegExp=function(n){return n&&X[typeof n]?de.call(n)==U:b},_.isString=bt,_.isUndefined=function(n){return typeof n=="undefined"},_.lastIndexOf=function(n,t,e){var r=n?n.length:0;for(typeof e=="number"&&(r=(0>e?Oe(0,r+e):Ee(e,r-1))+1);r--;)if(n[r]===t)return r;
return-1},_.mixin=Jt,_.noConflict=function(){return r._=oe,this},_.parseInt=er,_.random=function(n,t){n==d&&t==d&&(t=1),n=+n||0,t==d?(t=n,n=0):t=+t||0;var e=Ae();return n%1||t%1?n+Ee(e*(t-n+parseFloat("1e-"+((e+"").length-1))),t):n+se(e*(t-n+1))},_.reduce=At,_.reduceRight=It,_.result=function(n,t){var e=n?n[t]:y;return yt(e)?n[t]():e},_.runInContext=h,_.size=function(n){var t=n?n.length:0;return typeof t=="number"?t:ze(n).length},_.some=Dt,_.sortedIndex=Rt,_.template=function(n,t,e){var r=_.templateSettings;
n||(n=""),e=Ue({},e,r);var u,a=Ue({},e.imports,r.imports),r=ze(a),a=_t(a),o=0,c=e.interpolate||R,f="__p+='",c=Zt((e.escape||R).source+"|"+c.source+"|"+(c===N?B:R).source+"|"+(e.evaluate||R).source+"|$","g");n.replace(c,function(t,e,r,a,c,l){return r||(r=a),f+=n.slice(o,l).replace($,i),e&&(f+="'+__e("+e+")+'"),c&&(u=m,f+="';"+c+";__p+='"),r&&(f+="'+((__t=("+r+"))==null?'':__t)+'"),o=l+t.length,t}),f+="';\n",c=e=e.variable,c||(e="obj",f="with("+e+"){"+f+"}"),f=(u?f.replace(A,""):f).replace(I,"$1").replace(D,"$1;"),f="function("+e+"){"+(c?"":e+"||("+e+"={});")+"var __t,__p='',__e=_.escape"+(u?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+f+"return __p}";
try{var l=Vt(r,"return "+f).apply(y,a)}catch(s){throw s.source=f,s}return t?l(t):(l.source=f,l)},_.unescape=function(n){return n==d?"":ne(n).replace(Je,st)},_.uniqueId=function(n){var t=++w;return ne(n==d?"":n)+t},_.all=wt,_.any=Dt,_.detect=kt,_.findWhere=kt,_.foldl=At,_.foldr=It,_.include=jt,_.inject=At,Qe(_,function(n,t){_.prototype[t]||(_.prototype[t]=function(){var t=[this.__wrapped__],e=this.__chain__;return ve.apply(t,arguments),t=n.apply(_,t),e?new j(t,e):t})}),_.first=Pt,_.last=function(n,t,e){if(n){var r=0,u=n.length;
if(typeof t!="number"&&t!=d){var a=u;for(t=_.createCallback(t,e,3);a--&&t(n[a],a,n);)r++}else if(r=t,r==d||e)return n[u-1];return v(n,Oe(0,u-r))}},_.take=Pt,_.head=Pt,Qe(_,function(n,t){_.prototype[t]||(_.prototype[t]=function(t,e){var r=this.__chain__,u=n(this.__wrapped__,t,e);return!r&&(t==d||e&&typeof t!="function")?u:new j(u,r)})}),_.VERSION="1.3.1",_.prototype.chain=function(){return this.__chain__=m,this},_.prototype.toString=function(){return ne(this.__wrapped__)},_.prototype.value=Ht,_.prototype.valueOf=Ht,Me(["join","pop","shift"],function(n){var t=ee[n];
_.prototype[n]=function(){var n=this.__chain__,e=t.apply(this.__wrapped__,arguments);return n?new j(e,n):e}}),Me(["push","reverse","sort","unshift"],function(n){var t=ee[n];_.prototype[n]=function(){return t.apply(this.__wrapped__,arguments),this}}),Me(["concat","slice","splice"],function(n){var t=ee[n];_.prototype[n]=function(){return new j(t.apply(this.__wrapped__,arguments),this.__chain__)}}),Fe.spliceObjects||Me(["pop","shift","splice"],function(n){var t=ee[n],e="splice"==n;_.prototype[n]=function(){var n=this.__chain__,r=this.__wrapped__,u=t.apply(r,arguments);
return 0===r.length&&delete r[0],n||e?new j(u,n):u}}),_}var y,m=!0,d=null,b=!1,_=[],j=[],w=0,C={},x=+new Date+"",O=75,E=40,S=" \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",A=/\b__p\+='';/g,I=/\b(__p\+=)''\+/g,D=/(__e\(.*?\)|\b__t\))\+'';/g,B=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,P=/\w*$/,N=/<%=([\s\S]+?)%>/g,F=RegExp("^["+S+"]*0+(?=.$)"),R=/($^)/,$=/['\n\r\t\u2028\u2029\\]/g,z="Array Boolean Date Error Function Math Number Object RegExp String _ attachEvent clearTimeout isFinite isNaN parseInt setImmediate setTimeout".split(" "),q="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "),L="[object Arguments]",T="[object Array]",K="[object Boolean]",W="[object Date]",J="[object Error]",H="[object Function]",M="[object Number]",G="[object Object]",U="[object RegExp]",V="[object String]",Q={};
Q[H]=b,Q[L]=Q[T]=Q[K]=Q[W]=Q[M]=Q[G]=Q[U]=Q[V]=m;var X={"boolean":b,"function":m,object:m,number:b,string:b,undefined:b},Y={"\\":"\\","'":"'","\n":"n","\r":"r","\t":"t","\u2028":"u2028","\u2029":"u2029"},Z=X[typeof exports]&&exports,nt=X[typeof module]&&module&&module.exports==Z&&module,tt=X[typeof global]&&global;!tt||tt.global!==tt&&tt.window!==tt||(n=tt);var et=h();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(n._=et, define(function(){return et})):Z&&!Z.nodeType?nt?(nt.exports=et)._=et:Z._=et:n._=et
;!function(n){function t(n,t,e){e=(e||0)-1;for(var r=n?n.length:0;++e<r;)if(n[e]===t)return e;return-1}function e(n,e){var r=typeof e;if(n=n.k,"boolean"==r||e==d)return n[e];"number"!=r&&"string"!=r&&(r="object");var u="number"==r?e:C+e;return n=n[r]||(n[r]={}),"object"==r?n[u]&&-1<t(n[u],e)?0:-1:n[u]?0:-1}function r(n){var t=this.k,e=typeof n;if("boolean"==e||n==d)t[n]=m;else{"number"!=e&&"string"!=e&&(e="object");var r="number"==e?n:C+n,t=t[e]||(t[e]={});"object"==e?(t[r]||(t[r]=[])).push(n):t[r]=m
}}function u(n){return n.charCodeAt(0)}function o(n,t){var e=n.m,r=t.m;if(n=n.l,t=t.l,n!==t){if(n>t||typeof n=="undefined")return 1;if(n<t||typeof t=="undefined")return-1}return e<r?-1:1}function a(n){var t=-1,e=n.length,u=n[0],o=n[e-1];if(u&&typeof u=="object"&&o&&typeof o=="object")return b;for(u=c(),u["false"]=u["null"]=u["true"]=u.undefined=b,o=c(),o.b=n,o.k=u,o.push=r;++t<e;)o.push(n[t]);return o}function i(n){return"\\"+Y[n]}function f(){return _.pop()||[]}function c(){return j.pop()||{a:"",b:d,c:"",k:d,configurable:b,l:d,enumerable:b,"false":b,d:"",m:0,e:"",v:d,leading:b,g:"",maxWait:0,"null":b,number:d,z:d,push:d,h:d,string:d,i:"",trailing:b,"true":b,undefined:b,j:b,n:d,writable:b}
}function l(n){return typeof n.toString!="function"&&typeof(n+"")=="string"}function p(){}function s(n){n.length=0,_.length<O&&_.push(n)}function g(n){var t=n.k;t&&g(t),n.b=n.k=n.l=n.object=n.number=n.string=n.n=d,j.length<O&&j.push(n)}function v(n,t,e){t||(t=0),typeof e=="undefined"&&(e=n?n.length:0);var r=-1;e=e-t||0;for(var u=Array(0>e?0:e);++r<e;)u[r]=n[t+r];return u}function h(r){function _(n){return n&&typeof n=="object"&&!ze(n)&&ve.call(n,"__wrapped__")?n:new j(n)}function j(n,t){this.__chain__=!!t,this.__wrapped__=n
}function O(n,t,e,r,u){var o=n;if(e){if(o=e(o),typeof o!="undefined")return o;o=n}var a=dt(o);if(a){var i=_e.call(o);if(!Q[i]||!$e.nodeClass&&l(o))return o;var c=ze(o)}if(!a||!t)return a?c?v(o):Ve({},o):o;switch(a=Re[i],i){case K:case W:return new a(+o);case M:case V:return new a(o);case U:return a(o.source,N.exec(o))}i=!r,r||(r=f()),u||(u=f());for(var p=r.length;p--;)if(r[p]==n)return u[p];return o=c?a(o.length):{},c&&(ve.call(n,"index")&&(o.index=n.index),ve.call(n,"input")&&(o.input=n.input)),r.push(n),u.push(o),(c?Ue:Ye)(n,function(n,a){o[a]=O(n,t,e,r,u)
}),i&&(s(r),s(u)),o}function Y(n,t,e){if(typeof n!="function")return Gt;if(typeof t=="undefined")return n;switch(e){case 1:return function(e){return n.call(t,e)};case 2:return function(e,r){return n.call(t,e,r)};case 3:return function(e,r,u){return n.call(t,e,r,u)};case 4:return function(e,r,u,o){return n.call(t,e,r,u,o)}}return qt(n,t)}function Z(n,t,e,r){r=(r||0)-1;for(var u=n?n.length:0,o=[];++r<u;){var a=n[r];a&&typeof a=="object"&&(ze(a)||gt(a))?he.apply(o,t?a:Z(a,t,e)):e||o.push(a)}return o
}function tt(n,t,e,r,u,o){if(e){var a=e(n,t);if(typeof a!="undefined")return!!a}if(n===t)return 0!==n||1/n==1/t;if(n===n&&(!n||!X[typeof n])&&(!t||!X[typeof t]))return b;if(n==d||t==d)return n===t;var i=_e.call(n),c=_e.call(t);if(i==T&&(i=H),c==T&&(c=H),i!=c)return b;switch(i){case K:case W:return+n==+t;case M:return n!=+n?t!=+t:0==n?1/n==1/t:n==+t;case U:case V:return n==te(t)}if(c=i==q,!c){if(ve.call(n,"__wrapped__")||ve.call(t,"__wrapped__"))return tt(n.__wrapped__||n,t.__wrapped__||t,e,r,u,o);
if(i!=H||!$e.nodeClass&&(l(n)||l(t)))return b;var i=!$e.argsObject&&gt(n)?Zt:n.constructor,p=!$e.argsObject&&gt(t)?Zt:t.constructor;if(i!=p&&(!mt(i)||!(i instanceof i&&mt(p)&&p instanceof p)))return b}for(p=!u,u||(u=f()),o||(o=f()),i=u.length;i--;)if(u[i]==n)return o[i]==t;var g=0,a=m;if(u.push(n),o.push(t),c){if(i=n.length,g=t.length,a=g==n.length,!a&&!r)return a;for(;g--;)if(c=i,p=t[g],r)for(;c--&&!(a=tt(n[c],p,e,r,u,o)););else if(!(a=tt(n[g],p,e,r,u,o)))break;return a}return Xe(t,function(t,i,f){return ve.call(f,i)?(g++,a=ve.call(n,i)&&tt(n[i],t,e,r,u,o)):void 0
}),a&&!r&&Xe(n,function(n,t,e){return ve.call(e,t)?a=-1<--g:void 0}),p&&(s(u),s(o)),a}function rt(n,t,e,r,u){(ze(t)?Et:Ye)(t,function(t,o){var a,i,f=t,c=n[o];if(t&&((i=ze(t))||Ze(t))){for(f=r.length;f--;)if(a=r[f]==t){c=u[f];break}if(!a){var l;e&&(f=e(c,t),l=typeof f!="undefined")&&(c=f),l||(c=i?ze(c)?c:[]:Ze(c)?c:{}),r.push(t),u.push(c),l||rt(c,t,e,r,u)}}else e&&(f=e(c,t),typeof f=="undefined"&&(f=t)),typeof f!="undefined"&&(c=f);n[o]=c})}function ut(n,r,u){var o=-1,i=lt(),c=n?n.length:0,l=[],p=!r&&c>=E&&i===t,v=u||p?f():l;
if(p){var h=a(v);h?(i=e,v=h):(p=b,v=u?v:(s(v),l))}for(;++o<c;){var h=n[o],y=u?u(h,o,n):h;(r?!o||v[v.length-1]!==y:0>i(v,y))&&((u||p)&&v.push(y),l.push(h))}return p?(s(v.b),g(v)):u&&s(v),l}function ot(n){return function(t,e,r){var u={};return e=_.createCallback(e,r,3),Et(t,function(t,r,o){r=te(e(t,r,o)),n(u,t,r,o)}),u}}function at(n,t,e,r,u,o){var a=o&&!u;if(!mt(n)&&!a)throw new ee;if(u||o||r.length||!($e.fastBind||we&&e.length))i=function(){var o=arguments,c=u?this:t;return a&&(n=t[f]),(e.length||r.length)&&(je.apply(o,e),he.apply(o,r)),this instanceof i?(c=ft(n.prototype),o=n.apply(c,o),dt(o)?o:c):n.apply(c,o)
};else{o=[n,t],he.apply(o,e);var i=we.call.apply(we,o)}if(a){var f=t;t=n}return i}function it(){var n=c();n.h=L,n.b=n.c=n.g=n.i="",n.e="t",n.j=m;for(var t,e=0;t=arguments[e];e++)for(var r in t)n[r]=t[r];e=n.a,n.d=/^[^,]+/.exec(e)[0],t=Qt,e="return function("+e+"){",r="var n,t="+n.d+",E="+n.e+";if(!t)return E;"+n.i+";",n.b?(r+="var u=t.length;n=-1;if("+n.b+"){",$e.unindexedChars&&(r+="if(s(t)){t=t.split('')}"),r+="while(++n<u){"+n.g+";}}else{"):$e.nonEnumArgs&&(r+="var u=t.length;n=-1;if(u&&p(t)){while(++n<u){n+='';"+n.g+";}}else{"),$e.enumPrototypes&&(r+="var G=typeof t=='function';"),$e.enumErrorProps&&(r+="var F=t===k||t instanceof Error;");
var u=[];if($e.enumPrototypes&&u.push('!(G&&n=="prototype")'),$e.enumErrorProps&&u.push('!(F&&(n=="message"||n=="name"))'),n.j&&n.f)r+="var C=-1,D=B[typeof t]&&v(t),u=D?D.length:0;while(++C<u){n=D[C];",u.length&&(r+="if("+u.join("&&")+"){"),r+=n.g+";",u.length&&(r+="}"),r+="}";else if(r+="for(n in t){",n.j&&u.push("m.call(t, n)"),u.length&&(r+="if("+u.join("&&")+"){"),r+=n.g+";",u.length&&(r+="}"),r+="}",$e.nonEnumShadows){for(r+="if(t!==A){var i=t.constructor,r=t===(i&&i.prototype),f=t===J?I:t===k?j:L.call(t),x=y[f];",k=0;7>k;k++)r+="n='"+n.h[k]+"';if((!(r&&x[n])&&m.call(t,n))",n.j||(r+="||(!x[n]&&t[n]!==A[n])"),r+="){"+n.g+"}";
r+="}"}return(n.b||$e.nonEnumArgs)&&(r+="}"),r+=n.c+";return E",t=t("d,j,k,m,o,p,q,s,v,A,B,y,I,J,L",e+r+"}"),g(n),t(Y,G,ue,ve,x,gt,ze,_t,n.f,oe,X,De,V,ae,_e)}function ft(n){return dt(n)?ke(n):{}}function ct(n){return Ge[n]}function lt(){var n=(n=_.indexOf)===Rt?t:n;return n}function pt(n){var t,e;return!n||_e.call(n)!=H||(t=n.constructor,mt(t)&&!(t instanceof t))||!$e.argsClass&&gt(n)||!$e.nodeClass&&l(n)?b:$e.ownLast?(Xe(n,function(n,t,r){return e=ve.call(r,t),b}),e!==false):(Xe(n,function(n,t){e=t
}),e===y||ve.call(n,e))}function st(n){return Je[n]}function gt(n){return n&&typeof n=="object"?_e.call(n)==T:b}function vt(n,t,e){var r=Te(n),u=r.length;for(t=Y(t,e,3);u--&&(e=r[u],!(t(n[e],e,n)===false)););return n}function ht(n){var t=[];return Xe(n,function(n,e){mt(n)&&t.push(e)}),t.sort()}function yt(n){for(var t=-1,e=Te(n),r=e.length,u={};++t<r;){var o=e[t];u[n[o]]=o}return u}function mt(n){return typeof n=="function"}function dt(n){return!(!n||!X[typeof n])}function bt(n){return typeof n=="number"||_e.call(n)==M
}function _t(n){return typeof n=="string"||_e.call(n)==V}function jt(n){for(var t=-1,e=Te(n),r=e.length,u=Ht(r);++t<r;)u[t]=n[e[t]];return u}function wt(n,t,e){var r=-1,u=lt(),o=n?n.length:0,a=b;return e=(0>e?Se(0,o+e):e)||0,o&&typeof o=="number"?a=-1<(_t(n)?n.indexOf(t,e):u(n,t,e)):Ue(n,function(n){return++r<e?void 0:!(a=n===t)}),a}function kt(n,t,e){var r=m;if(t=_.createCallback(t,e,3),ze(n)){e=-1;for(var u=n.length;++e<u&&(r=!!t(n[e],e,n)););}else Ue(n,function(n,e,u){return r=!!t(n,e,u)});return r
}function xt(n,t,e){var r=[];if(t=_.createCallback(t,e,3),ze(n)){e=-1;for(var u=n.length;++e<u;){var o=n[e];t(o,e,n)&&r.push(o)}}else Ue(n,function(n,e,u){t(n,e,u)&&r.push(n)});return r}function Ct(n,t,e){if(t=_.createCallback(t,e,3),!ze(n)){var r;return Ue(n,function(n,e,u){return t(n,e,u)?(r=n,b):void 0}),r}e=-1;for(var u=n.length;++e<u;){var o=n[e];if(t(o,e,n))return o}}function Et(n,t,e){if(t&&typeof e=="undefined"&&ze(n)){e=-1;for(var r=n.length;++e<r&&t(n[e],e,n)!==false;);}else Ue(n,t,e);return n
}function Ot(n,t,e){var r=n,u=n?n.length:0;if(typeof u!="number")var o=Te(n),u=o.length;else $e.unindexedChars&&_t(n)&&(r=n.split(""));return t=Y(t,e,3),Et(n,function(n,e,a){e=o?o[--u]:--u,t(r[e],e,a)}),n}function St(n,t,e){var r=-1,u=n?n.length:0,o=Ht(typeof u=="number"?u:0);if(t=_.createCallback(t,e,3),ze(n))for(;++r<u;)o[r]=t(n[r],r,n);else Ue(n,function(n,e,u){o[++r]=t(n,e,u)});return o}function At(n,t,e){var r=-1/0,o=r;if(!t&&ze(n)){e=-1;for(var a=n.length;++e<a;){var i=n[e];i>o&&(o=i)}}else t=!t&&_t(n)?u:_.createCallback(t,e,3),Ue(n,function(n,e,u){e=t(n,e,u),e>r&&(r=e,o=n)
});return o}function It(n,t,e,r){var u=3>arguments.length;if(t=Y(t,r,4),ze(n)){var o=-1,a=n.length;for(u&&(e=n[++o]);++o<a;)e=t(e,n[o],o,n)}else Ue(n,function(n,r,o){e=u?(u=b,n):t(e,n,r,o)});return e}function Bt(n,t,e,r){var u=3>arguments.length;return t=Y(t,r,4),Ot(n,function(n,r,o){e=u?(u=b,n):t(e,n,r,o)}),e}function Pt(n,t,e){var r;if(t=_.createCallback(t,e,3),ze(n)){e=-1;for(var u=n.length;++e<u&&!(r=t(n[e],e,n)););}else Ue(n,function(n,e,u){return!(r=t(n,e,u))});return!!r}function Nt(n){var r=-1,u=lt(),o=n?n.length:0,i=Z(arguments,m,m,1),f=[],c=o>=E&&u===t;
if(c){var l=a(i);l?(u=e,i=l):c=b}for(;++r<o;)l=n[r],0>u(i,l)&&f.push(l);return c&&g(i),f}function Ft(n,t,e){if(n){var r=0,u=n.length;if(typeof t!="number"&&t!=d){var o=-1;for(t=_.createCallback(t,e,3);++o<u&&t(n[o],o,n);)r++}else if(r=t,r==d||e)return n[0];return v(n,0,Ae(Se(0,r),u))}}function Rt(n,e,r){if(typeof r=="number"){var u=n?n.length:0;r=0>r?Se(0,u+r):r||0}else if(r)return r=$t(n,e),n[r]===e?r:-1;return n?t(n,e,r):-1}function Dt(n,t,e){if(typeof t!="number"&&t!=d){var r=0,u=-1,o=n?n.length:0;
for(t=_.createCallback(t,e,3);++u<o&&t(n[u],u,n);)r++}else r=t==d||e?1:Se(0,t);return v(n,r)}function $t(n,t,e,r){var u=0,o=n?n.length:u;for(e=e?_.createCallback(e,r,1):Gt,t=e(t);u<o;)r=u+o>>>1,e(n[r])<t?u=r+1:o=r;return u}function zt(n,t,e,r){return typeof t!="boolean"&&t!=d&&(r=e,e=r&&r[t]===n?y:t,t=b),e!=d&&(e=_.createCallback(e,r,3)),ut(n,t,e)}function Lt(){for(var n=1<arguments.length?arguments:arguments[0],t=-1,e=n?At(rr(n,"length")):0,r=Ht(0>e?0:e);++t<e;)r[t]=rr(n,t);return r}function Tt(n,t){for(var e=-1,r=n?n.length:0,u={};++e<r;){var o=n[e];
t?u[o]=t[e]:o&&(u[o[0]]=o[1])}return u}function qt(n,t){return at(n,t,Pe.call(arguments,2),[])}function Kt(n,t,e){function r(){le(s),le(g),c=0,s=g=d}function u(){var t=v&&(!h||1<c);r(),t&&(p!==false&&(l=new Vt),i=n.apply(f,a))}function o(){r(),(v||p!==t)&&(l=new Vt,i=n.apply(f,a))}var a,i,f,c=0,l=0,p=b,s=d,g=d,v=m;if(t=Se(0,t||0),e===m)var h=m,v=b;else dt(e)&&(h=e.leading,p="maxWait"in e&&Se(t,e.maxWait||0),v="trailing"in e?e.trailing:v);return function(){if(a=arguments,f=this,c++,le(g),p===false)h&&2>c&&(i=n.apply(f,a));
else{var e=new Vt;!s&&!h&&(l=e);var r=p-(e-l);0<r?s||(s=de(o,r)):(le(s),s=d,l=e,i=n.apply(f,a))}return t!==p&&(g=de(u,t)),i}}function Wt(n){var t=Pe.call(arguments,1);return de(function(){n.apply(y,t)},1)}function Gt(n){return n}function Jt(n,t){var e=n,r=!t||mt(e);t||(e=j,t=n,n=_),Et(ht(t),function(u){var o=n[u]=t[u];r&&(e.prototype[u]=function(){var t=this.__wrapped__,r=[t];return he.apply(r,arguments),r=o.apply(n,r),t&&typeof t=="object"&&t===r?this:new e(r)})})}function Mt(){return this.__wrapped__
}r=r?et.defaults(n.Object(),r,et.pick(n,z)):n;var Ht=r.Array,Ut=r.Boolean,Vt=r.Date,Qt=r.Function,Xt=r.Math,Yt=r.Number,Zt=r.Object,ne=r.RegExp,te=r.String,ee=r.TypeError,re=[],ue=r.Error.prototype,oe=Zt.prototype,ae=te.prototype,ie=r._,fe=ne("^"+te(oe.valueOf).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/valueOf|for [^\]]+/g,".+?")+"$"),ce=Xt.ceil,le=r.clearTimeout,pe=fe.test(pe=Zt.defineProperty)&&pe,se=Xt.floor,ge=fe.test(ge=Zt.getPrototypeOf)&&ge,ve=oe.hasOwnProperty,he=re.push,ye=oe.propertyIsEnumerable,me=r.setImmediate,de=r.setTimeout,be=re.splice,_e=oe.toString,je=re.unshift,we=fe.test(we=_e.bind)&&we,ke=fe.test(ke=Zt.create)&&ke,xe=fe.test(xe=Ht.isArray)&&xe,Ce=r.isFinite,Ee=r.isNaN,Oe=fe.test(Oe=Zt.keys)&&Oe,Se=Xt.max,Ae=Xt.min,Ie=r.parseInt,Be=Xt.random,Pe=re.slice,Ne=fe.test(r.attachEvent),Fe=we&&!/\n|true/.test(we+Ne),Re={};
Re[q]=Ht,Re[K]=Ut,Re[W]=Vt,Re[J]=Qt,Re[H]=Zt,Re[M]=Yt,Re[U]=ne,Re[V]=te;var De={};De[q]=De[W]=De[M]={constructor:m,toLocaleString:m,toString:m,valueOf:m},De[K]=De[V]={constructor:m,toString:m,valueOf:m},De[G]=De[J]=De[U]={constructor:m,toString:m},De[H]={constructor:m},function(){for(var n=L.length;n--;){var t,e=L[n];for(t in De)ve.call(De,t)&&!ve.call(De[t],e)&&(De[t][e]=b)}}(),j.prototype=_.prototype;var $e=_.support={};!function(){function n(){this.x=1}var t={0:1,length:1},e=[];n.prototype={valueOf:1};
for(var r in new n)e.push(r);for(r in arguments);$e.argsObject=arguments.constructor==Zt&&!(arguments instanceof Ht),$e.argsClass=_e.call(arguments)==T,$e.enumErrorProps=ye.call(ue,"message")||ye.call(ue,"name"),$e.enumPrototypes=ye.call(n,"prototype"),$e.fastBind=we&&!Fe,$e.ownLast="x"!=e[0],$e.nonEnumArgs=0!=r,$e.nonEnumShadows=!/valueOf/.test(e),$e.spliceObjects=(re.splice.call(t,0,1),!t[0]),$e.unindexedChars="xx"!="x"[0]+Zt("x")[0];try{$e.nodeClass=!(_e.call(document)==H&&!({toString:0}+""))}catch(u){$e.nodeClass=m
}}(1),_.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:F,variable:"",imports:{_:_}},ke||(ft=function(n){if(dt(n)){p.prototype=n;var t=new p;p.prototype=d}return t||{}}),$e.argsClass||(gt=function(n){return n&&typeof n=="object"?ve.call(n,"callee"):b});var ze=xe||function(n){return n&&typeof n=="object"?_e.call(n)==q:b},Le=it({a:"z",e:"[]",i:"if(!(B[typeof z]))return E",g:"E.push(n)"}),Te=Oe?function(n){return dt(n)?$e.enumPrototypes&&typeof n=="function"||$e.nonEnumArgs&&n.length&&gt(n)?Le(n):Oe(n):[]
}:Le,qe={a:"g,e,K",i:"e=e&&typeof K=='undefined'?e:d(e,K,3)",b:"typeof u=='number'",v:Te,g:"if(e(t[n],n,g)===false)return E"},Ke={a:"z,H,l",i:"var a=arguments,b=0,c=typeof l=='number'?2:a.length;while(++b<c){t=a[b];if(t&&B[typeof t]){",v:Te,g:"if(typeof E[n]=='undefined')E[n]=t[n]",c:"}}"},We={i:"if(!B[typeof t])return E;"+qe.i,b:b},Ge={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},Je=yt(Ge),Me=ne("("+Te(Je).join("|")+")","g"),He=ne("["+Te(Ge).join("")+"]","g"),Ue=it(qe),Ve=it(Ke,{i:Ke.i.replace(";",";if(c>3&&typeof a[c-2]=='function'){var e=d(a[--c-1],a[c--],2)}else if(c>2&&typeof a[c-1]=='function'){e=a[--c]}"),g:"E[n]=e?e(E[n],t[n]):t[n]"}),Qe=it(Ke),Xe=it(qe,We,{j:b}),Ye=it(qe,We);
mt(/x/)&&(mt=function(n){return typeof n=="function"&&_e.call(n)==J});var Ze=ge?function(n){if(!n||_e.call(n)!=H||!$e.argsClass&&gt(n))return b;var t=n.valueOf,e=typeof t=="function"&&(e=ge(t))&&ge(e);return e?n==e||ge(n)==e:pt(n)}:pt,nr=ot(function(n,t,e){ve.call(n,e)?n[e]++:n[e]=1}),tr=ot(function(n,t,e){(ve.call(n,e)?n[e]:n[e]=[]).push(t)}),er=ot(function(n,t,e){n[e]=t}),rr=St;Fe&&nt&&typeof me=="function"&&(Wt=qt(me,r));var ur=8==Ie(S+"08")?Ie:function(n,t){return Ie(_t(n)?n.replace(R,""):n,t||0)
};return _.after=function(n,t){return function(){return 1>--n?t.apply(this,arguments):void 0}},_.assign=Ve,_.at=function(n){var t=-1,e=Z(arguments,m,b,1),r=e.length,u=Ht(r);for($e.unindexedChars&&_t(n)&&(n=n.split(""));++t<r;)u[t]=n[e[t]];return u},_.bind=qt,_.bindAll=function(n){for(var t=1<arguments.length?Z(arguments,m,b,1):ht(n),e=-1,r=t.length;++e<r;){var u=t[e];n[u]=qt(n[u],n)}return n},_.bindKey=function(n,t){return at(n,t,Pe.call(arguments,2),[],b,m)},_.chain=function(n){return n=new j(n),n.__chain__=m,n
},_.compact=function(n){for(var t=-1,e=n?n.length:0,r=[];++t<e;){var u=n[t];u&&r.push(u)}return r},_.compose=function(){var n=arguments;return function(){for(var t=arguments,e=n.length;e--;)t=[n[e].apply(this,t)];return t[0]}},_.countBy=nr,_.createCallback=function(n,t,e){var r=typeof n;if(n==d||"function"==r)return Y(n,t,e);if("object"!=r)return function(t){return t[n]};var u=Te(n),o=u[0],a=n[o];return 1!=u.length||a!==a||dt(a)?function(t){for(var e=u.length,r=b;e--&&(r=tt(t[u[e]],n[u[e]],d,m)););return r
}:function(n){return n=n[o],a===n&&(0!==a||1/a==1/n)}},_.debounce=Kt,_.defaults=Qe,_.defer=Wt,_.delay=function(n,t){var e=Pe.call(arguments,2);return de(function(){n.apply(y,e)},t)},_.difference=Nt,_.filter=xt,_.flatten=function(n,t,e,r){return typeof t!="boolean"&&t!=d&&(r=e,e=r&&r[t]===n?y:t,t=b),e!=d&&(n=St(n,e,r)),Z(n,t)},_.forEach=Et,_.forEachRight=Ot,_.forIn=Xe,_.forInRight=function(n,t,e){var r=-1,u=[];Xe(n,function(n,t){u.push(n,t)});var o=u.length;for(t=Y(t,e,3);++r<o&&t(u[r],u[++r],n)!==false;);return n
},_.forOwn=Ye,_.forOwnRight=vt,_.functions=ht,_.groupBy=tr,_.indexBy=er,_.initial=function(n,t,e){if(!n)return[];var r=0,u=n.length;if(typeof t!="number"&&t!=d){var o=u;for(t=_.createCallback(t,e,3);o--&&t(n[o],o,n);)r++}else r=t==d||e?1:t||r;return v(n,0,Ae(Se(0,u-r),u))},_.intersection=function(n){for(var r=arguments,u=r.length,o=-1,i=f(),c=-1,l=lt(),p=n?n.length:0,v=[],h=f();++o<u;){var y=r[o];i[o]=l===t&&(y?y.length:0)>=E&&a(o?r[o]:h)}n:for(;++c<p;){var m=i[0],y=n[c];if(0>(m?e(m,y):l(h,y))){for(o=u,(m||h).push(y);--o;)if(m=i[o],0>(m?e(m,y):l(r[o],y)))continue n;
v.push(y)}}for(;u--;)(m=i[u])&&g(m);return s(i),s(h),v},_.invert=yt,_.invoke=function(n,t){var e=Pe.call(arguments,2),r=-1,u=typeof t=="function",o=n?n.length:0,a=Ht(typeof o=="number"?o:0);return Et(n,function(n){a[++r]=(u?t:n[t]).apply(n,e)}),a},_.keys=Te,_.map=St,_.max=At,_.memoize=function(n,t){function e(){var r=e.cache,u=C+(t?t.apply(this,arguments):arguments[0]);return ve.call(r,u)?r[u]:r[u]=n.apply(this,arguments)}return e.cache={},e},_.merge=function(n){var t=arguments,e=2;if(!dt(n))return n;
if("number"!=typeof t[2]&&(e=t.length),3<e&&"function"==typeof t[e-2])var r=Y(t[--e-1],t[e--],2);else 2<e&&"function"==typeof t[e-1]&&(r=t[--e]);for(var t=Pe.call(arguments,1,e),u=-1,o=f(),a=f();++u<e;)rt(n,t[u],r,o,a);return s(o),s(a),n},_.min=function(n,t,e){var r=1/0,o=r;if(!t&&ze(n)){e=-1;for(var a=n.length;++e<a;){var i=n[e];i<o&&(o=i)}}else t=!t&&_t(n)?u:_.createCallback(t,e,3),Ue(n,function(n,e,u){e=t(n,e,u),e<r&&(r=e,o=n)});return o},_.omit=function(n,t,e){var r=lt(),u=typeof t=="function",o={};
if(u)t=_.createCallback(t,e,3);else var a=Z(arguments,m,b,1);return Xe(n,function(n,e,i){(u?!t(n,e,i):0>r(a,e))&&(o[e]=n)}),o},_.once=function(n){var t,e;return function(){return t?e:(t=m,e=n.apply(this,arguments),n=d,e)}},_.pairs=function(n){for(var t=-1,e=Te(n),r=e.length,u=Ht(r);++t<r;){var o=e[t];u[t]=[o,n[o]]}return u},_.partial=function(n){return at(n,d,Pe.call(arguments,1),[],m)},_.partialRight=function(n){return at(n,d,[],Pe.call(arguments,1),m,m)},_.pick=function(n,t,e){var r={};if(typeof t!="function")for(var u=-1,o=Z(arguments,m,b,1),a=dt(n)?o.length:0;++u<a;){var i=o[u];
i in n&&(r[i]=n[i])}else t=_.createCallback(t,e,3),Xe(n,function(n,e,u){t(n,e,u)&&(r[e]=n)});return r},_.pluck=rr,_.pull=function(n){for(var t=arguments,e=0,r=t.length,u=n?n.length:0;++e<r;)for(var o=-1,a=t[e];++o<u;)n[o]===a&&(be.call(n,o--,1),u--);return n},_.range=function(n,t,e){n=+n||0,e=+e||1,t==d&&(t=n,n=0);var r=-1;t=Se(0,ce((t-n)/e));for(var u=Ht(t);++r<t;)u[r]=n,n+=e;return u},_.reject=function(n,t,e){return t=_.createCallback(t,e,3),xt(n,function(n,e,r){return!t(n,e,r)})},_.remove=function(n,t,e){var r=[];
if(t=_.createCallback(t,e,3),ze(n)){e=-1;for(var u=n.length;++e<u;){var o=n[e];t(o,e,n)&&(r.push(o),be.call(n,e--,1),u--)}}else Ue(n,function(n,e,u){t(n,e,u)&&(r.push(n),delete u[e])});return r},_.rest=Dt,_.shuffle=function(n){var t=-1,e=n?n.length:0,r=Ht(typeof e=="number"?e:0);return Et(n,function(n){var e=se(Be()*(++t+1));r[t]=r[e],r[e]=n}),r},_.sortBy=function(n,t,e){var r=-1,u=n?n.length:0,a=Ht(typeof u=="number"?u:0);for(t=_.createCallback(t,e,3),Et(n,function(n,e,u){var o=a[++r]=c();o.l=t(n,e,u),o.m=r,o.n=n
}),u=a.length,a.sort(o);u--;)n=a[u],a[u]=n.n,g(n);return a},_.tap=function(n,t){return t(n),n},_.throttle=function(n,t,e){var r=m,u=m;return e===false?r=b:dt(e)&&(r="leading"in e?e.leading:r,u="trailing"in e?e.trailing:u),e=c(),e.leading=r,e.maxWait=t,e.trailing=u,n=Kt(n,t,e),g(e),n},_.times=function(n,t,e){n=-1<(n=+n)?n:0;var r=-1,u=Ht(n);for(t=Y(t,e,1);++r<n;)u[r]=t(r);return u},_.toArray=function(n){return n&&typeof n.length=="number"?$e.unindexedChars&&_t(n)?n.split(""):v(n):jt(n)},_.transform=function(n,t,e,r){var u=ze(n);
return t=Y(t,r,4),e==d&&(u?e=[]:(r=n&&n.constructor,e=ft(r&&r.prototype))),(u?Ue:Ye)(n,function(n,r,u){return t(e,n,r,u)}),e},_.union=function(){return ut(Z(arguments,m,m))},_.uniq=zt,_.values=jt,_.where=xt,_.without=function(n){return Nt(n,Pe.call(arguments,1))},_.wrap=function(n,t){return function(){var e=[n];return he.apply(e,arguments),t.apply(this,e)}},_.zip=Lt,_.zipObject=Tt,_.collect=St,_.drop=Dt,_.each=Et,_.extend=Ve,_.methods=ht,_.object=Tt,_.select=xt,_.tail=Dt,_.unique=zt,_.unzip=Lt,Jt(_),_.clone=function(n,t,e,r){return typeof t!="boolean"&&t!=d&&(r=e,e=t,t=b),O(n,t,typeof e=="function"&&Y(e,r,1))
},_.cloneDeep=function(n,t,e){return O(n,m,typeof t=="function"&&Y(t,e,1))},_.contains=wt,_.escape=function(n){return n==d?"":te(n).replace(He,ct)},_.every=kt,_.find=Ct,_.findIndex=function(n,t,e){var r=-1,u=n?n.length:0;for(t=_.createCallback(t,e,3);++r<u;)if(t(n[r],r,n))return r;return-1},_.findLast=function(n,t,e){var r;return t=_.createCallback(t,e),Ot(n,function(n,e,u){return t(n,e,u)?(r=n,b):void 0}),r},_.findLastIndex=function(n,t,e){var r=n?n.length:0;for(t=_.createCallback(t,e);r--&&!t(n[-1],-1,n););return-1
},_.findKey=function(n,t,e){var r;return t=_.createCallback(t,e,3),Ye(n,function(n,e,u){return t(n,e,u)?(r=e,b):void 0}),r},_.findLastKey=function(n,t,e){var r;return t=_.createCallback(t,e),vt(n,function(n,e,u){return t(n,e,u)?(r=e,b):void 0}),r},_.has=function(n,t){return n?ve.call(n,t):b},_.identity=Gt,_.indexOf=Rt,_.isArguments=gt,_.isArray=ze,_.isBoolean=function(n){return n===m||n===false||_e.call(n)==K},_.isDate=function(n){return n?typeof n=="object"&&_e.call(n)==W:b},_.isElement=function(n){return n?1===n.nodeType:b
},_.isEmpty=function(n){var t=m;if(!n)return t;var e=_e.call(n),r=n.length;return e==q||e==V||($e.argsClass?e==T:gt(n))||e==H&&typeof r=="number"&&mt(n.splice)?!r:(Ye(n,function(){return t=b}),t)},_.isEqual=function(n,t,e,r){return tt(n,t,typeof e=="function"&&Y(e,r,2))},_.isFinite=function(n){return Ce(n)&&!Ee(parseFloat(n))},_.isFunction=mt,_.isNaN=function(n){return bt(n)&&n!=+n},_.isNull=function(n){return n===d},_.isNumber=bt,_.isObject=dt,_.isPlainObject=Ze,_.isRegExp=function(n){return n&&X[typeof n]?_e.call(n)==U:b
},_.isString=_t,_.isUndefined=function(n){return typeof n=="undefined"},_.lastIndexOf=function(n,t,e){var r=n?n.length:0;for(typeof e=="number"&&(r=(0>e?Se(0,r+e):Ae(e,r-1))+1);r--;)if(n[r]===t)return r;return-1},_.mixin=Jt,_.noConflict=function(){return r._=ie,this},_.parseInt=ur,_.random=function(n,t){n==d&&t==d&&(t=1),n=+n||0,t==d?(t=n,n=0):t=+t||0;var e=Be();return n%1||t%1?n+Ae(e*(t-n+parseFloat("1e-"+((e+"").length-1))),t):n+se(e*(t-n+1))},_.reduce=It,_.reduceRight=Bt,_.result=function(n,t){var e=n?n[t]:y;
return mt(e)?n[t]():e},_.runInContext=h,_.size=function(n){var t=n?n.length:0;return typeof t=="number"?t:Te(n).length},_.some=Pt,_.sortedIndex=$t,_.template=function(n,t,e){var r=_.templateSettings;n||(n=""),e=Qe({},e,r);var u,o=Qe({},e.imports,r.imports),r=Te(o),o=jt(o),a=0,f=e.interpolate||D,c="__p+='",f=ne((e.escape||D).source+"|"+f.source+"|"+(f===F?P:D).source+"|"+(e.evaluate||D).source+"|$","g");n.replace(f,function(t,e,r,o,f,l){return r||(r=o),c+=n.slice(a,l).replace($,i),e&&(c+="'+__e("+e+")+'"),f&&(u=m,c+="';"+f+";__p+='"),r&&(c+="'+((__t=("+r+"))==null?'':__t)+'"),a=l+t.length,t
}),c+="';\n",f=e=e.variable,f||(e="obj",c="with("+e+"){"+c+"}"),c=(u?c.replace(A,""):c).replace(I,"$1").replace(B,"$1;"),c="function("+e+"){"+(f?"":e+"||("+e+"={});")+"var __t,__p='',__e=_.escape"+(u?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+c+"return __p}";try{var l=Qt(r,"return "+c).apply(y,o)}catch(p){throw p.source=c,p}return t?l(t):(l.source=c,l)},_.unescape=function(n){return n==d?"":te(n).replace(Me,st)},_.uniqueId=function(n){var t=++w;return te(n==d?"":n)+t
},_.all=kt,_.any=Pt,_.detect=Ct,_.findWhere=Ct,_.foldl=It,_.foldr=Bt,_.include=wt,_.inject=It,Ye(_,function(n,t){_.prototype[t]||(_.prototype[t]=function(){var t=[this.__wrapped__],e=this.__chain__;return he.apply(t,arguments),t=n.apply(_,t),e?new j(t,e):t})}),_.first=Ft,_.last=function(n,t,e){if(n){var r=0,u=n.length;if(typeof t!="number"&&t!=d){var o=u;for(t=_.createCallback(t,e,3);o--&&t(n[o],o,n);)r++}else if(r=t,r==d||e)return n[u-1];return v(n,Se(0,u-r))}},_.take=Ft,_.head=Ft,Ye(_,function(n,t){_.prototype[t]||(_.prototype[t]=function(t,e){var r=this.__chain__,u=n(this.__wrapped__,t,e);
return!r&&(t==d||e&&typeof t!="function")?u:new j(u,r)})}),_.VERSION="1.3.1",_.prototype.chain=function(){return this.__chain__=m,this},_.prototype.toString=function(){return te(this.__wrapped__)},_.prototype.value=Mt,_.prototype.valueOf=Mt,Ue(["join","pop","shift"],function(n){var t=re[n];_.prototype[n]=function(){var n=this.__chain__,e=t.apply(this.__wrapped__,arguments);return n?new j(e,n):e}}),Ue(["push","reverse","sort","unshift"],function(n){var t=re[n];_.prototype[n]=function(){return t.apply(this.__wrapped__,arguments),this
}}),Ue(["concat","slice","splice"],function(n){var t=re[n];_.prototype[n]=function(){return new j(t.apply(this.__wrapped__,arguments),this.__chain__)}}),$e.spliceObjects||Ue(["pop","shift","splice"],function(n){var t=re[n],e="splice"==n;_.prototype[n]=function(){var n=this.__chain__,r=this.__wrapped__,u=t.apply(r,arguments);return 0===r.length&&delete r[0],n||e?new j(u,n):u}}),_}var y,m=!0,d=null,b=!1,_=[],j=[],w=0,x={},C=+new Date+"",E=75,O=40,S=" \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",A=/\b__p\+='';/g,I=/\b(__p\+=)''\+/g,B=/(__e\(.*?\)|\b__t\))\+'';/g,P=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,N=/\w*$/,F=/<%=([\s\S]+?)%>/g,R=RegExp("^["+S+"]*0+(?=.$)"),D=/($^)/,$=/['\n\r\t\u2028\u2029\\]/g,z="Array Boolean Date Error Function Math Number Object RegExp String _ attachEvent clearTimeout isFinite isNaN parseInt setImmediate setTimeout".split(" "),L="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "),T="[object Arguments]",q="[object Array]",K="[object Boolean]",W="[object Date]",G="[object Error]",J="[object Function]",M="[object Number]",H="[object Object]",U="[object RegExp]",V="[object String]",Q={};
Q[J]=b,Q[T]=Q[q]=Q[K]=Q[W]=Q[M]=Q[H]=Q[U]=Q[V]=m;var X={"boolean":b,"function":m,object:m,number:b,string:b,undefined:b},Y={"\\":"\\","'":"'","\n":"n","\r":"r","\t":"t","\u2028":"u2028","\u2029":"u2029"},Z=X[typeof exports]&&exports,nt=X[typeof module]&&module&&module.exports==Z&&module,tt=X[typeof global]&&global;!tt||tt.global!==tt&&tt.window!==tt||(n=tt);var et=h();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(n._=et, define(function(){return et})):Z&&!Z.nodeType?nt?(nt.exports=et)._=et:Z._=et:n._=et
}(this);

566
dist/lodash.js vendored

File diff suppressed because it is too large Load Diff

87
dist/lodash.min.js vendored
View File

@@ -3,47 +3,48 @@
* Lo-Dash 1.3.1 (Custom Build) lodash.com/license | Underscore.js 1.5.1 underscorejs.org/LICENSE
* Build: `lodash modern -o ./dist/lodash.js`
*/
;!function(n){function t(n,t,e){e=(e||0)-1;for(var r=n?n.length:0;++e<r;)if(n[e]===t)return e;return-1}function e(n,e){var r=typeof e;if(n=n.k,"boolean"==r||e==b)return n[e];"number"!=r&&"string"!=r&&(r="object");var u="number"==r?e:w+e;return n=n[r]||(n[r]={}),"object"==r?n[u]&&-1<t(n[u],e)?0:-1:n[u]?0:-1}function r(n){var t=this.k,e=typeof n;if("boolean"==e||n==b)t[n]=y;else{"number"!=e&&"string"!=e&&(e="object");var r="number"==e?n:w+n,t=t[e]||(t[e]={});"object"==e?(t[r]||(t[r]=[])).push(n):t[r]=y
}}function u(n){return n.charCodeAt(0)}function a(n,t){var e=n.m,r=t.m;if(n=n.l,t=t.l,n!==t){if(n>t||typeof n=="undefined")return 1;if(n<t||typeof t=="undefined")return-1}return e<r?-1:1}function o(n){var t=-1,e=n.length,u=n[0],a=n[e-1];if(u&&typeof u=="object"&&a&&typeof a=="object")return _;for(u=c(),u["false"]=u["null"]=u["true"]=u.undefined=_,a=c(),a.b=n,a.k=u,a.push=r;++t<e;)a.push(n[t]);return a}function i(n){return"\\"+H[n]}function f(){return m.pop()||[]}function c(){return d.pop()||{b:b,k:b,configurable:_,l:b,enumerable:_,"false":_,m:0,leading:_,maxWait:0,"null":_,number:b,y:b,push:b,string:b,trailing:_,"true":_,undefined:_,n:b,writable:_}
}function l(){}function p(n){n.length=0,m.length<j&&m.push(n)}function s(n){var t=n.k;t&&s(t),n.b=n.k=n.l=n.object=n.number=n.string=n.n=b,d.length<j&&d.push(n)}function v(n,t,e){t||(t=0),typeof e=="undefined"&&(e=n?n.length:0);var r=-1;e=e-t||0;for(var u=Array(0>e?0:e);++r<e;)u[r]=n[t+r];return u}function g(r){function m(n){if(!n||be.call(n)!=L)return _;var t=n.valueOf,e=typeof t=="function"&&(e=se(t))&&se(e);return e?n==e||se(n)==e:lt(n)}function d(n,t,e){if(!n||!G[typeof n])return n;t=t&&typeof e=="undefined"?t:Z.createCallback(t,e,3);
for(var r=-1,u=G[typeof n]&&Fe(n),a=u?u.length:0;++r<a&&(e=u[r],!(t(n[e],e,n)===false)););return n}function j(n,t,e){var r;if(!n||!G[typeof n])return n;t=t&&typeof e=="undefined"?t:Z.createCallback(t,e,3);for(r in n)if(t(n[r],r,n)===false)break;return n}function H(n,t,e){var r,u=n,a=u;if(!u)return a;for(var o=arguments,i=0,f=typeof e=="number"?2:o.length;++i<f;)if((u=o[i])&&G[typeof u])for(var c=-1,l=G[typeof u]&&Fe(u),p=l?l.length:0;++c<p;)r=l[c],"undefined"==typeof a[r]&&(a[r]=u[r]);return a}function J(n,t,e){var r,u=n,a=u;
if(!u)return a;var o=arguments,i=0,f=typeof e=="number"?2:o.length;if(3<f&&"function"==typeof o[f-2])var c=Z.createCallback(o[--f-1],o[f--],2);else 2<f&&"function"==typeof o[f-1]&&(c=o[--f]);for(;++i<f;)if((u=o[i])&&G[typeof u])for(var l=-1,p=G[typeof u]&&Fe(u),s=p?p.length:0;++l<s;)r=p[l],a[r]=c?c(a[r],u[r]):u[r];return a}function X(n){var t,e=[];if(!n||!G[typeof n])return e;for(t in n)ve.call(n,t)&&e.push(t);return e}function Z(n){return n&&typeof n=="object"&&!De(n)&&ve.call(n,"__wrapped__")?n:new nt(n)
}function nt(n,t){this.__chain__=!!t,this.__wrapped__=n}function tt(n,t,e,r,u){var a=n;if(e){if(a=e(a),typeof a!="undefined")return a;a=n}var o=bt(a);if(o){var i=be.call(a);if(!V[i])return a;var c=De(a)}if(!o||!t)return o?c?v(a):J({},a):a;switch(o=Re[i],i){case z:case W:return new o(+a);case K:case U:return new o(a);case M:return o(a.source,A.exec(a))}i=!r,r||(r=f()),u||(u=f());for(var l=r.length;l--;)if(r[l]==n)return u[l];return a=c?o(a.length):{},c&&(ve.call(n,"index")&&(a.index=n.index),ve.call(n,"input")&&(a.input=n.input)),r.push(n),u.push(a),(c?xt:d)(n,function(n,o){a[o]=tt(n,t,e,r,u)
}),i&&(p(r),p(u)),a}function et(n,t,e,r){r=(r||0)-1;for(var u=n?n.length:0,a=[];++r<u;){var o=n[r];o&&typeof o=="object"&&(De(o)||st(o))?ge.apply(a,t?o:et(o,t,e)):e||a.push(o)}return a}function rt(n,t,e,r,u,a){if(e){var o=e(n,t);if(typeof o!="undefined")return!!o}if(n===t)return 0!==n||1/n==1/t;if(n===n&&(!n||!G[typeof n])&&(!t||!G[typeof t]))return _;if(n==b||t==b)return n===t;var i=be.call(n),c=be.call(t);if(i==T&&(i=L),c==T&&(c=L),i!=c)return _;switch(i){case z:case W:return+n==+t;case K:return n!=+n?t!=+t:0==n?1/n==1/t:n==+t;
case M:case U:return n==te(t)}if(c=i==q,!c){if(ve.call(n,"__wrapped__")||ve.call(t,"__wrapped__"))return rt(n.__wrapped__||n,t.__wrapped__||t,e,r,u,a);if(i!=L)return _;var i=n.constructor,l=t.constructor;if(i!=l&&(!yt(i)||!(i instanceof i&&yt(l)&&l instanceof l)))return _}for(l=!u,u||(u=f()),a||(a=f()),i=u.length;i--;)if(u[i]==n)return a[i]==t;var s=0,o=y;if(u.push(n),a.push(t),c){if(i=n.length,s=t.length,o=s==n.length,!o&&!r)return o;for(;s--;)if(c=i,l=t[s],r)for(;c--&&!(o=rt(n[c],l,e,r,u,a)););else if(!(o=rt(n[s],l,e,r,u,a)))break;
return o}return j(t,function(t,i,f){return ve.call(f,i)?(s++,o=ve.call(n,i)&&rt(n[i],t,e,r,u,a)):void 0}),o&&!r&&j(n,function(n,t,e){return ve.call(e,t)?o=-1<--s:void 0}),l&&(p(u),p(a)),o}function ut(n,t,e,r,u){(De(t)?xt:d)(t,function(t,a){var o,i,f=t,c=n[a];if(t&&((i=De(t))||m(t))){for(f=r.length;f--;)if(o=r[f]==t){c=u[f];break}if(!o){var l;e&&(f=e(c,t),l=typeof f!="undefined")&&(c=f),l||(c=i?De(c)?c:[]:m(c)?c:{}),r.push(t),u.push(c),l||ut(c,t,e,r,u)}}else e&&(f=e(c,t),typeof f=="undefined"&&(f=t)),typeof f!="undefined"&&(c=f);
n[a]=c})}function at(n,r,u){var a=-1,i=ct(),c=n?n.length:0,l=[],v=!r&&c>=C&&i===t,g=u||v?f():l;if(v){var h=o(g);h?(i=e,g=h):(v=_,g=u?g:(p(g),l))}for(;++a<c;){var h=n[a],y=u?u(h,a,n):h;(r?!a||g[g.length-1]!==y:0>i(g,y))&&((u||v)&&g.push(y),l.push(h))}return v?(p(g.b),s(g)):u&&p(g),l}function ot(n){return function(t,e,r){var u={};return e=Z.createCallback(e,r,3),xt(t,function(t,r,a){r=te(e(t,r,a)),n(u,t,r,a)}),u}}function it(n,t,e,r,u,a){var o=a&&!u;if(!yt(n)&&!o)throw new ee;var i=n.__bindData__;if(i)return ge.apply(i[2],e),ge.apply(i[3],r),!u&&i[4]&&(i[1]=t,i[4]=_,i[5]=a),it.apply(b,i);
if(u||a||r.length||!(Be.fastBind||me&&e.length))f=function(){var a=arguments,i=u?this:t;return o&&(n=t[c]),(e.length||r.length)&&(_e.apply(a,e),ge.apply(a,r)),this instanceof f?(i=bt(n.prototype)?de(n.prototype):{},a=n.apply(i,a),bt(a)?a:i):n.apply(i,a)};else{i=[n,t],ge.apply(i,e);var f=me.call.apply(me,i)}if(i=Se.call(arguments),o){var c=t;t=n}return $e(f,i),f}function ft(n){return Te[n]}function ct(){var n=(n=Z.indexOf)===Dt?t:n;return n}function lt(n){var t,e;return n&&be.call(n)==L&&(t=n.constructor,!yt(t)||t instanceof t)?(j(n,function(n,t){e=t
}),e===h||ve.call(n,e)):_}function pt(n){return qe[n]}function st(n){return n&&typeof n=="object"?be.call(n)==T:_}function vt(n,t,e){var r=Fe(n),u=r.length;for(t=Z.createCallback(t,e,3);u--&&(e=r[u],!(t(n[e],e,n)===false)););return n}function gt(n){var t=[];return j(n,function(n,e){yt(n)&&t.push(e)}),t.sort()}function ht(n){for(var t=-1,e=Fe(n),r=e.length,u={};++t<r;){var a=e[t];u[n[a]]=a}return u}function yt(n){return typeof n=="function"}function bt(n){return!(!n||!G[typeof n])}function _t(n){return typeof n=="number"||be.call(n)==K
}function mt(n){return typeof n=="string"||be.call(n)==U}function dt(n){for(var t=-1,e=Fe(n),r=e.length,u=Gt(r);++t<r;)u[t]=n[e[t]];return u}function kt(n,t,e){var r=-1,u=ct(),a=n?n.length:0,o=_;return e=(0>e?xe(0,a+e):e)||0,a&&typeof a=="number"?o=-1<(mt(n)?n.indexOf(t,e):u(n,t,e)):d(n,function(n){return++r<e?void 0:!(o=n===t)}),o}function wt(n,t,e){var r=y;t=Z.createCallback(t,e,3),e=-1;var u=n?n.length:0;if(typeof u=="number")for(;++e<u&&(r=!!t(n[e],e,n)););else d(n,function(n,e,u){return r=!!t(n,e,u)
});return r}function Ct(n,t,e){var r=[];t=Z.createCallback(t,e,3),e=-1;var u=n?n.length:0;if(typeof u=="number")for(;++e<u;){var a=n[e];t(a,e,n)&&r.push(a)}else d(n,function(n,e,u){t(n,e,u)&&r.push(n)});return r}function jt(n,t,e){t=Z.createCallback(t,e,3),e=-1;var r=n?n.length:0;if(typeof r!="number"){var u;return d(n,function(n,e,r){return t(n,e,r)?(u=n,_):void 0}),u}for(;++e<r;){var a=n[e];if(t(a,e,n))return a}}function xt(n,t,e){var r=-1,u=n?n.length:0;if(t=t&&typeof e=="undefined"?t:Z.createCallback(t,e,3),typeof u=="number")for(;++r<u&&t(n[r],r,n)!==false;);else d(n,t);
return n}function Ot(n,t,e){var r=n,u=n?n.length:0;if(typeof u!="number")var a=Fe(n),u=a.length;else Be.unindexedChars&&mt(n)&&(r=n.split(""));return t=Z.createCallback(t,e,3),xt(n,function(n,e,o){e=a?a[--u]:--u,t(r[e],e,o)}),n}function Et(n,t,e){var r=-1,u=n?n.length:0;if(t=Z.createCallback(t,e,3),typeof u=="number")for(var a=Gt(u);++r<u;)a[r]=t(n[r],r,n);else a=[],d(n,function(n,e,u){a[++r]=t(n,e,u)});return a}function It(n,t,e){var r=-1/0,a=r;if(!t&&De(n)){e=-1;for(var o=n.length;++e<o;){var i=n[e];
i>a&&(a=i)}}else t=!t&&mt(n)?u:Z.createCallback(t,e,3),xt(n,function(n,e,u){e=t(n,e,u),e>r&&(r=e,a=n)});return a}function St(n,t){var e=-1,r=n?n.length:0;if(typeof r=="number")for(var u=Gt(r);++e<r;)u[e]=n[e][t];return u||Et(n,t)}function At(n,t,e,r){if(!n)return e;var u=3>arguments.length;t=Z.createCallback(t,r,4);var a=-1,o=n.length;if(typeof o=="number")for(u&&(e=n[++a]);++a<o;)e=t(e,n[a],a,n);else d(n,function(n,r,a){e=u?(u=_,n):t(e,n,r,a)});return e}function Nt(n,t,e,r){var u=3>arguments.length;
return t=Z.createCallback(t,r,4),Ot(n,function(n,r,a){e=u?(u=_,n):t(e,n,r,a)}),e}function Rt(n,t,e){var r;t=Z.createCallback(t,e,3),e=-1;var u=n?n.length:0;if(typeof u=="number")for(;++e<u&&!(r=t(n[e],e,n)););else d(n,function(n,e,u){return!(r=t(n,e,u))});return!!r}function Bt(n){var r=-1,u=ct(),a=n?n.length:0,i=et(arguments,y,y,1),f=[],c=a>=C&&u===t;if(c){var l=o(i);l?(u=e,i=l):c=_}for(;++r<a;)l=n[r],0>u(i,l)&&f.push(l);return c&&s(i),f}function $t(n,t,e){if(n){var r=0,u=n.length;if(typeof t!="number"&&t!=b){var a=-1;
for(t=Z.createCallback(t,e,3);++a<u&&t(n[a],a,n);)r++}else if(r=t,r==b||e)return n[0];return v(n,0,Oe(xe(0,r),u))}}function Dt(n,e,r){if(typeof r=="number"){var u=n?n.length:0;r=0>r?xe(0,u+r):r||0}else if(r)return r=Tt(n,e),n[r]===e?r:-1;return n?t(n,e,r):-1}function Ft(n,t,e){if(typeof t!="number"&&t!=b){var r=0,u=-1,a=n?n.length:0;for(t=Z.createCallback(t,e,3);++u<a&&t(n[u],u,n);)r++}else r=t==b||e?1:xe(0,t);return v(n,r)}function Tt(n,t,e,r){var u=0,a=n?n.length:u;for(e=e?Z.createCallback(e,r,1):Mt,t=e(t);u<a;)r=u+a>>>1,e(n[r])<t?u=r+1:a=r;
return u}function qt(n,t,e,r){return typeof t!="boolean"&&t!=b&&(r=e,e=r&&r[t]===n?h:t,t=_),e!=b&&(e=Z.createCallback(e,r,3)),at(n,t,e)}function zt(){for(var n=1<arguments.length?arguments:arguments[0],t=-1,e=n?It(St(n,"length")):0,r=Gt(0>e?0:e);++t<e;)r[t]=St(n,t);return r}function Wt(n,t){for(var e=-1,r=n?n.length:0,u={};++e<r;){var a=n[e];t?u[a]=t[e]:a&&(u[a[0]]=a[1])}return u}function Pt(n,t){return it(n,t,Se.call(arguments,2),[])}function Kt(n,t,e){function r(){fe(s),fe(v),c=0,s=v=b}function u(){var t=g&&(!h||1<c);
r(),t&&(p!==false&&(l=new Jt),i=n.apply(f,o))}function a(){r(),(g||p!==t)&&(l=new Jt,i=n.apply(f,o))}var o,i,f,c=0,l=0,p=_,s=b,v=b,g=y;if(t=xe(0,t||0),e===y)var h=y,g=_;else bt(e)&&(h=e.leading,p="maxWait"in e&&xe(t,e.maxWait||0),g="trailing"in e?e.trailing:g);return function(){if(o=arguments,f=this,c++,fe(v),p===false)h&&2>c&&(i=n.apply(f,o));else{var e=new Jt;!s&&!h&&(l=e);var r=p-(e-l);0<r?s||(s=ye(a,r)):(fe(s),s=b,l=e,i=n.apply(f,o))}return t!==p&&(v=ye(u,t)),i}}function Lt(n){var t=Se.call(arguments,1);
return ye(function(){n.apply(h,t)},1)}function Mt(n){return n}function Ut(n,t){t||(t=n,n=Z);var e=yt(n);xt(gt(t),function(r){var u=n[r]=t[r];e&&(n.prototype[r]=function(){var t=this.__wrapped__,e=[t];return ge.apply(e,arguments),e=u.apply(n,e),t&&typeof t=="object"&&t===e?this:new nt(e)})})}function Vt(){return this.__wrapped__}r=r?Y.defaults(n.Object(),r,Y.pick(n,F)):n;var Gt=r.Array,Ht=r.Boolean,Jt=r.Date,Qt=r.Function,Xt=r.Math,Yt=r.Number,Zt=r.Object,ne=r.RegExp,te=r.String,ee=r.TypeError,re=[],ue=Zt.prototype,ae=r._,oe=ne("^"+te(ue.valueOf).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/valueOf|for [^\]]+/g,".+?")+"$"),ie=Xt.ceil,fe=r.clearTimeout,ce=oe.test(ce=Zt.defineProperty)&&ce,le=Xt.floor,pe=Qt.prototype.toString,se=oe.test(se=Zt.getPrototypeOf)&&se,ve=ue.hasOwnProperty,ge=re.push,he=r.setImmediate,ye=r.setTimeout,be=ue.toString,_e=re.unshift,me=oe.test(me=be.bind)&&me,de=oe.test(de=Zt.create)&&de,ke=oe.test(ke=Gt.isArray)&&ke,we=r.isFinite,Ce=r.isNaN,je=oe.test(je=Zt.keys)&&je,xe=Xt.max,Oe=Xt.min,Ee=r.parseInt,Ie=Xt.random,Se=re.slice,Ae=oe.test(r.attachEvent),Ne=me&&!/\n|true/.test(me+Ae),Re={};
Re[q]=Gt,Re[z]=Ht,Re[W]=Jt,Re[P]=Qt,Re[L]=Zt,Re[K]=Yt,Re[M]=ne,Re[U]=te,nt.prototype=Z.prototype;var Be=Z.support={};Be.fastBind=me&&!Ne,Z.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:N,variable:"",imports:{_:Z}};var $e=ce?function(n,t){var e=c();e.value=t,ce(n,"__bindData__",e),s(e)}:l,De=ke,Fe=je?function(n){return bt(n)?je(n):[]}:X,Te={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},qe=ht(Te),ze=ne("("+Fe(qe).join("|")+")","g"),We=ne("["+Fe(Te).join("")+"]","g"),Pe=ot(function(n,t,e){ve.call(n,e)?n[e]++:n[e]=1
}),Ke=ot(function(n,t,e){(ve.call(n,e)?n[e]:n[e]=[]).push(t)}),Le=ot(function(n,t,e){n[e]=t});Ne&&Q&&typeof he=="function"&&(Lt=Pt(he,r));var Me=8==Ee(x+"08")?Ee:function(n,t){return Ee(mt(n)?n.replace(R,""):n,t||0)};return Z.after=function(n,t){return function(){return 1>--n?t.apply(this,arguments):void 0}},Z.assign=J,Z.at=function(n){for(var t=-1,e=et(arguments,y,_,1),r=e.length,u=Gt(r);++t<r;)u[t]=n[e[t]];return u},Z.bind=Pt,Z.bindAll=function(n){for(var t=1<arguments.length?et(arguments,y,_,1):gt(n),e=-1,r=t.length;++e<r;){var u=t[e];
n[u]=Pt(n[u],n)}return n},Z.bindKey=function(n,t){return it(n,t,Se.call(arguments,2),[],_,y)},Z.chain=function(n){return n=new nt(n),n.__chain__=y,n},Z.compact=function(n){for(var t=-1,e=n?n.length:0,r=[];++t<e;){var u=n[t];u&&r.push(u)}return r},Z.compose=function(){var n=arguments;return function(){for(var t=arguments,e=n.length;e--;)t=[n[e].apply(this,t)];return t[0]}},Z.countBy=Pe,Z.createCallback=function(n,t,e){if(n==b)return Mt;var r=typeof n;if("function"!=r){if("object"!=r)return function(t){return t[n]
};var u=Fe(n),a=u[0],o=n[a];return 1!=u.length||o!==o||bt(o)?function(t){for(var e=u.length,r=_;e--&&(r=rt(t[u[e]],n[u[e]],b,y)););return r}:function(n){return n=n[a],o===n&&(0!==o||1/o==1/n)}}if(typeof t=="undefined")return n;if(r=!n.name||n.__bindData__,typeof r=="undefined"&&(r=!$||$.test(pe.call(n)),$e(n,r)),r!==y&&(!r||!r[4]))return n;switch(e){case 1:return function(e){return n.call(t,e)};case 2:return function(e,r){return n.call(t,e,r)};case 3:return function(e,r,u){return n.call(t,e,r,u)};
case 4:return function(e,r,u,a){return n.call(t,e,r,u,a)}}return Pt(n,t)},Z.debounce=Kt,Z.defaults=H,Z.defer=Lt,Z.delay=function(n,t){var e=Se.call(arguments,2);return ye(function(){n.apply(h,e)},t)},Z.difference=Bt,Z.filter=Ct,Z.flatten=function(n,t,e,r){return typeof t!="boolean"&&t!=b&&(r=e,e=r&&r[t]===n?h:t,t=_),e!=b&&(n=Et(n,e,r)),et(n,t)},Z.forEach=xt,Z.forEachRight=Ot,Z.forIn=j,Z.forInRight=function(n,t,e){var r=-1,u=[];j(n,function(n,t){u.push(n,t)});var a=u.length;for(t=Z.createCallback(t,e,3);++r<a&&t(u[r],u[++r],n)!==false;);return n
},Z.forOwn=d,Z.forOwnRight=vt,Z.functions=gt,Z.groupBy=Ke,Z.indexBy=Le,Z.initial=function(n,t,e){if(!n)return[];var r=0,u=n.length;if(typeof t!="number"&&t!=b){var a=u;for(t=Z.createCallback(t,e,3);a--&&t(n[a],a,n);)r++}else r=t==b||e?1:t||r;return v(n,0,Oe(xe(0,u-r),u))},Z.intersection=function(n){for(var r=arguments,u=r.length,a=-1,i=f(),c=-1,l=ct(),v=n?n.length:0,g=[],h=f();++a<u;){var y=r[a];i[a]=l===t&&(y?y.length:0)>=C&&o(a?r[a]:h)}n:for(;++c<v;){var b=i[0],y=n[c];if(0>(b?e(b,y):l(h,y))){for(a=u,(b||h).push(y);--a;)if(b=i[a],0>(b?e(b,y):l(r[a],y)))continue n;
g.push(y)}}for(;u--;)(b=i[u])&&s(b);return p(i),p(h),g},Z.invert=ht,Z.invoke=function(n,t){var e=Se.call(arguments,2),r=-1,u=typeof t=="function",a=n?n.length:0,o=Gt(typeof a=="number"?a:0);return xt(n,function(n){o[++r]=(u?t:n[t]).apply(n,e)}),o},Z.keys=Fe,Z.map=Et,Z.max=It,Z.memoize=function(n,t){function e(){var r=e.cache,u=w+(t?t.apply(this,arguments):arguments[0]);return ve.call(r,u)?r[u]:r[u]=n.apply(this,arguments)}return e.cache={},e},Z.merge=function(n){var t=arguments,e=2;if(!bt(n))return n;
if("number"!=typeof t[2]&&(e=t.length),3<e&&"function"==typeof t[e-2])var r=Z.createCallback(t[--e-1],t[e--],2);else 2<e&&"function"==typeof t[e-1]&&(r=t[--e]);for(var t=Se.call(arguments,1,e),u=-1,a=f(),o=f();++u<e;)ut(n,t[u],r,a,o);return p(a),p(o),n},Z.min=function(n,t,e){var r=1/0,a=r;if(!t&&De(n)){e=-1;for(var o=n.length;++e<o;){var i=n[e];i<a&&(a=i)}}else t=!t&&mt(n)?u:Z.createCallback(t,e,3),xt(n,function(n,e,u){e=t(n,e,u),e<r&&(r=e,a=n)});return a},Z.omit=function(n,t,e){var r=ct(),u=typeof t=="function",a={};
if(u)t=Z.createCallback(t,e,3);else var o=et(arguments,y,_,1);return j(n,function(n,e,i){(u?!t(n,e,i):0>r(o,e))&&(a[e]=n)}),a},Z.once=function(n){var t,e;return function(){return t?e:(t=y,e=n.apply(this,arguments),n=b,e)}},Z.pairs=function(n){for(var t=-1,e=Fe(n),r=e.length,u=Gt(r);++t<r;){var a=e[t];u[t]=[a,n[a]]}return u},Z.partial=function(n){return it(n,b,Se.call(arguments,1),[],y)},Z.partialRight=function(n){return it(n,b,[],Se.call(arguments,1),y,y)},Z.pick=function(n,t,e){var r={};if(typeof t!="function")for(var u=-1,a=et(arguments,y,_,1),o=bt(n)?a.length:0;++u<o;){var i=a[u];
i in n&&(r[i]=n[i])}else t=Z.createCallback(t,e,3),j(n,function(n,e,u){t(n,e,u)&&(r[e]=n)});return r},Z.pluck=St,Z.range=function(n,t,e){n=+n||0,e=+e||1,t==b&&(t=n,n=0);var r=-1;t=xe(0,ie((t-n)/e));for(var u=Gt(t);++r<t;)u[r]=n,n+=e;return u},Z.reject=function(n,t,e){return t=Z.createCallback(t,e,3),Ct(n,function(n,e,r){return!t(n,e,r)})},Z.rest=Ft,Z.shuffle=function(n){var t=-1,e=n?n.length:0,r=Gt(typeof e=="number"?e:0);return xt(n,function(n){var e=le(Ie()*(++t+1));r[t]=r[e],r[e]=n}),r},Z.sortBy=function(n,t,e){var r=-1,u=n?n.length:0,o=Gt(typeof u=="number"?u:0);
for(t=Z.createCallback(t,e,3),xt(n,function(n,e,u){var a=o[++r]=c();a.l=t(n,e,u),a.m=r,a.n=n}),u=o.length,o.sort(a);u--;)n=o[u],o[u]=n.n,s(n);return o},Z.tap=function(n,t){return t(n),n},Z.throttle=function(n,t,e){var r=y,u=y;return e===false?r=_:bt(e)&&(r="leading"in e?e.leading:r,u="trailing"in e?e.trailing:u),e=c(),e.leading=r,e.maxWait=t,e.trailing=u,n=Kt(n,t,e),s(e),n},Z.times=function(n,t,e){n=-1<(n=+n)?n:0;var r=-1,u=Gt(n);for(t=Z.createCallback(t,e,1);++r<n;)u[r]=t(r);return u},Z.toArray=function(n){return n&&typeof n.length=="number"?v(n):dt(n)
},Z.transform=function(n,t,e,r){var u=De(n);return t=Z.createCallback(t,r,4),e==b&&(u?e=[]:(r=n&&n.constructor,e=bt(r&&r.prototype)?de(r&&r.prototype):{})),(u?xt:d)(n,function(n,r,u){return t(e,n,r,u)}),e},Z.union=function(){return at(et(arguments,y,y))},Z.uniq=qt,Z.values=dt,Z.where=Ct,Z.without=function(n){return Bt(n,Se.call(arguments,1))},Z.wrap=function(n,t){return function(){var e=[n];return ge.apply(e,arguments),t.apply(this,e)}},Z.zip=zt,Z.zipObject=Wt,Z.collect=Et,Z.drop=Ft,Z.each=xt,Z.extend=J,Z.methods=gt,Z.object=Wt,Z.select=Ct,Z.tail=Ft,Z.unique=qt,Z.unzip=zt,Ut(Z),Z.clone=function(n,t,e,r){return typeof t!="boolean"&&t!=b&&(r=e,e=t,t=_),tt(n,t,typeof e=="function"&&Z.createCallback(e,r,1))
},Z.cloneDeep=function(n,t,e){return tt(n,y,typeof t=="function"&&Z.createCallback(t,e,1))},Z.contains=kt,Z.escape=function(n){return n==b?"":te(n).replace(We,ft)},Z.every=wt,Z.find=jt,Z.findIndex=function(n,t,e){var r=-1,u=n?n.length:0;for(t=Z.createCallback(t,e,3);++r<u;)if(t(n[r],r,n))return r;return-1},Z.findLast=function(n,t,e){var r;return t=Z.createCallback(t,e),Ot(n,function(n,e,u){return t(n,e,u)?(r=n,_):void 0}),r},Z.findLastIndex=function(n,t,e){var r=n?n.length:0;for(t=Z.createCallback(t,e);r--&&!t(n[-1],-1,n););return-1
},Z.findKey=function(n,t,e){var r;return t=Z.createCallback(t,e,3),d(n,function(n,e,u){return t(n,e,u)?(r=e,_):void 0}),r},Z.findLastKey=function(n,t,e){var r;return t=Z.createCallback(t,e),vt(n,function(n,e,u){return t(n,e,u)?(r=e,_):void 0}),r},Z.has=function(n,t){return n?ve.call(n,t):_},Z.identity=Mt,Z.indexOf=Dt,Z.isArguments=st,Z.isArray=De,Z.isBoolean=function(n){return n===y||n===false||be.call(n)==z},Z.isDate=function(n){return n?typeof n=="object"&&be.call(n)==W:_},Z.isElement=function(n){return n?1===n.nodeType:_
},Z.isEmpty=function(n){var t=y;if(!n)return t;var e=be.call(n),r=n.length;return e==q||e==U||e==T||e==L&&typeof r=="number"&&yt(n.splice)?!r:(d(n,function(){return t=_}),t)},Z.isEqual=function(n,t,e,r){return rt(n,t,typeof e=="function"&&Z.createCallback(e,r,2))},Z.isFinite=function(n){return we(n)&&!Ce(parseFloat(n))},Z.isFunction=yt,Z.isNaN=function(n){return _t(n)&&n!=+n},Z.isNull=function(n){return n===b},Z.isNumber=_t,Z.isObject=bt,Z.isPlainObject=m,Z.isRegExp=function(n){return n?typeof n=="object"&&be.call(n)==M:_
},Z.isString=mt,Z.isUndefined=function(n){return typeof n=="undefined"},Z.lastIndexOf=function(n,t,e){var r=n?n.length:0;for(typeof e=="number"&&(r=(0>e?xe(0,r+e):Oe(e,r-1))+1);r--;)if(n[r]===t)return r;return-1},Z.mixin=Ut,Z.noConflict=function(){return r._=ae,this},Z.parseInt=Me,Z.random=function(n,t){n==b&&t==b&&(t=1),n=+n||0,t==b?(t=n,n=0):t=+t||0;var e=Ie();return n%1||t%1?n+Oe(e*(t-n+parseFloat("1e-"+((e+"").length-1))),t):n+le(e*(t-n+1))},Z.reduce=At,Z.reduceRight=Nt,Z.result=function(n,t){var e=n?n[t]:h;
return yt(e)?n[t]():e},Z.runInContext=g,Z.size=function(n){var t=n?n.length:0;return typeof t=="number"?t:Fe(n).length},Z.some=Rt,Z.sortedIndex=Tt,Z.template=function(n,t,e){var r=Z.templateSettings;n||(n=""),e=H({},e,r);var u,a=H({},e.imports,r.imports),r=Fe(a),a=dt(a),o=0,f=e.interpolate||B,c="__p+='",f=ne((e.escape||B).source+"|"+f.source+"|"+(f===N?S:B).source+"|"+(e.evaluate||B).source+"|$","g");n.replace(f,function(t,e,r,a,f,l){return r||(r=a),c+=n.slice(o,l).replace(D,i),e&&(c+="'+__e("+e+")+'"),f&&(u=y,c+="';"+f+";__p+='"),r&&(c+="'+((__t=("+r+"))==null?'':__t)+'"),o=l+t.length,t
}),c+="';\n",f=e=e.variable,f||(e="obj",c="with("+e+"){"+c+"}"),c=(u?c.replace(O,""):c).replace(E,"$1").replace(I,"$1;"),c="function("+e+"){"+(f?"":e+"||("+e+"={});")+"var __t,__p='',__e=_.escape"+(u?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+c+"return __p}";try{var l=Qt(r,"return "+c).apply(h,a)}catch(p){throw p.source=c,p}return t?l(t):(l.source=c,l)},Z.unescape=function(n){return n==b?"":te(n).replace(ze,pt)},Z.uniqueId=function(n){var t=++k;return te(n==b?"":n)+t
},Z.all=wt,Z.any=Rt,Z.detect=jt,Z.findWhere=jt,Z.foldl=At,Z.foldr=Nt,Z.include=kt,Z.inject=At,d(Z,function(n,t){Z.prototype[t]||(Z.prototype[t]=function(){var t=[this.__wrapped__],e=this.__chain__;return ge.apply(t,arguments),t=n.apply(Z,t),e?new nt(t,e):t})}),Z.first=$t,Z.last=function(n,t,e){if(n){var r=0,u=n.length;if(typeof t!="number"&&t!=b){var a=u;for(t=Z.createCallback(t,e,3);a--&&t(n[a],a,n);)r++}else if(r=t,r==b||e)return n[u-1];return v(n,xe(0,u-r))}},Z.take=$t,Z.head=$t,d(Z,function(n,t){Z.prototype[t]||(Z.prototype[t]=function(t,e){var r=this.__chain__,u=n(this.__wrapped__,t,e);
return!r&&(t==b||e&&typeof t!="function")?u:new nt(u,r)})}),Z.VERSION="1.3.1",Z.prototype.chain=function(){return this.__chain__=y,this},Z.prototype.toString=function(){return te(this.__wrapped__)},Z.prototype.value=Vt,Z.prototype.valueOf=Vt,xt(["join","pop","shift"],function(n){var t=re[n];Z.prototype[n]=function(){var n=this.__chain__,e=t.apply(this.__wrapped__,arguments);return n?new nt(e,n):e}}),xt(["push","reverse","sort","unshift"],function(n){var t=re[n];Z.prototype[n]=function(){return t.apply(this.__wrapped__,arguments),this
}}),xt(["concat","slice","splice"],function(n){var t=re[n];Z.prototype[n]=function(){return new nt(t.apply(this.__wrapped__,arguments),this.__chain__)}}),Z}var h,y=!0,b=null,_=!1,m=[],d=[],k=0,w=+new Date+"",C=75,j=40,x=" \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",O=/\b__p\+='';/g,E=/\b(__p\+=)''\+/g,I=/(__e\(.*?\)|\b__t\))\+'';/g,S=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,A=/\w*$/,N=/<%=([\s\S]+?)%>/g,R=RegExp("^["+x+"]*0+(?=.$)"),B=/($^)/,$=($=/\bthis\b/)&&$.test(g)&&$,D=/['\n\r\t\u2028\u2029\\]/g,F="Array Boolean Date Function Math Number Object RegExp String _ attachEvent clearTimeout isFinite isNaN parseInt setImmediate setTimeout".split(" "),T="[object Arguments]",q="[object Array]",z="[object Boolean]",W="[object Date]",P="[object Function]",K="[object Number]",L="[object Object]",M="[object RegExp]",U="[object String]",V={};
V[P]=_,V[T]=V[q]=V[z]=V[W]=V[K]=V[L]=V[M]=V[U]=y;var G={"boolean":_,"function":y,object:y,number:_,string:_,undefined:_},H={"\\":"\\","'":"'","\n":"n","\r":"r","\t":"t","\u2028":"u2028","\u2029":"u2029"},J=G[typeof exports]&&exports,Q=G[typeof module]&&module&&module.exports==J&&module,X=G[typeof global]&&global;!X||X.global!==X&&X.window!==X||(n=X);var Y=g();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(n._=Y, define(function(){return Y})):J&&!J.nodeType?Q?(Q.exports=Y)._=Y:J._=Y:n._=Y
;!function(n){function t(n,t,e){e=(e||0)-1;for(var r=n?n.length:0;++e<r;)if(n[e]===t)return e;return-1}function e(n,e){var r=typeof e;if(n=n.k,"boolean"==r||e==_)return n[e];"number"!=r&&"string"!=r&&(r="object");var u="number"==r?e:j+e;return n=n[r]||(n[r]={}),"object"==r?n[u]&&-1<t(n[u],e)?0:-1:n[u]?0:-1}function r(n){var t=this.k,e=typeof n;if("boolean"==e||n==_)t[n]=y;else{"number"!=e&&"string"!=e&&(e="object");var r="number"==e?n:j+n,t=t[e]||(t[e]={});"object"==e?(t[r]||(t[r]=[])).push(n):t[r]=y
}}function u(n){return n.charCodeAt(0)}function a(n,t){var e=n.m,r=t.m;if(n=n.l,t=t.l,n!==t){if(n>t||typeof n=="undefined")return 1;if(n<t||typeof t=="undefined")return-1}return e<r?-1:1}function o(n){var t=-1,e=n.length,u=n[0],a=n[e-1];if(u&&typeof u=="object"&&a&&typeof a=="object")return m;for(u=c(),u["false"]=u["null"]=u["true"]=u.undefined=m,a=c(),a.b=n,a.k=u,a.push=r;++t<e;)a.push(n[t]);return a}function i(n){return"\\"+H[n]}function f(){return b.pop()||[]}function c(){return d.pop()||{b:_,k:_,configurable:m,l:_,enumerable:m,"false":m,m:0,leading:m,maxWait:0,"null":m,number:_,z:_,push:_,string:_,trailing:m,"true":m,undefined:m,n:_,writable:m}
}function l(){}function p(n){n.length=0,b.length<x&&b.push(n)}function s(n){var t=n.k;t&&s(t),n.b=n.k=n.l=n.object=n.number=n.string=n.n=_,d.length<x&&d.push(n)}function v(n,t,e){t||(t=0),typeof e=="undefined"&&(e=n?n.length:0);var r=-1;e=e-t||0;for(var u=Array(0>e?0:e);++r<e;)u[r]=n[t+r];return u}function g(r){function b(n){if(!n||be.call(n)!=L)return m;var t=n.valueOf,e=typeof t=="function"&&(e=ve(t))&&ve(e);return e?n==e||ve(n)==e:pt(n)}function d(n,t,e){if(!n||!G[typeof n])return n;t=t&&typeof e=="undefined"?t:et(t,e,3);
for(var r=-1,u=G[typeof n]&&ze(n),a=u?u.length:0;++r<a&&(e=u[r],!(t(n[e],e,n)===false)););return n}function x(n,t,e){var r;if(!n||!G[typeof n])return n;t=t&&typeof e=="undefined"?t:et(t,e,3);for(r in n)if(t(n[r],r,n)===false)break;return n}function H(n,t,e){var r,u=n,a=u;if(!u)return a;for(var o=arguments,i=0,f=typeof e=="number"?2:o.length;++i<f;)if((u=o[i])&&G[typeof u])for(var c=-1,l=G[typeof u]&&ze(u),p=l?l.length:0;++c<p;)r=l[c],"undefined"==typeof a[r]&&(a[r]=u[r]);return a}function J(n,t,e){var r,u=n,a=u;
if(!u)return a;var o=arguments,i=0,f=typeof e=="number"?2:o.length;if(3<f&&"function"==typeof o[f-2])var c=et(o[--f-1],o[f--],2);else 2<f&&"function"==typeof o[f-1]&&(c=o[--f]);for(;++i<f;)if((u=o[i])&&G[typeof u])for(var l=-1,p=G[typeof u]&&ze(u),s=p?p.length:0;++l<s;)r=p[l],a[r]=c?c(a[r],u[r]):u[r];return a}function X(n){var t,e=[];if(!n||!G[typeof n])return e;for(t in n)ge.call(n,t)&&e.push(t);return e}function Z(n){return n&&typeof n=="object"&&!Te(n)&&ge.call(n,"__wrapped__")?n:new nt(n)}function nt(n,t){this.__chain__=!!t,this.__wrapped__=n
}function tt(n,t,e,r,u){var a=n;if(e){if(a=e(a),typeof a!="undefined")return a;a=n}var o=mt(a);if(o){var i=be.call(a);if(!V[i])return a;var c=Te(a)}if(!o||!t)return o?c?v(a):J({},a):a;switch(o=$e[i],i){case q:case W:return new o(+a);case K:case U:return new o(a);case M:return o(a.source,A.exec(a))}i=!r,r||(r=f()),u||(u=f());for(var l=r.length;l--;)if(r[l]==n)return u[l];return a=c?o(a.length):{},c&&(ge.call(n,"index")&&(a.index=n.index),ge.call(n,"input")&&(a.input=n.input)),r.push(n),u.push(a),(c?Ot:d)(n,function(n,o){a[o]=tt(n,t,e,r,u)
}),i&&(p(r),p(u)),a}function et(n,t,e){if(typeof n!="function")return Ut;if(typeof t=="undefined")return n;var r=!n.name||n.__bindData__;if(typeof r=="undefined"&&(r=!$||$.test(se.call(n)),Fe(n,r)),r!==y&&(!r||!r[4]))return n;switch(e){case 1:return function(e){return n.call(t,e)};case 2:return function(e,r){return n.call(t,e,r)};case 3:return function(e,r,u){return n.call(t,e,r,u)};case 4:return function(e,r,u,a){return n.call(t,e,r,u,a)}}return Kt(n,t)}function rt(n,t,e,r){r=(r||0)-1;for(var u=n?n.length:0,a=[];++r<u;){var o=n[r];
o&&typeof o=="object"&&(Te(o)||vt(o))?he.apply(a,t?o:rt(o,t,e)):e||a.push(o)}return a}function ut(n,t,e,r,u,a){if(e){var o=e(n,t);if(typeof o!="undefined")return!!o}if(n===t)return 0!==n||1/n==1/t;if(n===n&&(!n||!G[typeof n])&&(!t||!G[typeof t]))return m;if(n==_||t==_)return n===t;var i=be.call(n),c=be.call(t);if(i==T&&(i=L),c==T&&(c=L),i!=c)return m;switch(i){case q:case W:return+n==+t;case K:return n!=+n?t!=+t:0==n?1/n==1/t:n==+t;case M:case U:return n==ee(t)}if(c=i==z,!c){if(ge.call(n,"__wrapped__")||ge.call(t,"__wrapped__"))return ut(n.__wrapped__||n,t.__wrapped__||t,e,r,u,a);
if(i!=L)return m;var i=n.constructor,l=t.constructor;if(i!=l&&(!_t(i)||!(i instanceof i&&_t(l)&&l instanceof l)))return m}for(l=!u,u||(u=f()),a||(a=f()),i=u.length;i--;)if(u[i]==n)return a[i]==t;var s=0,o=y;if(u.push(n),a.push(t),c){if(i=n.length,s=t.length,o=s==n.length,!o&&!r)return o;for(;s--;)if(c=i,l=t[s],r)for(;c--&&!(o=ut(n[c],l,e,r,u,a)););else if(!(o=ut(n[s],l,e,r,u,a)))break;return o}return x(t,function(t,i,f){return ge.call(f,i)?(s++,o=ge.call(n,i)&&ut(n[i],t,e,r,u,a)):void 0}),o&&!r&&x(n,function(n,t,e){return ge.call(e,t)?o=-1<--s:void 0
}),l&&(p(u),p(a)),o}function at(n,t,e,r,u){(Te(t)?Ot:d)(t,function(t,a){var o,i,f=t,c=n[a];if(t&&((i=Te(t))||b(t))){for(f=r.length;f--;)if(o=r[f]==t){c=u[f];break}if(!o){var l;e&&(f=e(c,t),l=typeof f!="undefined")&&(c=f),l||(c=i?Te(c)?c:[]:b(c)?c:{}),r.push(t),u.push(c),l||at(c,t,e,r,u)}}else e&&(f=e(c,t),typeof f=="undefined"&&(f=t)),typeof f!="undefined"&&(c=f);n[a]=c})}function ot(n,r,u){var a=-1,i=lt(),c=n?n.length:0,l=[],v=!r&&c>=k&&i===t,g=u||v?f():l;if(v){var h=o(g);h?(i=e,g=h):(v=m,g=u?g:(p(g),l))
}for(;++a<c;){var h=n[a],y=u?u(h,a,n):h;(r?!a||g[g.length-1]!==y:0>i(g,y))&&((u||v)&&g.push(y),l.push(h))}return v?(p(g.b),s(g)):u&&p(g),l}function it(n){return function(t,e,r){var u={};return e=Z.createCallback(e,r,3),Ot(t,function(t,r,a){r=ee(e(t,r,a)),n(u,t,r,a)}),u}}function ft(n,t,e,r,u,a){var o=a&&!u;if(!_t(n)&&!o)throw new re;var i=n.__bindData__;if(i)return he.apply(i[2],e),he.apply(i[3],r),!u&&i[4]&&(i[1]=t,i[4]=m,i[5]=a),ft.apply(_,i);if(u||a||r.length||!(De.fastBind||we&&e.length))f=function(){var a=arguments,i=u?this:t;
return o&&(n=t[c]),(e.length||r.length)&&(de.apply(a,e),he.apply(a,r)),this instanceof f?(i=mt(n.prototype)?je(n.prototype):{},a=n.apply(i,a),mt(a)?a:i):n.apply(i,a)};else{i=[n,t],he.apply(i,e);var f=we.call.apply(we,i)}if(i=Ne.call(arguments),o){var c=t;t=n}return Fe(f,i),f}function ct(n){return qe[n]}function lt(){var n=(n=Z.indexOf)===Ft?t:n;return n}function pt(n){var t,e;return n&&be.call(n)==L&&(t=n.constructor,!_t(t)||t instanceof t)?(x(n,function(n,t){e=t}),e===h||ge.call(n,e)):m}function st(n){return We[n]
}function vt(n){return n&&typeof n=="object"?be.call(n)==T:m}function gt(n,t,e){var r=ze(n),u=r.length;for(t=et(t,e,3);u--&&(e=r[u],!(t(n[e],e,n)===false)););return n}function ht(n){var t=[];return x(n,function(n,e){_t(n)&&t.push(e)}),t.sort()}function yt(n){for(var t=-1,e=ze(n),r=e.length,u={};++t<r;){var a=e[t];u[n[a]]=a}return u}function _t(n){return typeof n=="function"}function mt(n){return!(!n||!G[typeof n])}function bt(n){return typeof n=="number"||be.call(n)==K}function dt(n){return typeof n=="string"||be.call(n)==U
}function wt(n){for(var t=-1,e=ze(n),r=e.length,u=Ht(r);++t<r;)u[t]=n[e[t]];return u}function jt(n,t,e){var r=-1,u=lt(),a=n?n.length:0,o=m;return e=(0>e?Ee(0,a+e):e)||0,a&&typeof a=="number"?o=-1<(dt(n)?n.indexOf(t,e):u(n,t,e)):d(n,function(n){return++r<e?void 0:!(o=n===t)}),o}function kt(n,t,e){var r=y;t=Z.createCallback(t,e,3),e=-1;var u=n?n.length:0;if(typeof u=="number")for(;++e<u&&(r=!!t(n[e],e,n)););else d(n,function(n,e,u){return r=!!t(n,e,u)});return r}function xt(n,t,e){var r=[];t=Z.createCallback(t,e,3),e=-1;
var u=n?n.length:0;if(typeof u=="number")for(;++e<u;){var a=n[e];t(a,e,n)&&r.push(a)}else d(n,function(n,e,u){t(n,e,u)&&r.push(n)});return r}function Ct(n,t,e){t=Z.createCallback(t,e,3),e=-1;var r=n?n.length:0;if(typeof r!="number"){var u;return d(n,function(n,e,r){return t(n,e,r)?(u=n,m):void 0}),u}for(;++e<r;){var a=n[e];if(t(a,e,n))return a}}function Ot(n,t,e){var r=-1,u=n?n.length:0;if(t=t&&typeof e=="undefined"?t:et(t,e,3),typeof u=="number")for(;++r<u&&t(n[r],r,n)!==false;);else d(n,t);return n
}function Et(n,t,e){var r=n?n.length:0;if(typeof r!="number")var u=ze(n),r=u.length;return t=et(t,e,3),Ot(n,function(e,a,o){a=u?u[--r]:--r,t(n[a],a,o)}),n}function It(n,t,e){var r=-1,u=n?n.length:0;if(t=Z.createCallback(t,e,3),typeof u=="number")for(var a=Ht(u);++r<u;)a[r]=t(n[r],r,n);else a=[],d(n,function(n,e,u){a[++r]=t(n,e,u)});return a}function St(n,t,e){var r=-1/0,a=r;if(!t&&Te(n)){e=-1;for(var o=n.length;++e<o;){var i=n[e];i>a&&(a=i)}}else t=!t&&dt(n)?u:Z.createCallback(t,e,3),Ot(n,function(n,e,u){e=t(n,e,u),e>r&&(r=e,a=n)
});return a}function At(n,t){var e=-1,r=n?n.length:0;if(typeof r=="number")for(var u=Ht(r);++e<r;)u[e]=n[e][t];return u||It(n,t)}function Nt(n,t,e,r){if(!n)return e;var u=3>arguments.length;t=et(t,r,4);var a=-1,o=n.length;if(typeof o=="number")for(u&&(e=n[++a]);++a<o;)e=t(e,n[a],a,n);else d(n,function(n,r,a){e=u?(u=m,n):t(e,n,r,a)});return e}function Rt(n,t,e,r){var u=3>arguments.length;return t=et(t,r,4),Et(n,function(n,r,a){e=u?(u=m,n):t(e,n,r,a)}),e}function Bt(n,t,e){var r;t=Z.createCallback(t,e,3),e=-1;
var u=n?n.length:0;if(typeof u=="number")for(;++e<u&&!(r=t(n[e],e,n)););else d(n,function(n,e,u){return!(r=t(n,e,u))});return!!r}function $t(n){var r=-1,u=lt(),a=n?n.length:0,i=rt(arguments,y,y,1),f=[],c=a>=k&&u===t;if(c){var l=o(i);l?(u=e,i=l):c=m}for(;++r<a;)l=n[r],0>u(i,l)&&f.push(l);return c&&s(i),f}function Dt(n,t,e){if(n){var r=0,u=n.length;if(typeof t!="number"&&t!=_){var a=-1;for(t=Z.createCallback(t,e,3);++a<u&&t(n[a],a,n);)r++}else if(r=t,r==_||e)return n[0];return v(n,0,Ie(Ee(0,r),u))}}function Ft(n,e,r){if(typeof r=="number"){var u=n?n.length:0;
r=0>r?Ee(0,u+r):r||0}else if(r)return r=zt(n,e),n[r]===e?r:-1;return n?t(n,e,r):-1}function Tt(n,t,e){if(typeof t!="number"&&t!=_){var r=0,u=-1,a=n?n.length:0;for(t=Z.createCallback(t,e,3);++u<a&&t(n[u],u,n);)r++}else r=t==_||e?1:Ee(0,t);return v(n,r)}function zt(n,t,e,r){var u=0,a=n?n.length:u;for(e=e?Z.createCallback(e,r,1):Ut,t=e(t);u<a;)r=u+a>>>1,e(n[r])<t?u=r+1:a=r;return u}function qt(n,t,e,r){return typeof t!="boolean"&&t!=_&&(r=e,e=r&&r[t]===n?h:t,t=m),e!=_&&(e=Z.createCallback(e,r,3)),ot(n,t,e)
}function Wt(){for(var n=1<arguments.length?arguments:arguments[0],t=-1,e=n?St(At(n,"length")):0,r=Ht(0>e?0:e);++t<e;)r[t]=At(n,t);return r}function Pt(n,t){for(var e=-1,r=n?n.length:0,u={};++e<r;){var a=n[e];t?u[a]=t[e]:a&&(u[a[0]]=a[1])}return u}function Kt(n,t){return ft(n,t,Ne.call(arguments,2),[])}function Lt(n,t,e){function r(){ce(s),ce(v),c=0,s=v=_}function u(){var t=g&&(!h||1<c);r(),t&&(p!==false&&(l=new Qt),i=n.apply(f,o))}function a(){r(),(g||p!==t)&&(l=new Qt,i=n.apply(f,o))}var o,i,f,c=0,l=0,p=m,s=_,v=_,g=y;
if(t=Ee(0,t||0),e===y)var h=y,g=m;else mt(e)&&(h=e.leading,p="maxWait"in e&&Ee(t,e.maxWait||0),g="trailing"in e?e.trailing:g);return function(){if(o=arguments,f=this,c++,ce(v),p===false)h&&2>c&&(i=n.apply(f,o));else{var e=new Qt;!s&&!h&&(l=e);var r=p-(e-l);0<r?s||(s=_e(a,r)):(ce(s),s=_,l=e,i=n.apply(f,o))}return t!==p&&(v=_e(u,t)),i}}function Mt(n){var t=Ne.call(arguments,1);return _e(function(){n.apply(h,t)},1)}function Ut(n){return n}function Vt(n,t){var e=n,r=!t||_t(e);t||(e=nt,t=n,n=Z),Ot(ht(t),function(u){var a=n[u]=t[u];
r&&(e.prototype[u]=function(){var t=this.__wrapped__,r=[t];return he.apply(r,arguments),r=a.apply(n,r),t&&typeof t=="object"&&t===r?this:new e(r)})})}function Gt(){return this.__wrapped__}r=r?Y.defaults(n.Object(),r,Y.pick(n,F)):n;var Ht=r.Array,Jt=r.Boolean,Qt=r.Date,Xt=r.Function,Yt=r.Math,Zt=r.Number,ne=r.Object,te=r.RegExp,ee=r.String,re=r.TypeError,ue=[],ae=ne.prototype,oe=r._,ie=te("^"+ee(ae.valueOf).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/valueOf|for [^\]]+/g,".+?")+"$"),fe=Yt.ceil,ce=r.clearTimeout,le=ie.test(le=ne.defineProperty)&&le,pe=Yt.floor,se=Xt.prototype.toString,ve=ie.test(ve=ne.getPrototypeOf)&&ve,ge=ae.hasOwnProperty,he=ue.push,ye=r.setImmediate,_e=r.setTimeout,me=ue.splice,be=ae.toString,de=ue.unshift,we=ie.test(we=be.bind)&&we,je=ie.test(je=ne.create)&&je,ke=ie.test(ke=Ht.isArray)&&ke,xe=r.isFinite,Ce=r.isNaN,Oe=ie.test(Oe=ne.keys)&&Oe,Ee=Yt.max,Ie=Yt.min,Se=r.parseInt,Ae=Yt.random,Ne=ue.slice,Re=ie.test(r.attachEvent),Be=we&&!/\n|true/.test(we+Re),$e={};
$e[z]=Ht,$e[q]=Jt,$e[W]=Qt,$e[P]=Xt,$e[L]=ne,$e[K]=Zt,$e[M]=te,$e[U]=ee,nt.prototype=Z.prototype;var De=Z.support={};De.fastBind=we&&!Be,Z.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:N,variable:"",imports:{_:Z}};var Fe=le?function(n,t){var e=c();e.value=t,le(n,"__bindData__",e),s(e)}:l,Te=ke,ze=Oe?function(n){return mt(n)?Oe(n):[]}:X,qe={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},We=yt(qe),Pe=te("("+ze(We).join("|")+")","g"),Ke=te("["+ze(qe).join("")+"]","g"),Le=it(function(n,t,e){ge.call(n,e)?n[e]++:n[e]=1
}),Me=it(function(n,t,e){(ge.call(n,e)?n[e]:n[e]=[]).push(t)}),Ue=it(function(n,t,e){n[e]=t});Be&&Q&&typeof ye=="function"&&(Mt=Kt(ye,r));var Ve=8==Se(C+"08")?Se:function(n,t){return Se(dt(n)?n.replace(R,""):n,t||0)};return Z.after=function(n,t){return function(){return 1>--n?t.apply(this,arguments):void 0}},Z.assign=J,Z.at=function(n){for(var t=-1,e=rt(arguments,y,m,1),r=e.length,u=Ht(r);++t<r;)u[t]=n[e[t]];return u},Z.bind=Kt,Z.bindAll=function(n){for(var t=1<arguments.length?rt(arguments,y,m,1):ht(n),e=-1,r=t.length;++e<r;){var u=t[e];
n[u]=Kt(n[u],n)}return n},Z.bindKey=function(n,t){return ft(n,t,Ne.call(arguments,2),[],m,y)},Z.chain=function(n){return n=new nt(n),n.__chain__=y,n},Z.compact=function(n){for(var t=-1,e=n?n.length:0,r=[];++t<e;){var u=n[t];u&&r.push(u)}return r},Z.compose=function(){var n=arguments;return function(){for(var t=arguments,e=n.length;e--;)t=[n[e].apply(this,t)];return t[0]}},Z.countBy=Le,Z.createCallback=function(n,t,e){var r=typeof n;if(n==_||"function"==r)return et(n,t,e);if("object"!=r)return function(t){return t[n]
};var u=ze(n),a=u[0],o=n[a];return 1!=u.length||o!==o||mt(o)?function(t){for(var e=u.length,r=m;e--&&(r=ut(t[u[e]],n[u[e]],_,y)););return r}:function(n){return n=n[a],o===n&&(0!==o||1/o==1/n)}},Z.debounce=Lt,Z.defaults=H,Z.defer=Mt,Z.delay=function(n,t){var e=Ne.call(arguments,2);return _e(function(){n.apply(h,e)},t)},Z.difference=$t,Z.filter=xt,Z.flatten=function(n,t,e,r){return typeof t!="boolean"&&t!=_&&(r=e,e=r&&r[t]===n?h:t,t=m),e!=_&&(n=It(n,e,r)),rt(n,t)},Z.forEach=Ot,Z.forEachRight=Et,Z.forIn=x,Z.forInRight=function(n,t,e){var r=-1,u=[];
x(n,function(n,t){u.push(n,t)});var a=u.length;for(t=et(t,e,3);++r<a&&t(u[r],u[++r],n)!==false;);return n},Z.forOwn=d,Z.forOwnRight=gt,Z.functions=ht,Z.groupBy=Me,Z.indexBy=Ue,Z.initial=function(n,t,e){if(!n)return[];var r=0,u=n.length;if(typeof t!="number"&&t!=_){var a=u;for(t=Z.createCallback(t,e,3);a--&&t(n[a],a,n);)r++}else r=t==_||e?1:t||r;return v(n,0,Ie(Ee(0,u-r),u))},Z.intersection=function(n){for(var r=arguments,u=r.length,a=-1,i=f(),c=-1,l=lt(),v=n?n.length:0,g=[],h=f();++a<u;){var y=r[a];
i[a]=l===t&&(y?y.length:0)>=k&&o(a?r[a]:h)}n:for(;++c<v;){var _=i[0],y=n[c];if(0>(_?e(_,y):l(h,y))){for(a=u,(_||h).push(y);--a;)if(_=i[a],0>(_?e(_,y):l(r[a],y)))continue n;g.push(y)}}for(;u--;)(_=i[u])&&s(_);return p(i),p(h),g},Z.invert=yt,Z.invoke=function(n,t){var e=Ne.call(arguments,2),r=-1,u=typeof t=="function",a=n?n.length:0,o=Ht(typeof a=="number"?a:0);return Ot(n,function(n){o[++r]=(u?t:n[t]).apply(n,e)}),o},Z.keys=ze,Z.map=It,Z.max=St,Z.memoize=function(n,t){function e(){var r=e.cache,u=j+(t?t.apply(this,arguments):arguments[0]);
return ge.call(r,u)?r[u]:r[u]=n.apply(this,arguments)}return e.cache={},e},Z.merge=function(n){var t=arguments,e=2;if(!mt(n))return n;if("number"!=typeof t[2]&&(e=t.length),3<e&&"function"==typeof t[e-2])var r=et(t[--e-1],t[e--],2);else 2<e&&"function"==typeof t[e-1]&&(r=t[--e]);for(var t=Ne.call(arguments,1,e),u=-1,a=f(),o=f();++u<e;)at(n,t[u],r,a,o);return p(a),p(o),n},Z.min=function(n,t,e){var r=1/0,a=r;if(!t&&Te(n)){e=-1;for(var o=n.length;++e<o;){var i=n[e];i<a&&(a=i)}}else t=!t&&dt(n)?u:Z.createCallback(t,e,3),Ot(n,function(n,e,u){e=t(n,e,u),e<r&&(r=e,a=n)
});return a},Z.omit=function(n,t,e){var r=lt(),u=typeof t=="function",a={};if(u)t=Z.createCallback(t,e,3);else var o=rt(arguments,y,m,1);return x(n,function(n,e,i){(u?!t(n,e,i):0>r(o,e))&&(a[e]=n)}),a},Z.once=function(n){var t,e;return function(){return t?e:(t=y,e=n.apply(this,arguments),n=_,e)}},Z.pairs=function(n){for(var t=-1,e=ze(n),r=e.length,u=Ht(r);++t<r;){var a=e[t];u[t]=[a,n[a]]}return u},Z.partial=function(n){return ft(n,_,Ne.call(arguments,1),[],y)},Z.partialRight=function(n){return ft(n,_,[],Ne.call(arguments,1),y,y)
},Z.pick=function(n,t,e){var r={};if(typeof t!="function")for(var u=-1,a=rt(arguments,y,m,1),o=mt(n)?a.length:0;++u<o;){var i=a[u];i in n&&(r[i]=n[i])}else t=Z.createCallback(t,e,3),x(n,function(n,e,u){t(n,e,u)&&(r[e]=n)});return r},Z.pluck=At,Z.pull=function(n){for(var t=arguments,e=0,r=t.length,u=n?n.length:0;++e<r;)for(var a=-1,o=t[e];++a<u;)n[a]===o&&(me.call(n,a--,1),u--);return n},Z.range=function(n,t,e){n=+n||0,e=+e||1,t==_&&(t=n,n=0);var r=-1;t=Ee(0,fe((t-n)/e));for(var u=Ht(t);++r<t;)u[r]=n,n+=e;
return u},Z.reject=function(n,t,e){return t=Z.createCallback(t,e,3),xt(n,function(n,e,r){return!t(n,e,r)})},Z.remove=function(n,t,e){var r=[];t=Z.createCallback(t,e,3),e=-1;var u=n?n.length:0;if(typeof u=="number")for(;++e<u;){var a=n[e];t(a,e,n)&&(r.push(a),me.call(n,e--,1),u--)}else d(n,function(n,e,u){t(n,e,u)&&(r.push(n),delete u[e])});return r},Z.rest=Tt,Z.shuffle=function(n){var t=-1,e=n?n.length:0,r=Ht(typeof e=="number"?e:0);return Ot(n,function(n){var e=pe(Ae()*(++t+1));r[t]=r[e],r[e]=n}),r
},Z.sortBy=function(n,t,e){var r=-1,u=n?n.length:0,o=Ht(typeof u=="number"?u:0);for(t=Z.createCallback(t,e,3),Ot(n,function(n,e,u){var a=o[++r]=c();a.l=t(n,e,u),a.m=r,a.n=n}),u=o.length,o.sort(a);u--;)n=o[u],o[u]=n.n,s(n);return o},Z.tap=function(n,t){return t(n),n},Z.throttle=function(n,t,e){var r=y,u=y;return e===false?r=m:mt(e)&&(r="leading"in e?e.leading:r,u="trailing"in e?e.trailing:u),e=c(),e.leading=r,e.maxWait=t,e.trailing=u,n=Lt(n,t,e),s(e),n},Z.times=function(n,t,e){n=-1<(n=+n)?n:0;var r=-1,u=Ht(n);
for(t=et(t,e,1);++r<n;)u[r]=t(r);return u},Z.toArray=function(n){return n&&typeof n.length=="number"?v(n):wt(n)},Z.transform=function(n,t,e,r){var u=Te(n);return t=et(t,r,4),e==_&&(u?e=[]:(r=n&&n.constructor,e=mt(r&&r.prototype)?je(r&&r.prototype):{})),(u?Ot:d)(n,function(n,r,u){return t(e,n,r,u)}),e},Z.union=function(){return ot(rt(arguments,y,y))},Z.uniq=qt,Z.values=wt,Z.where=xt,Z.without=function(n){return $t(n,Ne.call(arguments,1))},Z.wrap=function(n,t){return function(){var e=[n];return he.apply(e,arguments),t.apply(this,e)
}},Z.zip=Wt,Z.zipObject=Pt,Z.collect=It,Z.drop=Tt,Z.each=Ot,Z.extend=J,Z.methods=ht,Z.object=Pt,Z.select=xt,Z.tail=Tt,Z.unique=qt,Z.unzip=Wt,Vt(Z),Z.clone=function(n,t,e,r){return typeof t!="boolean"&&t!=_&&(r=e,e=t,t=m),tt(n,t,typeof e=="function"&&et(e,r,1))},Z.cloneDeep=function(n,t,e){return tt(n,y,typeof t=="function"&&et(t,e,1))},Z.contains=jt,Z.escape=function(n){return n==_?"":ee(n).replace(Ke,ct)},Z.every=kt,Z.find=Ct,Z.findIndex=function(n,t,e){var r=-1,u=n?n.length:0;for(t=Z.createCallback(t,e,3);++r<u;)if(t(n[r],r,n))return r;
return-1},Z.findLast=function(n,t,e){var r;return t=Z.createCallback(t,e),Et(n,function(n,e,u){return t(n,e,u)?(r=n,m):void 0}),r},Z.findLastIndex=function(n,t,e){var r=n?n.length:0;for(t=Z.createCallback(t,e);r--&&!t(n[-1],-1,n););return-1},Z.findKey=function(n,t,e){var r;return t=Z.createCallback(t,e,3),d(n,function(n,e,u){return t(n,e,u)?(r=e,m):void 0}),r},Z.findLastKey=function(n,t,e){var r;return t=Z.createCallback(t,e),gt(n,function(n,e,u){return t(n,e,u)?(r=e,m):void 0}),r},Z.has=function(n,t){return n?ge.call(n,t):m
},Z.identity=Ut,Z.indexOf=Ft,Z.isArguments=vt,Z.isArray=Te,Z.isBoolean=function(n){return n===y||n===false||be.call(n)==q},Z.isDate=function(n){return n?typeof n=="object"&&be.call(n)==W:m},Z.isElement=function(n){return n?1===n.nodeType:m},Z.isEmpty=function(n){var t=y;if(!n)return t;var e=be.call(n),r=n.length;return e==z||e==U||e==T||e==L&&typeof r=="number"&&_t(n.splice)?!r:(d(n,function(){return t=m}),t)},Z.isEqual=function(n,t,e,r){return ut(n,t,typeof e=="function"&&et(e,r,2))},Z.isFinite=function(n){return xe(n)&&!Ce(parseFloat(n))
},Z.isFunction=_t,Z.isNaN=function(n){return bt(n)&&n!=+n},Z.isNull=function(n){return n===_},Z.isNumber=bt,Z.isObject=mt,Z.isPlainObject=b,Z.isRegExp=function(n){return n?typeof n=="object"&&be.call(n)==M:m},Z.isString=dt,Z.isUndefined=function(n){return typeof n=="undefined"},Z.lastIndexOf=function(n,t,e){var r=n?n.length:0;for(typeof e=="number"&&(r=(0>e?Ee(0,r+e):Ie(e,r-1))+1);r--;)if(n[r]===t)return r;return-1},Z.mixin=Vt,Z.noConflict=function(){return r._=oe,this},Z.parseInt=Ve,Z.random=function(n,t){n==_&&t==_&&(t=1),n=+n||0,t==_?(t=n,n=0):t=+t||0;
var e=Ae();return n%1||t%1?n+Ie(e*(t-n+parseFloat("1e-"+((e+"").length-1))),t):n+pe(e*(t-n+1))},Z.reduce=Nt,Z.reduceRight=Rt,Z.result=function(n,t){var e=n?n[t]:h;return _t(e)?n[t]():e},Z.runInContext=g,Z.size=function(n){var t=n?n.length:0;return typeof t=="number"?t:ze(n).length},Z.some=Bt,Z.sortedIndex=zt,Z.template=function(n,t,e){var r=Z.templateSettings;n||(n=""),e=H({},e,r);var u,a=H({},e.imports,r.imports),r=ze(a),a=wt(a),o=0,f=e.interpolate||B,c="__p+='",f=te((e.escape||B).source+"|"+f.source+"|"+(f===N?S:B).source+"|"+(e.evaluate||B).source+"|$","g");
n.replace(f,function(t,e,r,a,f,l){return r||(r=a),c+=n.slice(o,l).replace(D,i),e&&(c+="'+__e("+e+")+'"),f&&(u=y,c+="';"+f+";__p+='"),r&&(c+="'+((__t=("+r+"))==null?'':__t)+'"),o=l+t.length,t}),c+="';\n",f=e=e.variable,f||(e="obj",c="with("+e+"){"+c+"}"),c=(u?c.replace(O,""):c).replace(E,"$1").replace(I,"$1;"),c="function("+e+"){"+(f?"":e+"||("+e+"={});")+"var __t,__p='',__e=_.escape"+(u?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+c+"return __p}";try{var l=Xt(r,"return "+c).apply(h,a)
}catch(p){throw p.source=c,p}return t?l(t):(l.source=c,l)},Z.unescape=function(n){return n==_?"":ee(n).replace(Pe,st)},Z.uniqueId=function(n){var t=++w;return ee(n==_?"":n)+t},Z.all=kt,Z.any=Bt,Z.detect=Ct,Z.findWhere=Ct,Z.foldl=Nt,Z.foldr=Rt,Z.include=jt,Z.inject=Nt,d(Z,function(n,t){Z.prototype[t]||(Z.prototype[t]=function(){var t=[this.__wrapped__],e=this.__chain__;return he.apply(t,arguments),t=n.apply(Z,t),e?new nt(t,e):t})}),Z.first=Dt,Z.last=function(n,t,e){if(n){var r=0,u=n.length;if(typeof t!="number"&&t!=_){var a=u;
for(t=Z.createCallback(t,e,3);a--&&t(n[a],a,n);)r++}else if(r=t,r==_||e)return n[u-1];return v(n,Ee(0,u-r))}},Z.take=Dt,Z.head=Dt,d(Z,function(n,t){Z.prototype[t]||(Z.prototype[t]=function(t,e){var r=this.__chain__,u=n(this.__wrapped__,t,e);return!r&&(t==_||e&&typeof t!="function")?u:new nt(u,r)})}),Z.VERSION="1.3.1",Z.prototype.chain=function(){return this.__chain__=y,this},Z.prototype.toString=function(){return ee(this.__wrapped__)},Z.prototype.value=Gt,Z.prototype.valueOf=Gt,Ot(["join","pop","shift"],function(n){var t=ue[n];
Z.prototype[n]=function(){var n=this.__chain__,e=t.apply(this.__wrapped__,arguments);return n?new nt(e,n):e}}),Ot(["push","reverse","sort","unshift"],function(n){var t=ue[n];Z.prototype[n]=function(){return t.apply(this.__wrapped__,arguments),this}}),Ot(["concat","slice","splice"],function(n){var t=ue[n];Z.prototype[n]=function(){return new nt(t.apply(this.__wrapped__,arguments),this.__chain__)}}),Z}var h,y=!0,_=null,m=!1,b=[],d=[],w=0,j=+new Date+"",k=75,x=40,C=" \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",O=/\b__p\+='';/g,E=/\b(__p\+=)''\+/g,I=/(__e\(.*?\)|\b__t\))\+'';/g,S=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,A=/\w*$/,N=/<%=([\s\S]+?)%>/g,R=RegExp("^["+C+"]*0+(?=.$)"),B=/($^)/,$=($=/\bthis\b/)&&$.test(g)&&$,D=/['\n\r\t\u2028\u2029\\]/g,F="Array Boolean Date Function Math Number Object RegExp String _ attachEvent clearTimeout isFinite isNaN parseInt setImmediate setTimeout".split(" "),T="[object Arguments]",z="[object Array]",q="[object Boolean]",W="[object Date]",P="[object Function]",K="[object Number]",L="[object Object]",M="[object RegExp]",U="[object String]",V={};
V[P]=m,V[T]=V[z]=V[q]=V[W]=V[K]=V[L]=V[M]=V[U]=y;var G={"boolean":m,"function":y,object:y,number:m,string:m,undefined:m},H={"\\":"\\","'":"'","\n":"n","\r":"r","\t":"t","\u2028":"u2028","\u2029":"u2029"},J=G[typeof exports]&&exports,Q=G[typeof module]&&module&&module.exports==J&&module,X=G[typeof global]&&global;!X||X.global!==X&&X.window!==X||(n=X);var Y=g();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(n._=Y, define(function(){return Y})):J&&!J.nodeType?Q?(Q.exports=Y)._=Y:J._=Y:n._=Y
}(this);

View File

@@ -77,7 +77,7 @@
/*--------------------------------------------------------------------------*/
/**
* A base implementation of `_.indexOf` without support for binary searches
* The base implementation of `_.indexOf` without support for binary searches
* or `fromIndex` constraints.
*
* @private
@@ -360,7 +360,42 @@
/*--------------------------------------------------------------------------*/
/**
* A base implementation of `_.flatten` without support for `callback`
* The base implementation of `_.createCallback` without support for creating
* "_.pluck" or "_.where" style callbacks.
*
* @private
* @param {Mixed} [func=identity] The value to convert to a callback.
* @param {Mixed} [thisArg] The `this` binding of the created callback.
* @param {Number} [argCount] The number of arguments the callback accepts.
* @returns {Function} Returns a callback function.
*/
function baseCreateCallback(func, thisArg, argCount) {
if (typeof func != 'function') {
return identity;
}
// exit early if there is no `thisArg`
if (typeof thisArg == 'undefined') {
return func;
}
switch (argCount) {
case 1: return function(value) {
return func.call(thisArg, value);
};
case 2: return function(a, b) {
return func.call(thisArg, a, b);
};
case 3: return function(value, index, collection) {
return func.call(thisArg, value, index, collection);
};
case 4: return function(accumulator, value, index, collection) {
return func.call(thisArg, accumulator, value, index, collection);
};
}
return bind(func, thisArg);
}
/**
* The base implementation of `_.flatten` without support for `callback`
* shorthands or `thisArg` binding.
*
* @private
@@ -388,7 +423,7 @@
}
/**
* A base implementation of `_.isEqual`, without support for `thisArg` binding,
* The base implementation of `_.isEqual`, without support for `thisArg` binding,
* that allows partial "_.where" style comparisons.
*
* @private
@@ -437,7 +472,7 @@
}
var isArr = className == arrayClass;
if (!isArr) {
if (a instanceof lodash || b instanceof lodash) {
if (hasOwnProperty.call(a, '__wrapped__ ') || b instanceof lodash) {
return baseIsEqual(a.__wrapped__ || a, b.__wrapped__ || b, stackA, stackB);
}
if (className != objectClass) {
@@ -499,7 +534,7 @@
}
/**
* A base implementation of `_.uniq` without support for `callback` shorthands
* The base implementation of `_.uniq` without support for `callback` shorthands
* or `thisArg` binding.
*
* @private
@@ -729,7 +764,7 @@
* @private
* @type Function
* @param {Object} object The object to inspect.
* @returns {Array} Returns a new array of property names.
* @returns {Array} Returns an array of property names.
*/
var shimKeys = function(object) {
var index, iterable = object, result = [];
@@ -750,7 +785,7 @@
* @memberOf _
* @category Objects
* @param {Object} object The object to inspect.
* @returns {Array} Returns a new array of property names.
* @returns {Array} Returns an array of property names.
* @example
*
* _.keys({ 'one': 1, 'two': 2, 'three': 3 });
@@ -792,7 +827,7 @@
/**
* Assigns own enumerable properties of source object(s) to the destination
* object. Subsequent sources will overwrite property assignments of previous
* sources. If a `callback` function is passed, it will be executed to produce
* sources. If a `callback` function is provided, it will be executed to produce
* the assigned values. The `callback` is bound to `thisArg` and invoked with
* two arguments; (objectValue, sourceValue).
*
@@ -837,7 +872,7 @@
/**
* Creates a clone of `value`. If `deep` is `true`, nested objects will also
* be cloned, otherwise they will be assigned by reference. If a `callback`
* function is passed, it will be executed to produce the cloned values. If
* function is provided, it will be executed to produce the cloned values. If
* `callback` returns `undefined`, cloning will be handled by the method instead.
* The `callback` is bound to `thisArg` and invoked with one argument; (value).
*
@@ -998,7 +1033,7 @@
* @alias methods
* @category Objects
* @param {Object} object The object to inspect.
* @returns {Array} Returns a new array of property names that have function values.
* @returns {Array} Returns an array of property names that have function values.
* @example
*
* _.functions(_);
@@ -1148,7 +1183,7 @@
/**
* Performs a deep comparison between two values to determine if they are
* equivalent to each other. If `callback` is passed, it will be executed to
* equivalent to each other. If `callback` is provided, it will be executed to
* compare values. If `callback` returns `undefined`, comparisons will be handled
* by the method instead. The `callback` is bound to `thisArg` and invoked with
* two arguments; (a, b).
@@ -1395,7 +1430,7 @@
/**
* Creates a shallow clone of `object` excluding the specified properties.
* Property names may be specified as individual arguments or as arrays of
* property names. If a `callback` function is passed, it will be executed
* property names. If a `callback` function is provided, it will be executed
* for each property in the `object`, omitting the properties `callback`
* returns truthy for. The `callback` is bound to `thisArg` and invoked
* with three arguments; (value, key, object).
@@ -1461,7 +1496,7 @@
/**
* Creates a shallow clone of `object` composed of the specified properties.
* Property names may be specified as individual arguments or as arrays of property
* names. If `callback` is passed, it will be executed for each property in the
* names. If `callback` is provided, it will be executed for each property in the
* `object`, picking the properties `callback` returns truthy for. The `callback`
* is bound to `thisArg` and invoked with three arguments; (value, key, object).
*
@@ -1506,7 +1541,7 @@
* @memberOf _
* @category Objects
* @param {Object} object The object to inspect.
* @returns {Array} Returns a new array of property values.
* @returns {Array} Returns an array of property values.
* @example
*
* _.values({ 'one': 1, 'two': 2, 'three': 3 });
@@ -1574,10 +1609,10 @@
* The `callback` is bound to `thisArg` and invoked with three arguments;
* (value, index|key, collection).
*
* If a property name is passed for `callback`, the created "_.pluck" style
* If a property name is provided for `callback`, the created "_.pluck" style
* callback will return the property value of the given element.
*
* If an object is passed for `callback`, the created "_.where" style callback
* If an object is provided for `callback`, the created "_.where" style callback
* will return `true` for elements that have the properties of the given object,
* else `false`.
*
@@ -1585,9 +1620,9 @@
* @memberOf _
* @category Collections
* @param {Array|Object|String} collection The collection to iterate over.
* @param {Function|Object|String} [callback=identity] The function called per
* iteration. If a property name or object is passed, it will be used to create
* a "_.pluck" or "_.where" style callback, respectively.
* @param {Function|Object|String} [callback=identity] The function called
* per iteration. If a property name or object is provided, it will be used
* to create a "_.pluck" or "_.where" style callback, respectively.
* @param {Mixed} [thisArg] The `this` binding of `callback`.
* @returns {Object} Returns the composed aggregate object.
* @example
@@ -1610,10 +1645,10 @@
* `collection`. The `callback` is bound to `thisArg` and invoked with three
* arguments; (value, index|key, collection).
*
* If a property name is passed for `callback`, the created "_.pluck" style
* If a property name is provided for `callback`, the created "_.pluck" style
* callback will return the property value of the given element.
*
* If an object is passed for `callback`, the created "_.where" style callback
* If an object is provided for `callback`, the created "_.where" style callback
* will return `true` for elements that have the properties of the given object,
* else `false`.
*
@@ -1622,9 +1657,9 @@
* @alias all
* @category Collections
* @param {Array|Object|String} collection The collection to iterate over.
* @param {Function|Object|String} [callback=identity] The function called per
* iteration. If a property name or object is passed, it will be used to create
* a "_.pluck" or "_.where" style callback, respectively.
* @param {Function|Object|String} [callback=identity] The function called
* per iteration. If a property name or object is provided, it will be used
* to create a "_.pluck" or "_.where" style callback, respectively.
* @param {Mixed} [thisArg] The `this` binding of `callback`.
* @returns {Boolean} Returns `true` if all elements pass the callback check,
* else `false`.
@@ -1672,10 +1707,10 @@
* the `callback` returns truthy for. The `callback` is bound to `thisArg`
* and invoked with three arguments; (value, index|key, collection).
*
* If a property name is passed for `callback`, the created "_.pluck" style
* If a property name is provided for `callback`, the created "_.pluck" style
* callback will return the property value of the given element.
*
* If an object is passed for `callback`, the created "_.where" style callback
* If an object is provided for `callback`, the created "_.where" style callback
* will return `true` for elements that have the properties of the given object,
* else `false`.
*
@@ -1684,9 +1719,9 @@
* @alias select
* @category Collections
* @param {Array|Object|String} collection The collection to iterate over.
* @param {Function|Object|String} [callback=identity] The function called per
* iteration. If a property name or object is passed, it will be used to create
* a "_.pluck" or "_.where" style callback, respectively.
* @param {Function|Object|String} [callback=identity] The function called
* per iteration. If a property name or object is provided, it will be used
* to create a "_.pluck" or "_.where" style callback, respectively.
* @param {Mixed} [thisArg] The `this` binding of `callback`.
* @returns {Array} Returns a new array of elements that passed the callback check.
* @example
@@ -1736,10 +1771,10 @@
* `callback` returns truthy for. The `callback` is bound to `thisArg` and
* invoked with three arguments; (value, index|key, collection).
*
* If a property name is passed for `callback`, the created "_.pluck" style
* If a property name is provided for `callback`, the created "_.pluck" style
* callback will return the property value of the given element.
*
* If an object is passed for `callback`, the created "_.where" style callback
* If an object is provided for `callback`, the created "_.where" style callback
* will return `true` for elements that have the properties of the given object,
* else `false`.
*
@@ -1748,9 +1783,9 @@
* @alias detect, findWhere
* @category Collections
* @param {Array|Object|String} collection The collection to iterate over.
* @param {Function|Object|String} [callback=identity] The function called per
* iteration. If a property name or object is passed, it will be used to create
* a "_.pluck" or "_.where" style callback, respectively.
* @param {Function|Object|String} [callback=identity] The function called
* per iteration. If a property name or object is provided, it will be used
* to create a "_.pluck" or "_.where" style callback, respectively.
* @param {Mixed} [thisArg] The `this` binding of `callback`.
* @returns {Mixed} Returns the found element, else `undefined`.
* @example
@@ -1852,7 +1887,7 @@
var index = -1,
length = collection ? collection.length : 0;
callback = callback && typeof thisArg == 'undefined' ? callback : createCallback(callback, thisArg, 3);
callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3);
if (typeof length == 'number') {
while (++index < length) {
if (callback(collection[index], index, collection) === indicatorObject) {
@@ -1888,10 +1923,8 @@
if (typeof length != 'number') {
var props = keys(collection);
length = props.length;
} else if (support.unindexedChars && isString(collection)) {
iterable = collection.split('');
}
callback = createCallback(callback, thisArg, 3);
callback = baseCreateCallback(callback, thisArg, 3);
forEach(collection, function(value, index, collection) {
index = props ? props[--length] : --length;
callback(iterable[index], index, collection);
@@ -1906,10 +1939,10 @@
* the key. The `callback` is bound to `thisArg` and invoked with three
* arguments; (value, index|key, collection).
*
* If a property name is passed for `callback`, the created "_.pluck" style
* If a property name is provided for `callback`, the created "_.pluck" style
* callback will return the property value of the given element.
*
* If an object is passed for `callback`, the created "_.where" style callback
* If an object is provided for `callback`, the created "_.where" style callback
* will return `true` for elements that have the properties of the given object,
* else `false`
*
@@ -1917,9 +1950,9 @@
* @memberOf _
* @category Collections
* @param {Array|Object|String} collection The collection to iterate over.
* @param {Function|Object|String} [callback=identity] The function called per
* iteration. If a property name or object is passed, it will be used to create
* a "_.pluck" or "_.where" style callback, respectively.
* @param {Function|Object|String} [callback=identity] The function called
* per iteration. If a property name or object is provided, it will be used
* to create a "_.pluck" or "_.where" style callback, respectively.
* @param {Mixed} [thisArg] The `this` binding of `callback`.
* @returns {Object} Returns the composed aggregate object.
* @example
@@ -1978,10 +2011,10 @@
* through the `callback`. The `callback` is bound to `thisArg` and invoked with
* three arguments; (value, index|key, collection).
*
* If a property name is passed for `callback`, the created "_.pluck" style
* If a property name is provided for `callback`, the created "_.pluck" style
* callback will return the property value of the given element.
*
* If an object is passed for `callback`, the created "_.where" style callback
* If an object is provided for `callback`, the created "_.where" style callback
* will return `true` for elements that have the properties of the given object,
* else `false`.
*
@@ -1990,9 +2023,9 @@
* @alias collect
* @category Collections
* @param {Array|Object|String} collection The collection to iterate over.
* @param {Function|Object|String} [callback=identity] The function called per
* iteration. If a property name or object is passed, it will be used to create
* a "_.pluck" or "_.where" style callback, respectively.
* @param {Function|Object|String} [callback=identity] The function called
* per iteration. If a property name or object is provided, it will be used
* to create a "_.pluck" or "_.where" style callback, respectively.
* @param {Mixed} [thisArg] The `this` binding of `callback`.
* @returns {Array} Returns a new array of the results of each `callback` execution.
* @example
@@ -2032,15 +2065,15 @@
}
/**
* Retrieves the maximum value of an `array`. If `callback` is passed,
* Retrieves the maximum value of an `array`. If `callback` is provided,
* it will be executed for each value in the `array` to generate the
* criterion by which the value is ranked. The `callback` is bound to
* `thisArg` and invoked with three arguments; (value, index, collection).
*
* If a property name is passed for `callback`, the created "_.pluck" style
* If a property name is provided for `callback`, the created "_.pluck" style
* callback will return the property value of the given element.
*
* If an object is passed for `callback`, the created "_.where" style callback
* If an object is provided for `callback`, the created "_.where" style callback
* will return `true` for elements that have the properties of the given object,
* else `false`.
*
@@ -2048,9 +2081,9 @@
* @memberOf _
* @category Collections
* @param {Array|Object|String} collection The collection to iterate over.
* @param {Function|Object|String} [callback=identity] The function called per
* iteration. If a property name or object is passed, it will be used to create
* a "_.pluck" or "_.where" style callback, respectively.
* @param {Function|Object|String} [callback=identity] The function called
* per iteration. If a property name or object is provided, it will be used
* to create a "_.pluck" or "_.where" style callback, respectively.
* @param {Mixed} [thisArg] The `this` binding of `callback`.
* @returns {Mixed} Returns the maximum value.
* @example
@@ -2099,15 +2132,15 @@
}
/**
* Retrieves the minimum value of an `array`. If `callback` is passed,
* Retrieves the minimum value of an `array`. If `callback` is provided,
* it will be executed for each value in the `array` to generate the
* criterion by which the value is ranked. The `callback` is bound to `thisArg`
* and invoked with three arguments; (value, index, collection).
*
* If a property name is passed for `callback`, the created "_.pluck" style
* If a property name is provided for `callback`, the created "_.pluck" style
* callback will return the property value of the given element.
*
* If an object is passed for `callback`, the created "_.where" style callback
* If an object is provided for `callback`, the created "_.where" style callback
* will return `true` for elements that have the properties of the given object,
* else `false`.
*
@@ -2115,9 +2148,9 @@
* @memberOf _
* @category Collections
* @param {Array|Object|String} collection The collection to iterate over.
* @param {Function|Object|String} [callback=identity] The function called per
* iteration. If a property name or object is passed, it will be used to create
* a "_.pluck" or "_.where" style callback, respectively.
* @param {Function|Object|String} [callback=identity] The function called
* per iteration. If a property name or object is provided, it will be used
* to create a "_.pluck" or "_.where" style callback, respectively.
* @param {Mixed} [thisArg] The `this` binding of `callback`.
* @returns {Mixed} Returns the minimum value.
* @example
@@ -2231,7 +2264,7 @@
function reduce(collection, callback, accumulator, thisArg) {
if (!collection) return accumulator;
var noaccum = arguments.length < 3;
callback = createCallback(callback, thisArg, 4);
callback = baseCreateCallback(callback, thisArg, 4);
var index = -1,
length = collection.length;
@@ -2274,7 +2307,7 @@
*/
function reduceRight(collection, callback, accumulator, thisArg) {
var noaccum = arguments.length < 3;
callback = createCallback(callback, thisArg, 4);
callback = baseCreateCallback(callback, thisArg, 4);
forEachRight(collection, function(value, index, collection) {
accumulator = noaccum
? (noaccum = false, value)
@@ -2287,10 +2320,10 @@
* The opposite of `_.filter`, this method returns the elements of a
* `collection` that `callback` does **not** return truthy for.
*
* If a property name is passed for `callback`, the created "_.pluck" style
* If a property name is provided for `callback`, the created "_.pluck" style
* callback will return the property value of the given element.
*
* If an object is passed for `callback`, the created "_.where" style callback
* If an object is provided for `callback`, the created "_.where" style callback
* will return `true` for elements that have the properties of the given object,
* else `false`.
*
@@ -2298,9 +2331,9 @@
* @memberOf _
* @category Collections
* @param {Array|Object|String} collection The collection to iterate over.
* @param {Function|Object|String} [callback=identity] The function called per
* iteration. If a property name or object is passed, it will be used to create
* a "_.pluck" or "_.where" style callback, respectively.
* @param {Function|Object|String} [callback=identity] The function called
* per iteration. If a property name or object is provided, it will be used
* to create a "_.pluck" or "_.where" style callback, respectively.
* @param {Mixed} [thisArg] The `this` binding of `callback`.
* @returns {Array} Returns a new array of elements that did **not** pass the
* callback check.
@@ -2387,10 +2420,10 @@
* does not iterate over the entire `collection`. The `callback` is bound to
* `thisArg` and invoked with three arguments; (value, index|key, collection).
*
* If a property name is passed for `callback`, the created "_.pluck" style
* If a property name is provided for `callback`, the created "_.pluck" style
* callback will return the property value of the given element.
*
* If an object is passed for `callback`, the created "_.where" style callback
* If an object is provided for `callback`, the created "_.where" style callback
* will return `true` for elements that have the properties of the given object,
* else `false`.
*
@@ -2399,9 +2432,9 @@
* @alias any
* @category Collections
* @param {Array|Object|String} collection The collection to iterate over.
* @param {Function|Object|String} [callback=identity] The function called per
* iteration. If a property name or object is passed, it will be used to create
* a "_.pluck" or "_.where" style callback, respectively.
* @param {Function|Object|String} [callback=identity] The function called
* per iteration. If a property name or object is provided, it will be used
* to create a "_.pluck" or "_.where" style callback, respectively.
* @param {Mixed} [thisArg] The `this` binding of `callback`.
* @returns {Boolean} Returns `true` if any element passes the callback check,
* else `false`.
@@ -2451,10 +2484,10 @@
* equal elements. The `callback` is bound to `thisArg` and invoked with three
* arguments; (value, index|key, collection).
*
* If a property name is passed for `callback`, the created "_.pluck" style
* If a property name is provided for `callback`, the created "_.pluck" style
* callback will return the property value of the given element.
*
* If an object is passed for `callback`, the created "_.where" style callback
* If an object is provided for `callback`, the created "_.where" style callback
* will return `true` for elements that have the properties of the given object,
* else `false`.
*
@@ -2462,9 +2495,9 @@
* @memberOf _
* @category Collections
* @param {Array|Object|String} collection The collection to iterate over.
* @param {Function|Object|String} [callback=identity] The function called per
* iteration. If a property name or object is passed, it will be used to create
* a "_.pluck" or "_.where" style callback, respectively.
* @param {Function|Object|String} [callback=identity] The function called
* per iteration. If a property name or object is provided, it will be used
* to create a "_.pluck" or "_.where" style callback, respectively.
* @param {Mixed} [thisArg] The `this` binding of `callback`.
* @returns {Array} Returns a new array of sorted elements.
* @example
@@ -2617,16 +2650,16 @@
}
/**
* Gets the first element of the `array`. If a number `n` is passed, the first
* `n` elements of the `array` are returned. If a `callback` function is passed,
* Gets the first element of the `array`. If a number `n` is provided, the first
* `n` elements of the `array` are returned. If a `callback` function is provided,
* elements at the beginning of the array are returned as long as the `callback`
* returns truthy. The `callback` is bound to `thisArg` and invoked with three
* arguments; (value, index, array).
*
* If a property name is passed for `callback`, the created "_.pluck" style
* If a property name is provided for `callback`, the created "_.pluck" style
* callback will return the property value of the given element.
*
* If an object is passed for `callback`, the created "_.where" style callback
* If an object is provided for `callback`, the created "_.where" style callback
* will return `true` for elements that have the properties of the given object,
* else `false`.
*
@@ -2637,7 +2670,7 @@
* @param {Array} array The array to query.
* @param {Function|Object|Number|String} [callback|n] The function called
* per element or the number of elements to return. If a property name or
* object is passed, it will be used to create a "_.pluck" or "_.where"
* object is provided, it will be used to create a "_.pluck" or "_.where"
* style callback, respectively.
* @param {Mixed} [thisArg] The `this` binding of `callback`.
* @returns {Mixed} Returns the first element(s) of `array`.
@@ -2697,14 +2730,14 @@
/**
* Flattens a nested array (the nesting can be to any depth). If `isShallow`
* is truthy, `array` will only be flattened a single level. If `callback`
* is passed, each element of `array` is passed through a `callback` before
* is provided, each element of `array` is provided through a `callback` before
* flattening. The `callback` is bound to `thisArg` and invoked with three
* arguments; (value, index, array).
*
* If a property name is passed for `callback`, the created "_.pluck" style
* If a property name is provided for `callback`, the created "_.pluck" style
* callback will return the property value of the given element.
*
* If an object is passed for `callback`, the created "_.where" style callback
* If an object is provided for `callback`, the created "_.where" style callback
* will return `true` for elements that have the properties of the given object,
* else `false`.
*
@@ -2713,9 +2746,9 @@
* @category Arrays
* @param {Array} array The array to flatten.
* @param {Boolean} [isShallow=false] A flag to restrict flattening to a single level.
* @param {Function|Object|String} [callback=identity] The function called per
* iteration. If a property name or object is passed, it will be used to create
* a "_.pluck" or "_.where" style callback, respectively.
* @param {Function|Object|String} [callback=identity] The function called
* per iteration. If a property name or object is provided, it will be used
* to create a "_.pluck" or "_.where" style callback, respectively.
* @param {Mixed} [thisArg] The `this` binding of `callback`.
* @returns {Array} Returns a new flattened array.
* @example
@@ -2775,16 +2808,16 @@
}
/**
* Gets all but the last element of `array`. If a number `n` is passed, the
* Gets all but the last element of `array`. If a number `n` is provided, the
* last `n` elements are excluded from the result. If a `callback` function
* is passed, elements at the end of the array are excluded from the result
* is provided, elements at the end of the array are excluded from the result
* as long as the `callback` returns truthy. The `callback` is bound to
* `thisArg` and invoked with three arguments; (value, index, array).
*
* If a property name is passed for `callback`, the created "_.pluck" style
* If a property name is provided for `callback`, the created "_.pluck" style
* callback will return the property value of the given element.
*
* If an object is passed for `callback`, the created "_.where" style callback
* If an object is provided for `callback`, the created "_.where" style callback
* will return `true` for elements that have the properties of the given object,
* else `false`.
*
@@ -2794,7 +2827,7 @@
* @param {Array} array The array to query.
* @param {Function|Object|Number|String} [callback|n=1] The function called
* per element or the number of elements to exclude. If a property name or
* object is passed, it will be used to create a "_.pluck" or "_.where"
* object is provided, it will be used to create a "_.pluck" or "_.where"
* style callback, respectively.
* @param {Mixed} [thisArg] The `this` binding of `callback`.
* @returns {Array} Returns a slice of `array`.
@@ -2888,17 +2921,17 @@
}
/**
* Gets the last element of the `array`. If a number `n` is passed, the
* Gets the last element of the `array`. If a number `n` is provided, the
* last `n` elements of the `array` are returned. If a `callback` function
* is passed, elements at the end of the array are returned as long as the
* is provided, elements at the end of the array are returned as long as the
* `callback` returns truthy. The `callback` is bound to `thisArg` and
* invoked with three arguments;(value, index, array).
*
*
* If a property name is passed for `callback`, the created "_.pluck" style
* If a property name is provided for `callback`, the created "_.pluck" style
* callback will return the property value of the given element.
*
* If an object is passed for `callback`, the created "_.where" style callback
* If an object is provided for `callback`, the created "_.where" style callback
* will return `true` for elements that have the properties of the given object,
* else `false`.
*
@@ -2908,7 +2941,7 @@
* @param {Array} array The array to query.
* @param {Function|Object|Number|String} [callback|n] The function called
* per element or the number of elements to return. If a property name or
* object is passed, it will be used to create a "_.pluck" or "_.where"
* object is provided, it will be used to create a "_.pluck" or "_.where"
* style callback, respectively.
* @param {Mixed} [thisArg] The `this` binding of `callback`.
* @returns {Mixed} Returns the last element(s) of `array`.
@@ -3050,16 +3083,16 @@
/**
* The opposite of `_.initial`, this method gets all but the first value of
* `array`. If a number `n` is passed, the first `n` values are excluded from
* the result. If a `callback` function is passed, elements at the beginning
* `array`. If a number `n` is provided, the first `n` values are excluded from
* the result. If a `callback` function is provided, elements at the beginning
* of the array are excluded from the result as long as the `callback` returns
* truthy. The `callback` is bound to `thisArg` and invoked with three
* arguments; (value, index, array).
*
* If a property name is passed for `callback`, the created "_.pluck" style
* If a property name is provided for `callback`, the created "_.pluck" style
* callback will return the property value of the given element.
*
* If an object is passed for `callback`, the created "_.where" style callback
* If an object is provided for `callback`, the created "_.where" style callback
* will return `true` for elements that have the properties of the given object,
* else `false`.
*
@@ -3070,7 +3103,7 @@
* @param {Array} array The array to query.
* @param {Function|Object|Number|String} [callback|n=1] The function called
* per element or the number of elements to exclude. If a property name or
* object is passed, it will be used to create a "_.pluck" or "_.where"
* object is provided, it will be used to create a "_.pluck" or "_.where"
* style callback, respectively.
* @param {Mixed} [thisArg] The `this` binding of `callback`.
* @returns {Array} Returns a slice of `array`.
@@ -3125,14 +3158,14 @@
/**
* Uses a binary search to determine the smallest index at which the `value`
* should be inserted into `array` in order to maintain the sort order of the
* sorted `array`. If `callback` is passed, it will be executed for `value` and
* each element in `array` to compute their sort ranking. The `callback` is
* bound to `thisArg` and invoked with one argument; (value).
* sorted `array`. If `callback` is provided, it will be executed for `value`
* and each element in `array` to compute their sort ranking. The `callback`
* is bound to `thisArg` and invoked with one argument; (value).
*
* If a property name is passed for `callback`, the created "_.pluck" style
* If a property name is provided for `callback`, the created "_.pluck" style
* callback will return the property value of the given element.
*
* If an object is passed for `callback`, the created "_.where" style callback
* If an object is provided for `callback`, the created "_.where" style callback
* will return `true` for elements that have the properties of the given object,
* else `false`.
*
@@ -3141,9 +3174,9 @@
* @category Arrays
* @param {Array} array The array to inspect.
* @param {Mixed} value The value to evaluate.
* @param {Function|Object|String} [callback=identity] The function called per
* iteration. If a property name or object is passed, it will be used to create
* a "_.pluck" or "_.where" style callback, respectively.
* @param {Function|Object|String} [callback=identity] The function called
* per iteration. If a property name or object is provided, it will be used
* to create a "_.pluck" or "_.where" style callback, respectively.
* @param {Mixed} [thisArg] The `this` binding of `callback`.
* @returns {Number} Returns the index at which the value should be inserted
* into `array`.
@@ -3208,14 +3241,15 @@
/**
* Creates a duplicate-value-free version of the `array` using strict equality
* for comparisons, i.e. `===`. If the `array` is already sorted, passing `true`
* for `isSorted` will run a faster algorithm. If `callback` is passed, each
* element of `array` is passed through the `callback` before uniqueness is computed.
* The `callback` is bound to `thisArg` and invoked with three arguments; (value, index, array).
* for `isSorted` will run a faster algorithm. If `callback` is provided, each
* element of `array` is provided through the `callback` before uniqueness is
* computed. The `callback` is bound to `thisArg` and invoked with three arguments;
* (value, index, array).
*
* If a property name is passed for `callback`, the created "_.pluck" style
* If a property name is provided for `callback`, the created "_.pluck" style
* callback will return the property value of the given element.
*
* If an object is passed for `callback`, the created "_.where" style callback
* If an object is provided for `callback`, the created "_.where" style callback
* will return `true` for elements that have the properties of the given object,
* else `false`.
*
@@ -3225,9 +3259,9 @@
* @category Arrays
* @param {Array} array The array to process.
* @param {Boolean} [isSorted=false] A flag to indicate that the `array` is already sorted.
* @param {Function|Object|String} [callback=identity] The function called per
* iteration. If a property name or object is passed, it will be used to create
* a "_.pluck" or "_.where" style callback, respectively.
* @param {Function|Object|String} [callback=identity] The function called
* per iteration. If a property name or object is provided, it will be used
* to create a "_.pluck" or "_.where" style callback, respectively.
* @param {Mixed} [thisArg] The `this` binding of `callback`.
* @returns {Array} Returns a duplicate-value-free array.
* @example
@@ -3481,8 +3515,6 @@
* If `func` is an object, the created callback will return `true` for elements
* that contain the equivalent object properties, otherwise it will return `false`.
*
* Note: All Lo-Dash methods, that accept a `callback` argument, use `_.createCallback`.
*
* @static
* @memberOf _
* @category Functions
@@ -3507,64 +3539,30 @@
*
* _.filter(stooges, 'age__gt45');
* // => [{ 'name': 'larry', 'age': 50 }]
*
* // create mixins with support for "_.pluck" and "_.where" callback shorthands
* _.mixin({
* 'toLookup': function(collection, callback, thisArg) {
* callback = _.createCallback(callback, thisArg);
* return _.reduce(collection, function(result, value, index, collection) {
* return (result[callback(value, index, collection)] = value, result);
* }, {});
* }
* });
*
* _.toLookup(stooges, 'name');
* // => { 'moe': { 'name': 'moe', 'age': 40 }, 'larry': { 'name': 'larry', 'age': 50 } }
*/
function createCallback(func, thisArg, argCount) {
if (func == null) {
return identity;
}
var type = typeof func;
if (type != 'function') {
// handle "_.pluck" style callback shorthands
if (type != 'object') {
return function(object) {
return object[func];
};
}
var props = keys(func);
if (func == null || type == 'function') {
return baseCreateCallback(func, thisArg, argCount);
}
// handle "_.pluck" style callback shorthands
if (type != 'object') {
return function(object) {
var length = props.length,
result = false;
return object[func];
};
}
var props = keys(func);
return function(object) {
var length = props.length,
result = false;
while (length--) {
if (!(result = object[props[length]] === func[props[length]])) {
break;
}
while (length--) {
if (!(result = object[props[length]] === func[props[length]])) {
break;
}
return result;
};
}
// exit early if there is no `thisArg`
if (typeof thisArg == 'undefined') {
return func;
}
switch (argCount) {
case 1: return function(value) {
return func.call(thisArg, value);
};
case 2: return function(a, b) {
return func.call(thisArg, a, b);
};
case 3: return function(value, index, collection) {
return func.call(thisArg, value, index, collection);
};
case 4: return function(accumulator, value, index, collection) {
return func.call(thisArg, accumulator, value, index, collection);
};
}
return bind(func, thisArg);
}
return result;
};
}
/**
@@ -3991,7 +3989,8 @@
/**
* Produces a random number between `min` and `max` (inclusive). If only one
* argument is passed, a number between `0` and the given number will be returned.
* argument is provided, a number between `0` and the given number will be
* returned.
*
* @static
* @memberOf _
@@ -4207,7 +4206,7 @@
* @param {Number} n The number of times to execute the callback.
* @param {Function} callback The function called per iteration.
* @param {Mixed} [thisArg] The `this` binding of `callback`.
* @returns {Array} Returns a new array of the results of each `callback` execution.
* @returns {Array} Returns an array of the results of each `callback` execution.
* @example
*
* var diceRolls = _.times(3, _.partial(_.random, 1, 6));
@@ -4249,7 +4248,7 @@
}
/**
* Generates a unique ID. If `prefix` is passed, the ID will be appended to it.
* Generates a unique ID. If `prefix` is provided, the ID will be appended to it.
*
* @static
* @memberOf _
@@ -4345,22 +4344,6 @@
return this;
}
/**
* Produces the `toString` result of the wrapped value.
*
* @name toString
* @memberOf _
* @category Chaining
* @returns {String} Returns the string result.
* @example
*
* _([1, 2, 3]).toString();
* // => '1,2,3'
*/
function wrapperToString() {
return String(this.__wrapped__);
}
/**
* Extracts the wrapped value.
*
@@ -4504,6 +4487,9 @@
/*--------------------------------------------------------------------------*/
// add functions to `lodash.prototype`
mixin(lodash);
/**
* The semantic version number.
*
@@ -4513,9 +4499,6 @@
*/
lodash.VERSION = '1.3.1';
// add functions to `lodash.prototype`
mixin(lodash);
// add "Chaining" functions to the wrapper
lodash.prototype.chain = wrapperChain;
lodash.prototype.value = wrapperValueOf;

View File

@@ -3,34 +3,34 @@
* Lo-Dash 1.3.1 (Custom Build) lodash.com/license | Underscore.js 1.5.1 underscorejs.org/LICENSE
* Build: `lodash underscore exports="amd,commonjs,global,node" -o ./dist/lodash.underscore.js`
*/
;!function(n){function t(n,t){var r;if(n&&mt[typeof n])for(r in n)if(St.call(n,r)&&t(n[r],r,n)===it)break}function r(n,t){var r;if(n&&mt[typeof n])for(r in n)if(t(n[r],r,n)===it)break}function e(n){var t,r=[];if(!n||!mt[typeof n])return r;for(t in n)St.call(n,t)&&r.push(t);return r}function u(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 i(n,t){var r=n.m,e=t.m;if(n=n.l,t=t.l,n!==t){if(n>t||typeof n=="undefined")return 1;if(n<t||typeof t=="undefined")return-1
}return r<e?-1:1}function o(n){return"\\"+_t[n]}function a(){}function f(n){return n instanceof f?n:new c(n)}function c(n,t){this.__chain__=!!t,this.__wrapped__=n}function l(n,t,r,e){e=(e||0)-1;for(var u=n?n.length:0,i=[];++e<u;){var o=n[e];o&&typeof o=="object"&&(Gt(o)||d(o))?Ft.apply(i,t?o:l(o,t,r)):r||i.push(o)}return i}function p(n,t,e,u){if(n===t)return 0!==n||1/n==1/t;if(n===n&&(!n||!mt[typeof n])&&(!t||!mt[typeof t]))return et;if(n==rt||t==rt)return n===t;var i=Nt.call(n),o=Nt.call(t);if(i!=o)return et;
switch(i){case pt:case st:return+n==+t;case vt:return n!=+n?t!=+t:0==n?1/n==1/t:n==+t;case ht:case yt:return n==t+""}if(o=i==lt,!o){if(n instanceof f||t instanceof f)return p(n.__wrapped__||n,t.__wrapped__||t,e,u);if(i!=gt)return et;var i=n.constructor,a=t.constructor;if(i!=a&&(!O(i)||!(i instanceof i&&O(a)&&a instanceof a)))return et}for(e||(e=[]),u||(u=[]),i=e.length;i--;)if(e[i]==n)return u[i]==t;var c=tt,l=0;if(e.push(n),u.push(t),o){if(l=t.length,c=l==n.length)for(;l--&&(c=p(n[l],t[l],e,u)););return c
}return r(t,function(t,r,i){return St.call(i,r)?(l++,!(c=St.call(n,r)&&p(n[r],t,e,u))&&it):void 0}),c&&r(n,function(n,t,r){return St.call(r,t)?!(c=-1<--l)&&it:void 0}),c}function s(n,t,r){for(var e=-1,u=m(),i=n?n.length:0,o=[],a=r?[]:o;++e<i;){var f=n[e],c=r?r(f,e,n):f;(t?!e||a[a.length-1]!==c:0>u(a,c))&&(r&&a.push(c),o.push(f))}return o}function v(n){return function(t,r,e){var u={};return r=Q(r,e,3),D(t,function(t,e,i){e=r(t,e,i)+"",n(u,t,e,i)}),u}}function g(n,t,r,e){var u=[];if(!O(n))throw new TypeError;
if(e||u.length||!(Vt.fastBind||kt&&r.length))o=function(){var i=arguments,a=e?this:t;return(r.length||u.length)&&(Rt.apply(i,r),Ft.apply(i,u)),this instanceof o?(a=h(n.prototype),i=n.apply(a,i),E(i)?i:a):n.apply(a,i)};else{var i=[n,t];Ft.apply(i,r);var o=kt.call.apply(kt,i)}return o}function h(n){return E(n)?Bt(n):{}}function y(n){return Jt[n]}function m(){var n=(n=f.indexOf)===G?u:n;return n}function _(n){return Kt[n]}function d(n){return n&&typeof n=="object"?Nt.call(n)==ct:et}function b(n){if(!n)return n;
for(var t=1,r=arguments.length;t<r;t++){var e=arguments[t];if(e)for(var u in e)n[u]=e[u]}return n}function j(n){if(!n)return n;for(var t=1,r=arguments.length;t<r;t++){var e=arguments[t];if(e)for(var u in e)"undefined"==typeof n[u]&&(n[u]=e[u])}return n}function w(n){var t=[];return r(n,function(n,r){O(n)&&t.push(r)}),t.sort()}function x(n){for(var t=-1,r=Ht(n),e=r.length,u={};++t<e;){var i=r[t];u[n[i]]=i}return u}function A(n){if(!n)return tt;if(Gt(n)||S(n))return!n.length;for(var t in n)if(St.call(n,t))return et;
return tt}function O(n){return typeof n=="function"}function E(n){return!(!n||!mt[typeof n])}function T(n){return typeof n=="number"||Nt.call(n)==vt}function S(n){return typeof n=="string"||Nt.call(n)==yt}function F(n){for(var t=-1,r=Ht(n),e=r.length,u=Array(e);++t<e;)u[t]=n[r[t]];return u}function N(n,r){var e=m(),u=n?n.length:0,i=et;return u&&typeof u=="number"?i=-1<e(n,r):t(n,function(n){return(i=n===r)&&it}),i}function R(n,r,e){var u=tt;r=Q(r,e,3),e=-1;var i=n?n.length:0;if(typeof i=="number")for(;++e<i&&(u=!!r(n[e],e,n)););else t(n,function(n,t,e){return!(u=!!r(n,t,e))&&it
});return u}function k(n,r,e){var u=[];r=Q(r,e,3),e=-1;var i=n?n.length:0;if(typeof i=="number")for(;++e<i;){var o=n[e];r(o,e,n)&&u.push(o)}else t(n,function(n,t,e){r(n,t,e)&&u.push(n)});return u}function B(n,r,e){r=Q(r,e,3),e=-1;var u=n?n.length:0;if(typeof u!="number"){var i;return t(n,function(n,t,e){return r(n,t,e)?(i=n,it):void 0}),i}for(;++e<u;){var o=n[e];if(r(o,e,n))return o}}function D(n,r,e){var u=-1,i=n?n.length:0;if(r=r&&typeof e=="undefined"?r:Q(r,e,3),typeof i=="number")for(;++u<i&&r(n[u],u,n)!==it;);else t(n,r)
}function q(n,t){var r=n,e=n?n.length:0;if(typeof e!="number")var u=Ht(n),e=u.length;else Vt.unindexedChars&&S(n)&&(r=n.split(""));t=Q(t,void 0,3),D(n,function(n,i,o){i=u?u[--e]:--e,t(r[i],i,o)})}function M(n,r,e){var u=-1,i=n?n.length:0;if(r=Q(r,e,3),typeof i=="number")for(var o=Array(i);++u<i;)o[u]=r(n[u],u,n);else o=[],t(n,function(n,t,e){o[++u]=r(n,t,e)});return o}function $(n,t,r){var e=-1/0,u=e,i=-1,o=n?n.length:0;if(t||typeof o!="number")t=Q(t,r,3),D(n,function(n,r,i){r=t(n,r,i),r>e&&(e=r,u=n)
});else for(;++i<o;)r=n[i],r>u&&(u=r);return u}function I(n,t){var r=-1,e=n?n.length:0;if(typeof e=="number")for(var u=Array(e);++r<e;)u[r]=n[r][t];return u||M(n,t)}function W(n,r,e,u){if(!n)return e;var i=3>arguments.length;r=Q(r,u,4);var o=-1,a=n.length;if(typeof a=="number")for(i&&(e=n[++o]);++o<a;)e=r(e,n[o],o,n);else t(n,function(n,t,u){e=i?(i=et,n):r(e,n,t,u)});return e}function z(n,t,r,e){var u=3>arguments.length;return t=Q(t,e,4),q(n,function(n,e,i){r=u?(u=et,n):t(r,n,e,i)}),r}function C(n,r,e){var u;
r=Q(r,e,3),e=-1;var i=n?n.length:0;if(typeof i=="number")for(;++e<i&&!(u=r(n[e],e,n)););else t(n,function(n,t,e){return(u=r(n,t,e))&&it});return!!u}function P(n,t,r){return r&&A(t)?nt:(r?B:k)(n,t)}function U(n){for(var t=-1,r=m(),e=n.length,u=l(arguments,tt,tt,1),i=[];++t<e;){var o=n[t];0>r(u,o)&&i.push(o)}return i}function V(n,t,r){if(n){var e=0,u=n.length;if(typeof t!="number"&&t!=rt){var i=-1;for(t=Q(t,r,3);++i<u&&t(n[i],i,n);)e++}else if(e=t,e==rt||r)return n[0];return Ct.call(n,0,Wt(It(0,e),u))
}}function G(n,t,r){if(typeof r=="number"){var e=n?n.length:0;r=0>r?It(0,e+r):r||0}else if(r)return r=J(n,t),n[r]===t?r:-1;return n?u(n,t,r):-1}function H(n,t,r){if(typeof t!="number"&&t!=rt){var e=0,u=-1,i=n?n.length:0;for(t=Q(t,r,3);++u<i&&t(n[u],u,n);)e++}else e=t==rt||r?1:It(0,t);return Ct.call(n,e)}function J(n,t,r,e){var u=0,i=n?n.length:u;for(r=r?Q(r,e,1):Y,t=r(t);u<i;)e=u+i>>>1,r(n[e])<t?u=e+1:i=e;return u}function K(n,t,r,e){return typeof t!="boolean"&&t!=rt&&(e=r,r=e&&e[t]===n?nt:t,t=et),r!=rt&&(r=Q(r,e,3)),s(n,t,r)
}function L(n,t){return g(n,t,Ct.call(arguments,2))}function Q(n,t,r){if(n==rt)return Y;var e=typeof n;if("function"!=e){if("object"!=e)return function(t){return t[n]};var u=Ht(n);return function(t){for(var r=u.length,e=et;r--&&(e=t[u[r]]===n[u[r]]););return e}}if(typeof t=="undefined")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,i){return n.call(t,r,e,u,i)
}}return L(n,t)}function X(n,t,r){function e(){clearTimeout(s),clearTimeout(v),c=0,s=v=rt}function u(){var t=g&&(!h||1<c);e(),t&&(p!==et&&(l=new Date),a=n.apply(f,o))}function i(){e(),(g||p!==t)&&(l=new Date,a=n.apply(f,o))}var o,a,f,c=0,l=0,p=et,s=rt,v=rt,g=tt;if(t=It(0,t||0),r===tt)var h=tt,g=et;else E(r)&&(h=r.leading,p="maxWait"in r&&It(t,r.maxWait||0),g="trailing"in r?r.trailing:g);return function(){if(o=arguments,f=this,c++,clearTimeout(v),p===et)h&&2>c&&(a=n.apply(f,o));else{var r=new Date;
!s&&!h&&(l=r);var e=p-(r-l);0<e?s||(s=setTimeout(i,e)):(clearTimeout(s),s=rt,l=r,a=n.apply(f,o))}return t!==p&&(v=setTimeout(u,t)),a}}function Y(n){return n}function Z(n){D(w(n),function(t){var r=f[t]=n[t];f.prototype[t]=function(){var n=[this.__wrapped__];return Ft.apply(n,arguments),n=r.apply(f,n),this.__chain__&&(n=new c(n),n.__chain__=tt),n}})}var nt,tt=!0,rt=null,et=!1,ut=0,it={},ot=+new Date+"",at=/($^)/,ft=/['\n\r\t\u2028\u2029\\]/g,ct="[object Arguments]",lt="[object Array]",pt="[object Boolean]",st="[object Date]",vt="[object Number]",gt="[object Object]",ht="[object RegExp]",yt="[object String]",mt={"boolean":et,"function":tt,object:tt,number:et,string:et,undefined:et},_t={"\\":"\\","'":"'","\n":"n","\r":"r","\t":"t","\u2028":"u2028","\u2029":"u2029"},dt=mt[typeof exports]&&exports,bt=mt[typeof module]&&module&&module.exports==dt&&module,jt=mt[typeof global]&&global;
!jt||jt.global!==jt&&jt.window!==jt||(n=jt);var wt=[],xt=Object.prototype,At=n._,Ot=RegExp("^"+(xt.valueOf+"").replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/valueOf|for [^\]]+/g,".+?")+"$"),Et=Math.ceil,Tt=Math.floor,St=xt.hasOwnProperty,Ft=wt.push,Nt=xt.toString,Rt=wt.unshift,kt=Ot.test(kt=Nt.bind)&&kt,Bt=Ot.test(Bt=Object.create)&&Bt,Dt=Ot.test(Dt=Array.isArray)&&Dt,qt=n.isFinite,Mt=n.isNaN,$t=Ot.test($t=Object.keys)&&$t,It=Math.max,Wt=Math.min,zt=Math.random,Ct=wt.slice,Pt=Ot.test(n.attachEvent),Ut=kt&&!/\n|true/.test(kt+Pt);
c.prototype=f.prototype;var Vt={};!function(){var n={0:1,length:1};Vt.fastBind=kt&&!Ut,Vt.spliceObjects=(wt.splice.call(n,0,1),!n[0])}(1),f.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,variable:""},Bt||(h=function(n){if(E(n)){a.prototype=n;var t=new a;a.prototype=rt}return t||{}}),d(arguments)||(d=function(n){return n&&typeof n=="object"?St.call(n,"callee"):et});var Gt=Dt||function(n){return n&&typeof n=="object"?Nt.call(n)==lt:et},Ht=$t?function(n){return E(n)?$t(n):[]
}:e,Jt={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","/":"&#x2F;"},Kt=x(Jt),Lt=RegExp("("+Ht(Kt).join("|")+")","g"),Qt=RegExp("["+Ht(Jt).join("")+"]","g");O(/x/)&&(O=function(n){return typeof n=="function"&&"[object Function]"==Nt.call(n)});var Xt=v(function(n,t,r){St.call(n,r)?n[r]++:n[r]=1}),Yt=v(function(n,t,r){(St.call(n,r)?n[r]:n[r]=[]).push(t)});f.after=function(n,t){return function(){return 1>--n?t.apply(this,arguments):void 0}},f.bind=L,f.bindAll=function(n){for(var t=1<arguments.length?l(arguments,tt,et,1):w(n),r=-1,e=t.length;++r<e;){var u=t[r];
n[u]=L(n[u],n)}return n},f.chain=function(n){return n=new c(n),n.__chain__=tt,n},f.compact=function(n){for(var t=-1,r=n?n.length:0,e=[];++t<r;){var u=n[t];u&&e.push(u)}return e},f.compose=function(){var n=arguments;return function(){for(var t=arguments,r=n.length;r--;)t=[n[r].apply(this,t)];return t[0]}},f.countBy=Xt,f.debounce=X,f.defaults=j,f.defer=function(n){var t=Ct.call(arguments,1);return setTimeout(function(){n.apply(nt,t)},1)},f.delay=function(n,t){var r=Ct.call(arguments,2);return setTimeout(function(){n.apply(nt,r)
},t)},f.difference=U,f.filter=k,f.flatten=function(n,t){return l(n,t)},f.forEach=D,f.functions=w,f.groupBy=Yt,f.initial=function(n,t,r){if(!n)return[];var e=0,u=n.length;if(typeof t!="number"&&t!=rt){var i=u;for(t=Q(t,r,3);i--&&t(n[i],i,n);)e++}else e=t==rt||r?1:t||e;return Ct.call(n,0,Wt(It(0,u-e),u))},f.intersection=function(n){var t=arguments,r=t.length,e=-1,u=m(),i=n?n.length:0,o=[];n:for(;++e<i;){var a=n[e];if(0>u(o,a)){for(var f=r;--f;)if(0>u(t[f],a))continue n;o.push(a)}}return o},f.invert=x,f.invoke=function(n,t){var r=Ct.call(arguments,2),e=-1,u=typeof t=="function",i=n?n.length:0,o=Array(typeof i=="number"?i:0);
return D(n,function(n){o[++e]=(u?t:n[t]).apply(n,r)}),o},f.keys=Ht,f.map=M,f.max=$,f.memoize=function(n,t){var r={};return function(){var e=ot+(t?t.apply(this,arguments):arguments[0]);return St.call(r,e)?r[e]:r[e]=n.apply(this,arguments)}},f.min=function(n,t,r){var e=1/0,u=e,i=-1,o=n?n.length:0;if(t||typeof o!="number")t=Q(t,r,3),D(n,function(n,r,i){r=t(n,r,i),r<e&&(e=r,u=n)});else for(;++i<o;)r=n[i],r<u&&(u=r);return u},f.omit=function(n){var t=m(),e=l(arguments,tt,et,1),u={};return r(n,function(n,r){0>t(e,r)&&(u[r]=n)
}),u},f.once=function(n){var t,r;return function(){return t?r:(t=tt,r=n.apply(this,arguments),n=rt,r)}},f.pairs=function(n){for(var t=-1,r=Ht(n),e=r.length,u=Array(e);++t<e;){var i=r[t];u[t]=[i,n[i]]}return u},f.partial=function(n){return g(n,rt,Ct.call(arguments,1),tt)},f.pick=function(n){for(var t=-1,r=l(arguments,tt,et,1),e=r.length,u={};++t<e;){var i=r[t];i in n&&(u[i]=n[i])}return u},f.pluck=I,f.range=function(n,t,r){n=+n||0,r=+r||1,t==rt&&(t=n,n=0);var e=-1;t=It(0,Et((t-n)/r));for(var u=Array(t);++e<t;)u[e]=n,n+=r;
return u},f.reject=function(n,t,r){return t=Q(t,r,3),k(n,function(n,r,e){return!t(n,r,e)})},f.rest=H,f.shuffle=function(n){var t=-1,r=n?n.length:0,e=Array(typeof r=="number"?r:0);return D(n,function(n){var r=Tt(zt()*(++t+1));e[t]=e[r],e[r]=n}),e},f.sortBy=function(n,t,r){var e=-1,u=n?n.length:0,o=Array(typeof u=="number"?u:0);for(t=Q(t,r,3),D(n,function(n,r,u){o[++e]={l:t(n,r,u),m:e,n:n}}),u=o.length,o.sort(i);u--;)o[u]=o[u].n;return o},f.tap=function(n,t){return t(n),n},f.throttle=function(n,t,r){var e=tt,u=tt;
return r===et?e=et:E(r)&&(e="leading"in r?r.leading:e,u="trailing"in r?r.trailing:u),r={},r.leading=e,r.maxWait=t,r.trailing=u,X(n,t,r)},f.times=function(n,t,r){for(var e=-1,u=Array(-1<n?n:0);++e<n;)u[e]=t.call(r,e);return u},f.toArray=function(n){return Gt(n)?Ct.call(n):n&&typeof n.length=="number"?M(n):F(n)},f.union=function(){return s(l(arguments,tt,tt))},f.uniq=K,f.values=F,f.where=P,f.without=function(n){return U(n,Ct.call(arguments,1))},f.wrap=function(n,t){return function(){var r=[n];return Ft.apply(r,arguments),t.apply(this,r)
}},f.zip=function(){for(var n=-1,t=$(I(arguments,"length")),r=Array(0>t?0:t);++n<t;)r[n]=I(arguments,n);return r},f.collect=M,f.drop=H,f.each=D,f.extend=b,f.methods=w,f.object=function(n,t){for(var r=-1,e=n?n.length:0,u={};++r<e;){var i=n[r];t?u[i]=t[r]:i&&(u[i[0]]=i[1])}return u},f.select=k,f.tail=H,f.unique=K,f.clone=function(n){return E(n)?Gt(n)?Ct.call(n):b({},n):n},f.contains=N,f.escape=function(n){return n==rt?"":(n+"").replace(Qt,y)},f.every=R,f.find=B,f.has=function(n,t){return n?St.call(n,t):et
},f.identity=Y,f.indexOf=G,f.isArguments=d,f.isArray=Gt,f.isBoolean=function(n){return n===tt||n===et||Nt.call(n)==pt},f.isDate=function(n){return n?typeof n=="object"&&Nt.call(n)==st:et},f.isElement=function(n){return n?1===n.nodeType:et},f.isEmpty=A,f.isEqual=function(n,t){return p(n,t)},f.isFinite=function(n){return qt(n)&&!Mt(parseFloat(n))},f.isFunction=O,f.isNaN=function(n){return T(n)&&n!=+n},f.isNull=function(n){return n===rt},f.isNumber=T,f.isObject=E,f.isRegExp=function(n){return n&&mt[typeof n]?Nt.call(n)==ht:et
},f.isString=S,f.isUndefined=function(n){return typeof n=="undefined"},f.lastIndexOf=function(n,t,r){var e=n?n.length:0;for(typeof r=="number"&&(e=(0>r?It(0,e+r):Wt(r,e-1))+1);e--;)if(n[e]===t)return e;return-1},f.mixin=Z,f.noConflict=function(){return n._=At,this},f.random=function(n,t){n==rt&&t==rt&&(t=1),n=+n||0,t==rt?(t=n,n=0):t=+t||0;var r=zt();return n%1||t%1?n+Wt(r*(t-n+parseFloat("1e-"+((r+"").length-1))),t):n+Tt(r*(t-n+1))},f.reduce=W,f.reduceRight=z,f.result=function(n,t){var r=n?n[t]:nt;
return O(r)?n[t]():r},f.size=function(n){var t=n?n.length:0;return typeof t=="number"?t:Ht(n).length},f.some=C,f.sortedIndex=J,f.template=function(n,t,r){var e=f.templateSettings;n||(n=""),r=j({},r,e);var u=0,i="__p+='",e=r.variable;n.replace(RegExp((r.escape||at).source+"|"+(r.interpolate||at).source+"|"+(r.evaluate||at).source+"|$","g"),function(t,r,e,a,f){return i+=n.slice(u,f).replace(ft,o),r&&(i+="'+_.escape("+r+")+'"),a&&(i+="';"+a+";__p+='"),e&&(i+="'+((__t=("+e+"))==null?'':__t)+'"),u=f+t.length,t
}),i+="';\n",e||(e="obj",i="with("+e+"||{}){"+i+"}"),i="function("+e+"){var __t,__p='',__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}"+i+"return __p}";try{var a=Function("_","return "+i)(f)}catch(c){throw c.source=i,c}return t?a(t):(a.source=i,a)},f.unescape=function(n){return n==rt?"":(n+"").replace(Lt,_)},f.uniqueId=function(n){var t=++ut+"";return n?n+t:t},f.all=R,f.any=C,f.detect=B,f.findWhere=function(n,t){return P(n,t,tt)},f.foldl=W,f.foldr=z,f.include=N,f.inject=W,f.first=V,f.last=function(n,t,r){if(n){var e=0,u=n.length;
if(typeof t!="number"&&t!=rt){var i=u;for(t=Q(t,r,3);i--&&t(n[i],i,n);)e++}else if(e=t,e==rt||r)return n[u-1];return Ct.call(n,It(0,u-e))}},f.take=V,f.head=V,f.VERSION="1.3.1",Z(f),f.prototype.chain=function(){return this.__chain__=tt,this},f.prototype.value=function(){return this.__wrapped__},D("pop push reverse shift sort splice unshift".split(" "),function(n){var t=wt[n];f.prototype[n]=function(){var n=this.__wrapped__;return t.apply(n,arguments),!Vt.spliceObjects&&0===n.length&&delete n[0],this
}}),D(["concat","join","slice"],function(n){var t=wt[n];f.prototype[n]=function(){var n=t.apply(this.__wrapped__,arguments);return this.__chain__&&(n=new c(n),n.__chain__=tt),n}}),typeof define=="function"&&typeof define.amd=="object"&&define.amd?(n._=f, define(function(){return f})):dt&&!dt.nodeType?bt?(bt.exports=f)._=f:dt._=f:n._=f}(this);
;!function(n){function t(n,t){var r;if(n&&_t[typeof n])for(r in n)if(Ft.call(n,r)&&t(n[r],r,n)===ot)break}function r(n,t){var r;if(n&&_t[typeof n])for(r in n)if(t(n[r],r,n)===ot)break}function e(n){var t,r=[];if(!n||!_t[typeof n])return r;for(t in n)Ft.call(n,t)&&r.push(t);return r}function u(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 i(n,t){var r=n.m,e=t.m;if(n=n.l,t=t.l,n!==t){if(n>t||typeof n=="undefined")return 1;if(n<t||typeof t=="undefined")return-1
}return r<e?-1:1}function o(n){return"\\"+dt[n]}function a(){}function f(n){return n instanceof f?n:new c(n)}function c(n,t){this.__chain__=!!t,this.__wrapped__=n}function l(n,t,r){if(typeof n!="function")return Z;if(typeof t=="undefined")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,i){return n.call(t,r,e,u,i)}}return Q(n,t)}function p(n,t,r,e){e=(e||0)-1;
for(var u=n?n.length:0,i=[];++e<u;){var o=n[e];o&&typeof o=="object"&&(Ht(o)||b(o))?Nt.apply(i,t?o:p(o,t,r)):r||i.push(o)}return i}function s(n,t,e,u){if(n===t)return 0!==n||1/n==1/t;if(n===n&&(!n||!_t[typeof n])&&(!t||!_t[typeof t]))return ut;if(n==et||t==et)return n===t;var i=Rt.call(n),o=Rt.call(t);if(i!=o)return ut;switch(i){case st:case vt:return+n==+t;case gt:return n!=+n?t!=+t:0==n?1/n==1/t:n==+t;case yt:case mt:return n==t+""}if(o=i==pt,!o){if(Ft.call(n,"__wrapped__")||t instanceof f)return s(n.__wrapped__||n,t.__wrapped__||t,e,u);
if(i!=ht)return ut;var i=n.constructor,a=t.constructor;if(i!=a&&(!E(i)||!(i instanceof i&&E(a)&&a instanceof a)))return ut}for(e||(e=[]),u||(u=[]),i=e.length;i--;)if(e[i]==n)return u[i]==t;var c=rt,l=0;if(e.push(n),u.push(t),o){if(l=t.length,c=l==n.length)for(;l--&&(c=s(n[l],t[l],e,u)););return c}return r(t,function(t,r,i){return Ft.call(i,r)?(l++,!(c=Ft.call(n,r)&&s(n[r],t,e,u))&&ot):void 0}),c&&r(n,function(n,t,r){return Ft.call(r,t)?!(c=-1<--l)&&ot:void 0}),c}function v(n,t,r){for(var e=-1,u=_(),i=n?n.length:0,o=[],a=r?[]:o;++e<i;){var f=n[e],c=r?r(f,e,n):f;
(t?!e||a[a.length-1]!==c:0>u(a,c))&&(r&&a.push(c),o.push(f))}return o}function g(n){return function(t,r,e){var u={};return r=X(r,e,3),q(t,function(t,e,i){e=r(t,e,i)+"",n(u,t,e,i)}),u}}function h(n,t,r,e){var u=[];if(!E(n))throw new TypeError;if(e||u.length||!(Gt.fastBind||Bt&&r.length))o=function(){var i=arguments,a=e?this:t;return(r.length||u.length)&&(kt.apply(i,r),Nt.apply(i,u)),this instanceof o?(a=y(n.prototype),i=n.apply(a,i),T(i)?i:a):n.apply(a,i)};else{var i=[n,t];Nt.apply(i,r);var o=Bt.call.apply(Bt,i)
}return o}function y(n){return T(n)?Dt(n):{}}function m(n){return Kt[n]}function _(){var n=(n=f.indexOf)===H?u:n;return n}function d(n){return Lt[n]}function b(n){return n&&typeof n=="object"?Rt.call(n)==lt:ut}function j(n){if(!n)return n;for(var t=1,r=arguments.length;t<r;t++){var e=arguments[t];if(e)for(var u in e)n[u]=e[u]}return n}function w(n){if(!n)return n;for(var t=1,r=arguments.length;t<r;t++){var e=arguments[t];if(e)for(var u in e)"undefined"==typeof n[u]&&(n[u]=e[u])}return n}function x(n){var t=[];
return r(n,function(n,r){E(n)&&t.push(r)}),t.sort()}function A(n){for(var t=-1,r=Jt(n),e=r.length,u={};++t<e;){var i=r[t];u[n[i]]=i}return u}function O(n){if(!n)return rt;if(Ht(n)||F(n))return!n.length;for(var t in n)if(Ft.call(n,t))return ut;return rt}function E(n){return typeof n=="function"}function T(n){return!(!n||!_t[typeof n])}function S(n){return typeof n=="number"||Rt.call(n)==gt}function F(n){return typeof n=="string"||Rt.call(n)==mt}function N(n){for(var t=-1,r=Jt(n),e=r.length,u=Array(e);++t<e;)u[t]=n[r[t]];
return u}function R(n,r){var e=_(),u=n?n.length:0,i=ut;return u&&typeof u=="number"?i=-1<e(n,r):t(n,function(n){return(i=n===r)&&ot}),i}function k(n,r,e){var u=rt;r=X(r,e,3),e=-1;var i=n?n.length:0;if(typeof i=="number")for(;++e<i&&(u=!!r(n[e],e,n)););else t(n,function(n,t,e){return!(u=!!r(n,t,e))&&ot});return u}function B(n,r,e){var u=[];r=X(r,e,3),e=-1;var i=n?n.length:0;if(typeof i=="number")for(;++e<i;){var o=n[e];r(o,e,n)&&u.push(o)}else t(n,function(n,t,e){r(n,t,e)&&u.push(n)});return u}function D(n,r,e){r=X(r,e,3),e=-1;
var u=n?n.length:0;if(typeof u!="number"){var i;return t(n,function(n,t,e){return r(n,t,e)?(i=n,ot):void 0}),i}for(;++e<u;){var o=n[e];if(r(o,e,n))return o}}function q(n,r,e){var u=-1,i=n?n.length:0;if(r=r&&typeof e=="undefined"?r:l(r,e,3),typeof i=="number")for(;++u<i&&r(n[u],u,n)!==ot;);else t(n,r)}function M(n,t){var r=n?n.length:0;if(typeof r!="number")var e=Jt(n),r=e.length;t=l(t,void 0,3),q(n,function(u,i,o){i=e?e[--r]:--r,t(n[i],i,o)})}function $(n,r,e){var u=-1,i=n?n.length:0;if(r=X(r,e,3),typeof i=="number")for(var o=Array(i);++u<i;)o[u]=r(n[u],u,n);
else o=[],t(n,function(n,t,e){o[++u]=r(n,t,e)});return o}function I(n,t,r){var e=-1/0,u=e,i=-1,o=n?n.length:0;if(t||typeof o!="number")t=X(t,r,3),q(n,function(n,r,i){r=t(n,r,i),r>e&&(e=r,u=n)});else for(;++i<o;)r=n[i],r>u&&(u=r);return u}function W(n,t){var r=-1,e=n?n.length:0;if(typeof e=="number")for(var u=Array(e);++r<e;)u[r]=n[r][t];return u||$(n,t)}function z(n,r,e,u){if(!n)return e;var i=3>arguments.length;r=l(r,u,4);var o=-1,a=n.length;if(typeof a=="number")for(i&&(e=n[++o]);++o<a;)e=r(e,n[o],o,n);
else t(n,function(n,t,u){e=i?(i=ut,n):r(e,n,t,u)});return e}function C(n,t,r,e){var u=3>arguments.length;return t=l(t,e,4),M(n,function(n,e,i){r=u?(u=ut,n):t(r,n,e,i)}),r}function P(n,r,e){var u;r=X(r,e,3),e=-1;var i=n?n.length:0;if(typeof i=="number")for(;++e<i&&!(u=r(n[e],e,n)););else t(n,function(n,t,e){return(u=r(n,t,e))&&ot});return!!u}function U(n,t,r){return r&&O(t)?tt:(r?D:B)(n,t)}function V(n){for(var t=-1,r=_(),e=n.length,u=p(arguments,rt,rt,1),i=[];++t<e;){var o=n[t];0>r(u,o)&&i.push(o)
}return i}function G(n,t,r){if(n){var e=0,u=n.length;if(typeof t!="number"&&t!=et){var i=-1;for(t=X(t,r,3);++i<u&&t(n[i],i,n);)e++}else if(e=t,e==et||r)return n[0];return Pt.call(n,0,zt(Wt(0,e),u))}}function H(n,t,r){if(typeof r=="number"){var e=n?n.length:0;r=0>r?Wt(0,e+r):r||0}else if(r)return r=K(n,t),n[r]===t?r:-1;return n?u(n,t,r):-1}function J(n,t,r){if(typeof t!="number"&&t!=et){var e=0,u=-1,i=n?n.length:0;for(t=X(t,r,3);++u<i&&t(n[u],u,n);)e++}else e=t==et||r?1:Wt(0,t);return Pt.call(n,e)
}function K(n,t,r,e){var u=0,i=n?n.length:u;for(r=r?X(r,e,1):Z,t=r(t);u<i;)e=u+i>>>1,r(n[e])<t?u=e+1:i=e;return u}function L(n,t,r,e){return typeof t!="boolean"&&t!=et&&(e=r,r=e&&e[t]===n?tt:t,t=ut),r!=et&&(r=X(r,e,3)),v(n,t,r)}function Q(n,t){return h(n,t,Pt.call(arguments,2))}function X(n,t,r){var e=typeof n;if(n==et||"function"==e)return l(n,t,r);if("object"!=e)return function(t){return t[n]};var u=Jt(n);return function(t){for(var r=u.length,e=ut;r--&&(e=t[u[r]]===n[u[r]]););return e}}function Y(n,t,r){function e(){clearTimeout(s),clearTimeout(v),c=0,s=v=et
}function u(){var t=g&&(!h||1<c);e(),t&&(p!==ut&&(l=new Date),a=n.apply(f,o))}function i(){e(),(g||p!==t)&&(l=new Date,a=n.apply(f,o))}var o,a,f,c=0,l=0,p=ut,s=et,v=et,g=rt;if(t=Wt(0,t||0),r===rt)var h=rt,g=ut;else T(r)&&(h=r.leading,p="maxWait"in r&&Wt(t,r.maxWait||0),g="trailing"in r?r.trailing:g);return function(){if(o=arguments,f=this,c++,clearTimeout(v),p===ut)h&&2>c&&(a=n.apply(f,o));else{var r=new Date;!s&&!h&&(l=r);var e=p-(r-l);0<e?s||(s=setTimeout(i,e)):(clearTimeout(s),s=et,l=r,a=n.apply(f,o))
}return t!==p&&(v=setTimeout(u,t)),a}}function Z(n){return n}function nt(n){q(x(n),function(t){var r=f[t]=n[t];f.prototype[t]=function(){var n=[this.__wrapped__];return Nt.apply(n,arguments),n=r.apply(f,n),this.__chain__&&(n=new c(n),n.__chain__=rt),n}})}var tt,rt=!0,et=null,ut=!1,it=0,ot={},at=+new Date+"",ft=/($^)/,ct=/['\n\r\t\u2028\u2029\\]/g,lt="[object Arguments]",pt="[object Array]",st="[object Boolean]",vt="[object Date]",gt="[object Number]",ht="[object Object]",yt="[object RegExp]",mt="[object String]",_t={"boolean":ut,"function":rt,object:rt,number:ut,string:ut,undefined:ut},dt={"\\":"\\","'":"'","\n":"n","\r":"r","\t":"t","\u2028":"u2028","\u2029":"u2029"},bt=_t[typeof exports]&&exports,jt=_t[typeof module]&&module&&module.exports==bt&&module,wt=_t[typeof global]&&global;
!wt||wt.global!==wt&&wt.window!==wt||(n=wt);var xt=[],At=Object.prototype,Ot=n._,Et=RegExp("^"+(At.valueOf+"").replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/valueOf|for [^\]]+/g,".+?")+"$"),Tt=Math.ceil,St=Math.floor,Ft=At.hasOwnProperty,Nt=xt.push,Rt=At.toString,kt=xt.unshift,Bt=Et.test(Bt=Rt.bind)&&Bt,Dt=Et.test(Dt=Object.create)&&Dt,qt=Et.test(qt=Array.isArray)&&qt,Mt=n.isFinite,$t=n.isNaN,It=Et.test(It=Object.keys)&&It,Wt=Math.max,zt=Math.min,Ct=Math.random,Pt=xt.slice,Ut=Et.test(n.attachEvent),Vt=Bt&&!/\n|true/.test(Bt+Ut);
c.prototype=f.prototype;var Gt={};!function(){var n={0:1,length:1};Gt.fastBind=Bt&&!Vt,Gt.spliceObjects=(xt.splice.call(n,0,1),!n[0])}(1),f.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,variable:""},Dt||(y=function(n){if(T(n)){a.prototype=n;var t=new a;a.prototype=et}return t||{}}),b(arguments)||(b=function(n){return n&&typeof n=="object"?Ft.call(n,"callee"):ut});var Ht=qt||function(n){return n&&typeof n=="object"?Rt.call(n)==pt:ut},Jt=It?function(n){return T(n)?It(n):[]
}:e,Kt={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","/":"&#x2F;"},Lt=A(Kt),Qt=RegExp("("+Jt(Lt).join("|")+")","g"),Xt=RegExp("["+Jt(Kt).join("")+"]","g");E(/x/)&&(E=function(n){return typeof n=="function"&&"[object Function]"==Rt.call(n)});var Yt=g(function(n,t,r){Ft.call(n,r)?n[r]++:n[r]=1}),Zt=g(function(n,t,r){(Ft.call(n,r)?n[r]:n[r]=[]).push(t)});f.after=function(n,t){return function(){return 1>--n?t.apply(this,arguments):void 0}},f.bind=Q,f.bindAll=function(n){for(var t=1<arguments.length?p(arguments,rt,ut,1):x(n),r=-1,e=t.length;++r<e;){var u=t[r];
n[u]=Q(n[u],n)}return n},f.chain=function(n){return n=new c(n),n.__chain__=rt,n},f.compact=function(n){for(var t=-1,r=n?n.length:0,e=[];++t<r;){var u=n[t];u&&e.push(u)}return e},f.compose=function(){var n=arguments;return function(){for(var t=arguments,r=n.length;r--;)t=[n[r].apply(this,t)];return t[0]}},f.countBy=Yt,f.debounce=Y,f.defaults=w,f.defer=function(n){var t=Pt.call(arguments,1);return setTimeout(function(){n.apply(tt,t)},1)},f.delay=function(n,t){var r=Pt.call(arguments,2);return setTimeout(function(){n.apply(tt,r)
},t)},f.difference=V,f.filter=B,f.flatten=function(n,t){return p(n,t)},f.forEach=q,f.functions=x,f.groupBy=Zt,f.initial=function(n,t,r){if(!n)return[];var e=0,u=n.length;if(typeof t!="number"&&t!=et){var i=u;for(t=X(t,r,3);i--&&t(n[i],i,n);)e++}else e=t==et||r?1:t||e;return Pt.call(n,0,zt(Wt(0,u-e),u))},f.intersection=function(n){var t=arguments,r=t.length,e=-1,u=_(),i=n?n.length:0,o=[];n:for(;++e<i;){var a=n[e];if(0>u(o,a)){for(var f=r;--f;)if(0>u(t[f],a))continue n;o.push(a)}}return o},f.invert=A,f.invoke=function(n,t){var r=Pt.call(arguments,2),e=-1,u=typeof t=="function",i=n?n.length:0,o=Array(typeof i=="number"?i:0);
return q(n,function(n){o[++e]=(u?t:n[t]).apply(n,r)}),o},f.keys=Jt,f.map=$,f.max=I,f.memoize=function(n,t){var r={};return function(){var e=at+(t?t.apply(this,arguments):arguments[0]);return Ft.call(r,e)?r[e]:r[e]=n.apply(this,arguments)}},f.min=function(n,t,r){var e=1/0,u=e,i=-1,o=n?n.length:0;if(t||typeof o!="number")t=X(t,r,3),q(n,function(n,r,i){r=t(n,r,i),r<e&&(e=r,u=n)});else for(;++i<o;)r=n[i],r<u&&(u=r);return u},f.omit=function(n){var t=_(),e=p(arguments,rt,ut,1),u={};return r(n,function(n,r){0>t(e,r)&&(u[r]=n)
}),u},f.once=function(n){var t,r;return function(){return t?r:(t=rt,r=n.apply(this,arguments),n=et,r)}},f.pairs=function(n){for(var t=-1,r=Jt(n),e=r.length,u=Array(e);++t<e;){var i=r[t];u[t]=[i,n[i]]}return u},f.partial=function(n){return h(n,et,Pt.call(arguments,1),rt)},f.pick=function(n){for(var t=-1,r=p(arguments,rt,ut,1),e=r.length,u={};++t<e;){var i=r[t];i in n&&(u[i]=n[i])}return u},f.pluck=W,f.range=function(n,t,r){n=+n||0,r=+r||1,t==et&&(t=n,n=0);var e=-1;t=Wt(0,Tt((t-n)/r));for(var u=Array(t);++e<t;)u[e]=n,n+=r;
return u},f.reject=function(n,t,r){return t=X(t,r,3),B(n,function(n,r,e){return!t(n,r,e)})},f.rest=J,f.shuffle=function(n){var t=-1,r=n?n.length:0,e=Array(typeof r=="number"?r:0);return q(n,function(n){var r=St(Ct()*(++t+1));e[t]=e[r],e[r]=n}),e},f.sortBy=function(n,t,r){var e=-1,u=n?n.length:0,o=Array(typeof u=="number"?u:0);for(t=X(t,r,3),q(n,function(n,r,u){o[++e]={l:t(n,r,u),m:e,n:n}}),u=o.length,o.sort(i);u--;)o[u]=o[u].n;return o},f.tap=function(n,t){return t(n),n},f.throttle=function(n,t,r){var e=rt,u=rt;
return r===ut?e=ut:T(r)&&(e="leading"in r?r.leading:e,u="trailing"in r?r.trailing:u),r={},r.leading=e,r.maxWait=t,r.trailing=u,Y(n,t,r)},f.times=function(n,t,r){for(var e=-1,u=Array(-1<n?n:0);++e<n;)u[e]=t.call(r,e);return u},f.toArray=function(n){return Ht(n)?Pt.call(n):n&&typeof n.length=="number"?$(n):N(n)},f.union=function(){return v(p(arguments,rt,rt))},f.uniq=L,f.values=N,f.where=U,f.without=function(n){return V(n,Pt.call(arguments,1))},f.wrap=function(n,t){return function(){var r=[n];return Nt.apply(r,arguments),t.apply(this,r)
}},f.zip=function(){for(var n=-1,t=I(W(arguments,"length")),r=Array(0>t?0:t);++n<t;)r[n]=W(arguments,n);return r},f.collect=$,f.drop=J,f.each=q,f.extend=j,f.methods=x,f.object=function(n,t){for(var r=-1,e=n?n.length:0,u={};++r<e;){var i=n[r];t?u[i]=t[r]:i&&(u[i[0]]=i[1])}return u},f.select=B,f.tail=J,f.unique=L,f.clone=function(n){return T(n)?Ht(n)?Pt.call(n):j({},n):n},f.contains=R,f.escape=function(n){return n==et?"":(n+"").replace(Xt,m)},f.every=k,f.find=D,f.has=function(n,t){return n?Ft.call(n,t):ut
},f.identity=Z,f.indexOf=H,f.isArguments=b,f.isArray=Ht,f.isBoolean=function(n){return n===rt||n===ut||Rt.call(n)==st},f.isDate=function(n){return n?typeof n=="object"&&Rt.call(n)==vt:ut},f.isElement=function(n){return n?1===n.nodeType:ut},f.isEmpty=O,f.isEqual=function(n,t){return s(n,t)},f.isFinite=function(n){return Mt(n)&&!$t(parseFloat(n))},f.isFunction=E,f.isNaN=function(n){return S(n)&&n!=+n},f.isNull=function(n){return n===et},f.isNumber=S,f.isObject=T,f.isRegExp=function(n){return n&&_t[typeof n]?Rt.call(n)==yt:ut
},f.isString=F,f.isUndefined=function(n){return typeof n=="undefined"},f.lastIndexOf=function(n,t,r){var e=n?n.length:0;for(typeof r=="number"&&(e=(0>r?Wt(0,e+r):zt(r,e-1))+1);e--;)if(n[e]===t)return e;return-1},f.mixin=nt,f.noConflict=function(){return n._=Ot,this},f.random=function(n,t){n==et&&t==et&&(t=1),n=+n||0,t==et?(t=n,n=0):t=+t||0;var r=Ct();return n%1||t%1?n+zt(r*(t-n+parseFloat("1e-"+((r+"").length-1))),t):n+St(r*(t-n+1))},f.reduce=z,f.reduceRight=C,f.result=function(n,t){var r=n?n[t]:tt;
return E(r)?n[t]():r},f.size=function(n){var t=n?n.length:0;return typeof t=="number"?t:Jt(n).length},f.some=P,f.sortedIndex=K,f.template=function(n,t,r){var e=f.templateSettings;n||(n=""),r=w({},r,e);var u=0,i="__p+='",e=r.variable;n.replace(RegExp((r.escape||ft).source+"|"+(r.interpolate||ft).source+"|"+(r.evaluate||ft).source+"|$","g"),function(t,r,e,a,f){return i+=n.slice(u,f).replace(ct,o),r&&(i+="'+_.escape("+r+")+'"),a&&(i+="';"+a+";__p+='"),e&&(i+="'+((__t=("+e+"))==null?'':__t)+'"),u=f+t.length,t
}),i+="';\n",e||(e="obj",i="with("+e+"||{}){"+i+"}"),i="function("+e+"){var __t,__p='',__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}"+i+"return __p}";try{var a=Function("_","return "+i)(f)}catch(c){throw c.source=i,c}return t?a(t):(a.source=i,a)},f.unescape=function(n){return n==et?"":(n+"").replace(Qt,d)},f.uniqueId=function(n){var t=++it+"";return n?n+t:t},f.all=k,f.any=P,f.detect=D,f.findWhere=function(n,t){return U(n,t,rt)},f.foldl=z,f.foldr=C,f.include=R,f.inject=z,f.first=G,f.last=function(n,t,r){if(n){var e=0,u=n.length;
if(typeof t!="number"&&t!=et){var i=u;for(t=X(t,r,3);i--&&t(n[i],i,n);)e++}else if(e=t,e==et||r)return n[u-1];return Pt.call(n,Wt(0,u-e))}},f.take=G,f.head=G,nt(f),f.VERSION="1.3.1",f.prototype.chain=function(){return this.__chain__=rt,this},f.prototype.value=function(){return this.__wrapped__},q("pop push reverse shift sort splice unshift".split(" "),function(n){var t=xt[n];f.prototype[n]=function(){var n=this.__wrapped__;return t.apply(n,arguments),!Gt.spliceObjects&&0===n.length&&delete n[0],this
}}),q(["concat","join","slice"],function(n){var t=xt[n];f.prototype[n]=function(){var n=t.apply(this.__wrapped__,arguments);return this.__chain__&&(n=new c(n),n.__chain__=rt),n}}),typeof define=="function"&&typeof define.amd=="object"&&define.amd?(n._=f, define(function(){return f})):bt&&!bt.nodeType?jt?(jt.exports=f)._=f:bt._=f:n._=f}(this);

File diff suppressed because it is too large Load Diff

264
lodash.js
View File

@@ -1820,7 +1820,7 @@
/**
* Assigns own enumerable properties of source object(s) to the destination
* object. Subsequent sources will overwrite property assignments of previous
* sources. If a `callback` function is passed, it will be executed to produce
* sources. If a `callback` function is provided, it will be executed to produce
* the assigned values. The `callback` is bound to `thisArg` and invoked with
* two arguments; (objectValue, sourceValue).
*
@@ -1863,7 +1863,7 @@
/**
* Creates a clone of `value`. If `deep` is `true`, nested objects will also
* be cloned, otherwise they will be assigned by reference. If a `callback`
* function is passed, it will be executed to produce the cloned values. If
* function is provided, it will be executed to produce the cloned values. If
* `callback` returns `undefined`, cloning will be handled by the method instead.
* The `callback` is bound to `thisArg` and invoked with one argument; (value).
*
@@ -1912,7 +1912,7 @@
}
/**
* Creates a deep clone of `value`. If a `callback` function is passed,
* Creates a deep clone of `value`. If a `callback` function is provided,
* it will be executed to produce the cloned values. If `callback` returns
* `undefined`, cloning will be handled by the method instead. The `callback`
* is bound to `thisArg` and invoked with one argument; (value).
@@ -1987,8 +1987,8 @@
* @category Objects
* @param {Object} object The object to search.
* @param {Function|Object|String} [callback=identity] The function called per
* iteration. If a property name or object is passed, it will be used to create
* a "_.pluck" or "_.where" style callback, respectively.
* iteration. If a property name or object is provided, it will be used to
* create a "_.pluck" or "_.where" style callback, respectively.
* @param {Mixed} [thisArg] The `this` binding of `callback`.
* @returns {Mixed} Returns the key of the found element, else `undefined`.
* @example
@@ -2019,8 +2019,8 @@
* @category Objects
* @param {Object} object The object to search.
* @param {Function|Object|String} [callback=identity] The function called per
* iteration. If a property name or object is passed, it will be used to create
* a "_.pluck" or "_.where" style callback, respectively.
* iteration. If a property name or object is provided, it will be used to
* create a "_.pluck" or "_.where" style callback, respectively.
* @param {Mixed} [thisArg] The `this` binding of `callback`.
* @returns {Mixed} Returns the key of the found element, else `undefined`.
* @example
@@ -2337,7 +2337,7 @@
/**
* Performs a deep comparison between two values to determine if they are
* equivalent to each other. If `callback` is passed, it will be executed to
* equivalent to each other. If `callback` is provided, it will be executed to
* compare values. If `callback` returns `undefined`, comparisons will be handled
* by the method instead. The `callback` is bound to `thisArg` and invoked with
* two arguments; (a, b).
@@ -2621,7 +2621,7 @@
* Recursively merges own enumerable properties of the source object(s), that
* don't resolve to `undefined`, into the destination object. Subsequent sources
* will overwrite property assignments of previous sources. If a `callback` function
* is passed, it will be executed to produce the merged values of the destination
* is provided, it will be executed to produce the merged values of the destination
* and source properties. If `callback` returns `undefined`, merging will be
* handled by the method instead. The `callback` is bound to `thisArg` and
* invoked with two arguments; (objectValue, sourceValue).
@@ -2701,7 +2701,7 @@
/**
* Creates a shallow clone of `object` excluding the specified properties.
* Property names may be specified as individual arguments or as arrays of
* property names. If a `callback` function is passed, it will be executed
* property names. If a `callback` function is provided, it will be executed
* for each property in the `object`, omitting the properties `callback`
* returns truthy for. The `callback` is bound to `thisArg` and invoked
* with three arguments; (value, key, object).
@@ -2775,7 +2775,7 @@
/**
* Creates a shallow clone of `object` composed of the specified properties.
* Property names may be specified as individual arguments or as arrays of property
* names. If `callback` is passed, it will be executed for each property in the
* names. If `callback` is provided, it will be executed for each property in the
* `object`, picking the properties `callback` returns truthy for. The `callback`
* is bound to `thisArg` and invoked with three arguments; (value, key, object).
*
@@ -2992,10 +2992,10 @@
* The `callback` is bound to `thisArg` and invoked with three arguments;
* (value, index|key, collection).
*
* If a property name is passed for `callback`, the created "_.pluck" style
* If a property name is provided for `callback`, the created "_.pluck" style
* callback will return the property value of the given element.
*
* If an object is passed for `callback`, the created "_.where" style callback
* If an object is provided for `callback`, the created "_.where" style callback
* will return `true` for elements that have the properties of the given object,
* else `false`.
*
@@ -3003,9 +3003,9 @@
* @memberOf _
* @category Collections
* @param {Array|Object|String} collection The collection to iterate over.
* @param {Function|Object|String} [callback=identity] The function called per
* iteration. If a property name or object is passed, it will be used to create
* a "_.pluck" or "_.where" style callback, respectively.
* @param {Function|Object|String} [callback=identity] The function called
* per iteration. If a property name or object is provided, it will be used
* to create a "_.pluck" or "_.where" style callback, respectively.
* @param {Mixed} [thisArg] The `this` binding of `callback`.
* @returns {Object} Returns the composed aggregate object.
* @example
@@ -3028,10 +3028,10 @@
* `collection`. The `callback` is bound to `thisArg` and invoked with three
* arguments; (value, index|key, collection).
*
* If a property name is passed for `callback`, the created "_.pluck" style
* If a property name is provided for `callback`, the created "_.pluck" style
* callback will return the property value of the given element.
*
* If an object is passed for `callback`, the created "_.where" style callback
* If an object is provided for `callback`, the created "_.where" style callback
* will return `true` for elements that have the properties of the given object,
* else `false`.
*
@@ -3040,9 +3040,9 @@
* @alias all
* @category Collections
* @param {Array|Object|String} collection The collection to iterate over.
* @param {Function|Object|String} [callback=identity] The function called per
* iteration. If a property name or object is passed, it will be used to create
* a "_.pluck" or "_.where" style callback, respectively.
* @param {Function|Object|String} [callback=identity] The function called
* per iteration. If a property name or object is provided, it will be used
* to create a "_.pluck" or "_.where" style callback, respectively.
* @param {Mixed} [thisArg] The `this` binding of `callback`.
* @returns {Boolean} Returns `true` if all elements pass the callback check,
* else `false`.
@@ -3090,10 +3090,10 @@
* the `callback` returns truthy for. The `callback` is bound to `thisArg`
* and invoked with three arguments; (value, index|key, collection).
*
* If a property name is passed for `callback`, the created "_.pluck" style
* If a property name is provided for `callback`, the created "_.pluck" style
* callback will return the property value of the given element.
*
* If an object is passed for `callback`, the created "_.where" style callback
* If an object is provided for `callback`, the created "_.where" style callback
* will return `true` for elements that have the properties of the given object,
* else `false`.
*
@@ -3102,9 +3102,9 @@
* @alias select
* @category Collections
* @param {Array|Object|String} collection The collection to iterate over.
* @param {Function|Object|String} [callback=identity] The function called per
* iteration. If a property name or object is passed, it will be used to create
* a "_.pluck" or "_.where" style callback, respectively.
* @param {Function|Object|String} [callback=identity] The function called
* per iteration. If a property name or object is provided, it will be used
* to create a "_.pluck" or "_.where" style callback, respectively.
* @param {Mixed} [thisArg] The `this` binding of `callback`.
* @returns {Array} Returns a new array of elements that passed the callback check.
* @example
@@ -3154,10 +3154,10 @@
* `callback` returns truthy for. The `callback` is bound to `thisArg` and
* invoked with three arguments; (value, index|key, collection).
*
* If a property name is passed for `callback`, the created "_.pluck" style
* If a property name is provided for `callback`, the created "_.pluck" style
* callback will return the property value of the given element.
*
* If an object is passed for `callback`, the created "_.where" style callback
* If an object is provided for `callback`, the created "_.where" style callback
* will return `true` for elements that have the properties of the given object,
* else `false`.
*
@@ -3166,9 +3166,9 @@
* @alias detect, findWhere
* @category Collections
* @param {Array|Object|String} collection The collection to iterate over.
* @param {Function|Object|String} [callback=identity] The function called per
* iteration. If a property name or object is passed, it will be used to create
* a "_.pluck" or "_.where" style callback, respectively.
* @param {Function|Object|String} [callback=identity] The function called
* per iteration. If a property name or object is provided, it will be used
* to create a "_.pluck" or "_.where" style callback, respectively.
* @param {Mixed} [thisArg] The `this` binding of `callback`.
* @returns {Mixed} Returns the found element, else `undefined`.
* @example
@@ -3225,9 +3225,9 @@
* @memberOf _
* @category Collections
* @param {Array|Object|String} collection The collection to iterate over.
* @param {Function|Object|String} [callback=identity] The function called per
* iteration. If a property name or object is passed, it will be used to create
* a "_.pluck" or "_.where" style callback, respectively.
* @param {Function|Object|String} [callback=identity] The function called
* per iteration. If a property name or object is provided, it will be used
* to create a "_.pluck" or "_.where" style callback, respectively.
* @param {Mixed} [thisArg] The `this` binding of `callback`.
* @returns {Mixed} Returns the found element, else `undefined`.
* @example
@@ -3329,10 +3329,10 @@
* the key. The `callback` is bound to `thisArg` and invoked with three
* arguments; (value, index|key, collection).
*
* If a property name is passed for `callback`, the created "_.pluck" style
* If a property name is provided for `callback`, the created "_.pluck" style
* callback will return the property value of the given element.
*
* If an object is passed for `callback`, the created "_.where" style callback
* If an object is provided for `callback`, the created "_.where" style callback
* will return `true` for elements that have the properties of the given object,
* else `false`
*
@@ -3340,9 +3340,9 @@
* @memberOf _
* @category Collections
* @param {Array|Object|String} collection The collection to iterate over.
* @param {Function|Object|String} [callback=identity] The function called per
* iteration. If a property name or object is passed, it will be used to create
* a "_.pluck" or "_.where" style callback, respectively.
* @param {Function|Object|String} [callback=identity] The function called
* per iteration. If a property name or object is provided, it will be used
* to create a "_.pluck" or "_.where" style callback, respectively.
* @param {Mixed} [thisArg] The `this` binding of `callback`.
* @returns {Object} Returns the composed aggregate object.
* @example
@@ -3368,10 +3368,10 @@
* The `callback` is bound to `thisArg` and invoked with three arguments;
* (value, index|key, collection).
*
* If a property name is passed for `callback`, the created "_.pluck" style
* If a property name is provided for `callback`, the created "_.pluck" style
* callback will return the property value of the given element.
*
* If an object is passed for `callback`, the created "_.where" style callback
* If an object is provided for `callback`, the created "_.where" style callback
* will return `true` for elements that have the properties of the given object,
* else `false`.
*
@@ -3379,9 +3379,9 @@
* @memberOf _
* @category Collections
* @param {Array|Object|String} collection The collection to iterate over.
* @param {Function|Object|String} [callback=identity] The function called per
* iteration. If a property name or object is passed, it will be used to create
* a "_.pluck" or "_.where" style callback, respectively.
* @param {Function|Object|String} [callback=identity] The function called
* per iteration. If a property name or object is provided, it will be used
* to create a "_.pluck" or "_.where" style callback, respectively.
* @param {Mixed} [thisArg] The `this` binding of `callback`.
* @returns {Object} Returns the composed aggregate object.
* @example
@@ -3444,10 +3444,10 @@
* through the `callback`. The `callback` is bound to `thisArg` and invoked with
* three arguments; (value, index|key, collection).
*
* If a property name is passed for `callback`, the created "_.pluck" style
* If a property name is provided for `callback`, the created "_.pluck" style
* callback will return the property value of the given element.
*
* If an object is passed for `callback`, the created "_.where" style callback
* If an object is provided for `callback`, the created "_.where" style callback
* will return `true` for elements that have the properties of the given object,
* else `false`.
*
@@ -3456,9 +3456,9 @@
* @alias collect
* @category Collections
* @param {Array|Object|String} collection The collection to iterate over.
* @param {Function|Object|String} [callback=identity] The function called per
* iteration. If a property name or object is passed, it will be used to create
* a "_.pluck" or "_.where" style callback, respectively.
* @param {Function|Object|String} [callback=identity] The function called
* per iteration. If a property name or object is provided, it will be used
* to create a "_.pluck" or "_.where" style callback, respectively.
* @param {Mixed} [thisArg] The `this` binding of `callback`.
* @returns {Array} Returns a new array of the results of each `callback` execution.
* @example
@@ -3497,15 +3497,15 @@
}
/**
* Retrieves the maximum value of an `array`. If `callback` is passed,
* Retrieves the maximum value of an `array`. If `callback` is provided,
* it will be executed for each value in the `array` to generate the
* criterion by which the value is ranked. The `callback` is bound to
* `thisArg` and invoked with three arguments; (value, index, collection).
*
* If a property name is passed for `callback`, the created "_.pluck" style
* If a property name is provided for `callback`, the created "_.pluck" style
* callback will return the property value of the given element.
*
* If an object is passed for `callback`, the created "_.where" style callback
* If an object is provided for `callback`, the created "_.where" style callback
* will return `true` for elements that have the properties of the given object,
* else `false`.
*
@@ -3513,9 +3513,9 @@
* @memberOf _
* @category Collections
* @param {Array|Object|String} collection The collection to iterate over.
* @param {Function|Object|String} [callback=identity] The function called per
* iteration. If a property name or object is passed, it will be used to create
* a "_.pluck" or "_.where" style callback, respectively.
* @param {Function|Object|String} [callback=identity] The function called
* per iteration. If a property name or object is provided, it will be used
* to create a "_.pluck" or "_.where" style callback, respectively.
* @param {Mixed} [thisArg] The `this` binding of `callback`.
* @returns {Mixed} Returns the maximum value.
* @example
@@ -3566,15 +3566,15 @@
}
/**
* Retrieves the minimum value of an `array`. If `callback` is passed,
* Retrieves the minimum value of an `array`. If `callback` is provided,
* it will be executed for each value in the `array` to generate the
* criterion by which the value is ranked. The `callback` is bound to `thisArg`
* and invoked with three arguments; (value, index, collection).
*
* If a property name is passed for `callback`, the created "_.pluck" style
* If a property name is provided for `callback`, the created "_.pluck" style
* callback will return the property value of the given element.
*
* If an object is passed for `callback`, the created "_.where" style callback
* If an object is provided for `callback`, the created "_.where" style callback
* will return `true` for elements that have the properties of the given object,
* else `false`.
*
@@ -3582,9 +3582,9 @@
* @memberOf _
* @category Collections
* @param {Array|Object|String} collection The collection to iterate over.
* @param {Function|Object|String} [callback=identity] The function called per
* iteration. If a property name or object is passed, it will be used to create
* a "_.pluck" or "_.where" style callback, respectively.
* @param {Function|Object|String} [callback=identity] The function called
* per iteration. If a property name or object is provided, it will be used
* to create a "_.pluck" or "_.where" style callback, respectively.
* @param {Mixed} [thisArg] The `this` binding of `callback`.
* @returns {Mixed} Returns the minimum value.
* @example
@@ -3744,10 +3744,10 @@
* The opposite of `_.filter`, this method returns the elements of a
* `collection` that `callback` does **not** return truthy for.
*
* If a property name is passed for `callback`, the created "_.pluck" style
* If a property name is provided for `callback`, the created "_.pluck" style
* callback will return the property value of the given element.
*
* If an object is passed for `callback`, the created "_.where" style callback
* If an object is provided for `callback`, the created "_.where" style callback
* will return `true` for elements that have the properties of the given object,
* else `false`.
*
@@ -3755,9 +3755,9 @@
* @memberOf _
* @category Collections
* @param {Array|Object|String} collection The collection to iterate over.
* @param {Function|Object|String} [callback=identity] The function called per
* iteration. If a property name or object is passed, it will be used to create
* a "_.pluck" or "_.where" style callback, respectively.
* @param {Function|Object|String} [callback=identity] The function called
* per iteration. If a property name or object is provided, it will be used
* to create a "_.pluck" or "_.where" style callback, respectively.
* @param {Mixed} [thisArg] The `this` binding of `callback`.
* @returns {Array} Returns a new array of elements that did **not** pass the
* callback check.
@@ -3791,10 +3791,10 @@
* for and returns an array of removed elements. The `callback` is bound to
* `thisArg` and invoked with three arguments; (value, index|key, collection).
*
* If a property name is passed for `callback`, the created "_.pluck" style
* If a property name is provided for `callback`, the created "_.pluck" style
* callback will return the property value of the given element.
*
* If an object is passed for `callback`, the created "_.where" style callback
* If an object is provided for `callback`, the created "_.where" style callback
* will return `true` for elements that have the properties of the given object,
* else `false`.
*
@@ -3802,9 +3802,9 @@
* @memberOf _
* @category Collections
* @param {Array|Object|String} collection The collection to modify.
* @param {Function|Object|String} [callback=identity] The function called per
* iteration. If a property name or object is passed, it will be used to create
* a "_.pluck" or "_.where" style callback, respectively.
* @param {Function|Object|String} [callback=identity] The function called
* per iteration. If a property name or object is provided, it will be used
* to create a "_.pluck" or "_.where" style callback, respectively.
* @param {Mixed} [thisArg] The `this` binding of `callback`.
* @returns {Array} Returns a new array of removed elements.
* @example
@@ -3903,10 +3903,10 @@
* does not iterate over the entire `collection`. The `callback` is bound to
* `thisArg` and invoked with three arguments; (value, index|key, collection).
*
* If a property name is passed for `callback`, the created "_.pluck" style
* If a property name is provided for `callback`, the created "_.pluck" style
* callback will return the property value of the given element.
*
* If an object is passed for `callback`, the created "_.where" style callback
* If an object is provided for `callback`, the created "_.where" style callback
* will return `true` for elements that have the properties of the given object,
* else `false`.
*
@@ -3915,9 +3915,9 @@
* @alias any
* @category Collections
* @param {Array|Object|String} collection The collection to iterate over.
* @param {Function|Object|String} [callback=identity] The function called per
* iteration. If a property name or object is passed, it will be used to create
* a "_.pluck" or "_.where" style callback, respectively.
* @param {Function|Object|String} [callback=identity] The function called
* per iteration. If a property name or object is provided, it will be used
* to create a "_.pluck" or "_.where" style callback, respectively.
* @param {Mixed} [thisArg] The `this` binding of `callback`.
* @returns {Boolean} Returns `true` if any element passes the callback check,
* else `false`.
@@ -3967,10 +3967,10 @@
* equal elements. The `callback` is bound to `thisArg` and invoked with three
* arguments; (value, index|key, collection).
*
* If a property name is passed for `callback`, the created "_.pluck" style
* If a property name is provided for `callback`, the created "_.pluck" style
* callback will return the property value of the given element.
*
* If an object is passed for `callback`, the created "_.where" style callback
* If an object is provided for `callback`, the created "_.where" style callback
* will return `true` for elements that have the properties of the given object,
* else `false`.
*
@@ -3978,9 +3978,9 @@
* @memberOf _
* @category Collections
* @param {Array|Object|String} collection The collection to iterate over.
* @param {Function|Object|String} [callback=identity] The function called per
* iteration. If a property name or object is passed, it will be used to create
* a "_.pluck" or "_.where" style callback, respectively.
* @param {Function|Object|String} [callback=identity] The function called
* per iteration. If a property name or object is provided, it will be used
* to create a "_.pluck" or "_.where" style callback, respectively.
* @param {Mixed} [thisArg] The `this` binding of `callback`.
* @returns {Array} Returns a new array of sorted elements.
* @example
@@ -4150,9 +4150,9 @@
* @memberOf _
* @category Arrays
* @param {Array} array The array to search.
* @param {Function|Object|String} [callback=identity] The function called per
* iteration. If a property name or object is passed, it will be used to create
* a "_.pluck" or "_.where" style callback, respectively.
* @param {Function|Object|String} [callback=identity] The function called
* per iteration. If a property name or object is provided, it will be used
* to create a "_.pluck" or "_.where" style callback, respectively.
* @param {Mixed} [thisArg] The `this` binding of `callback`.
* @returns {Mixed} Returns the index of the found element, else `-1`.
* @example
@@ -4183,9 +4183,9 @@
* @memberOf _
* @category Arrays
* @param {Array} array The array to search.
* @param {Function|Object|String} [callback=identity] The function called per
* iteration. If a property name or object is passed, it will be used to create
* a "_.pluck" or "_.where" style callback, respectively.
* @param {Function|Object|String} [callback=identity] The function called
* per iteration. If a property name or object is provided, it will be used
* to create a "_.pluck" or "_.where" style callback, respectively.
* @param {Mixed} [thisArg] The `this` binding of `callback`.
* @returns {Mixed} Returns the index of the found element, else `-1`.
* @example
@@ -4209,16 +4209,16 @@
}
/**
* Gets the first element of the `array`. If a number `n` is passed, the first
* `n` elements of the `array` are returned. If a `callback` function is passed,
* Gets the first element of the `array`. If a number `n` is provided, the first
* `n` elements of the `array` are returned. If a `callback` function is provided,
* elements at the beginning of the array are returned as long as the `callback`
* returns truthy. The `callback` is bound to `thisArg` and invoked with three
* arguments; (value, index, array).
*
* If a property name is passed for `callback`, the created "_.pluck" style
* If a property name is provided for `callback`, the created "_.pluck" style
* callback will return the property value of the given element.
*
* If an object is passed for `callback`, the created "_.where" style callback
* If an object is provided for `callback`, the created "_.where" style callback
* will return `true` for elements that have the properties of the given object,
* else `false`.
*
@@ -4229,7 +4229,7 @@
* @param {Array} array The array to query.
* @param {Function|Object|Number|String} [callback|n] The function called
* per element or the number of elements to return. If a property name or
* object is passed, it will be used to create a "_.pluck" or "_.where"
* object is provided, it will be used to create a "_.pluck" or "_.where"
* style callback, respectively.
* @param {Mixed} [thisArg] The `this` binding of `callback`.
* @returns {Mixed} Returns the first element(s) of `array`.
@@ -4289,14 +4289,14 @@
/**
* Flattens a nested array (the nesting can be to any depth). If `isShallow`
* is truthy, `array` will only be flattened a single level. If `callback`
* is passed, each element of `array` is passed through a `callback` before
* is provided, each element of `array` is provided through a `callback` before
* flattening. The `callback` is bound to `thisArg` and invoked with three
* arguments; (value, index, array).
*
* If a property name is passed for `callback`, the created "_.pluck" style
* If a property name is provided for `callback`, the created "_.pluck" style
* callback will return the property value of the given element.
*
* If an object is passed for `callback`, the created "_.where" style callback
* If an object is provided for `callback`, the created "_.where" style callback
* will return `true` for elements that have the properties of the given object,
* else `false`.
*
@@ -4305,9 +4305,9 @@
* @category Arrays
* @param {Array} array The array to flatten.
* @param {Boolean} [isShallow=false] A flag to restrict flattening to a single level.
* @param {Function|Object|String} [callback=identity] The function called per
* iteration. If a property name or object is passed, it will be used to create
* a "_.pluck" or "_.where" style callback, respectively.
* @param {Function|Object|String} [callback=identity] The function called
* per iteration. If a property name or object is provided, it will be used
* to create a "_.pluck" or "_.where" style callback, respectively.
* @param {Mixed} [thisArg] The `this` binding of `callback`.
* @returns {Array} Returns a new flattened array.
* @example
@@ -4376,16 +4376,16 @@
}
/**
* Gets all but the last element of `array`. If a number `n` is passed, the
* Gets all but the last element of `array`. If a number `n` is provided, the
* last `n` elements are excluded from the result. If a `callback` function
* is passed, elements at the end of the array are excluded from the result
* is provided, elements at the end of the array are excluded from the result
* as long as the `callback` returns truthy. The `callback` is bound to
* `thisArg` and invoked with three arguments; (value, index, array).
*
* If a property name is passed for `callback`, the created "_.pluck" style
* If a property name is provided for `callback`, the created "_.pluck" style
* callback will return the property value of the given element.
*
* If an object is passed for `callback`, the created "_.where" style callback
* If an object is provided for `callback`, the created "_.where" style callback
* will return `true` for elements that have the properties of the given object,
* else `false`.
*
@@ -4395,7 +4395,7 @@
* @param {Array} array The array to query.
* @param {Function|Object|Number|String} [callback|n=1] The function called
* per element or the number of elements to exclude. If a property name or
* object is passed, it will be used to create a "_.pluck" or "_.where"
* object is provided, it will be used to create a "_.pluck" or "_.where"
* style callback, respectively.
* @param {Mixed} [thisArg] The `this` binding of `callback`.
* @returns {Array} Returns a slice of `array`.
@@ -4510,17 +4510,17 @@
}
/**
* Gets the last element of the `array`. If a number `n` is passed, the
* Gets the last element of the `array`. If a number `n` is provided, the
* last `n` elements of the `array` are returned. If a `callback` function
* is passed, elements at the end of the array are returned as long as the
* is provided, elements at the end of the array are returned as long as the
* `callback` returns truthy. The `callback` is bound to `thisArg` and
* invoked with three arguments;(value, index, array).
*
*
* If a property name is passed for `callback`, the created "_.pluck" style
* If a property name is provided for `callback`, the created "_.pluck" style
* callback will return the property value of the given element.
*
* If an object is passed for `callback`, the created "_.where" style callback
* If an object is provided for `callback`, the created "_.where" style callback
* will return `true` for elements that have the properties of the given object,
* else `false`.
*
@@ -4530,7 +4530,7 @@
* @param {Array} array The array to query.
* @param {Function|Object|Number|String} [callback|n] The function called
* per element or the number of elements to return. If a property name or
* object is passed, it will be used to create a "_.pluck" or "_.where"
* object is provided, it will be used to create a "_.pluck" or "_.where"
* style callback, respectively.
* @param {Mixed} [thisArg] The `this` binding of `callback`.
* @returns {Mixed} Returns the last element(s) of `array`.
@@ -4708,16 +4708,16 @@
/**
* The opposite of `_.initial`, this method gets all but the first value of
* `array`. If a number `n` is passed, the first `n` values are excluded from
* the result. If a `callback` function is passed, elements at the beginning
* `array`. If a number `n` is provided, the first `n` values are excluded from
* the result. If a `callback` function is provided, elements at the beginning
* of the array are excluded from the result as long as the `callback` returns
* truthy. The `callback` is bound to `thisArg` and invoked with three
* arguments; (value, index, array).
*
* If a property name is passed for `callback`, the created "_.pluck" style
* If a property name is provided for `callback`, the created "_.pluck" style
* callback will return the property value of the given element.
*
* If an object is passed for `callback`, the created "_.where" style callback
* If an object is provided for `callback`, the created "_.where" style callback
* will return `true` for elements that have the properties of the given object,
* else `false`.
*
@@ -4728,7 +4728,7 @@
* @param {Array} array The array to query.
* @param {Function|Object|Number|String} [callback|n=1] The function called
* per element or the number of elements to exclude. If a property name or
* object is passed, it will be used to create a "_.pluck" or "_.where"
* object is provided, it will be used to create a "_.pluck" or "_.where"
* style callback, respectively.
* @param {Mixed} [thisArg] The `this` binding of `callback`.
* @returns {Array} Returns a slice of `array`.
@@ -4783,14 +4783,14 @@
/**
* Uses a binary search to determine the smallest index at which the `value`
* should be inserted into `array` in order to maintain the sort order of the
* sorted `array`. If `callback` is passed, it will be executed for `value` and
* each element in `array` to compute their sort ranking. The `callback` is
* bound to `thisArg` and invoked with one argument; (value).
* sorted `array`. If `callback` is provided, it will be executed for `value`
* and each element in `array` to compute their sort ranking. The `callback`
* is bound to `thisArg` and invoked with one argument; (value).
*
* If a property name is passed for `callback`, the created "_.pluck" style
* If a property name is provided for `callback`, the created "_.pluck" style
* callback will return the property value of the given element.
*
* If an object is passed for `callback`, the created "_.where" style callback
* If an object is provided for `callback`, the created "_.where" style callback
* will return `true` for elements that have the properties of the given object,
* else `false`.
*
@@ -4799,9 +4799,9 @@
* @category Arrays
* @param {Array} array The array to inspect.
* @param {Mixed} value The value to evaluate.
* @param {Function|Object|String} [callback=identity] The function called per
* iteration. If a property name or object is passed, it will be used to create
* a "_.pluck" or "_.where" style callback, respectively.
* @param {Function|Object|String} [callback=identity] The function called
* per iteration. If a property name or object is provided, it will be used
* to create a "_.pluck" or "_.where" style callback, respectively.
* @param {Mixed} [thisArg] The `this` binding of `callback`.
* @returns {Number} Returns the index at which the value should be inserted
* into `array`.
@@ -4866,14 +4866,15 @@
/**
* Creates a duplicate-value-free version of the `array` using strict equality
* for comparisons, i.e. `===`. If the `array` is already sorted, passing `true`
* for `isSorted` will run a faster algorithm. If `callback` is passed, each
* element of `array` is passed through the `callback` before uniqueness is computed.
* The `callback` is bound to `thisArg` and invoked with three arguments; (value, index, array).
* for `isSorted` will run a faster algorithm. If `callback` is provided, each
* element of `array` is provided through the `callback` before uniqueness is
* computed. The `callback` is bound to `thisArg` and invoked with three arguments;
* (value, index, array).
*
* If a property name is passed for `callback`, the created "_.pluck" style
* If a property name is provided for `callback`, the created "_.pluck" style
* callback will return the property value of the given element.
*
* If an object is passed for `callback`, the created "_.where" style callback
* If an object is provided for `callback`, the created "_.where" style callback
* will return `true` for elements that have the properties of the given object,
* else `false`.
*
@@ -4883,9 +4884,9 @@
* @category Arrays
* @param {Array} array The array to process.
* @param {Boolean} [isSorted=false] A flag to indicate that the `array` is already sorted.
* @param {Function|Object|String} [callback=identity] The function called per
* iteration. If a property name or object is passed, it will be used to create
* a "_.pluck" or "_.where" style callback, respectively.
* @param {Function|Object|String} [callback=identity] The function called
* per iteration. If a property name or object is provided, it will be used
* to create a "_.pluck" or "_.where" style callback, respectively.
* @param {Mixed} [thisArg] The `this` binding of `callback`.
* @returns {Array} Returns a duplicate-value-free array.
* @example
@@ -5736,7 +5737,8 @@
/**
* Produces a random number between `min` and `max` (inclusive). If only one
* argument is passed, a number between `0` and the given number will be returned.
* argument is provided, a number between `0` and the given number will be
* returned.
*
* @static
* @memberOf _
@@ -6044,7 +6046,7 @@
}
/**
* Generates a unique ID. If `prefix` is passed, the ID will be appended to it.
* Generates a unique ID. If `prefix` is provided, the ID will be appended to it.
*
* @static
* @memberOf _