@lazycatcloud/lzc-cli 1.1.1 → 1.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/cmds/app.js +137 -0
  2. package/cmds/config.js +55 -0
  3. package/cmds/create.js +55 -0
  4. package/cmds/dev.js +122 -0
  5. package/cmds/init.js +125 -0
  6. package/cmds/log.js +103 -0
  7. package/cmds/publish.js +116 -0
  8. package/lib/api.js +34 -36
  9. package/lib/archiver.js +50 -31
  10. package/lib/box/check_qemu.js +27 -0
  11. package/lib/box/hportal.js +114 -0
  12. package/lib/box/index.js +152 -0
  13. package/lib/box/qemu_vm_mgr.js +625 -0
  14. package/lib/box/schemes/vm_box_system_debian.json +47 -0
  15. package/lib/builder.js +154 -35
  16. package/lib/dev.js +51 -32
  17. package/lib/env.js +276 -57
  18. package/lib/generator.js +31 -0
  19. package/lib/git/git-commit.sh +7 -0
  20. package/lib/git/git-reset.sh +15 -0
  21. package/lib/key.js +14 -11
  22. package/lib/sdk.js +7 -10
  23. package/lib/utils.js +149 -53
  24. package/package.json +18 -5
  25. package/scripts/cli.js +134 -70
  26. package/template/_lazycat/app-config +1 -0
  27. package/template/_lazycat/docker-compose.yml.in +3 -5
  28. package/template/golang/README.md +3 -4
  29. package/template/golang/assets/css/bootstrap-responsive.css +26 -23
  30. package/template/golang/assets/css/bootstrap-responsive.min.css +1065 -1
  31. package/template/golang/assets/css/bootstrap.css +733 -362
  32. package/template/golang/assets/css/bootstrap.min.css +5299 -1
  33. package/template/golang/assets/css/rego.css +17 -17
  34. package/template/golang/assets/js/bootstrap.js +1340 -1311
  35. package/template/golang/assets/js/bootstrap.min.js +1240 -5
  36. package/template/golang/assets/js/rego.js +80 -69
  37. package/template/golang/index.html +61 -59
  38. package/template/ionic_vue3/README.md +46 -0
  39. package/template/ionic_vue3/_eslintrc.cjs +24 -0
  40. package/template/ionic_vue3/_gitignore +29 -0
  41. package/template/ionic_vue3/_vscode/extensions.json +6 -0
  42. package/template/ionic_vue3/capacitor.config.ts +10 -0
  43. package/template/ionic_vue3/env.d.ts +1 -0
  44. package/template/ionic_vue3/index.html +13 -0
  45. package/template/ionic_vue3/ionic.config.json +7 -0
  46. package/template/ionic_vue3/package.json +52 -0
  47. package/template/ionic_vue3/postcss.config.js +6 -0
  48. package/template/ionic_vue3/public/favicon.ico +0 -0
  49. package/template/ionic_vue3/src/App.vue +11 -0
  50. package/template/ionic_vue3/src/assets/logo.svg +1 -0
  51. package/template/ionic_vue3/src/index.css +3 -0
  52. package/template/ionic_vue3/src/main.ts +35 -0
  53. package/template/ionic_vue3/src/router/index.ts +15 -0
  54. package/template/ionic_vue3/src/theme/variables.css +231 -0
  55. package/template/ionic_vue3/src/views/Home.vue +38 -0
  56. package/template/ionic_vue3/tailwind.config.js +7 -0
  57. package/template/ionic_vue3/tsconfig.json +16 -0
  58. package/template/ionic_vue3/tsconfig.vite-config.json +8 -0
  59. package/template/ionic_vue3/vite.config.ts +28 -0
  60. package/template/release/golang/build.sh +1 -2
  61. package/template/release/ionic_vue3/Dockerfile +10 -0
  62. package/template/release/ionic_vue3/build.sh +9 -0
  63. package/template/release/ionic_vue3/docker-compose.yml.in +8 -0
  64. package/template/release/vue/Dockerfile +3 -2
  65. package/template/release/vue/build.sh +4 -2
  66. package/template/vue/README.md +5 -0
  67. package/template/vue/babel.config.js +2 -4
@@ -1,6 +1,1241 @@
1
1
  /*!
2
- * Bootstrap.js by @fat & @mdo
3
- * Copyright 2012 Twitter, Inc.
4
- * http://www.apache.org/licenses/LICENSE-2.0.txt
5
- */
6
- !function(e){"use strict";e(function(){e.support.transition=function(){var e=function(){var e=document.createElement("bootstrap"),t={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},n;for(n in t)if(e.style[n]!==undefined)return t[n]}();return e&&{end:e}}()})}(window.jQuery),!function(e){"use strict";var t='[data-dismiss="alert"]',n=function(n){e(n).on("click",t,this.close)};n.prototype.close=function(t){function s(){i.trigger("closed").remove()}var n=e(this),r=n.attr("data-target"),i;r||(r=n.attr("href"),r=r&&r.replace(/.*(?=#[^\s]*$)/,"")),i=e(r),t&&t.preventDefault(),i.length||(i=n.hasClass("alert")?n:n.parent()),i.trigger(t=e.Event("close"));if(t.isDefaultPrevented())return;i.removeClass("in"),e.support.transition&&i.hasClass("fade")?i.on(e.support.transition.end,s):s()},e.fn.alert=function(t){return this.each(function(){var r=e(this),i=r.data("alert");i||r.data("alert",i=new n(this)),typeof t=="string"&&i[t].call(r)})},e.fn.alert.Constructor=n,e(document).on("click.alert.data-api",t,n.prototype.close)}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.$element=e(t),this.options=e.extend({},e.fn.button.defaults,n)};t.prototype.setState=function(e){var t="disabled",n=this.$element,r=n.data(),i=n.is("input")?"val":"html";e+="Text",r.resetText||n.data("resetText",n[i]()),n[i](r[e]||this.options[e]),setTimeout(function(){e=="loadingText"?n.addClass(t).attr(t,t):n.removeClass(t).removeAttr(t)},0)},t.prototype.toggle=function(){var e=this.$element.closest('[data-toggle="buttons-radio"]');e&&e.find(".active").removeClass("active"),this.$element.toggleClass("active")},e.fn.button=function(n){return this.each(function(){var r=e(this),i=r.data("button"),s=typeof n=="object"&&n;i||r.data("button",i=new t(this,s)),n=="toggle"?i.toggle():n&&i.setState(n)})},e.fn.button.defaults={loadingText:"loading..."},e.fn.button.Constructor=t,e(document).on("click.button.data-api","[data-toggle^=button]",function(t){var n=e(t.target);n.hasClass("btn")||(n=n.closest(".btn")),n.button("toggle")})}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.$element=e(t),this.options=n,this.options.slide&&this.slide(this.options.slide),this.options.pause=="hover"&&this.$element.on("mouseenter",e.proxy(this.pause,this)).on("mouseleave",e.proxy(this.cycle,this))};t.prototype={cycle:function(t){return t||(this.paused=!1),this.options.interval&&!this.paused&&(this.interval=setInterval(e.proxy(this.next,this),this.options.interval)),this},to:function(t){var n=this.$element.find(".item.active"),r=n.parent().children(),i=r.index(n),s=this;if(t>r.length-1||t<0)return;return this.sliding?this.$element.one("slid",function(){s.to(t)}):i==t?this.pause().cycle():this.slide(t>i?"next":"prev",e(r[t]))},pause:function(t){return t||(this.paused=!0),this.$element.find(".next, .prev").length&&e.support.transition.end&&(this.$element.trigger(e.support.transition.end),this.cycle()),clearInterval(this.interval),this.interval=null,this},next:function(){if(this.sliding)return;return this.slide("next")},prev:function(){if(this.sliding)return;return this.slide("prev")},slide:function(t,n){var r=this.$element.find(".item.active"),i=n||r[t](),s=this.interval,o=t=="next"?"left":"right",u=t=="next"?"first":"last",a=this,f;this.sliding=!0,s&&this.pause(),i=i.length?i:this.$element.find(".item")[u](),f=e.Event("slide",{relatedTarget:i[0]});if(i.hasClass("active"))return;if(e.support.transition&&this.$element.hasClass("slide")){this.$element.trigger(f);if(f.isDefaultPrevented())return;i.addClass(t),i[0].offsetWidth,r.addClass(o),i.addClass(o),this.$element.one(e.support.transition.end,function(){i.removeClass([t,o].join(" ")).addClass("active"),r.removeClass(["active",o].join(" ")),a.sliding=!1,setTimeout(function(){a.$element.trigger("slid")},0)})}else{this.$element.trigger(f);if(f.isDefaultPrevented())return;r.removeClass("active"),i.addClass("active"),this.sliding=!1,this.$element.trigger("slid")}return s&&this.cycle(),this}},e.fn.carousel=function(n){return this.each(function(){var r=e(this),i=r.data("carousel"),s=e.extend({},e.fn.carousel.defaults,typeof n=="object"&&n),o=typeof n=="string"?n:s.slide;i||r.data("carousel",i=new t(this,s)),typeof n=="number"?i.to(n):o?i[o]():s.interval&&i.cycle()})},e.fn.carousel.defaults={interval:5e3,pause:"hover"},e.fn.carousel.Constructor=t,e(document).on("click.carousel.data-api","[data-slide]",function(t){var n=e(this),r,i=e(n.attr("data-target")||(r=n.attr("href"))&&r.replace(/.*(?=#[^\s]+$)/,"")),s=e.extend({},i.data(),n.data());i.carousel(s),t.preventDefault()})}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.$element=e(t),this.options=e.extend({},e.fn.collapse.defaults,n),this.options.parent&&(this.$parent=e(this.options.parent)),this.options.toggle&&this.toggle()};t.prototype={constructor:t,dimension:function(){var e=this.$element.hasClass("width");return e?"width":"height"},show:function(){var t,n,r,i;if(this.transitioning)return;t=this.dimension(),n=e.camelCase(["scroll",t].join("-")),r=this.$parent&&this.$parent.find("> .accordion-group > .in");if(r&&r.length){i=r.data("collapse");if(i&&i.transitioning)return;r.collapse("hide"),i||r.data("collapse",null)}this.$element[t](0),this.transition("addClass",e.Event("show"),"shown"),e.support.transition&&this.$element[t](this.$element[0][n])},hide:function(){var t;if(this.transitioning)return;t=this.dimension(),this.reset(this.$element[t]()),this.transition("removeClass",e.Event("hide"),"hidden"),this.$element[t](0)},reset:function(e){var t=this.dimension();return this.$element.removeClass("collapse")[t](e||"auto")[0].offsetWidth,this.$element[e!==null?"addClass":"removeClass"]("collapse"),this},transition:function(t,n,r){var i=this,s=function(){n.type=="show"&&i.reset(),i.transitioning=0,i.$element.trigger(r)};this.$element.trigger(n);if(n.isDefaultPrevented())return;this.transitioning=1,this.$element[t]("in"),e.support.transition&&this.$element.hasClass("collapse")?this.$element.one(e.support.transition.end,s):s()},toggle:function(){this[this.$element.hasClass("in")?"hide":"show"]()}},e.fn.collapse=function(n){return this.each(function(){var r=e(this),i=r.data("collapse"),s=typeof n=="object"&&n;i||r.data("collapse",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.collapse.defaults={toggle:!0},e.fn.collapse.Constructor=t,e(document).on("click.collapse.data-api","[data-toggle=collapse]",function(t){var n=e(this),r,i=n.attr("data-target")||t.preventDefault()||(r=n.attr("href"))&&r.replace(/.*(?=#[^\s]+$)/,""),s=e(i).data("collapse")?"toggle":n.data();n[e(i).hasClass("in")?"addClass":"removeClass"]("collapsed"),e(i).collapse(s)})}(window.jQuery),!function(e){"use strict";function r(){e(t).each(function(){i(e(this)).removeClass("open")})}function i(t){var n=t.attr("data-target"),r;return n||(n=t.attr("href"),n=n&&/#/.test(n)&&n.replace(/.*(?=#[^\s]*$)/,"")),r=e(n),r.length||(r=t.parent()),r}var t="[data-toggle=dropdown]",n=function(t){var n=e(t).on("click.dropdown.data-api",this.toggle);e("html").on("click.dropdown.data-api",function(){n.parent().removeClass("open")})};n.prototype={constructor:n,toggle:function(t){var n=e(this),s,o;if(n.is(".disabled, :disabled"))return;return s=i(n),o=s.hasClass("open"),r(),o||(s.toggleClass("open"),n.focus()),!1},keydown:function(t){var n,r,s,o,u,a;if(!/(38|40|27)/.test(t.keyCode))return;n=e(this),t.preventDefault(),t.stopPropagation();if(n.is(".disabled, :disabled"))return;o=i(n),u=o.hasClass("open");if(!u||u&&t.keyCode==27)return n.click();r=e("[role=menu] li:not(.divider) a",o);if(!r.length)return;a=r.index(r.filter(":focus")),t.keyCode==38&&a>0&&a--,t.keyCode==40&&a<r.length-1&&a++,~a||(a=0),r.eq(a).focus()}},e.fn.dropdown=function(t){return this.each(function(){var r=e(this),i=r.data("dropdown");i||r.data("dropdown",i=new n(this)),typeof t=="string"&&i[t].call(r)})},e.fn.dropdown.Constructor=n,e(document).on("click.dropdown.data-api touchstart.dropdown.data-api",r).on("click.dropdown touchstart.dropdown.data-api",".dropdown form",function(e){e.stopPropagation()}).on("click.dropdown.data-api touchstart.dropdown.data-api",t,n.prototype.toggle).on("keydown.dropdown.data-api touchstart.dropdown.data-api",t+", [role=menu]",n.prototype.keydown)}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.options=n,this.$element=e(t).delegate('[data-dismiss="modal"]',"click.dismiss.modal",e.proxy(this.hide,this)),this.options.remote&&this.$element.find(".modal-body").load(this.options.remote)};t.prototype={constructor:t,toggle:function(){return this[this.isShown?"hide":"show"]()},show:function(){var t=this,n=e.Event("show");this.$element.trigger(n);if(this.isShown||n.isDefaultPrevented())return;this.isShown=!0,this.escape(),this.backdrop(function(){var n=e.support.transition&&t.$element.hasClass("fade");t.$element.parent().length||t.$element.appendTo(document.body),t.$element.show(),n&&t.$element[0].offsetWidth,t.$element.addClass("in").attr("aria-hidden",!1),t.enforceFocus(),n?t.$element.one(e.support.transition.end,function(){t.$element.focus().trigger("shown")}):t.$element.focus().trigger("shown")})},hide:function(t){t&&t.preventDefault();var n=this;t=e.Event("hide"),this.$element.trigger(t);if(!this.isShown||t.isDefaultPrevented())return;this.isShown=!1,this.escape(),e(document).off("focusin.modal"),this.$element.removeClass("in").attr("aria-hidden",!0),e.support.transition&&this.$element.hasClass("fade")?this.hideWithTransition():this.hideModal()},enforceFocus:function(){var t=this;e(document).on("focusin.modal",function(e){t.$element[0]!==e.target&&!t.$element.has(e.target).length&&t.$element.focus()})},escape:function(){var e=this;this.isShown&&this.options.keyboard?this.$element.on("keyup.dismiss.modal",function(t){t.which==27&&e.hide()}):this.isShown||this.$element.off("keyup.dismiss.modal")},hideWithTransition:function(){var t=this,n=setTimeout(function(){t.$element.off(e.support.transition.end),t.hideModal()},500);this.$element.one(e.support.transition.end,function(){clearTimeout(n),t.hideModal()})},hideModal:function(e){this.$element.hide().trigger("hidden"),this.backdrop()},removeBackdrop:function(){this.$backdrop.remove(),this.$backdrop=null},backdrop:function(t){var n=this,r=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var i=e.support.transition&&r;this.$backdrop=e('<div class="modal-backdrop '+r+'" />').appendTo(document.body),this.$backdrop.click(this.options.backdrop=="static"?e.proxy(this.$element[0].focus,this.$element[0]):e.proxy(this.hide,this)),i&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),i?this.$backdrop.one(e.support.transition.end,t):t()}else!this.isShown&&this.$backdrop?(this.$backdrop.removeClass("in"),e.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one(e.support.transition.end,e.proxy(this.removeBackdrop,this)):this.removeBackdrop()):t&&t()}},e.fn.modal=function(n){return this.each(function(){var r=e(this),i=r.data("modal"),s=e.extend({},e.fn.modal.defaults,r.data(),typeof n=="object"&&n);i||r.data("modal",i=new t(this,s)),typeof n=="string"?i[n]():s.show&&i.show()})},e.fn.modal.defaults={backdrop:!0,keyboard:!0,show:!0},e.fn.modal.Constructor=t,e(document).on("click.modal.data-api",'[data-toggle="modal"]',function(t){var n=e(this),r=n.attr("href"),i=e(n.attr("data-target")||r&&r.replace(/.*(?=#[^\s]+$)/,"")),s=i.data("modal")?"toggle":e.extend({remote:!/#/.test(r)&&r},i.data(),n.data());t.preventDefault(),i.modal(s).one("hide",function(){n.focus()})})}(window.jQuery),!function(e){"use strict";var t=function(e,t){this.init("tooltip",e,t)};t.prototype={constructor:t,init:function(t,n,r){var i,s;this.type=t,this.$element=e(n),this.options=this.getOptions(r),this.enabled=!0,this.options.trigger=="click"?this.$element.on("click."+this.type,this.options.selector,e.proxy(this.toggle,this)):this.options.trigger!="manual"&&(i=this.options.trigger=="hover"?"mouseenter":"focus",s=this.options.trigger=="hover"?"mouseleave":"blur",this.$element.on(i+"."+this.type,this.options.selector,e.proxy(this.enter,this)),this.$element.on(s+"."+this.type,this.options.selector,e.proxy(this.leave,this))),this.options.selector?this._options=e.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},getOptions:function(t){return t=e.extend({},e.fn[this.type].defaults,t,this.$element.data()),t.delay&&typeof t.delay=="number"&&(t.delay={show:t.delay,hide:t.delay}),t},enter:function(t){var n=e(t.currentTarget)[this.type](this._options).data(this.type);if(!n.options.delay||!n.options.delay.show)return n.show();clearTimeout(this.timeout),n.hoverState="in",this.timeout=setTimeout(function(){n.hoverState=="in"&&n.show()},n.options.delay.show)},leave:function(t){var n=e(t.currentTarget)[this.type](this._options).data(this.type);this.timeout&&clearTimeout(this.timeout);if(!n.options.delay||!n.options.delay.hide)return n.hide();n.hoverState="out",this.timeout=setTimeout(function(){n.hoverState=="out"&&n.hide()},n.options.delay.hide)},show:function(){var e,t,n,r,i,s,o;if(this.hasContent()&&this.enabled){e=this.tip(),this.setContent(),this.options.animation&&e.addClass("fade"),s=typeof this.options.placement=="function"?this.options.placement.call(this,e[0],this.$element[0]):this.options.placement,t=/in/.test(s),e.detach().css({top:0,left:0,display:"block"}).insertAfter(this.$element),n=this.getPosition(t),r=e[0].offsetWidth,i=e[0].offsetHeight;switch(t?s.split(" ")[1]:s){case"bottom":o={top:n.top+n.height,left:n.left+n.width/2-r/2};break;case"top":o={top:n.top-i,left:n.left+n.width/2-r/2};break;case"left":o={top:n.top+n.height/2-i/2,left:n.left-r};break;case"right":o={top:n.top+n.height/2-i/2,left:n.left+n.width}}e.offset(o).addClass(s).addClass("in")}},setContent:function(){var e=this.tip(),t=this.getTitle();e.find(".tooltip-inner")[this.options.html?"html":"text"](t),e.removeClass("fade in top bottom left right")},hide:function(){function r(){var t=setTimeout(function(){n.off(e.support.transition.end).detach()},500);n.one(e.support.transition.end,function(){clearTimeout(t),n.detach()})}var t=this,n=this.tip();return n.removeClass("in"),e.support.transition&&this.$tip.hasClass("fade")?r():n.detach(),this},fixTitle:function(){var e=this.$element;(e.attr("title")||typeof e.attr("data-original-title")!="string")&&e.attr("data-original-title",e.attr("title")||"").removeAttr("title")},hasContent:function(){return this.getTitle()},getPosition:function(t){return e.extend({},t?{top:0,left:0}:this.$element.offset(),{width:this.$element[0].offsetWidth,height:this.$element[0].offsetHeight})},getTitle:function(){var e,t=this.$element,n=this.options;return e=t.attr("data-original-title")||(typeof n.title=="function"?n.title.call(t[0]):n.title),e},tip:function(){return this.$tip=this.$tip||e(this.options.template)},validate:function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},enable:function(){this.enabled=!0},disable:function(){this.enabled=!1},toggleEnabled:function(){this.enabled=!this.enabled},toggle:function(t){var n=e(t.currentTarget)[this.type](this._options).data(this.type);n[n.tip().hasClass("in")?"hide":"show"]()},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}},e.fn.tooltip=function(n){return this.each(function(){var r=e(this),i=r.data("tooltip"),s=typeof n=="object"&&n;i||r.data("tooltip",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.tooltip.Constructor=t,e.fn.tooltip.defaults={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover",title:"",delay:0,html:!1}}(window.jQuery),!function(e){"use strict";var t=function(e,t){this.init("popover",e,t)};t.prototype=e.extend({},e.fn.tooltip.Constructor.prototype,{constructor:t,setContent:function(){var e=this.tip(),t=this.getTitle(),n=this.getContent();e.find(".popover-title")[this.options.html?"html":"text"](t),e.find(".popover-content > *")[this.options.html?"html":"text"](n),e.removeClass("fade top bottom left right in")},hasContent:function(){return this.getTitle()||this.getContent()},getContent:function(){var e,t=this.$element,n=this.options;return e=t.attr("data-content")||(typeof n.content=="function"?n.content.call(t[0]):n.content),e},tip:function(){return this.$tip||(this.$tip=e(this.options.template)),this.$tip},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}}),e.fn.popover=function(n){return this.each(function(){var r=e(this),i=r.data("popover"),s=typeof n=="object"&&n;i||r.data("popover",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.popover.Constructor=t,e.fn.popover.defaults=e.extend({},e.fn.tooltip.defaults,{placement:"right",trigger:"click",content:"",template:'<div class="popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"><p></p></div></div></div>'})}(window.jQuery),!function(e){"use strict";function t(t,n){var r=e.proxy(this.process,this),i=e(t).is("body")?e(window):e(t),s;this.options=e.extend({},e.fn.scrollspy.defaults,n),this.$scrollElement=i.on("scroll.scroll-spy.data-api",r),this.selector=(this.options.target||(s=e(t).attr("href"))&&s.replace(/.*(?=#[^\s]+$)/,"")||"")+" .nav li > a",this.$body=e("body"),this.refresh(),this.process()}t.prototype={constructor:t,refresh:function(){var t=this,n;this.offsets=e([]),this.targets=e([]),n=this.$body.find(this.selector).map(function(){var t=e(this),n=t.data("target")||t.attr("href"),r=/^#\w/.test(n)&&e(n);return r&&r.length&&[[r.position().top,n]]||null}).sort(function(e,t){return e[0]-t[0]}).each(function(){t.offsets.push(this[0]),t.targets.push(this[1])})},process:function(){var e=this.$scrollElement.scrollTop()+this.options.offset,t=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,n=t-this.$scrollElement.height(),r=this.offsets,i=this.targets,s=this.activeTarget,o;if(e>=n)return s!=(o=i.last()[0])&&this.activate(o);for(o=r.length;o--;)s!=i[o]&&e>=r[o]&&(!r[o+1]||e<=r[o+1])&&this.activate(i[o])},activate:function(t){var n,r;this.activeTarget=t,e(this.selector).parent(".active").removeClass("active"),r=this.selector+'[data-target="'+t+'"],'+this.selector+'[href="'+t+'"]',n=e(r).parent("li").addClass("active"),n.parent(".dropdown-menu").length&&(n=n.closest("li.dropdown").addClass("active")),n.trigger("activate")}},e.fn.scrollspy=function(n){return this.each(function(){var r=e(this),i=r.data("scrollspy"),s=typeof n=="object"&&n;i||r.data("scrollspy",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.scrollspy.Constructor=t,e.fn.scrollspy.defaults={offset:10},e(window).on("load",function(){e('[data-spy="scroll"]').each(function(){var t=e(this);t.scrollspy(t.data())})})}(window.jQuery),!function(e){"use strict";var t=function(t){this.element=e(t)};t.prototype={constructor:t,show:function(){var t=this.element,n=t.closest("ul:not(.dropdown-menu)"),r=t.attr("data-target"),i,s,o;r||(r=t.attr("href"),r=r&&r.replace(/.*(?=#[^\s]*$)/,""));if(t.parent("li").hasClass("active"))return;i=n.find(".active:last a")[0],o=e.Event("show",{relatedTarget:i}),t.trigger(o);if(o.isDefaultPrevented())return;s=e(r),this.activate(t.parent("li"),n),this.activate(s,s.parent(),function(){t.trigger({type:"shown",relatedTarget:i})})},activate:function(t,n,r){function o(){i.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),t.addClass("active"),s?(t[0].offsetWidth,t.addClass("in")):t.removeClass("fade"),t.parent(".dropdown-menu")&&t.closest("li.dropdown").addClass("active"),r&&r()}var i=n.find("> .active"),s=r&&e.support.transition&&i.hasClass("fade");s?i.one(e.support.transition.end,o):o(),i.removeClass("in")}},e.fn.tab=function(n){return this.each(function(){var r=e(this),i=r.data("tab");i||r.data("tab",i=new t(this)),typeof n=="string"&&i[n]()})},e.fn.tab.Constructor=t,e(document).on("click.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(t){t.preventDefault(),e(this).tab("show")})}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.$element=e(t),this.options=e.extend({},e.fn.typeahead.defaults,n),this.matcher=this.options.matcher||this.matcher,this.sorter=this.options.sorter||this.sorter,this.highlighter=this.options.highlighter||this.highlighter,this.updater=this.options.updater||this.updater,this.$menu=e(this.options.menu).appendTo("body"),this.source=this.options.source,this.shown=!1,this.listen()};t.prototype={constructor:t,select:function(){var e=this.$menu.find(".active").attr("data-value");return this.$element.val(this.updater(e)).change(),this.hide()},updater:function(e){return e},show:function(){var t=e.extend({},this.$element.offset(),{height:this.$element[0].offsetHeight});return this.$menu.css({top:t.top+t.height,left:t.left}),this.$menu.show(),this.shown=!0,this},hide:function(){return this.$menu.hide(),this.shown=!1,this},lookup:function(t){var n;return this.query=this.$element.val(),!this.query||this.query.length<this.options.minLength?this.shown?this.hide():this:(n=e.isFunction(this.source)?this.source(this.query,e.proxy(this.process,this)):this.source,n?this.process(n):this)},process:function(t){var n=this;return t=e.grep(t,function(e){return n.matcher(e)}),t=this.sorter(t),t.length?this.render(t.slice(0,this.options.items)).show():this.shown?this.hide():this},matcher:function(e){return~e.toLowerCase().indexOf(this.query.toLowerCase())},sorter:function(e){var t=[],n=[],r=[],i;while(i=e.shift())i.toLowerCase().indexOf(this.query.toLowerCase())?~i.indexOf(this.query)?n.push(i):r.push(i):t.push(i);return t.concat(n,r)},highlighter:function(e){var t=this.query.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&");return e.replace(new RegExp("("+t+")","ig"),function(e,t){return"<strong>"+t+"</strong>"})},render:function(t){var n=this;return t=e(t).map(function(t,r){return t=e(n.options.item).attr("data-value",r),t.find("a").html(n.highlighter(r)),t[0]}),t.first().addClass("active"),this.$menu.html(t),this},next:function(t){var n=this.$menu.find(".active").removeClass("active"),r=n.next();r.length||(r=e(this.$menu.find("li")[0])),r.addClass("active")},prev:function(e){var t=this.$menu.find(".active").removeClass("active"),n=t.prev();n.length||(n=this.$menu.find("li").last()),n.addClass("active")},listen:function(){this.$element.on("blur",e.proxy(this.blur,this)).on("keypress",e.proxy(this.keypress,this)).on("keyup",e.proxy(this.keyup,this)),this.eventSupported("keydown")&&this.$element.on("keydown",e.proxy(this.keydown,this)),this.$menu.on("click",e.proxy(this.click,this)).on("mouseenter","li",e.proxy(this.mouseenter,this))},eventSupported:function(e){var t=e in this.$element;return t||(this.$element.setAttribute(e,"return;"),t=typeof this.$element[e]=="function"),t},move:function(e){if(!this.shown)return;switch(e.keyCode){case 9:case 13:case 27:e.preventDefault();break;case 38:e.preventDefault(),this.prev();break;case 40:e.preventDefault(),this.next()}e.stopPropagation()},keydown:function(t){this.suppressKeyPressRepeat=!~e.inArray(t.keyCode,[40,38,9,13,27]),this.move(t)},keypress:function(e){if(this.suppressKeyPressRepeat)return;this.move(e)},keyup:function(e){switch(e.keyCode){case 40:case 38:case 16:case 17:case 18:break;case 9:case 13:if(!this.shown)return;this.select();break;case 27:if(!this.shown)return;this.hide();break;default:this.lookup()}e.stopPropagation(),e.preventDefault()},blur:function(e){var t=this;setTimeout(function(){t.hide()},150)},click:function(e){e.stopPropagation(),e.preventDefault(),this.select()},mouseenter:function(t){this.$menu.find(".active").removeClass("active"),e(t.currentTarget).addClass("active")}},e.fn.typeahead=function(n){return this.each(function(){var r=e(this),i=r.data("typeahead"),s=typeof n=="object"&&n;i||r.data("typeahead",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.typeahead.defaults={source:[],items:8,menu:'<ul class="typeahead dropdown-menu"></ul>',item:'<li><a href="#"></a></li>',minLength:1},e.fn.typeahead.Constructor=t,e(document).on("focus.typeahead.data-api",'[data-provide="typeahead"]',function(t){var n=e(this);if(n.data("typeahead"))return;t.preventDefault(),n.typeahead(n.data())})}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.options=e.extend({},e.fn.affix.defaults,n),this.$window=e(window).on("scroll.affix.data-api",e.proxy(this.checkPosition,this)).on("click.affix.data-api",e.proxy(function(){setTimeout(e.proxy(this.checkPosition,this),1)},this)),this.$element=e(t),this.checkPosition()};t.prototype.checkPosition=function(){if(!this.$element.is(":visible"))return;var t=e(document).height(),n=this.$window.scrollTop(),r=this.$element.offset(),i=this.options.offset,s=i.bottom,o=i.top,u="affix affix-top affix-bottom",a;typeof i!="object"&&(s=o=i),typeof o=="function"&&(o=i.top()),typeof s=="function"&&(s=i.bottom()),a=this.unpin!=null&&n+this.unpin<=r.top?!1:s!=null&&r.top+this.$element.height()>=t-s?"bottom":o!=null&&n<=o?"top":!1;if(this.affixed===a)return;this.affixed=a,this.unpin=a=="bottom"?r.top-n:null,this.$element.removeClass(u).addClass("affix"+(a?"-"+a:""))},e.fn.affix=function(n){return this.each(function(){var r=e(this),i=r.data("affix"),s=typeof n=="object"&&n;i||r.data("affix",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.affix.Constructor=t,e.fn.affix.defaults={offset:0},e(window).on("load",function(){e('[data-spy="affix"]').each(function(){var t=e(this),n=t.data();n.offset=n.offset||{},n.offsetBottom&&(n.offset.bottom=n.offsetBottom),n.offsetTop&&(n.offset.top=n.offsetTop),t.affix(n)})})}(window.jQuery);
2
+ * Bootstrap.js by @fat & @mdo
3
+ * Copyright 2012 Twitter, Inc.
4
+ * http://www.apache.org/licenses/LICENSE-2.0.txt
5
+ */
6
+ !(function (e) {
7
+ "use strict";
8
+ e(function () {
9
+ e.support.transition = (function () {
10
+ var e = (function () {
11
+ var e = document.createElement("bootstrap"),
12
+ t = {
13
+ WebkitTransition: "webkitTransitionEnd",
14
+ MozTransition: "transitionend",
15
+ OTransition: "oTransitionEnd otransitionend",
16
+ transition: "transitionend",
17
+ },
18
+ n;
19
+ for (n in t) if (e.style[n] !== undefined) return t[n];
20
+ })();
21
+ return e && { end: e };
22
+ })();
23
+ });
24
+ })(window.jQuery),
25
+ !(function (e) {
26
+ "use strict";
27
+ var t = '[data-dismiss="alert"]',
28
+ n = function (n) {
29
+ e(n).on("click", t, this.close);
30
+ };
31
+ (n.prototype.close = function (t) {
32
+ function s() {
33
+ i.trigger("closed").remove();
34
+ }
35
+ var n = e(this),
36
+ r = n.attr("data-target"),
37
+ i;
38
+ r || ((r = n.attr("href")), (r = r && r.replace(/.*(?=#[^\s]*$)/, ""))),
39
+ (i = e(r)),
40
+ t && t.preventDefault(),
41
+ i.length || (i = n.hasClass("alert") ? n : n.parent()),
42
+ i.trigger((t = e.Event("close")));
43
+ if (t.isDefaultPrevented()) return;
44
+ i.removeClass("in"),
45
+ e.support.transition && i.hasClass("fade")
46
+ ? i.on(e.support.transition.end, s)
47
+ : s();
48
+ }),
49
+ (e.fn.alert = function (t) {
50
+ return this.each(function () {
51
+ var r = e(this),
52
+ i = r.data("alert");
53
+ i || r.data("alert", (i = new n(this))),
54
+ typeof t == "string" && i[t].call(r);
55
+ });
56
+ }),
57
+ (e.fn.alert.Constructor = n),
58
+ e(document).on("click.alert.data-api", t, n.prototype.close);
59
+ })(window.jQuery),
60
+ !(function (e) {
61
+ "use strict";
62
+ var t = function (t, n) {
63
+ (this.$element = e(t)),
64
+ (this.options = e.extend({}, e.fn.button.defaults, n));
65
+ };
66
+ (t.prototype.setState = function (e) {
67
+ var t = "disabled",
68
+ n = this.$element,
69
+ r = n.data(),
70
+ i = n.is("input") ? "val" : "html";
71
+ (e += "Text"),
72
+ r.resetText || n.data("resetText", n[i]()),
73
+ n[i](r[e] || this.options[e]),
74
+ setTimeout(function () {
75
+ e == "loadingText"
76
+ ? n.addClass(t).attr(t, t)
77
+ : n.removeClass(t).removeAttr(t);
78
+ }, 0);
79
+ }),
80
+ (t.prototype.toggle = function () {
81
+ var e = this.$element.closest('[data-toggle="buttons-radio"]');
82
+ e && e.find(".active").removeClass("active"),
83
+ this.$element.toggleClass("active");
84
+ }),
85
+ (e.fn.button = function (n) {
86
+ return this.each(function () {
87
+ var r = e(this),
88
+ i = r.data("button"),
89
+ s = typeof n == "object" && n;
90
+ i || r.data("button", (i = new t(this, s))),
91
+ n == "toggle" ? i.toggle() : n && i.setState(n);
92
+ });
93
+ }),
94
+ (e.fn.button.defaults = { loadingText: "loading..." }),
95
+ (e.fn.button.Constructor = t),
96
+ e(document).on(
97
+ "click.button.data-api",
98
+ "[data-toggle^=button]",
99
+ function (t) {
100
+ var n = e(t.target);
101
+ n.hasClass("btn") || (n = n.closest(".btn")), n.button("toggle");
102
+ }
103
+ );
104
+ })(window.jQuery),
105
+ !(function (e) {
106
+ "use strict";
107
+ var t = function (t, n) {
108
+ (this.$element = e(t)),
109
+ (this.options = n),
110
+ this.options.slide && this.slide(this.options.slide),
111
+ this.options.pause == "hover" &&
112
+ this.$element
113
+ .on("mouseenter", e.proxy(this.pause, this))
114
+ .on("mouseleave", e.proxy(this.cycle, this));
115
+ };
116
+ (t.prototype = {
117
+ cycle: function (t) {
118
+ return (
119
+ t || (this.paused = !1),
120
+ this.options.interval &&
121
+ !this.paused &&
122
+ (this.interval = setInterval(
123
+ e.proxy(this.next, this),
124
+ this.options.interval
125
+ )),
126
+ this
127
+ );
128
+ },
129
+ to: function (t) {
130
+ var n = this.$element.find(".item.active"),
131
+ r = n.parent().children(),
132
+ i = r.index(n),
133
+ s = this;
134
+ if (t > r.length - 1 || t < 0) return;
135
+ return this.sliding
136
+ ? this.$element.one("slid", function () {
137
+ s.to(t);
138
+ })
139
+ : i == t
140
+ ? this.pause().cycle()
141
+ : this.slide(t > i ? "next" : "prev", e(r[t]));
142
+ },
143
+ pause: function (t) {
144
+ return (
145
+ t || (this.paused = !0),
146
+ this.$element.find(".next, .prev").length &&
147
+ e.support.transition.end &&
148
+ (this.$element.trigger(e.support.transition.end), this.cycle()),
149
+ clearInterval(this.interval),
150
+ (this.interval = null),
151
+ this
152
+ );
153
+ },
154
+ next: function () {
155
+ if (this.sliding) return;
156
+ return this.slide("next");
157
+ },
158
+ prev: function () {
159
+ if (this.sliding) return;
160
+ return this.slide("prev");
161
+ },
162
+ slide: function (t, n) {
163
+ var r = this.$element.find(".item.active"),
164
+ i = n || r[t](),
165
+ s = this.interval,
166
+ o = t == "next" ? "left" : "right",
167
+ u = t == "next" ? "first" : "last",
168
+ a = this,
169
+ f;
170
+ (this.sliding = !0),
171
+ s && this.pause(),
172
+ (i = i.length ? i : this.$element.find(".item")[u]()),
173
+ (f = e.Event("slide", { relatedTarget: i[0] }));
174
+ if (i.hasClass("active")) return;
175
+ if (e.support.transition && this.$element.hasClass("slide")) {
176
+ this.$element.trigger(f);
177
+ if (f.isDefaultPrevented()) return;
178
+ i.addClass(t),
179
+ i[0].offsetWidth,
180
+ r.addClass(o),
181
+ i.addClass(o),
182
+ this.$element.one(e.support.transition.end, function () {
183
+ i.removeClass([t, o].join(" ")).addClass("active"),
184
+ r.removeClass(["active", o].join(" ")),
185
+ (a.sliding = !1),
186
+ setTimeout(function () {
187
+ a.$element.trigger("slid");
188
+ }, 0);
189
+ });
190
+ } else {
191
+ this.$element.trigger(f);
192
+ if (f.isDefaultPrevented()) return;
193
+ r.removeClass("active"),
194
+ i.addClass("active"),
195
+ (this.sliding = !1),
196
+ this.$element.trigger("slid");
197
+ }
198
+ return s && this.cycle(), this;
199
+ },
200
+ }),
201
+ (e.fn.carousel = function (n) {
202
+ return this.each(function () {
203
+ var r = e(this),
204
+ i = r.data("carousel"),
205
+ s = e.extend({}, e.fn.carousel.defaults, typeof n == "object" && n),
206
+ o = typeof n == "string" ? n : s.slide;
207
+ i || r.data("carousel", (i = new t(this, s))),
208
+ typeof n == "number"
209
+ ? i.to(n)
210
+ : o
211
+ ? i[o]()
212
+ : s.interval && i.cycle();
213
+ });
214
+ }),
215
+ (e.fn.carousel.defaults = { interval: 5e3, pause: "hover" }),
216
+ (e.fn.carousel.Constructor = t),
217
+ e(document).on("click.carousel.data-api", "[data-slide]", function (t) {
218
+ var n = e(this),
219
+ r,
220
+ i = e(
221
+ n.attr("data-target") ||
222
+ ((r = n.attr("href")) && r.replace(/.*(?=#[^\s]+$)/, ""))
223
+ ),
224
+ s = e.extend({}, i.data(), n.data());
225
+ i.carousel(s), t.preventDefault();
226
+ });
227
+ })(window.jQuery),
228
+ !(function (e) {
229
+ "use strict";
230
+ var t = function (t, n) {
231
+ (this.$element = e(t)),
232
+ (this.options = e.extend({}, e.fn.collapse.defaults, n)),
233
+ this.options.parent && (this.$parent = e(this.options.parent)),
234
+ this.options.toggle && this.toggle();
235
+ };
236
+ (t.prototype = {
237
+ constructor: t,
238
+ dimension: function () {
239
+ var e = this.$element.hasClass("width");
240
+ return e ? "width" : "height";
241
+ },
242
+ show: function () {
243
+ var t, n, r, i;
244
+ if (this.transitioning) return;
245
+ (t = this.dimension()),
246
+ (n = e.camelCase(["scroll", t].join("-"))),
247
+ (r = this.$parent && this.$parent.find("> .accordion-group > .in"));
248
+ if (r && r.length) {
249
+ i = r.data("collapse");
250
+ if (i && i.transitioning) return;
251
+ r.collapse("hide"), i || r.data("collapse", null);
252
+ }
253
+ this.$element[t](0),
254
+ this.transition("addClass", e.Event("show"), "shown"),
255
+ e.support.transition && this.$element[t](this.$element[0][n]);
256
+ },
257
+ hide: function () {
258
+ var t;
259
+ if (this.transitioning) return;
260
+ (t = this.dimension()),
261
+ this.reset(this.$element[t]()),
262
+ this.transition("removeClass", e.Event("hide"), "hidden"),
263
+ this.$element[t](0);
264
+ },
265
+ reset: function (e) {
266
+ var t = this.dimension();
267
+ return (
268
+ this.$element.removeClass("collapse")[t](e || "auto")[0].offsetWidth,
269
+ this.$element[e !== null ? "addClass" : "removeClass"]("collapse"),
270
+ this
271
+ );
272
+ },
273
+ transition: function (t, n, r) {
274
+ var i = this,
275
+ s = function () {
276
+ n.type == "show" && i.reset(),
277
+ (i.transitioning = 0),
278
+ i.$element.trigger(r);
279
+ };
280
+ this.$element.trigger(n);
281
+ if (n.isDefaultPrevented()) return;
282
+ (this.transitioning = 1),
283
+ this.$element[t]("in"),
284
+ e.support.transition && this.$element.hasClass("collapse")
285
+ ? this.$element.one(e.support.transition.end, s)
286
+ : s();
287
+ },
288
+ toggle: function () {
289
+ this[this.$element.hasClass("in") ? "hide" : "show"]();
290
+ },
291
+ }),
292
+ (e.fn.collapse = function (n) {
293
+ return this.each(function () {
294
+ var r = e(this),
295
+ i = r.data("collapse"),
296
+ s = typeof n == "object" && n;
297
+ i || r.data("collapse", (i = new t(this, s))),
298
+ typeof n == "string" && i[n]();
299
+ });
300
+ }),
301
+ (e.fn.collapse.defaults = { toggle: !0 }),
302
+ (e.fn.collapse.Constructor = t),
303
+ e(document).on(
304
+ "click.collapse.data-api",
305
+ "[data-toggle=collapse]",
306
+ function (t) {
307
+ var n = e(this),
308
+ r,
309
+ i =
310
+ n.attr("data-target") ||
311
+ t.preventDefault() ||
312
+ ((r = n.attr("href")) && r.replace(/.*(?=#[^\s]+$)/, "")),
313
+ s = e(i).data("collapse") ? "toggle" : n.data();
314
+ n[e(i).hasClass("in") ? "addClass" : "removeClass"]("collapsed"),
315
+ e(i).collapse(s);
316
+ }
317
+ );
318
+ })(window.jQuery),
319
+ !(function (e) {
320
+ "use strict";
321
+ function r() {
322
+ e(t).each(function () {
323
+ i(e(this)).removeClass("open");
324
+ });
325
+ }
326
+ function i(t) {
327
+ var n = t.attr("data-target"),
328
+ r;
329
+ return (
330
+ n ||
331
+ ((n = t.attr("href")),
332
+ (n = n && /#/.test(n) && n.replace(/.*(?=#[^\s]*$)/, ""))),
333
+ (r = e(n)),
334
+ r.length || (r = t.parent()),
335
+ r
336
+ );
337
+ }
338
+ var t = "[data-toggle=dropdown]",
339
+ n = function (t) {
340
+ var n = e(t).on("click.dropdown.data-api", this.toggle);
341
+ e("html").on("click.dropdown.data-api", function () {
342
+ n.parent().removeClass("open");
343
+ });
344
+ };
345
+ (n.prototype = {
346
+ constructor: n,
347
+ toggle: function (t) {
348
+ var n = e(this),
349
+ s,
350
+ o;
351
+ if (n.is(".disabled, :disabled")) return;
352
+ return (
353
+ (s = i(n)),
354
+ (o = s.hasClass("open")),
355
+ r(),
356
+ o || (s.toggleClass("open"), n.focus()),
357
+ !1
358
+ );
359
+ },
360
+ keydown: function (t) {
361
+ var n, r, s, o, u, a;
362
+ if (!/(38|40|27)/.test(t.keyCode)) return;
363
+ (n = e(this)), t.preventDefault(), t.stopPropagation();
364
+ if (n.is(".disabled, :disabled")) return;
365
+ (o = i(n)), (u = o.hasClass("open"));
366
+ if (!u || (u && t.keyCode == 27)) return n.click();
367
+ r = e("[role=menu] li:not(.divider) a", o);
368
+ if (!r.length) return;
369
+ (a = r.index(r.filter(":focus"))),
370
+ t.keyCode == 38 && a > 0 && a--,
371
+ t.keyCode == 40 && a < r.length - 1 && a++,
372
+ ~a || (a = 0),
373
+ r.eq(a).focus();
374
+ },
375
+ }),
376
+ (e.fn.dropdown = function (t) {
377
+ return this.each(function () {
378
+ var r = e(this),
379
+ i = r.data("dropdown");
380
+ i || r.data("dropdown", (i = new n(this))),
381
+ typeof t == "string" && i[t].call(r);
382
+ });
383
+ }),
384
+ (e.fn.dropdown.Constructor = n),
385
+ e(document)
386
+ .on("click.dropdown.data-api touchstart.dropdown.data-api", r)
387
+ .on(
388
+ "click.dropdown touchstart.dropdown.data-api",
389
+ ".dropdown form",
390
+ function (e) {
391
+ e.stopPropagation();
392
+ }
393
+ )
394
+ .on(
395
+ "click.dropdown.data-api touchstart.dropdown.data-api",
396
+ t,
397
+ n.prototype.toggle
398
+ )
399
+ .on(
400
+ "keydown.dropdown.data-api touchstart.dropdown.data-api",
401
+ t + ", [role=menu]",
402
+ n.prototype.keydown
403
+ );
404
+ })(window.jQuery),
405
+ !(function (e) {
406
+ "use strict";
407
+ var t = function (t, n) {
408
+ (this.options = n),
409
+ (this.$element = e(t).delegate(
410
+ '[data-dismiss="modal"]',
411
+ "click.dismiss.modal",
412
+ e.proxy(this.hide, this)
413
+ )),
414
+ this.options.remote &&
415
+ this.$element.find(".modal-body").load(this.options.remote);
416
+ };
417
+ (t.prototype = {
418
+ constructor: t,
419
+ toggle: function () {
420
+ return this[this.isShown ? "hide" : "show"]();
421
+ },
422
+ show: function () {
423
+ var t = this,
424
+ n = e.Event("show");
425
+ this.$element.trigger(n);
426
+ if (this.isShown || n.isDefaultPrevented()) return;
427
+ (this.isShown = !0),
428
+ this.escape(),
429
+ this.backdrop(function () {
430
+ var n = e.support.transition && t.$element.hasClass("fade");
431
+ t.$element.parent().length || t.$element.appendTo(document.body),
432
+ t.$element.show(),
433
+ n && t.$element[0].offsetWidth,
434
+ t.$element.addClass("in").attr("aria-hidden", !1),
435
+ t.enforceFocus(),
436
+ n
437
+ ? t.$element.one(e.support.transition.end, function () {
438
+ t.$element.focus().trigger("shown");
439
+ })
440
+ : t.$element.focus().trigger("shown");
441
+ });
442
+ },
443
+ hide: function (t) {
444
+ t && t.preventDefault();
445
+ var n = this;
446
+ (t = e.Event("hide")), this.$element.trigger(t);
447
+ if (!this.isShown || t.isDefaultPrevented()) return;
448
+ (this.isShown = !1),
449
+ this.escape(),
450
+ e(document).off("focusin.modal"),
451
+ this.$element.removeClass("in").attr("aria-hidden", !0),
452
+ e.support.transition && this.$element.hasClass("fade")
453
+ ? this.hideWithTransition()
454
+ : this.hideModal();
455
+ },
456
+ enforceFocus: function () {
457
+ var t = this;
458
+ e(document).on("focusin.modal", function (e) {
459
+ t.$element[0] !== e.target &&
460
+ !t.$element.has(e.target).length &&
461
+ t.$element.focus();
462
+ });
463
+ },
464
+ escape: function () {
465
+ var e = this;
466
+ this.isShown && this.options.keyboard
467
+ ? this.$element.on("keyup.dismiss.modal", function (t) {
468
+ t.which == 27 && e.hide();
469
+ })
470
+ : this.isShown || this.$element.off("keyup.dismiss.modal");
471
+ },
472
+ hideWithTransition: function () {
473
+ var t = this,
474
+ n = setTimeout(function () {
475
+ t.$element.off(e.support.transition.end), t.hideModal();
476
+ }, 500);
477
+ this.$element.one(e.support.transition.end, function () {
478
+ clearTimeout(n), t.hideModal();
479
+ });
480
+ },
481
+ hideModal: function (e) {
482
+ this.$element.hide().trigger("hidden"), this.backdrop();
483
+ },
484
+ removeBackdrop: function () {
485
+ this.$backdrop.remove(), (this.$backdrop = null);
486
+ },
487
+ backdrop: function (t) {
488
+ var n = this,
489
+ r = this.$element.hasClass("fade") ? "fade" : "";
490
+ if (this.isShown && this.options.backdrop) {
491
+ var i = e.support.transition && r;
492
+ (this.$backdrop = e(
493
+ '<div class="modal-backdrop ' + r + '" />'
494
+ ).appendTo(document.body)),
495
+ this.$backdrop.click(
496
+ this.options.backdrop == "static"
497
+ ? e.proxy(this.$element[0].focus, this.$element[0])
498
+ : e.proxy(this.hide, this)
499
+ ),
500
+ i && this.$backdrop[0].offsetWidth,
501
+ this.$backdrop.addClass("in"),
502
+ i ? this.$backdrop.one(e.support.transition.end, t) : t();
503
+ } else
504
+ !this.isShown && this.$backdrop
505
+ ? (this.$backdrop.removeClass("in"),
506
+ e.support.transition && this.$element.hasClass("fade")
507
+ ? this.$backdrop.one(
508
+ e.support.transition.end,
509
+ e.proxy(this.removeBackdrop, this)
510
+ )
511
+ : this.removeBackdrop())
512
+ : t && t();
513
+ },
514
+ }),
515
+ (e.fn.modal = function (n) {
516
+ return this.each(function () {
517
+ var r = e(this),
518
+ i = r.data("modal"),
519
+ s = e.extend(
520
+ {},
521
+ e.fn.modal.defaults,
522
+ r.data(),
523
+ typeof n == "object" && n
524
+ );
525
+ i || r.data("modal", (i = new t(this, s))),
526
+ typeof n == "string" ? i[n]() : s.show && i.show();
527
+ });
528
+ }),
529
+ (e.fn.modal.defaults = { backdrop: !0, keyboard: !0, show: !0 }),
530
+ (e.fn.modal.Constructor = t),
531
+ e(document).on(
532
+ "click.modal.data-api",
533
+ '[data-toggle="modal"]',
534
+ function (t) {
535
+ var n = e(this),
536
+ r = n.attr("href"),
537
+ i = e(
538
+ n.attr("data-target") || (r && r.replace(/.*(?=#[^\s]+$)/, ""))
539
+ ),
540
+ s = i.data("modal")
541
+ ? "toggle"
542
+ : e.extend({ remote: !/#/.test(r) && r }, i.data(), n.data());
543
+ t.preventDefault(),
544
+ i.modal(s).one("hide", function () {
545
+ n.focus();
546
+ });
547
+ }
548
+ );
549
+ })(window.jQuery),
550
+ !(function (e) {
551
+ "use strict";
552
+ var t = function (e, t) {
553
+ this.init("tooltip", e, t);
554
+ };
555
+ (t.prototype = {
556
+ constructor: t,
557
+ init: function (t, n, r) {
558
+ var i, s;
559
+ (this.type = t),
560
+ (this.$element = e(n)),
561
+ (this.options = this.getOptions(r)),
562
+ (this.enabled = !0),
563
+ this.options.trigger == "click"
564
+ ? this.$element.on(
565
+ "click." + this.type,
566
+ this.options.selector,
567
+ e.proxy(this.toggle, this)
568
+ )
569
+ : this.options.trigger != "manual" &&
570
+ ((i = this.options.trigger == "hover" ? "mouseenter" : "focus"),
571
+ (s = this.options.trigger == "hover" ? "mouseleave" : "blur"),
572
+ this.$element.on(
573
+ i + "." + this.type,
574
+ this.options.selector,
575
+ e.proxy(this.enter, this)
576
+ ),
577
+ this.$element.on(
578
+ s + "." + this.type,
579
+ this.options.selector,
580
+ e.proxy(this.leave, this)
581
+ )),
582
+ this.options.selector
583
+ ? (this._options = e.extend({}, this.options, {
584
+ trigger: "manual",
585
+ selector: "",
586
+ }))
587
+ : this.fixTitle();
588
+ },
589
+ getOptions: function (t) {
590
+ return (
591
+ (t = e.extend({}, e.fn[this.type].defaults, t, this.$element.data())),
592
+ t.delay &&
593
+ typeof t.delay == "number" &&
594
+ (t.delay = { show: t.delay, hide: t.delay }),
595
+ t
596
+ );
597
+ },
598
+ enter: function (t) {
599
+ var n = e(t.currentTarget)[this.type](this._options).data(this.type);
600
+ if (!n.options.delay || !n.options.delay.show) return n.show();
601
+ clearTimeout(this.timeout),
602
+ (n.hoverState = "in"),
603
+ (this.timeout = setTimeout(function () {
604
+ n.hoverState == "in" && n.show();
605
+ }, n.options.delay.show));
606
+ },
607
+ leave: function (t) {
608
+ var n = e(t.currentTarget)[this.type](this._options).data(this.type);
609
+ this.timeout && clearTimeout(this.timeout);
610
+ if (!n.options.delay || !n.options.delay.hide) return n.hide();
611
+ (n.hoverState = "out"),
612
+ (this.timeout = setTimeout(function () {
613
+ n.hoverState == "out" && n.hide();
614
+ }, n.options.delay.hide));
615
+ },
616
+ show: function () {
617
+ var e, t, n, r, i, s, o;
618
+ if (this.hasContent() && this.enabled) {
619
+ (e = this.tip()),
620
+ this.setContent(),
621
+ this.options.animation && e.addClass("fade"),
622
+ (s =
623
+ typeof this.options.placement == "function"
624
+ ? this.options.placement.call(this, e[0], this.$element[0])
625
+ : this.options.placement),
626
+ (t = /in/.test(s)),
627
+ e
628
+ .detach()
629
+ .css({ top: 0, left: 0, display: "block" })
630
+ .insertAfter(this.$element),
631
+ (n = this.getPosition(t)),
632
+ (r = e[0].offsetWidth),
633
+ (i = e[0].offsetHeight);
634
+ switch (t ? s.split(" ")[1] : s) {
635
+ case "bottom":
636
+ o = { top: n.top + n.height, left: n.left + n.width / 2 - r / 2 };
637
+ break;
638
+ case "top":
639
+ o = { top: n.top - i, left: n.left + n.width / 2 - r / 2 };
640
+ break;
641
+ case "left":
642
+ o = { top: n.top + n.height / 2 - i / 2, left: n.left - r };
643
+ break;
644
+ case "right":
645
+ o = { top: n.top + n.height / 2 - i / 2, left: n.left + n.width };
646
+ }
647
+ e.offset(o).addClass(s).addClass("in");
648
+ }
649
+ },
650
+ setContent: function () {
651
+ var e = this.tip(),
652
+ t = this.getTitle();
653
+ e.find(".tooltip-inner")[this.options.html ? "html" : "text"](t),
654
+ e.removeClass("fade in top bottom left right");
655
+ },
656
+ hide: function () {
657
+ function r() {
658
+ var t = setTimeout(function () {
659
+ n.off(e.support.transition.end).detach();
660
+ }, 500);
661
+ n.one(e.support.transition.end, function () {
662
+ clearTimeout(t), n.detach();
663
+ });
664
+ }
665
+ var t = this,
666
+ n = this.tip();
667
+ return (
668
+ n.removeClass("in"),
669
+ e.support.transition && this.$tip.hasClass("fade") ? r() : n.detach(),
670
+ this
671
+ );
672
+ },
673
+ fixTitle: function () {
674
+ var e = this.$element;
675
+ (e.attr("title") || typeof e.attr("data-original-title") != "string") &&
676
+ e
677
+ .attr("data-original-title", e.attr("title") || "")
678
+ .removeAttr("title");
679
+ },
680
+ hasContent: function () {
681
+ return this.getTitle();
682
+ },
683
+ getPosition: function (t) {
684
+ return e.extend({}, t ? { top: 0, left: 0 } : this.$element.offset(), {
685
+ width: this.$element[0].offsetWidth,
686
+ height: this.$element[0].offsetHeight,
687
+ });
688
+ },
689
+ getTitle: function () {
690
+ var e,
691
+ t = this.$element,
692
+ n = this.options;
693
+ return (
694
+ (e =
695
+ t.attr("data-original-title") ||
696
+ (typeof n.title == "function" ? n.title.call(t[0]) : n.title)),
697
+ e
698
+ );
699
+ },
700
+ tip: function () {
701
+ return (this.$tip = this.$tip || e(this.options.template));
702
+ },
703
+ validate: function () {
704
+ this.$element[0].parentNode ||
705
+ (this.hide(), (this.$element = null), (this.options = null));
706
+ },
707
+ enable: function () {
708
+ this.enabled = !0;
709
+ },
710
+ disable: function () {
711
+ this.enabled = !1;
712
+ },
713
+ toggleEnabled: function () {
714
+ this.enabled = !this.enabled;
715
+ },
716
+ toggle: function (t) {
717
+ var n = e(t.currentTarget)[this.type](this._options).data(this.type);
718
+ n[n.tip().hasClass("in") ? "hide" : "show"]();
719
+ },
720
+ destroy: function () {
721
+ this.hide()
722
+ .$element.off("." + this.type)
723
+ .removeData(this.type);
724
+ },
725
+ }),
726
+ (e.fn.tooltip = function (n) {
727
+ return this.each(function () {
728
+ var r = e(this),
729
+ i = r.data("tooltip"),
730
+ s = typeof n == "object" && n;
731
+ i || r.data("tooltip", (i = new t(this, s))),
732
+ typeof n == "string" && i[n]();
733
+ });
734
+ }),
735
+ (e.fn.tooltip.Constructor = t),
736
+ (e.fn.tooltip.defaults = {
737
+ animation: !0,
738
+ placement: "top",
739
+ selector: !1,
740
+ template:
741
+ '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',
742
+ trigger: "hover",
743
+ title: "",
744
+ delay: 0,
745
+ html: !1,
746
+ });
747
+ })(window.jQuery),
748
+ !(function (e) {
749
+ "use strict";
750
+ var t = function (e, t) {
751
+ this.init("popover", e, t);
752
+ };
753
+ (t.prototype = e.extend({}, e.fn.tooltip.Constructor.prototype, {
754
+ constructor: t,
755
+ setContent: function () {
756
+ var e = this.tip(),
757
+ t = this.getTitle(),
758
+ n = this.getContent();
759
+ e.find(".popover-title")[this.options.html ? "html" : "text"](t),
760
+ e
761
+ .find(".popover-content > *")
762
+ [this.options.html ? "html" : "text"](n),
763
+ e.removeClass("fade top bottom left right in");
764
+ },
765
+ hasContent: function () {
766
+ return this.getTitle() || this.getContent();
767
+ },
768
+ getContent: function () {
769
+ var e,
770
+ t = this.$element,
771
+ n = this.options;
772
+ return (
773
+ (e =
774
+ t.attr("data-content") ||
775
+ (typeof n.content == "function"
776
+ ? n.content.call(t[0])
777
+ : n.content)),
778
+ e
779
+ );
780
+ },
781
+ tip: function () {
782
+ return this.$tip || (this.$tip = e(this.options.template)), this.$tip;
783
+ },
784
+ destroy: function () {
785
+ this.hide()
786
+ .$element.off("." + this.type)
787
+ .removeData(this.type);
788
+ },
789
+ })),
790
+ (e.fn.popover = function (n) {
791
+ return this.each(function () {
792
+ var r = e(this),
793
+ i = r.data("popover"),
794
+ s = typeof n == "object" && n;
795
+ i || r.data("popover", (i = new t(this, s))),
796
+ typeof n == "string" && i[n]();
797
+ });
798
+ }),
799
+ (e.fn.popover.Constructor = t),
800
+ (e.fn.popover.defaults = e.extend({}, e.fn.tooltip.defaults, {
801
+ placement: "right",
802
+ trigger: "click",
803
+ content: "",
804
+ template:
805
+ '<div class="popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"><p></p></div></div></div>',
806
+ }));
807
+ })(window.jQuery),
808
+ !(function (e) {
809
+ "use strict";
810
+ function t(t, n) {
811
+ var r = e.proxy(this.process, this),
812
+ i = e(t).is("body") ? e(window) : e(t),
813
+ s;
814
+ (this.options = e.extend({}, e.fn.scrollspy.defaults, n)),
815
+ (this.$scrollElement = i.on("scroll.scroll-spy.data-api", r)),
816
+ (this.selector =
817
+ (this.options.target ||
818
+ ((s = e(t).attr("href")) && s.replace(/.*(?=#[^\s]+$)/, "")) ||
819
+ "") + " .nav li > a"),
820
+ (this.$body = e("body")),
821
+ this.refresh(),
822
+ this.process();
823
+ }
824
+ (t.prototype = {
825
+ constructor: t,
826
+ refresh: function () {
827
+ var t = this,
828
+ n;
829
+ (this.offsets = e([])),
830
+ (this.targets = e([])),
831
+ (n = this.$body
832
+ .find(this.selector)
833
+ .map(function () {
834
+ var t = e(this),
835
+ n = t.data("target") || t.attr("href"),
836
+ r = /^#\w/.test(n) && e(n);
837
+ return (r && r.length && [[r.position().top, n]]) || null;
838
+ })
839
+ .sort(function (e, t) {
840
+ return e[0] - t[0];
841
+ })
842
+ .each(function () {
843
+ t.offsets.push(this[0]), t.targets.push(this[1]);
844
+ }));
845
+ },
846
+ process: function () {
847
+ var e = this.$scrollElement.scrollTop() + this.options.offset,
848
+ t = this.$scrollElement[0].scrollHeight || this.$body[0].scrollHeight,
849
+ n = t - this.$scrollElement.height(),
850
+ r = this.offsets,
851
+ i = this.targets,
852
+ s = this.activeTarget,
853
+ o;
854
+ if (e >= n) return s != (o = i.last()[0]) && this.activate(o);
855
+ for (o = r.length; o--; )
856
+ s != i[o] &&
857
+ e >= r[o] &&
858
+ (!r[o + 1] || e <= r[o + 1]) &&
859
+ this.activate(i[o]);
860
+ },
861
+ activate: function (t) {
862
+ var n, r;
863
+ (this.activeTarget = t),
864
+ e(this.selector).parent(".active").removeClass("active"),
865
+ (r =
866
+ this.selector +
867
+ '[data-target="' +
868
+ t +
869
+ '"],' +
870
+ this.selector +
871
+ '[href="' +
872
+ t +
873
+ '"]'),
874
+ (n = e(r).parent("li").addClass("active")),
875
+ n.parent(".dropdown-menu").length &&
876
+ (n = n.closest("li.dropdown").addClass("active")),
877
+ n.trigger("activate");
878
+ },
879
+ }),
880
+ (e.fn.scrollspy = function (n) {
881
+ return this.each(function () {
882
+ var r = e(this),
883
+ i = r.data("scrollspy"),
884
+ s = typeof n == "object" && n;
885
+ i || r.data("scrollspy", (i = new t(this, s))),
886
+ typeof n == "string" && i[n]();
887
+ });
888
+ }),
889
+ (e.fn.scrollspy.Constructor = t),
890
+ (e.fn.scrollspy.defaults = { offset: 10 }),
891
+ e(window).on("load", function () {
892
+ e('[data-spy="scroll"]').each(function () {
893
+ var t = e(this);
894
+ t.scrollspy(t.data());
895
+ });
896
+ });
897
+ })(window.jQuery),
898
+ !(function (e) {
899
+ "use strict";
900
+ var t = function (t) {
901
+ this.element = e(t);
902
+ };
903
+ (t.prototype = {
904
+ constructor: t,
905
+ show: function () {
906
+ var t = this.element,
907
+ n = t.closest("ul:not(.dropdown-menu)"),
908
+ r = t.attr("data-target"),
909
+ i,
910
+ s,
911
+ o;
912
+ r || ((r = t.attr("href")), (r = r && r.replace(/.*(?=#[^\s]*$)/, "")));
913
+ if (t.parent("li").hasClass("active")) return;
914
+ (i = n.find(".active:last a")[0]),
915
+ (o = e.Event("show", { relatedTarget: i })),
916
+ t.trigger(o);
917
+ if (o.isDefaultPrevented()) return;
918
+ (s = e(r)),
919
+ this.activate(t.parent("li"), n),
920
+ this.activate(s, s.parent(), function () {
921
+ t.trigger({ type: "shown", relatedTarget: i });
922
+ });
923
+ },
924
+ activate: function (t, n, r) {
925
+ function o() {
926
+ i
927
+ .removeClass("active")
928
+ .find("> .dropdown-menu > .active")
929
+ .removeClass("active"),
930
+ t.addClass("active"),
931
+ s ? (t[0].offsetWidth, t.addClass("in")) : t.removeClass("fade"),
932
+ t.parent(".dropdown-menu") &&
933
+ t.closest("li.dropdown").addClass("active"),
934
+ r && r();
935
+ }
936
+ var i = n.find("> .active"),
937
+ s = r && e.support.transition && i.hasClass("fade");
938
+ s ? i.one(e.support.transition.end, o) : o(), i.removeClass("in");
939
+ },
940
+ }),
941
+ (e.fn.tab = function (n) {
942
+ return this.each(function () {
943
+ var r = e(this),
944
+ i = r.data("tab");
945
+ i || r.data("tab", (i = new t(this))), typeof n == "string" && i[n]();
946
+ });
947
+ }),
948
+ (e.fn.tab.Constructor = t),
949
+ e(document).on(
950
+ "click.tab.data-api",
951
+ '[data-toggle="tab"], [data-toggle="pill"]',
952
+ function (t) {
953
+ t.preventDefault(), e(this).tab("show");
954
+ }
955
+ );
956
+ })(window.jQuery),
957
+ !(function (e) {
958
+ "use strict";
959
+ var t = function (t, n) {
960
+ (this.$element = e(t)),
961
+ (this.options = e.extend({}, e.fn.typeahead.defaults, n)),
962
+ (this.matcher = this.options.matcher || this.matcher),
963
+ (this.sorter = this.options.sorter || this.sorter),
964
+ (this.highlighter = this.options.highlighter || this.highlighter),
965
+ (this.updater = this.options.updater || this.updater),
966
+ (this.$menu = e(this.options.menu).appendTo("body")),
967
+ (this.source = this.options.source),
968
+ (this.shown = !1),
969
+ this.listen();
970
+ };
971
+ (t.prototype = {
972
+ constructor: t,
973
+ select: function () {
974
+ var e = this.$menu.find(".active").attr("data-value");
975
+ return this.$element.val(this.updater(e)).change(), this.hide();
976
+ },
977
+ updater: function (e) {
978
+ return e;
979
+ },
980
+ show: function () {
981
+ var t = e.extend({}, this.$element.offset(), {
982
+ height: this.$element[0].offsetHeight,
983
+ });
984
+ return (
985
+ this.$menu.css({ top: t.top + t.height, left: t.left }),
986
+ this.$menu.show(),
987
+ (this.shown = !0),
988
+ this
989
+ );
990
+ },
991
+ hide: function () {
992
+ return this.$menu.hide(), (this.shown = !1), this;
993
+ },
994
+ lookup: function (t) {
995
+ var n;
996
+ return (
997
+ (this.query = this.$element.val()),
998
+ !this.query || this.query.length < this.options.minLength
999
+ ? this.shown
1000
+ ? this.hide()
1001
+ : this
1002
+ : ((n = e.isFunction(this.source)
1003
+ ? this.source(this.query, e.proxy(this.process, this))
1004
+ : this.source),
1005
+ n ? this.process(n) : this)
1006
+ );
1007
+ },
1008
+ process: function (t) {
1009
+ var n = this;
1010
+ return (
1011
+ (t = e.grep(t, function (e) {
1012
+ return n.matcher(e);
1013
+ })),
1014
+ (t = this.sorter(t)),
1015
+ t.length
1016
+ ? this.render(t.slice(0, this.options.items)).show()
1017
+ : this.shown
1018
+ ? this.hide()
1019
+ : this
1020
+ );
1021
+ },
1022
+ matcher: function (e) {
1023
+ return ~e.toLowerCase().indexOf(this.query.toLowerCase());
1024
+ },
1025
+ sorter: function (e) {
1026
+ var t = [],
1027
+ n = [],
1028
+ r = [],
1029
+ i;
1030
+ while ((i = e.shift()))
1031
+ i.toLowerCase().indexOf(this.query.toLowerCase())
1032
+ ? ~i.indexOf(this.query)
1033
+ ? n.push(i)
1034
+ : r.push(i)
1035
+ : t.push(i);
1036
+ return t.concat(n, r);
1037
+ },
1038
+ highlighter: function (e) {
1039
+ var t = this.query.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&");
1040
+ return e.replace(new RegExp("(" + t + ")", "ig"), function (e, t) {
1041
+ return "<strong>" + t + "</strong>";
1042
+ });
1043
+ },
1044
+ render: function (t) {
1045
+ var n = this;
1046
+ return (
1047
+ (t = e(t).map(function (t, r) {
1048
+ return (
1049
+ (t = e(n.options.item).attr("data-value", r)),
1050
+ t.find("a").html(n.highlighter(r)),
1051
+ t[0]
1052
+ );
1053
+ })),
1054
+ t.first().addClass("active"),
1055
+ this.$menu.html(t),
1056
+ this
1057
+ );
1058
+ },
1059
+ next: function (t) {
1060
+ var n = this.$menu.find(".active").removeClass("active"),
1061
+ r = n.next();
1062
+ r.length || (r = e(this.$menu.find("li")[0])), r.addClass("active");
1063
+ },
1064
+ prev: function (e) {
1065
+ var t = this.$menu.find(".active").removeClass("active"),
1066
+ n = t.prev();
1067
+ n.length || (n = this.$menu.find("li").last()), n.addClass("active");
1068
+ },
1069
+ listen: function () {
1070
+ this.$element
1071
+ .on("blur", e.proxy(this.blur, this))
1072
+ .on("keypress", e.proxy(this.keypress, this))
1073
+ .on("keyup", e.proxy(this.keyup, this)),
1074
+ this.eventSupported("keydown") &&
1075
+ this.$element.on("keydown", e.proxy(this.keydown, this)),
1076
+ this.$menu
1077
+ .on("click", e.proxy(this.click, this))
1078
+ .on("mouseenter", "li", e.proxy(this.mouseenter, this));
1079
+ },
1080
+ eventSupported: function (e) {
1081
+ var t = e in this.$element;
1082
+ return (
1083
+ t ||
1084
+ (this.$element.setAttribute(e, "return;"),
1085
+ (t = typeof this.$element[e] == "function")),
1086
+ t
1087
+ );
1088
+ },
1089
+ move: function (e) {
1090
+ if (!this.shown) return;
1091
+ switch (e.keyCode) {
1092
+ case 9:
1093
+ case 13:
1094
+ case 27:
1095
+ e.preventDefault();
1096
+ break;
1097
+ case 38:
1098
+ e.preventDefault(), this.prev();
1099
+ break;
1100
+ case 40:
1101
+ e.preventDefault(), this.next();
1102
+ }
1103
+ e.stopPropagation();
1104
+ },
1105
+ keydown: function (t) {
1106
+ (this.suppressKeyPressRepeat = !~e.inArray(
1107
+ t.keyCode,
1108
+ [40, 38, 9, 13, 27]
1109
+ )),
1110
+ this.move(t);
1111
+ },
1112
+ keypress: function (e) {
1113
+ if (this.suppressKeyPressRepeat) return;
1114
+ this.move(e);
1115
+ },
1116
+ keyup: function (e) {
1117
+ switch (e.keyCode) {
1118
+ case 40:
1119
+ case 38:
1120
+ case 16:
1121
+ case 17:
1122
+ case 18:
1123
+ break;
1124
+ case 9:
1125
+ case 13:
1126
+ if (!this.shown) return;
1127
+ this.select();
1128
+ break;
1129
+ case 27:
1130
+ if (!this.shown) return;
1131
+ this.hide();
1132
+ break;
1133
+ default:
1134
+ this.lookup();
1135
+ }
1136
+ e.stopPropagation(), e.preventDefault();
1137
+ },
1138
+ blur: function (e) {
1139
+ var t = this;
1140
+ setTimeout(function () {
1141
+ t.hide();
1142
+ }, 150);
1143
+ },
1144
+ click: function (e) {
1145
+ e.stopPropagation(), e.preventDefault(), this.select();
1146
+ },
1147
+ mouseenter: function (t) {
1148
+ this.$menu.find(".active").removeClass("active"),
1149
+ e(t.currentTarget).addClass("active");
1150
+ },
1151
+ }),
1152
+ (e.fn.typeahead = function (n) {
1153
+ return this.each(function () {
1154
+ var r = e(this),
1155
+ i = r.data("typeahead"),
1156
+ s = typeof n == "object" && n;
1157
+ i || r.data("typeahead", (i = new t(this, s))),
1158
+ typeof n == "string" && i[n]();
1159
+ });
1160
+ }),
1161
+ (e.fn.typeahead.defaults = {
1162
+ source: [],
1163
+ items: 8,
1164
+ menu: '<ul class="typeahead dropdown-menu"></ul>',
1165
+ item: '<li><a href="#"></a></li>',
1166
+ minLength: 1,
1167
+ }),
1168
+ (e.fn.typeahead.Constructor = t),
1169
+ e(document).on(
1170
+ "focus.typeahead.data-api",
1171
+ '[data-provide="typeahead"]',
1172
+ function (t) {
1173
+ var n = e(this);
1174
+ if (n.data("typeahead")) return;
1175
+ t.preventDefault(), n.typeahead(n.data());
1176
+ }
1177
+ );
1178
+ })(window.jQuery),
1179
+ !(function (e) {
1180
+ "use strict";
1181
+ var t = function (t, n) {
1182
+ (this.options = e.extend({}, e.fn.affix.defaults, n)),
1183
+ (this.$window = e(window)
1184
+ .on("scroll.affix.data-api", e.proxy(this.checkPosition, this))
1185
+ .on(
1186
+ "click.affix.data-api",
1187
+ e.proxy(function () {
1188
+ setTimeout(e.proxy(this.checkPosition, this), 1);
1189
+ }, this)
1190
+ )),
1191
+ (this.$element = e(t)),
1192
+ this.checkPosition();
1193
+ };
1194
+ (t.prototype.checkPosition = function () {
1195
+ if (!this.$element.is(":visible")) return;
1196
+ var t = e(document).height(),
1197
+ n = this.$window.scrollTop(),
1198
+ r = this.$element.offset(),
1199
+ i = this.options.offset,
1200
+ s = i.bottom,
1201
+ o = i.top,
1202
+ u = "affix affix-top affix-bottom",
1203
+ a;
1204
+ typeof i != "object" && (s = o = i),
1205
+ typeof o == "function" && (o = i.top()),
1206
+ typeof s == "function" && (s = i.bottom()),
1207
+ (a =
1208
+ this.unpin != null && n + this.unpin <= r.top
1209
+ ? !1
1210
+ : s != null && r.top + this.$element.height() >= t - s
1211
+ ? "bottom"
1212
+ : o != null && n <= o
1213
+ ? "top"
1214
+ : !1);
1215
+ if (this.affixed === a) return;
1216
+ (this.affixed = a),
1217
+ (this.unpin = a == "bottom" ? r.top - n : null),
1218
+ this.$element.removeClass(u).addClass("affix" + (a ? "-" + a : ""));
1219
+ }),
1220
+ (e.fn.affix = function (n) {
1221
+ return this.each(function () {
1222
+ var r = e(this),
1223
+ i = r.data("affix"),
1224
+ s = typeof n == "object" && n;
1225
+ i || r.data("affix", (i = new t(this, s))),
1226
+ typeof n == "string" && i[n]();
1227
+ });
1228
+ }),
1229
+ (e.fn.affix.Constructor = t),
1230
+ (e.fn.affix.defaults = { offset: 0 }),
1231
+ e(window).on("load", function () {
1232
+ e('[data-spy="affix"]').each(function () {
1233
+ var t = e(this),
1234
+ n = t.data();
1235
+ (n.offset = n.offset || {}),
1236
+ n.offsetBottom && (n.offset.bottom = n.offsetBottom),
1237
+ n.offsetTop && (n.offset.top = n.offsetTop),
1238
+ t.affix(n);
1239
+ });
1240
+ });
1241
+ })(window.jQuery);