/*! * Bootstrap v3.1.1 (http://getbootstrap.com) * Copyright 2011-2014 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */ if (typeof jQuery === 'undefined') throw new Error("Bootstrap's JavaScript requires jQuery"); +(function (a) { function b() { const a = document.createElement('bootstrap'); const b = { WebkitTransition: 'webkitTransitionEnd', MozTransition: 'transitionend', OTransition: 'oTransitionEnd otransitionend', transition: 'transitionend', }; for (const c in b) if (void 0 !== a.style[c]) return { end: b[c] }; return !1; }a.fn.emulateTransitionEnd = function (b) { let c = !1; const d = this; a(this).one(a.support.transition.end, () => { c = !0; }); const e = function () { c || a(d).trigger(a.support.transition.end); }; return setTimeout(e, b), this; }, a(() => { a.support.transition = b(); }); }(jQuery)), +(function (a) { const b = '[data-dismiss="alert"]'; const c = function (c) { a(c).on('click', b, this.close); }; c.prototype.close = function (b) { function c() { f.trigger('closed.bs.alert').remove(); } const d = a(this); let e = d.attr('data-target'); e || (e = d.attr('href'), e = e && e.replace(/.*(?=#[^\s]*$)/, '')); var f = a(e); b && b.preventDefault(), f.length || (f = d.hasClass('alert') ? d : d.parent()), f.trigger(b = a.Event('close.bs.alert')), b.isDefaultPrevented() || (f.removeClass('in'), a.support.transition && f.hasClass('fade') ? f.one(a.support.transition.end, c).emulateTransitionEnd(150) : c()); }; const d = a.fn.alert; a.fn.alert = function (b) { return this.each(function () { const d = a(this); let e = d.data('bs.alert'); e || d.data('bs.alert', e = new c(this)), typeof b === 'string' && e[b].call(d); }); }, a.fn.alert.Constructor = c, a.fn.alert.noConflict = function () { return a.fn.alert = d, this; }, a(document).on('click.bs.alert.data-api', b, c.prototype.close); }(jQuery)), +(function (a) { var b = function (c, d) { this.$element = a(c), this.options = a.extend({}, b.DEFAULTS, d), this.isLoading = !1; }; b.DEFAULTS = { loadingText: 'loading...' }, b.prototype.setState = function (b) { const c = 'disabled'; const d = this.$element; const e = d.is('input') ? 'val' : 'html'; const f = d.data(); b += 'Text', f.resetText || d.data('resetText', d[e]()), d[e](f[b] || this.options[b]), setTimeout(a.proxy(function () { b == 'loadingText' ? (this.isLoading = !0, d.addClass(c).attr(c, c)) : this.isLoading && (this.isLoading = !1, d.removeClass(c).removeAttr(c)); }, this), 0); }, b.prototype.toggle = function () { let a = !0; const b = this.$element.closest('[data-toggle="buttons"]'); if (b.length) { const c = this.$element.find('input'); c.prop('type') == 'radio' && (c.prop('checked') && this.$element.hasClass('active') ? a = !1 : b.find('.active').removeClass('active')), a && c.prop('checked', !this.$element.hasClass('active')).trigger('change'); }a && this.$element.toggleClass('active'); }; const c = a.fn.button; a.fn.button = function (c) { return this.each(function () { const d = a(this); let e = d.data('bs.button'); const f = typeof c === 'object' && c; e || d.data('bs.button', e = new b(this, f)), c == 'toggle' ? e.toggle() : c && e.setState(c); }); }, a.fn.button.Constructor = b, a.fn.button.noConflict = function () { return a.fn.button = c, this; }, a(document).on('click.bs.button.data-api', '[data-toggle^=button]', (b) => { let c = a(b.target); c.hasClass('btn') || (c = c.closest('.btn')), c.button('toggle'), b.preventDefault(); }); }(jQuery)), +(function (a) { const b = function (b, c) { this.$element = a(b), this.$indicators = this.$element.find('.carousel-indicators'), this.options = c, this.paused = this.sliding = this.interval = this.$active = this.$items = null, this.options.pause == 'hover' && this.$element.on('mouseenter', a.proxy(this.pause, this)).on('mouseleave', a.proxy(this.cycle, this)); }; b.DEFAULTS = { interval: 5e3, pause: 'hover', wrap: !0 }, b.prototype.cycle = function (b) { return b || (this.paused = !1), this.interval && clearInterval(this.interval), this.options.interval && !this.paused && (this.interval = setInterval(a.proxy(this.next, this), this.options.interval)), this; }, b.prototype.getActiveIndex = function () { return this.$active = this.$element.find('.item.active'), this.$items = this.$active.parent().children(), this.$items.index(this.$active); }, b.prototype.to = function (b) { const c = this; const d = this.getActiveIndex(); return b > this.$items.length - 1 || b < 0 ? void 0 : this.sliding ? this.$element.one('slid.bs.carousel', () => { c.to(b); }) : d == b ? this.pause().cycle() : this.slide(b > d ? 'next' : 'prev', a(this.$items[b])); }, b.prototype.pause = function (b) { return b || (this.paused = !0), this.$element.find('.next, .prev').length && a.support.transition && (this.$element.trigger(a.support.transition.end), this.cycle(!0)), this.interval = clearInterval(this.interval), this; }, b.prototype.next = function () { return this.sliding ? void 0 : this.slide('next'); }, b.prototype.prev = function () { return this.sliding ? void 0 : this.slide('prev'); }, b.prototype.slide = function (b, c) { const d = this.$element.find('.item.active'); let e = c || d[b](); const f = this.interval; const g = b == 'next' ? 'left' : 'right'; const h = b == 'next' ? 'first' : 'last'; const i = this; if (!e.length) { if (!this.options.wrap) return; e = this.$element.find('.item')[h](); } if (e.hasClass('active')) return this.sliding = !1; const j = a.Event('slide.bs.carousel', { relatedTarget: e[0], direction: g }); return this.$element.trigger(j), j.isDefaultPrevented() ? void 0 : (this.sliding = !0, f && this.pause(), this.$indicators.length && (this.$indicators.find('.active').removeClass('active'), this.$element.one('slid.bs.carousel', () => { const b = a(i.$indicators.children()[i.getActiveIndex()]); b && b.addClass('active'); })), a.support.transition && this.$element.hasClass('slide') ? (e.addClass(b), e[0].offsetWidth, d.addClass(g), e.addClass(g), d.one(a.support.transition.end, () => { e.removeClass([b, g].join(' ')).addClass('active'), d.removeClass(['active', g].join(' ')), i.sliding = !1, setTimeout(() => { i.$element.trigger('slid.bs.carousel'); }, 0); }).emulateTransitionEnd(1e3 * d.css('transition-duration').slice(0, -1))) : (d.removeClass('active'), e.addClass('active'), this.sliding = !1, this.$element.trigger('slid.bs.carousel')), f && this.cycle(), this); }; const c = a.fn.carousel; a.fn.carousel = function (c) { return this.each(function () { const d = a(this); let e = d.data('bs.carousel'); const f = a.extend({}, b.DEFAULTS, d.data(), typeof c === 'object' && c); const g = typeof c === 'string' ? c : f.slide; e || d.data('bs.carousel', e = new b(this, f)), typeof c === 'number' ? e.to(c) : g ? e[g]() : f.interval && e.pause().cycle(); }); }, a.fn.carousel.Constructor = b, a.fn.carousel.noConflict = function () { return a.fn.carousel = c, this; }, a(document).on('click.bs.carousel.data-api', '[data-slide], [data-slide-to]', function (b) { let c; const d = a(this); const e = a(d.attr('data-target') || (c = d.attr('href')) && c.replace(/.*(?=#[^\s]+$)/, '')); const f = a.extend({}, e.data(), d.data()); let g = d.attr('data-slide-to'); g && (f.interval = !1), e.carousel(f), (g = d.attr('data-slide-to')) && e.data('bs.carousel').to(g), b.preventDefault(); }), a(window).on('load', () => { a('[data-ride="carousel"]').each(function () { const b = a(this); b.carousel(b.data()); }); }); }(jQuery)), +(function (a) { var b = function (c, d) { this.$element = a(c), this.options = a.extend({}, b.DEFAULTS, d), this.transitioning = null, this.options.parent && (this.$parent = a(this.options.parent)), this.options.toggle && this.toggle(); }; b.DEFAULTS = { toggle: !0 }, b.prototype.dimension = function () { const a = this.$element.hasClass('width'); return a ? 'width' : 'height'; }, b.prototype.show = function () { if (!this.transitioning && !this.$element.hasClass('in')) { const b = a.Event('show.bs.collapse'); if (this.$element.trigger(b), !b.isDefaultPrevented()) { const c = this.$parent && this.$parent.find('> .panel > .in'); if (c && c.length) { const d = c.data('bs.collapse'); if (d && d.transitioning) return; c.collapse('hide'), d || c.data('bs.collapse', null); } const e = this.dimension(); this.$element.removeClass('collapse').addClass('collapsing')[e](0), this.transitioning = 1; const f = function () { this.$element.removeClass('collapsing').addClass('collapse in')[e]('auto'), this.transitioning = 0, this.$element.trigger('shown.bs.collapse'); }; if (!a.support.transition) return f.call(this); const g = a.camelCase(['scroll', e].join('-')); this.$element.one(a.support.transition.end, a.proxy(f, this)).emulateTransitionEnd(350)[e](this.$element[0][g]); } } }, b.prototype.hide = function () { if (!this.transitioning && this.$element.hasClass('in')) { const b = a.Event('hide.bs.collapse'); if (this.$element.trigger(b), !b.isDefaultPrevented()) { const c = this.dimension(); this.$element[c](this.$element[c]())[0].offsetHeight, this.$element.addClass('collapsing').removeClass('collapse').removeClass('in'), this.transitioning = 1; const d = function () { this.transitioning = 0, this.$element.trigger('hidden.bs.collapse').removeClass('collapsing').addClass('collapse'); }; return a.support.transition ? void this.$element[c](0).one(a.support.transition.end, a.proxy(d, this)).emulateTransitionEnd(350) : d.call(this); } } }, b.prototype.toggle = function () { this[this.$element.hasClass('in') ? 'hide' : 'show'](); }; const c = a.fn.collapse; a.fn.collapse = function (c) { return this.each(function () { const d = a(this); let e = d.data('bs.collapse'); const f = a.extend({}, b.DEFAULTS, d.data(), typeof c === 'object' && c); !e && f.toggle && c == 'show' && (c = !c), e || d.data('bs.collapse', e = new b(this, f)), typeof c === 'string' && e[c](); }); }, a.fn.collapse.Constructor = b, a.fn.collapse.noConflict = function () { return a.fn.collapse = c, this; }, a(document).on('click.bs.collapse.data-api', '[data-toggle=collapse]', function (b) { let c; const d = a(this); const e = d.attr('data-target') || b.preventDefault() || (c = d.attr('href')) && c.replace(/.*(?=#[^\s]+$)/, ''); const f = a(e); const g = f.data('bs.collapse'); const h = g ? 'toggle' : d.data(); const i = d.attr('data-parent'); const j = i && a(i); g && g.transitioning || (j && j.find(`[data-toggle=collapse][data-parent="${i}"]`).not(d).addClass('collapsed'), d[f.hasClass('in') ? 'addClass' : 'removeClass']('collapsed')), f.collapse(h); }); }(jQuery)), +(function (a) { function b(b) { a(d).remove(), a(e).each(function () { const d = c(a(this)); const e = { relatedTarget: this }; d.hasClass('open') && (d.trigger(b = a.Event('hide.bs.dropdown', e)), b.isDefaultPrevented() || d.removeClass('open').trigger('hidden.bs.dropdown', e)); }); } function c(b) { let c = b.attr('data-target'); c || (c = b.attr('href'), c = c && /#[A-Za-z]/.test(c) && c.replace(/.*(?=#[^\s]*$)/, '')); const d = c && a(c); return d && d.length ? d : b.parent(); } var d = '.dropdown-backdrop'; var e = '[data-toggle=dropdown]'; const f = function (b) { a(b).on('click.bs.dropdown', this.toggle); }; f.prototype.toggle = function (d) { const e = a(this); if (!e.is('.disabled, :disabled')) { const f = c(e); const g = f.hasClass('open'); if (b(), !g) { 'ontouchstart' in document.documentElement && !f.closest('.navbar-nav').length && a('
').insertAfter(a(this)).on('click', b); const h = { relatedTarget: this }; if (f.trigger(d = a.Event('show.bs.dropdown', h)), d.isDefaultPrevented()) return; f.toggleClass('open').trigger('shown.bs.dropdown', h), e.focus(); } return !1; } }, f.prototype.keydown = function (b) { if (/(38|40|27)/.test(b.keyCode)) { const d = a(this); if (b.preventDefault(), b.stopPropagation(), !d.is('.disabled, :disabled')) { const f = c(d); const g = f.hasClass('open'); if (!g || g && b.keyCode == 27) return b.which == 27 && f.find(e).focus(), d.click(); const h = ' li:not(.divider):visible a'; const i = f.find(`[role=menu]${h}, [role=listbox]${h}`); if (i.length) { let j = i.index(i.filter(':focus')); b.keyCode == 38 && j > 0 && j--, b.keyCode == 40 && j < i.length - 1 && j++, ~j || (j = 0), i.eq(j).focus(); } } } }; const g = a.fn.dropdown; a.fn.dropdown = function (b) { return this.each(function () { const c = a(this); let d = c.data('bs.dropdown'); d || c.data('bs.dropdown', d = new f(this)), typeof b === 'string' && d[b].call(c); }); }, a.fn.dropdown.Constructor = f, a.fn.dropdown.noConflict = function () { return a.fn.dropdown = g, this; }, a(document).on('click.bs.dropdown.data-api', b).on('click.bs.dropdown.data-api', '.dropdown form', (a) => { a.stopPropagation(); }).on('click.bs.dropdown.data-api', e, f.prototype.toggle) .on('keydown.bs.dropdown.data-api', `${e}, [role=menu], [role=listbox]`, f.prototype.keydown); }(jQuery)), +(function (a) { const b = function (b, c) { this.options = c, this.$element = a(b), this.$backdrop = this.isShown = null, this.options.remote && this.$element.find('.modal-content').load(this.options.remote, a.proxy(function () { this.$element.trigger('loaded.bs.modal'); }, this)); }; b.DEFAULTS = { backdrop: !0, keyboard: !0, show: !0 }, b.prototype.toggle = function (a) { return this[this.isShown ? 'hide' : 'show'](a); }, b.prototype.show = function (b) { const c = this; const d = a.Event('show.bs.modal', { relatedTarget: b }); this.$element.trigger(d), this.isShown || d.isDefaultPrevented() || (this.isShown = !0, this.escape(), this.$element.on('click.dismiss.bs.modal', '[data-dismiss="modal"]', a.proxy(this.hide, this)), this.backdrop(() => { const d = a.support.transition && c.$element.hasClass('fade'); c.$element.parent().length || c.$element.appendTo(document.body), c.$element.show().scrollTop(0), d && c.$element[0].offsetWidth, c.$element.addClass('in').attr('aria-hidden', !1), c.enforceFocus(); const e = a.Event('shown.bs.modal', { relatedTarget: b }); d ? c.$element.find('.modal-dialog').one(a.support.transition.end, () => { c.$element.focus().trigger(e); }).emulateTransitionEnd(300) : c.$element.focus().trigger(e); })); }, b.prototype.hide = function (b) { b && b.preventDefault(), b = a.Event('hide.bs.modal'), this.$element.trigger(b), this.isShown && !b.isDefaultPrevented() && (this.isShown = !1, this.escape(), a(document).off('focusin.bs.modal'), this.$element.removeClass('in').attr('aria-hidden', !0).off('click.dismiss.bs.modal'), a.support.transition && this.$element.hasClass('fade') ? this.$element.one(a.support.transition.end, a.proxy(this.hideModal, this)).emulateTransitionEnd(300) : this.hideModal()); }, b.prototype.enforceFocus = function () { a(document).off('focusin.bs.modal').on('focusin.bs.modal', a.proxy(function (a) { this.$element[0] === a.target || this.$element.has(a.target).length || this.$element.focus(); }, this)); }, b.prototype.escape = function () { this.isShown && this.options.keyboard ? this.$element.on('keyup.dismiss.bs.modal', a.proxy(function (a) { a.which == 27 && this.hide(); }, this)) : this.isShown || this.$element.off('keyup.dismiss.bs.modal'); }, b.prototype.hideModal = function () { const a = this; this.$element.hide(), this.backdrop(() => { a.removeBackdrop(), a.$element.trigger('hidden.bs.modal'); }); }, b.prototype.removeBackdrop = function () { this.$backdrop && this.$backdrop.remove(), this.$backdrop = null; }, b.prototype.backdrop = function (b) { const c = this.$element.hasClass('fade') ? 'fade' : ''; if (this.isShown && this.options.backdrop) { const d = a.support.transition && c; if (this.$backdrop = a(``).appendTo(document.body), this.$element.on('click.dismiss.bs.modal', a.proxy(function (a) { a.target === a.currentTarget && (this.options.backdrop == 'static' ? this.$element[0].focus.call(this.$element[0]) : this.hide.call(this)); }, this)), d && this.$backdrop[0].offsetWidth, this.$backdrop.addClass('in'), !b) return; d ? this.$backdrop.one(a.support.transition.end, b).emulateTransitionEnd(150) : b(); } else !this.isShown && this.$backdrop ? (this.$backdrop.removeClass('in'), a.support.transition && this.$element.hasClass('fade') ? this.$backdrop.one(a.support.transition.end, b).emulateTransitionEnd(150) : b()) : b && b(); }; const c = a.fn.modal; a.fn.modal = function (c, d) { return this.each(function () { const e = a(this); let f = e.data('bs.modal'); const g = a.extend({}, b.DEFAULTS, e.data(), typeof c === 'object' && c); f || e.data('bs.modal', f = new b(this, g)), typeof c === 'string' ? f[c](d) : g.show && f.show(d); }); }, a.fn.modal.Constructor = b, a.fn.modal.noConflict = function () { return a.fn.modal = c, this; }, a(document).on('click.bs.modal.data-api', '[data-toggle="modal"]', function (b) { const c = a(this); const d = c.attr('href'); const e = a(c.attr('data-target') || d && d.replace(/.*(?=#[^\s]+$)/, '')); const f = e.data('bs.modal') ? 'toggle' : a.extend({ remote: !/#/.test(d) && d }, e.data(), c.data()); c.is('a') && b.preventDefault(), e.modal(f, this).one('hide', () => { c.is(':visible') && c.focus(); }); }), a(document).on('show.bs.modal', '.modal', () => { a(document.body).addClass('modal-open'); }).on('hidden.bs.modal', '.modal', () => { a(document.body).removeClass('modal-open'); }); }(jQuery)), +(function (a) { const b = function (a, b) { this.type = this.options = this.enabled = this.timeout = this.hoverState = this.$element = null, this.init('tooltip', a, b); }; b.DEFAULTS = { animation: !0, placement: 'top', selector: !1, template: '