{"version":3,"file":"import.js","sources":["import.js"],"sourcesContent":["(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i' +\r\n '
' +\r\n '

' +\r\n '

' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n ''\r\n\r\n }\r\n };\r\n\r\n TabCollapse.prototype.checkState = function () {\r\n if (this.$tabs.is(':visible') && this._accordionVisible) {\r\n this.showTabs();\r\n this._accordionVisible = false;\r\n } else if (this.$accordion.is(':visible') && !this._accordionVisible) {\r\n this.showAccordion();\r\n this._accordionVisible = true;\r\n }\r\n };\r\n\r\n TabCollapse.prototype.showTabs = function () {\r\n var view = this;\r\n this.$tabs.trigger($.Event('show-tabs.bs.tabcollapse'));\r\n\r\n var $panelHeadings = this.$accordion.find('.js-tabcollapse-panel-heading').detach();\r\n\r\n $panelHeadings.each(function () {\r\n var $panelHeading = $(this),\r\n $parentLi = $panelHeading.data('bs.tabcollapse.parentLi');\r\n\r\n var $oldHeading = view._panelHeadingToTabHeading($panelHeading);\r\n\r\n $parentLi.removeClass('active');\r\n if ($parentLi.parent().hasClass('dropdown-menu') && !$parentLi.siblings('li').hasClass('active')) {\r\n $parentLi.parent().parent().removeClass('active');\r\n }\r\n\r\n if (!$oldHeading.hasClass('collapsed')) {\r\n $parentLi.addClass('active');\r\n if ($parentLi.parent().hasClass('dropdown-menu')) {\r\n $parentLi.parent().parent().addClass('active');\r\n }\r\n } else {\r\n $oldHeading.removeClass('collapsed');\r\n }\r\n\r\n $parentLi.append($panelHeading);\r\n });\r\n\r\n if (!$('li').hasClass('active')) {\r\n $('li').first().addClass('active')\r\n }\r\n\r\n var $panelBodies = this.$accordion.find('.js-tabcollapse-panel-body');\r\n $panelBodies.each(function () {\r\n var $panelBody = $(this),\r\n $tabPane = $panelBody.data('bs.tabcollapse.tabpane');\r\n $tabPane.append($panelBody.contents().detach());\r\n });\r\n this.$accordion.html('');\r\n\r\n if (this.options.updateLinks) {\r\n var $tabContents = this.getTabContentElement();\r\n $tabContents.find('[data-toggle-was=\"tab\"], [data-toggle-was=\"pill\"]').each(function () {\r\n var $el = $(this);\r\n var href = $el.attr('href').replace(/-collapse$/g, '');\r\n $el.attr({\r\n 'data-toggle': $el.attr('data-toggle-was'),\r\n 'data-toggle-was': '',\r\n 'data-parent': '',\r\n href: href\r\n });\r\n });\r\n }\r\n\r\n this.$tabs.trigger($.Event('shown-tabs.bs.tabcollapse'));\r\n };\r\n\r\n TabCollapse.prototype.getTabContentElement = function () {\r\n var $tabContents = $(this.options.tabContentSelector);\r\n if ($tabContents.length === 0) {\r\n $tabContents = this.$tabs.siblings('.tab-content');\r\n }\r\n return $tabContents;\r\n };\r\n\r\n TabCollapse.prototype.showAccordion = function () {\r\n this.$tabs.trigger($.Event('show-accordion.bs.tabcollapse'));\r\n\r\n var $headings = this.$tabs.find('li:not(.dropdown) [data-toggle=\"tab\"], li:not(.dropdown) [data-toggle=\"pill\"]'),\r\n view = this;\r\n $headings.each(function () {\r\n var $heading = $(this),\r\n $parentLi = $heading.parent();\r\n $heading.data('bs.tabcollapse.parentLi', $parentLi);\r\n view.$accordion.append(view._createAccordionGroup(view.$accordion.attr('id'), $heading.detach()));\r\n });\r\n\r\n if (this.options.updateLinks) {\r\n var parentId = this.$accordion.attr('id');\r\n var $selector = this.$accordion.find('.js-tabcollapse-panel-body');\r\n $selector.find('[data-toggle=\"tab\"], [data-toggle=\"pill\"]').each(function () {\r\n var $el = $(this);\r\n var href = $el.attr('href') + '-collapse';\r\n $el.attr({\r\n 'data-toggle-was': $el.attr('data-toggle'),\r\n 'data-toggle': 'collapse',\r\n 'data-parent': '#' + parentId,\r\n href: href\r\n });\r\n });\r\n }\r\n\r\n this.$tabs.trigger($.Event('shown-accordion.bs.tabcollapse'));\r\n };\r\n\r\n TabCollapse.prototype._panelHeadingToTabHeading = function ($heading) {\r\n var href = $heading.attr('href').replace(/-collapse$/g, '');\r\n $heading.attr({\r\n 'data-toggle': 'tab',\r\n 'href': href,\r\n 'data-parent': ''\r\n });\r\n return $heading;\r\n };\r\n\r\n TabCollapse.prototype._tabHeadingToPanelHeading = function ($heading, groupId, parentId, active) {\r\n $heading.addClass('js-tabcollapse-panel-heading ' + (active ? '' : 'collapsed'));\r\n $heading.attr({\r\n 'data-toggle': 'collapse',\r\n 'data-parent': '#' + parentId,\r\n 'href': '#' + groupId\r\n });\r\n return $heading;\r\n };\r\n\r\n TabCollapse.prototype._checkStateOnResize = function () {\r\n var view = this;\r\n $(window).resize(function () {\r\n clearTimeout(view._resizeTimeout);\r\n view._resizeTimeout = setTimeout(function () {\r\n view.checkState();\r\n }, 100);\r\n });\r\n };\r\n\r\n\r\n TabCollapse.prototype._initAccordion = function () {\r\n var randomString = function () {\r\n var result = \"\",\r\n possible = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\";\r\n for (var i = 0; i < 5; i++) {\r\n result += possible.charAt(Math.floor(Math.random() * possible.length));\r\n }\r\n return result;\r\n };\r\n\r\n var srcId = this.$tabs.attr('id'),\r\n accordionId = (srcId ? srcId : randomString()) + '-accordion';\r\n\r\n this.$accordion = $('
');\r\n this.$tabs.after(this.$accordion);\r\n this.$tabs.addClass(this.options.tabsClass);\r\n this.getTabContentElement().addClass(this.options.tabsClass);\r\n };\r\n\r\n TabCollapse.prototype._createAccordionGroup = function (parentId, $heading) {\r\n var tabSelector = $heading.attr('data-target'),\r\n active = $heading.data('bs.tabcollapse.parentLi').is('.active');\r\n\r\n if (!tabSelector) {\r\n tabSelector = $heading.attr('href');\r\n tabSelector = tabSelector && tabSelector.replace(/.*(?=#[^\\s]*$)/, ''); //strip for ie7\r\n }\r\n\r\n var $tabPane = $(tabSelector),\r\n groupId = $tabPane.attr('id') + '-collapse',\r\n $panel = $(this.options.accordionTemplate($heading, groupId, parentId, active));\r\n $panel.find('.panel-heading > .panel-title').append(this._tabHeadingToPanelHeading($heading, groupId, parentId, active));\r\n $panel.find('.panel-body').append($tabPane.contents().detach())\r\n .data('bs.tabcollapse.tabpane', $tabPane);\r\n\r\n return $panel;\r\n };\r\n\r\n\r\n\r\n // TABCOLLAPSE PLUGIN DEFINITION\r\n // =======================\r\n\r\n $.fn.tabCollapse = function (option) {\r\n return this.each(function () {\r\n var $this = $(this);\r\n var data = $this.data('bs.tabcollapse');\r\n var options = $.extend({}, TabCollapse.DEFAULTS, $this.data(), typeof option === 'object' && option);\r\n\r\n if (!data) $this.data('bs.tabcollapse', new TabCollapse(this, options));\r\n });\r\n };\r\n\r\n $.fn.tabCollapse.Constructor = TabCollapse;\r\n\r\n\r\n}(window.jQuery);\n},{}],2:[function(require,module,exports){\n/*!\r\n * Bootstrap v3.3.7 (http://getbootstrap.com)\r\n * Copyright 2011-2017 Twitter, Inc.\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\r\n */\r\n\r\n/*!\r\n * Generated using the Bootstrap Customizer (https://getbootstrap.com/docs/3.3/customize/?id=78e268414c454d0f5b66d0ceec168ce8)\r\n * Config saved to config.json and https://gist.github.com/78e268414c454d0f5b66d0ceec168ce8\r\n */\r\nif (typeof jQuery === 'undefined') {\r\n throw new Error('Bootstrap\\'s JavaScript requires jQuery')\r\n}\r\n+function ($) {\r\n 'use strict';\r\n var version = $.fn.jquery.split(' ')[0].split('.')\r\n if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1) || (version[0] > 3)) {\r\n throw new Error('Bootstrap\\'s JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4')\r\n }\r\n}(jQuery);\r\n\r\n/* ========================================================================\r\n * Bootstrap: alert.js v3.3.7\r\n * http://getbootstrap.com/javascript/#alerts\r\n * ========================================================================\r\n * Copyright 2011-2016 Twitter, Inc.\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\r\n * ======================================================================== */\r\n\r\n\r\n+function ($) {\r\n 'use strict';\r\n\r\n // ALERT CLASS DEFINITION\r\n // ======================\r\n\r\n var dismiss = '[data-dismiss=\"alert\"]'\r\n var Alert = function (el) {\r\n $(el).on('click', dismiss, this.close)\r\n }\r\n\r\n Alert.VERSION = '3.3.7'\r\n\r\n Alert.TRANSITION_DURATION = 150\r\n\r\n Alert.prototype.close = function (e) {\r\n var $this = $(this)\r\n var selector = $this.attr('data-target')\r\n\r\n if (!selector) {\r\n selector = $this.attr('href')\r\n selector = selector && selector.replace(/.*(?=#[^\\s]*$)/, '') // strip for ie7\r\n }\r\n\r\n var $parent = $(selector === '#' ? [] : selector)\r\n\r\n if (e) e.preventDefault()\r\n\r\n if (!$parent.length) {\r\n $parent = $this.closest('.alert')\r\n }\r\n\r\n $parent.trigger(e = $.Event('close.bs.alert'))\r\n\r\n if (e.isDefaultPrevented()) return\r\n\r\n $parent.removeClass('in')\r\n\r\n function removeElement() {\r\n // detach from parent, fire event then clean up data\r\n $parent.detach().trigger('closed.bs.alert').remove()\r\n }\r\n\r\n $.support.transition && $parent.hasClass('fade') ?\r\n $parent\r\n .one('bsTransitionEnd', removeElement)\r\n .emulateTransitionEnd(Alert.TRANSITION_DURATION) :\r\n removeElement()\r\n }\r\n\r\n\r\n // ALERT PLUGIN DEFINITION\r\n // =======================\r\n\r\n function Plugin(option) {\r\n return this.each(function () {\r\n var $this = $(this)\r\n var data = $this.data('bs.alert')\r\n\r\n if (!data) $this.data('bs.alert', (data = new Alert(this)))\r\n if (typeof option == 'string') data[option].call($this)\r\n })\r\n }\r\n\r\n var old = $.fn.alert\r\n\r\n $.fn.alert = Plugin\r\n $.fn.alert.Constructor = Alert\r\n\r\n\r\n // ALERT NO CONFLICT\r\n // =================\r\n\r\n $.fn.alert.noConflict = function () {\r\n $.fn.alert = old\r\n return this\r\n }\r\n\r\n\r\n // ALERT DATA-API\r\n // ==============\r\n\r\n $(document).on('click.bs.alert.data-api', dismiss, Alert.prototype.close)\r\n\r\n}(jQuery);\r\n\r\n/* ========================================================================\r\n * Bootstrap: button.js v3.3.7\r\n * http://getbootstrap.com/javascript/#buttons\r\n * ========================================================================\r\n * Copyright 2011-2016 Twitter, Inc.\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\r\n * ======================================================================== */\r\n\r\n\r\n+function ($) {\r\n 'use strict';\r\n\r\n // BUTTON PUBLIC CLASS DEFINITION\r\n // ==============================\r\n\r\n var Button = function (element, options) {\r\n this.$element = $(element)\r\n this.options = $.extend({}, Button.DEFAULTS, options)\r\n this.isLoading = false\r\n }\r\n\r\n Button.VERSION = '3.3.7'\r\n\r\n Button.DEFAULTS = {\r\n loadingText: 'loading...'\r\n }\r\n\r\n Button.prototype.setState = function (state) {\r\n var d = 'disabled'\r\n var $el = this.$element\r\n var val = $el.is('input') ? 'val' : 'html'\r\n var data = $el.data()\r\n\r\n state += 'Text'\r\n\r\n if (data.resetText == null) $el.data('resetText', $el[val]())\r\n\r\n // push to event loop to allow forms to submit\r\n setTimeout($.proxy(function () {\r\n $el[val](data[state] == null ? this.options[state] : data[state])\r\n\r\n if (state == 'loadingText') {\r\n this.isLoading = true\r\n $el.addClass(d).attr(d, d).prop(d, true)\r\n } else if (this.isLoading) {\r\n this.isLoading = false\r\n $el.removeClass(d).removeAttr(d).prop(d, false)\r\n }\r\n }, this), 0)\r\n }\r\n\r\n Button.prototype.toggle = function () {\r\n var changed = true\r\n var $parent = this.$element.closest('[data-toggle=\"buttons\"]')\r\n\r\n if ($parent.length) {\r\n var $input = this.$element.find('input')\r\n if ($input.prop('type') == 'radio') {\r\n if ($input.prop('checked')) changed = false\r\n $parent.find('.active').removeClass('active')\r\n this.$element.addClass('active')\r\n } else if ($input.prop('type') == 'checkbox') {\r\n if (($input.prop('checked')) !== this.$element.hasClass('active')) changed = false\r\n this.$element.toggleClass('active')\r\n }\r\n $input.prop('checked', this.$element.hasClass('active'))\r\n if (changed) $input.trigger('change')\r\n } else {\r\n this.$element.attr('aria-pressed', !this.$element.hasClass('active'))\r\n this.$element.toggleClass('active')\r\n }\r\n }\r\n\r\n\r\n // BUTTON PLUGIN DEFINITION\r\n // ========================\r\n\r\n function Plugin(option) {\r\n return this.each(function () {\r\n var $this = $(this)\r\n var data = $this.data('bs.button')\r\n var options = typeof option == 'object' && option\r\n\r\n if (!data) $this.data('bs.button', (data = new Button(this, options)))\r\n\r\n if (option == 'toggle') data.toggle()\r\n else if (option) data.setState(option)\r\n })\r\n }\r\n\r\n var old = $.fn.button\r\n\r\n $.fn.button = Plugin\r\n $.fn.button.Constructor = Button\r\n\r\n\r\n // BUTTON NO CONFLICT\r\n // ==================\r\n\r\n $.fn.button.noConflict = function () {\r\n $.fn.button = old\r\n return this\r\n }\r\n\r\n\r\n // BUTTON DATA-API\r\n // ===============\r\n\r\n $(document)\r\n .on('click.bs.button.data-api', '[data-toggle^=\"button\"]', function (e) {\r\n var $btn = $(e.target).closest('.btn')\r\n Plugin.call($btn, 'toggle')\r\n if (!($(e.target).is('input[type=\"radio\"], input[type=\"checkbox\"]'))) {\r\n // Prevent double click on radios, and the double selections (so cancellation) on checkboxes\r\n e.preventDefault()\r\n // The target component still receive the focus\r\n if ($btn.is('input,button')) $btn.trigger('focus')\r\n else $btn.find('input:visible,button:visible').first().trigger('focus')\r\n }\r\n })\r\n .on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^=\"button\"]', function (e) {\r\n $(e.target).closest('.btn').toggleClass('focus', /^focus(in)?$/.test(e.type))\r\n })\r\n\r\n}(jQuery);\r\n\r\n/* ========================================================================\r\n * Bootstrap: carousel.js v3.3.7\r\n * http://getbootstrap.com/javascript/#carousel\r\n * ========================================================================\r\n * Copyright 2011-2016 Twitter, Inc.\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\r\n * ======================================================================== */\r\n\r\n\r\n+function ($) {\r\n 'use strict';\r\n\r\n // CAROUSEL CLASS DEFINITION\r\n // =========================\r\n\r\n var Carousel = function (element, options) {\r\n this.$element = $(element)\r\n this.$indicators = this.$element.find('.carousel-indicators')\r\n this.options = options\r\n this.paused = null\r\n this.sliding = null\r\n this.interval = null\r\n this.$active = null\r\n this.$items = null\r\n\r\n this.options.keyboard && this.$element.on('keydown.bs.carousel', $.proxy(this.keydown, this))\r\n\r\n this.options.pause == 'hover' && !('ontouchstart' in document.documentElement) && this.$element\r\n .on('mouseenter.bs.carousel', $.proxy(this.pause, this))\r\n .on('mouseleave.bs.carousel', $.proxy(this.cycle, this))\r\n }\r\n\r\n Carousel.VERSION = '3.3.7'\r\n\r\n Carousel.TRANSITION_DURATION = 600\r\n\r\n Carousel.DEFAULTS = {\r\n interval: 5000,\r\n pause: 'hover',\r\n wrap: true,\r\n keyboard: true\r\n }\r\n\r\n Carousel.prototype.keydown = function (e) {\r\n if (/input|textarea/i.test(e.target.tagName)) return\r\n switch (e.which) {\r\n case 37: this.prev(); break\r\n case 39: this.next(); break\r\n default: return\r\n }\r\n\r\n e.preventDefault()\r\n }\r\n\r\n Carousel.prototype.cycle = function (e) {\r\n e || (this.paused = false)\r\n\r\n this.interval && clearInterval(this.interval)\r\n\r\n this.options.interval\r\n && !this.paused\r\n && (this.interval = setInterval($.proxy(this.next, this), this.options.interval))\r\n\r\n return this\r\n }\r\n\r\n Carousel.prototype.getItemIndex = function (item) {\r\n this.$items = item.parent().children('.item')\r\n return this.$items.index(item || this.$active)\r\n }\r\n\r\n Carousel.prototype.getItemForDirection = function (direction, active) {\r\n var activeIndex = this.getItemIndex(active)\r\n var willWrap = (direction == 'prev' && activeIndex === 0)\r\n || (direction == 'next' && activeIndex == (this.$items.length - 1))\r\n if (willWrap && !this.options.wrap) return active\r\n var delta = direction == 'prev' ? -1 : 1\r\n var itemIndex = (activeIndex + delta) % this.$items.length\r\n return this.$items.eq(itemIndex)\r\n }\r\n\r\n Carousel.prototype.to = function (pos) {\r\n var that = this\r\n var activeIndex = this.getItemIndex(this.$active = this.$element.find('.item.active'))\r\n\r\n if (pos > (this.$items.length - 1) || pos < 0) return\r\n\r\n if (this.sliding) return this.$element.one('slid.bs.carousel', function () { that.to(pos) }) // yes, \"slid\"\r\n if (activeIndex == pos) return this.pause().cycle()\r\n\r\n return this.slide(pos > activeIndex ? 'next' : 'prev', this.$items.eq(pos))\r\n }\r\n\r\n Carousel.prototype.pause = function (e) {\r\n e || (this.paused = true)\r\n\r\n if (this.$element.find('.next, .prev').length && $.support.transition) {\r\n this.$element.trigger($.support.transition.end)\r\n this.cycle(true)\r\n }\r\n\r\n this.interval = clearInterval(this.interval)\r\n\r\n return this\r\n }\r\n\r\n Carousel.prototype.next = function () {\r\n if (this.sliding) return\r\n return this.slide('next')\r\n }\r\n\r\n Carousel.prototype.prev = function () {\r\n if (this.sliding) return\r\n return this.slide('prev')\r\n }\r\n\r\n Carousel.prototype.slide = function (type, next) {\r\n var $active = this.$element.find('.item.active')\r\n var $next = next || this.getItemForDirection(type, $active)\r\n var isCycling = this.interval\r\n var direction = type == 'next' ? 'left' : 'right'\r\n var that = this\r\n\r\n if ($next.hasClass('active')) return (this.sliding = false)\r\n\r\n var relatedTarget = $next[0]\r\n var slideEvent = $.Event('slide.bs.carousel', {\r\n relatedTarget: relatedTarget,\r\n direction: direction\r\n })\r\n this.$element.trigger(slideEvent)\r\n if (slideEvent.isDefaultPrevented()) return\r\n\r\n this.sliding = true\r\n\r\n isCycling && this.pause()\r\n\r\n if (this.$indicators.length) {\r\n this.$indicators.find('.active').removeClass('active')\r\n var $nextIndicator = $(this.$indicators.children()[this.getItemIndex($next)])\r\n $nextIndicator && $nextIndicator.addClass('active')\r\n }\r\n\r\n var slidEvent = $.Event('slid.bs.carousel', { relatedTarget: relatedTarget, direction: direction }) // yes, \"slid\"\r\n if ($.support.transition && this.$element.hasClass('slide')) {\r\n $next.addClass(type)\r\n $next[0].offsetWidth // force reflow\r\n $active.addClass(direction)\r\n $next.addClass(direction)\r\n $active\r\n .one('bsTransitionEnd', function () {\r\n $next.removeClass([type, direction].join(' ')).addClass('active')\r\n $active.removeClass(['active', direction].join(' '))\r\n that.sliding = false\r\n setTimeout(function () {\r\n that.$element.trigger(slidEvent)\r\n }, 0)\r\n })\r\n .emulateTransitionEnd(Carousel.TRANSITION_DURATION)\r\n } else {\r\n $active.removeClass('active')\r\n $next.addClass('active')\r\n this.sliding = false\r\n this.$element.trigger(slidEvent)\r\n }\r\n\r\n isCycling && this.cycle()\r\n\r\n return this\r\n }\r\n\r\n\r\n // CAROUSEL PLUGIN DEFINITION\r\n // ==========================\r\n\r\n function Plugin(option) {\r\n return this.each(function () {\r\n var $this = $(this)\r\n var data = $this.data('bs.carousel')\r\n var options = $.extend({}, Carousel.DEFAULTS, $this.data(), typeof option == 'object' && option)\r\n var action = typeof option == 'string' ? option : options.slide\r\n\r\n if (!data) $this.data('bs.carousel', (data = new Carousel(this, options)))\r\n if (typeof option == 'number') data.to(option)\r\n else if (action) data[action]()\r\n else if (options.interval) data.pause().cycle()\r\n })\r\n }\r\n\r\n var old = $.fn.carousel\r\n\r\n $.fn.carousel = Plugin\r\n $.fn.carousel.Constructor = Carousel\r\n\r\n\r\n // CAROUSEL NO CONFLICT\r\n // ====================\r\n\r\n $.fn.carousel.noConflict = function () {\r\n $.fn.carousel = old\r\n return this\r\n }\r\n\r\n\r\n // CAROUSEL DATA-API\r\n // =================\r\n\r\n var clickHandler = function (e) {\r\n var href\r\n var $this = $(this)\r\n var $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\\s]+$)/, '')) // strip for ie7\r\n if (!$target.hasClass('carousel')) return\r\n var options = $.extend({}, $target.data(), $this.data())\r\n var slideIndex = $this.attr('data-slide-to')\r\n if (slideIndex) options.interval = false\r\n\r\n Plugin.call($target, options)\r\n\r\n if (slideIndex) {\r\n $target.data('bs.carousel').to(slideIndex)\r\n }\r\n\r\n e.preventDefault()\r\n }\r\n\r\n $(document)\r\n .on('click.bs.carousel.data-api', '[data-slide]', clickHandler)\r\n .on('click.bs.carousel.data-api', '[data-slide-to]', clickHandler)\r\n\r\n $(window).on('load', function () {\r\n $('[data-ride=\"carousel\"]').each(function () {\r\n var $carousel = $(this)\r\n Plugin.call($carousel, $carousel.data())\r\n })\r\n })\r\n\r\n}(jQuery);\r\n\r\n/* ========================================================================\r\n * Bootstrap: dropdown.js v3.3.7\r\n * http://getbootstrap.com/javascript/#dropdowns\r\n * ========================================================================\r\n * Copyright 2011-2016 Twitter, Inc.\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\r\n * ======================================================================== */\r\n\r\n\r\n+function ($) {\r\n 'use strict';\r\n\r\n // DROPDOWN CLASS DEFINITION\r\n // =========================\r\n\r\n var backdrop = '.dropdown-backdrop'\r\n var toggle = '[data-toggle=\"dropdown\"]'\r\n var Dropdown = function (element) {\r\n $(element).on('click.bs.dropdown', this.toggle)\r\n }\r\n\r\n Dropdown.VERSION = '3.3.7'\r\n\r\n function getParent($this) {\r\n var selector = $this.attr('data-target')\r\n\r\n if (!selector) {\r\n selector = $this.attr('href')\r\n selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\\s]*$)/, '') // strip for ie7\r\n }\r\n\r\n var $parent = selector && $(selector)\r\n\r\n return $parent && $parent.length ? $parent : $this.parent()\r\n }\r\n\r\n function clearMenus(e) {\r\n if (e && e.which === 3) return\r\n $(backdrop).remove()\r\n $(toggle).each(function () {\r\n var $this = $(this)\r\n var $parent = getParent($this)\r\n var relatedTarget = { relatedTarget: this }\r\n\r\n if (!$parent.hasClass('open')) return\r\n\r\n if (e && e.type == 'click' && /input|textarea/i.test(e.target.tagName) && $.contains($parent[0], e.target)) return\r\n\r\n $parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget))\r\n\r\n if (e.isDefaultPrevented()) return\r\n\r\n $this.attr('aria-expanded', 'false')\r\n $parent.removeClass('open').trigger($.Event('hidden.bs.dropdown', relatedTarget))\r\n })\r\n }\r\n\r\n Dropdown.prototype.toggle = function (e) {\r\n var $this = $(this)\r\n\r\n if ($this.is('.disabled, :disabled')) return\r\n\r\n var $parent = getParent($this)\r\n var isActive = $parent.hasClass('open')\r\n\r\n clearMenus()\r\n\r\n if (!isActive) {\r\n if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) {\r\n // if mobile we use a backdrop because click events don't delegate\r\n $(document.createElement('div'))\r\n .addClass('dropdown-backdrop')\r\n .insertAfter($(this))\r\n .on('click', clearMenus)\r\n }\r\n\r\n var relatedTarget = { relatedTarget: this }\r\n $parent.trigger(e = $.Event('show.bs.dropdown', relatedTarget))\r\n\r\n if (e.isDefaultPrevented()) return\r\n\r\n $this\r\n .trigger('focus')\r\n .attr('aria-expanded', 'true')\r\n\r\n $parent\r\n .toggleClass('open')\r\n .trigger($.Event('shown.bs.dropdown', relatedTarget))\r\n }\r\n\r\n return false\r\n }\r\n\r\n Dropdown.prototype.keydown = function (e) {\r\n if (!/(38|40|27|32)/.test(e.which) || /input|textarea/i.test(e.target.tagName)) return\r\n\r\n var $this = $(this)\r\n\r\n e.preventDefault()\r\n e.stopPropagation()\r\n\r\n if ($this.is('.disabled, :disabled')) return\r\n\r\n var $parent = getParent($this)\r\n var isActive = $parent.hasClass('open')\r\n\r\n if (!isActive && e.which != 27 || isActive && e.which == 27) {\r\n if (e.which == 27) $parent.find(toggle).trigger('focus')\r\n return $this.trigger('click')\r\n }\r\n\r\n var desc = ' li:not(.disabled):visible a'\r\n var $items = $parent.find('.dropdown-menu' + desc)\r\n\r\n if (!$items.length) return\r\n\r\n var index = $items.index(e.target)\r\n\r\n if (e.which == 38 && index > 0) index-- // up\r\n if (e.which == 40 && index < $items.length - 1) index++ // down\r\n if (!~index) index = 0\r\n\r\n $items.eq(index).trigger('focus')\r\n }\r\n\r\n\r\n // DROPDOWN PLUGIN DEFINITION\r\n // ==========================\r\n\r\n function Plugin(option) {\r\n return this.each(function () {\r\n var $this = $(this)\r\n var data = $this.data('bs.dropdown')\r\n\r\n if (!data) $this.data('bs.dropdown', (data = new Dropdown(this)))\r\n if (typeof option == 'string') data[option].call($this)\r\n })\r\n }\r\n\r\n var old = $.fn.dropdown\r\n\r\n $.fn.dropdown = Plugin\r\n $.fn.dropdown.Constructor = Dropdown\r\n\r\n\r\n // DROPDOWN NO CONFLICT\r\n // ====================\r\n\r\n $.fn.dropdown.noConflict = function () {\r\n $.fn.dropdown = old\r\n return this\r\n }\r\n\r\n\r\n // APPLY TO STANDARD DROPDOWN ELEMENTS\r\n // ===================================\r\n\r\n $(document)\r\n .on('click.bs.dropdown.data-api', clearMenus)\r\n .on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })\r\n .on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle)\r\n .on('keydown.bs.dropdown.data-api', toggle, Dropdown.prototype.keydown)\r\n .on('keydown.bs.dropdown.data-api', '.dropdown-menu', Dropdown.prototype.keydown)\r\n\r\n}(jQuery);\r\n\r\n/* ========================================================================\r\n * Bootstrap: modal.js v3.3.7\r\n * http://getbootstrap.com/javascript/#modals\r\n * ========================================================================\r\n * Copyright 2011-2016 Twitter, Inc.\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\r\n * ======================================================================== */\r\n\r\n\r\n+function ($) {\r\n 'use strict';\r\n\r\n // MODAL CLASS DEFINITION\r\n // ======================\r\n\r\n var Modal = function (element, options) {\r\n this.options = options\r\n this.$body = $(document.body)\r\n this.$element = $(element)\r\n this.$dialog = this.$element.find('.modal-dialog')\r\n this.$backdrop = null\r\n this.isShown = null\r\n this.originalBodyPad = null\r\n this.scrollbarWidth = 0\r\n this.ignoreBackdropClick = false\r\n\r\n if (this.options.remote) {\r\n this.$element\r\n .find('.modal-content')\r\n .load(this.options.remote, $.proxy(function () {\r\n this.$element.trigger('loaded.bs.modal')\r\n }, this))\r\n }\r\n }\r\n\r\n Modal.VERSION = '3.3.7'\r\n\r\n Modal.TRANSITION_DURATION = 300\r\n Modal.BACKDROP_TRANSITION_DURATION = 150\r\n\r\n Modal.DEFAULTS = {\r\n backdrop: true,\r\n keyboard: true,\r\n show: true\r\n }\r\n\r\n Modal.prototype.toggle = function (_relatedTarget) {\r\n return this.isShown ? this.hide() : this.show(_relatedTarget)\r\n }\r\n\r\n Modal.prototype.show = function (_relatedTarget) {\r\n var that = this\r\n var e = $.Event('show.bs.modal', { relatedTarget: _relatedTarget })\r\n\r\n this.$element.trigger(e)\r\n\r\n if (this.isShown || e.isDefaultPrevented()) return\r\n\r\n this.isShown = true\r\n\r\n this.checkScrollbar()\r\n this.setScrollbar()\r\n this.$body.addClass('modal-open')\r\n\r\n this.escape()\r\n this.resize()\r\n\r\n this.$element.on('click.dismiss.bs.modal', '[data-dismiss=\"modal\"]', $.proxy(this.hide, this))\r\n\r\n this.$dialog.on('mousedown.dismiss.bs.modal', function () {\r\n that.$element.one('mouseup.dismiss.bs.modal', function (e) {\r\n if ($(e.target).is(that.$element)) that.ignoreBackdropClick = true\r\n })\r\n })\r\n\r\n this.backdrop(function () {\r\n var transition = $.support.transition && that.$element.hasClass('fade')\r\n\r\n if (!that.$element.parent().length) {\r\n that.$element.appendTo(that.$body) // don't move modals dom position\r\n }\r\n\r\n that.$element\r\n .show()\r\n .scrollTop(0)\r\n\r\n that.adjustDialog()\r\n\r\n if (transition) {\r\n that.$element[0].offsetWidth // force reflow\r\n }\r\n\r\n that.$element.addClass('in')\r\n\r\n that.enforceFocus()\r\n\r\n var e = $.Event('shown.bs.modal', { relatedTarget: _relatedTarget })\r\n\r\n transition ?\r\n that.$dialog // wait for modal to slide in\r\n .one('bsTransitionEnd', function () {\r\n that.$element.trigger('focus').trigger(e)\r\n })\r\n .emulateTransitionEnd(Modal.TRANSITION_DURATION) :\r\n that.$element.trigger('focus').trigger(e)\r\n })\r\n }\r\n\r\n Modal.prototype.hide = function (e) {\r\n if (e) e.preventDefault()\r\n\r\n e = $.Event('hide.bs.modal')\r\n\r\n this.$element.trigger(e)\r\n\r\n if (!this.isShown || e.isDefaultPrevented()) return\r\n\r\n this.isShown = false\r\n\r\n this.escape()\r\n this.resize()\r\n\r\n $(document).off('focusin.bs.modal')\r\n\r\n this.$element\r\n .removeClass('in')\r\n .off('click.dismiss.bs.modal')\r\n .off('mouseup.dismiss.bs.modal')\r\n\r\n this.$dialog.off('mousedown.dismiss.bs.modal')\r\n\r\n $.support.transition && this.$element.hasClass('fade') ?\r\n this.$element\r\n .one('bsTransitionEnd', $.proxy(this.hideModal, this))\r\n .emulateTransitionEnd(Modal.TRANSITION_DURATION) :\r\n this.hideModal()\r\n }\r\n\r\n Modal.prototype.enforceFocus = function () {\r\n $(document)\r\n .off('focusin.bs.modal') // guard against infinite focus loop\r\n .on('focusin.bs.modal', $.proxy(function (e) {\r\n if (document !== e.target &&\r\n this.$element[0] !== e.target &&\r\n !this.$element.has(e.target).length) {\r\n this.$element.trigger('focus')\r\n }\r\n }, this))\r\n }\r\n\r\n Modal.prototype.escape = function () {\r\n if (this.isShown && this.options.keyboard) {\r\n this.$element.on('keydown.dismiss.bs.modal', $.proxy(function (e) {\r\n e.which == 27 && this.hide()\r\n }, this))\r\n } else if (!this.isShown) {\r\n this.$element.off('keydown.dismiss.bs.modal')\r\n }\r\n }\r\n\r\n Modal.prototype.resize = function () {\r\n if (this.isShown) {\r\n $(window).on('resize.bs.modal', $.proxy(this.handleUpdate, this))\r\n } else {\r\n $(window).off('resize.bs.modal')\r\n }\r\n }\r\n\r\n Modal.prototype.hideModal = function () {\r\n var that = this\r\n this.$element.hide()\r\n this.backdrop(function () {\r\n that.$body.removeClass('modal-open')\r\n that.resetAdjustments()\r\n that.resetScrollbar()\r\n that.$element.trigger('hidden.bs.modal')\r\n })\r\n }\r\n\r\n Modal.prototype.removeBackdrop = function () {\r\n this.$backdrop && this.$backdrop.remove()\r\n this.$backdrop = null\r\n }\r\n\r\n Modal.prototype.backdrop = function (callback) {\r\n var that = this\r\n var animate = this.$element.hasClass('fade') ? 'fade' : ''\r\n\r\n if (this.isShown && this.options.backdrop) {\r\n var doAnimate = $.support.transition && animate\r\n\r\n this.$backdrop = $(document.createElement('div'))\r\n .addClass('modal-backdrop ' + animate)\r\n .appendTo(this.$body)\r\n\r\n this.$element.on('click.dismiss.bs.modal', $.proxy(function (e) {\r\n if (this.ignoreBackdropClick) {\r\n this.ignoreBackdropClick = false\r\n return\r\n }\r\n if (e.target !== e.currentTarget) return\r\n this.options.backdrop == 'static'\r\n ? this.$element[0].focus()\r\n : this.hide()\r\n }, this))\r\n\r\n if (doAnimate) this.$backdrop[0].offsetWidth // force reflow\r\n\r\n this.$backdrop.addClass('in')\r\n\r\n if (!callback) return\r\n\r\n doAnimate ?\r\n this.$backdrop\r\n .one('bsTransitionEnd', callback)\r\n .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) :\r\n callback()\r\n\r\n } else if (!this.isShown && this.$backdrop) {\r\n this.$backdrop.removeClass('in')\r\n\r\n var callbackRemove = function () {\r\n that.removeBackdrop()\r\n callback && callback()\r\n }\r\n $.support.transition && this.$element.hasClass('fade') ?\r\n this.$backdrop\r\n .one('bsTransitionEnd', callbackRemove)\r\n .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) :\r\n callbackRemove()\r\n\r\n } else if (callback) {\r\n callback()\r\n }\r\n }\r\n\r\n // these following methods are used to handle overflowing modals\r\n\r\n Modal.prototype.handleUpdate = function () {\r\n this.adjustDialog()\r\n }\r\n\r\n Modal.prototype.adjustDialog = function () {\r\n var modalIsOverflowing = this.$element[0].scrollHeight > document.documentElement.clientHeight\r\n\r\n this.$element.css({\r\n paddingLeft: !this.bodyIsOverflowing && modalIsOverflowing ? this.scrollbarWidth : '',\r\n paddingRight: this.bodyIsOverflowing && !modalIsOverflowing ? this.scrollbarWidth : ''\r\n })\r\n }\r\n\r\n Modal.prototype.resetAdjustments = function () {\r\n this.$element.css({\r\n paddingLeft: '',\r\n paddingRight: ''\r\n })\r\n }\r\n\r\n Modal.prototype.checkScrollbar = function () {\r\n var fullWindowWidth = window.innerWidth\r\n if (!fullWindowWidth) { // workaround for missing window.innerWidth in IE8\r\n var documentElementRect = document.documentElement.getBoundingClientRect()\r\n fullWindowWidth = documentElementRect.right - Math.abs(documentElementRect.left)\r\n }\r\n this.bodyIsOverflowing = document.body.clientWidth < fullWindowWidth\r\n this.scrollbarWidth = this.measureScrollbar()\r\n }\r\n\r\n Modal.prototype.setScrollbar = function () {\r\n var bodyPad = parseInt((this.$body.css('padding-right') || 0), 10)\r\n this.originalBodyPad = document.body.style.paddingRight || ''\r\n if (this.bodyIsOverflowing) this.$body.css('padding-right', bodyPad + this.scrollbarWidth)\r\n }\r\n\r\n Modal.prototype.resetScrollbar = function () {\r\n this.$body.css('padding-right', this.originalBodyPad)\r\n }\r\n\r\n Modal.prototype.measureScrollbar = function () { // thx walsh\r\n var scrollDiv = document.createElement('div')\r\n scrollDiv.className = 'modal-scrollbar-measure'\r\n this.$body.append(scrollDiv)\r\n var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth\r\n this.$body[0].removeChild(scrollDiv)\r\n return scrollbarWidth\r\n }\r\n\r\n\r\n // MODAL PLUGIN DEFINITION\r\n // =======================\r\n\r\n function Plugin(option, _relatedTarget) {\r\n return this.each(function () {\r\n var $this = $(this)\r\n var data = $this.data('bs.modal')\r\n var options = $.extend({}, Modal.DEFAULTS, $this.data(), typeof option == 'object' && option)\r\n\r\n if (!data) $this.data('bs.modal', (data = new Modal(this, options)))\r\n if (typeof option == 'string') data[option](_relatedTarget)\r\n else if (options.show) data.show(_relatedTarget)\r\n })\r\n }\r\n\r\n var old = $.fn.modal\r\n\r\n $.fn.modal = Plugin\r\n $.fn.modal.Constructor = Modal\r\n\r\n\r\n // MODAL NO CONFLICT\r\n // =================\r\n\r\n $.fn.modal.noConflict = function () {\r\n $.fn.modal = old\r\n return this\r\n }\r\n\r\n\r\n // MODAL DATA-API\r\n // ==============\r\n\r\n $(document).on('click.bs.modal.data-api', '[data-toggle=\"modal\"]', function (e) {\r\n var $this = $(this)\r\n var href = $this.attr('href')\r\n var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\\s]+$)/, ''))) // strip for ie7\r\n var option = $target.data('bs.modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data())\r\n\r\n if ($this.is('a')) e.preventDefault()\r\n\r\n $target.one('show.bs.modal', function (showEvent) {\r\n if (showEvent.isDefaultPrevented()) return // only register focus restorer if modal will actually get shown\r\n $target.one('hidden.bs.modal', function () {\r\n $this.is(':visible') && $this.trigger('focus')\r\n })\r\n })\r\n Plugin.call($target, option, this)\r\n })\r\n\r\n}(jQuery);\r\n\r\n/* ========================================================================\r\n * Bootstrap: tooltip.js v3.3.7\r\n * http://getbootstrap.com/javascript/#tooltip\r\n * Inspired by the original jQuery.tipsy by Jason Frame\r\n * ========================================================================\r\n * Copyright 2011-2016 Twitter, Inc.\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\r\n * ======================================================================== */\r\n\r\n\r\n+function ($) {\r\n 'use strict';\r\n\r\n // TOOLTIP PUBLIC CLASS DEFINITION\r\n // ===============================\r\n\r\n var Tooltip = function (element, options) {\r\n this.type = null\r\n this.options = null\r\n this.enabled = null\r\n this.timeout = null\r\n this.hoverState = null\r\n this.$element = null\r\n this.inState = null\r\n\r\n this.init('tooltip', element, options)\r\n }\r\n\r\n Tooltip.VERSION = '3.3.7'\r\n\r\n Tooltip.TRANSITION_DURATION = 150\r\n\r\n Tooltip.DEFAULTS = {\r\n animation: true,\r\n placement: 'top',\r\n selector: false,\r\n template: '
',\r\n trigger: 'hover focus',\r\n title: '',\r\n delay: 0,\r\n html: false,\r\n container: false,\r\n viewport: {\r\n selector: 'body',\r\n padding: 0\r\n }\r\n }\r\n\r\n Tooltip.prototype.init = function (type, element, options) {\r\n this.enabled = true\r\n this.type = type\r\n this.$element = $(element)\r\n this.options = this.getOptions(options)\r\n this.$viewport = this.options.viewport && $($.isFunction(this.options.viewport) ? this.options.viewport.call(this, this.$element) : (this.options.viewport.selector || this.options.viewport))\r\n this.inState = { click: false, hover: false, focus: false }\r\n\r\n if (this.$element[0] instanceof document.constructor && !this.options.selector) {\r\n throw new Error('`selector` option must be specified when initializing ' + this.type + ' on the window.document object!')\r\n }\r\n\r\n var triggers = this.options.trigger.split(' ')\r\n\r\n for (var i = triggers.length; i--;) {\r\n var trigger = triggers[i]\r\n\r\n if (trigger == 'click') {\r\n this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))\r\n } else if (trigger != 'manual') {\r\n var eventIn = trigger == 'hover' ? 'mouseenter' : 'focusin'\r\n var eventOut = trigger == 'hover' ? 'mouseleave' : 'focusout'\r\n\r\n this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this))\r\n this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))\r\n }\r\n }\r\n\r\n this.options.selector ?\r\n (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) :\r\n this.fixTitle()\r\n }\r\n\r\n Tooltip.prototype.getDefaults = function () {\r\n return Tooltip.DEFAULTS\r\n }\r\n\r\n Tooltip.prototype.getOptions = function (options) {\r\n options = $.extend({}, this.getDefaults(), this.$element.data(), options)\r\n\r\n if (options.delay && typeof options.delay == 'number') {\r\n options.delay = {\r\n show: options.delay,\r\n hide: options.delay\r\n }\r\n }\r\n\r\n return options\r\n }\r\n\r\n Tooltip.prototype.getDelegateOptions = function () {\r\n var options = {}\r\n var defaults = this.getDefaults()\r\n\r\n this._options && $.each(this._options, function (key, value) {\r\n if (defaults[key] != value) options[key] = value\r\n })\r\n\r\n return options\r\n }\r\n\r\n Tooltip.prototype.enter = function (obj) {\r\n var self = obj instanceof this.constructor ?\r\n obj : $(obj.currentTarget).data('bs.' + this.type)\r\n\r\n if (!self) {\r\n self = new this.constructor(obj.currentTarget, this.getDelegateOptions())\r\n $(obj.currentTarget).data('bs.' + this.type, self)\r\n }\r\n\r\n if (obj instanceof $.Event) {\r\n self.inState[obj.type == 'focusin' ? 'focus' : 'hover'] = true\r\n }\r\n\r\n if (self.tip().hasClass('in') || self.hoverState == 'in') {\r\n self.hoverState = 'in'\r\n return\r\n }\r\n\r\n clearTimeout(self.timeout)\r\n\r\n self.hoverState = 'in'\r\n\r\n if (!self.options.delay || !self.options.delay.show) return self.show()\r\n\r\n self.timeout = setTimeout(function () {\r\n if (self.hoverState == 'in') self.show()\r\n }, self.options.delay.show)\r\n }\r\n\r\n Tooltip.prototype.isInStateTrue = function () {\r\n for (var key in this.inState) {\r\n if (this.inState[key]) return true\r\n }\r\n\r\n return false\r\n }\r\n\r\n Tooltip.prototype.leave = function (obj) {\r\n var self = obj instanceof this.constructor ?\r\n obj : $(obj.currentTarget).data('bs.' + this.type)\r\n\r\n if (!self) {\r\n self = new this.constructor(obj.currentTarget, this.getDelegateOptions())\r\n $(obj.currentTarget).data('bs.' + this.type, self)\r\n }\r\n\r\n if (obj instanceof $.Event) {\r\n self.inState[obj.type == 'focusout' ? 'focus' : 'hover'] = false\r\n }\r\n\r\n if (self.isInStateTrue()) return\r\n\r\n clearTimeout(self.timeout)\r\n\r\n self.hoverState = 'out'\r\n\r\n if (!self.options.delay || !self.options.delay.hide) return self.hide()\r\n\r\n self.timeout = setTimeout(function () {\r\n if (self.hoverState == 'out') self.hide()\r\n }, self.options.delay.hide)\r\n }\r\n\r\n Tooltip.prototype.show = function () {\r\n var e = $.Event('show.bs.' + this.type)\r\n\r\n if (this.hasContent() && this.enabled) {\r\n this.$element.trigger(e)\r\n\r\n var inDom = $.contains(this.$element[0].ownerDocument.documentElement, this.$element[0])\r\n if (e.isDefaultPrevented() || !inDom) return\r\n var that = this\r\n\r\n var $tip = this.tip()\r\n\r\n var tipId = this.getUID(this.type)\r\n\r\n this.setContent()\r\n $tip.attr('id', tipId)\r\n this.$element.attr('aria-describedby', tipId)\r\n\r\n if (this.options.animation) $tip.addClass('fade')\r\n\r\n var placement = typeof this.options.placement == 'function' ?\r\n this.options.placement.call(this, $tip[0], this.$element[0]) :\r\n this.options.placement\r\n\r\n var autoToken = /\\s?auto?\\s?/i\r\n var autoPlace = autoToken.test(placement)\r\n if (autoPlace) placement = placement.replace(autoToken, '') || 'top'\r\n\r\n $tip\r\n .detach()\r\n .css({ top: 0, left: 0, display: 'block' })\r\n .addClass(placement)\r\n .data('bs.' + this.type, this)\r\n\r\n this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)\r\n this.$element.trigger('inserted.bs.' + this.type)\r\n\r\n var pos = this.getPosition()\r\n var actualWidth = $tip[0].offsetWidth\r\n var actualHeight = $tip[0].offsetHeight\r\n\r\n if (autoPlace) {\r\n var orgPlacement = placement\r\n var viewportDim = this.getPosition(this.$viewport)\r\n\r\n placement = placement == 'bottom' && pos.bottom + actualHeight > viewportDim.bottom ? 'top' :\r\n placement == 'top' && pos.top - actualHeight < viewportDim.top ? 'bottom' :\r\n placement == 'right' && pos.right + actualWidth > viewportDim.width ? 'left' :\r\n placement == 'left' && pos.left - actualWidth < viewportDim.left ? 'right' :\r\n placement\r\n\r\n $tip\r\n .removeClass(orgPlacement)\r\n .addClass(placement)\r\n }\r\n\r\n var calculatedOffset = this.getCalculatedOffset(placement, pos, actualWidth, actualHeight)\r\n\r\n this.applyPlacement(calculatedOffset, placement)\r\n\r\n var complete = function () {\r\n var prevHoverState = that.hoverState\r\n that.$element.trigger('shown.bs.' + that.type)\r\n that.hoverState = null\r\n\r\n if (prevHoverState == 'out') that.leave(that)\r\n }\r\n\r\n $.support.transition && this.$tip.hasClass('fade') ?\r\n $tip\r\n .one('bsTransitionEnd', complete)\r\n .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) :\r\n complete()\r\n }\r\n }\r\n\r\n Tooltip.prototype.applyPlacement = function (offset, placement) {\r\n var $tip = this.tip()\r\n var width = $tip[0].offsetWidth\r\n var height = $tip[0].offsetHeight\r\n\r\n // manually read margins because getBoundingClientRect includes difference\r\n var marginTop = parseInt($tip.css('margin-top'), 10)\r\n var marginLeft = parseInt($tip.css('margin-left'), 10)\r\n\r\n // we must check for NaN for ie 8/9\r\n if (isNaN(marginTop)) marginTop = 0\r\n if (isNaN(marginLeft)) marginLeft = 0\r\n\r\n offset.top += marginTop\r\n offset.left += marginLeft\r\n\r\n // $.fn.offset doesn't round pixel values\r\n // so we use setOffset directly with our own function B-0\r\n $.offset.setOffset($tip[0], $.extend({\r\n using: function (props) {\r\n $tip.css({\r\n top: Math.round(props.top),\r\n left: Math.round(props.left)\r\n })\r\n }\r\n }, offset), 0)\r\n\r\n $tip.addClass('in')\r\n\r\n // check to see if placing tip in new offset caused the tip to resize itself\r\n var actualWidth = $tip[0].offsetWidth\r\n var actualHeight = $tip[0].offsetHeight\r\n\r\n if (placement == 'top' && actualHeight != height) {\r\n offset.top = offset.top + height - actualHeight\r\n }\r\n\r\n var delta = this.getViewportAdjustedDelta(placement, offset, actualWidth, actualHeight)\r\n\r\n if (delta.left) offset.left += delta.left\r\n else offset.top += delta.top\r\n\r\n var isVertical = /top|bottom/.test(placement)\r\n var arrowDelta = isVertical ? delta.left * 2 - width + actualWidth : delta.top * 2 - height + actualHeight\r\n var arrowOffsetPosition = isVertical ? 'offsetWidth' : 'offsetHeight'\r\n\r\n $tip.offset(offset)\r\n this.replaceArrow(arrowDelta, $tip[0][arrowOffsetPosition], isVertical)\r\n }\r\n\r\n Tooltip.prototype.replaceArrow = function (delta, dimension, isVertical) {\r\n this.arrow()\r\n .css(isVertical ? 'left' : 'top', 50 * (1 - delta / dimension) + '%')\r\n .css(isVertical ? 'top' : 'left', '')\r\n }\r\n\r\n Tooltip.prototype.setContent = function () {\r\n var $tip = this.tip()\r\n var title = this.getTitle()\r\n\r\n $tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title)\r\n $tip.removeClass('fade in top bottom left right')\r\n }\r\n\r\n Tooltip.prototype.hide = function (callback) {\r\n var that = this\r\n var $tip = $(this.$tip)\r\n var e = $.Event('hide.bs.' + this.type)\r\n\r\n function complete() {\r\n if (that.hoverState != 'in') $tip.detach()\r\n if (that.$element) { // TODO: Check whether guarding this code with this `if` is really necessary.\r\n that.$element\r\n .removeAttr('aria-describedby')\r\n .trigger('hidden.bs.' + that.type)\r\n }\r\n callback && callback()\r\n }\r\n\r\n this.$element.trigger(e)\r\n\r\n if (e.isDefaultPrevented()) return\r\n\r\n $tip.removeClass('in')\r\n\r\n $.support.transition && $tip.hasClass('fade') ?\r\n $tip\r\n .one('bsTransitionEnd', complete)\r\n .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) :\r\n complete()\r\n\r\n this.hoverState = null\r\n\r\n return this\r\n }\r\n\r\n Tooltip.prototype.fixTitle = function () {\r\n var $e = this.$element\r\n if ($e.attr('title') || typeof $e.attr('data-original-title') != 'string') {\r\n $e.attr('data-original-title', $e.attr('title') || '').attr('title', '')\r\n }\r\n }\r\n\r\n Tooltip.prototype.hasContent = function () {\r\n return this.getTitle()\r\n }\r\n\r\n Tooltip.prototype.getPosition = function ($element) {\r\n $element = $element || this.$element\r\n\r\n var el = $element[0]\r\n var isBody = el.tagName == 'BODY'\r\n\r\n var elRect = el.getBoundingClientRect()\r\n if (elRect.width == null) {\r\n // width and height are missing in IE8, so compute them manually; see https://github.com/twbs/bootstrap/issues/14093\r\n elRect = $.extend({}, elRect, { width: elRect.right - elRect.left, height: elRect.bottom - elRect.top })\r\n }\r\n var isSvg = window.SVGElement && el instanceof window.SVGElement\r\n // Avoid using $.offset() on SVGs since it gives incorrect results in jQuery 3.\r\n // See https://github.com/twbs/bootstrap/issues/20280\r\n var elOffset = isBody ? { top: 0, left: 0 } : (isSvg ? null : $element.offset())\r\n var scroll = { scroll: isBody ? document.documentElement.scrollTop || document.body.scrollTop : $element.scrollTop() }\r\n var outerDims = isBody ? { width: $(window).width(), height: $(window).height() } : null\r\n\r\n return $.extend({}, elRect, scroll, outerDims, elOffset)\r\n }\r\n\r\n Tooltip.prototype.getCalculatedOffset = function (placement, pos, actualWidth, actualHeight) {\r\n return placement == 'bottom' ? { top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2 } :\r\n placement == 'top' ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 } :\r\n placement == 'left' ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } :\r\n /* placement == 'right' */ { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width }\r\n\r\n }\r\n\r\n Tooltip.prototype.getViewportAdjustedDelta = function (placement, pos, actualWidth, actualHeight) {\r\n var delta = { top: 0, left: 0 }\r\n if (!this.$viewport) return delta\r\n\r\n var viewportPadding = this.options.viewport && this.options.viewport.padding || 0\r\n var viewportDimensions = this.getPosition(this.$viewport)\r\n\r\n if (/right|left/.test(placement)) {\r\n var topEdgeOffset = pos.top - viewportPadding - viewportDimensions.scroll\r\n var bottomEdgeOffset = pos.top + viewportPadding - viewportDimensions.scroll + actualHeight\r\n if (topEdgeOffset < viewportDimensions.top) { // top overflow\r\n delta.top = viewportDimensions.top - topEdgeOffset\r\n } else if (bottomEdgeOffset > viewportDimensions.top + viewportDimensions.height) { // bottom overflow\r\n delta.top = viewportDimensions.top + viewportDimensions.height - bottomEdgeOffset\r\n }\r\n } else {\r\n var leftEdgeOffset = pos.left - viewportPadding\r\n var rightEdgeOffset = pos.left + viewportPadding + actualWidth\r\n if (leftEdgeOffset < viewportDimensions.left) { // left overflow\r\n delta.left = viewportDimensions.left - leftEdgeOffset\r\n } else if (rightEdgeOffset > viewportDimensions.right) { // right overflow\r\n delta.left = viewportDimensions.left + viewportDimensions.width - rightEdgeOffset\r\n }\r\n }\r\n\r\n return delta\r\n }\r\n\r\n Tooltip.prototype.getTitle = function () {\r\n var title\r\n var $e = this.$element\r\n var o = this.options\r\n\r\n title = $e.attr('data-original-title')\r\n || (typeof o.title == 'function' ? o.title.call($e[0]) : o.title)\r\n\r\n return title\r\n }\r\n\r\n Tooltip.prototype.getUID = function (prefix) {\r\n do prefix += ~~(Math.random() * 1000000)\r\n while (document.getElementById(prefix))\r\n return prefix\r\n }\r\n\r\n Tooltip.prototype.tip = function () {\r\n if (!this.$tip) {\r\n this.$tip = $(this.options.template)\r\n if (this.$tip.length != 1) {\r\n throw new Error(this.type + ' `template` option must consist of exactly 1 top-level element!')\r\n }\r\n }\r\n return this.$tip\r\n }\r\n\r\n Tooltip.prototype.arrow = function () {\r\n return (this.$arrow = this.$arrow || this.tip().find('.tooltip-arrow'))\r\n }\r\n\r\n Tooltip.prototype.enable = function () {\r\n this.enabled = true\r\n }\r\n\r\n Tooltip.prototype.disable = function () {\r\n this.enabled = false\r\n }\r\n\r\n Tooltip.prototype.toggleEnabled = function () {\r\n this.enabled = !this.enabled\r\n }\r\n\r\n Tooltip.prototype.toggle = function (e) {\r\n var self = this\r\n if (e) {\r\n self = $(e.currentTarget).data('bs.' + this.type)\r\n if (!self) {\r\n self = new this.constructor(e.currentTarget, this.getDelegateOptions())\r\n $(e.currentTarget).data('bs.' + this.type, self)\r\n }\r\n }\r\n\r\n if (e) {\r\n self.inState.click = !self.inState.click\r\n if (self.isInStateTrue()) self.enter(self)\r\n else self.leave(self)\r\n } else {\r\n self.tip().hasClass('in') ? self.leave(self) : self.enter(self)\r\n }\r\n }\r\n\r\n Tooltip.prototype.destroy = function () {\r\n var that = this\r\n clearTimeout(this.timeout)\r\n this.hide(function () {\r\n that.$element.off('.' + that.type).removeData('bs.' + that.type)\r\n if (that.$tip) {\r\n that.$tip.detach()\r\n }\r\n that.$tip = null\r\n that.$arrow = null\r\n that.$viewport = null\r\n that.$element = null\r\n })\r\n }\r\n\r\n\r\n // TOOLTIP PLUGIN DEFINITION\r\n // =========================\r\n\r\n function Plugin(option) {\r\n return this.each(function () {\r\n var $this = $(this)\r\n var data = $this.data('bs.tooltip')\r\n var options = typeof option == 'object' && option\r\n\r\n if (!data && /destroy|hide/.test(option)) return\r\n if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options)))\r\n if (typeof option == 'string') data[option]()\r\n })\r\n }\r\n\r\n var old = $.fn.tooltip\r\n\r\n $.fn.tooltip = Plugin\r\n $.fn.tooltip.Constructor = Tooltip\r\n\r\n\r\n // TOOLTIP NO CONFLICT\r\n // ===================\r\n\r\n $.fn.tooltip.noConflict = function () {\r\n $.fn.tooltip = old\r\n return this\r\n }\r\n\r\n}(jQuery);\r\n\r\n/* ========================================================================\r\n * Bootstrap: popover.js v3.3.7\r\n * http://getbootstrap.com/javascript/#popovers\r\n * ========================================================================\r\n * Copyright 2011-2016 Twitter, Inc.\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\r\n * ======================================================================== */\r\n\r\n\r\n+function ($) {\r\n 'use strict';\r\n\r\n // POPOVER PUBLIC CLASS DEFINITION\r\n // ===============================\r\n\r\n var Popover = function (element, options) {\r\n this.init('popover', element, options)\r\n }\r\n\r\n if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js')\r\n\r\n Popover.VERSION = '3.3.7'\r\n\r\n Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, {\r\n placement: 'right',\r\n trigger: 'click',\r\n content: '',\r\n template: '

'\r\n })\r\n\r\n\r\n // NOTE: POPOVER EXTENDS tooltip.js\r\n // ================================\r\n\r\n Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype)\r\n\r\n Popover.prototype.constructor = Popover\r\n\r\n Popover.prototype.getDefaults = function () {\r\n return Popover.DEFAULTS\r\n }\r\n\r\n Popover.prototype.setContent = function () {\r\n var $tip = this.tip()\r\n var title = this.getTitle()\r\n var content = this.getContent()\r\n\r\n $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title)\r\n $tip.find('.popover-content').children().detach().end()[ // we use append for html objects to maintain js events\r\n this.options.html ? (typeof content == 'string' ? 'html' : 'append') : 'text'\r\n ](content)\r\n\r\n $tip.removeClass('fade top bottom left right in')\r\n\r\n // IE8 doesn't accept hiding via the `:empty` pseudo selector, we have to do\r\n // this manually by checking the contents.\r\n if (!$tip.find('.popover-title').html()) $tip.find('.popover-title').hide()\r\n }\r\n\r\n Popover.prototype.hasContent = function () {\r\n return this.getTitle() || this.getContent()\r\n }\r\n\r\n Popover.prototype.getContent = function () {\r\n var $e = this.$element\r\n var o = this.options\r\n\r\n return $e.attr('data-content')\r\n || (typeof o.content == 'function' ?\r\n o.content.call($e[0]) :\r\n o.content)\r\n }\r\n\r\n Popover.prototype.arrow = function () {\r\n return (this.$arrow = this.$arrow || this.tip().find('.arrow'))\r\n }\r\n\r\n\r\n // POPOVER PLUGIN DEFINITION\r\n // =========================\r\n\r\n function Plugin(option) {\r\n return this.each(function () {\r\n var $this = $(this)\r\n var data = $this.data('bs.popover')\r\n var options = typeof option == 'object' && option\r\n\r\n if (!data && /destroy|hide/.test(option)) return\r\n if (!data) $this.data('bs.popover', (data = new Popover(this, options)))\r\n if (typeof option == 'string') data[option]()\r\n })\r\n }\r\n\r\n var old = $.fn.popover\r\n\r\n $.fn.popover = Plugin\r\n $.fn.popover.Constructor = Popover\r\n\r\n\r\n // POPOVER NO CONFLICT\r\n // ===================\r\n\r\n $.fn.popover.noConflict = function () {\r\n $.fn.popover = old\r\n return this\r\n }\r\n\r\n}(jQuery);\r\n\r\n/* ========================================================================\r\n * Bootstrap: tab.js v3.3.7\r\n * http://getbootstrap.com/javascript/#tabs\r\n * ========================================================================\r\n * Copyright 2011-2016 Twitter, Inc.\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\r\n * ======================================================================== */\r\n\r\n\r\n+function ($) {\r\n 'use strict';\r\n\r\n // TAB CLASS DEFINITION\r\n // ====================\r\n\r\n var Tab = function (element) {\r\n // jscs:disable requireDollarBeforejQueryAssignment\r\n this.element = $(element)\r\n // jscs:enable requireDollarBeforejQueryAssignment\r\n }\r\n\r\n Tab.VERSION = '3.3.7'\r\n\r\n Tab.TRANSITION_DURATION = 150\r\n\r\n Tab.prototype.show = function () {\r\n var $this = this.element\r\n var $ul = $this.closest('ul:not(.dropdown-menu)')\r\n var selector = $this.data('target')\r\n\r\n if (!selector) {\r\n selector = $this.attr('href')\r\n selector = selector && selector.replace(/.*(?=#[^\\s]*$)/, '') // strip for ie7\r\n }\r\n\r\n if ($this.parent('li').hasClass('active')) return\r\n\r\n var $previous = $ul.find('.active:last a')\r\n var hideEvent = $.Event('hide.bs.tab', {\r\n relatedTarget: $this[0]\r\n })\r\n var showEvent = $.Event('show.bs.tab', {\r\n relatedTarget: $previous[0]\r\n })\r\n\r\n $previous.trigger(hideEvent)\r\n $this.trigger(showEvent)\r\n\r\n if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) return\r\n\r\n var $target = $(selector)\r\n\r\n this.activate($this.closest('li'), $ul)\r\n this.activate($target, $target.parent(), function () {\r\n $previous.trigger({\r\n type: 'hidden.bs.tab',\r\n relatedTarget: $this[0]\r\n })\r\n $this.trigger({\r\n type: 'shown.bs.tab',\r\n relatedTarget: $previous[0]\r\n })\r\n })\r\n }\r\n\r\n Tab.prototype.activate = function (element, container, callback) {\r\n var $active = container.find('> .active')\r\n var transition = callback\r\n && $.support.transition\r\n && ($active.length && $active.hasClass('fade') || !!container.find('> .fade').length)\r\n\r\n function next() {\r\n $active\r\n .removeClass('active')\r\n .find('> .dropdown-menu > .active')\r\n .removeClass('active')\r\n .end()\r\n .find('[data-toggle=\"tab\"]')\r\n .attr('aria-expanded', false)\r\n\r\n element\r\n .addClass('active')\r\n .find('[data-toggle=\"tab\"]')\r\n .attr('aria-expanded', true)\r\n\r\n if (transition) {\r\n element[0].offsetWidth // reflow for transition\r\n element.addClass('in')\r\n } else {\r\n element.removeClass('fade')\r\n }\r\n\r\n if (element.parent('.dropdown-menu').length) {\r\n element\r\n .closest('li.dropdown')\r\n .addClass('active')\r\n .end()\r\n .find('[data-toggle=\"tab\"]')\r\n .attr('aria-expanded', true)\r\n }\r\n\r\n callback && callback()\r\n }\r\n\r\n $active.length && transition ?\r\n $active\r\n .one('bsTransitionEnd', next)\r\n .emulateTransitionEnd(Tab.TRANSITION_DURATION) :\r\n next()\r\n\r\n $active.removeClass('in')\r\n }\r\n\r\n\r\n // TAB PLUGIN DEFINITION\r\n // =====================\r\n\r\n function Plugin(option) {\r\n return this.each(function () {\r\n var $this = $(this)\r\n var data = $this.data('bs.tab')\r\n\r\n if (!data) $this.data('bs.tab', (data = new Tab(this)))\r\n if (typeof option == 'string') data[option]()\r\n })\r\n }\r\n\r\n var old = $.fn.tab\r\n\r\n $.fn.tab = Plugin\r\n $.fn.tab.Constructor = Tab\r\n\r\n\r\n // TAB NO CONFLICT\r\n // ===============\r\n\r\n $.fn.tab.noConflict = function () {\r\n $.fn.tab = old\r\n return this\r\n }\r\n\r\n\r\n // TAB DATA-API\r\n // ============\r\n\r\n var clickHandler = function (e) {\r\n e.preventDefault()\r\n Plugin.call($(this), 'show')\r\n }\r\n\r\n $(document)\r\n .on('click.bs.tab.data-api', '[data-toggle=\"tab\"]', clickHandler)\r\n .on('click.bs.tab.data-api', '[data-toggle=\"pill\"]', clickHandler)\r\n\r\n}(jQuery);\r\n\r\n/* ========================================================================\r\n * Bootstrap: affix.js v3.3.7\r\n * http://getbootstrap.com/javascript/#affix\r\n * ========================================================================\r\n * Copyright 2011-2016 Twitter, Inc.\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\r\n * ======================================================================== */\r\n\r\n\r\n+function ($) {\r\n 'use strict';\r\n\r\n // AFFIX CLASS DEFINITION\r\n // ======================\r\n\r\n var Affix = function (element, options) {\r\n this.options = $.extend({}, Affix.DEFAULTS, options)\r\n\r\n this.$target = $(this.options.target)\r\n .on('scroll.bs.affix.data-api', $.proxy(this.checkPosition, this))\r\n .on('click.bs.affix.data-api', $.proxy(this.checkPositionWithEventLoop, this))\r\n\r\n this.$element = $(element)\r\n this.affixed = null\r\n this.unpin = null\r\n this.pinnedOffset = null\r\n\r\n this.checkPosition()\r\n }\r\n\r\n Affix.VERSION = '3.3.7'\r\n\r\n Affix.RESET = 'affix affix-top affix-bottom'\r\n\r\n Affix.DEFAULTS = {\r\n offset: 0,\r\n target: window\r\n }\r\n\r\n Affix.prototype.getState = function (scrollHeight, height, offsetTop, offsetBottom) {\r\n var scrollTop = this.$target.scrollTop()\r\n var position = this.$element.offset()\r\n var targetHeight = this.$target.height()\r\n\r\n if (offsetTop != null && this.affixed == 'top') return scrollTop < offsetTop ? 'top' : false\r\n\r\n if (this.affixed == 'bottom') {\r\n if (offsetTop != null) return (scrollTop + this.unpin <= position.top) ? false : 'bottom'\r\n return (scrollTop + targetHeight <= scrollHeight - offsetBottom) ? false : 'bottom'\r\n }\r\n\r\n var initializing = this.affixed == null\r\n var colliderTop = initializing ? scrollTop : position.top\r\n var colliderHeight = initializing ? targetHeight : height\r\n\r\n if (offsetTop != null && scrollTop <= offsetTop) return 'top'\r\n if (offsetBottom != null && (colliderTop + colliderHeight >= scrollHeight - offsetBottom)) return 'bottom'\r\n\r\n return false\r\n }\r\n\r\n Affix.prototype.getPinnedOffset = function () {\r\n if (this.pinnedOffset) return this.pinnedOffset\r\n this.$element.removeClass(Affix.RESET).addClass('affix')\r\n var scrollTop = this.$target.scrollTop()\r\n var position = this.$element.offset()\r\n return (this.pinnedOffset = position.top - scrollTop)\r\n }\r\n\r\n Affix.prototype.checkPositionWithEventLoop = function () {\r\n setTimeout($.proxy(this.checkPosition, this), 1)\r\n }\r\n\r\n Affix.prototype.checkPosition = function () {\r\n if (!this.$element.is(':visible')) return\r\n\r\n var height = this.$element.height()\r\n var offset = this.options.offset\r\n var offsetTop = offset.top\r\n var offsetBottom = offset.bottom\r\n var scrollHeight = Math.max($(document).height(), $(document.body).height())\r\n\r\n if (typeof offset != 'object') offsetBottom = offsetTop = offset\r\n if (typeof offsetTop == 'function') offsetTop = offset.top(this.$element)\r\n if (typeof offsetBottom == 'function') offsetBottom = offset.bottom(this.$element)\r\n\r\n var affix = this.getState(scrollHeight, height, offsetTop, offsetBottom)\r\n\r\n if (this.affixed != affix) {\r\n if (this.unpin != null) this.$element.css('top', '')\r\n\r\n var affixType = 'affix' + (affix ? '-' + affix : '')\r\n var e = $.Event(affixType + '.bs.affix')\r\n\r\n this.$element.trigger(e)\r\n\r\n if (e.isDefaultPrevented()) return\r\n\r\n this.affixed = affix\r\n this.unpin = affix == 'bottom' ? this.getPinnedOffset() : null\r\n\r\n this.$element\r\n .removeClass(Affix.RESET)\r\n .addClass(affixType)\r\n .trigger(affixType.replace('affix', 'affixed') + '.bs.affix')\r\n }\r\n\r\n if (affix == 'bottom') {\r\n this.$element.offset({\r\n top: scrollHeight - height - offsetBottom\r\n })\r\n }\r\n }\r\n\r\n\r\n // AFFIX PLUGIN DEFINITION\r\n // =======================\r\n\r\n function Plugin(option) {\r\n return this.each(function () {\r\n var $this = $(this)\r\n var data = $this.data('bs.affix')\r\n var options = typeof option == 'object' && option\r\n\r\n if (!data) $this.data('bs.affix', (data = new Affix(this, options)))\r\n if (typeof option == 'string') data[option]()\r\n })\r\n }\r\n\r\n var old = $.fn.affix\r\n\r\n $.fn.affix = Plugin\r\n $.fn.affix.Constructor = Affix\r\n\r\n\r\n // AFFIX NO CONFLICT\r\n // =================\r\n\r\n $.fn.affix.noConflict = function () {\r\n $.fn.affix = old\r\n return this\r\n }\r\n\r\n\r\n // AFFIX DATA-API\r\n // ==============\r\n\r\n $(window).on('load', function () {\r\n $('[data-spy=\"affix\"]').each(function () {\r\n var $spy = $(this)\r\n var data = $spy.data()\r\n\r\n data.offset = data.offset || {}\r\n\r\n if (data.offsetBottom != null) data.offset.bottom = data.offsetBottom\r\n if (data.offsetTop != null) data.offset.top = data.offsetTop\r\n\r\n Plugin.call($spy, data)\r\n })\r\n })\r\n\r\n}(jQuery);\r\n\r\n/* ========================================================================\r\n * Bootstrap: collapse.js v3.3.7\r\n * http://getbootstrap.com/javascript/#collapse\r\n * ========================================================================\r\n * Copyright 2011-2016 Twitter, Inc.\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\r\n * ======================================================================== */\r\n\r\n/* jshint latedef: false */\r\n\r\n+function ($) {\r\n 'use strict';\r\n\r\n // COLLAPSE PUBLIC CLASS DEFINITION\r\n // ================================\r\n\r\n var Collapse = function (element, options) {\r\n this.$element = $(element)\r\n this.options = $.extend({}, Collapse.DEFAULTS, options)\r\n this.$trigger = $('[data-toggle=\"collapse\"][href=\"#' + element.id + '\"],' +\r\n '[data-toggle=\"collapse\"][data-target=\"#' + element.id + '\"]')\r\n this.transitioning = null\r\n\r\n if (this.options.parent) {\r\n this.$parent = this.getParent()\r\n } else {\r\n this.addAriaAndCollapsedClass(this.$element, this.$trigger)\r\n }\r\n\r\n if (this.options.toggle) this.toggle()\r\n }\r\n\r\n Collapse.VERSION = '3.3.7'\r\n\r\n Collapse.TRANSITION_DURATION = 350\r\n\r\n Collapse.DEFAULTS = {\r\n toggle: true\r\n }\r\n\r\n Collapse.prototype.dimension = function () {\r\n var hasWidth = this.$element.hasClass('width')\r\n return hasWidth ? 'width' : 'height'\r\n }\r\n\r\n Collapse.prototype.show = function () {\r\n if (this.transitioning || this.$element.hasClass('in')) return\r\n\r\n var activesData\r\n var actives = this.$parent && this.$parent.children('.panel').children('.in, .collapsing')\r\n\r\n if (actives && actives.length) {\r\n activesData = actives.data('bs.collapse')\r\n if (activesData && activesData.transitioning) return\r\n }\r\n\r\n var startEvent = $.Event('show.bs.collapse')\r\n this.$element.trigger(startEvent)\r\n if (startEvent.isDefaultPrevented()) return\r\n\r\n if (actives && actives.length) {\r\n Plugin.call(actives, 'hide')\r\n activesData || actives.data('bs.collapse', null)\r\n }\r\n\r\n var dimension = this.dimension()\r\n\r\n this.$element\r\n .removeClass('collapse')\r\n .addClass('collapsing')[dimension](0)\r\n .attr('aria-expanded', true)\r\n\r\n this.$trigger\r\n .removeClass('collapsed')\r\n .attr('aria-expanded', true)\r\n\r\n this.transitioning = 1\r\n\r\n var complete = function () {\r\n this.$element\r\n .removeClass('collapsing')\r\n .addClass('collapse in')[dimension]('')\r\n this.transitioning = 0\r\n this.$element\r\n .trigger('shown.bs.collapse')\r\n }\r\n\r\n if (!$.support.transition) return complete.call(this)\r\n\r\n var scrollSize = $.camelCase(['scroll', dimension].join('-'))\r\n\r\n this.$element\r\n .one('bsTransitionEnd', $.proxy(complete, this))\r\n .emulateTransitionEnd(Collapse.TRANSITION_DURATION)[dimension](this.$element[0][scrollSize])\r\n }\r\n\r\n Collapse.prototype.hide = function () {\r\n if (this.transitioning || !this.$element.hasClass('in')) return\r\n\r\n var startEvent = $.Event('hide.bs.collapse')\r\n this.$element.trigger(startEvent)\r\n if (startEvent.isDefaultPrevented()) return\r\n\r\n var dimension = this.dimension()\r\n\r\n this.$element[dimension](this.$element[dimension]())[0].offsetHeight\r\n\r\n this.$element\r\n .addClass('collapsing')\r\n .removeClass('collapse in')\r\n .attr('aria-expanded', false)\r\n\r\n this.$trigger\r\n .addClass('collapsed')\r\n .attr('aria-expanded', false)\r\n\r\n this.transitioning = 1\r\n\r\n var complete = function () {\r\n this.transitioning = 0\r\n this.$element\r\n .removeClass('collapsing')\r\n .addClass('collapse')\r\n .trigger('hidden.bs.collapse')\r\n }\r\n\r\n if (!$.support.transition) return complete.call(this)\r\n\r\n this.$element\r\n [dimension](0)\r\n .one('bsTransitionEnd', $.proxy(complete, this))\r\n .emulateTransitionEnd(Collapse.TRANSITION_DURATION)\r\n }\r\n\r\n Collapse.prototype.toggle = function () {\r\n this[this.$element.hasClass('in') ? 'hide' : 'show']()\r\n }\r\n\r\n Collapse.prototype.getParent = function () {\r\n return $(this.options.parent)\r\n .find('[data-toggle=\"collapse\"][data-parent=\"' + this.options.parent + '\"]')\r\n .each($.proxy(function (i, element) {\r\n var $element = $(element)\r\n this.addAriaAndCollapsedClass(getTargetFromTrigger($element), $element)\r\n }, this))\r\n .end()\r\n }\r\n\r\n Collapse.prototype.addAriaAndCollapsedClass = function ($element, $trigger) {\r\n var isOpen = $element.hasClass('in')\r\n\r\n $element.attr('aria-expanded', isOpen)\r\n $trigger\r\n .toggleClass('collapsed', !isOpen)\r\n .attr('aria-expanded', isOpen)\r\n }\r\n\r\n function getTargetFromTrigger($trigger) {\r\n var href\r\n var target = $trigger.attr('data-target')\r\n || (href = $trigger.attr('href')) && href.replace(/.*(?=#[^\\s]+$)/, '') // strip for ie7\r\n\r\n return $(target)\r\n }\r\n\r\n\r\n // COLLAPSE PLUGIN DEFINITION\r\n // ==========================\r\n\r\n function Plugin(option) {\r\n return this.each(function () {\r\n var $this = $(this)\r\n var data = $this.data('bs.collapse')\r\n var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option)\r\n\r\n if (!data && options.toggle && /show|hide/.test(option)) options.toggle = false\r\n if (!data) $this.data('bs.collapse', (data = new Collapse(this, options)))\r\n if (typeof option == 'string') data[option]()\r\n })\r\n }\r\n\r\n var old = $.fn.collapse\r\n\r\n $.fn.collapse = Plugin\r\n $.fn.collapse.Constructor = Collapse\r\n\r\n\r\n // COLLAPSE NO CONFLICT\r\n // ====================\r\n\r\n $.fn.collapse.noConflict = function () {\r\n $.fn.collapse = old\r\n return this\r\n }\r\n\r\n\r\n // COLLAPSE DATA-API\r\n // =================\r\n\r\n $(document).on('click.bs.collapse.data-api', '[data-toggle=\"collapse\"]', function (e) {\r\n var $this = $(this)\r\n\r\n if (!$this.attr('data-target')) e.preventDefault()\r\n\r\n var $target = getTargetFromTrigger($this)\r\n var data = $target.data('bs.collapse')\r\n var option = data ? 'toggle' : $this.data()\r\n\r\n Plugin.call($target, option)\r\n })\r\n\r\n}(jQuery);\r\n\r\n/* ========================================================================\r\n * Bootstrap: scrollspy.js v3.3.7\r\n * http://getbootstrap.com/javascript/#scrollspy\r\n * ========================================================================\r\n * Copyright 2011-2016 Twitter, Inc.\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\r\n * ======================================================================== */\r\n\r\n\r\n+function ($) {\r\n 'use strict';\r\n\r\n // SCROLLSPY CLASS DEFINITION\r\n // ==========================\r\n\r\n function ScrollSpy(element, options) {\r\n this.$body = $(document.body)\r\n this.$scrollElement = $(element).is(document.body) ? $(window) : $(element)\r\n this.options = $.extend({}, ScrollSpy.DEFAULTS, options)\r\n this.selector = (this.options.target || '') + ' .nav li > a'\r\n this.offsets = []\r\n this.targets = []\r\n this.activeTarget = null\r\n this.scrollHeight = 0\r\n\r\n this.$scrollElement.on('scroll.bs.scrollspy', $.proxy(this.process, this))\r\n this.refresh()\r\n this.process()\r\n }\r\n\r\n ScrollSpy.VERSION = '3.3.7'\r\n\r\n ScrollSpy.DEFAULTS = {\r\n offset: 10\r\n }\r\n\r\n ScrollSpy.prototype.getScrollHeight = function () {\r\n return this.$scrollElement[0].scrollHeight || Math.max(this.$body[0].scrollHeight, document.documentElement.scrollHeight)\r\n }\r\n\r\n ScrollSpy.prototype.refresh = function () {\r\n var that = this\r\n var offsetMethod = 'offset'\r\n var offsetBase = 0\r\n\r\n this.offsets = []\r\n this.targets = []\r\n this.scrollHeight = this.getScrollHeight()\r\n\r\n if (!$.isWindow(this.$scrollElement[0])) {\r\n offsetMethod = 'position'\r\n offsetBase = this.$scrollElement.scrollTop()\r\n }\r\n\r\n this.$body\r\n .find(this.selector)\r\n .map(function () {\r\n var $el = $(this)\r\n var href = $el.data('target') || $el.attr('href')\r\n var $href = /^#./.test(href) && $(href)\r\n\r\n return ($href\r\n && $href.length\r\n && $href.is(':visible')\r\n && [[$href[offsetMethod]().top + offsetBase, href]]) || null\r\n })\r\n .sort(function (a, b) { return a[0] - b[0] })\r\n .each(function () {\r\n that.offsets.push(this[0])\r\n that.targets.push(this[1])\r\n })\r\n }\r\n\r\n ScrollSpy.prototype.process = function () {\r\n var scrollTop = this.$scrollElement.scrollTop() + this.options.offset\r\n var scrollHeight = this.getScrollHeight()\r\n var maxScroll = this.options.offset + scrollHeight - this.$scrollElement.height()\r\n var offsets = this.offsets\r\n var targets = this.targets\r\n var activeTarget = this.activeTarget\r\n var i\r\n\r\n if (this.scrollHeight != scrollHeight) {\r\n this.refresh()\r\n }\r\n\r\n if (scrollTop >= maxScroll) {\r\n return activeTarget != (i = targets[targets.length - 1]) && this.activate(i)\r\n }\r\n\r\n if (activeTarget && scrollTop < offsets[0]) {\r\n this.activeTarget = null\r\n return this.clear()\r\n }\r\n\r\n for (i = offsets.length; i--;) {\r\n activeTarget != targets[i]\r\n && scrollTop >= offsets[i]\r\n && (offsets[i + 1] === undefined || scrollTop < offsets[i + 1])\r\n && this.activate(targets[i])\r\n }\r\n }\r\n\r\n ScrollSpy.prototype.activate = function (target) {\r\n this.activeTarget = target\r\n\r\n this.clear()\r\n\r\n var selector = this.selector +\r\n '[data-target=\"' + target + '\"],' +\r\n this.selector + '[href=\"' + target + '\"]'\r\n\r\n var active = $(selector)\r\n .parents('li')\r\n .addClass('active')\r\n\r\n if (active.parent('.dropdown-menu').length) {\r\n active = active\r\n .closest('li.dropdown')\r\n .addClass('active')\r\n }\r\n\r\n active.trigger('activate.bs.scrollspy')\r\n }\r\n\r\n ScrollSpy.prototype.clear = function () {\r\n $(this.selector)\r\n .parentsUntil(this.options.target, '.active')\r\n .removeClass('active')\r\n }\r\n\r\n\r\n // SCROLLSPY PLUGIN DEFINITION\r\n // ===========================\r\n\r\n function Plugin(option) {\r\n return this.each(function () {\r\n var $this = $(this)\r\n var data = $this.data('bs.scrollspy')\r\n var options = typeof option == 'object' && option\r\n\r\n if (!data) $this.data('bs.scrollspy', (data = new ScrollSpy(this, options)))\r\n if (typeof option == 'string') data[option]()\r\n })\r\n }\r\n\r\n var old = $.fn.scrollspy\r\n\r\n $.fn.scrollspy = Plugin\r\n $.fn.scrollspy.Constructor = ScrollSpy\r\n\r\n\r\n // SCROLLSPY NO CONFLICT\r\n // =====================\r\n\r\n $.fn.scrollspy.noConflict = function () {\r\n $.fn.scrollspy = old\r\n return this\r\n }\r\n\r\n\r\n // SCROLLSPY DATA-API\r\n // ==================\r\n\r\n $(window).on('load.bs.scrollspy.data-api', function () {\r\n $('[data-spy=\"scroll\"]').each(function () {\r\n var $spy = $(this)\r\n Plugin.call($spy, $spy.data())\r\n })\r\n })\r\n\r\n}(jQuery);\r\n\r\n/* ========================================================================\r\n * Bootstrap: transition.js v3.3.7\r\n * http://getbootstrap.com/javascript/#transitions\r\n * ========================================================================\r\n * Copyright 2011-2016 Twitter, Inc.\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\r\n * ======================================================================== */\r\n\r\n\r\n+function ($) {\r\n 'use strict';\r\n\r\n // CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/)\r\n // ============================================================\r\n\r\n function transitionEnd() {\r\n var el = document.createElement('bootstrap')\r\n\r\n var transEndEventNames = {\r\n WebkitTransition : 'webkitTransitionEnd',\r\n MozTransition : 'transitionend',\r\n OTransition : 'oTransitionEnd otransitionend',\r\n transition : 'transitionend'\r\n }\r\n\r\n for (var name in transEndEventNames) {\r\n if (el.style[name] !== undefined) {\r\n return { end: transEndEventNames[name] }\r\n }\r\n }\r\n\r\n return false // explicit for ie8 ( ._.)\r\n }\r\n\r\n // http://blog.alexmaccaw.com/css-transitions\r\n $.fn.emulateTransitionEnd = function (duration) {\r\n var called = false\r\n var $el = this\r\n $(this).one('bsTransitionEnd', function () { called = true })\r\n var callback = function () { if (!called) $($el).trigger($.support.transition.end) }\r\n setTimeout(callback, duration)\r\n return this\r\n }\r\n\r\n $(function () {\r\n $.support.transition = transitionEnd()\r\n\r\n if (!$.support.transition) return\r\n\r\n $.event.special.bsTransitionEnd = {\r\n bindType: $.support.transition.end,\r\n delegateType: $.support.transition.end,\r\n handle: function (e) {\r\n if ($(e.target).is(this)) return e.handleObj.handler.apply(this, arguments)\r\n }\r\n }\r\n })\r\n\r\n}(jQuery);\r\n\n},{}],3:[function(require,module,exports){\n/*\r\n\r\n bootpag - jQuery plugin for dynamic pagination\r\n\r\n Copyright (c) 2015 botmonster@7items.com\r\n\r\n Licensed under the MIT license:\r\n http://www.opensource.org/licenses/mit-license.php\r\n\r\n Project home:\r\n http://botmonster.com/jquery-bootpag/\r\n\r\n Version: 1.0.7\r\n\r\n*/\r\n(function(h,q){h.fn.bootpag=function(p){function m(c,b){b=parseInt(b,10);var d,e=0==a.maxVisible?1:a.maxVisible,k=1==a.maxVisible?0:1,n=Math.floor((b-1)/e)*e,f=c.find(\"li\");a.page=b=0>b?0:b>a.total?a.total:b;f.removeClass(a.activeClass);d=1>b-1?1:a.leaps&&b-1>=a.maxVisible?Math.floor((b-1)/e)*e:b-1;a.firstLastUse&&f.first().toggleClass(a.disabledClass,1===b);e=f.first();a.firstLastUse&&(e=e.next());e.toggleClass(a.disabledClass,1===b).attr(\"data-lp\",d).find(\"a\").attr(\"href\",g(d));k=1==a.maxVisible?\r\n0:1;d=b+1>a.total?a.total:a.leaps&&b+1←',last:'',wrapClass:\"pagination\",activeClass:\"active\",disabledClass:\"disabled\",nextClass:\"next\",prevClass:\"prev\",\r\nlastClass:\"last\",firstClass:\"first\"},l.data(\"settings\")||{},p||{});if(0>=a.total)return this;h.isNumeric(a.maxVisible)||a.maxVisible||(a.maxVisible=parseInt(a.total,10));l.data(\"settings\",a);return this.each(function(){var c,b,d=h(this);c=['\");d.find(\"ul.bootpag\").remove();d.append(c.join(\"\"));c=d.find(\"ul.bootpag\");d.find(\"li\").click(function(){var b=\r\nh(this);if(!b.hasClass(a.disabledClass)&&!b.hasClass(a.activeClass)){var c=parseInt(b.attr(\"data-lp\"),10);l.find(\"ul.bootpag\").each(function(){m(h(this),c)});l.trigger(\"page\",c)}});m(c,a.page)})}})(jQuery,window);\r\n\n},{}],4:[function(require,module,exports){\n/*\r\n* jQuery easyShare plugin\r\n* Update on 04 april 2017\r\n* Version 1.2\r\n*\r\n* Licensed under GPL \r\n* Copyright (c) 2008, St?hane Litou \r\n* All rights reserved.\r\n*\r\n This program is free software: you can redistribute it and/or modify\r\n it under the terms of the GNU General Public License as published by\r\n the Free Software Foundation, either version 3 of the License, or\r\n (at your option) any later version.\r\n\r\n This program is distributed in the hope that it will be useful,\r\n but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r\n GNU General Public License for more details.\r\n\r\n You should have received a copy of the GNU General Public License\r\n along with this program. If not, see .\r\n*/\r\n\r\n(function($){\r\n$.fn.easyPaginate = function (options) {\r\n var defaults = {\r\n paginateElement: 'li',\r\n hashPage: 'page',\r\n elementsPerPage: 10,\r\n effect: 'default',\r\n slideOffset: 200,\r\n firstButton: true,\r\n firstButtonText: '<<',\r\n lastButton: true,\r\n lastButtonText: '>>', \r\n prevButton: true,\r\n prevButtonText: '<', \r\n nextButton: true,\r\n nextButtonText: '>'\r\n }\r\n \r\n return this.each (function (instance) { \r\n \r\n var plugin = {};\r\n plugin.el = $(this);\r\n plugin.el.addClass('easyPaginateList');\r\n\r\n plugin.settings = {\r\n pages: 0,\r\n objElements: Object,\r\n currentPage: 1\r\n }\r\n \r\n var getNbOfPages = function() {\r\n return Math.ceil(plugin.settings.objElements.length / plugin.settings.elementsPerPage); \r\n };\r\n \r\n var displayNav = function() {\r\n htmlNav = '
';\r\n \r\n if(plugin.settings.firstButton) {\r\n htmlNav += ''+plugin.settings.firstButtonText+'';\r\n }\r\n \r\n if(plugin.settings.prevButton) {\r\n htmlNav += ''+plugin.settings.prevButtonText+'';\r\n }\r\n \r\n for(i = 1;i <= plugin.settings.pages;i++) {\r\n htmlNav += ''+i+'';\r\n };\r\n \r\n if(plugin.settings.nextButton) {\r\n htmlNav += ''+plugin.settings.nextButtonText+'';\r\n }\r\n \r\n if(plugin.settings.lastButton) {\r\n htmlNav += ''+plugin.settings.lastButtonText+'';\r\n }\r\n \r\n htmlNav += '
';\r\n plugin.nav = $(htmlNav);\r\n plugin.nav.css({\r\n 'width': plugin.el.width()\r\n });\r\n plugin.el.after(plugin.nav);\r\n\r\n var elSelector = '#' + plugin.el.get(0).id + ' + ';\r\n $(elSelector + ' .easyPaginateNav a.page,'\r\n + elSelector + ' .easyPaginateNav a.first,'\r\n + elSelector + ' .easyPaginateNav a.last').on('click', function(e) {\r\n e.preventDefault();\r\n displayPage($(this).attr('rel')); \r\n });\r\n\r\n $(elSelector + ' .easyPaginateNav a.prev').on('click', function(e) {\r\n e.preventDefault();\r\n page = plugin.settings.currentPage > 1?parseInt(plugin.settings.currentPage) - 1:1;\r\n displayPage(page);\r\n });\r\n\r\n $(elSelector + ' .easyPaginateNav a.next').on('click', function(e) {\r\n e.preventDefault();\r\n page = plugin.settings.currentPage < plugin.settings.pages?parseInt(plugin.settings.currentPage) + 1:plugin.settings.pages;\r\n displayPage(page);\r\n });\r\n };\r\n \r\n var displayPage = function(page, forceEffect) {\r\n if(plugin.settings.currentPage != page) {\r\n plugin.settings.currentPage = parseInt(page);\r\n offsetStart = (page - 1) * plugin.settings.elementsPerPage;\r\n offsetEnd = page * plugin.settings.elementsPerPage;\r\n if(typeof(forceEffect) != 'undefined') {\r\n eval(\"transition_\"+forceEffect+\"(\"+offsetStart+\", \"+offsetEnd+\")\");\r\n }else {\r\n eval(\"transition_\"+plugin.settings.effect+\"(\"+offsetStart+\", \"+offsetEnd+\")\");\r\n }\r\n \r\n plugin.nav.find('.current').removeClass('current');\r\n plugin.nav.find('a.page:eq('+(page - 1)+')').addClass('current');\r\n \r\n switch(plugin.settings.currentPage) {\r\n case 1:\r\n $('.easyPaginateNav a', plugin).removeClass('disabled');\r\n $('.easyPaginateNav a.first, .easyPaginateNav a.prev', plugin).addClass('disabled');\r\n break;\r\n case plugin.settings.pages:\r\n $('.easyPaginateNav a', plugin).removeClass('disabled');\r\n $('.easyPaginateNav a.last, .easyPaginateNav a.next', plugin).addClass('disabled');\r\n break;\r\n default:\r\n $('.easyPaginateNav a', plugin).removeClass('disabled');\r\n break;\r\n }\r\n }\r\n };\r\n \r\n var transition_default = function(offsetStart, offsetEnd) {\r\n plugin.currentElements.hide();\r\n plugin.currentElements = plugin.settings.objElements.slice(offsetStart, offsetEnd).clone();\r\n plugin.el.html(plugin.currentElements);\r\n plugin.currentElements.show();\r\n };\r\n \r\n var transition_fade = function(offsetStart, offsetEnd) {\r\n plugin.currentElements.fadeOut();\r\n plugin.currentElements = plugin.settings.objElements.slice(offsetStart, offsetEnd).clone();\r\n plugin.el.html(plugin.currentElements);\r\n plugin.currentElements.fadeIn();\r\n };\r\n \r\n var transition_slide = function(offsetStart, offsetEnd) {\r\n plugin.currentElements.animate({\r\n 'margin-left': plugin.settings.slideOffset * -1,\r\n 'opacity': 0\r\n }, function() {\r\n $(this).remove();\r\n });\r\n \r\n plugin.currentElements = plugin.settings.objElements.slice(offsetStart, offsetEnd).clone();\r\n plugin.currentElements.css({\r\n 'margin-left': plugin.settings.slideOffset,\r\n 'display': 'block',\r\n 'opacity': 0,\r\n 'min-width': plugin.el.width() / 2\r\n });\r\n plugin.el.html(plugin.currentElements);\r\n plugin.currentElements.animate({\r\n 'margin-left': 0,\r\n 'opacity': 1\r\n });\r\n };\r\n \r\n var transition_climb = function(offsetStart, offsetEnd) { \r\n plugin.currentElements.each(function(i) {\r\n var $objThis = $(this);\r\n setTimeout(function() {\r\n $objThis.animate({\r\n 'margin-left': plugin.settings.slideOffset * -1,\r\n 'opacity': 0\r\n }, function() {\r\n $(this).remove();\r\n });\r\n }, i * 200);\r\n });\r\n \r\n plugin.currentElements = plugin.settings.objElements.slice(offsetStart, offsetEnd).clone();\r\n plugin.currentElements.css({\r\n 'margin-left': plugin.settings.slideOffset,\r\n 'display': 'block',\r\n 'opacity': 0,\r\n 'min-width': plugin.el.width() / 2\r\n });\r\n plugin.el.html(plugin.currentElements);\r\n plugin.currentElements.each(function(i) {\r\n var $objThis = $(this);\r\n setTimeout(function() {\r\n $objThis.animate({\r\n 'margin-left': 0,\r\n 'opacity': 1\r\n });\r\n }, i * 200);\r\n });\r\n };\r\n \r\n plugin.settings = $.extend({}, defaults, options);\r\n \r\n plugin.currentElements = $([]);\r\n plugin.settings.objElements = plugin.el.find(plugin.settings.paginateElement);\r\n plugin.settings.pages = getNbOfPages();\r\n if(plugin.settings.pages > 1) {\r\n plugin.el.html();\r\n \r\n // Here we go\r\n displayNav();\r\n \r\n page = 1;\r\n if(document.location.hash.indexOf('#'+plugin.settings.hashPage+':') != -1) {\r\n page = parseInt(document.location.hash.replace('#'+plugin.settings.hashPage+':', ''));\r\n if(page.length <= 0 || page < 1 || page > plugin.settings.pages) {\r\n page = 1;\r\n }\r\n }\r\n \r\n displayPage(page, 'default');\r\n }\r\n });\r\n};\r\n})(jQuery);\r\n\n},{}],5:[function(require,module,exports){\nvar bootstrap = require('../bootstrap/bootstrap.js');\r\nvar bootstrap = require('../bootstrap/bootstrap-tabcollapse.js');\r\nvar bootstrap = require('../bootstrap/jquery.easyPaginate.js');\r\nvar bootstrap = require('../bootstrap/jquery.bootpag.min.js');\r\n\n},{\"../bootstrap/bootstrap-tabcollapse.js\":1,\"../bootstrap/bootstrap.js\":2,\"../bootstrap/jquery.bootpag.min.js\":3,\"../bootstrap/jquery.easyPaginate.js\":4}]},{},[5]);\n"],"names":["r","e","n","t","o","i","f","c","require","u","a","Error","code","p","exports","call","length","1","module","$","TabCollapse","el","options","this","$tabs","_accordionVisible","_initAccordion","_checkStateOnResize","that","setTimeout","checkState","DEFAULTS","accordionClass","tabsClass","accordionTemplate","heading","groupId","parentId","active","prototype","is","showTabs","$accordion","showAccordion","view","trigger","Event","find","detach","each","$panelHeading","$parentLi","data","$oldHeading","_panelHeadingToTabHeading","removeClass","parent","hasClass","siblings","addClass","append","first","$panelBody","contents","html","updateLinks","getTabContentElement","$el","href","attr","replace","data-toggle","data-toggle-was","data-parent","$tabContents","tabContentSelector","$headings","$heading","_createAccordionGroup","_tabHeadingToPanelHeading","window","resize","clearTimeout","_resizeTimeout","srcId","accordionId","result","possible","charAt","Math","floor","random","randomString","after","tabSelector","$tabPane","$panel","fn","tabCollapse","option","$this","extend","Constructor","jQuery","2","version","jquery","split","Alert","on","dismiss","close","VERSION","TRANSITION_DURATION","selector","$parent","removeElement","remove","preventDefault","closest","isDefaultPrevented","support","transition","one","emulateTransitionEnd","old","alert","noConflict","document","Button","element","$element","isLoading","Plugin","toggle","setState","loadingText","state","d","val","resetText","proxy","prop","removeAttr","$input","changed","toggleClass","button","$btn","target","test","type","Carousel","$indicators","paused","sliding","interval","$active","$items","keyboard","keydown","pause","documentElement","cycle","action","slide","to","wrap","tagName","which","prev","next","clearInterval","setInterval","getItemIndex","item","children","index","getItemForDirection","direction","activeIndex","itemIndex","eq","pos","end","$next","isCycling","relatedTarget","slideEvent","$nextIndicator","slidEvent","offsetWidth","join","carousel","clickHandler","$target","slideIndex","$carousel","Dropdown","getParent","clearMenus","contains","isActive","createElement","insertAfter","stopPropagation","dropdown","Modal","$body","body","$dialog","$backdrop","isShown","originalBodyPad","scrollbarWidth","ignoreBackdropClick","remote","load","_relatedTarget","show","BACKDROP_TRANSITION_DURATION","backdrop","hide","checkScrollbar","setScrollbar","escape","appendTo","scrollTop","adjustDialog","enforceFocus","off","hideModal","has","handleUpdate","resetAdjustments","resetScrollbar","removeBackdrop","callback","callbackRemove","animate","doAnimate","currentTarget","focus","modalIsOverflowing","scrollHeight","clientHeight","css","paddingLeft","bodyIsOverflowing","paddingRight","documentElementRect","fullWindowWidth","innerWidth","getBoundingClientRect","right","abs","left","clientWidth","measureScrollbar","bodyPad","parseInt","style","scrollDiv","className","removeChild","modal","showEvent","Tooltip","enabled","timeout","hoverState","inState","init","animation","placement","template","title","delay","container","viewport","padding","getOptions","$viewport","isFunction","click","hover","constructor","triggers","eventIn","eventOut","enter","leave","_options","fixTitle","getDefaults","getDelegateOptions","defaults","key","value","obj","self","tip","isInStateTrue","$tip","actualWidth","orgPlacement","viewportDim","calculatedOffset","complete","hasContent","inDom","ownerDocument","tipId","getUID","setContent","autoPlace","autoToken","top","display","getPosition","actualHeight","offsetHeight","bottom","width","getCalculatedOffset","applyPlacement","prevHoverState","offset","height","marginTop","marginLeft","isNaN","setOffset","using","props","round","delta","getViewportAdjustedDelta","isVertical","arrowDelta","arrowOffsetPosition","replaceArrow","dimension","arrow","getTitle","$e","isBody","elRect","isSvg","SVGElement","elOffset","scroll","outerDims","leftEdgeOffset","viewportPadding","viewportDimensions","topEdgeOffset","bottomEdgeOffset","rightEdgeOffset","prefix","getElementById","$arrow","enable","disable","toggleEnabled","destroy","removeData","tooltip","Popover","content","getContent","popover","Tab","$previous","hideEvent","$ul","activate","tab","Affix","checkPosition","checkPositionWithEventLoop","affixed","unpin","pinnedOffset","RESET","getState","offsetTop","offsetBottom","position","targetHeight","initializing","colliderTop","getPinnedOffset","max","affix","affixType","$spy","Collapse","$trigger","id","transitioning","addAriaAndCollapsedClass","getTargetFromTrigger","actives","activesData","startEvent","scrollSize","camelCase","isOpen","collapse","ScrollSpy","$scrollElement","offsets","targets","activeTarget","process","refresh","getScrollHeight","offsetMethod","offsetBase","isWindow","map","$href","sort","b","push","maxScroll","clear","undefined","parents","parentsUntil","scrollspy","duration","called","name","transEndEventNames","WebkitTransition","MozTransition","OTransition","transitionEnd","event","special","bsTransitionEnd","bindType","delegateType","handle","handleObj","handler","apply","arguments","3","h","bootpag","m","maxVisible","k","page","total","activeClass","leaps","firstLastUse","disabledClass","g","last","filter","nextClass","prevClass","firstClass","lastClass","not","l","hrefVariable","wrapClass","isNumeric","concat","min","4","easyPaginate","paginateElement","hashPage","elementsPerPage","effect","slideOffset","firstButton","firstButtonText","lastButton","lastButtonText","prevButton","prevButtonText","nextButton","nextButtonText","instance","plugin","settings","pages","objElements","Object","currentPage","getNbOfPages","ceil","displayNav","htmlNav","nav","elSelector","get","displayPage","forceEffect","offsetStart","offsetEnd","eval","transition_default","currentElements","slice","clone","transition_fade","fadeOut","fadeIn","transition_slide","margin-left","opacity","min-width","transition_climb","$objThis","location","hash","indexOf","5","../bootstrap/bootstrap-tabcollapse.js","../bootstrap/bootstrap.js","../bootstrap/jquery.bootpag.min.js","../bootstrap/jquery.easyPaginate.js"],"mappings":"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"}