PageSourceSearch

https://www.pvs-cleaning.com/js/34-e3be5db4bc6e11e14fa613b019ac6415.js

js pvs-cleaning.com collected 2026-10-06 08:12:17 UTC 91,328 bytes, 1,290 lines download raw bytes

vendor: 14,031 bytes, lines 1-324
1// full.min
2var DateFormatter;
3! function () {
4    "use strict";
5    var D, s, r, a, n;
6    D = function (e, t) {
7        return "string" == typeof e && "string" == typeof t && e.toLowerCase() === t.toLowerCase()
8    }, s = function (e, t, a) {
9        var n = a || "0",
10            r = e.toString();
11        return r.length < t ? s(n + r, t) : r
12    }, r = function (e) {
13        var t, a;
14        for (e = e || {}, t = 1; t < arguments.length; t++)
15            if (a = arguments[t])
16                for (var n in a) a.hasOwnProperty(n) && ("object" == typeof a[n] ? r(e[n], a[n]) : e[n] = a[n]);
17        return e
18    }, a = function (e, t) {
19        for (var a = 0; a < t.length; a++)
20            if (t[a].toLowerCase() === e.toLowerCase()) return a;
21        return -1
22    }, n = {
23        dateSettings: {
24            days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
25            daysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
26            months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
27            monthsShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
28            meridiem: ["AM", "PM"],
29            ordinal: function (e) {
30                var t = e % 10,
31                    a = {
32                        1: "st",
33                        2: "nd",
34                        3: "rd"
35                    };
36                return 1 !== Math.floor(e % 100 / 10) && a[t] ? a[t] : "th"
37            }
38        },
39        separators: /[ \-+\/\.T:@]/g,
40        validParts: /[dDjlNSwzWFmMntLoYyaABgGhHisueTIOPZcrU]/g,
41        intParts: /[djwNzmnyYhHgGis]/g,
42        tzParts: /\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,
43        tzClip: /[^-+\dA-Z]/g
44    }, (DateFormatter = function (e) {
45        var t = this,
46            a = r(n, e);
47        t.dateSettings = a.dateSettings, t.separators = a.separators, t.validParts = a.validParts, t.intParts = a.intParts, t.tzParts = a.tzParts, t.tzClip = a.tzClip
48    }).prototype = {
49        constructor: DateFormatter,
50        getMonth: function (e) {
51            var t;
52            return 0 === (t = a(e, this.dateSettings.monthsShort) + 1) && (t = a(e, this.dateSettings.months) + 1), t
53        },
54        parseDate: function (e, t) {
55            var a, n, r, o, i, s, d, u, l, f, c = this,
56                m = !1,
57                h = !1,
58                g = c.dateSettings,
59                p = {
60                    date: null,
61                    year: null,
62                    month: null,
63                    day: null,
64                    hour: 0,
65                    min: 0,
66                    sec: 0
67                };
68            if (!e) return null;
69            if (e instanceof Date) return e;
70            if ("U" === t) return (r = parseInt(e)) ? new Date(1e3 * r) : e;
71            switch (typeof e) {
72                case "number":
73                    return new Date(e);
74                case "string":
75                    break;
76                default:
77                    return null
78            }
79            if (!(a = t.match(c.validParts)) || 0 === a.length) throw new Error("Invalid date format definition.");
80            for (n = e.replace(c.separators, "\0").split("\0"), r = 0; r < n.length; r++) switch (o = n[r], i = parseInt(o), a[r]) {
81                case "y":
82                case "Y":
83                    if (!i) return null;
84                    l = o.length, p.year = 2 === l ? parseInt((i < 70 ? "20" : "19") + o) : i, m = !0;
85                    break;
86                case "m":
87                case "n":
88                case "M":
89                case "F":
90                    if (isNaN(i)) {
91                        if (!(0 < (s = c.getMonth(o)))) return null;
92                        p.month = s
93                    } else {
94                        if (!(1 <= i && i <= 12)) return null;
95                        p.month = i
96                    }
97                    m = !0;
98                    break;
99                case "d":
100                case "j":
101                    if (!(1 <= i && i <= 31)) return null;
102                    p.day = i, m = !0;
103                    break;
104                case "g":
105                case "h":
106                    if (f = n[d = -1 < a.indexOf("a") ? a.indexOf("a") : -1 < a.indexOf("A") ? a.indexOf("A") : -1], -1 < d) u = D(f, g.meridiem[0]) ? 0 : D(f, g.meridiem[1]) ? 12 : -1, 1 <= i && i <= 12 && -1 < u ? p.hour = i + u - 1 : 0 <= i && i <= 23 && (p.hour = i);
107                    else {
108                        if (!(0 <= i && i <= 23)) return null;
109                        p.hour = i
110                    }
111                    h = !0;
112                    break;
113                case "G":
114                case "H":
115                    if (!(0 <= i && i <= 23)) return null;
116                    p.hour = i, h = !0;
117                    break;
118                case "i":
119                    if (!(0 <= i && i <= 59)) return null;
120                    p.min = i, h = !0;
121                    break;
122                case "s":
123                    if (!(0 <= i && i <= 59)) return null;
124                    p.sec = i, h = !0
125            }
126            if (!0 === m && p.year && p.month && p.day) p.date = new Date(p.year, p.month - 1, p.day, p.hour, p.min, p.sec, 0);
127            else {
128                if (!0 !== h) return null;
129                p.date = new Date(0, 0, 0, p.hour, p.min, p.sec, 0)
130            }
131            return p.date
132        },
133        guessDate: function (e, t) {
134            if ("string" != typeof e) return e;
135            var a, n, r, o, i, s, d = e.replace(this.separators, "\0").split("\0"),
136                u = t.match(this.validParts),
137                l = new Date,
138                f = 0;
139            if (!/^[djmn]/g.test(u[0])) return e;
140            for (r = 0; r < d.length; r++) {
141                if (f = 2, i = d[r], s = parseInt(i.substr(0, 2)), isNaN(s)) return null;
142                switch (r) {
143                    case 0:
144                        "m" === u[0] || "n" === u[0] ? l.setMonth(s - 1) : l.setDate(s);
145                        break;
146                    case 1:
147                        "m" === u[0] || "n" === u[0] ? l.setDate(s) : l.setMonth(s - 1);
148                        break;
149                    case 2:
150                        if (n = l.getFullYear(), f = (a = i.length) < 4 ? a : 4, !(n = parseInt(a < 4 ? n.toString().substr(0, 4 - a) + i : i.substr(0, 4)))) return null;
151                        l.setFullYear(n);
152                        break;
153                    case 3:
154                        l.setHours(s);
155                        break;
156                    case 4:
157                        l.setMinutes(s);
158                        break;
159                    case 5:
160                        l.setSeconds(s)
161                }
162                0 < (o = i.substr(f)).length && d.splice(r + 1, 0, o)
163            }
164            return l
165        },
166        parseFormat: function (e, n) {
167            var a, t = this,
168                r = t.dateSettings,
169                o = /\\?(.?)/gi,
170                i = function (e, t) {
171                    return a[e] ? a[e]() : t
172                };
173            return a = {
174                d: function () {
175                    return s(a.j(), 2)
176                },
177                D: function () {
178                    return r.daysShort[a.w()]
179                },
180                j: function () {
181                    return n.getDate()
182                },
183                l: function () {
184                    return r.days[a.w()]
185                },
186                N: function () {
187                    return a.w() || 7
188                },
189                w: function () {
190                    return n.getDay()
191                },
192                z: function () {
193                    var e = new Date(a.Y(), a.n() - 1, a.j()),
194                        t = new Date(a.Y(), 0, 1);
195                    return Math.round((e - t) / 864e5)
196                },
197                W: function () {
198                    var e = new Date(a.Y(), a.n() - 1, a.j() - a.N() + 3),
199                        t = new Date(e.getFullYear(), 0, 4);
200                    return s(1 + Math.round((e - t) / 864e5 / 7), 2)
201                },
202                F: function () {
203                    return r.months[n.getMonth()]
204                },
205                m: function () {
206                    return s(a.n(), 2)
207                },
208                M: function () {
209                    return r.monthsShort[n.getMonth()]
210                },
211                n: function () {
212                    return n.getMonth() + 1
213                },
214                t: function () {
215                    return new Date(a.Y(), a.n(), 0).getDate()
216                },
217                L: function () {
218                    var e = a.Y();
219                    return e % 4 == 0 && e % 100 != 0 || e % 400 == 0 ? 1 : 0
220                },
221                o: function () {
222                    var e = a.n(),
223                        t = a.W();
224                    return a.Y() + (12 === e && t < 9 ? 1 : 1 === e && 9 < t ? -1 : 0)
225                },
226                Y: function () {
227                    return n.getFullYear()
228                },
229                y: function () {
230                    return a.Y().toString().slice(-2)
231                },
232                a: function () {
233                    return a.A().toLowerCase()
234                },
235                A: function () {
236                    var e = a.G() < 12 ? 0 : 1;
237                    return r.meridiem[e]
238                },
239                B: function () {
240                    var e = 3600 * n.getUTCHours(),
241                        t = 60 * n.getUTCMinutes(),
242                        a = n.getUTCSeconds();
243                    return s(Math.floor((e + t + a + 3600) / 86.4) % 1e3, 3)
244                },
245                g: function () {
246                    return a.G() % 12 || 12
247                },
248                G: function () {
249                    return n.getHours()
250                },
251                h: function () {
252                    return s(a.g(), 2)
253                },
254                H: function () {
255                    return s(a.G(), 2)
256                },
257                i: function () {
258                    return s(n.getMinutes(), 2)
259                },
260                s: function () {
261                    return s(n.getSeconds(), 2)
262                },
263                u: function () {
264                    return s(1e3 * n.getMilliseconds(), 6)
265                },
266                e: function () {
267                    return /\((.*)\)/.exec(String(n))[1] || "Coordinated Universal Time"
268                },
269                I: function () {
270                    return new Date(a.Y(), 0) - Date.UTC(a.Y(), 0) != new Date(a.Y(), 6) - Date.UTC(a.Y(), 6) ? 1 : 0
271                },
272                O: function () {
273                    var e = n.getTimezoneOffset(),
274                        t = Math.abs(e);
275                    return (0 < e ? "-" : "+") + s(100 * Math.floor(t / 60) + t % 60, 4)
276                },
277                P: function () {
278                    var e = a.O();
279                    return e.substr(0, 3) + ":" + e.substr(3, 2)
280                },
281                T: function () {
282                    return (String(n).match(t.tzParts) || [""]).pop().replace(t.tzClip, "") || "UTC"
283                },
284                Z: function () {
285                    return 60 * -n.getTimezoneOffset()
286                },
287                c: function () {
288                    return "Y-m-d\\TH:i:sP".replace(o, i)
289                },
290                r: function () {
291                    return "D, d M Y H:i:s O".replace(o, i)
292                },
293                U: function () {
294                    return n.getTime() / 1e3 || 0
295                }
296            }, i(e, e)
297        },
298        formatDate: function (e, t) {
299            var a, n, r, o, i, s = "";
300            if ("string" == typeof e && !(e = this.parseDate(e, t))) return null;
301            if (e instanceof Date) {
302                for (r = t.length, a = 0; a < r; a++) "S" !== (i = t.charAt(a)) && "\\" !== i && (0 < a && "\\" === t.charAt(a - 1) ? s += i : (o = this.parseFormat(i, e), a !== r - 1 && this.intParts.test(i) && "S" === t.charAt(a + 1) && (n = parseInt(o) || 0, o += this.dateSettings.ordinal(n)), s += o));
303                return s
304            }
305            return ""
306        }
307    }
308}();
309var datetimepickerFactory = function (L) {
310    "use strict";
311    var s = {
312            i18n: {
313                ar: {
314                    months: ["كانون الثاني", "شباط", "آذار", "نيسان", "مايو", "حزيران", "تموز", "آب", "أيلول", "تشرين الأول", "تشرين الثاني", "كانون الأول"],
315                    dayOfWeekShort: ["ن", "ث", "ع", "خ", "ج", "س", "ح"],
316                    dayOfWeek: ["الأحد", "الاثنين", "الثلاثاء", "الأربعاء", "الخميس", "الجمعة", "السبت", "الأحد"]
317                },
318                ro: {
319                    months: ["Ianuarie", "Februarie", "Martie", "Aprilie", "Mai", "Iunie", "Iulie", "August", "Septembrie", "Octombrie", "Noiembrie", "Decembrie"],
320                    dayOfWeekShort: ["Du", "Lu", "Ma", "Mi", "Jo", "Vi", "Sâ"],
321                    dayOfWeek: ["Duminică", "Luni", "Marţi", "Miercuri", "Joi", "Vineri", "Sâmbătă"]
322                },
323                id: {
324                    months: ["Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "
324November", "Desember"],
325                    dayOfWeekShort: ["Min", "Sen", "Sel", "Rab", "Kam", "Jum", "Sab"],
326                    dayOfWeek: ["Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu"]
327                },
328                is: {
329                    months: ["Janúar", "Febrúar", "Mars", "Apríl", "Maí", "Júní", "Júlí", "Ágúst", "September", "Október", "Nóvember", "Desember"],
330                    dayOfWeekShort: ["Sun", "Mán", "Þrið", "Mið", "Fim", "Fös", "Lau"],
331                    dayOfWeek: ["Sunnudagur", "Mánudagur", "Þriðjudagur", "Miðvikudagur", "Fimmtudagur", "Föstudagur", "Laugardagur"]
332                },
333                bg: {
334                    months: ["Януари", "Февруари", "Март", "Април", "Май", "Юни", "Юли", "Август", "Септември", "Октомври", "Ноември", "Декември"],
335                    dayOfWeekShort: ["Нд", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб"],
336                    dayOfWeek: ["Неделя", "Понеделник", "Вторник", "Сряда", "Четвъртък", "Петък", "Събота"]
337                },
338                fa: {
339                    months: ["فروردین", "اردیبهشت", "خرداد", "تیر", "مرداد", "شهریور", "مهر", "آبان", "آذر", "دی", "بهمن", "اسفند"],
340                    dayOfWeekShort: ["یکشنبه", "دوشنبه", "سه شنبه", "چهارشنبه", "پنجشنبه", "جمعه", "شنبه"],
341                    dayOfWeek: ["یک‌شنبه", "دوشنبه", "سه‌شنبه", "چهارشنبه", "پنج‌شنبه", "جمعه", "شنبه", "یک‌شنبه"]
342                },
343                ru: {
344                    months: ["Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"],
345                    dayOfWeekShort: ["Вс", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб"],
346                    dayOfWeek: ["Воскресенье", "Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота"]
347                },
348                uk: {
349                    months: ["Січень", "Лютий", "Березень", "Квітень", "Травень", "Червень", "Липень", "Серпень", "Вересень", "Жовтень", "Листопад", "Грудень"],
350                    dayOfWeekShort: ["Ндл", "Пнд", "Втр", "Срд", "Чтв", "Птн", "Сбт"],
351                    dayOfWeek: ["Неділя", "Понеділок", "Вівторок", "Середа", "Четвер", "П'ятниця", "Субота"]
352                },
353                en: {
354                    months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "
354November", "December"],
355                    dayOfWeekShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
356                    dayOfWeek: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]
357                },
358                el: {
359                    months: ["Ιανουάριος", "Φεβρουάριος", "Μάρτιος", "Απρίλιος", "Μάιος", "Ιούνιος", "Ιούλιος", "Αύγουστος", "Σεπτέμβριος", "Οκτώβριος", "Νοέμβριος", "Δεκέμβριος"],
360                    dayOfWeekShort: ["Κυρ", "Δευ", "Τρι", "Τετ", "Πεμ", "Παρ", "Σαβ"],
361                    dayOfWeek: ["Κυριακή", "Δευτέρα", "Τρίτη", "Τετάρτη", "Πέμπτη", "Παρασκευή", "Σάββατο"]
362                },
363                de: {
364                    months: ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"],
365                    dayOfWeekShort: ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"],
366                    dayOfWeek: ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"]
367                },
368                nl: {
369                    months: ["januari", "februari", "maart", "april", "mei", "juni", "juli", "augustus", "september", "oktober", "november", "december"],
370                    dayOfWeekShort: ["zo", "ma", "di", "wo", "do", "vr", "za"],
371                    dayOfWeek: ["zondag", "maandag", "dinsdag", "woensdag", "donderdag", "vrijdag", "zaterdag"]
372                },
373                tr: {
374                    months: ["Ocak", "Şubat", "Mart", "Nisan", "Mayıs", "Haziran", "Temmuz", "Ağustos", "Eylül", "Ekim", "Kasım", "Aralık"],
375                    dayOfWeekShort: ["Paz", "Pts", "Sal", "Çar", "Per", "Cum", "Cts"],
376                    dayOfWeek: ["Pazar", "Pazartesi", "Salı", "Çarşamba", "Perşembe", "Cuma", "Cumartesi"]
377                },
378                fr: {
379                    months: ["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"],
380                    dayOfWeekShort: ["Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam"],
381                    dayOfWeek: ["dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi"]
382                },
383                es: {
384                    months: ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"],
385                    dayOfWeekShort: ["Dom", "Lun", "Mar", "Mié", "Jue", "Vie", "Sáb"],
386                    dayOfWeek: ["Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado"]
387                },
388                th: {
389                    months: ["มกราคม", "กุมภาพันธ์", "มีนาคม", "เมษายน", "พฤษภาคม", "มิถุนายน", "กรกฎาคม", "สิงหาคม", "กันยายน", "ตุลาคม", "พฤศจิกายน", "ธันวาคม"],
390                    dayOfWeekShort: ["อา.", "จ.", "อ.", "พ.", "พฤ.", "ศ.", "ส."],
391                    dayOfWeek: ["อาทิตย์", "จันทร์", "อังคาร", "พุธ", "พฤหัส", "ศุกร์", "เสาร์", "อาทิตย์"]
392                },
393                pl: {
394                    months: ["styczeń", "luty", "marzec", "kwiecień", "maj", "czerwiec", "lipiec", "sierpień", "wrzesień", "październik", "listopad", "grudzień"],
395                    dayOfWeekShort: ["nd", "pn", "wt", "śr", "cz", "pt", "sb"],
396                    dayOfWeek: ["niedziela", "poniedziałek", "wtorek", "środa", "czwartek", "piątek", "sobota"]
397                },
398                pt: {
399                    months: ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"],
400                    dayOfWeekShort: ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sab"],
401                    dayOfWeek: ["Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "SÃ
401¡bado"]
402                },
403                ch: {
404                    months: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
405                    dayOfWeekShort: ["日", "一", "二", "三", "四", "五", "六"]
406                },
407                se: {
408                    months: ["Januari", "Februari", "Mars", "April", "Maj", "Juni", "Juli", "Augusti", "September", "Oktober", "November", "December"],
409                    dayOfWeekShort: ["Sön", "Mån", "Tis", "Ons", "Tor", "Fre", "Lör"]
410                },
411                km: {
412                    months: ["មករា​", "កុម្ភៈ", "មិនា​", "មេសា​", "ឧសភា​", "មិថុនា​", "កក្កដា​", "សីហា​", "កញ្ញា​", "តុលា​", "វិច្ឆិកា", "ធ្នូ​"],
413                    dayOfWeekShort: ["អាទិ​", "ច័ន្ទ​", "អង្គារ​", "ពុធ​", "ព្រហ​​", "សុក្រ​", "សៅរ៍"],
414                    dayOfWeek: ["អាទិត្យ​", "ច័ន្ទ​", "អង្គារ​", "ពុធ​", "ព្រហស្បតិ៍​", "សុក្រ​", "សៅរ៍"]
415                },
416                kr: {
417                    months: ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"],
418                    dayOfWeekShort: ["일", "월", "화", "수", "목", "금", "토"],
419                    dayOfWeek: ["일요일", "월요일", "화요일", "수요일", "목요일", "금요일", "토요일"]
420                },
421                it: {
422                    months: ["Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"],
423                    dayOfWeekShort: ["Dom", "Lun", "Mar", "Mer", "Gio", "Ven", "Sab"],
424                    dayOfWeek: ["Domenica", "Lunedì", "Martedì", "Mercoledì", "Giovedì", "Venerdì", "Sabato"]
425                },
426                da: {
427                    months: ["Januar", "Februar", "Marts", "April", "Maj", "Juni", "Juli", "August", "September", "Oktober", "November", "December"],
428                    dayOfWeekShort: ["Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør"],
429                    dayOfWeek: ["søndag", "mandag", "tirsdag", "onsdag", "torsdag", "fredag", "lørdag"]
430                },
431                no: {
432                    months: ["Januar", "Februar", "Mars", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Desember"],
433                    dayOfWeekShort: ["Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør"],
434                    dayOfWeek: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag"]
435                },
436                ja: {
437                    months: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"],
438                    dayOfWeekShort: ["日", "月", "火", "水", "木", "金", "土"],
439                    dayOfWeek: ["日曜", "月曜", "火曜", "水曜", "木曜", "金曜", "土曜"]
440                },
441                vi: {
442                    months: ["Tháng 1", "Tháng 2", "Tháng 3", "Tháng 4", "Tháng 5", "Tháng 6", "Tháng 7", "Tháng 8", "Tháng 9", "Tháng 10", "Tháng 11", "Tháng 12"],
443                    dayOfWeekShort: ["CN", "T2", "T3", "T4", "T5", "T6", "T7"],
444                    dayOfWeek: ["Chủ nhật", "Thứ hai", "Thứ ba", "Thứ tư", "Thứ năm", "Thứ sáu", "Thứ bảy"]
445                },
446                sl: {
447                    months: ["Januar", "Februar", "Marec", "April", "Maj", "Junij", "Julij", "Avgust", "September", "Oktober", "November", "December"],
448                    dayOfWeekShort: ["Ned", "Pon", "Tor", "Sre", "Čet", "Pet", "Sob"],
449                    dayOfWeek: ["Nedelja", "Ponedeljek", "Torek", "Sreda", "Četrtek", "Petek", "Sobota"]
450                },
451                cs: {
452                    months: ["Leden", "Únor", "Březen", "Duben", "Květen", "Červen", "Červenec", "Srpen", "Září", "Říjen", "Listopad", "Prosinec"],
453                    dayOfWeekShort: ["Ne", "Po", "Út", "St", "Čt", "Pá", "So"]
454                },
455                hu: {
456                    months: ["Január", "Február", "Március", "Április", "Május", "Június", "Július", "Augusztus", "Szeptember", "Október", "
456November", "December"],
457                    dayOfWeekShort: ["Va", "Hé", "Ke", "Sze", "Cs", "Pé", "Szo"],
458                    dayOfWeek: ["vasárnap", "hétfő", "kedd", "szerda", "csütörtök", "péntek", "szombat"]
459                },
460                az: {
461                    months: ["Yanvar", "Fevral", "Mart", "Aprel", "May", "Iyun", "Iyul", "Avqust", "Sentyabr", "Oktyabr", "Noyabr", "Dekabr"],
462                    dayOfWeekShort: ["B", "Be", "Ça", "Ç", "Ca", "C", "Ş"],
463                    dayOfWeek: ["Bazar", "Bazar ertəsi", "Çərşənbə axşamı", "Çərşənbə", "Cümə axşamı", "Cümə", "Şənbə"]
464                },
465                bs: {
466                    months: ["Januar", "Februar", "Mart", "April", "Maj", "Jun", "Jul", "Avgust", "Septembar", "Oktobar", "Novembar", "Decembar"],
467                    dayOfWeekShort: ["Ned", "Pon", "Uto", "Sri", "Čet", "Pet", "Sub"],
468                    dayOfWeek: ["Nedjelja", "Ponedjeljak", "Utorak", "Srijeda", "Četvrtak", "Petak", "Subota"]
469                },
470                ca: {
471                    months: ["Gener", "Febrer", "Març", "Abril", "Maig", "Juny", "Juliol", "Agost", "Setembre", "Octubre", "Novembre", "Desembre"],
472                    dayOfWeekShort: ["Dg", "Dl", "Dt", "Dc", "Dj", "Dv", "Ds"],
473                    dayOfWeek: ["Diumenge", "Dilluns", "Dimarts", "Dimecres", "Dijous", "Divendres", "Dissabte"]
474                },
475                "en-GB": {
476                    months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "
476November", "December"],
477                    dayOfWeekShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
478                    dayOfWeek: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]
479                },
480                et: {
481                    months: ["Jaanuar", "Veebruar", "Märts", "Aprill", "Mai", "Juuni", "Juuli", "August", "September", "Oktoober", "November", "Detsember"],
482                    dayOfWeekShort: ["P", "E", "T", "K", "N", "R", "L"],
483                    dayOfWeek: ["Pühapäev", "Esmaspäev", "Teisipäev", "Kolmapäev", "Neljapäev", "Reede", "Laupäev"]
484                },
485                eu: {
486                    months: ["Urtarrila", "Otsaila", "Martxoa", "Apirila", "Maiatza", "Ekaina", "Uztaila", "Abuztua", "Iraila", "Urria", "Azaroa", "Abendua"],
487                    dayOfWeekShort: ["Ig.", "Al.", "Ar.", "Az.", "Og.", "Or.", "La."],
488                    dayOfWeek: ["Igandea", "Astelehena", "Asteartea", "Asteazkena", "Osteguna", "Ostirala", "Larunbata"]
489                },
490                fi: {
491                    months: ["Tammikuu", "Helmikuu", "Maaliskuu", "Huhtikuu", "Toukokuu", "Kesäkuu", "Heinäkuu", "Elokuu", "Syyskuu", "Lokakuu", "Marraskuu", "Joulukuu"],
492                    dayOfWeekShort: ["Su", "Ma", "Ti", "Ke", "To", "Pe", "La"],
493                    dayOfWeek: ["sunnuntai", "maanantai", "tiistai", "keskiviikko", "torstai", "perjantai", "lauantai"]
494                },
495                gl: {
496                    months: ["Xan", "Feb", "Maz", "Abr", "Mai", "Xun", "Xul", "Ago", "Set", "Out", "Nov", "Dec"],
497                    dayOfWeekShort: ["Dom", "Lun", "Mar", "Mer", "Xov", "Ven", "Sab"],
498                    dayOfWeek: ["Domingo", "Luns", "Martes", "Mércores", "Xoves", "Venres", "Sábado"]
499                },
500                hr: {
501                    months: ["Siječanj", "Veljača", "Ožujak", "Travanj", "Svibanj", "Lipanj", "Srpanj", "Kolovoz", "Rujan", "Listopad", "Studeni", "Prosinac"],
502                    dayOfWeekShort: ["Ned", "Pon", "Uto", "Sri", "Čet", "Pet", "Sub"],
503                    dayOfWeek: ["Nedjelja", "Ponedjeljak", "Utorak", "Srijeda", "Četvrtak", "Petak", "Subota"]
504                },
505                ko: {
506                    months: ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"],
507                    dayOfWeekShort: ["일", "월", "화", "수", "목", "금", "토"],
508                    dayOfWeek: ["일요일", "월요일", "화요일", "수요일", "목요일", "금요일", "토요일"]
509                },
510                lt: {
511                    months: ["Sausio", "Vasario", "Kovo", "Balandžio", "Gegužės", "Birželio", "Liepos", "Rugpjūčio", "Rugsėjo", "Spalio", "Lapkričio", "Gruodžio"],
512                    dayOfWeekShort: ["Sek", "Pir", "Ant", "Tre", "Ket", "Pen", "Šeš"],
513                    dayOfWeek: ["Sekmadienis", "Pirmadienis", "Antradienis", "Trečiadienis", "Ketvirtadienis", "Penktadienis", "Šeštadienis"]
514                },
515                lv: {
516                    months: ["Janvāris", "Februāris", "Marts", "Aprīlis ", "Maijs", "Jūnijs", "Jūlijs", "Augusts", "Septembris", "Oktobris", "Novembris", "Decembris"],
517                    dayOfWeekShort: ["Sv", "Pr", "Ot", "Tr", "Ct", "Pk", "St"],
518                    dayOfWeek: ["Svētdiena", "Pirmdiena", "Otrdiena", "Trešdiena", "Ceturtdiena", "Piektdiena", "Sestdiena"]
519                },
520                mk: {
521                    months: ["јануари", "февруари", "март", "април", "мај", "јуни", "јули", "август", "септември", "октомври", "ноември", "декември"],
522                    dayOfWeekShort: ["нед", "пон", "вто", "сре", "чет", "пет", "саб"],
523                    dayOfWeek: ["Недела", "Понеделник", "Вторник", "Среда", "Четврток", "Петок", "Сабота"]
524                },
525                mn: {
526                    months: ["1-р сар", "2-р сар", "3-р сар", "4-р сар", "5-р сар", "6-р сар", "7-р сар", "8-р сар", "9-р сар", "10-р сар", "11-р сар", "12-р сар"],
527                    dayOfWeekShort: ["Дав", "Мяг", "Лха", "Пүр", "Бсн", "Бям", "Ням"],
528                    dayOfWeek: ["Даваа", "Мягмар", "Лхагва", "Пүрэв", "Баасан", "Бямба", "Ням"]
529                },
530                "pt-BR": {
531                    months: ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"],
532                    dayOfWeekShort: ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb"],
533                    dayOfWeek: ["Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "SÃ
533¡bado"]
534                },
535                sk: {
536                    months: ["Január", "Február", "Marec", "Apríl", "Máj", "Jún", "Júl", "August", "September", "Október", "November", "December"],
537                    dayOfWeekShort: ["Ne", "Po", "Ut", "St", "Å t", "Pi", "So"],
538                    dayOfWeek: ["Nedeľa", "Pondelok", "Utorok", "Streda", "Štvrtok", "Piatok", "Sobota"]
539                },
540                sq: {
541                    months: ["Janar", "Shkurt", "Mars", "Prill", "Maj", "Qershor", "Korrik", "Gusht", "Shtator", "Tetor", "Nëntor", "Dhjetor"],
542                    dayOfWeekShort: ["Die", "Hën", "Mar", "Mër", "Enj", "Pre", "Shtu"],
543                    dayOfWeek: ["E Diel", "E Hënë", "E Martē", "E Mërkurë", "E Enjte", "E Premte", "E Shtunë"]
544                },
545                "sr-YU": {
546                    months: ["Januar", "Februar", "Mart", "April", "Maj", "Jun", "Jul", "Avgust", "Septembar", "Oktobar", "Novembar", "Decembar"],
547                    dayOfWeekShort: ["Ned", "Pon", "Uto", "Sre", "čet", "Pet", "Sub"],
548                    dayOfWeek: ["Nedelja", "Ponedeljak", "Utorak", "Sreda", "Četvrtak", "Petak", "Subota"]
549                },
550                sr: {
551                    months: ["јануар", "фебруар", "март", "април", "мај", "јун", "јул", "август", "септембар", "октобар", "новембар", "децембар"],
552                    dayOfWeekShort: ["нед", "пон", "уто", "сре", "чет", "пет", "суб"],
553                    dayOfWeek: ["Недеља", "Понедељак", "Уторак", "Среда", "Четвртак", "Петак", "Субота"]
554                },
555                sv: {
556                    months: ["Januari", "Februari", "Mars", "April", "Maj", "Juni", "Juli", "Augusti", "September", "Oktober", "November", "December"],
557                    dayOfWeekShort: ["Sön", "Mån", "Tis", "Ons", "Tor", "Fre", "Lör"],
558                    dayOfWeek: ["Söndag", "Måndag", "Tisdag", "Onsdag", "Torsdag", "Fredag", "Lördag"]
559                },
560                "zh-TW": {
561                    months: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
562                    dayOfWeekShort: ["日", "一", "二", "三", "四", "五", "六"],
563                    dayOfWeek: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"]
564                },
565                zh: {
566                    months: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
567                    dayOfWeekShort: ["日", "一", "二", "三", "四", "五", "六"],
568                    dayOfWeek: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"]
569                },
570                ug: {
571                    months: ["1-ئاي", "2-ئاي", "3-ئاي", "4-ئاي", "5-ئاي", "6-ئاي", "7-ئاي", "8-ئاي", "9-ئاي", "10-ئاي", "11-ئاي", "12-ئاي"],
572                    dayOfWeek: ["يەكشەنبە", "دۈشەنبە", "سەيشەنبە", "چارشەنبە", "پەيشەنبە", "جۈمە", "شەنبە"]
573                },
574                he: {
575                    months: ["ינואר", "פברואר", "מרץ", "אפריל", "מאי", "יוני", "יולי", "אוגוסט", "ספטמבר", "אוקטובר", "נובמבר", "דצמבר"],
576                    dayOfWeekShort: ["א'", "ב'", "ג'", "ד'", "ה'", "ו'", "שבת"],
577                    dayOfWeek: ["ראשון", "שני", "שלישי", "רביעי", "חמישי", "שישי", "שבת", "ראשון"]
578                },
579                hy: {
580                    months: ["Հունվար", "Փետրվար", "Մարտ", "Ապրիլ", "Մայիս", "Հունիս", "Հուլիս", "Օգոստոս", "Սեպտեմբեր", "Հոկտեմբեր", "Նոյեմբեր", "Դեկտեմբեր"],
581                    dayOfWeekShort: ["Կի", "Երկ", "Երք", "Չոր", "Հնգ", "Ուրբ", "Շբթ"],
582                    dayOfWeek: ["Կիրակի", "Երկուշաբթի", "Երեքշաբթի", "Չորեքշաբթի", "Հինգշաբթի", "Ուրբաթ", "Շաբաթ"]
583                },
584                kg: {
vendor: 54,670 bytes, lines 585-1290
585                    months: ["Үчтүн айы", "Бирдин айы", "Жалган Куран", "Чын Куран", "Бугу", "Кулжа", "Теке", "Баш Оона", "Аяк Оона", "Тогуздун айы", "Жетинин айы", "Бештин айы"],
586                    dayOfWeekShort: ["Жек", "Дүй", "Шей", "Шар", "Бей", "Жум", "Ише"],
587                    dayOfWeek: ["Жекшемб", "Дүйшөмб", "Шейшемб", "Шаршемб", "Бейшемби", "Жума", "Ишенб"]
588                },
589                rm: {
590                    months: ["Schaner", "Favrer", "Mars", "Avrigl", "Matg", "Zercladur", "Fanadur", "Avust", "Settember", "October", "November", "December"],
591                    dayOfWeekShort: ["Du", "Gli", "Ma", "Me", "Gie", "Ve", "So"],
592                    dayOfWeek: ["Dumengia", "Glindesdi", "Mardi", "Mesemna", "Gievgia", "Venderdi", "Sonda"]
593                },
594                ka: {
595                    months: ["იანვარი", "თებერვალი", "მარტი", "აპრილი", "მაისი", "ივნისი", "ივლისი", "აგვისტო", "სექტემბერი", "ოქტომბერი", "ნოემბერი", "დეკემბერი"],
596                    dayOfWeekShort: ["კვ", "ორშ", "სამშ", "ოთხ", "ხუთ", "პარ", "შაბ"],
597                    dayOfWeek: ["კვირა", "ორშაბათი", "სამშაბათი", "ოთხშაბათი", "ხუთშაბათი", "პარასკევი", "შაბათი"]
598                }
599            },
600            ownerDocument: document,
601            contentWindow: window,
602            value: "",
603            rtl: !1,
604            format: "Y/m/d H:i",
605            formatTime: "H:i",
606            formatDate: "Y/m/d",
607            startDate: !1,
608            step: 60,
609            monthChangeSpinner: !0,
610            closeOnDateSelect: !1,
611            closeOnTimeSelect: !0,
612            closeOnWithoutClick: !0,
613            closeOnInputClick: !0,
614            openOnFocus: !0,
615            timepicker: !0,
616            datepicker: !0,
617            weeks: !1,
618            defaultTime: !1,
619            defaultDate: !1,
620            minDate: !1,
621            maxDate: !1,
622            minTime: !1,
623            maxTime: !1,
624            minDateTime: !1,
625            maxDateTime: !1,
626            allowTimes: [],
627            opened: !1,
628            initTime: !0,
629            inline: !1,
630            theme: "",
631            touchMovedThreshold: 5,
632            onSelectDate: function () {},
633            onSelectTime: function () {},
634            onChangeMonth: function () {},
635            onGetWeekOfYear: function () {},
636            onChangeYear: function () {},
637            onChangeDateTime: function () {},
638            onShow: function () {},
639            onClose: function () {},
640            onGenerate: function () {},
641            withoutCopyright: !0,
642            inverseButton: !1,
643            hours12: !1,
644            next: "xdsoft_next",
645            prev: "xdsoft_prev",
646            dayOfWeekStart: 0,
647            parentID: "body",
648            timeHeightInTimePicker: 25,
649            timepickerScrollbar: !0,
650            todayButton: !0,
651            prevButton: !0,
652            nextButton: !0,
653            defaultSelect: !0,
654            scrollMonth: !0,
655            scrollTime: !0,
656            scrollInput: !0,
657            lazyInit: !1,
658            mask: !1,
659            validateOnBlur: !0,
660            allowBlank: !0,
661            yearStart: 1950,
662            yearEnd: 2050,
663            monthStart: 0,
664            monthEnd: 11,
665            style: "",
666            id: "",
667            fixed: !1,
668            roundTime: "round",
669            className: "",
670            weekends: [],
671            highlightedDates: [],
672            highlightedPeriods: [],
673            allowDates: [],
674            allowDateRe: null,
675            disabledDates: [],
676            disabledWeekDays: [],
677            yearOffset: 0,
678            beforeShowDay: null,
679            enterLikeTab: !0,
680            showApplyButton: !1,
681            insideParent: !1
682        },
683        E = null,
684        n = null,
685        R = "en",
686        a = {
687            meridiem: ["AM", "PM"]
688        },
689        r = function () {
690            var e = s.i18n[R],
691                t = {
692                    days: e.dayOfWeek,
693                    daysShort: e.dayOfWeekShort,
694                    months: e.months,
695                    monthsShort: L.map(e.months, function (e) {
696                        return e.substring(0, 3)
697                    })
698                };
699            "function" == typeof DateFormatter && (E = n = new DateFormatter({
700                dateSettings: L.extend({}, a, t)
701            }))
702        },
703        o = {
704            moment: {
705                default_options: {
706                    format: "YYYY/MM/DD HH:mm",
707                    formatDate: "YYYY/MM/DD",
708                    formatTime: "HH:mm"
709                },
710                formatter: {
711                    parseDate: function (e, t) {
712                        if (i(t)) return n.parseDate(e, t);
713                        var a = moment(e, t);
714                        return !!a.isValid() && a.toDate()
715                    },
716                    formatDate: function (e, t) {
717                        return i(t) ? n.formatDate(e, t) : moment(e).format(t)
718                    },
719                    formatMask: function (e) {
720                        return e.replace(/Y{4}/g, "9999").replace(/Y{2}/g, "99").replace(/M{2}/g, "19").replace(/D{2}/g, "39").replace(/H{2}/g, "29").replace(/m{2}/g, "59").replace(/s{2}/g, "59")
721                    }
722                }
723            }
724        };
725    L.datetimepicker = {
726        setLocale: function (e) {
727            var t = s.i18n[e] ? e : "en";
728            R !== t && (R = t, r())
729        },
730        setDateFormatter: function (e) {
731            if ("string" == typeof e && o.hasOwnProperty(e)) {
732                var t = o[e];
733                L.extend(s, t.default_options), E = t.formatter
734            } else E = e
735        }
736    };
737    var t = {
738            RFC_2822: "D, d M Y H:i:s O",
739            ATOM: "Y-m-dTH:i:sP",
740            ISO_8601: "Y-m-dTH:i:sO",
741            RFC_822: "D, d M y H:i:s O",
742            RFC_850: "l, d-M-y H:i:s T",
743            RFC_1036: "D, d M y H:i:s O",
744            RFC_1123: "D, d M Y H:i:s O",
745            RSS: "D, d M Y H:i:s O",
746            W3C: "Y-m-dTH:i:sP"
747        },
748        i = function (e) {
749            return -1 !== Object.values(t).indexOf(e)
750        };
751
752    function m(e, t, a) {
753        this.date = e, this.desc = t, this.style = a
754    }
755    L.extend(L.datetimepicker, t), r(), window.getComputedStyle || (window.getComputedStyle = function (a) {
756        return this.el = a, this.getPropertyValue = function (e) {
757            var t = /(-([a-z]))/g;
758            return "float" === e && (e = "styleFloat"), t.test(e) && (e = e.replace(t, function (e, t, a) {
759                return a.toUpperCase()
760            })), a.currentStyle[e] || null
761        }, this
762    }), Array.prototype.indexOf || (Array.prototype.indexOf = function (e, t) {
763        var a, n;
764        for (a = t || 0, n = this.length; a < n; a += 1)
765            if (this[a] === e) return a;
766        return -1
767    }), Date.prototype.countDaysInMonth = function () {
768        return new Date(this.getFullYear(), this.getMonth() + 1, 0).getDate()
769    }, L.fn.xdsoftScroller = function (p, D) {
770        return this.each(function () {
771            var o, i, s, d, u, l = L(this),
772                a = function (e) {
773                    var t, a = {
774                        x: 0,
775                        y: 0
776                    };
777                    return "touchstart" === e.type || "touchmove" === e.type || "touchend" === e.type || "touchcancel" === e.type ? (t = e.originalEvent.touches[0] || e.originalEvent.changedTouches[0], a.x = t.clientX, a.y = t.clientY) : "mousedown" !== e.type && "mouseup" !== e.type && "mousemove" !== e.type && "mouseover" !== e.type && "mouseout" !== e.type && "mouseenter" !== e.type && "mouseleave" !== e.type || (a.x = e.clientX, a.y = e.clientY), a
778                },
779                f = 100,
780                n = !1,
781                r = 0,
782                c = 0,
783                m = 0,
784                t = !1,
785                h = 0,
786                g = function () {};
787            "hide" !== D ? (L(this).hasClass("xdsoft_scroller_box") || (o = l.children().eq(0), i = l[0].clientHeight, s = o[0].offsetHeight, d = L('<div class="xdsoft_scrollbar"></div>'), u = L('<div class="xdsoft_scroller"></div>'), d.append(u), l.addClass("xdsoft_scroller_box").append(d), g = function (e) {
788                var t = a(e).y - r + h;
789                t < 0 && (t = 0), t + u[0].offsetHeight > m && (t = m - u[0].offsetHeight), l.trigger("scroll_element.xdsoft_scroller", [f ? t / f : 0])
790            }, u.on("touchstart.xdsoft_scroller mousedown.xdsoft_scroller", function (e) {
791                i || l.trigger("resize_scroll.xdsoft_scroller", [D]), r = a(e).y, h = parseInt(u.css("margin-top"), 10), m = d[0].offsetHeight, "mousedown" === e.type || "touchstart" === e.type ? (p.ownerDocument && L(p.ownerDocument.body).addClass("xdsoft_noselect"), L([p.ownerDocument.body, p.contentWindow]).on("touchend mouseup.xdsoft_scroller", function e() {
792                    L([p.ownerDocument.body, p.contentWindow]).off("touchend mouseup.xdsoft_scroller", e).off("mousemove.xdsoft_scroller", g).removeClass("xdsoft_noselect")
793                }), L(p.ownerDocument.body).on("mousemove.xdsoft_scroller", g)) : (t = !0, e.stopPropagation(), e.preventDefault())
794            }).on("touchmove", function (e) {
795                t && (e.preventDefault(), g(e))
796            }).on("touchend touchcancel", function () {
797                t = !1, h = 0
798            }), l.on("scroll_element.xdsoft_scroller", function (e, t) {
799                i || l.trigger("resize_scroll.xdsoft_scroller", [t, !0]), t = 1 < t ? 1 : t < 0 || isNaN(t) ? 0 : t, u.css("margin-top", f * t), setTimeout(function () {
800                    o.css("marginTop", -parseInt((o[0].offsetHeight - i) * t, 10))
801                }, 10)
802            }).on("resize_scroll.xdsoft_scroller", function (e, t, a) {
803                var n, r;
804                i = l[0].clientHeight, s = o[0].offsetHeight, r = (n = i / s) * d[0].offsetHeight, 1 < n ? u.hide() : (u.show(), u.css("height", parseInt(10 < r ? r : 10, 10)), f = d[0].offsetHeight - u[0].offsetHeight, !0 !== a && l.trigger("scroll_element.xdsoft_scroller", [t || Math.abs(parseInt(o.css("marginTop"), 10)) / (s - i)]))
805            }), l.on("mousewheel", function (e) {
806                var t = Math.abs(parseInt(o.css("marginTop"), 10));
807                return (t -= 20 * e.deltaY) < 0 && (t = 0), l.trigger("scroll_element.xdsoft_scroller", [t / (s - i)]), e.stopPropagation(), !1
808            }), l.on("touchstart", function (e) {
809                n = a(e), c = Math.abs(parseInt(o.css("marginTop"), 10))
810            }), l.on("touchmove", function (e) {
811                if (n) {
812                    e.preventDefault();
813                    var t = a(e);
814                    l.trigger("scroll_element.xdsoft_scroller", [(c - (t.y - n.y)) / (s - i)])
815                }
816            }), l.on("touchend touchcancel", function () {
817                n = !1, c = 0
818            })), l.trigger("resize_scroll.xdsoft_scroller", [D])) : l.find(".xdsoft_scrollbar").hide()
819        })
820    }, L.fn.datetimepicker = function (H, a) {
821        var n, r, o = this,
822            p = 17,
823            D = 13,
824            y = 27,
825            v = 37,
826            b = 38,
827            k = 39,
828            x = 40,
829            T = 9,
830            S = 116,
831            M = 65,
832            w = 67,
833            j = 86,
834            J = 90,
835            z = 89,
836            I = !1,
837            N = L.isPlainObject(H) || !H ? L.extend(!0, {}, s, H) : L.extend(!0, {}, s),
838            i = 0;
839        return n = function (O) {
840            var t, n, a, r, W, h, _ = L('<div class="xdsoft_datetimepicker xdsoft_noselect"></div>'),
841                e = L('<div class="xdsoft_copyright"><a target="_blank" href="http://xdsoft.net/jqplugins/datetimepicker/">xdsoft.net</a></div>'),
842                g = L('<div class="xdsoft_datepicker active"></div>'),
843                F = L('<div class="xdsoft_monthpicker"><button type="button" class="xdsoft_prev"></button><button type="button" class="xdsoft_today_button"></button><div class="xdsoft_label xdsoft_month"><span></span><i></i></div><div class="xdsoft_label xdsoft_year"><span></span><i></i></div><button type="button" class="xdsoft_next"></button></div>'),
844                C = L('<div class="xdsoft_calendar"></div>'),
845                o = L('<div class="xdsoft_timepicker active"><button type="button" class="xdsoft_prev"></button><div class="xdsoft_time_box"></div><button type="button" class="xdsoft_next"></button></div>'),
846                u = o.find(".xdsoft_time_box").eq(0),
847                P = L('<div class="xdsoft_time_variant"></div>'),
848                i = L('<button type="button" class="xdsoft_save_selected blue-gradient-button">Save Selected</button>'),
849                Y = L('<div class="xdsoft_select xdsoft_monthselect"><div></div></div>'),
850                A = L('<div class="xdsoft_select xdsoft_yearselect"><div></div></div>'),
851                s = !1,
852                d = 0;
853            N.id && _.attr("id", N.id), N.style && _.attr("style", N.style), N.weeks && _.addClass("xdsoft_showweeks"), N.rtl && _.addClass("xdsoft_rtl"), _.addClass("xdsoft_" + N.theme), _.addClass(N.className), F.find(".xdsoft_month span").after(Y), F.find(".xdsoft_year span").after(A), F.find(".xdsoft_month,.xdsoft_year").on("touchstart mousedown.xdsoft", function (e) {
854                var t, a, n = L(this).find(".xdsoft_select").eq(0),
855                    r = 0,
856                    o = 0,
857                    i = n.is(":visible");
858                for (F.find(".xdsoft_select").hide(), W.currentTime && (r = W.currentTime[L(this).hasClass("xdsoft_month") ? "getMonth" : "getFullYear"]()), n[i ? "hide" : "show"](), t = n.find("div.xdsoft_option"), a = 0; a < t.length && t.eq(a).data("value") !== r; a += 1) o += t[0].offsetHeight;
859                return n.xdsoftScroller(N, o / (n.children()[0].offsetHeight - n[0].clientHeight)), e.stopPropagation(), !1
860            });
861            var l = function (e) {
862                var t = e.originalEvent,
863                    a = t.touches ? t.touches[0] : t;
864                this.touchStartPosition = this.touchStartPosition || a;
865                var n = Math.abs(this.touchStartPosition.clientX - a.clientX),
866                    r = Math.abs(this.touchStartPosition.clientY - a.clientY);
867                Math.sqrt(n * n + r * r) > N.touchMovedThreshold && (this.touchMoved = !0)
868            };
869
870            function f() {
871                var e, t = !1;
872                return N.startDate ? t = W.strToDate(N.startDate) : (t = N.value || (O && O.val && O.val() ? O.val() : "")) ? (t = W.strToDateTime(t), N.yearOffset && (t = new Date(t.getFullYear() - N.yearOffset, t.getMonth(), t.getDate(), t.getHours(), t.getMinutes(), t.getSeconds(), t.getMilliseconds()))) : N.defaultDate && (t = W.strToDateTime(N.defaultDate), N.defaultTime && (e = W.strtotime(N.defaultTime), t.setHours(e.getHours()), t.setMinutes(e.getMinutes()))), t && W.isValidDate(t) ? _.data("changed", !0) : t = "", t || 0
873            }
874
875            function c(m) {
876                var h = function (e, t) {
877                        var a = e.replace(/([\[\]\/\{\}\(\)\-\.\+]{1})/g, "\\$1").replace(/_/g, "{digit+}").replace(/([0-9]{1})/g, "{digit$1}").replace(/\{digit([0-9]{1})\}/g, "[0-$1_]{1}").replace(/\{digit[\+]\}/g, "[0-9_]{1}");
878                        return new RegExp(a).test(t)
879                    },
880                    g = function (e, t) {
881                        if (!(e = "string" == typeof e || e instanceof String ? m.ownerDocument.getElementById(e) : e)) return !1;
882                        if (e.createTextRange) {
883                            var a = e.createTextRange();
884                            return a.collapse(!0), a.moveEnd("character", t), a.moveStart("character", t), a.select(), !0
885                        }
886                        return !!e.setSelectionRange && (e.setSelectionRange(t, t), !0)
887                    };
888                m.mask && O.off("keydown.xdsoft"), !0 === m.mask && (E.formatMask ? m.mask = E.formatMask(m.format) : m.mask = m.format.replace(/Y/g, "9999").replace(/F/g, "9999").replace(/m/g, "19").replace(/d/g, "39").replace(/H/g, "29").replace(/i/g, "59").replace(/s/g, "59")), "string" === L.type(m.mask) && (h(m.mask, O.val()) || (O.val(m.mask.replace(/[0-9]/g, "_")), g(O[0], 0)), O.on("paste.xdsoft", function (e) {
889                    var t = (e.clipboardData || e.originalEvent.clipboardData || window.clipboardData).getData("text"),
890                        a = this.value,
891                        n = this.selectionStart;
892                    return a = a.substr(0, n) + t + a.substr(n + t.length), n += t.length, h(m.mask, a) ? (this.value = a, g(this, n)) : "" === L.trim(a) ? this.value = m.mask.replace(/[0-9]/g, "_") : O.trigger("error_input.xdsoft"), e.preventDefault(), !1
893                }), O.on("keydown.xdsoft", function (e) {
894                    var t, a = this.value,
895                        n = e.which,
896                        r = this.selectionStart,
897                        o = this.selectionEnd,
898                        i = r !== o;
899                    if (48 <= n && n <= 57 || 96 <= n && n <= 105 || 8 === n || 46 === n) {
900                        for (t = 8 === n || 46 === n ? "_" : String.fromCharCode(96 <= n && n <= 105 ? n - 48 : n), 8 === n && r && !i && (r -= 1);;) {
901                            var s = m.mask.substr(r, 1),
902                                d = r < m.mask.length,
903                                u = 0 < r;
904                            if (!(/[^0-9_]/.test(s) && d && u)) break;
905                            r += 8 !== n || i ? 1 : -1
906                        }
907                        if (e.metaKey && (i = !(r = 0)), i) {
908                            var l = o - r,
909                                f = m.mask.replace(/[0-9]/g, "_"),
910                                c = f.substr(r, l).substr(1);
911                            a = a.substr(0, r) + (t + c) + a.substr(r + l)
912                        } else {
913                            a = a.substr(0, r) + t + a.substr(r + 1)
914                        }
915                        if ("" === L.trim(a)) a = f;
916                        else if (r === m.mask.length) return e.preventDefault(), !1;
917                        for (r += 8 === n ? 0 : 1;
918                            /[^0-9_]/.test(m.mask.substr(r, 1)) && r < m.mask.length && 0 < r;) r += 8 === n ? 0 : 1;
919                        h(m.mask, a) ? (this.value = a, g(this, r)) : "" === L.trim(a) ? this.value = m.mask.replace(/[0-9]/g, "_") : O.trigger("error_input.xdsoft")
920                    } else if (-1 !== [M, w, j, J, z].indexOf(n) && I || -1 !== [y, b, x, v, k, S, p, T, D].indexOf(n)) return !0;
921                    return e.preventDefault(), !1
922                }))
923            }
924            F.find(".xdsoft_select").xdsoftScroller(N).on("touchstart mousedown.xdsoft", function (e) {
925                var t = e.originalEvent;
926                this.touchMoved = !1, this.touchStartPosition = t.touches ? t.touches[0] : t, e.stopPropagation(), e.preventDefault()
927            }).on("touchmove", ".xdsoft_option", l).on("touchend mousedown.xdsoft", ".xdsoft_option", function () {
928                if (!this.touchMoved) {
929                    void 0 !== W.currentTime && null !== W.currentTime || (W.currentTime = W.now());
930                    var e = W.currentTime.getFullYear();
931                    W && W.currentTime && W.currentTime[L(this).parent().parent().hasClass("xdsoft_monthselect") ? "setMonth" : "setFullYear"](L(this).data("value")), L(this).parent().parent().hide(), _.trigger("xchange.xdsoft"), N.onChangeMonth && L.isFunction(N.onChangeMonth) && N.onChangeMonth.call(_, W.currentTime, _.data("input")), e !== W.currentTime.getFullYear() && L.isFunction(N.onChangeYear) && N.onChangeYear.call(_, W.currentTime, _.data("input"))
932                }
933            }), _.getValue = function () {
934                return W.getCurrentTime()
935            }, _.setOptions = function (e) {
936                var l = {};
937                N = L.extend(!0, {}, N, e), e.allowTimes && L.isArray(e.allowTimes) && e.allowTimes.length && (N.allowTimes = L.extend(!0, [], e.allowTimes)), e.weekends && L.isArray(e.weekends) && e.weekends.length && (N.weekends = L.extend(!0, [], e.weekends)), e.allowDates && L.isArray(e.allowDates) && e.allowDates.length && (N.allowDates = L.extend(!0, [], e.allowDates)), e.allowDateRe && "[object String]" === Object.prototype.toString.call(e.allowDateRe) && (N.allowDateRe = new RegExp(e.allowDateRe)), e.highlightedDates && L.isArray(e.highlightedDates) && e.highlightedDates.length && (L.each(e.highlightedDates, function (e, t) {
938                    var a, n = L.map(t.split(","), L.trim),
939                        r = new m(E.parseDate(n[0], N.formatDate), n[1], n[2]),
940                        o = E.formatDate(r.date, N.formatDate);
941                    void 0 !== l[o] ? (a = l[o].desc) && a.length && r.desc && r.desc.length && (l[o].desc = a + "\n" + r.desc) : l[o] = r
942                }), N.highlightedDates = L.extend(!0, [], l)), e.highlightedPeriods && L.isArray(e.highlightedPeriods) && e.highlightedPeriods.length && (l = L.extend(!0, [], N.highlightedDates), L.each(e.highlightedPeriods, function (e, t) {
943                    var a, n, r, o, i, s, d;
944                    if (L.isArray(t)) a = t[0], n = t[1], r = t[2], d = t[3];
945                    else {
946                        var u = L.map(t.split(","), L.trim);
947                        a = E.parseDate(u[0], N.formatDate), n = E.parseDate(u[1], N.formatDate), r = u[2], d = u[3]
948                    }
949                    for (; a <= n;) o = new m(a, r, d), i = E.formatDate(a, N.formatDate), a.setDate(a.getDate() + 1), void 0 !== l[i] ? (s = l[i].desc) && s.length && o.desc && o.desc.length && (l[i].desc = s + "\n" + o.desc) : l[i] = o
950                }), N.highlightedDates = L.extend(!0, [], l)), e.disabledDates && L.isArray(e.disabledDates) && e.disabledDates.length && (N.disabledDates = L.extend(!0, [], e.disabledDates)), e.disabledWeekDays && L.isArray(e.disabledWeekDays) && e.disabledWeekDays.length && (N.disabledWeekDays = L.extend(!0, [], e.disabledWeekDays)), !N.open && !N.opened || N.inline || O.trigger("open.xdsoft"), N.inline && (s = !0, _.addClass("xdsoft_inline"), O.after(_).hide()), N.inverseButton && (N.next = "xdsoft_prev", N.prev = "xdsoft_next"), N.datepicker ? g.addClass("active") : g.removeClass("active"), N.timepicker ? o.addClass("active") : o.removeClass("active"), N.value && (W.setCurrentTime(N.value), O && O.val && O.val(W.str)), isNaN(N.dayOfWeekStart) ? N.dayOfWeekStart = 0 : N.dayOfWeekStart = parseInt(N.dayOfWeekStart, 10) % 7, N.timepickerScrollbar || u.xdsoftScroller(N, "hide"), N.minDate && /^[\+\-](.*)$/.test(N.minDate) && (N.minDate = E.formatDate(W.strToDateTime(N.minDate), N.formatDate)), N.maxDate && /^[\+\-](.*)$/.test(N.maxDate) && (N.maxDate = E.formatDate(W.strToDateTime(N.maxDate), N.formatDate)), N.minDateTime && /^\+(.*)$/.test(N.minDateTime) && (N.minDateTime = W.strToDateTime(N.minDateTime).dateFormat(N.formatDate)), N.maxDateTime && /^\+(.*)$/.test(N.maxDateTime) && (N.maxDateTime = W.strToDateTime(N.maxDateTime).dateFormat(N.formatDate)), i.toggle(N.showApplyButton), F.find(".xdsoft_today_button").css("visibility", N.todayButton ? "visible" : "hidden"), F.find("." + N.prev).css("visibility", N.prevButton ? "visible" : "hidden"), F.find("." + N.next).css("visibility", N.nextButton ? "visible" : "hidden"), c(N), N.validateOnBlur && O.off("blur.xdsoft").on("blur.xdsoft", function () {
951                    if (N.allowBlank && (!L.trim(L(this).val()).length || "string" == typeof N.mask && L.trim(L(this).val()) === N.mask.replace(/[0-9]/g, "_"))) L(this).val(null), _.data("xdsoft_datetime").empty();
952                    else {
953                        var e = E.parseDate(L(this).val(), N.format);
954                        if (e) L(this).val(E.formatDate(e, N.format));
955                        else {
956                            var t = +[L(this).val()[0], L(this).val()[1]].join(""),
957                                a = +[L(this).val()[2], L(this).val()[3]].join("");
958                            !N.datepicker && N.timepicker && 0 <= t && t < 24 && 0 <= a && a < 60 ? L(this).val([t, a].map(function (e) {
959                                return 9 < e ? e : "0" + e
960                            }).join(":")) : L(this).val(E.formatDate(W.now(), N.format))
961                        }
962                        _.data("xdsoft_datetime").setCurrentTime(L(this).val())
963                    }
964                    _.trigger("changedatetime.xdsoft"), _.trigger("close.xdsoft")
965                }), N.dayOfWeekStartPrev = 0 === N.dayOfWeekStart ? 6 : N.dayOfWeekStart - 1, _.trigger("xchange.xdsoft").trigger("afterOpen.xdsoft")
966            }, _.data("options", N).on("touchstart mousedown.xdsoft", function (e) {
967                return e.stopPropagation(), e.preventDefault(), A.hide(), Y.hide(), !1
968            }), u.append(P), u.xdsoftScroller(N), _.on("afterOpen.xdsoft", function () {
969                u.xdsoftScroller(N)
970            }), _.append(g).append(o), !0 !== N.withoutCopyright && _.append(e), g.append(F).append(C).append(i), N.insideParent ? L(O).parent().append(_) : L(N.parentID).append(_), W = new function () {
971                var r = this;
972                r.now = function (e) {
973                    var t, a, n = new Date;
974                    return !e && N.defaultDate && (t = r.strToDateTime(N.defaultDate), n.setFullYear(t.getFullYear()), n.setMonth(t.getMonth()), n.setDate(t.getDate())), n.setFullYear(n.getFullYear()), !e && N.defaultTime && (a = r.strtotime(N.defaultTime), n.setHours(a.getHours()), n.setMinutes(a.getMinutes()), n.setSeconds(a.getSeconds()), n.setMilliseconds(a.getMilliseconds())), n
975                }, r.isValidDate = function (e) {
976                    return "[object Date]" === Object.prototype.toString.call(e) && !isNaN(e.getTime())
977                }, r.setCurrentTime = function (e, t) {
978                    "string" == typeof e ? r.currentTime = r.strToDateTime(e) : r.isValidDate(e) ? r.currentTime = e : e || t || !N.allowBlank || N.inline ? r.currentTime = r.now() : r.currentTime = null, _.trigger("xchange.xdsoft")
979                }, r.empty = function () {
980                    r.currentTime = null
981                }, r.getCurrentTime = function () {
982                    return r.currentTime
983                }, r.nextMonth = function () {
984                    void 0 !== r.currentTime && null !== r.currentTime || (r.currentTime = r.now());
985                    var e, t = r.currentTime.getMonth() + 1;
986                    return 12 === t && (r.currentTime.setFullYear(r.currentTime.getFullYear() + 1), t = 0), e = r.currentTime.getFullYear(), r.currentTime.setDate(Math.min(new Date(r.currentTime.getFullYear(), t + 1, 0).getDate(), r.currentTime.getDate())), r.currentTime.setMonth(t), N.onChangeMonth && L.isFunction(N.onChangeMonth) && N.onChangeMonth.call(_, W.currentTime, _.data("input")), e !== r.currentTime.getFullYear() && L.isFunction(N.onChangeYear) && N.onChangeYear.call(_, W.currentTime, _.data("input")), _.trigger("xchange.xdsoft"), t
987                }, r.prevMonth = function () {
988                    void 0 !== r.currentTime && null !== r.currentTime || (r.currentTime = r.now());
989                    var e = r.currentTime.getMonth() - 1;
990                    return -1 === e && (r.currentTime.setFullYear(r.currentTime.getFullYear() - 1), e = 11), r.currentTime.setDate(Math.min(new Date(r.currentTime.getFullYear(), e + 1, 0).getDate(), r.currentTime.getDate())), r.currentTime.setMonth(e), N.onChangeMonth && L.isFunction(N.onChangeMonth) && N.onChangeMonth.call(_, W.currentTime, _.data("input")), _.trigger("xchange.xdsoft"), e
991                }, r.getWeekOfYear = function (e) {
992                    if (N.onGetWeekOfYear && L.isFunction(N.onGetWeekOfYear)) {
993                        var t = N.onGetWeekOfYear.call(_, e);
994                        if (void 0 !== t) return t
995                    }
996                    var a = new Date(e.getFullYear(), 0, 1);
997                    return 4 !== a.getDay() && a.setMonth(0, 1 + (4 - a.getDay() + 7) % 7), Math.ceil(((e - a) / 864e5 + a.getDay() + 1) / 7)
998                }, r.strToDateTime = function (e) {
999                    var t, a, n = [];
1000                    return e && e instanceof Date && r.isValidDate(e) ? e : ((n = /^([+-]{1})(.*)$/.exec(e)) && (n[2] = E.parseDate(n[2], N.formatDate)), a = n && n[2] ? (t = n[2].getTime() - 6e4 * n[2].getTimezoneOffset(), new Date(r.now(!0).getTime() + parseInt(n[1] + "1", 10) * t)) : e ? E.parseDate(e, N.format) : r.now(), r.isValidDate(a) || (a = r.now()), a)
1001                }, r.strToDate = function (e) {
1002                    if (e && e instanceof Date && r.isValidDate(e)) return e;
1003                    var t = e ? E.parseDate(e, N.formatDate) : r.now(!0);
1004                    return r.isValidDate(t) || (t = r.now(!0)), t
1005                }, r.strtotime = function (e) {
1006                    if (e && e instanceof Date && r.isValidDate(e)) return e;
1007                    var t = e ? E.parseDate(e, N.formatTime) : r.now(!0);
1008                    return r.isValidDate(t) || (t = r.now(!0)), t
1009                }, r.str = function () {
1010                    var e = N.format;
1011                    return N.yearOffset && (e = (e = e.replace("Y", r.currentTime.getFullYear() + N.yearOffset)).replace("y", String(r.currentTime.getFullYear() + N.yearOffset).substring(2, 4))), E.formatDate(r.currentTime, e)
1012                }, r.currentTime = this.now()
1013            }, i.on("touchend click", function (e) {
1014                e.preventDefault(), _.data("changed", !0), W.setCurrentTime(f()), O.val(W.str()), _.trigger("close.xdsoft")
1015            }), F.find(".xdsoft_today_button").on("touchend mousedown.xdsoft", function () {
1016                _.data("changed", !0), W.setCurrentTime(0, !0), _.trigger("afterOpen.xdsoft")
1017            }).on("dblclick.xdsoft", function () {
1018                var e, t, a = W.getCurrentTime();
1019                a = new Date(a.getFullYear(), a.getMonth(), a.getDate()), e = W.strToDate(N.minDate), a < (e = new Date(e.getFullYear(), e.getMonth(), e.getDate())) || (t = W.strToDate(N.maxDate), (t = new Date(t.getFullYear(), t.getMonth(), t.getDate())) < a || (O.val(W.str()), O.trigger("change"), _.trigger("close.xdsoft")))
1020            }), F.find(".xdsoft_prev,.xdsoft_next").on("touchend mousedown.xdsoft", function () {
1021                var a = L(this),
1022                    n = 0,
1023                    r = !1;
1024                ! function e(t) {
1025                    a.hasClass(N.next) ? W.nextMonth() : a.hasClass(N.prev) && W.prevMonth(), N.monthChangeSpinner && (r || (n = setTimeout(e, t || 100)))
1026                }(500), L([N.ownerDocument.body, N.contentWindow]).on("touchend mouseup.xdsoft", function e() {
1027                    clearTimeout(n), r = !0, L([N.ownerDocument.body, N.contentWindow]).off("touchend mouseup.xdsoft", e)
1028                })
1029            }), o.find(".xdsoft_prev,.xdsoft_next").on("touchend mousedown.xdsoft", function () {
1030                var o = L(this),
1031                    i = 0,
1032                    s = !1,
1033                    d = 110;
1034                ! function e(t) {
1035                    var a = u[0].clientHeight,
1036                        n = P[0].offsetHeight,
1037                        r = Math.abs(parseInt(P.css("marginTop"), 10));
1038                    o.hasClass(N.next) && n - a - N.timeHeightInTimePicker >= r ? P.css("marginTop", "-" + (r + N.timeHeightInTimePicker) + "px") : o.hasClass(N.prev) && 0 <= r - N.timeHeightInTimePicker && P.css("marginTop", "-" + (r - N.timeHeightInTimePicker) + "px"), u.trigger("scroll_element.xdsoft_scroller", [Math.abs(parseInt(P[0].style.marginTop, 10) / (n - a))]), d = 10 < d ? 10 : d - 10, s || (i = setTimeout(e, t || d))
1039                }(500), L([N.ownerDocument.body, N.contentWindow]).on("touchend mouseup.xdsoft", function e() {
1040                    clearTimeout(i), s = !0, L([N.ownerDocument.body, N.contentWindow]).off("touchend mouseup.xdsoft", e)
1041                })
1042            }), t = 0, _.on("xchange.xdsoft", function (e) {
1043                clearTimeout(t), t = setTimeout(function () {
1044                    void 0 !== W.currentTime && null !== W.currentTime || (W.currentTime = W.now());
1045                    for (var e, t, a, n, r, o, i, s, d, u, l = "", f = new Date(W.currentTime.getFullYear(), W.currentTime.getMonth(), 1, 12, 0, 0), c = 0, m = W.now(), h = !1, g = !1, p = !1, D = !1, y = [], v = !0, b = ""; f.getDay() !== N.dayOfWeekStart;) f.setDate(f.getDate() - 1);
1046                    for (l += "<table><thead><tr>", N.weeks && (l += "<th></th>"), e = 0; e < 7; e += 1) l += "<th>" + N.i18n[R].dayOfWeekShort[(e + N.dayOfWeekStart) % 7] + "</th>";
1047                    for (l += "</tr></thead>", l += "<tbody>", !1 !== N.maxDate && (h = W.strToDate(N.maxDate), h = new Date(h.getFullYear(), h.getMonth(), h.getDate(), 23, 59, 59, 999)), !1 !== N.minDate && (g = W.strToDate(N.minDate), g = new Date(g.getFullYear(), g.getMonth(), g.getDate())), !1 !== N.minDateTime && (p = W.strToDate(N.minDateTime), p = new Date(p.getFullYear(), p.getMonth(), p.getDate(), p.getHours(), p.getMinutes(), p.getSeconds())), !1 !== N.maxDateTime && (D = W.strToDate(N.maxDateTime), D = new Date(D.getFullYear(), D.getMonth(), D.getDate(), D.getHours(), D.getMinutes(), D.getSeconds())), !1 !== D && (u = 31 * (12 * D.getFullYear() + D.getMonth()) + D.getDate()); c < W.currentTime.countDaysInMonth() || f.getDay() !== N.dayOfWeekStart || W.currentTime.getMonth() === f.getMonth();) {
1048                        y = [], c += 1, a = f.getDay(), n = f.getDate(), r = f.getFullYear(), M = f.getMonth(), o = W.getWeekOfYear(f), d = "", y.push("xdsoft_date"), i = N.beforeShowDay && L.isFunction(N.beforeShowDay.call) ? N.beforeShowDay.call(_, f) : null, N.allowDateRe && "[object RegExp]" === Object.prototype.toString.call(N.allowDateRe) && (N.allowDateRe.test(E.formatDate(f, N.formatDate)) || y.push("xdsoft_disabled")), N.allowDates && 0 < N.allowDates.length && -1 === N.allowDates.indexOf(E.formatDate(f, N.formatDate)) && y.push("xdsoft_disabled");
1049                        var k = 31 * (12 * f.getFullYear() + f.getMonth()) + f.getDate();
1050                        (!1 !== h && h < f || !1 !== p && f < p || !1 !== g && f < g || !1 !== D && u < k || i && !1 === i[0]) && y.push("xdsoft_disabled"), -1 !== N.disabledDates.indexOf(E.formatDate(f, N.formatDate)) && y.push("xdsoft_disabled"), -1 !== N.disabledWeekDays.indexOf(a) && y.push("xdsoft_disabled"), O.is("[disabled]") && y.push("xdsoft_disabled"), i && "" !== i[1] && y.push(i[1]), W.currentTime.getMonth() !== M && y.push("xdsoft_other_month"), (N.defaultSelect || _.data("changed")) && E.formatDate(W.currentTime, N.formatDate) === E.formatDate(f, N.formatDate) && y.push("xdsoft_current"), E.formatDate(m, N.formatDate) === E.formatDate(f, N.formatDate) && y.push("xdsoft_today"), 0 !== f.getDay() && 6 !== f.getDay() && -1 === N.weekends.indexOf(E.formatDate(f, N.formatDate)) || y.push("xdsoft_weekend"), void 0 !== N.highlightedDates[E.formatDate(f, N.formatDate)] && (t = N.highlightedDates[E.formatDate(f, N.formatDate)], y.push(void 0 === t.style ? "xdsoft_highlighted_default" : t.style), d = void 0 === t.desc ? "" : t.desc), N.beforeShowDay && L.isFunction(N.beforeShowDay) && y.push(N.beforeShowDay(f)), v && (l += "<tr>", v = !1, N.weeks && (l += "<th>" + o + "</th>")), l += '<td data-date="' + n + '" data-month="' + M + '" data-year="' + r + '" class="xdsoft_date xdsoft_day_of_week' + f.getDay() + " " + y.join(" ") + '" title="' + d + '"><div>' + n + "</div></td>", f.getDay() === N.dayOfWeekStartPrev && (l += "</tr>", v = !0), f.setDate(n + 1)
1051                    }
1052                    l += "</tbody></table>", C.html(l), F.find(".xdsoft_label span").eq(0).text(N.i18n[R].months[W.currentTime.getMonth()]), F.find(".xdsoft_label span").eq(1).text(W.currentTime.getFullYear() + N.yearOffset), M = b = "";
1053                    var x = 0;
1054                    if (!1 !== N.minTime) {
1055                        var T = W.strtotime(N.minTime);
1056                        x = 60 * T.getHours() + T.getMinutes()
1057                    }
1058                    var S = 1440;
1059                    if (!1 !== N.maxTime) {
1060                        T = W.strtotime(N.maxTime);
1061                        S = 60 * T.getHours() + T.getMinutes()
1062                    }
1063                    if (!1 !== N.minDateTime) {
1064                        T = W.strToDateTime(N.minDateTime);
1065                        if (E.formatDate(W.currentTime, N.formatDate) === E.formatDate(T, N.formatDate)) {
1066                            var M = 60 * T.getHours() + T.getMinutes();
1067                            x < M && (x = M)
1068                        }
1069                    }
1070                    if (!1 !== N.maxDateTime) {
1071                        T = W.strToDateTime(N.maxDateTime);
1072                        if (E.formatDate(W.currentTime, N.formatDate) === E.formatDate(T, N.formatDate))(M = 60 * T.getHours() + T.getMinutes()) < S && (S = M)
1073                    }
1074                    if (s = function (e, t) {
1075                            var a, n = W.now(),
1076                                r = N.allowTimes && L.isArray(N.allowTimes) && N.allowTimes.length;
1077                            n.setHours(e), e = parseInt(n.getHours(), 10), n.setMinutes(t), t = parseInt(n.getMinutes(), 10), y = [];
1078                            var o = 60 * e + t;
1079                            (O.is("[disabled]") || S <= o || o < x) && y.push("xdsoft_disabled"), (a = new Date(W.currentTime)).setHours(parseInt(W.currentTime.getHours(), 10)), r || a.setMinutes(Math[N.roundTime](W.currentTime.getMinutes() / N.step) * N.step), (N.initTime || N.defaultSelect || _.data("changed")) && a.getHours() === parseInt(e, 10) && (!r && 59 < N.step || a.getMinutes() === parseInt(t, 10)) && (N.defaultSelect || _.data("changed") ? y.push("xdsoft_current") : N.initTime && y.push("xdsoft_init_time")), parseInt(m.getHours(), 10) === parseInt(e, 10) && parseInt(m.getMinutes(), 10) === parseInt(t, 10) && y.push("xdsoft_today"), b += '<div class="xdsoft_time ' + y.join(" ") + '" data-hour="' + e + '" data-minute="' + t + '">' + E.formatDate(n, N.formatTime) + "</div>"
1080                        }, N.allowTimes && L.isArray(N.allowTimes) && N.allowTimes.length)
1081                        for (c = 0; c < N.allowTimes.length; c += 1) s(W.strtotime(N.allowTimes[c]).getHours(), M = W.strtotime(N.allowTimes[c]).getMinutes());
1082                    else
1083                        for (e = c = 0; c < (N.hours12 ? 12 : 24); c += 1)
1084                            for (e = 0; e < 60; e += N.step) {
1085                                var w = 60 * c + e;
1086                                w < x || (S <= w || s((c < 10 ? "0" : "") + c, M = (e < 10 ? "0" : "") + e))
1087                            }
1088                    for (P.html(b), H = "", c = parseInt(N.yearStart, 10); c <= parseInt(N.yearEnd, 10); c += 1) H += '<div class="xdsoft_option ' + (W.currentTime.getFullYear() === c ? "xdsoft_current" : "") + '" data-value="' + c + '">' + (c + N.yearOffset) + "</div>";
1089                    for (A.children().eq(0).html(H), c = parseInt(N.monthStart, 10), H = ""; c <= parseInt(N.monthEnd, 10); c += 1) H += '<div class="xdsoft_option ' + (W.currentTime.getMonth() === c ? "xdsoft_current" : "") + '" data-value="' + c + '">' + N.i18n[R].months[c] + "</div>";
1090                    Y.children().eq(0).html(H), L(_).trigger("generate.xdsoft")
1091                }, 10), e.stopPropagation()
1092            }).on("afterOpen.xdsoft", function () {
1093                var e, t, a, n;
1094                N.timepicker && (P.find(".xdsoft_current").length ? e = ".xdsoft_current" : P.find(".xdsoft_init_time").length && (e = ".xdsoft_init_time"), e ? (t = u[0].clientHeight, (a = P[0].offsetHeight) - t < (n = P.find(e).index() * N.timeHeightInTimePicker + 1) && (n = a - t), u.trigger("scroll_element.xdsoft_scroller", [parseInt(n, 10) / (a - t)])) : u.trigger("scroll_element.xdsoft_scroller", [0]))
1095            }), n = 0, C.on("touchend click.xdsoft", "td", function (e) {
1096                e.stopPropagation(), n += 1;
1097                var t = L(this),
1098                    a = W.currentTime;
1099                if (null == a && (W.currentTime = W.now(), a = W.currentTime), t.hasClass("xdsoft_disabled")) return !1;
1100                a.setDate(1), a.setFullYear(t.data("year")), a.setMonth(t.data("month")), a.setDate(t.data("date")), _.trigger("select.xdsoft", [a]), O.val(W.str()), N.onSelectDate && L.isFunction(N.onSelectDate) && N.onSelectDate.call(_, W.currentTime, _.data("input"), e), _.data("changed", !0), _.trigger("xchange.xdsoft"), _.trigger("changedatetime.xdsoft"), (1 < n || !0 === N.closeOnDateSelect || !1 === N.closeOnDateSelect && !N.timepicker) && !N.inline && _.trigger("close.xdsoft"), setTimeout(function () {
1101                    n = 0
1102                }, 200)
1103            }), P.on("touchstart", "div", function (e) {
1104                this.touchMoved = !1
1105            }).on("touchmove", "div", l).on("touchend click.xdsoft", "div", function (e) {
1106                if (!this.touchMoved) {
1107                    e.stopPropagation();
1108                    var t = L(this),
1109                        a = W.currentTime;
1110                    if (null == a && (W.currentTime = W.now(), a = W.currentTime), t.hasClass("xdsoft_disabled")) return !1;
1111                    a.setHours(t.data("hour")), a.setMinutes(t.data("minute")), _.trigger("select.xdsoft", [a]), _.data("input").val(W.str()), N.onSelectTime && L.isFunction(N.onSelectTime) && N.onSelectTime.call(_, W.currentTime, _.data("input"), e), _.data("changed", !0), _.trigger("xchange.xdsoft"), _.trigger("changedatetime.xdsoft"), !0 !== N.inline && !0 === N.closeOnTimeSelect && _.trigger("close.xdsoft")
1112                }
1113            }), g.on("mousewheel.xdsoft", function (e) {
1114                return !N.scrollMonth || (e.deltaY < 0 ? W.nextMonth() : W.prevMonth(), !1)
1115            }), O.on("mousewheel.xdsoft", function (e) {
1116                return !N.scrollInput || (!N.datepicker && N.timepicker ? (0 <= (a = P.find(".xdsoft_current").length ? P.find(".xdsoft_current").eq(0).index() : 0) + e.deltaY && a + e.deltaY < P.children().length && (a += e.deltaY), P.children().eq(a).length && P.children().eq(a).trigger("mousedown"), !1) : N.datepicker && !N.timepicker ? (g.trigger(e, [e.deltaY, e.deltaX, e.deltaY]), O.val && O.val(W.str()), _.trigger("changedatetime.xdsoft"), !1) : void 0)
1117            }), _.on("changedatetime.xdsoft", function (e) {
1118                if (N.onChangeDateTime && L.isFunction(N.onChangeDateTime)) {
1119                    var t = _.data("input");
1120                    N.onChangeDateTime.call(_, W.currentTime, t, e), delete N.value, t.trigger("change")
1121                }
1122            }).on("generate.xdsoft", function () {
1123                N.onGenerate && L.isFunction(N.onGenerate) && N.onGenerate.call(_, W.currentTime, _.data("input")), s && (_.trigger("afterOpen.xdsoft"), s = !1)
1124            }).on("click.xdsoft", function (e) {
1125                e.stopPropagation()
1126            }), a = 0, h = function (e, t) {
1127                do {
1128                    if (!(e = e.parentNode) || !1 === t(e)) break
1129                } while ("HTML" !== e.nodeName)
1130            }, r = function () {
1131                var e, t, a, n, r, o, i, s, d, u, l, f, c;
1132                if (e = (s = _.data("input")).offset(), t = s[0], u = "top", a = e.top + t.offsetHeight - 1, n = e.left, r = "absolute", d = L(N.contentWindow).width(), f = L(N.contentWindow).height(), c = L(N.contentWindow).scrollTop(), N.ownerDocument.documentElement.clientWidth - e.left < g.parent().outerWidth(!0)) {
1133                    var m = g.parent().outerWidth(!0) - t.offsetWidth;
1134                    n -= m
1135                }
1136                "rtl" === s.parent().css("direction") && (n -= _.outerWidth() - s.outerWidth()), N.fixed ? (a -= c, n -= L(N.contentWindow).scrollLeft(), r = "fixed") : (i = !1, h(t, function (e) {
1137                    return null !== e && ("fixed" === N.contentWindow.getComputedStyle(e).getPropertyValue("position") ? !(i = !0) : void 0)
1138                }), i && !N.insideParent ? (r = "fixed", a + _.outerHeight() > f + c ? (u = "bottom", a = f + c - e.top) : a -= c) : a + _[0].offsetHeight > f + c && (a = e.top - _[0].offsetHeight + 1), a < 0 && (a = 0), n + t.offsetWidth > d && (n = d - t.offsetWidth)), o = _[0], h(o, function (e) {
1139                    if ("relative" === N.contentWindow.getComputedStyle(e).getPropertyValue("position") && d >= e.offsetWidth) return n -= (d - e.offsetWidth) / 2, !1
1140                }), l = {
1141                    position: r,
1142                    left: N.insideParent ? t.offsetLeft : n,
1143                    top: "",
1144                    bottom: ""
1145                }, N.insideParent ? l[u] = t.offsetTop + t.offsetHeight : l[u] = a, _.css(l)
1146            }, _.on("open.xdsoft", function (e) {
1147                var t = !0;
1148                N.onShow && L.isFunction(N.onShow) && (t = N.onShow.call(_, W.currentTime, _.data("input"), e)), !1 !== t && (_.show(), r(), L(N.contentWindow).off("resize.xdsoft", r).on("resize.xdsoft", r), N.closeOnWithoutClick && L([N.ownerDocument.body, N.contentWindow]).on("touchstart mousedown.xdsoft", function e() {
1149                    _.trigger("close.xdsoft"), L([N.ownerDocument.body, N.contentWindow]).off("touchstart mousedown.xdsoft", e)
1150                }))
1151            }).on("close.xdsoft", function (e) {
1152                var t = !0;
1153                F.find(".xdsoft_month,.xdsoft_year").find(".xdsoft_select").hide(), N.onClose && L.isFunction(N.onClose) && (t = N.onClose.call(_, W.currentTime, _.data("input"), e)), !1 === t || N.opened || N.inline || _.hide(), e.stopPropagation()
1154            }).on("toggle.xdsoft", function () {
1155                _.is(":visible") ? _.trigger("close.xdsoft") : _.trigger("open.xdsoft")
1156            }).data("input", O), d = 0, _.data("xdsoft_datetime", W), _.setOptions(N), W.setCurrentTime(f()), O.data("xdsoft_datetimepicker", _).on("open.xdsoft focusin.xdsoft mousedown.xdsoft touchstart", function () {
1157                O.is(":disabled") || O.data("xdsoft_datetimepicker").is(":visible") && N.closeOnInputClick || N.openOnFocus && (clearTimeout(d), d = setTimeout(function () {
1158                    O.is(":disabled") || (s = !0, W.setCurrentTime(f(), !0), N.mask && c(N), _.trigger("open.xdsoft"))
1159                }, 100))
1160            }).on("keydown.xdsoft", function (e) {
1161                var t, a = e.which;
1162                return -1 !== [D].indexOf(a) && N.enterLikeTab ? (t = L("input:visible,textarea:visible,button:visible,a:visible"), _.trigger("close.xdsoft"), t.eq(t.index(this) + 1).focus(), !1) : -1 !== [T].indexOf(a) ? (_.trigger("close.xdsoft"), !0) : void 0
1163            }).on("blur.xdsoft", function () {
1164                _.trigger("close.xdsoft")
1165            })
1166        }, r = function (e) {
1167            var t = e.data("xdsoft_datetimepicker");
1168            t && (t.data("xdsoft_datetime", null), t.remove(), e.data("xdsoft_datetimepicker", null).off(".xdsoft"), L(N.contentWindow).off("resize.xdsoft"), L([N.contentWindow, N.ownerDocument.body]).off("mousedown.xdsoft touchstart"), e.unmousewheel && e.unmousewheel())
1169        }, L(N.ownerDocument).off("keydown.xdsoftctrl keyup.xdsoftctrl").off("keydown.xdsoftcmd keyup.xdsoftcmd").on("keydown.xdsoftctrl", function (e) {
1170            e.keyCode === p && (I = !0)
1171        }).on("keyup.xdsoftctrl", function (e) {
1172            e.keyCode === p && (I = !1)
1173        }).on("keydown.xdsoftcmd", function (e) {
1174            91 === e.keyCode && !0
1175        }).on("keyup.xdsoftcmd", function (e) {
1176            91 === e.keyCode && !1
1177        }), this.each(function () {
1178            var t, e = L(this).data("xdsoft_datetimepicker");
1179            if (e) {
1180                if ("string" === L.type(H)) switch (H) {
1181                    case "show":
1182                        L(this).select().focus(), e.trigger("open.xdsoft");
1183                        break;
1184                    case "hide":
1185                        e.trigger("close.xdsoft");
1186                        break;
1187                    case "toggle":
1188                        e.trigger("toggle.xdsoft");
1189                        break;
1190                    case "destroy":
1191                        r(L(this));
1192                        break;
1193                    case "reset":
1194                        this.value = this.defaultValue, this.value && e.data("xdsoft_datetime").isValidDate(E.parseDate(this.value, N.format)) || e.data("changed", !1), e.data("xdsoft_datetime").setCurrentTime(this.value);
1195                        break;
1196                    case "validate":
1197                        e.data("input").trigger("blur.xdsoft");
1198                        break;
1199                    default:
1200                        e[H] && L.isFunction(e[H]) && (o = e[H](a))
1201                } else e.setOptions(H);
1202                return 0
1203            }
1204            "string" !== L.type(H) && (!N.lazyInit || N.open || N.inline ? n(L(this)) : (t = L(this)).on("open.xdsoft focusin.xdsoft mousedown.xdsoft touchstart", function e() {
1205                t.is(":disabled") || t.data("xdsoft_datetimepicker") || (clearTimeout(i), i = setTimeout(function () {
1206                    t.data("xdsoft_datetimepicker") || n(t), t.off("open.xdsoft focusin.xdsoft mousedown.xdsoft touchstart", e).trigger("open.xdsoft")
1207                }, 100))
1208            }))
1209        }), o
1210    }, L.fn.datetimepicker.defaults = s
1211};
1212! function (e) {
1213    "function" == typeof define && define.amd ? define(["jquery", "jquery-mousewheel"], e) : "object" == typeof exports ? module.exports = e(require("jquery")) : e(jQuery)
1214}(datetimepickerFactory),
1215function (e) {
1216    "function" == typeof define && define.amd ? define(["jquery"], e) : "object" == typeof exports ? module.exports = e : e(jQuery)
1217}(function (c) {
1218    var m, h, e = ["wheel", "mousewheel", "DOMMouseScroll", "MozMousePixelScroll"],
1219        t = "onwheel" in document || 9 <= document.documentMode ? ["wheel"] : ["mousewheel", "DomMouseScroll", "MozMousePixelScroll"],
1220        g = Array.prototype.slice;
1221    if (c.event.fixHooks)
1222        for (var a = e.length; a;) c.event.fixHooks[e[--a]] = c.event.mouseHooks;
1223    var p = c.event.special.mousewheel = {
1224        version: "3.1.12",
1225        setup: function () {
1226            if (this.addEventListener)
1227                for (var e = t.length; e;) this.addEventListener(t[--e], n, !1);
1228            else this.onmousewheel = n;
1229            c.data(this, "mousewheel-line-height", p.getLineHeight(this)), c.data(this, "mousewheel-page-height", p.getPageHeight(this))
1230        },
1231        teardown: function () {
1232            if (this.removeEventListener)
1233                for (var e = t.length; e;) this.removeEventListener(t[--e], n, !1);
1234            else this.onmousewheel = null;
1235            c.removeData(this, "mousewheel-line-height"), c.removeData(this, "mousewheel-page-height")
1236        },
1237        getLineHeight: function (e) {
1238            var t = c(e),
1239                a = t["offsetParent" in c.fn ? "offsetParent" : "parent"]();
1240            return a.length || (a = c("body")), parseInt(a.css("fontSize"), 10) || parseInt(t.css("fontSize"), 10) || 16
1241        },
1242        getPageHeight: function (e) {
1243            return c(e).height()
1244        },
1245        settings: {
1246            adjustOldDeltas: !0,
1247            normalizeOffset: !0
1248        }
1249    };
1250
1251    function n(e) {
1252        var t, a = e || window.event,
1253            n = g.call(arguments, 1),
1254            r = 0,
1255            o = 0,
1256            i = 0,
1257            s = 0,
1258            d = 0;
1259        if ((e = c.event.fix(a)).type = "mousewheel", "detail" in a && (i = -1 * a.detail), "wheelDelta" in a && (i = a.wheelDelta), "wheelDeltaY" in a && (i = a.wheelDeltaY), "wheelDeltaX" in a && (o = -1 * a.wheelDeltaX), "axis" in a && a.axis === a.HORIZONTAL_AXIS && (o = -1 * i, i = 0), r = 0 === i ? o : i, "deltaY" in a && (r = i = -1 * a.deltaY), "deltaX" in a && (o = a.deltaX, 0 === i && (r = -1 * o)), 0 !== i || 0 !== o) {
1260            if (1 === a.deltaMode) {
1261                var u = c.data(this, "mousewheel-line-height");
1262                r *= u, i *= u, o *= u
1263            } else if (2 === a.deltaMode) {
1264                var l = c.data(this, "mousewheel-page-height");
1265                r *= l, i *= l, o *= l
1266            }
1267            if (t = Math.max(Math.abs(i), Math.abs(o)), (!h || t < h) && y(a, h = t) && (h /= 40), y(a, t) && (r /= 40, o /= 40, i /= 40), r = Math[1 <= r ? "floor" : "ceil"](r / h), o = Math[1 <= o ? "floor" : "ceil"](o / h), i = Math[1 <= i ? "floor" : "ceil"](i / h), p.settings.normalizeOffset && this.getBoundingClientRect) {
1268                var f = this.getBoundingClientRect();
1269                s = e.clientX - f.left, d = e.clientY - f.top
1270            }
1271            return e.deltaX = o, e.deltaY = i, e.deltaFactor = h, e.offsetX = s, e.offsetY = d, e.deltaMode = 0, n.unshift(e, r, o, i), m && clearTimeout(m), m = setTimeout(D, 200), (c.event.dispatch || c.event.handle).apply(this, n)
1272        }
1273    }
1274
1275    function D() {
1276        h = null
1277    }
1278
1279    function y(e, t) {
1280        return p.settings.adjustOldDeltas && "mousewheel" === e.type && t % 120 == 0
1281    }
1282    c.fn.extend({
1283        mousewheel: function (e) {
1284            return e ? this.bind("mousewheel", e) : this.trigger("mousewheel")
1285        },
1286        unmousewheel: function (e) {
1287            return this.unbind("mousewheel", e)
1288        }
1289    })
1290});

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.