PageSourceSearch

https://www.roundhillfishkill.com/js/plugins/bootstrap-datepicker/bootstrap-datepicker.min.js

js roundhillfishkill.com collected 2026-09-26 05:00:22 UTC 52,320 bytes, 934 lines download raw bytes

vendor: 42,313 bytes, lines 1-722
1/*!
2 * Datepicker for Bootstrap v1.9.0 (https://github.com/uxsolutions/bootstrap-datepicker)
3 *
4 * Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0)
5 */
6
7!function (a) {
8    "function" == typeof define && define.amd ? define(["jquery"], a) : a("object" == typeof exports ? require("jquery") : jQuery)
9}(function (a, b) {
10    function c() {
11        return new Date(Date.UTC.apply(Date, arguments))
12    }
13    function d() {
14        var a = new Date;
15        return c(a.getFullYear(), a.getMonth(), a.getDate())
16    }
17    function e(a, b) {
18        return a.getUTCFullYear() === b.getUTCFullYear() && a.getUTCMonth() === b.getUTCMonth() && a.getUTCDate() === b.getUTCDate()
19    }
20    function f(c, d) {
21        return function () {
22            return d !== b && a.fn.datepicker.deprecated(d), this[c].apply(this, arguments)
23        }
24    }
25    function g(a) {
26        return a && !isNaN(a.getTime())
27    }
28    function h(b, c) {
29        function d(a, b) {
30            return b.toLowerCase()
31        }
32        var e,
33            f = a(b).data(),
34            g = {},
35            h = new RegExp("^" + c.toLowerCase() + "([A-Z])");
36        c = new RegExp("^" + c.toLowerCase());
37        for (var i in f)
38            c.test(i) && (e = i.replace(h, d), g[e] = f[i]);
39        return g
40    }
41    function i(b) {
42        var c = {};
43        if (q[b] || (b = b.split("-")[0], q[b])) {
44            var d = q[b];
45            return a.each(p, function (a, b) {
46                b in d && (c[b] = d[b])
47            }), c
48        }
49    }
50    var j = function () {
51        var b = {
52            get: function (a) {
53                return this.slice(a)[0]
54            },
55            contains: function (a) {
56                for (var b = a && a.valueOf(), c = 0, d = this.length; c < d; c++)
57                    if (0 <= this[c].valueOf() - b && this[c].valueOf() - b < 864e5)
58                        return c;
59                return -1
60            },
61            remove: function (a) {
62                this.splice(a, 1)
63            },
64            replace: function (b) {
65                b && (a.isArray(b) || (b = [b]), this.clear(), this.push.apply(this, b))
66            },
67            clear: function () {
68                this.length = 0
69            },
70            copy: function () {
71                var a = new j;
72                return a.replace(this), a
73            }
74        };
75        return function () {
76            var c = [];
77            return c.push.apply(c, arguments), a.extend(c, b), c
78        }
79    }(),
80        k = function (b, c) {
81            a.data(b, "datepicker", this), this._events = [], this._secondaryEvents = [], this._process_options(c), this.dates = new j, this.viewDate = this.o.defaultViewDate, this.focusDate = null, this.element = a(b), this.isInput = this.element.is("input"), this.inputField = this.isInput ? this.element : this.element.find("input"), this.component = !!this.element.hasClass("date") && this.element.find(".add-on, .input-group-addon, .input-group-append, .input-group-prepend, .btn"), this.component && 0 === this.component.length && (this.component = !1), this.isInline = !this.component && this.element.is("div"), this.picker = a(r.template), this._check_template(this.o.templates.leftArrow) && this.picker.find(".prev").html(this.o.templates.leftArrow), this._check_template(this.o.templates.rightArrow) && this.picker.find(".next").html(this.o.templates.rightArrow), this._buildEvents(), this._attachEvents(), this.isInline ? this.picker.addClass("datepicker-inline").appendTo(this.element) : this.picker.addClass("datepicker-dropdown dropdown-menu"), this.o.rtl && this.picker.addClass("datepicker-rtl"), this.o.calendarWeeks && this.picker.find(".datepicker-days .datepicker-switch, thead .datepicker-title, tfoot .today, tfoot .clear").attr("colspan", function (a, b) {
82                return Number(b) + 1
83            }), this._process_options({
84                startDate: this._o.startDate,
85                endDate: this._o.endDate,
86                daysOfWeekDisabled: this.o.daysOfWeekDisabled,
87                daysOfWeekHighlighted: this.o.daysOfWeekHighlighted,
88                datesDisabled: this.o.datesDisabled
89            }), this._allow_update = !1, this.setViewMode(this.o.startView), this._allow_update = !0, this.fillDow(), this.fillMonths(), this.update(), this.isInline && this.show()
90        };
91    k.prototype = {
92        constructor: k,
93        _resolveViewName: function (b) {
94            return a.each(r.viewModes, function (c, d) {
95                if (b === c || -1 !== a.inArray(b, d.names))
96                    return b = c, !1
97            }), b
98        },
99        _resolveDaysOfWeek: function (b) {
100            return a.isArray(b) || (b = b.split(/[,\s]*/)), a.map(b, Number)
101        },
102        _check_template: function (c) {
103            try {
104                if (c === b || "" === c)
105                    return !1;
106                if ((c.match(/[<>]/g) || []).length <= 0)
107                    return !0;
108                return a(c).length > 0
109            } catch (a) {
110                return !1
111            }
112        },
113        _process_options: function (b) {
114            this._o = a.extend({}, this._o, b);
115            var e = this.o = a.extend({}, this._o),
116                f = e.language;
117            q[f] || (f = f.split("-")[0], q[f] || (f = o.language)), e.language = f, e.startView = this._resolveViewName(e.startView), e.minViewMode = this._resolveViewName(e.minViewMode), e.maxViewMode = this._resolveViewName(e.maxViewMode), e.startView = Math.max(this.o.minViewMode, Math.min(this.o.maxViewMode, e.startView)), !0 !== e.multidate && (e.multidate = Number(e.multidate) || !1, !1 !== e.multidate && (e.multidate = Math.max(0, e.multidate))), e.multidateSeparator = String(e.multidateSeparator), e.weekStart %= 7, e.weekEnd = (e.weekStart + 6) % 7;
118            var g = r.parseFormat(e.format);
119            e.startDate !== -1 / 0 && (e.startDate ? e.startDate instanceof Date ? e.startDate = this._local_to_utc(this._zero_time(e.startDate)) : e.startDate = r.parseDate(e.startDate, g, e.language, e.assumeNearbyYear) : e.startDate = -1 / 0), e.endDate !== 1 / 0 && (e.endDate ? e.endDate instanceof Date ? e.endDate = this._local_to_utc(this._zero_time(e.endDate)) : e.endDate = r.parseDate(e.endDate, g, e.language, e.assumeNearbyYear) : e.endDate = 1 / 0), e.daysOfWeekDisabled = this._resolveDaysOfWeek(e.daysOfWeekDisabled || []), e.daysOfWeekHighlighted = this._resolveDaysOfWeek(e.daysOfWeekHighlighted || []), e.datesDisabled = e.datesDisabled || [], a.isArray(e.datesDisabled) || (e.datesDisabled = e.datesDisabled.split(",")), e.datesDisabled = a.map(e.datesDisabled, function (a) {
120                return r.parseDate(a, g, e.language, e.assumeNearbyYear)
121            });
122            var h = String(e.orientation).toLowerCase().split(/\s+/g),
123                i = e.orientation.toLowerCase();
124            if (h = a.grep(h, function (a) {
125                return /^auto|left|right|top|bottom$/.test(a)
126            }), e.orientation = {
127                x: "auto",
128                y: "auto"
129            }, i && "auto" !== i)
130                if (1 === h.length)
131                    switch (h[0]) {
132                        case "top":
133                        case "bottom":
134                            e.orientation.y = h[0];
135                            break;
136                        case "left":
137                        case "right":
138                            e.orientation.x = h[0]
139                    }
140                else
141                    i = a.grep(h, function (a) {
142                        return /^left|right$/.test(a)
143                    }), e.orientation.x = i[0] || "auto", i = a.grep(h, function (a) {
144                        return /^top|bottom$/.test(a)
145                    }), e.orientation.y = i[0] || "auto";
146            else
147                ;
148            if (e.defaultViewDate instanceof Date || "string" == typeof e.defaultViewDate)
149                e.defaultViewDate = r.parseDate(e.defaultViewDate, g, e.language, e.assumeNearbyYear);
150            else if (e.defaultViewDate) {
151                var j = e.defaultViewDate.year || (new Date).getFullYear(),
152                    k = e.defaultViewDate.month || 0,
153                    l = e.defaultViewDate.day || 1;
154                e.defaultViewDate = c(j, k, l)
155            } else
156                e.defaultViewDate = d()
157        },
158        _applyEvents: function (a) {
159            for (var c, d, e, f = 0; f < a.length; f++)
160                c = a[f][0], 2 === a[f].length ? (d = b, e = a[f][1]) : 3 === a[f].length && (d = a[f][1], e = a[f][2]), c.on(e, d)
161        },
162        _unapplyEvents: function (a) {
163            for (var c, d, e, f = 0; f < a.length; f++)
164                c = a[f][0], 2 === a[f].length ? (e = b, d = a[f][1]) : 3 === a[f].length && (e = a[f][1], d = a[f][2]), c.off(d, e)
165        },
166        _buildEvents: function () {
167            var b = {
168                keyup: a.proxy(function (b) {
169                    -1 === a.inArray(b.keyCode, [27, 37, 39, 38, 40, 32, 13, 9]) && this.update()
170                }, this),
171                keydown: a.proxy(this.keydown, this),
172                paste: a.proxy(this.paste, this)
173            };
174            !0 === this.o.showOnFocus && (b.focus = a.proxy(this.show, this)), this.isInput ? this._events = [[this.element, b]] : this.component && this.inputField.length ? this._events = [[this.inputField, b], [this.component, {
175                click: a.proxy(this.show, this)
176            }]] : this._events = [[this.element, {
177                click: a.proxy(this.show, this),
178                keydown: a.proxy(this.keydown, this)
179            }]], this._events.push([this.element, "*", {
180                blur: a.proxy(function (a) {
181                    this._focused_from = a.target
182                }, this)
183            }], [this.element, {
184                blur: a.proxy(function (a) {
185                    this._focused_from = a.target
186                }, this)
187            }]), this.o.immediateUpdates && this._events.push([this.element, {
188                "changeYear changeMonth": a.proxy(function (a) {
189                    this.update(a.date)
190                }, this)
191            }]), this._secondaryEvents = [[this.picker, {
192                click: a.proxy(this.click, this)
193            }], [this.picker, ".prev, .next", {
194                click: a.proxy(this.navArrowsClick, this)
195            }], [this.picker, ".day:not(.disabled)", {
196                click: a.proxy(this.dayCellClick, this)
197            }], [a(window), {
198                resize: a.proxy(this.place, this)
199            }], [a(document), {
200                "mousedown touchstart": a.proxy(function (a) {
201                    this.element.is(a.target) || this.element.find(a.target).length || this.picker.is(a.target) || this.picker.find(a.target).length || this.isInline || this.hide()
202                }, this)
203            }]]
204        },
205        _attachEvents: function () {
206            this._detachEvents(), this._applyEvents(this._events)
207        },
208        _detachEvents: function () {
209            this._unapplyEvents(this._events)
210        },
211        _attachSecondaryEvents: function () {
212            this._detachSecondaryEvents(), this._applyEvents(this._secondaryEvents)
213        },
214        _detachSecondaryEvents: function () {
215            this._unapplyEvents(this._secondaryEvents)
216        },
217        _trigger: function (b, c) {
218            var d = c || this.dates.get(-1),
219                e = this._utc_to_local(d);
220            this.element.trigger({
221                type: b,
222                date: e,
223                viewMode: this.viewMode,
224                dates: a.map(this.dates, this._utc_to_local),
225                format: a.proxy(function (a, b) {
226                    0 === arguments.length ? (a = this.dates.length - 1, b = this.o.format) : "string" == typeof a && (b = a, a = this.dates.length - 1), b = b || this.o.format;
227                    var c = this.dates.get(a);
228                    return r.formatDate(c, b, this.o.language)
229                }, this)
230            })
231        },
232        show: function () {
233            if (!(this.inputField.is(":disabled") || this.inputField.prop("readonly") && !1 === this.o.enableOnReadonly))
234                return this.isInline || this.picker.appendTo(this.o.container), this.place(), this.picker.show(), this._attachSecondaryEvents(), this._trigger("show"), (window.navigator.msMaxTouchPoints || "ontouchstart" in document) && this.o.disableTouchKeyboard && a(this.element).blur(), this
235        },
236        hide: function () {
237            return this.isInline || !this.picker.is(":visible") ? this : (this.focusDate = null, this.picker.hide().detach(), this._detachSecondaryEvents(), this.setViewMode(this.o.startView), this.o.forceParse && this.inputField.val() && this.setValue(), this._trigger("hide"), this)
238        },
239        destroy: function () {
240            return this.hide(), this._detachEvents(), this._detachSecondaryEvents(), this.picker.remove(), delete this.element.data().datepicker, this.isInput || delete this.element.data().date, this
241        },
242        paste: function (b) {
243            var c;
244            if (b.originalEvent.clipboardData && b.originalEvent.clipboardData.types && -1 !== a.inArray("text/plain", b.originalEvent.clipboardData.types))
245                c = b.originalEvent.clipboardData.getData("text/plain");
246            else {
247                if (!window.clipboardData)
248                    return;
249                c = window.clipboardData.getData("Text")
250            }
251            this.setDate(c), this.update(), b.preventDefault()
252        },
253        _utc_to_local: function (a) {
254            if (!a)
255                return a;
256            var b = new Date(a.getTime() + 6e4 * a.getTimezoneOffset());
257            return b.getTimezoneOffset() !== a.getTimezoneOffset() && (b = new Date(a.getTime() + 6e4 * b.getTimezoneOffset())), b
258        },
259        _local_to_utc: function (a) {
260            return a && new Date(a.getTime() - 6e4 * a.getTimezoneOffset())
261        },
262        _zero_time: function (a) {
263            return a && new Date(a.getFullYear(), a.getMonth(), a.getDate())
264        },
265        _zero_utc_time: function (a) {
266            return a && c(a.getUTCFullYear(), a.getUTCMonth(), a.getUTCDate())
267        },
268        getDates: function () {
269            return a.map(this.dates, this._utc_to_local)
270        },
271        getUTCDates: function () {
272            return a.map(this.dates, function (a) {
273                return new Date(a)
274            })
275        },
276        getDate: function () {
277            return this._utc_to_local(this.getUTCDate())
278        },
279        getUTCDate: function () {
280            var a = this.dates.get(-1);
281            return a !== b ? new Date(a) : null
282        },
283        clearDates: function () {
284            this.inputField.val(""), this.update(), this._trigger("changeDate"), this.o.autoclose && this.hide()
285        },
286        setDates: function () {
287            var b = a.isArray(arguments[0]) ? arguments[0] : arguments;
288            return this.update.apply(this, b), this._trigger("changeDate"), this.setValue(), this
289        },
290        setUTCDates: function () {
291            var b = a.isArray(arguments[0]) ? arguments[0] : arguments;
292            return this.setDates.apply(this, a.map(b, this._utc_to_local)), this
293        },
294        setDate: f("setDates"),
295        setUTCDate: f("setUTCDates"),
296        remove: f("destroy", "Method `remove` is deprecated and will be removed in version 2.0. Use `destroy` instead"),
297        setValue: function () {
298            var a = this.getFormattedDate();
299            return this.inputField.val(a), this
300        },
301        getFormattedDate: function (c) {
302            c === b && (c = this.o.format);
303            var d = this.o.language;
304            return a.map(this.dates, function (a) {
305                return r.formatDate(a, c, d)
306            }).join(this.o.multidateSeparator)
307        },
308        getStartDate: function () {
309            return this.o.startDate
310        },
311        setStartDate: function (a) {
312            return this._process_options({
313                startDate: a
314            }), this.update(), this.updateNavArrows(), this
315        },
316        getEndDate: function () {
317            return this.o.endDate
318        },
319        setEndDate: function (a) {
320            return this._process_options({
321                endDate: a
322            }), this.update(), this.updateNavArrows(), this
323        },
324        setDaysOfWeekDisabled: function (a) {
325            return this._process_options({
326                daysOfWeekDisabled: a
327            }), this.update(), this
328        },
329        setDaysOfWeekHighlighted: function (a) {
330            return this._process_options({
331                daysOfWeekHighlighted: a
332            }), this.update(), this
333        },
334        setDatesDisabled: function (a) {
335            return this._process_options({
336                datesDisabled: a
337            }), this.update(), this
338        },
339        place: function () {
340            if (this.isInline)
341                return this;
342            var b = this.picker.outerWidth(),
343                c = this.picker.outerHeight(),
344                d = a(this.o.container),
345                e = d.width(),
346                f = "body" === this.o.container ? a(document).scrollTop() : d.scrollTop(),
347                g = d.offset(),
348                h = [0];
349            this.element.parents().each(function () {
350                var b = a(this).css("z-index");
351                "auto" !== b && 0 !== Number(b) && h.push(Number(b))
352            });
353            var i = Math.max.apply(Math, h) + this.o.zIndexOffset,
354                j = this.component ? this.component.parent().offset() : this.element.offset(),
355                k = this.component ? this.component.outerHeight(!0) : this.element.outerHeight(!1),
356                l = this.component ? this.component.outerWidth(!0) : this.element.outerWidth(!1),
357                m = j.left - g.left,
358                n = j.top - g.top;
359            "body" !== this.o.container && (n += f), this.picker.removeClass("datepicker-orient-top datepicker-orient-bottom datepicker-orient-right datepicker-orient-left"), "auto" !== this.o.orientation.x ? (this.picker.addClass("datepicker-orient-" + this.o.orientation.x), "right" === this.o.orientation.x && (m -= b - l)) : j.left < 0 ? (this.picker.addClass("datepicker-orient-left"), m -= j.left - 10) : m + b > e ? (this.picker.addClass("datepicker-orient-right"), m += l - b) : this.o.rtl ? this.picker.addClass("datepicker-orient-right") : this.picker.addClass("datepicker-orient-left");
360            var o,
361                p = this.o.orientation.y;
362            if ("auto" === p && (o = -f + n - c, p = o < 0 ? "bottom" : "top"), this.picker.addClass("datepicker-orient-" + p), "top" === p ? n -= c + parseInt(this.picker.css("padding-top")) : n += k, this.o.rtl) {
363                var q = e - (m + l);
364                this.picker.css({
365                    top: n,
366                    right: q,
367                    zIndex: i
368                })
369            } else
370                this.picker.css({
371                    top: n,
372                    left: m,
373                    zIndex: i
374                });
375            return this
376        },
377        _allow_update: !0,
378        update: function () {
379            if (!this._allow_update)
380                return this;
381            var b = this.dates.copy(),
382                c = [],
383                d = !1;
384            return arguments.length ? (a.each(arguments, a.proxy(function (a, b) {
385                b instanceof Date && (b = this._local_to_utc(b)), c.push(b)
386            }, this)), d = !0) : (c = this.isInput ? this.element.val() : this.element.data("date") || this.inputField.val(), c = c && this.o.multidate ? c.split(this.o.multidateSeparator) : [c], delete this.element.data().date), c = a.map(c, a.proxy(function (a) {
387                return r.parseDate(a, this.o.format, this.o.language, this.o.assumeNearbyYear)
388            }, this)), c = a.grep(c, a.proxy(function (a) {
389                return !this.dateWithinRange(a) || !a
390            }, this), !0), this.dates.replace(c), this.o.updateViewDate && (this.dates.length ? this.viewDate = new Date(this.dates.get(-1)) : this.viewDate < this.o.startDate ? this.viewDate = new Date(this.o.startDate) : this.viewDate > this.o.endDate ? this.viewDate = new Date(this.o.endDate) : this.viewDate = this.o.defaultViewDate), d ? (this.setValue(), this.element.change()) : this.dates.length && String(b) !== String(this.dates) && d && (this._trigger("changeDate"), this.element.change()), !this.dates.length && b.length && (this._trigger("clearDate"), this.element.change()), this.fill(), this
391        },
392        fillDow: function () {
393            if (this.o.showWeekDays) {
394                var b = this.o.weekStart,
395                    c = "<tr>";
396                for (this.o.calendarWeeks && (c += '<th class="cw">&#160;</th>'); b < this.o.weekStart + 7;)
397                    c += '<th class="dow', -1 !== a.inArray(b, this.o.daysOfWeekDisabled) && (c += " disabled"), c += '">' + q[this.o.language].daysMin[b++ % 7] + "</th>";
398                c += "</tr>", this.picker.find(".datepicker-days thead").append(c)
399            }
400        },
401        fillMonths: function () {
402            for (var a, b = this._utc_to_local(this.viewDate), c = "", d = 0; d < 12; d++)
403                a = b && b.getMonth() === d ? " focused" : "", c += '<span class="month' + a + '">' + q[this.o.language].monthsShort[d] + "</span>";
404            this.picker.find(".datepicker-months td").html(c)
405        },
406        setRange: function (b) {
407            b && b.length ? this.range = a.map(b, function (a) {
408                return a.valueOf()
409            }) : delete this.range, this.fill()
410        },
411        getClassNames: function (b) {
412            var c = [],
413                f = this.viewDate.getUTCFullYear(),
414                g = this.viewDate.getUTCMonth(),
415                h = d();
416            return b.getUTCFullYear() < f || b.getUTCFullYear() === f && b.getUTCMonth() < g ? c.push("old") : (b.getUTCFullYear() > f || b.getUTCFullYear() === f && b.getUTCMonth() > g) && c.push("new"), this.focusDate && b.valueOf() === this.focusDate.valueOf() && c.push("focused"), this.o.todayHighlight && e(b, h) && c.push("today"), -1 !== this.dates.contains(b) && c.push("active"), this.dateWithinRange(b) || c.push("disabled"), this.dateIsDisabled(b) && c.push("disabled", "disabled-date"), -1 !== a.inArray(b.getUTCDay(), this.o.daysOfWeekHighlighted) && c.push("highlighted"), this.range && (b > this.range[0] && b < this.range[this.range.length - 1] && c.push("range"), -1 !== a.inArray(b.valueOf(), this.range) && c.push("selected"), b.valueOf() === this.range[0] && c.push("range-start"), b.valueOf() === this.range[this.range.length - 1] && c.push("range-end")), c
417        },
418        _fill_yearsView: function (c, d, e, f, g, h, i) {
419            for (var j, k, l, m = "", n = e / 10, o = this.picker.find(c), p = Math.floor(f / e) * e, q = p + 9 * n, r = Math.floor(this.viewDate.getFullYear() / n) * n, s = a.map(this.dates, function (a) {
420                return Math.floor(a.getUTCFullYear() / n) * n
421            }), t = p - n; t <= q + n; t += n)
422                j = [d], k = null, t === p - n ? j.push("old") : t === q + n && j.push("new"), -1 !== a.inArray(t, s) && j.push("active"), (t < g || t > h) && j.push("disabled"), t === r && j.push("focused"), i !== a.noop && (l = i(new Date(t, 0, 1)), l === b ? l = {} : "boolean" == typeof l ? l = {
423                    enabled: l
424                } : "string" == typeof l && (l = {
425                    classes: l
426                }), !1 === l.enabled && j.push("disabled"), l.classes && (j = j.concat(l.classes.split(/\s+/))), l.tooltip && (k = l.tooltip)), m += '<span class="' + j.join(" ") + '"' + (k ? ' title="' + k + '"' : "") + ">" + t + "</span>";
427            o.find(".datepicker-switch").text(p + "-" + q), o.find("td").html(m)
428        },
429        fill: function () {
430            var e,
431                f,
432                g = new Date(this.viewDate),
433                h = g.getUTCFullYear(),
434                i = g.getUTCMonth(),
435                j = this.o.startDate !== -1 / 0 ? this.o.startDate.getUTCFullYear() : -1 / 0,
436                k = this.o.startDate !== -1 / 0 ? this.o.startDate.getUTCMonth() : -1 / 0,
437                l = this.o.endDate !== 1 / 0 ? this.o.endDate.getUTCFullYear() : 1 / 0,
438                m = this.o.endDate !== 1 / 0 ? this.o.endDate.getUTCMonth() : 1 / 0,
439                n = q[this.o.language].today || q.en.today || "",
440                o = q[this.o.language].clear || q.en.clear || "",
441                p = q[this.o.language].titleFormat || q.en.titleFormat,
442                s = d(),
443                t = (!0 === this.o.todayBtn || "linked" === this.o.todayBtn) && s >= this.o.startDate && s <= this.o.endDate && !this.weekOfDateIsDisabled(s);
444            if (!isNaN(h) && !isNaN(i)) {
445                this.picker.find(".datepicker-days .datepicker-switch").text(r.formatDate(g, p, this.o.language)), this.picker.find("tfoot .today").text(n).css("display", t ? "table-cell" : "none"), this.picker.find("tfoot .clear").text(o).css("display", !0 === this.o.clearBtn ? "table-cell" : "none"), this.picker.find("thead .datepicker-title").text(this.o.title).css("display", "string" == typeof this.o.title && "" !== this.o.title ? "table-cell" : "none"), this.updateNavArrows(), this.fillMonths();
446                var u = c(h, i, 0),
447                    v = u.getUTCDate();
448                u.setUTCDate(v - (u.getUTCDay() - this.o.weekStart + 7) % 7);
449                var w = new Date(u);
450                u.getUTCFullYear() < 100 && w.setUTCFullYear(u.getUTCFullYear()), w.setUTCDate(w.getUTCDate() + 42), w = w.valueOf();
451                for (var x, y, z = []; u.valueOf() < w;) {
452                    if ((x = u.getUTCDay()) === this.o.weekStart && (z.push("<tr>"), this.o.calendarWeeks)) {
453                        var A = new Date(+u + (this.o.weekStart - x - 7) % 7 * 864e5),
454                            B = new Date(Number(A) + (11 - A.getUTCDay()) % 7 * 864e5),
455                            C = new Date(Number(C = c(B.getUTCFullYear(), 0, 1)) + (11 - C.getUTCDay()) % 7 * 864e5),
456                            D = (B - C) / 864e5 / 7 + 1;
457                        z.push('<td class="cw">' + D + "</td>")
458                    }
459                    y = this.getClassNames(u), y.push("day");
460                    var E = u.getUTCDate();
461                    this.o.beforeShowDay !== a.noop && (f = this.o.beforeShowDay(this._utc_to_local(u)), f === b ? f = {} : "boolean" == typeof f ? f = {
462                        enabled: f
463                    } : "string" == typeof f && (f = {
464                        classes: f
465                    }), !1 === f.enabled && y.push("disabled"), f.classes && (y = y.concat(f.classes.split(/\s+/))), f.tooltip && (e = f.tooltip), f.content && (E = f.content)), y = a.isFunction(a.uniqueSort) ? a.uniqueSort(y) : a.unique(y), z.push('<td class="' + y.join(" ") + '"' + (e ? ' title="' + e + '"' : "") + ' data-date="' + u.getTime().toString() + '">' + E + "</td>"), e = null, x === this.o.weekEnd && z.push("</tr>"), u.setUTCDate(u.getUTCDate() + 1)
466                }
467                this.picker.find(".datepicker-days tbody").html(z.join(""));
468                var F = q[this.o.language].monthsTitle || q.en.monthsTitle || "Months",
469                    G = this.picker.find(".datepicker-months").find(".datepicker-switch").text(this.o.maxViewMode < 2 ? F : h).end().find("tbody span").removeClass("active");
470                if (a.each(this.dates, function (a, b) {
471                    b.getUTCFullYear() === h && G.eq(b.getUTCMonth()).addClass("active")
472                }), (h < j || h > l) && G.addClass("disabled"), h === j && G.slice(0, k).addClass("disabled"), h === l && G.slice(m + 1).addClass("disabled"), this.o.beforeShowMonth !== a.noop) {
473                    var H = this;
474                    a.each(G, function (c, d) {
475                        var e = new Date(h, c, 1),
476                            f = H.o.beforeShowMonth(e);
477                        f === b ? f = {} : "boolean" == typeof f ? f = {
478                            enabled: f
479                        } : "string" == typeof f && (f = {
480                            classes: f
481                        }), !1 !== f.enabled || a(d).hasClass("disabled") || a(d).addClass("disabled"), f.classes && a(d).addClass(f.classes), f.tooltip && a(d).prop("title", f.tooltip)
482                    })
483                }
484                this._fill_yearsView(".datepicker-years", "year", 10, h, j, l, this.o.beforeShowYear), this._fill_yearsView(".datepicker-decades", "decade", 100, h, j, l, this.o.beforeShowDecade), this._fill_yearsView(".datepicker-centuries", "century", 1e3, h, j, l, this.o.beforeShowCentury)
485            }
486        },
487        updateNavArrows: function () {
488            if (this._allow_update) {
489                var a,
490                    b,
491                    c = new Date(this.viewDate),
492                    d = c.getUTCFullYear(),
493                    e = c.getUTCMonth(),
494                    f = this.o.startDate !== -1 / 0 ? this.o.startDate.getUTCFullYear() : -1 / 0,
495                    g = this.o.startDate !== -1 / 0 ? this.o.startDate.getUTCMonth() : -1 / 0,
496                    h = this.o.endDate !== 1 / 0 ? this.o.endDate.getUTCFullYear() : 1 / 0,
497                    i = this.o.endDate !== 1 / 0 ? this.o.endDate.getUTCMonth() : 1 / 0,
498                    j = 1;
499                switch (this.viewMode) {
500                    case 4:
501                        j *= 10;
502                    case 3:
503                        j *= 10;
504                    case 2:
505                        j *= 10;
506                    case 1:
507                        a = Math.floor(d / j) * j <= f, b = Math.floor(d / j) * j + j > h;
508                        break;
509                    case 0:
510                        a = d <= f && e <= g, b = d >= h && e >= i
511                }
512                this.picker.find(".prev").toggleClass("disabled", a), this.picker.find(".next").toggleClass("disabled", b)
513            }
514        },
515        click: function (b) {
516            b.preventDefault(), b.stopPropagation();
517            var e,
518                f,
519                g,
520                h;
521            e = a(b.target), e.hasClass("datepicker-switch") && this.viewMode !== this.o.maxViewMode && this.setViewMode(this.viewMode + 1), e.hasClass("today") && !e.hasClass("day") && (this.setViewMode(0), this._setDate(d(), "linked" === this.o.todayBtn ? null : "view")), e.hasClass("clear") && this.clearDates(), e.hasClass("disabled") || (e.hasClass("month") || e.hasClass("year") || e.hasClass("decade") || e.hasClass("century")) && (this.viewDate.setUTCDate(1), f = 1, 1 === this.viewMode ? (h = e.parent().find("span").index(e), g = this.viewDate.getUTCFullYear(), this.viewDate.setUTCMonth(h)) : (h = 0, g = Number(e.text()), this.viewDate.setUTCFullYear(g)), this._trigger(r.viewModes[this.viewMode - 1].e, this.viewDate), this.viewMode === this.o.minViewMode ? this._setDate(c(g, h, f)) : (this.setViewMode(this.viewMode - 1), this.fill())), this.picker.is(":visible") && this._focused_from && this._focused_from.focus(), delete this._focused_from
522        },
523        dayCellClick: function (b) {
524            var c = a(b.currentTarget),
525                d = c.data("date"),
526                e = new Date(d);
527            this.o.updateViewDate && (e.getUTCFullYear() !== this.viewDate.getUTCFullYear() && this._trigger("changeYear", this.viewDate), e.getUTCMonth() !== this.viewDate.getUTCMonth() && this._trigger("changeMonth", this.viewDate)), this._setDate(e)
528        },
529        navArrowsClick: function (b) {
530            var c = a(b.currentTarget),
531                d = c.hasClass("prev") ? -1 : 1;
532            0 !== this.viewMode && (d *= 12 * r.viewModes[this.viewMode].navStep), this.viewDate = this.moveMonth(this.viewDate, d), this._trigger(r.viewModes[this.viewMode].e, this.viewDate), this.fill()
533        },
534        _toggle_multidate: function (a) {
535            var b = this.dates.contains(a);
536            if (a || this.dates.clear(), -1 !== b ? (!0 === this.o.multidate || this.o.multidate > 1 || this.o.toggleActive) && this.dates.remove(b) : !1 === this.o.multidate ? (this.dates.clear(), this.dates.push(a)) : this.dates.push(a), "number" == typeof this.o.multidate)
537                for (; this.dates.length > this.o.multidate;)
538                    this.dates.remove(0)
539        },
540        _setDate: function (a, b) {
541            b && "date" !== b || this._toggle_multidate(a && new Date(a)), (!b && this.o.updateViewDate || "view" === b) && (this.viewDate = a && new Date(a)), this.fill(), this.setValue(), b && "view" === b || this._trigger("changeDate"), this.inputField.trigger("change"), !this.o.autoclose || b && "date" !== b || this.hide()
542        },
543        moveDay: function (a, b) {
544            var c = new Date(a);
545            return c.setUTCDate(a.getUTCDate() + b), c
546        },
547        moveWeek: function (a, b) {
548            return this.moveDay(a, 7 * b)
549        },
550        moveMonth: function (a, b) {
551            if (!g(a))
552                return this.o.defaultViewDate;
553            if (!b)
554                return a;
555            var c,
556                d,
557                e = new Date(a.valueOf()),
558                f = e.getUTCDate(),
559                h = e.getUTCMonth(),
560                i = Math.abs(b);
561            if (b = b > 0 ? 1 : -1, 1 === i)
562                d = -1 === b ? function () {
563                    return e.getUTCMonth() === h
564                } : function () {
565                    return e.getUTCMonth() !== c
566                }, c = h + b, e.setUTCMonth(c), c = (c + 12) % 12;
567            else {
568                for (var j = 0; j < i; j++)
569                    e = this.moveMonth(e, b);
570                c = e.getUTCMonth(), e.setUTCDate(f), d = function () {
571                    return c !== e.getUTCMonth()
572                }
573            }
574            for (; d();)
575                e.setUTCDate(--f), e.setUTCMonth(c);
576            return e
577        },
578        moveYear: function (a, b) {
579            return this.moveMonth(a, 12 * b)
580        },
581        moveAvailableDate: function (a, b, c) {
582            do {
583                if (a = this[c](a, b), !this.dateWithinRange(a))
584                    return !1;
585                c = "moveDay"
586            } while (this.dateIsDisabled(a));
587            return a
588        },
589        weekOfDateIsDisabled: function (b) {
590            return -1 !== a.inArray(b.getUTCDay(), this.o.daysOfWeekDisabled)
591        },
592        dateIsDisabled: function (b) {
593            return this.weekOfDateIsDisabled(b) || a.grep(this.o.datesDisabled, function (a) {
594                return e(b, a)
595            }).length > 0
596        },
597        dateWithinRange: function (a) {
598            return a >= this.o.startDate && a <= this.o.endDate
599        },
600        keydown: function (a) {
601            if (!this.picker.is(":visible"))
602                return void (40 !== a.keyCode && 27 !== a.keyCode || (this.show(), a.stopPropagation()));
603            var b,
604                c,
605                d = !1,
606                e = this.focusDate || this.viewDate;
607            switch (a.keyCode) {
608                case 27:
609                    this.focusDate ? (this.focusDate = null, this.viewDate = this.dates.get(-1) || this.viewDate, this.fill()) : this.hide(), a.preventDefault(), a.stopPropagation();
610                    break;
611                case 37:
612                case 38:
613                case 39:
614                case 40:
615                    if (!this.o.keyboardNavigation || 7 === this.o.daysOfWeekDisabled.length)
616                        break;
617                    b = 37 === a.keyCode || 38 === a.keyCode ? -1 : 1, 0 === this.viewMode ? a.ctrlKey ? (c = this.moveAvailableDate(e, b, "moveYear")) && this._trigger("changeYear", this.viewDate) : a.shiftKey ? (c = this.moveAvailableDate(e, b, "moveMonth")) && this._trigger("changeMonth", this.viewDate) : 37 === a.keyCode || 39 === a.keyCode ? c = this.moveAvailableDate(e, b, "moveDay") : this.weekOfDateIsDisabled(e) || (c = this.moveAvailableDate(e, b, "moveWeek")) : 1 === this.viewMode ? (38 !== a.keyCode && 40 !== a.keyCode || (b *= 4), c = this.moveAvailableDate(e, b, "moveMonth")) : 2 === this.viewMode && (38 !== a.keyCode && 40 !== a.keyCode || (b *= 4), c = this.moveAvailableDate(e, b, "moveYear")), c && (this.focusDate = this.viewDate = c, this.setValue(), this.fill(), a.preventDefault());
618                    break;
619                case 13:
620                    if (!this.o.forceParse)
621                        break;
622                    e = this.focusDate || this.dates.get(-1) || this.viewDate, this.o.keyboardNavigation && (this._toggle_multidate(e), d = !0), this.focusDate = null, this.viewDate = this.dates.get(-1) || this.viewDate, this.setValue(), this.fill(), this.picker.is(":visible") && (a.preventDefault(), a.stopPropagation(), this.o.autoclose && this.hide());
623                    break;
624                case 9:
625                    this.focusDate = null, this.viewDate = this.dates.get(-1) || this.viewDate, this.fill(), this.hide()
626            }
627            d && (this.dates.length ? this._trigger("changeDate") : this._trigger("clearDate"), this.inputField.trigger("change"))
628        },
629        setViewMode: function (a) {
630            this.viewMode = a, this.picker.children("div").hide().filter(".datepicker-" + r.viewModes[this.viewMode].clsName).show(), this.updateNavArrows(), this._trigger("changeViewMode", new Date(this.viewDate))
631        }
632    };
633    var l = function (b, c) {
634        a.data(b, "datepicker", this), this.element = a(b), this.inputs = a.map(c.inputs, function (a) {
635            return a.jquery ? a[0] : a
636        }), delete c.inputs, this.keepEmptyValues = c.keepEmptyValues, delete c.keepEmptyValues, n.call(a(this.inputs), c).on("changeDate", a.proxy(this.dateUpdated, this)), this.pickers = a.map(this.inputs, function (b) {
637            return a.data(b, "datepicker")
638        }), this.updateDates()
639    };
640    l.prototype = {
641        updateDates: function () {
642            this.dates = a.map(this.pickers, function (a) {
643                return a.getUTCDate()
644            }), this.updateRanges()
645        },
646        updateRanges: function () {
647            var b = a.map(this.dates, function (a) {
648                return a.valueOf()
649            });
650            a.each(this.pickers, function (a, c) {
651                c.setRange(b)
652            })
653        },
654        clearDates: function () {
655            a.each(this.pickers, function (a, b) {
656                b.clearDates()
657            })
658        },
659        dateUpdated: function (c) {
660            if (!this.updating) {
661                this.updating = !0;
662                var d = a.data(c.target, "datepicker");
663                if (d !== b) {
664                    var e = d.getUTCDate(),
665                        f = this.keepEmptyValues,
666                        g = a.inArray(c.target, this.inputs),
667                        h = g - 1,
668                        i = g + 1,
669                        j = this.inputs.length;
670                    if (-1 !== g) {
671                        if (a.each(this.pickers, function (a, b) {
672                            b.getUTCDate() || b !== d && f || b.setUTCDate(e)
673                        }), e < this.dates[h])
674                            for (; h >= 0 && e < this.dates[h];)
675                                this.pickers[h--].setUTCDate(e);
676                        else if (e > this.dates[i])
677                            for (; i < j && e > this.dates[i];)
678                                this.pickers[i++].setUTCDate(e);
679                        this.updateDates(), delete this.updating
680                    }
681                }
682            }
683        },
684        destroy: function () {
685            a.map(this.pickers, function (a) {
686                a.destroy()
687            }), a(this.inputs).off("changeDate", this.dateUpdated), delete this.element.data().datepicker
688        },
689        remove: f("destroy", "Method `remove` is deprecated and will be removed in version 2.0. Use `destroy` instead")
690    };
691    var m = a.fn.datepicker,
692        n = function (c) {
693            var d = Array.apply(null, arguments);
694            d.shift();
695            var e;
696            if (this.each(function () {
697                var b = a(this),
698                    f = b.data("datepicker"),
699                    g = "object" == typeof c && c;
700                if (!f) {
701                    var j = h(this, "date"),
702                        m = a.extend({}, o, j, g),
703                        n = i(m.language),
704                        p = a.extend({}, o, n, j, g);
705                    b.hasClass("input-daterange") || p.inputs ? (a.extend(p, {
706                        inputs: p.inputs || b.find("input").toArray()
707                    }), f = new l(this, p)) : f = new k(this, p), b.data("datepicker", f)
708                }
709                "string" == typeof c && "function" == typeof f[c] && (e = f[c].apply(f, d))
710            }), e === b || e instanceof k || e instanceof l)
711                return this;
712            if (this.length > 1)
713                throw new Error("Using only allowed for the collection of a single element (" + c + " function)");
714            return e
715        };
716    a.fn.datepicker = n;
717    var o = a.fn.datepicker.defaults = {
718        assumeNearbyYear: !1,
719        autoclose: !1,
720        beforeShowDay: a.noop,
721        beforeShowMonth: a.noop,
722        beforeShowYear: a.noop,
723        beforeShowDecade: a.noop,
724        beforeShowCentury: a.noop,
725        calendarWeeks: !1,
726        clearBtn: !1,
727        toggleActive: !1,
728        daysOfWeekDisabled: [],
729        daysOfWeekHighlighted: [],
730        datesDisabled: [],
731        endDate: 1 / 0,
732        forceParse: !0,
733        format: "mm/dd/yyyy",
734        keepEmptyValues: !1,
735        keyboardNavigation: !0,
736        language: "en",
737        minViewMode: 0,
738        maxViewMode: 4,
739        multidate: !1,
740        multidateSeparator: ",",
741        orientation: "auto",
742        rtl: !1,
743        startDate: -1 / 0,
744        startView: 0,
745        todayBtn: !1,
746        todayHighlight: !1,
747        updateViewDate: !0,
748        weekStart: 0,
749        disableTouchKeyboard: !1,
750        enableOnReadonly: !0,
751        showOnFocus: !0,
752        zIndexOffset: 10,
753        container: "body",
754        immediateUpdates: !1,
755        title: "",
756        templates: {
757            leftArrow: "&#x00AB;",
758            rightArrow: "&#x00BB;"
759        },
760        showWeekDays: !0
761    },
762        p = a.fn.datepicker.locale_opts = ["format", "rtl", "weekStart"];
763    a.fn.datepicker.Constructor = k;
764    var q = a.fn.datepicker.dates = {
765        en: {
766            days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
767            daysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
768            daysMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"],
769            months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "
vendor: 8,180 bytes, lines 769-927
769November", "December"],
770            monthsShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
771            today: "Today",
772            clear: "Clear",
773            titleFormat: "MM yyyy"
774        }
775    },
776        r = {
777            viewModes: [{
778                names: ["days", "month"],
779                clsName: "days",
780                e: "changeMonth"
781            }, {
782                names: ["months", "year"],
783                clsName: "months",
784                e: "changeYear",
785                navStep: 1
786            }, {
787                names: ["years", "decade"],
788                clsName: "years",
789                e: "changeDecade",
790                navStep: 10
791            }, {
792                names: ["decades", "century"],
793                clsName: "decades",
794                e: "changeCentury",
795                navStep: 100
796            }, {
797                names: ["centuries", "millennium"],
798                clsName: "centuries",
799                e: "changeMillennium",
800                navStep: 1e3
801            }],
802            validParts: /dd?|DD?|mm?|MM?|yy(?:yy)?/g,
803            nonpunctuation: /[^ -\/:-@\u5e74\u6708\u65e5\[-`{-~\t\n\r]+/g,
804            parseFormat: function (a) {
805                if ("function" == typeof a.toValue && "function" == typeof a.toDisplay)
806                    return a;
807                var b = a.replace(this.validParts, "\0").split("\0"),
808                    c = a.match(this.validParts);
809                if (!b || !b.length || !c || 0 === c.length)
810                    throw new Error("Invalid date format.");
811                return {
812                    separators: b,
813                    parts: c
814                }
815            },
816            parseDate: function (c, e, f, g) {
817                function h(a, b) {
818                    return !0 === b && (b = 10), a < 100 && (a += 2e3) > (new Date).getFullYear() + b && (a -= 100), a
819                }
820                function i() {
821                    var a = this.slice(0, j[n].length),
822                        b = j[n].slice(0, a.length);
823                    return a.toLowerCase() === b.toLowerCase()
824                }
825                if (!c)
826                    return b;
827                if (c instanceof Date)
828                    return c;
829                if ("string" == typeof e && (e = r.parseFormat(e)), e.toValue)
830                    return e.toValue(c, e, f);
831                var j,
832                    l,
833                    m,
834                    n,
835                    o,
836                    p = {
837                        d: "moveDay",
838                        m: "moveMonth",
839                        w: "moveWeek",
840                        y: "moveYear"
841                    },
842                    s = {
843                        yesterday: "-1d",
844                        today: "+0d",
845                        tomorrow: "+1d"
846                    };
847                if (c in s && (c = s[c]), /^[\-+]\d+[dmwy]([\s,]+[\-+]\d+[dmwy])*$/i.test(c)) {
848                    for (j = c.match(/([\-+]\d+)([dmwy])/gi), c = new Date, n = 0; n < j.length; n++)
849                        l = j[n].match(/([\-+]\d+)([dmwy])/i), m = Number(l[1]), o = p[l[2].toLowerCase()], c = k.prototype[o](c, m);
850                    return k.prototype._zero_utc_time(c)
851                }
852                j = c && c.match(this.nonpunctuation) || [];
853                var t,
854                    u,
855                    v = {},
856                    w = ["yyyy", "yy", "M", "MM", "m", "mm", "d", "dd"],
857                    x = {
858                        yyyy: function (a, b) {
859                            return a.setUTCFullYear(g ? h(b, g) : b)
860                        },
861                        m: function (a, b) {
862                            if (isNaN(a))
863                                return a;
864                            for (b -= 1; b < 0;)
865                                b += 12;
866                            for (b %= 12, a.setUTCMonth(b); a.getUTCMonth() !== b;)
867                                a.setUTCDate(a.getUTCDate() - 1);
868                            return a
869                        },
870                        d: function (a, b) {
871                            return a.setUTCDate(b)
872                        }
873                    };
874                x.yy = x.yyyy, x.M = x.MM = x.mm = x.m, x.dd = x.d, c = d();
875                var y = e.parts.slice();
876                if (j.length !== y.length && (y = a(y).filter(function (b, c) {
877                    return -1 !== a.inArray(c, w)
878                }).toArray()), j.length === y.length) {
879                    var z;
880                    for (n = 0, z = y.length; n < z; n++) {
881                        if (t = parseInt(j[n], 10), l = y[n], isNaN(t))
882                            switch (l) {
883                                case "MM":
884                                    u = a(q[f].months).filter(i), t = a.inArray(u[0], q[f].months) + 1;
885                                    break;
886                                case "M":
887                                    u = a(q[f].monthsShort).filter(i), t = a.inArray(u[0], q[f].monthsShort) + 1
888                            }
889                        v[l] = t
890                    }
891                    var A,
892                        B;
893                    for (n = 0; n < w.length; n++)
894                        (B = w[n]) in v && !isNaN(v[B]) && (A = new Date(c), x[B](A, v[B]), isNaN(A) || (c = A))
895                }
896                return c
897            },
898            formatDate: function (b, c, d) {
899                if (!b)
900                    return "";
901                if ("string" == typeof c && (c = r.parseFormat(c)), c.toDisplay)
902                    return c.toDisplay(b, c, d);
903                var e = {
904                    d: b.getUTCDate(),
905                    D: q[d].daysShort[b.getUTCDay()],
906                    DD: q[d].days[b.getUTCDay()],
907                    m: b.getUTCMonth() + 1,
908                    M: q[d].monthsShort[b.getUTCMonth()],
909                    MM: q[d].months[b.getUTCMonth()],
910                    yy: b.getUTCFullYear().toString().substring(2),
911                    yyyy: b.getUTCFullYear()
912                };
913                e.dd = (e.d < 10 ? "0" : "") + e.d, e.mm = (e.m < 10 ? "0" : "") + e.m, b = [];
914                for (var f = a.extend([], c.separators), g = 0, h = c.parts.length; g <= h; g++)
915                    f.length && b.push(f.shift()), b.push(e[c.parts[g]]);
916                return b.join("")
917            },
918            headTemplate: '<thead><tr><th colspan="7" class="datepicker-title"></th></tr><tr><th class="prev">' + o.templates.leftArrow + '</th><th colspan="5" class="datepicker-switch"></th><th class="next">' + o.templates.rightArrow + "</th></tr></thead>",
919            contTemplate: '<tbody><tr><td colspan="7"></td></tr></tbody>',
920            footTemplate: '<tfoot><tr><th colspan="7" class="today"></th></tr><tr><th colspan="7" class="clear"></th></tr></tfoot>'
921        };
922    r.template = '<div class="datepicker"><div class="datepicker-days"><table class="table-condensed">' + r.headTemplate + "<tbody></tbody>" + r.footTemplate + '</table></div><div class="datepicker-months"><table class="table-condensed">' + r.headTemplate + r.contTemplate + r.footTemplate + '</table></div><div class="datepicker-years"><table class="table-condensed">' + r.headTemplate + r.contTemplate + r.footTemplate + '</table></div><div class="datepicker-decades"><table class="table-condensed">' + r.headTemplate + r.contTemplate + r.footTemplate + '</table></div><div class="datepicker-centuries"><table class="table-condensed">' + r.headTemplate + r.contTemplate + r.footTemplate + "</table></div></div>", a.fn.datepicker.DPGlobal = r, a.fn.datepicker.noConflict = function () {
923        return a.fn.datepicker = m, this
924    }, a.fn.datepicker.version = "1.9.0", a.fn.datepicker.deprecated = function (a) {
925        var b = window.console;
926        b && b.warn && b.warn("DEPRECATED: " + a)
927    }, a(document).on("focus.datepicker.data-api click.datepicker.data-api", '[data-
927provide="datepicker"]', function (b) {
928        var c = a(this);
929        c.data("datepicker") || (b.preventDefault(), n.call(c, "show"))
930    }), a(function () {
931        n.call(a('[data-provide="datepicker-inline"]'))
932    })
933});
934

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.