if(!jQuery){throw new Error("Bootstrap requires jQuery")}+function($){"use strict";function transitionEnd(){var el=document.createElement('bootstrap') var transEndEventNames={'WebkitTransition':'webkitTransitionEnd','MozTransition':'transitionend','OTransition':'oTransitionEnd otransitionend','transition':'transitionend'} for(var name in transEndEventNames){if(el.style[name]!==undefined){return{end:transEndEventNames[name]}}}}$.fn.emulateTransitionEnd=function(duration){var called=false,$el=this $(this).one($.support.transition.end,function(){called=true}) var callback=function(){if(!called)$($el).trigger($.support.transition.end)} setTimeout(callback,duration) return this} $(function(){$.support.transition=transitionEnd()})}(window.jQuery);+function($){"use strict";var dismiss='[data-dismiss="alert"]' var Alert=function(el){$(el).on('click',dismiss,this.close)} Alert.prototype.close=function(e){var $this=$(this) var selector=$this.attr('data-target') if(!selector){selector=$this.attr('href') selector=selector&&selector.replace(/.*(?=#[^\s]*$)/,'')}var $parent=$(selector) if(e)e.preventDefault() if(!$parent.length){$parent=$this.hasClass('alert')?$this:$this.parent()}$parent.trigger(e=$.Event('close.bs.alert')) if(e.isDefaultPrevented())return $parent.removeClass('in') function removeElement(){$parent.trigger('closed.bs.alert').remove()}$.support.transition&&$parent.hasClass('fade')?$parent.one($.support.transition.end,removeElement).emulateTransitionEnd(150):removeElement()} var old=$.fn.alert $.fn.alert=function(option){return this.each(function(){var $this=$(this) var data=$this.data('bs.alert') if(!data)$this.data('bs.alert',(data=new Alert(this))) if(typeof option=='string')data[option].call($this)})} $.fn.alert.Constructor=Alert $.fn.alert.noConflict=function(){$.fn.alert=old return this} $(document).on('click.bs.alert.data-api',dismiss,Alert.prototype.close)}(window.jQuery);+function($){"use strict";var Button=function(element,options){this.$element=$(element) this.options=$.extend({},Button.DEFAULTS,options)} Button.DEFAULTS={loadingText:'loading...'} Button.prototype.setState=function(state){var d='disabled' var $el=this.$element var val=$el.is('input')?'val':'html' var data=$el.data() state=state+'Text' if(!data.resetText)$el.data('resetText',$el[val]()) $el[val](data[state]||this.options[state]) setTimeout(function(){state=='loadingText'?$el.addClass(d).attr(d,d):$el.removeClass(d).removeAttr(d);},0)} Button.prototype.toggle=function(){var $parent=this.$element.closest('[data-toggle="buttons"]') if($parent.length){var $input=this.$element.find('input').prop('checked',!this.$element.hasClass('active')).trigger('change') if($input.prop('type')==='radio')$parent.find('.active').removeClass('active')}this.$element.toggleClass('active')} var old=$.fn.button $.fn.button=function(option){return this.each(function(){var $this=$(this) var data=$this.data('bs.button') var options=typeof option=='object'&&option if(!data)$this.data('bs.button',(data=new Button(this,options))) if(option=='toggle')data.toggle() else if(option)data.setState(option)})} $.fn.button.Constructor=Button $.fn.button.noConflict=function(){$.fn.button=old return this} $(document).on('click.bs.button.data-api','[data-toggle^=button]',function(e){var $btn=$(e.target) if(!$btn.hasClass('btn'))$btn=$btn.closest('.btn') $btn.button('toggle') e.preventDefault()})}(window.jQuery);+function($){"use strict";var Carousel=function(element,options){this.$element=$(element) this.$indicators=this.$element.find('.carousel-indicators') this.options=options this.paused=this.sliding=this.interval=this.$active=this.$items=null this.options.pause=='hover'&&this.$element.on('mouseenter',$.proxy(this.pause,this)).on('mouseleave',$.proxy(this.cycle,this))} Carousel.DEFAULTS={interval:5000,pause:'hover',wrap:true} Carousel.prototype.cycle=function(e){e||(this.paused=false) this.interval&&clearInterval(this.interval) this.options.interval&&!this.paused&&(this.interval=setInterval($.proxy(this.next,this),this.options.interval)) return this} Carousel.prototype.getActiveIndex=function(){this.$active=this.$element.find('.item.active') this.$items=this.$active.parent().children() return this.$items.index(this.$active)} Carousel.prototype.to=function(pos){var that=this var activeIndex=this.getActiveIndex() if(pos>(this.$items.length-1)||pos<0)return if(this.sliding)return this.$element.one('slid',function(){that.to(pos)}) if(activeIndex==pos)return this.pause().cycle() return this.slide(pos>activeIndex?'next':'prev',$(this.$items[pos]))} Carousel.prototype.pause=function(e){e||(this.paused=true) if(this.$element.find('.next, .prev').length&&$.support.transition.end){this.$element.trigger($.support.transition.end) this.cycle(true)}this.interval=clearInterval(this.interval) return this} Carousel.prototype.next=function(){if(this.sliding)return return this.slide('next')} Carousel.prototype.prev=function(){if(this.sliding)return return this.slide('prev')} Carousel.prototype.slide=function(type,next){var $active=this.$element.find('.item.active') var $next=next||$active[type]() var isCycling=this.interval var direction=type=='next'?'left':'right' var fallback=type=='next'?'first':'last' var that=this if(!$next.length){if(!this.options.wrap)return $next=this.$element.find('.item')[fallback]()}this.sliding=true isCycling&&this.pause() var e=$.Event('slide.bs.carousel',{relatedTarget:$next[0],direction:direction}) if($next.hasClass('active'))return if(this.$indicators.length){this.$indicators.find('.active').removeClass('active') this.$element.one('slid',function(){var $nextIndicator=$(that.$indicators.children()[that.getActiveIndex()]) $nextIndicator&&$nextIndicator.addClass('active')})}if($.support.transition&&this.$element.hasClass('slide')){this.$element.trigger(e) if(e.isDefaultPrevented())return $next.addClass(type) $next[0].offsetWidth $active.addClass(direction) $next.addClass(direction) $active.one($.support.transition.end,function(){$next.removeClass([type,direction].join(' ')).addClass('active') $active.removeClass(['active',direction].join(' ')) that.sliding=false setTimeout(function(){that.$element.trigger('slid')},0)}).emulateTransitionEnd(600)}else{this.$element.trigger(e) if(e.isDefaultPrevented())return $active.removeClass('active') $next.addClass('active') this.sliding=false this.$element.trigger('slid')}isCycling&&this.cycle() return this} var old=$.fn.carousel $.fn.carousel=function(option){return this.each(function(){var $this=$(this) var data=$this.data('bs.carousel') var options=$.extend({},Carousel.DEFAULTS,$this.data(),typeof option=='object'&&option) var action=typeof option=='string'?option:options.slide if(!data)$this.data('bs.carousel',(data=new Carousel(this,options))) if(typeof option=='number')data.to(option) else if(action)data[action]() else if(options.interval)data.pause().cycle()})} $.fn.carousel.Constructor=Carousel $.fn.carousel.noConflict=function(){$.fn.carousel=old return this} $(document).on('click.bs.carousel.data-api','[data-slide], [data-slide-to]',function(e){var $this=$(this),href var $target=$($this.attr('data-target')||(href=$this.attr('href'))&&href.replace(/.*(?=#[^\s]+$)/,'')) var options=$.extend({},$target.data(),$this.data()) var slideIndex=$this.attr('data-slide-to') if(slideIndex)options.interval=false $target.carousel(options) if(slideIndex=$this.attr('data-slide-to')){$target.data('bs.carousel').to(slideIndex)}e.preventDefault()}) $(window).on('load',function(){$('[data-ride="carousel"]').each(function(){var $carousel=$(this) $carousel.carousel($carousel.data())})})}(window.jQuery);+function($){"use strict";var Collapse=function(element,options){this.$element=$(element) this.options=$.extend({},Collapse.DEFAULTS,options) this.transitioning=null if(this.options.parent)this.$parent=$(this.options.parent) if(this.options.toggle)this.toggle()} Collapse.DEFAULTS={toggle:true} Collapse.prototype.dimension=function(){var hasWidth=this.$element.hasClass('width') return hasWidth?'width':'height'} Collapse.prototype.show=function(){if(this.transitioning||this.$element.hasClass('in'))return var startEvent=$.Event('show.bs.collapse') this.$element.trigger(startEvent) if(startEvent.isDefaultPrevented())return var actives=this.$parent&&this.$parent.find('> .panel > .in') if(actives&&actives.length){var hasData=actives.data('bs.collapse') if(hasData&&hasData.transitioning)return actives.collapse('hide') hasData||actives.data('bs.collapse',null)}var dimension=this.dimension() this.$element.removeClass('collapse').addClass('collapsing') [dimension](0) this.transitioning=1 var complete=function(){this.$element.removeClass('collapsing').addClass('in') [dimension]('auto') this.transitioning=0 this.$element.trigger('shown.bs.collapse')} if(!$.support.transition)return complete.call(this) var scrollSize=$.camelCase(['scroll',dimension].join('-')) this.$element.one($.support.transition.end,$.proxy(complete,this)).emulateTransitionEnd(350) [dimension](this.$element[0][scrollSize])} Collapse.prototype.hide=function(){if(this.transitioning||!this.$element.hasClass('in'))return var startEvent=$.Event('hide.bs.collapse') this.$element.trigger(startEvent) if(startEvent.isDefaultPrevented())return var dimension=this.dimension() this.$element [dimension](this.$element[dimension]()) [0].offsetHeight this.$element.addClass('collapsing').removeClass('collapse').removeClass('in') this.transitioning=1 var complete=function(){this.transitioning=0 this.$element.trigger('hidden.bs.collapse').removeClass('collapsing').addClass('collapse')} if(!$.support.transition)return complete.call(this) this.$element [dimension](0).one($.support.transition.end,$.proxy(complete,this)).emulateTransitionEnd(350)} Collapse.prototype.toggle=function(){this[this.$element.hasClass('in')?'hide':'show']()} var old=$.fn.collapse $.fn.collapse=function(option){return this.each(function(){var $this=$(this) var data=$this.data('bs.collapse') var options=$.extend({},Collapse.DEFAULTS,$this.data(),typeof option=='object'&&option) if(!data)$this.data('bs.collapse',(data=new Collapse(this,options))) if(typeof option=='string')data[option]()})} $.fn.collapse.Constructor=Collapse $.fn.collapse.noConflict=function(){$.fn.collapse=old return this} $(document).on('click.bs.collapse.data-api','[data-toggle=collapse]',function(e){var $this=$(this),href var target=$this.attr('data-target')||e.preventDefault()||(href=$this.attr('href'))&&href.replace(/.*(?=#[^\s]+$)/,'') var $target=$(target) var data=$target.data('bs.collapse') var option=data?'toggle':$this.data() var parent=$this.attr('data-parent') var $parent=parent&&$(parent) if(!data||!data.transitioning){if($parent)$parent.find('[data-toggle=collapse][data-parent="'+parent+'"]').not($this).addClass('collapsed') $this[$target.hasClass('in')?'addClass':'removeClass']('collapsed')}$target.collapse(option)})}(window.jQuery);+function($){"use strict";var backdrop='.dropdown-backdrop' var toggle='[data-toggle=dropdown]' var Dropdown=function(element){var $el=$(element).on('click.bs.dropdown',this.toggle)} Dropdown.prototype.toggle=function(e){var $this=$(this) if($this.is('.disabled, :disabled'))return var $parent=getParent($this) var isActive=$parent.hasClass('open') clearMenus() if(!isActive){if('ontouchstart'in document.documentElement&&!$parent.closest('.navbar-nav').length){$('