!
function(t) {
	"use strict";
	t.fn.countUp = function(e) {
		var a = t.extend({
			time: 2e3,
			delay: 10
		},
		e);
		return this.each(function() {
			var e = t(this),
			n = a,
			u = function() {
				e.data("counterupTo") || e.data("counterupTo", e.text());
				var t = parseInt(e.data("counter-time")) > 0 ? parseInt(e.data("counter-time")) : n.time,
				a = parseInt(e.data("counter-delay")) > 0 ? parseInt(e.data("counter-delay")) : n.delay,
				u = t / a,
				r = e.data("counterupTo"),
				o = [r],
				c = /[0-9]+,[0-9]+/.test(r);
				r = r.replace(/,/g, "");
				for (var d = (/^[0-9]+$/.test(r), /^[0-9]+\.[0-9]+$/.test(r)), s = d ? (r.split(".")[1] || []).length: 0, i = u; i >= 1; i--) {
					var p = parseInt(Math.round(r / u * i));
					if (d && (p = parseFloat(r / u * i).toFixed(s)), c) for (;
						/(\d+)(\d{3})/.test(p.toString());) p = p.toString().replace(/(\d+)(\d{3})/, "$1,$2");
					o.unshift(p)
				}
				e.data("counterup-nums", o),
				e.text("0");
				var f = function() {
					if (e.data('counterup-nums')) {
						e.text(e.data("counterup-nums").shift()),
						e.data("counterup-nums").length ? setTimeout(e.data("counterup-func"), a) : (e.data("counterup-nums"), e.data("counterup-nums", null), e.data("counterup-func", null))
					}
				};
				e.data("counterup-func", f),
				setTimeout(e.data("counterup-func"), a)
			};
			e.waypoint(u, {
				offset: "100%",
				triggerOnce: !0
			})
		})
	}
} (jQuery);