Added: 
incubator/devicemap/whiteboard/_less/bootstrap-3.2.0/docs/assets/js/raw-files.min.js
URL: 
http://svn.apache.org/viewvc/incubator/devicemap/whiteboard/_less/bootstrap-3.2.0/docs/assets/js/raw-files.min.js?rev=1620294&view=auto
==============================================================================
--- 
incubator/devicemap/whiteboard/_less/bootstrap-3.2.0/docs/assets/js/raw-files.min.js
 (added)
+++ 
incubator/devicemap/whiteboard/_less/bootstrap-3.2.0/docs/assets/js/raw-files.min.js
 Mon Aug 25 11:39:37 2014
@@ -0,0 +1,8 @@
+/*!
+ * Bootstrap v3.2.0 (http://getbootstrap.com)
+ * Copyright 2011-2014 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ */
+var __js = {"affix.js":"/* 
========================================================================\n * 
Bootstrap: affix.js v3.2.0\n * http://getbootstrap.com/javascript/#affix\n * 
========================================================================\n * 
Copyright 2011-2014 Twitter, Inc.\n * Licensed under MIT 
(https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * 
======================================================================== 
*/\n\n\n+function ($) {\n  'use strict';\n\n  // AFFIX CLASS DEFINITION\n  // 
======================\n\n  var Affix = function (element, options) {\n    
this.options = $.extend({}, Affix.DEFAULTS, options)\n\n    this.$target = 
$(this.options.target)\n      .on('scroll.bs.affix.data-api', 
$.proxy(this.checkPosition, this))\n      .on('click.bs.affix.data-api',  
$.proxy(this.checkPositionWithEventLoop, this))\n\n    this.$element     = 
$(element)\n    this.affixed      =\n    this.unpin        =\n    
this.pinnedOffset = null\n\n    this.checkPo
 sition()\n  }\n\n  Affix.VERSION  = '3.2.0'\n\n  Affix.RESET    = 'affix 
affix-top affix-bottom'\n\n  Affix.DEFAULTS = {\n    offset: 0,\n    target: 
window\n  }\n\n  Affix.prototype.getPinnedOffset = function () {\n    if 
(this.pinnedOffset) return this.pinnedOffset\n    
this.$element.removeClass(Affix.RESET).addClass('affix')\n    var scrollTop = 
this.$target.scrollTop()\n    var position  = this.$element.offset()\n    
return (this.pinnedOffset = position.top - scrollTop)\n  }\n\n  
Affix.prototype.checkPositionWithEventLoop = function () {\n    
setTimeout($.proxy(this.checkPosition, this), 1)\n  }\n\n  
Affix.prototype.checkPosition = function () {\n    if 
(!this.$element.is(':visible')) return\n\n    var scrollHeight = 
$(document).height()\n    var scrollTop    = this.$target.scrollTop()\n    var 
position     = this.$element.offset()\n    var offset       = 
this.options.offset\n    var offsetTop    = offset.top\n    var offsetBottom = 
offset.bottom\n\n    if (typeof offset != 'obj
 ect')         offsetBottom = offsetTop = offset\n    if (typeof offsetTop == 
'function')    offsetTop    = offset.top(this.$element)\n    if (typeof 
offsetBottom == 'function') offsetBottom = offset.bottom(this.$element)\n\n    
var affix = this.unpin   != null && (scrollTop + this.unpin <= position.top) ? 
false :\n                offsetBottom != null && (position.top + 
this.$element.height() >= scrollHeight - offsetBottom) ? 'bottom' :\n           
     offsetTop    != null && (scrollTop <= offsetTop) ? 'top' : false\n\n    if 
(this.affixed === affix) return\n    if (this.unpin != null) 
this.$element.css('top', '')\n\n    var affixType = 'affix' + (affix ? '-' + 
affix : '')\n    var e         = $.Event(affixType + '.bs.affix')\n\n    
this.$element.trigger(e)\n\n    if (e.isDefaultPrevented()) return\n\n    
this.affixed = affix\n    this.unpin = affix == 'bottom' ? 
this.getPinnedOffset() : null\n\n    this.$element\n      
.removeClass(Affix.RESET)\n      .addClass(affixType)\n      .t
 rigger($.Event(affixType.replace('affix', 'affixed')))\n\n    if (affix == 
'bottom') {\n      this.$element.offset({\n        top: scrollHeight - 
this.$element.height() - offsetBottom\n      })\n    }\n  }\n\n\n  // AFFIX 
PLUGIN DEFINITION\n  // =======================\n\n  function Plugin(option) 
{\n    return this.each(function () {\n      var $this   = $(this)\n      var 
data    = $this.data('bs.affix')\n      var options = typeof option == 'object' 
&& option\n\n      if (!data) $this.data('bs.affix', (data = new Affix(this, 
options)))\n      if (typeof option == 'string') data[option]()\n    })\n  
}\n\n  var old = $.fn.affix\n\n  $.fn.affix             = Plugin\n  
$.fn.affix.Constructor = Affix\n\n\n  // AFFIX NO CONFLICT\n  // 
=================\n\n  $.fn.affix.noConflict = function () {\n    $.fn.affix = 
old\n    return this\n  }\n\n\n  // AFFIX DATA-API\n  // ==============\n\n  
$(window).on('load', function () {\n    $('[data-spy=\"affix\"]').each(function 
() {\n      var $sp
 y = $(this)\n      var data = $spy.data()\n\n      data.offset = data.offset 
|| {}\n\n      if (data.offsetBottom) data.offset.bottom = data.offsetBottom\n  
    if (data.offsetTop)    data.offset.top    = data.offsetTop\n\n      
Plugin.call($spy, data)\n    })\n  })\n\n}(jQuery);\n","alert.js":"/* 
========================================================================\n * 
Bootstrap: alert.js v3.2.0\n * http://getbootstrap.com/javascript/#alerts\n * 
========================================================================\n * 
Copyright 2011-2014 Twitter, Inc.\n * Licensed under MIT 
(https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * 
======================================================================== 
*/\n\n\n+function ($) {\n  'use strict';\n\n  // ALERT CLASS DEFINITION\n  // 
======================\n\n  var dismiss = '[data-dismiss=\"alert\"]'\n  var 
Alert   = function (el) {\n    $(el).on('click', dismiss, this.close)\n  }\n\n  
Alert.VERSION = '3.2.0'\n\n  Alert.prototy
 pe.close = function (e) {\n    var $this    = $(this)\n    var selector = 
$this.attr('data-target')\n\n    if (!selector) {\n      selector = 
$this.attr('href')\n      selector = selector && 
selector.replace(/.*(?=#[^\\s]*$)/, '') // strip for ie7\n    }\n\n    var 
$parent = $(selector)\n\n    if (e) e.preventDefault()\n\n    if 
(!$parent.length) {\n      $parent = $this.hasClass('alert') ? $this : 
$this.parent()\n    }\n\n    $parent.trigger(e = $.Event('close.bs.alert'))\n\n 
   if (e.isDefaultPrevented()) return\n\n    $parent.removeClass('in')\n\n    
function removeElement() {\n      // detach from parent, fire event then clean 
up data\n      $parent.detach().trigger('closed.bs.alert').remove()\n    }\n\n  
  $.support.transition && $parent.hasClass('fade') ?\n      $parent\n        
.one('bsTransitionEnd', removeElement)\n        .emulateTransitionEnd(150) :\n  
    removeElement()\n  }\n\n\n  // ALERT PLUGIN DEFINITION\n  // 
=======================\n\n  function Plugin(option) {\n
     return this.each(function () {\n      var $this = $(this)\n      var data  
= $this.data('bs.alert')\n\n      if (!data) $this.data('bs.alert', (data = new 
Alert(this)))\n      if (typeof option == 'string') data[option].call($this)\n  
  })\n  }\n\n  var old = $.fn.alert\n\n  $.fn.alert             = Plugin\n  
$.fn.alert.Constructor = Alert\n\n\n  // ALERT NO CONFLICT\n  // 
=================\n\n  $.fn.alert.noConflict = function () {\n    $.fn.alert = 
old\n    return this\n  }\n\n\n  // ALERT DATA-API\n  // ==============\n\n  
$(document).on('click.bs.alert.data-api', dismiss, 
Alert.prototype.close)\n\n}(jQuery);\n","button.js":"/* 
========================================================================\n * 
Bootstrap: button.js v3.2.0\n * http://getbootstrap.com/javascript/#buttons\n * 
========================================================================\n * 
Copyright 2011-2014 Twitter, Inc.\n * Licensed under MIT 
(https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ===
 ===================================================================== 
*/\n\n\n+function ($) {\n  'use strict';\n\n  // BUTTON PUBLIC CLASS 
DEFINITION\n  // ==============================\n\n  var Button = function 
(element, options) {\n    this.$element  = $(element)\n    this.options   = 
$.extend({}, Button.DEFAULTS, options)\n    this.isLoading = false\n  }\n\n  
Button.VERSION  = '3.2.0'\n\n  Button.DEFAULTS = {\n    loadingText: 
'loading...'\n  }\n\n  Button.prototype.setState = function (state) {\n    var 
d    = 'disabled'\n    var $el  = this.$element\n    var val  = $el.is('input') 
? 'val' : 'html'\n    var data = $el.data()\n\n    state = state + 'Text'\n\n   
 if (data.resetText == null) $el.data('resetText', $el[val]())\n\n    
$el[val](data[state] == null ? this.options[state] : data[state])\n\n    // 
push to event loop to allow forms to submit\n    setTimeout($.proxy(function () 
{\n      if (state == 'loadingText') {\n        this.isLoading = true\n        
$el.addClass(d).a
 ttr(d, d)\n      } else if (this.isLoading) {\n        this.isLoading = 
false\n        $el.removeClass(d).removeAttr(d)\n      }\n    }, this), 0)\n  
}\n\n  Button.prototype.toggle = function () {\n    var changed = true\n    var 
$parent = this.$element.closest('[data-toggle=\"buttons\"]')\n\n    if 
($parent.length) {\n      var $input = this.$element.find('input')\n      if 
($input.prop('type') == 'radio') {\n        if ($input.prop('checked') && 
this.$element.hasClass('active')) changed = false\n        else 
$parent.find('.active').removeClass('active')\n      }\n      if (changed) 
$input.prop('checked', !this.$element.hasClass('active')).trigger('change')\n   
 }\n\n    if (changed) this.$element.toggleClass('active')\n  }\n\n\n  // 
BUTTON PLUGIN DEFINITION\n  // ========================\n\n  function 
Plugin(option) {\n    return this.each(function () {\n      var $this   = 
$(this)\n      var data    = $this.data('bs.button')\n      var options = 
typeof option == 'object' && optio
 n\n\n      if (!data) $this.data('bs.button', (data = new Button(this, 
options)))\n\n      if (option == 'toggle') data.toggle()\n      else if 
(option) data.setState(option)\n    })\n  }\n\n  var old = $.fn.button\n\n  
$.fn.button             = Plugin\n  $.fn.button.Constructor = Button\n\n\n  // 
BUTTON NO CONFLICT\n  // ==================\n\n  $.fn.button.noConflict = 
function () {\n    $.fn.button = old\n    return this\n  }\n\n\n  // BUTTON 
DATA-API\n  // ===============\n\n  $(document).on('click.bs.button.data-api', 
'[data-toggle^=\"button\"]', function (e) {\n    var $btn = $(e.target)\n    if 
(!$btn.hasClass('btn')) $btn = $btn.closest('.btn')\n    Plugin.call($btn, 
'toggle')\n    e.preventDefault()\n  })\n\n}(jQuery);\n","carousel.js":"/* 
========================================================================\n * 
Bootstrap: carousel.js v3.2.0\n * 
http://getbootstrap.com/javascript/#carousel\n * 
========================================================================\n * Co
 pyright 2011-2014 Twitter, Inc.\n * Licensed under MIT 
(https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * 
======================================================================== 
*/\n\n\n+function ($) {\n  'use strict';\n\n  // CAROUSEL CLASS DEFINITION\n  
// =========================\n\n  var Carousel = function (element, options) 
{\n    this.$element    = $(element).on('keydown.bs.carousel', 
$.proxy(this.keydown, this))\n    this.$indicators = 
this.$element.find('.carousel-indicators')\n    this.options     = options\n    
this.paused      =\n    this.sliding     =\n    this.interval    =\n    
this.$active     =\n    this.$items      = null\n\n    this.options.pause == 
'hover' && this.$element\n      .on('mouseenter.bs.carousel', 
$.proxy(this.pause, this))\n      .on('mouseleave.bs.carousel', 
$.proxy(this.cycle, this))\n  }\n\n  Carousel.VERSION  = '3.2.0'\n\n  
Carousel.DEFAULTS = {\n    interval: 5000,\n    pause: 'hover',\n    wrap: 
true\n  }\n\n  Carousel.prototype.keyd
 own = function (e) {\n    switch (e.which) {\n      case 37: this.prev(); 
break\n      case 39: this.next(); break\n      default: return\n    }\n\n    
e.preventDefault()\n  }\n\n  Carousel.prototype.cycle = function (e) {\n    e 
|| (this.paused = false)\n\n    this.interval && 
clearInterval(this.interval)\n\n    this.options.interval\n      && 
!this.paused\n      && (this.interval = setInterval($.proxy(this.next, this), 
this.options.interval))\n\n    return this\n  }\n\n  
Carousel.prototype.getItemIndex = function (item) {\n    this.$items = 
item.parent().children('.item')\n    return this.$items.index(item || 
this.$active)\n  }\n\n  Carousel.prototype.to = function (pos) {\n    var that  
      = this\n    var activeIndex = this.getItemIndex(this.$active = 
this.$element.find('.item.active'))\n\n    if (pos > (this.$items.length - 1) 
|| pos < 0) return\n\n    if (this.sliding)       return 
this.$element.one('slid.bs.carousel', function () { that.to(pos) }) // yes, 
\"slid\"\n    if (
 activeIndex == pos) return this.pause().cycle()\n\n    return this.slide(pos > 
activeIndex ? 'next' : 'prev', $(this.$items[pos]))\n  }\n\n  
Carousel.prototype.pause = function (e) {\n    e || (this.paused = true)\n\n    
if (this.$element.find('.next, .prev').length && $.support.transition) {\n      
this.$element.trigger($.support.transition.end)\n      this.cycle(true)\n    
}\n\n    this.interval = clearInterval(this.interval)\n\n    return this\n  
}\n\n  Carousel.prototype.next = function () {\n    if (this.sliding) return\n  
  return this.slide('next')\n  }\n\n  Carousel.prototype.prev = function () {\n 
   if (this.sliding) return\n    return this.slide('prev')\n  }\n\n  
Carousel.prototype.slide = function (type, next) {\n    var $active   = 
this.$element.find('.item.active')\n    var $next     = next || 
$active[type]()\n    var isCycling = this.interval\n    var direction = type == 
'next' ? 'left' : 'right'\n    var fallback  = type == 'next' ? 'first' : 
'last'\n    var that    
   = this\n\n    if (!$next.length) {\n      if (!this.options.wrap) return\n   
   $next = this.$element.find('.item')[fallback]()\n    }\n\n    if 
($next.hasClass('active')) return (this.sliding = false)\n\n    var 
relatedTarget = $next[0]\n    var slideEvent = $.Event('slide.bs.carousel', {\n 
     relatedTarget: relatedTarget,\n      direction: direction\n    })\n    
this.$element.trigger(slideEvent)\n    if (slideEvent.isDefaultPrevented()) 
return\n\n    this.sliding = true\n\n    isCycling && this.pause()\n\n    if 
(this.$indicators.length) {\n      
this.$indicators.find('.active').removeClass('active')\n      var 
$nextIndicator = $(this.$indicators.children()[this.getItemIndex($next)])\n     
 $nextIndicator && $nextIndicator.addClass('active')\n    }\n\n    var 
slidEvent = $.Event('slid.bs.carousel', { relatedTarget: relatedTarget, 
direction: direction }) // yes, \"slid\"\n    if ($.support.transition && 
this.$element.hasClass('slide')) {\n      $next.addClass(type)\n      $next
 [0].offsetWidth // force reflow\n      $active.addClass(direction)\n      
$next.addClass(direction)\n      $active\n        .one('bsTransitionEnd', 
function () {\n          $next.removeClass([type, direction].join(' 
')).addClass('active')\n          $active.removeClass(['active', 
direction].join(' '))\n          that.sliding = false\n          
setTimeout(function () {\n            that.$element.trigger(slidEvent)\n        
  }, 0)\n        })\n        
.emulateTransitionEnd($active.css('transition-duration').slice(0, -1) * 1000)\n 
   } else {\n      $active.removeClass('active')\n      
$next.addClass('active')\n      this.sliding = false\n      
this.$element.trigger(slidEvent)\n    }\n\n    isCycling && this.cycle()\n\n    
return this\n  }\n\n\n  // CAROUSEL PLUGIN DEFINITION\n  // 
==========================\n\n  function Plugin(option) {\n    return 
this.each(function () {\n      var $this   = $(this)\n      var data    = 
$this.data('bs.carousel')\n      var options = $.extend({}, Ca
 rousel.DEFAULTS, $this.data(), typeof option == 'object' && option)\n      var 
action  = typeof option == 'string' ? option : options.slide\n\n      if 
(!data) $this.data('bs.carousel', (data = new Carousel(this, options)))\n      
if (typeof option == 'number') data.to(option)\n      else if (action) 
data[action]()\n      else if (options.interval) data.pause().cycle()\n    })\n 
 }\n\n  var old = $.fn.carousel\n\n  $.fn.carousel             = Plugin\n  
$.fn.carousel.Constructor = Carousel\n\n\n  // CAROUSEL NO CONFLICT\n  // 
====================\n\n  $.fn.carousel.noConflict = function () {\n    
$.fn.carousel = old\n    return this\n  }\n\n\n  // CAROUSEL DATA-API\n  // 
=================\n\n  $(document).on('click.bs.carousel.data-api', 
'[data-slide], [data-slide-to]', function (e) {\n    var href\n    var $this   
= $(this)\n    var $target = $($this.attr('data-target') || (href = 
$this.attr('href')) && href.replace(/.*(?=#[^\\s]+$)/, '')) // strip for ie7\n  
  if (!$target.hasClass
 ('carousel')) return\n    var options = $.extend({}, $target.data(), 
$this.data())\n    var slideIndex = $this.attr('data-slide-to')\n    if 
(slideIndex) options.interval = false\n\n    Plugin.call($target, options)\n\n  
  if (slideIndex) {\n      $target.data('bs.carousel').to(slideIndex)\n    
}\n\n    e.preventDefault()\n  })\n\n  $(window).on('load', function () {\n    
$('[data-ride=\"carousel\"]').each(function () {\n      var $carousel = 
$(this)\n      Plugin.call($carousel, $carousel.data())\n    })\n  
})\n\n}(jQuery);\n","collapse.js":"/* 
========================================================================\n * 
Bootstrap: collapse.js v3.2.0\n * 
http://getbootstrap.com/javascript/#collapse\n * 
========================================================================\n * 
Copyright 2011-2014 Twitter, Inc.\n * Licensed under MIT 
(https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * 
======================================================================== 
*/\n\n\n+function 
 ($) {\n  'use strict';\n\n  // COLLAPSE PUBLIC CLASS DEFINITION\n  // 
================================\n\n  var Collapse = function (element, 
options) {\n    this.$element      = $(element)\n    this.options       = 
$.extend({}, Collapse.DEFAULTS, options)\n    this.transitioning = null\n\n    
if (this.options.parent) this.$parent = $(this.options.parent)\n    if 
(this.options.toggle) this.toggle()\n  }\n\n  Collapse.VERSION  = '3.2.0'\n\n  
Collapse.DEFAULTS = {\n    toggle: true\n  }\n\n  Collapse.prototype.dimension 
= function () {\n    var hasWidth = this.$element.hasClass('width')\n    return 
hasWidth ? 'width' : 'height'\n  }\n\n  Collapse.prototype.show = function () 
{\n    if (this.transitioning || this.$element.hasClass('in')) return\n\n    
var startEvent = $.Event('show.bs.collapse')\n    
this.$element.trigger(startEvent)\n    if (startEvent.isDefaultPrevented()) 
return\n\n    var actives = this.$parent && this.$parent.find('> .panel > 
.in')\n\n    if (actives && actives.le
 ngth) {\n      var hasData = actives.data('bs.collapse')\n      if (hasData && 
hasData.transitioning) return\n      Plugin.call(actives, 'hide')\n      
hasData || actives.data('bs.collapse', null)\n    }\n\n    var dimension = 
this.dimension()\n\n    this.$element\n      .removeClass('collapse')\n      
.addClass('collapsing')[dimension](0)\n\n    this.transitioning = 1\n\n    var 
complete = function () {\n      this.$element\n        
.removeClass('collapsing')\n        .addClass('collapse in')[dimension]('')\n   
   this.transitioning = 0\n      this.$element\n        
.trigger('shown.bs.collapse')\n    }\n\n    if (!$.support.transition) return 
complete.call(this)\n\n    var scrollSize = $.camelCase(['scroll', 
dimension].join('-'))\n\n    this.$element\n      .one('bsTransitionEnd', 
$.proxy(complete, this))\n      
.emulateTransitionEnd(350)[dimension](this.$element[0][scrollSize])\n  }\n\n  
Collapse.prototype.hide = function () {\n    if (this.transitioning || 
!this.$element.hasClass
 ('in')) return\n\n    var startEvent = $.Event('hide.bs.collapse')\n    
this.$element.trigger(startEvent)\n    if (startEvent.isDefaultPrevented()) 
return\n\n    var dimension = this.dimension()\n\n    
this.$element[dimension](this.$element[dimension]())[0].offsetHeight\n\n    
this.$element\n      .addClass('collapsing')\n      .removeClass('collapse')\n  
    .removeClass('in')\n\n    this.transitioning = 1\n\n    var complete = 
function () {\n      this.transitioning = 0\n      this.$element\n        
.trigger('hidden.bs.collapse')\n        .removeClass('collapsing')\n        
.addClass('collapse')\n    }\n\n    if (!$.support.transition) return 
complete.call(this)\n\n    this.$element\n      [dimension](0)\n      
.one('bsTransitionEnd', $.proxy(complete, this))\n      
.emulateTransitionEnd(350)\n  }\n\n  Collapse.prototype.toggle = function () 
{\n    this[this.$element.hasClass('in') ? 'hide' : 'show']()\n  }\n\n\n  // 
COLLAPSE PLUGIN DEFINITION\n  // ==========================\n\n 
  function Plugin(option) {\n    return this.each(function () {\n      var 
$this   = $(this)\n      var data    = $this.data('bs.collapse')\n      var 
options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 
'object' && option)\n\n      if (!data && options.toggle && option == 'show') 
option = !option\n      if (!data) $this.data('bs.collapse', (data = new 
Collapse(this, options)))\n      if (typeof option == 'string') 
data[option]()\n    })\n  }\n\n  var old = $.fn.collapse\n\n  $.fn.collapse     
        = Plugin\n  $.fn.collapse.Constructor = Collapse\n\n\n  // COLLAPSE NO 
CONFLICT\n  // ====================\n\n  $.fn.collapse.noConflict = function () 
{\n    $.fn.collapse = old\n    return this\n  }\n\n\n  // COLLAPSE DATA-API\n  
// =================\n\n  $(document).on('click.bs.collapse.data-api', 
'[data-toggle=\"collapse\"]', function (e) {\n    var href\n    var $this   = 
$(this)\n    var target  = $this.attr('data-target')\n        || 
e.preventDefault()\n      
   || (href = $this.attr('href')) && href.replace(/.*(?=#[^\\s]+$)/, '') // 
strip for ie7\n    var $target = $(target)\n    var data    = 
$target.data('bs.collapse')\n    var option  = data ? 'toggle' : $this.data()\n 
   var parent  = $this.attr('data-parent')\n    var $parent = parent && 
$(parent)\n\n    if (!data || !data.transitioning) {\n      if ($parent) 
$parent.find('[data-toggle=\"collapse\"][data-parent=\"' + parent + 
'\"]').not($this).addClass('collapsed')\n      $this[$target.hasClass('in') ? 
'addClass' : 'removeClass']('collapsed')\n    }\n\n    Plugin.call($target, 
option)\n  })\n\n}(jQuery);\n","dropdown.js":"/* 
========================================================================\n * 
Bootstrap: dropdown.js v3.2.0\n * 
http://getbootstrap.com/javascript/#dropdowns\n * 
========================================================================\n * 
Copyright 2011-2014 Twitter, Inc.\n * Licensed under MIT 
(https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * =========
 =============================================================== 
*/\n\n\n+function ($) {\n  'use strict';\n\n  // DROPDOWN CLASS DEFINITION\n  
// =========================\n\n  var backdrop = '.dropdown-backdrop'\n  var 
toggle   = '[data-toggle=\"dropdown\"]'\n  var Dropdown = function (element) 
{\n    $(element).on('click.bs.dropdown', this.toggle)\n  }\n\n  
Dropdown.VERSION = '3.2.0'\n\n  Dropdown.prototype.toggle = function (e) {\n    
var $this = $(this)\n\n    if ($this.is('.disabled, :disabled')) return\n\n    
var $parent  = getParent($this)\n    var isActive = 
$parent.hasClass('open')\n\n    clearMenus()\n\n    if (!isActive) {\n      if 
('ontouchstart' in document.documentElement && 
!$parent.closest('.navbar-nav').length) {\n        // if mobile we use a 
backdrop because click events don't delegate\n        $('<div 
class=\"dropdown-backdrop\"/>').insertAfter($(this)).on('click', clearMenus)\n  
    }\n\n      var relatedTarget = { relatedTarget: this }\n      
$parent.trigger(e 
 = $.Event('show.bs.dropdown', relatedTarget))\n\n      if 
(e.isDefaultPrevented()) return\n\n      $this.trigger('focus')\n\n      
$parent\n        .toggleClass('open')\n        .trigger('shown.bs.dropdown', 
relatedTarget)\n    }\n\n    return false\n  }\n\n  Dropdown.prototype.keydown 
= function (e) {\n    if (!/(38|40|27)/.test(e.keyCode)) return\n\n    var 
$this = $(this)\n\n    e.preventDefault()\n    e.stopPropagation()\n\n    if 
($this.is('.disabled, :disabled')) return\n\n    var $parent  = 
getParent($this)\n    var isActive = $parent.hasClass('open')\n\n    if 
(!isActive || (isActive && e.keyCode == 27)) {\n      if (e.which == 27) 
$parent.find(toggle).trigger('focus')\n      return $this.trigger('click')\n    
}\n\n    var desc = ' li:not(.divider):visible a'\n    var $items = 
$parent.find('[role=\"menu\"]' + desc + ', [role=\"listbox\"]' + desc)\n\n    
if (!$items.length) return\n\n    var index = 
$items.index($items.filter(':focus'))\n\n    if (e.keyCode == 38 && index > 0
 )                 index--                        // up\n    if (e.keyCode == 
40 && index < $items.length - 1) index++                        // down\n    if 
(!~index)                                      index = 0\n\n    
$items.eq(index).trigger('focus')\n  }\n\n  function clearMenus(e) {\n    if (e 
&& e.which === 3) return\n    $(backdrop).remove()\n    $(toggle).each(function 
() {\n      var $parent = getParent($(this))\n      var relatedTarget = { 
relatedTarget: this }\n      if (!$parent.hasClass('open')) return\n      
$parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget))\n      if 
(e.isDefaultPrevented()) return\n      
$parent.removeClass('open').trigger('hidden.bs.dropdown', relatedTarget)\n    
})\n  }\n\n  function getParent($this) {\n    var selector = 
$this.attr('data-target')\n\n    if (!selector) {\n      selector = 
$this.attr('href')\n      selector = selector && /#[A-Za-z]/.test(selector) && 
selector.replace(/.*(?=#[^\\s]*$)/, '') // strip for ie7\n    }\n\n  
   var $parent = selector && $(selector)\n\n    return $parent && 
$parent.length ? $parent : $this.parent()\n  }\n\n\n  // DROPDOWN PLUGIN 
DEFINITION\n  // ==========================\n\n  function Plugin(option) {\n    
return this.each(function () {\n      var $this = $(this)\n      var data  = 
$this.data('bs.dropdown')\n\n      if (!data) $this.data('bs.dropdown', (data = 
new Dropdown(this)))\n      if (typeof option == 'string') 
data[option].call($this)\n    })\n  }\n\n  var old = $.fn.dropdown\n\n  
$.fn.dropdown             = Plugin\n  $.fn.dropdown.Constructor = 
Dropdown\n\n\n  // DROPDOWN NO CONFLICT\n  // ====================\n\n  
$.fn.dropdown.noConflict = function () {\n    $.fn.dropdown = old\n    return 
this\n  }\n\n\n  // APPLY TO STANDARD DROPDOWN ELEMENTS\n  // 
===================================\n\n  $(document)\n    
.on('click.bs.dropdown.data-api', clearMenus)\n    
.on('click.bs.dropdown.data-api', '.dropdown form', function (e) { 
e.stopPropagation() })\n    .on('clic
 k.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle)\n    
.on('keydown.bs.dropdown.data-api', toggle + ', [role=\"menu\"], 
[role=\"listbox\"]', 
Dropdown.prototype.keydown)\n\n}(jQuery);\n","modal.js":"/* 
========================================================================\n * 
Bootstrap: modal.js v3.2.0\n * http://getbootstrap.com/javascript/#modals\n * 
========================================================================\n * 
Copyright 2011-2014 Twitter, Inc.\n * Licensed under MIT 
(https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * 
======================================================================== 
*/\n\n\n+function ($) {\n  'use strict';\n\n  // MODAL CLASS DEFINITION\n  // 
======================\n\n  var Modal = function (element, options) {\n    
this.options        = options\n    this.$body          = $(document.body)\n    
this.$element       = $(element)\n    this.$backdrop      =\n    this.isShown   
     = null\n    this.scrollbarWidth = 0\n\n    if (
 this.options.remote) {\n      this.$element\n        .find('.modal-content')\n 
       .load(this.options.remote, $.proxy(function () {\n          
this.$element.trigger('loaded.bs.modal')\n        }, this))\n    }\n  }\n\n  
Modal.VERSION  = '3.2.0'\n\n  Modal.DEFAULTS = {\n    backdrop: true,\n    
keyboard: true,\n    show: true\n  }\n\n  Modal.prototype.toggle = function 
(_relatedTarget) {\n    return this.isShown ? this.hide() : 
this.show(_relatedTarget)\n  }\n\n  Modal.prototype.show = function 
(_relatedTarget) {\n    var that = this\n    var e    = 
$.Event('show.bs.modal', { relatedTarget: _relatedTarget })\n\n    
this.$element.trigger(e)\n\n    if (this.isShown || e.isDefaultPrevented()) 
return\n\n    this.isShown = true\n\n    this.checkScrollbar()\n    
this.$body.addClass('modal-open')\n\n    this.setScrollbar()\n    
this.escape()\n\n    this.$element.on('click.dismiss.bs.modal', 
'[data-dismiss=\"modal\"]', $.proxy(this.hide, this))\n\n    
this.backdrop(function () {\n      va
 r transition = $.support.transition && that.$element.hasClass('fade')\n\n      
if (!that.$element.parent().length) {\n        
that.$element.appendTo(that.$body) // don't move modals dom position\n      
}\n\n      that.$element\n        .show()\n        .scrollTop(0)\n\n      if 
(transition) {\n        that.$element[0].offsetWidth // force reflow\n      
}\n\n      that.$element\n        .addClass('in')\n        .attr('aria-hidden', 
false)\n\n      that.enforceFocus()\n\n      var e = $.Event('shown.bs.modal', 
{ relatedTarget: _relatedTarget })\n\n      transition ?\n        
that.$element.find('.modal-dialog') // wait for modal to slide in\n          
.one('bsTransitionEnd', function () {\n            
that.$element.trigger('focus').trigger(e)\n          })\n          
.emulateTransitionEnd(300) :\n        
that.$element.trigger('focus').trigger(e)\n    })\n  }\n\n  
Modal.prototype.hide = function (e) {\n    if (e) e.preventDefault()\n\n    e = 
$.Event('hide.bs.modal')\n\n    this.$elemen
 t.trigger(e)\n\n    if (!this.isShown || e.isDefaultPrevented()) return\n\n    
this.isShown = false\n\n    this.$body.removeClass('modal-open')\n\n    
this.resetScrollbar()\n    this.escape()\n\n    
$(document).off('focusin.bs.modal')\n\n    this.$element\n      
.removeClass('in')\n      .attr('aria-hidden', true)\n      
.off('click.dismiss.bs.modal')\n\n    $.support.transition && 
this.$element.hasClass('fade') ?\n      this.$element\n        
.one('bsTransitionEnd', $.proxy(this.hideModal, this))\n        
.emulateTransitionEnd(300) :\n      this.hideModal()\n  }\n\n  
Modal.prototype.enforceFocus = function () {\n    $(document)\n      
.off('focusin.bs.modal') // guard against infinite focus loop\n      
.on('focusin.bs.modal', $.proxy(function (e) {\n        if (this.$element[0] 
!== e.target && !this.$element.has(e.target).length) {\n          
this.$element.trigger('focus')\n        }\n      }, this))\n  }\n\n  
Modal.prototype.escape = function () {\n    if (this.isShown && this.opt
 ions.keyboard) {\n      this.$element.on('keyup.dismiss.bs.modal', 
$.proxy(function (e) {\n        e.which == 27 && this.hide()\n      }, this))\n 
   } else if (!this.isShown) {\n      
this.$element.off('keyup.dismiss.bs.modal')\n    }\n  }\n\n  
Modal.prototype.hideModal = function () {\n    var that = this\n    
this.$element.hide()\n    this.backdrop(function () {\n      
that.$element.trigger('hidden.bs.modal')\n    })\n  }\n\n  
Modal.prototype.removeBackdrop = function () {\n    this.$backdrop && 
this.$backdrop.remove()\n    this.$backdrop = null\n  }\n\n  
Modal.prototype.backdrop = function (callback) {\n    var that = this\n    var 
animate = this.$element.hasClass('fade') ? 'fade' : ''\n\n    if (this.isShown 
&& this.options.backdrop) {\n      var doAnimate = $.support.transition && 
animate\n\n      this.$backdrop = $('<div class=\"modal-backdrop ' + animate + 
'\" />')\n        .appendTo(this.$body)\n\n      
this.$element.on('click.dismiss.bs.modal', $.proxy(function (e) {\n    
     if (e.target !== e.currentTarget) return\n        this.options.backdrop == 
'static'\n          ? this.$element[0].focus.call(this.$element[0])\n          
: this.hide.call(this)\n      }, this))\n\n      if (doAnimate) 
this.$backdrop[0].offsetWidth // force reflow\n\n      
this.$backdrop.addClass('in')\n\n      if (!callback) return\n\n      doAnimate 
?\n        this.$backdrop\n          .one('bsTransitionEnd', callback)\n        
  .emulateTransitionEnd(150) :\n        callback()\n\n    } else if 
(!this.isShown && this.$backdrop) {\n      this.$backdrop.removeClass('in')\n\n 
     var callbackRemove = function () {\n        that.removeBackdrop()\n        
callback && callback()\n      }\n      $.support.transition && 
this.$element.hasClass('fade') ?\n        this.$backdrop\n          
.one('bsTransitionEnd', callbackRemove)\n          .emulateTransitionEnd(150) 
:\n        callbackRemove()\n\n    } else if (callback) {\n      callback()\n   
 }\n  }\n\n  Modal.prototype.checkScrollbar
  = function () {\n    if (document.body.clientWidth >= window.innerWidth) 
return\n    this.scrollbarWidth = this.scrollbarWidth || 
this.measureScrollbar()\n  }\n\n  Modal.prototype.setScrollbar = function () 
{\n    var bodyPad = parseInt((this.$body.css('padding-right') || 0), 10)\n    
if (this.scrollbarWidth) this.$body.css('padding-right', bodyPad + 
this.scrollbarWidth)\n  }\n\n  Modal.prototype.resetScrollbar = function () {\n 
   this.$body.css('padding-right', '')\n  }\n\n  
Modal.prototype.measureScrollbar = function () { // thx walsh\n    var 
scrollDiv = document.createElement('div')\n    scrollDiv.className = 
'modal-scrollbar-measure'\n    this.$body.append(scrollDiv)\n    var 
scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth\n    
this.$body[0].removeChild(scrollDiv)\n    return scrollbarWidth\n  }\n\n\n  // 
MODAL PLUGIN DEFINITION\n  // =======================\n\n  function 
Plugin(option, _relatedTarget) {\n    return this.each(function () {\n      var 
$this   = 
 $(this)\n      var data    = $this.data('bs.modal')\n      var options = 
$.extend({}, Modal.DEFAULTS, $this.data(), typeof option == 'object' && 
option)\n\n      if (!data) $this.data('bs.modal', (data = new Modal(this, 
options)))\n      if (typeof option == 'string') data[option](_relatedTarget)\n 
     else if (options.show) data.show(_relatedTarget)\n    })\n  }\n\n  var old 
= $.fn.modal\n\n  $.fn.modal             = Plugin\n  $.fn.modal.Constructor = 
Modal\n\n\n  // MODAL NO CONFLICT\n  // =================\n\n  
$.fn.modal.noConflict = function () {\n    $.fn.modal = old\n    return this\n  
}\n\n\n  // MODAL DATA-API\n  // ==============\n\n  
$(document).on('click.bs.modal.data-api', '[data-toggle=\"modal\"]', function 
(e) {\n    var $this   = $(this)\n    var href    = $this.attr('href')\n    var 
$target = $($this.attr('data-target') || (href && 
href.replace(/.*(?=#[^\\s]+$)/, ''))) // strip for ie7\n    var option  = 
$target.data('bs.modal') ? 'toggle' : $.extend({ remote: !/#/
 .test(href) && href }, $target.data(), $this.data())\n\n    if ($this.is('a')) 
e.preventDefault()\n\n    $target.one('show.bs.modal', function (showEvent) {\n 
     if (showEvent.isDefaultPrevented()) return // only register focus restorer 
if modal will actually get shown\n      $target.one('hidden.bs.modal', function 
() {\n        $this.is(':visible') && $this.trigger('focus')\n      })\n    
})\n    Plugin.call($target, option, this)\n  
})\n\n}(jQuery);\n","popover.js":"/* 
========================================================================\n * 
Bootstrap: popover.js v3.2.0\n * http://getbootstrap.com/javascript/#popovers\n 
* ========================================================================\n * 
Copyright 2011-2014 Twitter, Inc.\n * Licensed under MIT 
(https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * 
======================================================================== 
*/\n\n\n+function ($) {\n  'use strict';\n\n  // POPOVER PUBLIC CLASS 
DEFINITION\n  // ======
 =========================\n\n  var Popover = function (element, options) {\n   
 this.init('popover', element, options)\n  }\n\n  if (!$.fn.tooltip) throw new 
Error('Popover requires tooltip.js')\n\n  Popover.VERSION  = '3.2.0'\n\n  
Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, {\n    
placement: 'right',\n    trigger: 'click',\n    content: '',\n    template: 
'<div class=\"popover\" role=\"tooltip\"><div class=\"arrow\"></div><h3 
class=\"popover-title\"></h3><div class=\"popover-content\"></div></div>'\n  
})\n\n\n  // NOTE: POPOVER EXTENDS tooltip.js\n  // 
================================\n\n  Popover.prototype = $.extend({}, 
$.fn.tooltip.Constructor.prototype)\n\n  Popover.prototype.constructor = 
Popover\n\n  Popover.prototype.getDefaults = function () {\n    return 
Popover.DEFAULTS\n  }\n\n  Popover.prototype.setContent = function () {\n    
var $tip    = this.tip()\n    var title   = this.getTitle()\n    var content = 
this.getContent()\n\n    $tip.find('.popove
 r-title')[this.options.html ? 'html' : 'text'](title)\n    
$tip.find('.popover-content').empty()[ // we use append for html objects to 
maintain js events\n      this.options.html ? (typeof content == 'string' ? 
'html' : 'append') : 'text'\n    ](content)\n\n    $tip.removeClass('fade top 
bottom left right in')\n\n    // IE8 doesn't accept hiding via the `:empty` 
pseudo selector, we have to do\n    // this manually by checking the 
contents.\n    if (!$tip.find('.popover-title').html()) 
$tip.find('.popover-title').hide()\n  }\n\n  Popover.prototype.hasContent = 
function () {\n    return this.getTitle() || this.getContent()\n  }\n\n  
Popover.prototype.getContent = function () {\n    var $e = this.$element\n    
var o  = this.options\n\n    return $e.attr('data-content')\n      || (typeof 
o.content == 'function' ?\n            o.content.call($e[0]) :\n            
o.content)\n  }\n\n  Popover.prototype.arrow = function () {\n    return 
(this.$arrow = this.$arrow || this.tip().find('.arrow
 '))\n  }\n\n  Popover.prototype.tip = function () {\n    if (!this.$tip) 
this.$tip = $(this.options.template)\n    return this.$tip\n  }\n\n\n  // 
POPOVER PLUGIN DEFINITION\n  // =========================\n\n  function 
Plugin(option) {\n    return this.each(function () {\n      var $this   = 
$(this)\n      var data    = $this.data('bs.popover')\n      var options = 
typeof option == 'object' && option\n\n      if (!data && option == 'destroy') 
return\n      if (!data) $this.data('bs.popover', (data = new Popover(this, 
options)))\n      if (typeof option == 'string') data[option]()\n    })\n  
}\n\n  var old = $.fn.popover\n\n  $.fn.popover             = Plugin\n  
$.fn.popover.Constructor = Popover\n\n\n  // POPOVER NO CONFLICT\n  // 
===================\n\n  $.fn.popover.noConflict = function () {\n    
$.fn.popover = old\n    return this\n  }\n\n}(jQuery);\n","scrollspy.js":"/* 
========================================================================\n * 
Bootstrap: scrollspy.js v3.2.0\n
  * http://getbootstrap.com/javascript/#scrollspy\n * 
========================================================================\n * 
Copyright 2011-2014 Twitter, Inc.\n * Licensed under MIT 
(https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * 
======================================================================== 
*/\n\n\n+function ($) {\n  'use strict';\n\n  // SCROLLSPY CLASS DEFINITION\n  
// ==========================\n\n  function ScrollSpy(element, options) {\n    
var process  = $.proxy(this.process, this)\n\n    this.$body          = 
$('body')\n    this.$scrollElement = $(element).is('body') ? $(window) : 
$(element)\n    this.options        = $.extend({}, ScrollSpy.DEFAULTS, 
options)\n    this.selector       = (this.options.target || '') + ' .nav li > 
a'\n    this.offsets        = []\n    this.targets        = []\n    
this.activeTarget   = null\n    this.scrollHeight   = 0\n\n    
this.$scrollElement.on('scroll.bs.scrollspy', process)\n    this.refresh()\n    
this.process()
 \n  }\n\n  ScrollSpy.VERSION  = '3.2.0'\n\n  ScrollSpy.DEFAULTS = {\n    
offset: 10\n  }\n\n  ScrollSpy.prototype.getScrollHeight = function () {\n    
return this.$scrollElement[0].scrollHeight || 
Math.max(this.$body[0].scrollHeight, document.documentElement.scrollHeight)\n  
}\n\n  ScrollSpy.prototype.refresh = function () {\n    var offsetMethod = 
'offset'\n    var offsetBase   = 0\n\n    if 
(!$.isWindow(this.$scrollElement[0])) {\n      offsetMethod = 'position'\n      
offsetBase   = this.$scrollElement.scrollTop()\n    }\n\n    this.offsets = 
[]\n    this.targets = []\n    this.scrollHeight = this.getScrollHeight()\n\n   
 var self     = this\n\n    this.$body\n      .find(this.selector)\n      
.map(function () {\n        var $el   = $(this)\n        var href  = 
$el.data('target') || $el.attr('href')\n        var $href = /^#./.test(href) && 
$(href)\n\n        return ($href\n          && $href.length\n          && 
$href.is(':visible')\n          && [[$href[offsetMethod]().top + off
 setBase, href]]) || null\n      })\n      .sort(function (a, b) { return a[0] 
- b[0] })\n      .each(function () {\n        self.offsets.push(this[0])\n      
  self.targets.push(this[1])\n      })\n  }\n\n  ScrollSpy.prototype.process = 
function () {\n    var scrollTop    = this.$scrollElement.scrollTop() + 
this.options.offset\n    var scrollHeight = this.getScrollHeight()\n    var 
maxScroll    = this.options.offset + scrollHeight - 
this.$scrollElement.height()\n    var offsets      = this.offsets\n    var 
targets      = this.targets\n    var activeTarget = this.activeTarget\n    var 
i\n\n    if (this.scrollHeight != scrollHeight) {\n      this.refresh()\n    
}\n\n    if (scrollTop >= maxScroll) {\n      return activeTarget != (i = 
targets[targets.length - 1]) && this.activate(i)\n    }\n\n    if (activeTarget 
&& scrollTop <= offsets[0]) {\n      return activeTarget != (i = targets[0]) && 
this.activate(i)\n    }\n\n    for (i = offsets.length; i--;) {\n      
activeTarget != targets[
 i]\n        && scrollTop >= offsets[i]\n        && (!offsets[i + 1] || 
scrollTop <= offsets[i + 1])\n        && this.activate(targets[i])\n    }\n  
}\n\n  ScrollSpy.prototype.activate = function (target) {\n    
this.activeTarget = target\n\n    $(this.selector)\n      
.parentsUntil(this.options.target, '.active')\n      .removeClass('active')\n\n 
   var selector = this.selector +\n        '[data-target=\"' + target + '\"],' 
+\n        this.selector + '[href=\"' + target + '\"]'\n\n    var active = 
$(selector)\n      .parents('li')\n      .addClass('active')\n\n    if 
(active.parent('.dropdown-menu').length) {\n      active = active\n        
.closest('li.dropdown')\n        .addClass('active')\n    }\n\n    
active.trigger('activate.bs.scrollspy')\n  }\n\n\n  // SCROLLSPY PLUGIN 
DEFINITION\n  // ===========================\n\n  function Plugin(option) {\n   
 return this.each(function () {\n      var $this   = $(this)\n      var data    
= $this.data('bs.scrollspy')\n      var options =
  typeof option == 'object' && option\n\n      if (!data) 
$this.data('bs.scrollspy', (data = new ScrollSpy(this, options)))\n      if 
(typeof option == 'string') data[option]()\n    })\n  }\n\n  var old = 
$.fn.scrollspy\n\n  $.fn.scrollspy             = Plugin\n  
$.fn.scrollspy.Constructor = ScrollSpy\n\n\n  // SCROLLSPY NO CONFLICT\n  // 
=====================\n\n  $.fn.scrollspy.noConflict = function () {\n    
$.fn.scrollspy = old\n    return this\n  }\n\n\n  // SCROLLSPY DATA-API\n  // 
==================\n\n  $(window).on('load.bs.scrollspy.data-api', function () 
{\n    $('[data-spy=\"scroll\"]').each(function () {\n      var $spy = 
$(this)\n      Plugin.call($spy, $spy.data())\n    })\n  
})\n\n}(jQuery);\n","tab.js":"/* 
========================================================================\n * 
Bootstrap: tab.js v3.2.0\n * http://getbootstrap.com/javascript/#tabs\n * 
========================================================================\n * 
Copyright 2011-2014 Twitter, Inc.\n *
  Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n 
* ======================================================================== 
*/\n\n\n+function ($) {\n  'use strict';\n\n  // TAB CLASS DEFINITION\n  // 
====================\n\n  var Tab = function (element) {\n    this.element = 
$(element)\n  }\n\n  Tab.VERSION = '3.2.0'\n\n  Tab.prototype.show = function 
() {\n    var $this    = this.element\n    var $ul      = 
$this.closest('ul:not(.dropdown-menu)')\n    var selector = 
$this.data('target')\n\n    if (!selector) {\n      selector = 
$this.attr('href')\n      selector = selector && 
selector.replace(/.*(?=#[^\\s]*$)/, '') // strip for ie7\n    }\n\n    if 
($this.parent('li').hasClass('active')) return\n\n    var previous = 
$ul.find('.active:last a')[0]\n    var e        = $.Event('show.bs.tab', {\n    
  relatedTarget: previous\n    })\n\n    $this.trigger(e)\n\n    if 
(e.isDefaultPrevented()) return\n\n    var $target = $(selector)\n\n    
this.activate($this.
 closest('li'), $ul)\n    this.activate($target, $target.parent(), function () 
{\n      $this.trigger({\n        type: 'shown.bs.tab',\n        relatedTarget: 
previous\n      })\n    })\n  }\n\n  Tab.prototype.activate = function 
(element, container, callback) {\n    var $active    = container.find('> 
.active')\n    var transition = callback\n      && $.support.transition\n      
&& $active.hasClass('fade')\n\n    function next() {\n      $active\n        
.removeClass('active')\n        .find('> .dropdown-menu > .active')\n        
.removeClass('active')\n\n      element.addClass('active')\n\n      if 
(transition) {\n        element[0].offsetWidth // reflow for transition\n       
 element.addClass('in')\n      } else {\n        element.removeClass('fade')\n  
    }\n\n      if (element.parent('.dropdown-menu')) {\n        
element.closest('li.dropdown').addClass('active')\n      }\n\n      callback && 
callback()\n    }\n\n    transition ?\n      $active\n        
.one('bsTransitionEnd', n
 ext)\n        .emulateTransitionEnd(150) :\n      next()\n\n    
$active.removeClass('in')\n  }\n\n\n  // TAB PLUGIN DEFINITION\n  // 
=====================\n\n  function Plugin(option) {\n    return 
this.each(function () {\n      var $this = $(this)\n      var data  = 
$this.data('bs.tab')\n\n      if (!data) $this.data('bs.tab', (data = new 
Tab(this)))\n      if (typeof option == 'string') data[option]()\n    })\n  
}\n\n  var old = $.fn.tab\n\n  $.fn.tab             = Plugin\n  
$.fn.tab.Constructor = Tab\n\n\n  // TAB NO CONFLICT\n  // ===============\n\n  
$.fn.tab.noConflict = function () {\n    $.fn.tab = old\n    return this\n  
}\n\n\n  // TAB DATA-API\n  // ============\n\n  
$(document).on('click.bs.tab.data-api', '[data-toggle=\"tab\"], 
[data-toggle=\"pill\"]', function (e) {\n    e.preventDefault()\n    
Plugin.call($(this), 'show')\n  })\n\n}(jQuery);\n","tooltip.js":"/* 
========================================================================\n * 
Bootstrap: tooltip.js v3.2.0\n 
 * http://getbootstrap.com/javascript/#tooltip\n * Inspired by the original 
jQuery.tipsy by Jason Frame\n * 
========================================================================\n * 
Copyright 2011-2014 Twitter, Inc.\n * Licensed under MIT 
(https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * 
======================================================================== 
*/\n\n\n+function ($) {\n  'use strict';\n\n  // TOOLTIP PUBLIC CLASS 
DEFINITION\n  // ===============================\n\n  var Tooltip = function 
(element, options) {\n    this.type       =\n    this.options    =\n    
this.enabled    =\n    this.timeout    =\n    this.hoverState =\n    
this.$element   = null\n\n    this.init('tooltip', element, options)\n  }\n\n  
Tooltip.VERSION  = '3.2.0'\n\n  Tooltip.DEFAULTS = {\n    animation: true,\n    
placement: 'top',\n    selector: false,\n    template: '<div class=\"tooltip\" 
role=\"tooltip\"><div class=\"tooltip-arrow\"></div><div 
class=\"tooltip-inner\"></div></div>',\n
     trigger: 'hover focus',\n    title: '',\n    delay: 0,\n    html: false,\n 
   container: false,\n    viewport: {\n      selector: 'body',\n      padding: 
0\n    }\n  }\n\n  Tooltip.prototype.init = function (type, element, options) 
{\n    this.enabled   = true\n    this.type      = type\n    this.$element  = 
$(element)\n    this.options   = this.getOptions(options)\n    this.$viewport = 
this.options.viewport && $(this.options.viewport.selector || 
this.options.viewport)\n\n    var triggers = this.options.trigger.split(' 
')\n\n    for (var i = triggers.length; i--;) {\n      var trigger = 
triggers[i]\n\n      if (trigger == 'click') {\n        
this.$element.on('click.' + this.type, this.options.selector, 
$.proxy(this.toggle, this))\n      } else if (trigger != 'manual') {\n        
var eventIn  = trigger == 'hover' ? 'mouseenter' : 'focusin'\n        var 
eventOut = trigger == 'hover' ? 'mouseleave' : 'focusout'\n\n        
this.$element.on(eventIn  + '.' + this.type, this.options.se
 lector, $.proxy(this.enter, this))\n        this.$element.on(eventOut + '.' + 
this.type, this.options.selector, $.proxy(this.leave, this))\n      }\n    
}\n\n    this.options.selector ?\n      (this._options = $.extend({}, 
this.options, { trigger: 'manual', selector: '' })) :\n      this.fixTitle()\n  
}\n\n  Tooltip.prototype.getDefaults = function () {\n    return 
Tooltip.DEFAULTS\n  }\n\n  Tooltip.prototype.getOptions = function (options) 
{\n    options = $.extend({}, this.getDefaults(), this.$element.data(), 
options)\n\n    if (options.delay && typeof options.delay == 'number') {\n      
options.delay = {\n        show: options.delay,\n        hide: options.delay\n  
    }\n    }\n\n    return options\n  }\n\n  
Tooltip.prototype.getDelegateOptions = function () {\n    var options  = {}\n   
 var defaults = this.getDefaults()\n\n    this._options && 
$.each(this._options, function (key, value) {\n      if (defaults[key] != 
value) options[key] = value\n    })\n\n    return options\n  }
 \n\n  Tooltip.prototype.enter = function (obj) {\n    var self = obj 
instanceof this.constructor ?\n      obj : $(obj.currentTarget).data('bs.' + 
this.type)\n\n    if (!self) {\n      self = new 
this.constructor(obj.currentTarget, this.getDelegateOptions())\n      
$(obj.currentTarget).data('bs.' + this.type, self)\n    }\n\n    
clearTimeout(self.timeout)\n\n    self.hoverState = 'in'\n\n    if 
(!self.options.delay || !self.options.delay.show) return self.show()\n\n    
self.timeout = setTimeout(function () {\n      if (self.hoverState == 'in') 
self.show()\n    }, self.options.delay.show)\n  }\n\n  Tooltip.prototype.leave 
= function (obj) {\n    var self = obj instanceof this.constructor ?\n      obj 
: $(obj.currentTarget).data('bs.' + this.type)\n\n    if (!self) {\n      self 
= new this.constructor(obj.currentTarget, this.getDelegateOptions())\n      
$(obj.currentTarget).data('bs.' + this.type, self)\n    }\n\n    
clearTimeout(self.timeout)\n\n    self.hoverState = 'out'\n\n    if (
 !self.options.delay || !self.options.delay.hide) return self.hide()\n\n    
self.timeout = setTimeout(function () {\n      if (self.hoverState == 'out') 
self.hide()\n    }, self.options.delay.hide)\n  }\n\n  Tooltip.prototype.show = 
function () {\n    var e = $.Event('show.bs.' + this.type)\n\n    if 
(this.hasContent() && this.enabled) {\n      this.$element.trigger(e)\n\n      
var inDom = $.contains(document.documentElement, this.$element[0])\n      if 
(e.isDefaultPrevented() || !inDom) return\n      var that = this\n\n      var 
$tip = this.tip()\n\n      var tipId = this.getUID(this.type)\n\n      
this.setContent()\n      $tip.attr('id', tipId)\n      
this.$element.attr('aria-describedby', tipId)\n\n      if 
(this.options.animation) $tip.addClass('fade')\n\n      var placement = typeof 
this.options.placement == 'function' ?\n        
this.options.placement.call(this, $tip[0], this.$element[0]) :\n        
this.options.placement\n\n      var autoToken = /\\s?auto?\\s?/i\n      var aut
 oPlace = autoToken.test(placement)\n      if (autoPlace) placement = 
placement.replace(autoToken, '') || 'top'\n\n      $tip\n        .detach()\n    
    .css({ top: 0, left: 0, display: 'block' })\n        .addClass(placement)\n 
       .data('bs.' + this.type, this)\n\n      this.options.container ? 
$tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)\n\n     
 var pos          = this.getPosition()\n      var actualWidth  = 
$tip[0].offsetWidth\n      var actualHeight = $tip[0].offsetHeight\n\n      if 
(autoPlace) {\n        var orgPlacement = placement\n        var $parent      = 
this.$element.parent()\n        var parentDim    = 
this.getPosition($parent)\n\n        placement = placement == 'bottom' && 
pos.top   + pos.height       + actualHeight - parentDim.scroll > 
parentDim.height ? 'top'    :\n                    placement == 'top'    && 
pos.top   - parentDim.scroll - actualHeight < 0                                 
  ? 'bottom' :\n                    placement 
 == 'right'  && pos.right + actualWidth      > parentDim.width                  
                  ? 'left'   :\n                    placement == 'left'   && 
pos.left  - actualWidth      < parentDim.left                                   
  ? 'right'  :\n                    placement\n\n        $tip\n          
.removeClass(orgPlacement)\n          .addClass(placement)\n      }\n\n      
var calculatedOffset = this.getCalculatedOffset(placement, pos, actualWidth, 
actualHeight)\n\n      this.applyPlacement(calculatedOffset, placement)\n\n     
 var complete = function () {\n        that.$element.trigger('shown.bs.' + 
that.type)\n        that.hoverState = null\n      }\n\n      
$.support.transition && this.$tip.hasClass('fade') ?\n        $tip\n          
.one('bsTransitionEnd', complete)\n          .emulateTransitionEnd(150) :\n     
   complete()\n    }\n  }\n\n  Tooltip.prototype.applyPlacement = function 
(offset, placement) {\n    var $tip   = this.tip()\n    var width  = 
$tip[0].offsetWi
 dth\n    var height = $tip[0].offsetHeight\n\n    // manually read margins 
because getBoundingClientRect includes difference\n    var marginTop = 
parseInt($tip.css('margin-top'), 10)\n    var marginLeft = 
parseInt($tip.css('margin-left'), 10)\n\n    // we must check for NaN for ie 
8/9\n    if (isNaN(marginTop))  marginTop  = 0\n    if (isNaN(marginLeft)) 
marginLeft = 0\n\n    offset.top  = offset.top  + marginTop\n    offset.left = 
offset.left + marginLeft\n\n    // $.fn.offset doesn't round pixel values\n    
// so we use setOffset directly with our own function B-0\n    
$.offset.setOffset($tip[0], $.extend({\n      using: function (props) {\n       
 $tip.css({\n          top: Math.round(props.top),\n          left: 
Math.round(props.left)\n        })\n      }\n    }, offset), 0)\n\n    
$tip.addClass('in')\n\n    // check to see if placing tip in new offset caused 
the tip to resize itself\n    var actualWidth  = $tip[0].offsetWidth\n    var 
actualHeight = $tip[0].offsetHeight\n\n    
 if (placement == 'top' && actualHeight != height) {\n      offset.top = 
offset.top + height - actualHeight\n    }\n\n    var delta = 
this.getViewportAdjustedDelta(placement, offset, actualWidth, actualHeight)\n\n 
   if (delta.left) offset.left += delta.left\n    else offset.top += 
delta.top\n\n    var arrowDelta          = delta.left ? delta.left * 2 - width 
+ actualWidth : delta.top * 2 - height + actualHeight\n    var arrowPosition    
   = delta.left ? 'left'        : 'top'\n    var arrowOffsetPosition = 
delta.left ? 'offsetWidth' : 'offsetHeight'\n\n    $tip.offset(offset)\n    
this.replaceArrow(arrowDelta, $tip[0][arrowOffsetPosition], arrowPosition)\n  
}\n\n  Tooltip.prototype.replaceArrow = function (delta, dimension, position) 
{\n    this.arrow().css(position, delta ? (50 * (1 - delta / dimension) + '%') 
: '')\n  }\n\n  Tooltip.prototype.setContent = function () {\n    var $tip  = 
this.tip()\n    var title = this.getTitle()\n\n    
$tip.find('.tooltip-inner')[this.options.html
  ? 'html' : 'text'](title)\n    $tip.removeClass('fade in top bottom left 
right')\n  }\n\n  Tooltip.prototype.hide = function () {\n    var that = this\n 
   var $tip = this.tip()\n    var e    = $.Event('hide.bs.' + this.type)\n\n    
this.$element.removeAttr('aria-describedby')\n\n    function complete() {\n     
 if (that.hoverState != 'in') $tip.detach()\n      
that.$element.trigger('hidden.bs.' + that.type)\n    }\n\n    
this.$element.trigger(e)\n\n    if (e.isDefaultPrevented()) return\n\n    
$tip.removeClass('in')\n\n    $.support.transition && 
this.$tip.hasClass('fade') ?\n      $tip\n        .one('bsTransitionEnd', 
complete)\n        .emulateTransitionEnd(150) :\n      complete()\n\n    
this.hoverState = null\n\n    return this\n  }\n\n  Tooltip.prototype.fixTitle 
= function () {\n    var $e = this.$element\n    if ($e.attr('title') || typeof 
($e.attr('data-original-title')) != 'string') {\n      
$e.attr('data-original-title', $e.attr('title') || '').attr('title', '')\n    
}\n
   }\n\n  Tooltip.prototype.hasContent = function () {\n    return 
this.getTitle()\n  }\n\n  Tooltip.prototype.getPosition = function ($element) 
{\n    $element   = $element || this.$element\n    var el     = $element[0]\n   
 var isBody = el.tagName == 'BODY'\n    return $.extend({}, (typeof 
el.getBoundingClientRect == 'function') ? el.getBoundingClientRect() : null, 
{\n      scroll: isBody ? document.documentElement.scrollTop || 
document.body.scrollTop : $element.scrollTop(),\n      width:  isBody ? 
$(window).width()  : $element.outerWidth(),\n      height: isBody ? 
$(window).height() : $element.outerHeight()\n    }, isBody ? { top: 0, left: 0 
} : $element.offset())\n  }\n\n  Tooltip.prototype.getCalculatedOffset = 
function (placement, pos, actualWidth, actualHeight) {\n    return placement == 
'bottom' ? { top: pos.top + pos.height,   left: pos.left + pos.width / 2 - 
actualWidth / 2  } :\n           placement == 'top'    ? { top: pos.top - 
actualHeight, left: pos.left + pos.width / 
 2 - actualWidth / 2  } :\n           placement == 'left'   ? { top: pos.top + 
pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } :\n        /* 
placement == 'right' */ { top: pos.top + pos.height / 2 - actualHeight / 2, 
left: pos.left + pos.width   }\n\n  }\n\n  
Tooltip.prototype.getViewportAdjustedDelta = function (placement, pos, 
actualWidth, actualHeight) {\n    var delta = { top: 0, left: 0 }\n    if 
(!this.$viewport) return delta\n\n    var viewportPadding = 
this.options.viewport && this.options.viewport.padding || 0\n    var 
viewportDimensions = this.getPosition(this.$viewport)\n\n    if 
(/right|left/.test(placement)) {\n      var topEdgeOffset    = pos.top - 
viewportPadding - viewportDimensions.scroll\n      var bottomEdgeOffset = 
pos.top + viewportPadding - viewportDimensions.scroll + actualHeight\n      if 
(topEdgeOffset < viewportDimensions.top) { // top overflow\n        delta.top = 
viewportDimensions.top - topEdgeOffset\n      } else if (bottomEdgeOffset > 
 viewportDimensions.top + viewportDimensions.height) { // bottom overflow\n     
   delta.top = viewportDimensions.top + viewportDimensions.height - 
bottomEdgeOffset\n      }\n    } else {\n      var leftEdgeOffset  = pos.left - 
viewportPadding\n      var rightEdgeOffset = pos.left + viewportPadding + 
actualWidth\n      if (leftEdgeOffset < viewportDimensions.left) { // left 
overflow\n        delta.left = viewportDimensions.left - leftEdgeOffset\n      
} else if (rightEdgeOffset > viewportDimensions.width) { // right overflow\n    
    delta.left = viewportDimensions.left + viewportDimensions.width - 
rightEdgeOffset\n      }\n    }\n\n    return delta\n  }\n\n  
Tooltip.prototype.getTitle = function () {\n    var title\n    var $e = 
this.$element\n    var o  = this.options\n\n    title = 
$e.attr('data-original-title')\n      || (typeof o.title == 'function' ? 
o.title.call($e[0]) :  o.title)\n\n    return title\n  }\n\n  
Tooltip.prototype.getUID = function (prefix) {\n    do prefix += ~~
 (Math.random() * 1000000)\n    while (document.getElementById(prefix))\n    
return prefix\n  }\n\n  Tooltip.prototype.tip = function () {\n    return 
(this.$tip = this.$tip || $(this.options.template))\n  }\n\n  
Tooltip.prototype.arrow = function () {\n    return (this.$arrow = this.$arrow 
|| this.tip().find('.tooltip-arrow'))\n  }\n\n  Tooltip.prototype.validate = 
function () {\n    if (!this.$element[0].parentNode) {\n      this.hide()\n     
 this.$element = null\n      this.options  = null\n    }\n  }\n\n  
Tooltip.prototype.enable = function () {\n    this.enabled = true\n  }\n\n  
Tooltip.prototype.disable = function () {\n    this.enabled = false\n  }\n\n  
Tooltip.prototype.toggleEnabled = function () {\n    this.enabled = 
!this.enabled\n  }\n\n  Tooltip.prototype.toggle = function (e) {\n    var self 
= this\n    if (e) {\n      self = $(e.currentTarget).data('bs.' + this.type)\n 
     if (!self) {\n        self = new this.constructor(e.currentTarget, 
this.getDelegateOptions())\n
         $(e.currentTarget).data('bs.' + this.type, self)\n      }\n    }\n\n   
 self.tip().hasClass('in') ? self.leave(self) : self.enter(self)\n  }\n\n  
Tooltip.prototype.destroy = function () {\n    clearTimeout(this.timeout)\n    
this.hide().$element.off('.' + this.type).removeData('bs.' + this.type)\n  
}\n\n\n  // TOOLTIP PLUGIN DEFINITION\n  // =========================\n\n  
function Plugin(option) {\n    return this.each(function () {\n      var $this  
 = $(this)\n      var data    = $this.data('bs.tooltip')\n      var options = 
typeof option == 'object' && option\n\n      if (!data && option == 'destroy') 
return\n      if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, 
options)))\n      if (typeof option == 'string') data[option]()\n    })\n  
}\n\n  var old = $.fn.tooltip\n\n  $.fn.tooltip             = Plugin\n  
$.fn.tooltip.Constructor = Tooltip\n\n\n  // TOOLTIP NO CONFLICT\n  // 
===================\n\n  $.fn.tooltip.noConflict = function () {\n    
$.fn.tooltip 
 = old\n    return this\n  }\n\n}(jQuery);\n","transition.js":"/* 
========================================================================\n * 
Bootstrap: transition.js v3.2.0\n * 
http://getbootstrap.com/javascript/#transitions\n * 
========================================================================\n * 
Copyright 2011-2014 Twitter, Inc.\n * Licensed under MIT 
(https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * 
======================================================================== 
*/\n\n\n+function ($) {\n  'use strict';\n\n  // CSS TRANSITION SUPPORT 
(Shoutout: http://www.modernizr.com/)\n  // 
============================================================\n\n  function 
transitionEnd() {\n    var el = document.createElement('bootstrap')\n\n    var 
transEndEventNames = {\n      WebkitTransition : 'webkitTransitionEnd',\n      
MozTransition    : 'transitionend',\n      OTransition      : 'oTransitionEnd 
otransitionend',\n      transition       : 'transitionend'\n    }\n\n    
 for (var name in transEndEventNames) {\n      if (el.style[name] !== 
undefined) {\n        return { end: transEndEventNames[name] }\n      }\n    
}\n\n    return false // explicit for ie8 (  ._.)\n  }\n\n  // 
http://blog.alexmaccaw.com/css-transitions\n  $.fn.emulateTransitionEnd = 
function (duration) {\n    var called = false\n    var $el = this\n    
$(this).one('bsTransitionEnd', function () { called = true })\n    var callback 
= function () { if (!called) $($el).trigger($.support.transition.end) }\n    
setTimeout(callback, duration)\n    return this\n  }\n\n  $(function () {\n    
$.support.transition = transitionEnd()\n\n    if (!$.support.transition) 
return\n\n    $.event.special.bsTransitionEnd = {\n      bindType: 
$.support.transition.end,\n      delegateType: $.support.transition.end,\n      
handle: function (e) {\n        if ($(e.target).is(this)) return 
e.handleObj.handler.apply(this, arguments)\n      }\n    }\n  
})\n\n}(jQuery);\n"}

[... 3 lines stripped ...]
Added: 
incubator/devicemap/whiteboard/_less/bootstrap-3.2.0/docs/browser-bugs.html
URL: 
http://svn.apache.org/viewvc/incubator/devicemap/whiteboard/_less/bootstrap-3.2.0/docs/browser-bugs.html?rev=1620294&view=auto
==============================================================================
--- incubator/devicemap/whiteboard/_less/bootstrap-3.2.0/docs/browser-bugs.html 
(added)
+++ incubator/devicemap/whiteboard/_less/bootstrap-3.2.0/docs/browser-bugs.html 
Mon Aug 25 11:39:37 2014
@@ -0,0 +1,114 @@
+---
+layout: default
+title: Wall of browser bugs
+slug: browser-bugs
+lead: "A list of the browser bugs that Bootstrap is currently grappling with."
+---
+
+
+<div class="bs-docs-section">
+  <h1 id="browser-bugs" class="page-header">Browser bugs</h1>
+
+  <p class="lead">Bootstrap currently works around several outstanding browser 
bugs in major browsers to deliver the best cross-browser experience possible. 
Some bugs, like those listed below, cannot be solved by us.</p>
+  <p>We publicly list browser bugs that are impacting us here, in the hopes of 
expediting the process of fixing them. For information on Bootstrap's browser 
compatibility, <a href="../getting-started/#support">see our browser 
compatibility docs</a>.</p>
+
+  <div class="table-responsive">
+    <table class="table table-bordered table-hover">
+      <thead>
+        <tr>
+          <th>Browser(s)</th>
+          <th>Summary of bug</th>
+          <th>Upstream bug(s)</th>
+          <th>Bootstrap issue(s)</th>
+        </tr>
+      </thead>
+      <tbody>
+        <tr>
+          <td>Firefox</td>
+          <td><code>.table-bordered</code> with an empty 
<code>&lt;tbody&gt;</code> is missing borders</td>
+          <td><a 
href="https://bugzilla.mozilla.org/show_bug.cgi?id=1023761";>Mozilla bug 
#1023761</a></td>
+          <td><a 
href="https://github.com/twbs/bootstrap/issues/13453";>#13453</a></td>
+        </tr>
+        <tr>
+          <td>Firefox</td>
+          <td>Unusual default form control styles on Android</td>
+          <td><a 
href="https://bugzilla.mozilla.org/show_bug.cgi?id=900871";>Closed Mozilla bug 
#900871</a>, <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=763671";>Open 
Mozilla bug #763671</a></td>
+          <td><a 
href="https://github.com/twbs/bootstrap/issues/8702";>#8702</a></td>
+        </tr>
+        <tr>
+          <td>Firefox</td>
+          <td><code>max-width: 100%;</code> doesn't work inside tables</td>
+          <td><a 
href="https://bugzilla.mozilla.org/show_bug.cgi?id=975632";>Mozilla bug 
#975632</a></td>
+          <td><a 
href="https://github.com/twbs/bootstrap/issues/10690";>#10690</a></td>
+        </tr>
+        <tr>
+          <td>Firefox <strong>&lt;31</strong></td>
+          <td><code>position: relative;</code> doesn't work inside tables</td>
+          <td><a 
href="https://bugzilla.mozilla.org/show_bug.cgi?id=63895";>Mozilla bug 
#63895</a></td>
+          <td><a 
href="https://github.com/twbs/bootstrap/issues/12467";>#12467</a></td>
+        </tr>
+        <tr>
+          <td>Chrome</td>
+          <td>Weird button behavior with some number 
<code>&lt;input&gt;</code>s</td>
+          <td><a 
href="https://code.google.com/p/chromium/issues/detail?id=337668";>Chromium 
issue #337668</a></td>
+          <td><a 
href="https://github.com/twbs/bootstrap/issues/8350";>#8350</a>, <a 
href="https://github.com/necolas/normalize.css/issues/283";>Normalize 
#283</a></td>
+        </tr>
+        <tr>
+          <td>Chrome</td>
+          <td>Navbar rendering problem on Windows after several clicks</td>
+          <td><a 
href="https://code.google.com/p/chromium/issues/detail?id=272750";>Chromium 
issue #272750</a>, <a 
href="https://bugs.webkit.org/show_bug.cgi?id=119793";>WebKit bug 
#119793</a></td>
+          <td><a 
href="https://github.com/twbs/bootstrap/issues/9226";>#9226</a></td>
+        </tr>
+        <tr>
+          <td>Chrome</td>
+          <td><code>display: table;</code> within <code>display: block;</code> 
forces sibling content to new line</td>
+          <td><a 
href="https://code.google.com/p/chromium/issues/detail?id=309483";>Chromium 
issue #309483</a></td>
+          <td><a 
href="https://github.com/twbs/bootstrap/issues/9950";>#9950</a></td>
+        </tr>
+        <tr>
+          <td>Chrome</td>
+          <td>Unwanted vertical lines when printing styled 
<code>&lt;select&gt;</code> on OS X</td>
+          <td><a 
href="https://code.google.com/p/chromium/issues/detail?id=282918";>Chromium 
issue #282918</a></td>
+          <td><a 
href="https://github.com/twbs/bootstrap/issues/11245";>#11245</a></td>
+        </tr>
+        <tr>
+          <td>Chrome</td>
+          <td>inline-block element collapses white-space on Windows</td>
+          <td><a 
href="https://code.google.com/p/chromium/issues/detail?id=329574";>Chromium 
issue #329574</a></td>
+          <td><a 
href="https://github.com/twbs/bootstrap/issues/11885";>#11885</a></td>
+        </tr>
+        <tr>
+          <td>Chrome</td>
+          <td>Incorrect viewport size used for media queries when printing</td>
+          <td><a 
href="https://code.google.com/p/chromium/issues/detail?id=273306";>Chromium 
issue #273306</a></td>
+          <td><a 
href="https://github.com/twbs/bootstrap/issues/12078";>#12078</a></td>
+        </tr>
+        <tr>
+          <td>Chrome &amp; Safari</td>
+          <td>OS X scrollbar clipped in <code>select[multiple]</code> with 
padding</td>
+          <td><a 
href="https://code.google.com/p/chromium/issues/detail?id=342208";>Chromium 
issue #342208</a>, <a 
href="https://bugs.webkit.org/show_bug.cgi?id=128489";>WebKit bug 
#128489</a></td>
+          <td><a 
href="https://github.com/twbs/bootstrap/issues/12536";>#12536</a></td>
+        </tr>
+        <tr>
+          <td>Chrome</td>
+          <td><code>display: table-cell; width: 100%;</code> doesn't work 
correctly on date <code>&lt;input&gt;</code></td>
+          <td><a 
href="https://code.google.com/p/chromium/issues/detail?id=346051";>Chromium 
issue #346051</a></td>
+          <td><a 
href="https://github.com/twbs/bootstrap/issues/12548";>#12548</a></td>
+        </tr>
+        <tr>
+          <td>Safari</td>
+          <td>Insufficient CSS percentage precision</td>
+          <td>(No public bug tracker)</td>
+          <td><a 
href="https://github.com/twbs/bootstrap/issues/9282";>#9282</a></td>
+        </tr>
+        <tr>
+          <td>Safari</td>
+          <td>Justified nav rendering bug</td>
+          <td>(No public bug tracker)</td>
+          <td><a 
href="https://github.com/twbs/bootstrap/issues/9774";>#9774</a></td>
+        </tr>
+      </tbody>
+    </table>
+  </div>
+
+</div>

Added: incubator/devicemap/whiteboard/_less/bootstrap-3.2.0/docs/components.html
URL: 
http://svn.apache.org/viewvc/incubator/devicemap/whiteboard/_less/bootstrap-3.2.0/docs/components.html?rev=1620294&view=auto
==============================================================================
--- incubator/devicemap/whiteboard/_less/bootstrap-3.2.0/docs/components.html 
(added)
+++ incubator/devicemap/whiteboard/_less/bootstrap-3.2.0/docs/components.html 
Mon Aug 25 11:39:37 2014
@@ -0,0 +1,28 @@
+---
+layout: default
+title: Components
+slug: components
+lead: "Over a dozen reusable components built to provide iconography, 
dropdowns, input groups, navigation, alerts, and much more."
+---
+
+{% include components/glyphicons.html %}
+{% include components/dropdowns.html %}
+{% include components/button-groups.html %}
+{% include components/button-dropdowns.html %}
+{% include components/input-groups.html %}
+{% include components/navs.html %}
+{% include components/navbar.html %}
+{% include components/breadcrumbs.html %}
+{% include components/pagination.html %}
+{% include components/labels.html %}
+{% include components/badges.html %}
+{% include components/jumbotron.html %}
+{% include components/page-header.html %}
+{% include components/thumbnails.html %}
+{% include components/alerts.html %}
+{% include components/progress-bars.html %}
+{% include components/media.html %}
+{% include components/list-group.html %}
+{% include components/panels.html %}
+{% include components/responsive-embed.html %}
+{% include components/wells.html %}

Added: incubator/devicemap/whiteboard/_less/bootstrap-3.2.0/docs/css.html
URL: 
http://svn.apache.org/viewvc/incubator/devicemap/whiteboard/_less/bootstrap-3.2.0/docs/css.html?rev=1620294&view=auto
==============================================================================
--- incubator/devicemap/whiteboard/_less/bootstrap-3.2.0/docs/css.html (added)
+++ incubator/devicemap/whiteboard/_less/bootstrap-3.2.0/docs/css.html Mon Aug 
25 11:39:37 2014
@@ -0,0 +1,19 @@
+---
+layout: default
+title: CSS
+slug: css
+lead: "Global CSS settings, fundamental HTML elements styled and enhanced with 
extensible classes, and an advanced grid system."
+---
+
+{% include css/overview.html %}
+{% include css/grid.html %}
+{% include css/type.html %}
+{% include css/code.html %}
+{% include css/tables.html %}
+{% include css/forms.html %}
+{% include css/buttons.html %}
+{% include css/images.html %}
+{% include css/helpers.html %}
+{% include css/responsive-utilities.html %}
+{% include css/less.html %}
+{% include css/sass.html %}

Added: incubator/devicemap/whiteboard/_less/bootstrap-3.2.0/docs/customize.html
URL: 
http://svn.apache.org/viewvc/incubator/devicemap/whiteboard/_less/bootstrap-3.2.0/docs/customize.html?rev=1620294&view=auto
==============================================================================
--- incubator/devicemap/whiteboard/_less/bootstrap-3.2.0/docs/customize.html 
(added)
+++ incubator/devicemap/whiteboard/_less/bootstrap-3.2.0/docs/customize.html 
Mon Aug 25 11:39:37 2014
@@ -0,0 +1,371 @@
+---
+layout: default
+title: Customize and download
+slug: customize
+lead: Customize Bootstrap's components, Less variables, and jQuery plugins to 
get your very own version.
+---
+
+<!-- less.js isn't IE8-compatible and throws an exception during 
initialization, so our Blob compatibility check and error messaging code never 
get called in that case.
+  So we use a conditional comment instead to inform folks about the lack of 
IE8 support.
+  The alert covers up the entire customizer UI.
+-->
+<!--[if lt IE 9]>
+  <style>
+    .bs-customizer,
+    .bs-docs-sidebar {
+      display: none;
+    }
+  </style>
+  <div class="alert alert-danger bs-customizer-alert-ie">
+    <strong>The Bootstrap Customizer does not support IE9 and 
below.</strong><br>
+    Please take a second to <a href="http://browsehappy.com/";>upgrade to a 
more modern browser</a>.
+  </div>
+<![endif]-->
+
+<!-- Customizer form -->
+<form class="bs-customizer" role="form">
+  <div class="bs-docs-section" id="less-section">
+    <button class="btn btn-default toggle" type="button">Toggle all</button>
+    <h1 id="less" class="page-header">Less files</h1>
+
+    <p class="lead">Choose which Less files to compile into your custom build 
of Bootstrap. Not sure which files to use? Read through the <a 
href="../css/">CSS</a> and <a href="../components/">Components</a> pages in the 
docs.</p>
+
+    <div class="row">
+      <div class="col-xs-6 col-sm-4">
+        <h3>Common CSS</h3>
+        <div class="checkbox">
+          <label>
+            <input type="checkbox" checked value="print.less">
+            Print media styles
+          </label>
+        </div>
+        <div class="checkbox">
+          <label>
+            <input type="checkbox" checked value="type.less">
+            Typography
+          </label>
+        </div>
+        <div class="checkbox">
+          <label>
+            <input type="checkbox" checked value="code.less">
+            Code
+          </label>
+        </div>
+        <div class="checkbox">
+          <label>
+            <input type="checkbox" checked value="grid.less">
+            Grid system
+          </label>
+        </div>
+        <div class="checkbox">
+          <label>
+            <input type="checkbox" checked value="tables.less">
+            Tables
+          </label>
+        </div>
+        <div class="checkbox">
+          <label>
+            <input type="checkbox" checked value="forms.less" 
data-dependents="navbar.less,input-groups.less">
+            Forms
+          </label>
+        </div>
+        <div class="checkbox">
+          <label>
+            <input type="checkbox" checked value="buttons.less" 
data-dependents="button-groups.less">
+            Buttons
+          </label>
+        </div>
+        <div class="checkbox">
+          <label>
+            <input type="checkbox" checked value="responsive-utilities.less">
+            Responsive utilities
+          </label>
+        </div>
+      </div><!-- .col-xs-6 .col-sm-4 -->
+
+      <div class="col-xs-6 col-sm-4">
+        <h3>Components</h3>
+        <div class="checkbox">
+          <label>
+            <input type="checkbox" checked value="glyphicons.less">
+            Glyphicons
+          </label>
+        </div>
+        <div class="checkbox">
+          <label>
+            <input type="checkbox" checked value="button-groups.less" 
data-dependencies="buttons.less">
+            Button groups
+          </label>
+        </div>
+        <div class="checkbox">
+          <label>
+            <input type="checkbox" checked value="input-groups.less" 
data-dependencies="forms.less">
+            Input groups
+          </label>
+        </div>
+        <div class="checkbox">
+          <label>
+            <input type="checkbox" checked value="navs.less" 
data-dependents="navbar.less">
+            Navs
+          </label>
+        </div>
+        <div class="checkbox">
+          <label>
+            <input type="checkbox" checked value="navbar.less" 
data-dependencies="forms.less,navs.less">
+            Navbar
+          </label>
+        </div>
+        <div class="checkbox">
+          <label>
+            <input type="checkbox" checked value="breadcrumbs.less">
+            Breadcrumbs
+          </label>
+        </div>
+        <div class="checkbox">
+          <label>
+            <input type="checkbox" checked value="pagination.less">
+            Pagination
+          </label>
+        </div>
+        <div class="checkbox">
+          <label>
+            <input type="checkbox" checked value="pager.less">
+            Pager
+          </label>
+        </div>
+        <div class="checkbox">
+          <label>
+            <input type="checkbox" checked value="labels.less">
+            Labels
+          </label>
+        </div>
+        <div class="checkbox">
+          <label>
+            <input type="checkbox" checked value="badges.less">
+            Badges
+          </label>
+        </div>
+        <div class="checkbox">
+          <label>
+            <input type="checkbox" checked value="jumbotron.less">
+            Jumbotron
+          </label>
+        </div>
+        <div class="checkbox">
+          <label>
+            <input type="checkbox" checked value="thumbnails.less">
+            Thumbnails
+          </label>
+        </div>
+        <div class="checkbox">
+          <label>
+            <input type="checkbox" checked value="alerts.less">
+            Alerts
+          </label>
+        </div>
+        <div class="checkbox">
+          <label>
+            <input type="checkbox" checked value="progress-bars.less">
+            Progress bars
+          </label>
+        </div>
+        <div class="checkbox">
+          <label>
+            <input type="checkbox" checked value="media.less">
+            Media items
+          </label>
+        </div>
+        <div class="checkbox">
+          <label>
+            <input type="checkbox" checked value="list-group.less">
+            List groups
+          </label>
+        </div>
+        <div class="checkbox">
+          <label>
+            <input type="checkbox" checked value="panels.less">
+            Panels
+          </label>
+        </div>
+        <div class="checkbox">
+          <label>
+            <input type="checkbox" checked value="responsive-embed.less">
+            Responsive embed
+          </label>
+        </div>
+        <div class="checkbox">
+          <label>
+            <input type="checkbox" checked value="wells.less">
+            Wells
+          </label>
+        </div>
+        <div class="checkbox">
+          <label>
+            <input type="checkbox" checked value="close.less">
+            Close icon
+          </label>
+        </div>
+      </div><!-- .col-xs-6 .col-sm-4 -->
+
+      <div class="col-xs-6 col-sm-4">
+        <h3>JavaScript components</h3>
+        <div class="checkbox">
+          <label>
+            <input type="checkbox" checked value="component-animations.less">
+            Component animations (for JS)
+          </label>
+        </div>
+        <div class="checkbox">
+          <label>
+            <input type="checkbox" checked value="dropdowns.less">
+            Dropdowns
+          </label>
+        </div>
+        <div class="checkbox">
+          <label>
+            <input type="checkbox" checked value="tooltip.less">
+            Tooltips
+          </label>
+        </div>
+        <div class="checkbox">
+          <label>
+            <input type="checkbox" checked value="popovers.less">
+            Popovers
+          </label>
+        </div>
+        <div class="checkbox">
+          <label>
+            <input type="checkbox" checked value="modals.less">
+            Modals
+          </label>
+        </div>
+        <div class="checkbox">
+          <label>
+            <input type="checkbox" checked value="carousel.less">
+            Carousel
+          </label>
+        </div>
+      </div><!-- .col-xs-6 .col-sm-4 -->
+    </div><!-- /.row -->
+  </div>
+
+
+
+  <div class="bs-docs-section" id="plugin-section">
+    <button class="btn btn-default toggle" type="button">Toggle all</button>
+    <h1 id="plugins" class="page-header">jQuery plugins</h1>
+
+    <p class="lead">Choose which jQuery plugins should be included in your 
custom JavaScript files. Unsure what to include? Read the <a 
href="../javascript/">JavaScript</a> page in the docs.</p>
+    <div class="row">
+      <div class="col-lg-6">
+        <h4>Linked to components</h4>
+        <div class="checkbox">
+          <label>
+            <input type="checkbox" checked value="alert.js">
+            Alert dismissal
+          </label>
+        </div>
+        <div class="checkbox">
+          <label>
+            <input type="checkbox" checked value="button.js">
+            Advanced buttons
+          </label>
+        </div>
+        <div class="checkbox">
+          <label>
+            <input type="checkbox" checked value="carousel.js">
+            Carousel functionality
+          </label>
+        </div>
+        <div class="checkbox">
+          <label>
+            <input type="checkbox" checked value="dropdown.js">
+            Dropdowns
+          </label>
+        </div>
+        <div class="checkbox">
+          <label>
+            <input type="checkbox" checked value="modal.js">
+            Modals
+          </label>
+        </div>
+        <div class="checkbox">
+          <label>
+            <input type="checkbox" checked value="tooltip.js">
+            Tooltips
+          </label>
+        </div>
+        <div class="checkbox">
+          <label>
+            <input type="checkbox" checked value="popover.js" 
data-dependencies="tooltip.js">
+            Popovers <small>(requires Tooltips)</small>
+          </label>
+        </div>
+        <div class="checkbox">
+          <label>
+            <input type="checkbox" checked value="tab.js">
+            Togglable tabs
+          </label>
+        </div>
+      </div>
+      <div class="col-lg-6">
+        <h4>Magic</h4>
+        <div class="checkbox">
+          <label>
+            <input type="checkbox" checked value="affix.js">
+            Affix
+          </label>
+        </div>
+        <div class="checkbox">
+          <label>
+            <input type="checkbox" checked value="collapse.js">
+            Collapse
+          </label>
+        </div>
+        <div class="checkbox">
+          <label>
+            <input type="checkbox" checked value="scrollspy.js">
+            Scrollspy
+          </label>
+        </div>
+        <div class="checkbox">
+          <label>
+            <input type="checkbox" checked value="transition.js">
+            Transitions <small>(required for any kind of animation)</small>
+          </label>
+        </div>
+      </div>
+    </div>
+
+    <div class="bs-callout bs-callout-info">
+      <h4>Produces two files</h4>
+      <p>All checked plugins will be compiled into a readable 
<code>bootstrap.js</code> and a minified <code>bootstrap.min.js</code>. We 
recommend you use the minified version in production.</p>
+    </div>
+
+    <div class="bs-callout bs-callout-danger">
+      <h4>jQuery required</h4>
+      <p>All plugins require the latest version of <a 
href="http://jquery.com/"; target="_blank">jQuery</a> to be included.</p>
+    </div>
+  </div>
+
+
+
+  <div class="bs-docs-section" id="less-variables-section">
+    <button class="btn btn-default toggle" type="button">Reset to 
defaults</button>
+    <h1 id="less-variables" class="page-header">Less variables</h1>
+
+    <p class="lead">Customize Less variables to define colors, sizes and more 
inside your custom CSS stylesheets.</p>
+    {% include customizer-variables.html %}
+  </div>
+
+
+
+  <div class="bs-docs-section">
+    <h1 id="download" class="page-header">Download</h1>
+
+    <p class="lead">Hooray! Your custom version of Bootstrap is now ready to 
be compiled. Just click the button below to finish the process.</p>
+    <div class="bs-customize-download">
+      <button type="submit" id="btn-compile" disabled class="btn btn-block 
btn-lg btn-outline" onclick="ga('send', 'event', 'Customize', 'Download', 
'Customize and Download');">Compile and Download</button>
+    </div>
+  </div><!-- /download -->
+</form>


Reply via email to